|
@@ -330,18 +330,12 @@ |
|
|
<!-- 添加协作群与工作 -->
|
|
|
<!-- 添加协作群与工作 -->
|
|
|
<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>从部门中选择职员</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>{{ 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(
|
|
@@ -406,12 +400,8 @@ |
|
|
</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(
|
|
|
|
|
|
selectedUser
|
|
|
|
|
|
)" :key="index"> -->
|
|
|
|
|
|
<div class="user_info_item mainpeople_H" v-for="(user, index) in selectedUser" :key="index">
|
|
|
|
|
|
|
|
|
<div class="user_info_item mainpeople_H" v-for="(user, index) in listManagerComputed(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 :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">
|
|
|
<el-popover placement="bottom-start" width="180" trigger="hover">
|
|
@@ -450,10 +440,8 @@ |
|
|
<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 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.id">
|
|
|
<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">
|
|
|
<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">
|
|
@@ -465,7 +453,7 @@ |
|
|
<span class="user_info_job" slot="reference">{{user.position}}</span>
|
|
|
<span class="user_info_job" slot="reference">{{user.position}}</span>
|
|
|
</el-popover>
|
|
|
</el-popover>
|
|
|
<span class="user_info_role">
|
|
|
<span class="user_info_role">
|
|
|
<template>
|
|
|
|
|
|
|
|
|
<!-- <template>
|
|
|
<el-select v-model="user.folderPerm" placeholder="设置角色" class="setroleselect">
|
|
|
<el-select v-model="user.folderPerm" placeholder="设置角色" class="setroleselect">
|
|
|
<el-option v-for="item in roles" allow-create :key="item.value" :label="item.label"
|
|
|
<el-option v-for="item in roles" allow-create :key="item.value" :label="item.label"
|
|
|
:value="item.value">
|
|
|
:value="item.value">
|
|
@@ -473,7 +461,7 @@ |
|
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.description }}</span>
|
|
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.description }}</span>
|
|
|
</el-option>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
|
|
|
|
|
|
</template> -->
|
|
|
<i class="el-icon-close" @click="removeSelectUser(user)" title="移除协作人"></i>
|
|
|
<i class="el-icon-close" @click="removeSelectUser(user)" title="移除协作人"></i>
|
|
|
</span>
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -510,12 +498,10 @@ |
|
|
<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">
|
|
|
<div class="checkboxlabelitem">
|
|
|
<div class="checkboxlabelitem">
|
|
|
<!-- <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">{{
|
|
|
<span class="user_info_name">{{
|
|
|
user.cnName
|
|
|
user.cnName
|
|
@@ -561,16 +547,11 @@ |
|
|
<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 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"> -->
|
|
|
|
|
|
<div class="user_info_item mainpeople_H" v-for="(user, index) in listManagerComputed(selectedUser)" :key="index">
|
|
|
<div class="user_info_item mainpeople_H" v-for="(user, index) in listManagerComputed(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 :src="user.headImgUrl | resolveAvator" alt="" class="user_info_faceImg" />
|
|
|
<img :src="user.headImgUrl | resolveAvator" alt="" class="user_info_faceImg" />
|
|
@@ -589,7 +570,7 @@ |
|
|
</ul>
|
|
|
</ul>
|
|
|
<span class="user_info_job" slot="reference">{{user.position}}</span>
|
|
|
<span class="user_info_job" slot="reference">{{user.position}}</span>
|
|
|
</el-popover>
|
|
|
</el-popover>
|
|
|
<span class="user_info_role" @click="removeManageUser(user)">修改</span>
|
|
|
|
|
|
|
|
|
<!-- <span class="user_info_role" @click="removeManageUser(user)">修改</span> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<p class="diaTip">
|
|
|
<p class="diaTip">
|
|
@@ -629,14 +610,14 @@ |
|
|
}}</span>
|
|
|
}}</span>
|
|
|
</el-popover>
|
|
|
</el-popover>
|
|
|
<span class="user_info_role" v-if="isShowManager">
|
|
|
<span class="user_info_role" v-if="isShowManager">
|
|
|
<template>
|
|
|
|
|
|
|
|
|
<!-- <template>
|
|
|
<el-select v-model="user.folderPerm" placeholder="设置角色" class="setroleselect">
|
|
|
<el-select v-model="user.folderPerm" placeholder="设置角色" class="setroleselect">
|
|
|
<el-option v-for="item in roles" allow-create :key="item.value" :label="item.label" :value="item.value">
|
|
|
<el-option v-for="item in roles" allow-create :key="item.value" :label="item.label" :value="item.value">
|
|
|
<span style="float: left;margin-right:30px;">{{ item.label }}</span>
|
|
|
<span style="float: left;margin-right:30px;">{{ item.label }}</span>
|
|
|
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.description }}</span> -->
|
|
|
|
|
|
|
|
|
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.description }}</span>
|
|
|
</el-option>
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
|
|
|
|
|
|
</template> -->
|
|
|
<i class="el-icon-close" @click="removeSelectUser(user)" title="移除协作人"></i>
|
|
|
<i class="el-icon-close" @click="removeSelectUser(user)" title="移除协作人"></i>
|
|
|
</span>
|
|
|
</span>
|
|
|
<span class="user_info_role" v-if="!isShowManager">
|
|
|
<span class="user_info_role" v-if="!isShowManager">
|
|
@@ -689,17 +670,17 @@ export default { |
|
|
nowProject: {},
|
|
|
nowProject: {},
|
|
|
isShowPrjDesc: false, //分配项目--项目概况
|
|
|
isShowPrjDesc: false, //分配项目--项目概况
|
|
|
isSlectPal: true, //分配项目--项目概况
|
|
|
isSlectPal: true, //分配项目--项目概况
|
|
|
roles: [
|
|
|
|
|
|
{
|
|
|
|
|
|
value: 1,
|
|
|
|
|
|
label: "编辑和查看",
|
|
|
|
|
|
description: ""
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
value: 0,
|
|
|
|
|
|
label: "仅查看",
|
|
|
|
|
|
description: ""
|
|
|
|
|
|
}],
|
|
|
|
|
|
|
|
|
// roles: [
|
|
|
|
|
|
// {
|
|
|
|
|
|
// value: 1,
|
|
|
|
|
|
// label: "编辑和查看",
|
|
|
|
|
|
// description: ""
|
|
|
|
|
|
// },
|
|
|
|
|
|
// {
|
|
|
|
|
|
// value: 0,
|
|
|
|
|
|
// label: "仅查看",
|
|
|
|
|
|
// description: ""
|
|
|
|
|
|
// }],
|
|
|
folderPerm: "1",
|
|
|
folderPerm: "1",
|
|
|
// -----------------------------------------------
|
|
|
// -----------------------------------------------
|
|
|
isShowFirstPage: true,
|
|
|
isShowFirstPage: true,
|
|
@@ -1254,7 +1235,7 @@ export default { |
|
|
* 移除选中人员
|
|
|
* 移除选中人员
|
|
|
*/
|
|
|
*/
|
|
|
removeSelectUser: function (item) {
|
|
|
removeSelectUser: function (item) {
|
|
|
if(item.userID == sessionStorage.userId)
|
|
|
|
|
|
|
|
|
if(item.id == sessionStorage.userId && !this.isShowManager)
|
|
|
{
|
|
|
{
|
|
|
this.$notify.info({
|
|
|
this.$notify.info({
|
|
|
title: "温馨提示",
|
|
|
title: "温馨提示",
|
|
@@ -1265,7 +1246,7 @@ export default { |
|
|
return;
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
this.checkDeptUserName(false, item);
|
|
|
this.checkDeptUserName(false, item);
|
|
|
this.cancelCheck(item.userID);
|
|
|
|
|
|
|
|
|
this.cancelCheck(item.id);
|
|
|
},
|
|
|
},
|
|
|
/**
|
|
|
/**
|
|
|
* 移除负责人
|
|
|
* 移除负责人
|
|
@@ -1274,12 +1255,12 @@ export default { |
|
|
user.folderPerm = 0;
|
|
|
user.folderPerm = 0;
|
|
|
// user.roleName = "查看编辑";
|
|
|
// user.roleName = "查看编辑";
|
|
|
for (var k = 0; k < this.selectedUser.length; k++) {
|
|
|
for (var k = 0; k < this.selectedUser.length; k++) {
|
|
|
if (this.selectedUser[k].userID == user.userID) {
|
|
|
|
|
|
|
|
|
if (this.selectedUser[k].id == user.id) {
|
|
|
this.selectedUser[k].folderPerm = 0;
|
|
|
this.selectedUser[k].folderPerm = 0;
|
|
|
this.selectedUser.splice(k, 1);
|
|
|
this.selectedUser.splice(k, 1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
this.cancelCheck(user.userID);
|
|
|
|
|
|
|
|
|
this.cancelCheck(user.id);
|
|
|
this.toSecondPage();
|
|
|
this.toSecondPage();
|
|
|
},
|
|
|
},
|
|
|
/*
|
|
|
/*
|
|
@@ -1288,7 +1269,7 @@ export default { |
|
|
cancelCheck: function (userID) {
|
|
|
cancelCheck: function (userID) {
|
|
|
for (var i = 0; i < this.listDept.length; i++) {
|
|
|
for (var i = 0; i < this.listDept.length; i++) {
|
|
|
for (var j = 0; j < this.listDept[i].listUser.length; j++) {
|
|
|
for (var j = 0; j < this.listDept[i].listUser.length; j++) {
|
|
|
if (this.listDept[i].listUser[j].userID === userID) {
|
|
|
|
|
|
|
|
|
if (this.listDept[i].listUser[j].id === userID) {
|
|
|
this.listDept[i].listUser[j].selected = false;
|
|
|
this.listDept[i].listUser[j].selected = false;
|
|
|
this.listDept[i].listUser[j].folderPerm = 0;
|
|
|
this.listDept[i].listUser[j].folderPerm = 0;
|
|
|
this.getIsCheckSecondLevel(i);
|
|
|
this.getIsCheckSecondLevel(i);
|
|
@@ -1308,7 +1289,7 @@ export default { |
|
|
this.selectedUser.push(valueUser);
|
|
|
this.selectedUser.push(valueUser);
|
|
|
} else {
|
|
|
} else {
|
|
|
for (var i = 0; i < this.selectedUser.length; i++) {
|
|
|
for (var i = 0; i < this.selectedUser.length; i++) {
|
|
|
if (this.selectedUser[i].userID == item.userID) {
|
|
|
|
|
|
|
|
|
if (this.selectedUser[i].id == item.id) {
|
|
|
this.selectedUser.splice(i, 1);
|
|
|
this.selectedUser.splice(i, 1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|