|
@@ -96,7 +96,7 @@ |
|
|
<!-- 默认添加 -->
|
|
|
<!-- 默认添加 -->
|
|
|
<div >
|
|
|
<div >
|
|
|
<div class="avtarface" :title="currUser.cnName">
|
|
|
<div class="avtarface" :title="currUser.cnName">
|
|
|
<img :src="currUser.headImgUrl | resolveAvator"/>
|
|
|
|
|
|
|
|
|
<img :src="currUser.userInfo.headImgUrl | resolveAvator"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
<span class="Text_tiny tinyText_wirte">{{currUser.cnName}}</span>
|
|
|
<span class="Text_tiny tinyText_wirte">{{currUser.cnName}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -157,9 +157,7 @@ |
|
|
</div>
|
|
|
</div>
|
|
|
<span class="Text_tiny tinyText_wirte">工作负责人</span>
|
|
|
<span class="Text_tiny tinyText_wirte">工作负责人</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<li v-for="(user, index) in listManagerComputed(
|
|
|
|
|
|
folder.manageUser
|
|
|
|
|
|
)" :key="index">
|
|
|
|
|
|
|
|
|
<li v-for="(user, index) in folder.manageUser" :key="index">
|
|
|
<div>
|
|
|
<div>
|
|
|
<div class="avtarface" title="编辑">
|
|
|
<div class="avtarface" title="编辑">
|
|
|
<!-- <img src="" v-lazy="headSrc + user.headImgUrl" @click="aloneAddUserForFolder(folder)" /> -->
|
|
|
<!-- <img src="" v-lazy="headSrc + user.headImgUrl" @click="aloneAddUserForFolder(folder)" /> -->
|
|
@@ -240,7 +238,8 @@ |
|
|
<li v-for="(user, index) in folderChild.manageUser" :key="index">
|
|
|
<li v-for="(user, index) in folderChild.manageUser" :key="index">
|
|
|
<div>
|
|
|
<div>
|
|
|
<div class="avtarface" title="编辑">
|
|
|
<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>
|
|
|
</div>
|
|
|
<span class="Text_tiny tinyText_wirte">{{
|
|
|
<span class="Text_tiny tinyText_wirte">{{
|
|
|
user.cnName
|
|
|
user.cnName
|
|
@@ -261,7 +260,7 @@ |
|
|
)" :key="index">
|
|
|
)" :key="index">
|
|
|
<div v-if="index < 14 || showAll">
|
|
|
<div v-if="index < 14 || showAll">
|
|
|
<div class="avtarface" title="编辑">
|
|
|
<div class="avtarface" title="编辑">
|
|
|
<img src="" v-lazy="headSrc + user.headImgUrl" />
|
|
|
|
|
|
|
|
|
<img :src=" user.headImgUrl | resolveAvator" />
|
|
|
</div>
|
|
|
</div>
|
|
|
<span class="Text_tiny tinyText_wirte">{{
|
|
|
<span class="Text_tiny tinyText_wirte">{{
|
|
|
user.cnName
|
|
|
user.cnName
|
|
@@ -333,23 +332,24 @@ |
|
|
<!-- 添加协作群与工作 -->
|
|
|
<!-- 添加协作群与工作 -->
|
|
|
<el-collapse-item name="1" class="nomidline">
|
|
|
<el-collapse-item name="1" class="nomidline">
|
|
|
<template slot="title">
|
|
|
<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>
|
|
|
<span>从部门中选择职员</span>
|
|
|
</template>
|
|
|
</template>
|
|
|
<el-collapse accordion v-for="(dept, group_index) in listDept" v-show="dept.listUser.length>0" :key="group_index">
|
|
|
<el-collapse accordion v-for="(dept, group_index) in listDept" v-show="dept.listUser.length>0" :key="group_index">
|
|
|
<!-- 二级折叠面板 -->
|
|
|
<!-- 二级折叠面板 -->
|
|
|
<el-collapse-item>
|
|
|
<el-collapse-item>
|
|
|
<template slot="title">
|
|
|
<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>
|
|
|
<span>{{ dept.deptName }} </span>
|
|
|
</template>
|
|
|
</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
|
|
|
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="
|
|
|
<el-checkbox class="checkBoxCol" v-model="user.selected" @change="
|
|
|
handleCheckedOnlyOne(
|
|
|
handleCheckedOnlyOne(
|
|
|
group_index,
|
|
|
group_index,
|
|
@@ -408,9 +408,10 @@ |
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 项目负责人选择后 -->
|
|
|
<!-- 项目负责人选择后 -->
|
|
|
<div v-if="listManagerComputed(selectedUser).length != 0">
|
|
|
<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
|
|
|
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>
|
|
|
<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 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" />
|
|
@@ -442,18 +443,20 @@ |
|
|
}},进行职员指派。
|
|
|
}},进行职员指派。
|
|
|
</p>
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- <div v-if="isShowStaffList">
|
|
|
|
|
|
|
|
|
<div v-if="isShowStaffList">
|
|
|
<div class="row_painfr" v-for="dept in listDeptComputed" :key="dept.deptID" >
|
|
|
<div class="row_painfr" v-for="dept in listDeptComputed" :key="dept.deptID" >
|
|
|
<div class="yiyun_line"></div>
|
|
|
<div class="yiyun_line"></div>
|
|
|
<div v-for="deptID in listDeptUserNoZero(selectedUser)" :key="deptID">
|
|
|
<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>
|
|
|
<div class="yiyun_line"></div>
|
|
|
<span>{{dept.deptName}}</span>
|
|
|
<span>{{dept.deptName}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</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>
|
|
|
<span class="user_info_name">{{user.cnName}}</span>
|
|
|
<el-popover placement="bottom-start" width="180" trigger="hover">
|
|
|
<el-popover placement="bottom-start" width="180" trigger="hover">
|
|
|
<ul class="popover_ul popover_ul">
|
|
|
<ul class="popover_ul popover_ul">
|
|
@@ -478,7 +481,7 @@ |
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div> -->
|
|
|
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -506,9 +509,10 @@ |
|
|
handleCheckItemAll(group_index, $event)
|
|
|
handleCheckItemAll(group_index, $event)
|
|
|
">全选</el-checkbox>
|
|
|
">全选</el-checkbox>
|
|
|
</template>
|
|
|
</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
|
|
|
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="
|
|
|
<el-checkbox class="checkBoxCol" v-model="user.selected" @change="
|
|
|
handleCheckedOne(group_index, user, $event)
|
|
|
handleCheckedOne(group_index, user, $event)
|
|
|
" :disabled="disabled">
|
|
|
" :disabled="disabled">
|
|
@@ -558,37 +562,37 @@ |
|
|
<span>工作负责人</span>
|
|
|
<span>工作负责人</span>
|
|
|
<div class="yiyun_line"></div>
|
|
|
<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>
|
|
|
<i class="icon font_family icon-icon_huangguan-weijihuo largehuangguan"></i>
|
|
|
<div class="rentou_alrge"></div>
|
|
|
<div class="rentou_alrge"></div>
|
|
|
</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
|
|
|
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>
|
|
|
<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 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>
|
|
|
<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>
|
|
|
</div>
|
|
|
</div>
|
|
|
<p class="diaTip">
|
|
|
<p class="diaTip">
|
|
@@ -598,15 +602,15 @@ |
|
|
</p>
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-if="isShowStaffList">
|
|
|
<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-for="deptID in listDeptUserNoZero(selectedUser)" :key="deptID">
|
|
|
<div v-if="deptID == dept.deptID">
|
|
|
|
|
|
|
|
|
<div v-if="deptID == dept.id">
|
|
|
<div class="yiyun_line"></div>
|
|
|
<div class="yiyun_line"></div>
|
|
|
<span>{{ dept.deptName }}</span>
|
|
|
<span>{{ dept.deptName }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="renyuanbox" v-for="(user, index) in listUserComputed(selectedUser)" :key="index">
|
|
|
<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 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>
|
|
|
<span class="user_info_name">{{ user.cnName }}</span>
|
|
@@ -658,7 +662,8 @@ |
|
|
</template>
|
|
|
</template>
|
|
|
|
|
|
|
|
|
<script>
|
|
|
<script>
|
|
|
import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stateOptions} from '@/services/user.js';
|
|
|
|
|
|
|
|
|
import { getUserInfo, fetchAddressBook, getUserListByNode} from '@/services/user.js';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
export default {
|
|
|
data() {
|
|
|
data() {
|
|
@@ -726,7 +731,26 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
this.loadListManagerUser();
|
|
|
this.loadListManagerUser();
|
|
|
this.cnName = JSON.parse(sessionStorage.user).cnName;
|
|
|
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: {
|
|
|
computed: {
|
|
|
|
|
|
|
|
@@ -742,7 +766,6 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
* 过滤后的已选择负责人列表
|
|
|
* 过滤后的已选择负责人列表
|
|
|
*/
|
|
|
*/
|
|
|
listManagerComputed: function () {
|
|
|
listManagerComputed: function () {
|
|
|
var thisApp=this;
|
|
|
|
|
|
return function (listUsers) {
|
|
|
return function (listUsers) {
|
|
|
return listUsers.filter(function(user) {
|
|
|
return listUsers.filter(function(user) {
|
|
|
return user.folderPerm == 2;
|
|
|
return user.folderPerm == 2;
|
|
@@ -753,7 +776,6 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
* 过滤后的已选择非负责人列表
|
|
|
* 过滤后的已选择非负责人列表
|
|
|
*/
|
|
|
*/
|
|
|
listUserComputed: function () {
|
|
|
listUserComputed: function () {
|
|
|
var thisApp=this;
|
|
|
|
|
|
return function (listUsers) {
|
|
|
return function (listUsers) {
|
|
|
return listUsers.filter(function(user) {
|
|
|
return listUsers.filter(function(user) {
|
|
|
return user.folderPerm != 2;
|
|
|
return user.folderPerm != 2;
|
|
@@ -789,7 +811,7 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
let temp = [];
|
|
|
let temp = [];
|
|
|
for (let i = 0; i < user.length; i++) {
|
|
|
for (let i = 0; i < user.length; i++) {
|
|
|
if (user[i].folderPerm != 2) {
|
|
|
if (user[i].folderPerm != 2) {
|
|
|
temp.push(user[i].deptID);
|
|
|
|
|
|
|
|
|
temp.push(user[i].deptId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var x = new Set(temp);
|
|
|
var x = new Set(temp);
|
|
@@ -865,12 +887,12 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
*返回文件夹页面
|
|
|
*返回文件夹页面
|
|
|
*/
|
|
|
*/
|
|
|
backFirstPage: function () {
|
|
|
backFirstPage: function () {
|
|
|
this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData));
|
|
|
|
|
|
|
|
|
// this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData));
|
|
|
if(!this.isShowManager)
|
|
|
if(!this.isShowManager)
|
|
|
{
|
|
|
{
|
|
|
this.listManagerUser=[];
|
|
|
this.listManagerUser=[];
|
|
|
this.selectedUser.forEach(user => {
|
|
|
this.selectedUser.forEach(user => {
|
|
|
if( user.userID != this.currUser.userID)
|
|
|
|
|
|
|
|
|
if( user.id != this.currUser.userInfo.id)
|
|
|
{
|
|
|
{
|
|
|
this.listManagerUser.push(user);
|
|
|
this.listManagerUser.push(user);
|
|
|
}
|
|
|
}
|
|
@@ -1019,18 +1041,20 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData));
|
|
|
this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData));
|
|
|
for (var j = 0; j < this.listDept.length; j++) {
|
|
|
for (var j = 0; j < this.listDept.length; j++) {
|
|
|
for (var k = 0; k < this.listDept[j].listUser.length; k++) {
|
|
|
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++) {
|
|
|
for (var i = 0; i < data.listUser.length; i++) {
|
|
|
if (
|
|
|
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 =
|
|
|
this.listDept[j].listUser[k].folderPerm =
|
|
|
data.listUser[i].folderPerm;
|
|
|
data.listUser[i].folderPerm;
|
|
|
this.listDept[j].listUser[k].selected = true;
|
|
|
|
|
|
|
|
|
this.listDept[j].listUser[k]['selected'] = true;
|
|
|
}
|
|
|
}
|
|
|
if(!this.isShowManager)
|
|
|
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;
|
|
|
this.listDept[j].listUser[k].selected = true;
|
|
|
}
|
|
|
}
|
|
@@ -1092,19 +1116,11 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
data.listUser=this.listManagerUser;
|
|
|
data.listUser=this.listManagerUser;
|
|
|
this.setFolderPerm(data);
|
|
|
this.setFolderPerm(data);
|
|
|
|
|
|
|
|
|
this.selectedUser =data.listUser;
|
|
|
|
|
|
|
|
|
this.selectedUser = data.listUser;
|
|
|
this.selectedManageUser = [];
|
|
|
this.selectedManageUser = [];
|
|
|
this.isShowThreePage = true;
|
|
|
this.isShowThreePage = true;
|
|
|
this.isShowFirstPage = false;
|
|
|
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++) {
|
|
|
for (var j = 0; j < this.listDept.length; j++) {
|
|
|
if (this.listDept[j].listUser.length > 0) {
|
|
|
if (this.listDept[j].listUser.length > 0) {
|
|
|
this.handleCheckItemAll(j, false); //清除已经被选中的状态
|
|
|
|
|
|
|
|
|
// this.handleCheckItemAll(j, false); //清除已经被选中的状态
|
|
|
this.handleCheckItemAll(j, e);
|
|
|
this.handleCheckItemAll(j, e);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1143,18 +1159,18 @@ import { getUserInfo,roleOptions,fetchAddressBook,getUserListByNode,roleMap,stat |
|
|
handleCheckedOne(topIndex, user, e) {
|
|
|
handleCheckedOne(topIndex, user, e) {
|
|
|
if(!this.isShowManager)
|
|
|
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({
|
|
|
this.$notify.info({
|
|
|
title: "温馨提示",
|
|
|
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;
|
|
|
this.ischeckAll = true;
|
|
|
} else {
|
|
|
} else {
|
|
|
this.ischeckAll = false;
|
|
|
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) {
|
|
|
async _getUserInfo(userId) {
|
|
|
try {
|
|
|
try {
|
|
|
let res = await getUserInfo(userId);
|
|
|
let res = await getUserInfo(userId);
|
|
|
console.log('我是用户的信息',res);
|
|
|
|
|
|
this.curProjCreatePeop =
|
|
|
this.curProjCreatePeop =
|
|
|
res.cnName + " 指派了新工作,请完成工作指派";
|
|
|
res.cnName + " 指派了新工作,请完成工作指派";
|
|
|
if (sessionStorage.allocated == 1)
|
|
|
if (sessionStorage.allocated == 1)
|
|
|