Pārlūkot izejas kodu

暂时去掉listUserManager

master
kim131 pirms 4 gadiem
vecāks
revīzija
0a46d4e4f3
2 mainītis faili ar 121 papildinājumiem un 101 dzēšanām
  1. +118
    -99
      src/views/components_web/distWork/distWork.vue
  2. +3
    -2
      src/views/components_web/projSetting/projSetting.vue

+ 118
- 99
src/views/components_web/distWork/distWork.vue Parādīt failu

@@ -96,7 +96,7 @@
<!-- 默认添加 -->
<div >
<div class="avtarface" :title="currUser.cnName">
<img :src="currUser.headImgUrl | resolveAvator"/>
<img :src="currUser.userInfo.headImgUrl | resolveAvator"/>
</div>
<span class="Text_tiny tinyText_wirte">{{currUser.cnName}}</span>
</div>
@@ -157,9 +157,7 @@
</div>
<span class="Text_tiny tinyText_wirte">工作负责人</span>
</div>
<li v-for="(user, index) in listManagerComputed(
folder.manageUser
)" :key="index">
<li v-for="(user, index) in folder.manageUser" :key="index">
<div>
<div class="avtarface" title="编辑">
<!-- <img src="" v-lazy="headSrc + user.headImgUrl" @click="aloneAddUserForFolder(folder)" /> -->
@@ -240,7 +238,8 @@
<li v-for="(user, index) in folderChild.manageUser" :key="index">
<div>
<div class="avtarface" title="编辑">
<img src="" v-lazy="headSrc + user.headImgUrl" @click="aloneAddUserForFolder(folderChild)" />
<!-- <img src="" v-lazy="headSrc + user.headImgUrl" @click="aloneAddUserForFolder(folderChild)" /> -->
<img :src="user.headImgUrl | resolveAvator" @click="aloneAddUserForFolder(folderChild)" />
</div>
<span class="Text_tiny tinyText_wirte">{{
user.cnName
@@ -261,7 +260,7 @@
)" :key="index">
<div v-if="index < 14 || showAll">
<div class="avtarface" title="编辑">
<img src="" v-lazy="headSrc + user.headImgUrl" />
<img :src=" user.headImgUrl | resolveAvator" />
</div>
<span class="Text_tiny tinyText_wirte">{{
user.cnName
@@ -333,23 +332,24 @@
<!-- 添加协作群与工作 -->
<el-collapse-item name="1" class="nomidline">
<template slot="title">
<!-- <span class="fr mr_20"> -->
<!-- <el-checkbox class="checkBoxCol" v-model="ischeckAll" @change="handleCheckTopAll">全选</el-checkbox> -->
<!-- </span> -->
<span class="fr mr_20">
<el-checkbox class="checkBoxCol" v-model="ischeckAll" @change="handleCheckTopAll">全选</el-checkbox>
</span>
<span>从部门中选择职员</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">
<!-- <span class="fr mr_20"> -->
<!-- <el-checkbox class="checkBoxCol" v-model="dept.selected" :key="group_index" @change="handleCheckItemAll(group_index,$event)">全选</el-checkbox> -->
<!-- </span> -->
<span class="fr mr_20">
<el-checkbox class="checkBoxCol" v-model="dept.selected" :key="group_index" @change="handleCheckItemAll(group_index,$event)">全选</el-checkbox>
</span>
<span>{{ dept.deptName }} </span>
</template>
<div class="user_info_item" v-for="(user, index) in listUserManager(
<!-- <div class="user_info_item" v-for="(user, index) in listUserManager(
dept.listUser
)" :label="user" :key="index">
)" :label="user" :key="index"> -->
<div class="user_info_item" v-for="(user, index) in dept.listUser" :label="user" :key="index">
<el-checkbox class="checkBoxCol" v-model="user.selected" @change="
handleCheckedOnlyOne(
group_index,
@@ -408,9 +408,10 @@
</div>
<!-- 项目负责人选择后 -->
<div v-if="listManagerComputed(selectedUser).length != 0">
<div class="user_info_item mainpeople_H" v-for="(user, index) in listManagerComputed(
<!-- <div class="user_info_item mainpeople_H" v-for="(user, index) in listManagerComputed(
selectedUser
)" :key="index">
)" :key="index"> -->
<div class="user_info_item mainpeople_H" v-for="(user, index) in selectedUser" :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" /> -->
<img :src="user.headImgUrl | resolveAvator" alt="" class="user_info_faceImg" />
@@ -442,18 +443,20 @@
}},进行职员指派。
</p>
</div>
<!-- <div v-if="isShowStaffList">
<div v-if="isShowStaffList">
<div class="row_painfr" v-for="dept in listDeptComputed" :key="dept.deptID" >
<div class="yiyun_line"></div>
<div v-for="deptID in listDeptUserNoZero(selectedUser)" :key="deptID">
<div v-if="deptID ==dept.deptID">
<div v-if="deptID == dept.id">
<div class="yiyun_line"></div>
<span>{{dept.deptName}}</span>
</div>
</div>
<div class="renyuanbox" v-for="(user,index) in listUserComputed(selectedUser)" :key="index">
<div class="user_info_item" v-if="user.deptID ==dept.deptID">
<img v-lazy="headSrc+user.headImgUrl" alt="" class="user_info_faceImg">
<!-- <div class="renyuanbox" v-for="(user,index) in listUserComputed(selectedUser)" :key="index"> -->
<div class="renyuanbox" v-for="(user,index) in selectedUser" :key="index">
<div class="user_info_item" v-if="user.deptId == dept.id">
<!-- <img v-lazy="headSrc+user.headImgUrl" alt="" class="user_info_faceImg"> -->
<img v-lazy="user.headImgUrl | resolveAvator" 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">
@@ -478,7 +481,7 @@
</div>
</div>
</div>
</div> -->
</div>
</div>
</div>
</div>
@@ -506,9 +509,10 @@
handleCheckItemAll(group_index, $event)
">全选</el-checkbox>
</template>
<div class="user_info_item" v-for="(user, index) in listUserStaff(
<!-- <div class="user_info_item" v-for="(user, index) in listUserStaff(
dept.listUser
)" :label="user" :key="index">
)" :label="user" :key="index"> -->
<div class="user_info_item" v-for="(user, index) in dept.listUser" :label="user" :key="index">
<el-checkbox class="checkBoxCol" v-model="user.selected" @change="
handleCheckedOne(group_index, user, $event)
" :disabled="disabled">
@@ -558,37 +562,37 @@
<span>工作负责人</span>
<div class="yiyun_line"></div>
<!-- 项目负责人选择前 -->
<div class="main_workerBox" v-if="listManagerComputed(selectedUser).length == 0">
<!-- <div class="main_workerBox" v-if="listManagerComputed(selectedUser).length == 0"> -->
<div class="main_workerBox" v-if="selectedUser.length == 0">
<i class="icon font_family icon-icon_huangguan-weijihuo largehuangguan"></i>
<div class="rentou_alrge"></div>
</div>
<!-- 项目负责人选择后 -->
<div v-if="listManagerComputed(selectedUser).length != 0">
<div class="user_info_item mainpeople_H" v-for="(user, index) in listManagerComputed(
<!-- <div v-if="listManagerComputed(selectedUser).length != 0"> -->
<div v-if="selectedUser.length != 0">
<!-- <div class="user_info_item mainpeople_H" v-for="(user, index) in listManagerComputed(
selectedUser
)" :key="index">
)" :key="index"> -->
<div class="user_info_item mainpeople_H" v-for="(user, index) in selectedUser" :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" /> -->
<img :src="user.headImgUrl | resolveAvator" alt="" class="user_info_faceImg" />
<img :src="user.headImgUrl | resolveAvator" 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.roleName }}</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" @click="removeManageUser(user)">修改
</span>
<el-popover placement="bottom-start" width="180" trigger="hover">
<ul class="popover_ul popover_ul">
<li>
<a href="javascript:;">{{ user.roleName }}</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" @click="removeManageUser(user)">修改</span>
</div>
</div>
<p class="diaTip">
@@ -598,15 +602,15 @@
</p>
</div>
<div v-if="isShowStaffList">
<div class="row_painfr" v-for="dept in listDept" v-show="dept.listUser.length > 0" :key="dept.deptID">
<div class="row_painfr" v-for="dept in listDept" v-show="dept.listUser.length > 0" :key="dept.id">
<div v-for="deptID in listDeptUserNoZero(selectedUser)" :key="deptID">
<div v-if="deptID == dept.deptID">
<div v-if="deptID == dept.id">
<div class="yiyun_line"></div>
<span>{{ dept.deptName }}</span>
</div>
</div>
<div class="renyuanbox" v-for="(user, index) in listUserComputed(selectedUser)" :key="index">
<div class="user_info_item" v-if="user.deptID == dept.deptID">
<div class="user_info_item" v-if="user.deptId == dept.id">
<!-- <img v-lazy="headSrc + user.headImgUrl" alt="" class="user_info_faceImg" /> -->
<img :src="user.headImgUrl | resolveAvator" alt="" class="user_info_faceImg" />
<span class="user_info_name">{{ user.cnName }}</span>
@@ -658,7 +662,8 @@
</template>
<script>
import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stateOptions} from '@/services/user.js';
import { getUserInfo, fetchAddressBook, getUserListByNode} from '@/services/user.js';
export default {
data() {
@@ -726,7 +731,26 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
this.loadListManagerUser();
this.cnName = JSON.parse(sessionStorage.user).cnName;
// 监听滚动事件
window.addEventListener('scroll',this.handleScroll,true)
window.addEventListener('scroll',this.handleScroll,true);
// 获取部门列表信息
this.fetchPlainDeptUserList(this.$store.state.currentCompanyId).then(list => {
this.listDept = list;
this.listDept = [...this.listDept];
console.log('1111111111111111111111111',this.listDept);
// 对listDept进行过滤 不显示与当前用户相同的用户
this.listDept.some(dept => {
dept.listUser.some((user, index) => {
if(this.$store.state.accountId === user.id) {
dept.listUser.splice(index, 1);
return true;
}
})
})
this.currListDeptUserData = [...this.listDept];
}).catch(err => {
console.log(err);
})
},
computed: {
@@ -742,7 +766,6 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
* 过滤后的已选择负责人列表
*/
listManagerComputed: function () {
var thisApp=this;
return function (listUsers) {
return listUsers.filter(function(user) {
return user.folderPerm == 2;
@@ -753,7 +776,6 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
* 过滤后的已选择非负责人列表
*/
listUserComputed: function () {
var thisApp=this;
return function (listUsers) {
return listUsers.filter(function(user) {
return user.folderPerm != 2;
@@ -789,7 +811,7 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
let temp = [];
for (let i = 0; i < user.length; i++) {
if (user[i].folderPerm != 2) {
temp.push(user[i].deptID);
temp.push(user[i].deptId);
}
}
var x = new Set(temp);
@@ -865,12 +887,12 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
*返回文件夹页面
*/
backFirstPage: function () {
this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData));
// this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData));
if(!this.isShowManager)
{
this.listManagerUser=[];
this.selectedUser.forEach(user => {
if( user.userID != this.currUser.userID)
if( user.id != this.currUser.userInfo.id)
{
this.listManagerUser.push(user);
}
@@ -1019,18 +1041,20 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData));
for (var j = 0; j < this.listDept.length; j++) {
for (var k = 0; k < this.listDept[j].listUser.length; k++) {
this.listDept[j].listUser[k].selected = false;
this.listDept[j].listUser[k]['selected'] = false;
for (var i = 0; i < data.listUser.length; i++) {
if (
this.listDept[j].listUser[k].userID == data.listUser[i].userID
// this.listDept[j].listUser[k].userID == data.listUser[i].userID
this.listDept[j].listUser[k].id == data.listUser[i].id
) {
this.listDept[j].listUser[k].folderPerm =
data.listUser[i].folderPerm;
this.listDept[j].listUser[k].selected = true;
this.listDept[j].listUser[k]['selected'] = true;
}
if(!this.isShowManager)
{
if(this.currUser.userID == sessionStorage.userId && sessionStorage.userId == this.listDept[j].listUser[k].userID )
// if(this.currUser.accountId == sessionStorage.userId && sessionStorage.accountId == this.listDept[j].listUser[k].userID )
if(this.currUser.accountId == sessionStorage.userId && sessionStorage.accountId == this.listDept[j].listUser[k].id)
{
this.listDept[j].listUser[k].selected = true;
}
@@ -1092,19 +1116,11 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
data.listUser=this.listManagerUser;
this.setFolderPerm(data);
this.selectedUser =data.listUser;
this.selectedUser = data.listUser;
this.selectedManageUser = [];
this.isShowThreePage = true;
this.isShowFirstPage = false;
this.fetchPlainDeptUserList(this.$store.state.currentCompanyId).then(list => {
this.listDept = list;
this.listDept = [...this.listDept];
console.log('1111111111111111111111111',this.listDept);
}).catch(err => {
console.log(err);
})
// this.selectedUser = this.newProjData.projectData.listProjManager;
},
/*
*顶部全选
@@ -1114,7 +1130,7 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
//首级全选
for (var j = 0; j < this.listDept.length; j++) {
if (this.listDept[j].listUser.length > 0) {
this.handleCheckItemAll(j, false); //清除已经被选中的状态
// this.handleCheckItemAll(j, false); //清除已经被选中的状态
this.handleCheckItemAll(j, e);
}
}
@@ -1143,18 +1159,18 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
handleCheckedOne(topIndex, user, e) {
if(!this.isShowManager)
{
if(user.userID == sessionStorage.userId)
{
this.$notify.info({
title: "温馨提示",
message: "不能移除自己哦",
offset: 100,
duration: 5000
});
user.selected=true;
return;
}
if(user.userID == this.currUser.userID)
// if(user.id == sessionStorage.userId)
// {
// this.$notify.info({
// title: "温馨提示",
// message: "不能移除自己哦",
// offset: 100,
// duration: 5000
// });
// user.selected=true;
// return;
// }
if(user.id== this.currUser.accountId)
{
this.$notify.info({
title: "温馨提示",
@@ -1236,7 +1252,8 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
}
}
}
if (checkCount == haveDataCount) {
// 取消如果还没有获取到数据 两个都为0 一打开就是全选按钮被选中的情况
if ((checkCount == haveDataCount) && checkCount !== 0 && haveDataCount !== 0) {
this.ischeckAll = true;
} else {
this.ischeckAll = false;
@@ -1362,20 +1379,23 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
/**
* 获取当前项目信息
*/
getNowProject: function () {
var thisApp = this;
this.$axios({
method: "get",
url: encodeURI(
process.env.API_HOST + "projects/project/" + sessionStorage.projId
)
})
.then(response => {
thisApp.nowProject = response.data;
})
.catch(error => {
console.log(error);
});
getNowProject() {
// var thisApp = this;
// this.$axios({
// method: "get",
// url: encodeURI(
// process.env.API_HOST + "projects/project/" + sessionStorage.projId
// )
// })
// .then(response => {
// thisApp.nowProject = response.data;
// })
// .catch(error => {
// console.log(error);
// });
// const projectInfoRes = await prjService.QueryProjectInfoByProjId(id);
// this.nowProject=projectInfoRes.Data;
},
/**
* 加载需要分配的文件夹
@@ -1423,7 +1443,6 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat
async _getUserInfo(userId) {
try {
let res = await getUserInfo(userId);
console.log('我是用户的信息',res);
this.curProjCreatePeop =
res.cnName + " 指派了新工作,请完成工作指派";
if (sessionStorage.allocated == 1)


+ 3
- 2
src/views/components_web/projSetting/projSetting.vue Parādīt failu

@@ -227,9 +227,10 @@
<span class="checkBoxCol">{{ dept.deptName }}
</span>
</template>
<div class="user_info_item" v-for="(user, index) in listUserManager(
<!-- <div class="user_info_item" v-for="(user, index) in listUserManager(
dept.listUser
)" :label="user" :key="index">
)" :label="user" :key="index"> -->
<div class="user_info_item" v-for="(user, index) in dept.listUser" :label="user" :key="index">
<el-checkbox class="checkBoxCol" v-model="user.selected" @change="
handleCheckedOnlyOne(
group_index,


Notiek ielāde…
Atcelt
Saglabāt