|
@@ -8,27 +8,15 @@
|
|
|
选择路径
|
|
|
|
|
|
<div class="flex-path-list">
|
|
|
- <div
|
|
|
- v-if="manyReassignment"
|
|
|
- :class="actives"
|
|
|
- @click="clickManyTransfer(1)"
|
|
|
- >
|
|
|
+ <div v-if="manyReassignment" :class="actives" @click="clickManyTransfer(1)">
|
|
|
转派
|
|
|
</div>
|
|
|
- <div
|
|
|
- v-if="transferStatus"
|
|
|
- :class="active"
|
|
|
- @click="clickTransfer(1)"
|
|
|
- >
|
|
|
+ <div v-if="transferStatus" :class="active" @click="clickTransfer(1)">
|
|
|
转派
|
|
|
</div>
|
|
|
<div v-if="copyStatus" @click="clickTransfer(2)">抄送</div>
|
|
|
- <div
|
|
|
- v-for="(item, index) in node.nextShapes"
|
|
|
- :key="index"
|
|
|
- :class="seleIndex == index ? 'active' : ''"
|
|
|
- @click="clickGetTree(item, index)"
|
|
|
- >
|
|
|
+ <div v-for="(item, index) in node.nextShapes" :key="index" :class="seleIndex == index ? 'active' : ''"
|
|
|
+ @click="clickGetTree(item, index)">
|
|
|
{{ item.properties.name }}
|
|
|
</div>
|
|
|
</div>
|
|
@@ -37,18 +25,11 @@
|
|
|
<div class="flex-commons">
|
|
|
<div class="flex-left-header-text">
|
|
|
常用意见
|
|
|
- <span @click="clickEdit" class="flex-icon"
|
|
|
- ><i class="el-icon-edit"></i>修改</span
|
|
|
- >
|
|
|
+ <span @click="clickEdit" class="flex-icon"><i class="el-icon-edit"></i>修改</span>
|
|
|
</div>
|
|
|
<div class="flex-slide">
|
|
|
- <div
|
|
|
- v-for="(item, index) in commonlyList"
|
|
|
- :key="index"
|
|
|
- ref="common"
|
|
|
- class="flex-common"
|
|
|
- @click="clickCommonly($event)"
|
|
|
- >
|
|
|
+ <div v-for="(item, index) in commonlyList" :key="index" ref="common" class="flex-common"
|
|
|
+ @click="clickCommonly($event)">
|
|
|
{{ item.dataName }}
|
|
|
</div>
|
|
|
</div>
|
|
@@ -56,30 +37,17 @@
|
|
|
</div>
|
|
|
<div class="flex-opinion">
|
|
|
<div class="flex-left-header-text">意见内容</div>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- autosize
|
|
|
- placeholder="请输入内容"
|
|
|
- v-model="textarea"
|
|
|
- >
|
|
|
+ <el-input type="textarea" autosize placeholder="请输入内容" v-model="textarea">
|
|
|
</el-input>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="flex-right" :class="{ copyClass: CopyStatus }">
|
|
|
- <div
|
|
|
- class="flex-left-header-text"
|
|
|
- :class="{ 'flex-right-text': CopyStatus }"
|
|
|
- >
|
|
|
+ <div class="flex-left-header-text" :class="{ 'flex-right-text': CopyStatus }">
|
|
|
本部门人员办理
|
|
|
<div style="display: flex">
|
|
|
<div class="flex-header-text-tree">
|
|
|
候选人
|
|
|
- <deptTree
|
|
|
- ref="defTree"
|
|
|
- class="flex-slide"
|
|
|
- :treeList="treeList"
|
|
|
- @changeTree="changeTree"
|
|
|
- />
|
|
|
+ <deptTree ref="defTree" class="flex-slide" :treeList="treeList" @changeTree="changeTree" />
|
|
|
</div>
|
|
|
<div class="flex-header-text-tree">
|
|
|
已选人员
|
|
@@ -95,16 +63,13 @@
|
|
|
<div style="display: flex">
|
|
|
<div class="flex-header-text-tree">
|
|
|
抄送人
|
|
|
- <deptTree
|
|
|
- ref="defTrees"
|
|
|
- class="flex-slide"
|
|
|
- :treeList="treeCopyList"
|
|
|
- @changeTree="changeTreeCopy"
|
|
|
- />
|
|
|
+ <deptTree ref="defTrees" class="flex-slide" :treeList="treeCopyList" @changeTree="changeTreeCopy" />
|
|
|
</div>
|
|
|
<div class="flex-header-text-tree">
|
|
|
已选人员
|
|
|
- <div class="">{{ copyUser }}</div>
|
|
|
+ <div class="" v-for="(item, index) in copyUser" :key="index">
|
|
|
+ {{ item.loginNameStr }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -115,21 +80,10 @@
|
|
|
<el-button type="primary" @click="submitWork()">提交</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-dialog
|
|
|
- title="修改常用意见"
|
|
|
- :visible.sync="editStatus"
|
|
|
- width="100%"
|
|
|
- :before-close="editCloses"
|
|
|
- :modal="false"
|
|
|
- :destroy-on-close="true"
|
|
|
- >
|
|
|
+ <el-dialog title="修改常用意见" :visible.sync="editStatus" width="100%" :before-close="editCloses" :modal="false"
|
|
|
+ :destroy-on-close="true">
|
|
|
<div style="overflow-y: scroll; overflow-x: hidden; height: 240px">
|
|
|
- <div
|
|
|
- v-for="(item, index) in commonlyList"
|
|
|
- :key="index"
|
|
|
- ref="common"
|
|
|
- class="flex-common"
|
|
|
- >
|
|
|
+ <div v-for="(item, index) in commonlyList" :key="index" ref="common" class="flex-common">
|
|
|
{{ item.dataName
|
|
|
}}<i class="el-icon-circle-close" @click="deleStatus(item)"></i>
|
|
|
</div>
|
|
@@ -214,7 +168,7 @@ export default {
|
|
|
};
|
|
|
|
|
|
let res = await this.common.httpPost(obj, success);
|
|
|
- function success(data) {}
|
|
|
+ function success(data) { }
|
|
|
},
|
|
|
async nextWorks(lists, list) {
|
|
|
let listss = {
|
|
@@ -309,9 +263,14 @@ export default {
|
|
|
return false;
|
|
|
}
|
|
|
} else {
|
|
|
- if (this.treeCopyList.length) {
|
|
|
+ if (this.copyUser.length) {
|
|
|
//抄送
|
|
|
- list.copyman = this.treeCopyList[0].loginNoStrCopy;
|
|
|
+ // list.copyman = this.treeCopyList[0].loginNoStrCopy;
|
|
|
+ // list.copyman = this.copyUser;
|
|
|
+ list.copyman = ''
|
|
|
+ this.copyUser.map((item) => {
|
|
|
+ list.copyman += item.loginNoStr + ','
|
|
|
+ })
|
|
|
}
|
|
|
if (this.isLastManStatus == true) {
|
|
|
list.lastman = "yes";
|
|
@@ -331,7 +290,7 @@ export default {
|
|
|
list.nextDealMan = this.backThree[0].loginNoStr;
|
|
|
}
|
|
|
} else {
|
|
|
- if (this.clicknextName === "流程结束"||this.clicknextName === "提交至任务发起人") {
|
|
|
+ if (this.clicknextName === "流程结束" || this.clicknextName === "提交至任务发起人") {
|
|
|
} else {
|
|
|
this.$message.error("请选择候选人");
|
|
|
return false;
|
|
@@ -357,6 +316,7 @@ export default {
|
|
|
async nextWork(list) {
|
|
|
//e:yes||no,list:传入数组,title:结束标签,res:驳回标签,id:工单更新id
|
|
|
let _this = this;
|
|
|
+ let copylist = list
|
|
|
let obj = {
|
|
|
url: _this.$url.formList.nextWork, //下一步工作流接口
|
|
|
data: list,
|
|
@@ -392,7 +352,8 @@ export default {
|
|
|
};
|
|
|
if (data.copytaskid) {
|
|
|
list.copytaskid = data.copytaskid;
|
|
|
- list.copyman = _this.treeCopyList[0].loginNoStrCopy;
|
|
|
+ // list.copyman = _this.treeCopyList[0].loginNoStrCopy;
|
|
|
+ list.copyman = copylist.copyman;
|
|
|
}
|
|
|
if (_this.demand) {
|
|
|
list.needNo = _this.demand;
|
|
@@ -459,7 +420,7 @@ export default {
|
|
|
}
|
|
|
if (res.data.body.nextShapes[0].copy !== null) {
|
|
|
if (res.data.body.nextShapes[0].copy.copy === "true") {
|
|
|
- // this.copyStatus = true; //抄送按钮生效
|
|
|
+ this.copyStatus = true; //抄送按钮生效
|
|
|
this.CopyStatus = true;
|
|
|
} else {
|
|
|
this.copyStatus = false;
|
|
@@ -512,7 +473,7 @@ export default {
|
|
|
}).then((res) => {
|
|
|
console.log(status);
|
|
|
if (status === 2) {
|
|
|
- this.treeCopyList = res.data; //抄送
|
|
|
+ // this.treeCopyList = res.data; //抄送
|
|
|
// this.$refs.defTrees.treeList = res.data;
|
|
|
} else {
|
|
|
this.treeList = res.data; //抄送
|
|
@@ -520,6 +481,22 @@ export default {
|
|
|
console.log(this.treeList);
|
|
|
}
|
|
|
});
|
|
|
+ if (this.copyStatus == true) {
|
|
|
+ this.$http({
|
|
|
+ url: "/market/api/user/info/queryNodePers?params=" + e.nextShapes[0].properties.formkeydefinition,
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ data: "",
|
|
|
+ }).then((res) => {
|
|
|
+ console.log(status);
|
|
|
+ this.treeCopyList = res.data; //抄送
|
|
|
+
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+
|
|
|
+ }
|
|
|
},
|
|
|
//转派按钮方法
|
|
|
clickTransfer(e) {
|
|
@@ -534,6 +511,9 @@ export default {
|
|
|
clickGetTree(e, index) {
|
|
|
this.$refs.defTree.userList = [];
|
|
|
this.backThree = [];
|
|
|
+ this.$refs.defTree.userList = [];
|
|
|
+ this.backThree = [];
|
|
|
+ this.copyUser = [];
|
|
|
this.CopyStatus = false;
|
|
|
this.TransferStatus = false;
|
|
|
// this.clickTaskName = e.properties.name;
|
|
@@ -568,7 +548,6 @@ export default {
|
|
|
if (this.CopyStatus === true) {
|
|
|
this.getTreeLists(e[0].loginNoStr, 2);
|
|
|
}
|
|
|
-
|
|
|
if (e[0]) {
|
|
|
this.selectUser = e[0].loginNameStr;
|
|
|
} else {
|
|
@@ -577,6 +556,10 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ changeTreeCopy(e) {
|
|
|
+ console.log(e);
|
|
|
+ this.copyUser = e
|
|
|
+ },
|
|
|
//获取字典表常用意见
|
|
|
getMetirialType(e) {
|
|
|
this.$http({
|
|
@@ -685,17 +668,20 @@ export default {
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-icon {
|
|
|
float: right;
|
|
|
margin-right: 20px;
|
|
|
color: #4277a1;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-handle {
|
|
|
width: 100%;
|
|
|
padding: 30px;
|
|
|
display: flex;
|
|
|
|
|
|
+
|
|
|
.flex-right {
|
|
|
width: 50%;
|
|
|
border: 1px solid #e1e1e1;
|
|
@@ -703,15 +689,18 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-left {
|
|
|
width: 50%;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
|
|
|
+
|
|
|
.flex-left-header {
|
|
|
display: flex;
|
|
|
justify-content: space-around;
|
|
|
|
|
|
+
|
|
|
.flex-path {
|
|
|
height: 280px;
|
|
|
border: 1px solid #e1e1e1;
|
|
@@ -720,11 +709,13 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-common {
|
|
|
padding: 10px 5%;
|
|
|
font-size: 18px;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-left-header-text {
|
|
|
height: 40px;
|
|
|
line-height: 40px;
|
|
@@ -735,21 +726,25 @@ export default {
|
|
|
font-weight: bold;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-path-list {
|
|
|
overflow-y: scroll;
|
|
|
overflow-x: hidden;
|
|
|
height: 14rem;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-slide {
|
|
|
overflow-y: scroll;
|
|
|
overflow-x: hidden;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.active {
|
|
|
background-color: #f3faff;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-opinion {
|
|
|
height: 280px;
|
|
|
border: 1px solid #e1e1e1;
|
|
@@ -757,28 +752,37 @@ export default {
|
|
|
margin-top: 20px;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-right-text {
|
|
|
margin-right: 20px;
|
|
|
width: 50%;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-commons {
|
|
|
height: 280px;
|
|
|
border: 1px solid #e1e1e1;
|
|
|
width: 30%;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-footer-botton {
|
|
|
display: flex;
|
|
|
justify-content: space-evenly;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.flex-button {
|
|
|
margin-top: 10px;
|
|
|
margin-bottom: 10px;
|
|
|
|
|
|
+
|
|
|
::v-deep .el-button--primary {
|
|
|
width: 222px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.copyClass {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
</style>
|