Преглед на файлове

昨天简单的共用标题组件 新建项目部分接口代码修改

master
kim131 преди 4 години
родител
ревизия
1c56db1d49
променени са 3 файла, в които са добавени 110 реда и са изтрити 78 реда
  1. +1
    -0
      src/services/user.js
  2. +4
    -1
      src/store/index.js
  3. +105
    -77
      src/views/components_web/newProj/newProj.vue

+ 1
- 0
src/services/user.js Целия файл

@@ -6,6 +6,7 @@ import dayjs from 'dayjs';
export async function fetchAddressBook(companyId) {

const res = await fetchApi('company/queryCompanyById', { id: companyId });
console.log('firstData',res);
const { company: unfixedCompany = {} } = res.Data || {};
const company = firstCharToLowerCase(unfixedCompany);
const firnode = node('company', company.id, company.companyName, company);


+ 4
- 1
src/store/index.js Целия файл

@@ -42,19 +42,22 @@ export default {
},
async login(UserName, PassWord) {
const loginRes = await fetchApi('authentication/login', { UserName, PassWord });

const loginSucc = loginRes.Code === 0;
if (!loginSucc) {
return loginRes;
}

this.state.isLogin = true;
const { CompanyId, CnName, Id: accountId, Permission, BackgroundPermission } = loginRes.Data || {};
const { CompanyId, CnName, Id: accountId, Permission, BackgroundPermission,HeadImgUrl } = loginRes.Data || {};
console.log(loginRes);
const platformList = [];
const loginData = {
accountId,
accountName: UserName,
userName: CnName,
platformList,
HeadImgUrl
};

/**


+ 105
- 77
src/views/components_web/newProj/newProj.vue Целия файл

@@ -57,9 +57,9 @@
<div class="yiyun_col-12 fl">
<div class="yiyunlargeItem">
<el-form-item label="项目名称">
<el-input v-model="newProjData.projectData.projName" placeholder="请输入项目名称" class="labelinputbefore">
</el-input>
</el-form-item>
<el-input v-model="newProjData.projectData.projName" placeholder="请输入项目名称" class="labelinputbefore">
</el-input>
</el-form-item>
</div>
</div>
<div class="yiyun_col-12 fl">
@@ -107,7 +107,7 @@
<div class="clear"></div>
<div class="yiyun_col-6">
<div class="pageImgBox">
<img v-lazy="coverSrc" alt="" />
<img :src="coverSrc" alt="" />
<file-Uploader :mutiple="false" :label="uploadLabel" :auto="true" accept="image" ref="webUploadlist"
:btn-id="filePicker" :companyId="uploadCompId" :typeId="uploadTypeCover" @upload-success="coverUploadSuccess"
:url="chunkUploadUrl" class="listUpdateBtn">
@@ -146,10 +146,10 @@
<div class="fl firstPeople">
<!-- 默认添加 -->
<div >
<div class="avtarface" :title="currUser.cnName">
<img src="" v-lazy="headSrc+currUser.headImgUrl" />
<div class="avtarface" :title="currUser.userName">
<img src="" v-lazy="headSrc+currUser.headImgUrl"/>
</div>
<span class="Text_tiny tinyText_wirte">{{currUser.cnName}}</span>
<span class="Text_tiny tinyText_wirte">{{currUser.userName}}</span>
</div>
</div>
<!-- 竖线 -->
@@ -158,17 +158,17 @@
<div class="fl addBtn_new" title="添加项目负责人" @click="addManager()">
<i class="el-icon-plus middleaddEC"></i>
</div>
<div class="fl chengyuanbox">
<ul class="ECworkerList">
<li v-for="(user,index) in newProjData.projectData.listProjManager" :key="index">
<div v-if="index < 14 || showAll ">
<div class="avtarface" :title="user.cnName">
<div class="avtarface" :title="user.userName">
<img src="" v-lazy="headSrc+user.headImgUrl" />
</div>
<span class="Text_tiny tinyText_wirte">{{user.cnName}}</span>
<span class="Text_tiny tinyText_wirte">{{user.userName}}</span>
</div>
</li>
</ul>
</div>
</div>
@@ -279,10 +279,11 @@
</div>
</div>
</div>
<div>
<span class="fl label_text">自定义工作</span>
<span class="fr mt-10" @click="addProjFolderWork()"><i class="yiyunPlusmini"></i></span>
</div>
<!--暂时先不用-->
<!--<div>-->
<!--<span class="fl label_text">自定义工作</span>-->
<!--<span class="fr mt-10" @click="addProjFolderWork()"><i class="yiyunPlusmini"></i></span>-->
<!--</div>-->
</div>
</div>
<!-- 选择负责人 -->
@@ -429,37 +430,38 @@
</span>
<span class="btnlabelTitle">从部门中选择职员</span>
</template>
<el-collapse accordion v-for="(dept,group_index) in listDept" v-show="dept.listUser.length>0"
:key="group_index">
<!-- 二级折叠面板 -->
<el-collapse-item>
<template slot="title">
11111111111111111111111111
<el-collapse accordion v-for="(dept,group_index) in listDept" v-show="listDept.length > 0"
:key="group_index">
<!-- 二级折叠面板 -->
<el-collapse-item>
<template slot="title">
<span class="quanxuanbtn">
<el-checkbox class="checkBoxCol" v-model="dept.selected" :key="group_index" @change="handleCheckItemAll(group_index,$event)">全选</el-checkbox>
<el-checkbox class="checkBoxCol" v-model="dept.disabled" :key="group_index" @change="handleCheckItemAll(group_index,$event)">全选</el-checkbox>
</span>
<span class="btnlabelTitle">{{dept.deptName}} </span>
</template>
<div class="user_info_item" v-for="(user,index) in listUserComputed(dept.listUser)" :label="user"
:key="index">
<el-checkbox class="checkBoxCol" v-model="user.selected" @change="handleCheckedOne(group_index,user,$event)"
:disabled="disabled">
<div class="checkboxlabelitem">
<img v-lazy="headSrc+user.headImgUrl" alt="" class="user_info_faceImg">
<span class="user_info_name">{{user.cnName}}</span>
<el-popover placement="bottom-start" width="180" trigger="hover">
<ul class="popover_ul popover_ul">
<li><a href="javascript:;">{{user.companyName}}</a></li>
<li><a href="javascript:;">{{user.phone}}</a></li>
<li><a href="javascript:;">所在项目{{user.projCount}}个</a></li>
</ul>
<span class="user_info_job" slot="reference">{{user.position}}</span>
</el-popover>
<span class="user_info_role">{{user.roleName}}</span>
</div>
</el-checkbox>
</div>
</el-collapse-item>
</el-collapse>
<span class="btnlabelTitle">{{dept.data.deptName}} </span>
</template>
<div class="user_info_item" v-for="(user,index) in listUserComputed(dept)" :label="user"
:key="index">
<el-checkbox class="checkBoxCol" v-model="user.disabled" @change="handleCheckedOne(group_index,user,$event)"
:disabled="disabled">
<div class="checkboxlabelitem">
<img v-lazy="headSrc+user.headImgUrl" alt="" class="user_info_faceImg">
<span class="user_info_name">{{user.userName}}</span>
<el-popover placement="bottom-start" width="180" trigger="hover">
<ul class="popover_ul popover_ul">
<li><a href="javascript:;">{{user.companyName}}</a></li>
<li><a href="javascript:;">{{user.phone}}</a></li>
<li><a href="javascript:;">所在项目{{user.projCount}}个</a></li>
</ul>
<span class="user_info_job" slot="reference">{{user.position}}</span>
</el-popover>
<span class="user_info_role">{{user.roleName}}</span>
</div>
</el-checkbox>
</div>
</el-collapse-item>
</el-collapse>
</el-collapse-item>
</el-collapse>
</div>
@@ -483,7 +485,7 @@
:key="index">
<i class="icon font_family icon-icon_huangguan-jihuo middlehuangguan fl" title="负责人"></i>
<img v-lazy="headSrc+user.headImgUrl" alt="" class="user_info_faceImg">
<span class="user_info_name">{{user.cnName}}</span>
<span class="user_info_name">{{user.userName}}</span>
<el-popover placement="bottom-start" width="180" trigger="hover">
<ul class="popover_ul popover_ul">
<li><a href="javascript:;">{{user.roleName}}</a></li>
@@ -511,7 +513,7 @@
<div class="user_info_item" v-if="user.deptID ==dept.deptID">
<!-- <i class="huangguan" @click="setManageUser(user)" title="设置负责人"></i> -->
<img v-lazy="headSrc+user.headImgUrl" alt="" class="user_info_faceImg">
<span class="user_info_name">{{user.cnName}}</span>
<span class="user_info_name">{{user.userName}}</span>
<el-popover placement="bottom-start" width="180" trigger="hover">
<ul class="popover_ul popover_ul">
<li><a href="javascript:;">{{user.roleName}}</a></li>
@@ -550,6 +552,8 @@
<script>
import * as templateService from '@/services/template';
import { fetchAddressBook } from '@/services/user.js';
export default {
props: {
isNewProj: {
@@ -621,7 +625,8 @@
uploadTypeCover: 2,
ischeckAll: false, //是否是全部选中
newProjFolderIndex: 1,
projectCreaterName: sessionStorage.cnName,
// projectCreaterName: sessionStorage.cnName,
projectCreaterName: JSON.parse(sessionStorage.user).userName,
createDate: new Date().toLocaleDateString(),
listNewFolder: [],
listMyPermFolders: [], //获取项目文件夹
@@ -649,31 +654,35 @@
watch: {
isNewProj(val) {
if (val == false) {
// this.offDialog();
this.reSetDialog();
}
},
marchWorkerPalDialog() {
}
},
components: {},
created: function() {
},
mounted: function() {
this.listDeptUsers();
this.getSelectTemplateData();
// 监听滚动事件
window.addEventListener('scroll', this.handleScroll, true)
},
computed: {
/**
* 过滤后的部门列表:去除没有用户数据的部门
*/
listDeptComputed: function() {
return this.listDept.filter(function(dept) {
return dept.listUser.length > 0;
});
},
// listDeptComputed: function() {
// return this.listDept.filter(function(dept) {
// return dept.children && dept.children.length > 0;
// });
// },
/**
* 过滤后的已选择负责人列表
*/
@@ -960,8 +969,19 @@
this.isShowManager=false;
//左侧选中状态根据右侧人员状态改变
// this.setFolderPerm(this.newProjData.listFolder[parseInt(index)]);
fetchAddressBook(this.$store.state.currentCompanyId).then(res => {
this.$nextTick(() => {
this.listDept = res[0].children//是一个包含公司部门的对象数组 每一个对象里面有具体的数据
this.listDept = [...this.listDept];
console.log('111111111111111111111',this.listDept);
this.$forceUpdate();
})
}).catch(err => {
console.log(err);
})
this.selectedUser = this.newProjData.projectData.listProjManager;
},
/*
*删除新建项目中被选中的人员
@@ -1039,19 +1059,19 @@
* e:点击触发的事件
*/
handleCheckItemAll(index, e) {
for (var i = 0; i < this.listDept[index].listUser.length; i++) {
for (var i = 0; i < this.listDept[index].children.length; i++) {
if(!this.isShowManager)
{
if(this.currUser.userID == this.listDept[index].listUser[i].userID)
if(this.currUser.userID == this.listDept[index].children[i].userID)
{
continue;
}
}
if (e) {
this.handleCheckedOne(index, this.listDept[index].listUser[i], false);
this.handleCheckedOne(index, this.listDept[index].listUser[i], e);
this.handleCheckedOne(index, this.listDept[index].children[i], false);
this.handleCheckedOne(index, this.listDept[index].children[i], e);
} else {
this.handleCheckedOne(index, this.listDept[index].listUser[i], e);
this.handleCheckedOne(index, this.listDept[index].children[i], e);
}
}
},
@@ -1067,7 +1087,6 @@
return;
}
if (e) {
this.checkDeptUserName(e, user); //将选中的人员返回给添加合作人页面
user.folderPerm = 1;
} else {
@@ -1272,13 +1291,22 @@
* 设置系统封面
*/
setSystemCover: function() {
this.coverSrc = "static\\img\\faceImg\\face0" + this.srcIndex + ".png";
this.newProjData.projectData.showImgUrl = this.srcIndex;
if (this.srcIndex < 9) {
this.srcIndex = this.srcIndex + 1;
} else {
this.srcIndex = 1;
}
let temp = Math.ceil(Math.random()*10);
while(this.srcIndex === temp) {
temp = Math.ceil(Math.random()*10);
}
this.srcIndex = temp;
let tempStr = '0' + temp;
this.newProjData.projectData.showImgUrl = this.srcIndex;
this.coverSrc = `static\\img\\faceImg\\face${tempStr.substr(tempStr.length-2)}.png`;
// this.coverSrc = "static\\img\\faceImg\\face" + this.srcIndex + ".png";
// this.newProjData.projectData.showImgUrl = this.srcIndex;
// if (this.srcIndex < 9) {
// this.srcIndex = this.srcIndex + 1;
// } else {
// this.srcIndex = 1;
// }
},
/**
* 封面上传成功时
@@ -1404,18 +1432,18 @@
* 获取全部的Dept数据
*/
listDeptUsers: function() {
var companyId = sessionStorage.companyId;
var thisApp = this;
this.$axios({
method: 'get',
url: encodeURI(process.env.API_HOST + "sysinfo/deptusers/" + companyId),
})
.then(response => {
thisApp.listDept = response.data.data;
})
.catch(error => {
console.log(error);
});
// var companyId = sessionStorage.companyId;
// var thisApp = this;
// this.$axios({
// method: 'get',
// url: encodeURI(process.env.API_HOST + "sysinfo/deptusers/" + companyId),
// })
// .then(response => {
// thisApp.listDept = response.data.data;
// })
// .catch(error => {
// console.log(error);
// });
},
/**
* 获取模板列表数据


Зареждане…
Отказ
Запис