Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web
Showing
6 changed files
with
527 additions
and
303 deletions
1 | <template> | 1 | <template> |
2 | <div class="from-clues"> | 2 | <div class="from-clues"> |
3 | <div class="invalid-title"> | 3 | <div class="invalid-title"> |
4 | <i class="el-icon-question invalid-icon"></i> | 4 | <i class="el-icon-question invalid-icon"></i> |
5 | <div class="invalid-body">您是否确定终止该业务办理?</div> | 5 | <div class="invalid-body">您是否确定终止该业务办理?</div> |
6 | </div> | 6 | </div> |
7 | <div class="invalid-reson">终止原因:</div> | 7 | <div class="invalid-reson">终止原因:</div> |
8 | <el-input v-model="stopMessage" placeholder="请输入终止原因" type="textarea" :rows="4"></el-input> | 8 | <el-input |
9 | <el-button style="float:right">取消</el-button> | 9 | v-model="stopMessage" |
10 | <el-button type="primary" @click="onSubmit" style="float:right">退件</el-button> | 10 | placeholder="请输入终止原因" |
11 | type="textarea" | ||
12 | :rows="4" | ||
13 | ></el-input> | ||
14 | <el-button style="float: right">取消</el-button> | ||
15 | <el-button type="primary" @click="onSubmit" style="float: right" | ||
16 | >退件</el-button | ||
17 | > | ||
11 | </div> | 18 | </div> |
12 | </template> | 19 | </template> |
13 | 20 | ||
14 | <script> | 21 | <script> |
15 | import { stopTask } from "@/api/fqsq.js" | 22 | import { stopTask } from "@/api/fqsq.js"; |
16 | export default { | 23 | export default { |
17 | props: { | 24 | props: { |
18 | formData: { | 25 | formData: { |
19 | type: Object, | 26 | type: Object, |
20 | default: {} | 27 | default: {}, |
21 | } | 28 | }, |
22 | }, | 29 | }, |
23 | data () { | 30 | data() { |
24 | return { | 31 | return { |
25 | stopMessage: '' | 32 | stopMessage: "", |
26 | } | 33 | }; |
27 | }, | 34 | }, |
28 | methods: { | 35 | methods: { |
29 | onSubmit () { | 36 | onSubmit() { |
30 | stopTask({ | 37 | stopTask({ |
31 | bsmSlsq: this.formData.bsmSlsq, | 38 | bsmSlsq: this.formData.bsmSlsq, |
32 | bestepid: this.formData.bestepid, | 39 | bestepid: this.formData.bestepid, |
33 | stopMessage: this.stopMessage | 40 | stopMessage: this.stopMessage, |
34 | }).then(res => { | 41 | }).then((res) => { |
35 | this.$message.success('终止成功') | 42 | this.$message.success("终止成功"); |
36 | setTimeout(() => { | 43 | setTimeout(() => { |
37 | window.opener.location.reload(); //刷新父窗口 | 44 | // window.opener.location.reload(); //刷新父窗口 |
38 | window.close(); | 45 | if (window.opener && window.opener.getBpageList) { |
39 | this.$emit('input', false) | 46 | window.opener.getBpageList(); |
40 | }, 1000); | 47 | } else { |
41 | }) | 48 | window.opener.frames[0].getBpageList(); |
49 | } | ||
50 | window.close(); | ||
51 | this.$emit("input", false); | ||
52 | }, 1000); | ||
53 | }); | ||
42 | }, | 54 | }, |
43 | } | 55 | }, |
44 | } | 56 | }; |
45 | </script> | 57 | </script> |
46 | <style scoped lang="scss"> | 58 | <style scoped lang="scss"> |
47 | @import "~@/styles/mixin.scss"; | 59 | @import "~@/styles/mixin.scss"; |
48 | .invalid-title { | 60 | .invalid-title { |
49 | display: flex; | 61 | display: flex; |
50 | align-content: center; | 62 | align-content: center; |
51 | 63 | ||
52 | .invalid-icon { | 64 | .invalid-icon { |
53 | color: rgb(254, 148, 0); | 65 | color: rgb(254, 148, 0); |
54 | font-size: 34px; | 66 | font-size: 34px; |
55 | margin-right: 10px; | 67 | margin-right: 10px; |
56 | } | 68 | } |
57 | 69 | ||
58 | .invalid-body { | 70 | .invalid-body { |
59 | line-height: 40px; | 71 | line-height: 40px; |
60 | margin-bottom: 10px; | 72 | margin-bottom: 10px; |
61 | } | 73 | } |
62 | } | 74 | } |
63 | 75 | ||
64 | .invalid-reson { | 76 | .invalid-reson { |
65 | margin-bottom: 10px; | 77 | margin-bottom: 10px; |
66 | } | 78 | } |
67 | 79 | ||
68 | .dialog-footer { | 80 | .dialog-footer { |
69 | margin-top: 10px; | 81 | margin-top: 10px; |
70 | display: flex; | 82 | display: flex; |
71 | justify-content: flex-end; | 83 | justify-content: flex-end; |
72 | } | 84 | } |
73 | |||
74 | </style> | 85 | </style> | ... | ... |
... | @@ -4,21 +4,37 @@ | ... | @@ -4,21 +4,37 @@ |
4 | <div class="from-clues-header"> | 4 | <div class="from-clues-header"> |
5 | <div class="title">请选择要退回到的环节:</div> | 5 | <div class="title">请选择要退回到的环节:</div> |
6 | <el-form ref="queryForm" label-width="90px"> | 6 | <el-form ref="queryForm" label-width="90px"> |
7 | <ul style="margin-bottom:15px"> | 7 | <ul style="margin-bottom: 15px"> |
8 | <li v-for="(item,index) in dataList" class="listDetail" :key="index" @click="changeSelectItem(item)"> | 8 | <li |
9 | v-for="(item, index) in dataList" | ||
10 | class="listDetail" | ||
11 | :key="index" | ||
12 | @click="changeSelectItem(item)" | ||
13 | > | ||
9 | <p class="icon"> | 14 | <p class="icon"> |
10 | <el-radio v-model="selectActivity" :label="item.activityId" @change="changeSelectItem(item)"></el-radio> | 15 | <el-radio |
16 | v-model="selectActivity" | ||
17 | :label="item.activityId" | ||
18 | @change="changeSelectItem(item)" | ||
19 | ></el-radio> | ||
20 | </p> | ||
21 | <p>{{ item.activityName }}</p> | ||
22 | <p v-for="(child, childIndex) in item.userInfos" :key="childIndex"> | ||
23 | {{ child.name }} | ||
11 | </p> | 24 | </p> |
12 | <p>{{item.activityName}}</p> | ||
13 | <p v-for="(child,childIndex) in item.userInfos" :key="childIndex">{{child.name}}</p> | ||
14 | </li> | 25 | </li> |
15 | </ul> | 26 | </ul> |
16 | <div class="title">退回意见:</div> | 27 | <div class="title">退回意见:</div> |
17 | <el-form-item> | 28 | <el-form-item> |
18 | <el-input class="textArea" type="textarea" v-model="outstepopinion" placeholder="请输入退回意见"></el-input> | 29 | <el-input |
30 | class="textArea" | ||
31 | type="textarea" | ||
32 | v-model="outstepopinion" | ||
33 | placeholder="请输入退回意见" | ||
34 | ></el-input> | ||
19 | </el-form-item> | 35 | </el-form-item> |
20 | <el-form-item> | 36 | <el-form-item> |
21 | <el-button style="float:right" @click="cancelBack">取消</el-button> | 37 | <el-button style="float:right" @click="cancelBack">取消</el-button> |
22 | <el-button type="primary" @click="onSubmit" style="float:right">退回</el-button> | 38 | <el-button type="primary" @click="onSubmit" style="float:right">退回</el-button> |
23 | </el-form-item> | 39 | </el-form-item> |
24 | </el-form> | 40 | </el-form> |
... | @@ -27,57 +43,65 @@ | ... | @@ -27,57 +43,65 @@ |
27 | </template> | 43 | </template> |
28 | 44 | ||
29 | <script> | 45 | <script> |
46 | |||
30 | import { getTaskBackNode, sendBackTask } from "@/api/fqsq.js" | 47 | import { getTaskBackNode, sendBackTask } from "@/api/fqsq.js" |
31 | import { popupCacel } from "@/utils/popup.js"; | 48 | import { popupCacel } from "@/utils/popup.js"; |
49 | |||
32 | export default { | 50 | export default { |
33 | props: { | 51 | props: { |
34 | formData: { | 52 | formData: { |
35 | type: Object, | 53 | type: Object, |
36 | default: {} | 54 | default: {}, |
37 | } | 55 | }, |
38 | }, | 56 | }, |
39 | data () { | 57 | data() { |
40 | return { | 58 | return { |
41 | selectActivity: '', | 59 | selectActivity: "", |
42 | dataList: [], | 60 | dataList: [], |
43 | outstepopinion: '', | 61 | outstepopinion: "", |
44 | selectItem: {} | 62 | selectItem: {}, |
45 | } | 63 | }; |
46 | }, | 64 | }, |
47 | created () { | 65 | created() { |
48 | this.getBackNode(); | 66 | this.getBackNode(); |
49 | }, | 67 | }, |
50 | methods: { | 68 | methods: { |
51 | onSubmit () { | 69 | onSubmit() { |
52 | this.selectItem.outstepopinion = this.outstepopinion; | 70 | this.selectItem.outstepopinion = this.outstepopinion; |
53 | sendBackTask({ | 71 | sendBackTask({ |
54 | bsmSlsq: this.formData.bsmSlsq, | 72 | bsmSlsq: this.formData.bsmSlsq, |
55 | backNodeList: [this.selectItem] | 73 | backNodeList: [this.selectItem], |
56 | }).then(res => { | 74 | }).then((res) => { |
57 | this.$message.success('退回成功') | 75 | this.$message.success("退回成功"); |
58 | setTimeout(() => { | 76 | setTimeout(() => { |
59 | window.opener.location.reload(); //刷新父窗口 | 77 | // window.opener.location.reload(); //刷新父窗口 |
60 | window.close(); | 78 | if (window.opener && window.opener.getBpageList) { |
61 | this.$emit('input', false) | 79 | window.opener.getBpageList(); |
62 | }, 1000); | 80 | } else { |
63 | }) | 81 | window.opener.frames[0].getBpageList(); |
82 | } | ||
83 | window.close(); | ||
84 | this.$emit("input", false); | ||
85 | }, 1000); | ||
86 | }); | ||
64 | }, | 87 | }, |
65 | changeSelectItem(item){ | 88 | changeSelectItem(item) { |
66 | this.selectItem = item | 89 | this.selectItem = item; |
67 | this.selectActivity = item.activityId | 90 | this.selectActivity = item.activityId; |
68 | }, | 91 | }, |
69 | //获取可回退环节信息 | 92 | //获取可回退环节信息 |
70 | getBackNode () { | 93 | getBackNode() { |
71 | getTaskBackNode(this.formData).then(res => { | 94 | getTaskBackNode(this.formData).then((res) => { |
72 | if (res.code == 200) { | 95 | if (res.code == 200) { |
73 | this.dataList = res.result | 96 | this.dataList = res.result; |
74 | if(res.result){ | 97 | if (res.result) { |
75 | this.selectActivity = res.result[0].activityId | 98 | this.selectActivity = res.result[0].activityId; |
76 | this.selectItem = res.result[0] | 99 | this.selectItem = res.result[0]; |
77 | } | 100 | } |
78 | } | 101 | } |
79 | }) | 102 | }); |
80 | }, | 103 | }, |
104 | |||
81 | cancelBack(){ | 105 | cancelBack(){ |
82 | popupCacel(); | 106 | popupCacel(); |
83 | } | 107 | } |
... | @@ -108,7 +132,7 @@ export default { | ... | @@ -108,7 +132,7 @@ export default { |
108 | } | 132 | } |
109 | } | 133 | } |
110 | 134 | ||
111 | .title{ | 135 | .title { |
112 | margin-bottom: 10px; | 136 | margin-bottom: 10px; |
113 | } | 137 | } |
114 | 138 | ||
... | @@ -117,7 +141,7 @@ export default { | ... | @@ -117,7 +141,7 @@ export default { |
117 | min-height: 90px !important; | 141 | min-height: 90px !important; |
118 | } | 142 | } |
119 | } | 143 | } |
120 | /deep/.el-radio .el-radio__label { | 144 | /deep/.el-radio .el-radio__label { |
121 | display: none; | 145 | display: none; |
122 | } | 146 | } |
123 | </style> | 147 | </style> | ... | ... |
... | @@ -12,7 +12,7 @@ import { | ... | @@ -12,7 +12,7 @@ import { |
12 | getNextLinkInfo, | 12 | getNextLinkInfo, |
13 | } from "@/api/fqsq.js"; | 13 | } from "@/api/fqsq.js"; |
14 | export default { | 14 | export default { |
15 | data () { | 15 | data() { |
16 | return { | 16 | return { |
17 | //是否开启材料分屏 | 17 | //是否开启材料分屏 |
18 | splitScreen: false, | 18 | splitScreen: false, |
... | @@ -28,13 +28,13 @@ export default { | ... | @@ -28,13 +28,13 @@ export default { |
28 | batchButtonName: '', | 28 | batchButtonName: '', |
29 | } | 29 | } |
30 | }, | 30 | }, |
31 | mounted () { | 31 | mounted() { |
32 | this.flowInitParam(); | 32 | this.flowInitParam(); |
33 | this.loadBdcdylist(); | 33 | this.loadBdcdylist(); |
34 | }, | 34 | }, |
35 | methods: { | 35 | methods: { |
36 | //读取申请单元信息 | 36 | //读取申请单元信息 |
37 | loadBdcdylist () { | 37 | loadBdcdylist() { |
38 | var formdata = new FormData(); | 38 | var formdata = new FormData(); |
39 | formdata.append("bsmSlsq", this.bsmSlsq); | 39 | formdata.append("bsmSlsq", this.bsmSlsq); |
40 | formdata.append("bestepid", this.bestepid); | 40 | formdata.append("bestepid", this.bestepid); |
... | @@ -56,7 +56,7 @@ export default { | ... | @@ -56,7 +56,7 @@ export default { |
56 | }); | 56 | }); |
57 | }, | 57 | }, |
58 | //批量按钮判断 | 58 | //批量按钮判断 |
59 | judgeBatchShow () { | 59 | judgeBatchShow() { |
60 | this.showBatch = false; | 60 | this.showBatch = false; |
61 | if (this.unitData.length > 1) { | 61 | if (this.unitData.length > 1) { |
62 | let qllx = this.$route.query.sqywbm.substring(0, 3); | 62 | let qllx = this.$route.query.sqywbm.substring(0, 3); |
... | @@ -75,7 +75,7 @@ export default { | ... | @@ -75,7 +75,7 @@ export default { |
75 | } | 75 | } |
76 | }, | 76 | }, |
77 | //加载流程初始参数 | 77 | //加载流程初始参数 |
78 | flowInitParam () { | 78 | flowInitParam() { |
79 | var formdata = new FormData(); | 79 | var formdata = new FormData(); |
80 | formdata.append("bsmSlsq", this.bsmSlsq); | 80 | formdata.append("bsmSlsq", this.bsmSlsq); |
81 | formdata.append("bestepid", this.bestepid); | 81 | formdata.append("bestepid", this.bestepid); |
... | @@ -87,7 +87,7 @@ export default { | ... | @@ -87,7 +87,7 @@ export default { |
87 | }); | 87 | }); |
88 | }, | 88 | }, |
89 | //流程环节操作按钮 | 89 | //流程环节操作按钮 |
90 | operation (item) { | 90 | operation(item) { |
91 | //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 | 91 | //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 |
92 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout | 92 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout |
93 | let that = this; | 93 | let that = this; |
... | @@ -227,7 +227,7 @@ export default { | ... | @@ -227,7 +227,7 @@ export default { |
227 | } | 227 | } |
228 | }, | 228 | }, |
229 | //发送下一个环节 | 229 | //发送下一个环节 |
230 | sendToNext (obj) { | 230 | sendToNext(obj) { |
231 | const h = this.$createElement; | 231 | const h = this.$createElement; |
232 | this.$msgbox({ | 232 | this.$msgbox({ |
233 | title: "您确定转出吗?1", | 233 | title: "您确定转出吗?1", |
... | @@ -251,7 +251,12 @@ export default { | ... | @@ -251,7 +251,12 @@ export default { |
251 | if (res.code === 200) { | 251 | if (res.code === 200) { |
252 | instance.confirmButtonLoading = false; | 252 | instance.confirmButtonLoading = false; |
253 | this.$message.success("转件成功"); | 253 | this.$message.success("转件成功"); |
254 | window.opener.location.reload(); //刷新父窗口 | 254 | // window.opener.location.reload(); //刷新父窗口 |
255 | if (window.opener && window.opener.getBpageList) { | ||
256 | window.opener.getBpageList(); | ||
257 | } else { | ||
258 | window.opener.frames[0].getBpageList(); | ||
259 | } | ||
255 | window.close(); | 260 | window.close(); |
256 | this.$emit("input", false); | 261 | this.$emit("input", false); |
257 | } else { | 262 | } else { |
... | @@ -271,7 +276,7 @@ export default { | ... | @@ -271,7 +276,7 @@ export default { |
271 | }); | 276 | }); |
272 | }); | 277 | }); |
273 | }, | 278 | }, |
274 | sendToEnd () { | 279 | sendToEnd() { |
275 | let that = this | 280 | let that = this |
276 | const h = this.$createElement; | 281 | const h = this.$createElement; |
277 | this.$msgbox({ | 282 | this.$msgbox({ |
... | @@ -291,7 +296,12 @@ export default { | ... | @@ -291,7 +296,12 @@ export default { |
291 | instance.confirmButtonLoading = false; | 296 | instance.confirmButtonLoading = false; |
292 | that.$message.success("转件成功"); | 297 | that.$message.success("转件成功"); |
293 | localStorage.setItem('transfer', true) | 298 | localStorage.setItem('transfer', true) |
294 | window.opener.location.reload(); //刷新父窗口 | 299 | // window.opener.location.reload(); //刷新父窗口 |
300 | if (window.opener && window.opener.getBpageList) { | ||
301 | window.opener.getBpageList(); | ||
302 | } else { | ||
303 | window.opener.frames[0].getBpageList(); | ||
304 | } | ||
295 | window.close(); | 305 | window.close(); |
296 | that.$emit("input", false); | 306 | that.$emit("input", false); |
297 | } else { | 307 | } else { |
... | @@ -312,7 +322,7 @@ export default { | ... | @@ -312,7 +322,7 @@ export default { |
312 | }) | 322 | }) |
313 | }, | 323 | }, |
314 | //批量操作 | 324 | //批量操作 |
315 | handleBatchDel () { | 325 | handleBatchDel() { |
316 | let that = this; | 326 | let that = this; |
317 | this.$popup("批量删除", "workflow/components/batchDel", { | 327 | this.$popup("批量删除", "workflow/components/batchDel", { |
318 | width: "50%", | 328 | width: "50%", |
... | @@ -327,7 +337,7 @@ export default { | ... | @@ -327,7 +337,7 @@ export default { |
327 | } | 337 | } |
328 | }) | 338 | }) |
329 | }, | 339 | }, |
330 | handleChange (file) { | 340 | handleChange(file) { |
331 | var formdata = new FormData(); | 341 | var formdata = new FormData(); |
332 | formdata.append("file", file.raw); | 342 | formdata.append("file", file.raw); |
333 | formdata.append("bsmSldy", this.currentSelectProps.bsmSldy); | 343 | formdata.append("bsmSldy", this.currentSelectProps.bsmSldy); |
... | @@ -341,7 +351,7 @@ export default { | ... | @@ -341,7 +351,7 @@ export default { |
341 | }) | 351 | }) |
342 | }, | 352 | }, |
343 | // 上传 | 353 | // 上传 |
344 | beforeUpload (file) { | 354 | beforeUpload(file) { |
345 | return true; | 355 | return true; |
346 | }, | 356 | }, |
347 | } | 357 | } | ... | ... |
... | @@ -4,14 +4,22 @@ | ... | @@ -4,14 +4,22 @@ |
4 | <div class="topButton"> | 4 | <div class="topButton"> |
5 | <!-- 左侧业务功能按钮 --> | 5 | <!-- 左侧业务功能按钮 --> |
6 | <ul> | 6 | <ul> |
7 | <li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index"> | 7 | <li |
8 | @click="operation(item)" | ||
9 | v-for="(item, index) in leftButtonList" | ||
10 | :key="index" | ||
11 | > | ||
8 | <svg-icon class="icon" :icon-class="item.icon" /> | 12 | <svg-icon class="icon" :icon-class="item.icon" /> |
9 | <span class="iconName">{{ item.name }}</span> | 13 | <span class="iconName">{{ item.name }}</span> |
10 | </li> | 14 | </li> |
11 | </ul> | 15 | </ul> |
12 | <!-- 右侧流程按钮 --> | 16 | <!-- 右侧流程按钮 --> |
13 | <ul> | 17 | <ul> |
14 | <li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index"> | 18 | <li |
19 | @click="operation(item)" | ||
20 | v-for="(item, index) in rightButtonList" | ||
21 | :key="index" | ||
22 | > | ||
15 | <svg-icon class="icon" :icon-class="item.icon" /> | 23 | <svg-icon class="icon" :icon-class="item.icon" /> |
16 | <span class="iconName">{{ item.name }}</span> | 24 | <span class="iconName">{{ item.name }}</span> |
17 | </li> | 25 | </li> |
... | @@ -22,7 +30,12 @@ | ... | @@ -22,7 +30,12 @@ |
22 | <div class="containerFrame"> | 30 | <div class="containerFrame"> |
23 | <!-- 左侧菜单栏 --> | 31 | <!-- 左侧菜单栏 --> |
24 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> | 32 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> |
25 | <el-menu :default-active="activeIndex" @select="batchUnitClick" class="title-batch" v-if="showBatch"> | 33 | <el-menu |
34 | :default-active="activeIndex" | ||
35 | @select="batchUnitClick" | ||
36 | class="title-batch" | ||
37 | v-if="showBatch" | ||
38 | > | ||
26 | <el-menu-item index="-1" key="-1" class="menus"> | 39 | <el-menu-item index="-1" key="-1" class="menus"> |
27 | <div>{{ batchButtonName }}</div> | 40 | <div>{{ batchButtonName }}</div> |
28 | </el-menu-item> | 41 | </el-menu-item> |
... | @@ -30,28 +43,50 @@ | ... | @@ -30,28 +43,50 @@ |
30 | <div v-if="this.isShowdrawer"> | 43 | <div v-if="this.isShowdrawer"> |
31 | <div class="title"> | 44 | <div class="title"> |
32 | 申请单元列表({{ unitData.length }}) | 45 | 申请单元列表({{ unitData.length }}) |
33 | <el-button type="text" class="batchDel" @click="handleBatchDel" v-if="unitData.length > 1">批量删除</el-button> | 46 | <el-button |
47 | type="text" | ||
48 | class="batchDel" | ||
49 | @click="handleBatchDel" | ||
50 | v-if="unitData.length > 1" | ||
51 | >批量删除</el-button | ||
52 | > | ||
34 | </div> | 53 | </div> |
35 | <el-menu :default-active="activeIndex" @select="unitClick"> | 54 | <el-menu :default-active="activeIndex" @select="unitClick"> |
36 | <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index"> | 55 | <el-menu-item |
56 | v-for="(item, index) in unitData" | ||
57 | :index="index.toString()" | ||
58 | :key="index" | ||
59 | > | ||
37 | <div> | 60 | <div> |
38 | <p>{{ item.bdcdyh }}</p> | 61 | <p>{{ item.bdcdyh }}</p> |
39 | <p class="title-detail">{{ item.zl }}</p> | 62 | <p class="title-detail">{{ item.zl }}</p> |
40 | </div> | 63 | </div> |
41 | <i class="el-icon-delete" v-if="unitData.length > 1" @click.stop="handleDel(item)"></i> | 64 | <i |
65 | class="el-icon-delete" | ||
66 | v-if="unitData.length > 1" | ||
67 | @click.stop="handleDel(item)" | ||
68 | ></i> | ||
42 | </el-menu-item> | 69 | </el-menu-item> |
43 | </el-menu> | 70 | </el-menu> |
44 | </div> | 71 | </div> |
45 | <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" | 72 | <div |
46 | () => { | 73 | class="map-drawer-click map-drawer" |
47 | this.isShowdrawer = !this.isShowdrawer; | 74 | v-if="!isShowdrawer" |
48 | } | 75 | @click=" |
49 | "></div> | 76 | () => { |
50 | <div class="map-drawer-expand map-drawer" v-else @click=" | 77 | this.isShowdrawer = !this.isShowdrawer; |
51 | () => { | 78 | } |
52 | this.isShowdrawer = !this.isShowdrawer; | 79 | " |
53 | } | 80 | ></div> |
54 | "></div> | 81 | <div |
82 | class="map-drawer-expand map-drawer" | ||
83 | v-else | ||
84 | @click=" | ||
85 | () => { | ||
86 | this.isShowdrawer = !this.isShowdrawer; | ||
87 | } | ||
88 | " | ||
89 | ></div> | ||
55 | </div> | 90 | </div> |
56 | <div class="leftCon"> | 91 | <div class="leftCon"> |
57 | <!-- 分屏左侧预览 --> | 92 | <!-- 分屏左侧预览 --> |
... | @@ -61,45 +96,78 @@ | ... | @@ -61,45 +96,78 @@ |
61 | <!-- 表单内容区域 --> | 96 | <!-- 表单内容区域 --> |
62 | <div class="rightContainer"> | 97 | <div class="rightContainer"> |
63 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | 98 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> |
64 | <el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value"> | 99 | <el-tab-pane |
100 | :label="item.name" | ||
101 | :name="item.value" | ||
102 | v-for="item in tabList" | ||
103 | :key="item.value" | ||
104 | > | ||
65 | </el-tab-pane> | 105 | </el-tab-pane> |
66 | </el-tabs> | 106 | </el-tabs> |
67 | <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" /> | 107 | <component |
108 | :key="fresh" | ||
109 | :is="componentTag" | ||
110 | v-bind="currentSelectProps" | ||
111 | /> | ||
68 | </div> | 112 | </div> |
69 | </div> | 113 | </div> |
70 | </div> | 114 | </div> |
71 | <!-- 打印模板需要此模块 --> | 115 | <!-- 打印模板需要此模块 --> |
72 | <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" v-show="false"> | 116 | <object |
73 | <embed id="LODOP_EM" type="application/x-print-lodop" width=820 height=450 pluginspage="install_lodop32.exe" /> | 117 | id="LODOP_OB" |
118 | classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" | ||
119 | v-show="false" | ||
120 | > | ||
121 | <embed | ||
122 | id="LODOP_EM" | ||
123 | type="application/x-print-lodop" | ||
124 | width="820" | ||
125 | height="450" | ||
126 | pluginspage="install_lodop32.exe" | ||
127 | /> | ||
74 | </object> | 128 | </object> |
75 | <el-upload class="fileUpdate" action="" :show-file-list="false" multiple :auto-upload="false" | 129 | <el-upload |
76 | :on-change="handleChange" :before-upload="beforeUpload"> | 130 | class="fileUpdate" |
77 | <el-button id="cldr" icon="el-icon-upload" type="primary" v-show="false">上传</el-button> | 131 | action="" |
132 | :show-file-list="false" | ||
133 | multiple | ||
134 | :auto-upload="false" | ||
135 | :on-change="handleChange" | ||
136 | :before-upload="beforeUpload" | ||
137 | > | ||
138 | <el-button id="cldr" icon="el-icon-upload" type="primary" v-show="false" | ||
139 | >上传</el-button | ||
140 | > | ||
78 | </el-upload> | 141 | </el-upload> |
79 | <selectBdc v-model="isDialog" :djywbm="$route.query.sqywbm" :isJump="true" @updateDialog="updateDialog" /> | 142 | <selectBdc |
143 | v-model="isDialog" | ||
144 | :djywbm="$route.query.sqywbm" | ||
145 | :isJump="true" | ||
146 | @updateDialog="updateDialog" | ||
147 | /> | ||
80 | </div> | 148 | </div> |
81 | </template> | 149 | </template> |
82 | <style scoped lang='scss'> | 150 | <style scoped lang="scss"> |
83 | @import "~@/styles/mixin.scss"; | 151 | @import "~@/styles/mixin.scss"; |
84 | @import "./workFrame.scss"; | 152 | @import "./workFrame.scss"; |
85 | </style> | 153 | </style> |
86 | <script> | 154 | <script> |
87 | import WorkFlow from "./mixin/index" | 155 | import WorkFlow from "./mixin/index"; |
88 | import publicFlow from "./mixin/public.js" | 156 | import publicFlow from "./mixin/public.js"; |
89 | import { getStepFormInfo } from "@/api/fqsq.js"; | 157 | import { getStepFormInfo } from "@/api/fqsq.js"; |
90 | import { getForm } from './flowform' | 158 | import { getForm } from "./flowform"; |
91 | import NoticeBar from '@/components/NoticeBar/index' | 159 | import NoticeBar from "@/components/NoticeBar/index"; |
92 | import { deleteFlow, unClaimTask } from "@/api/ywbl.js"; | 160 | import { deleteFlow, unClaimTask } from "@/api/ywbl.js"; |
93 | import ProcessViewer from './components/processViewer.vue' | 161 | import ProcessViewer from "./components/processViewer.vue"; |
94 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; | 162 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; |
95 | export default { | 163 | export default { |
96 | components: { | 164 | components: { |
97 | selectBdc, | 165 | selectBdc, |
98 | NoticeBar, | 166 | NoticeBar, |
99 | ProcessViewer | 167 | ProcessViewer, |
100 | }, | 168 | }, |
101 | mixins: [WorkFlow, publicFlow], | 169 | mixins: [WorkFlow, publicFlow], |
102 | data () { | 170 | data() { |
103 | return { | 171 | return { |
104 | isDialog: false, | 172 | isDialog: false, |
105 | // 折叠 | 173 | // 折叠 |
... | @@ -131,42 +199,45 @@ export default { | ... | @@ -131,42 +199,45 @@ export default { |
131 | //批量操作 | 199 | //批量操作 |
132 | showBatch: false, | 200 | showBatch: false, |
133 | //批量操作按钮名称 | 201 | //批量操作按钮名称 |
134 | batchButtonName: '', | 202 | batchButtonName: "", |
135 | } | 203 | }; |
136 | }, | 204 | }, |
137 | mounted () { | 205 | mounted() { |
138 | //添加页面监听事件 | 206 | //添加页面监听事件 |
139 | window.addEventListener('beforeunload', e => this.beforeunloadHandler(e)) | 207 | window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e)); |
140 | window.addEventListener('unload', e => this.unloadHandler(e)) | 208 | window.addEventListener("unload", (e) => this.unloadHandler(e)); |
141 | }, | 209 | }, |
142 | destroyed () { | 210 | |
143 | window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) | 211 | destroyed() { |
144 | window.removeEventListener('unload', e => this.unloadHandler(e)) | 212 | window.removeEventListener("beforeunload", (e) => |
213 | this.beforeunloadHandler(e) | ||
214 | ); | ||
215 | window.removeEventListener("unload", (e) => this.unloadHandler(e)); | ||
145 | }, | 216 | }, |
146 | methods: { | 217 | methods: { |
147 | beforeunloadHandler () { | 218 | beforeunloadHandler() { |
148 | this._beforeUnload_time = new Date().getTime() | 219 | this._beforeUnload_time = new Date().getTime(); |
149 | }, | 220 | }, |
150 | unloadHandler (e) { | 221 | unloadHandler(e) { |
151 | this._gap_time = new Date().getTime() - this._beforeUnload_time | 222 | this._gap_time = new Date().getTime() - this._beforeUnload_time; |
152 | //判断是窗口关闭还是刷新 | 223 | //判断是窗口关闭还是刷新 |
153 | if (this._gap_time <= 10) { | 224 | if (this._gap_time <= 10) { |
154 | //取消认领 | 225 | //取消认领 |
155 | unClaimTask(this.bsmSlsq, this.bestepid) | 226 | unClaimTask(this.bsmSlsq, this.bestepid); |
156 | } | 227 | } |
157 | }, | 228 | }, |
158 | changeLoadIndex () { | 229 | changeLoadIndex() { |
159 | this.loadIndex++ | 230 | this.loadIndex++; |
160 | }, | 231 | }, |
161 | closeDialog () { | 232 | closeDialog() { |
162 | this.myValue = false | 233 | this.myValue = false; |
163 | }, | 234 | }, |
164 | // 更新列表 | 235 | // 更新列表 |
165 | updateDialog () { | 236 | updateDialog() { |
166 | this.loadBdcdylist(); | 237 | this.loadBdcdylist(); |
167 | }, | 238 | }, |
168 | // 删除左侧列表 | 239 | // 删除左侧列表 |
169 | handleDel (item) { | 240 | handleDel(item) { |
170 | this.$confirm("确定要删除吗, 是否继续?", "提示", { | 241 | this.$confirm("确定要删除吗, 是否继续?", "提示", { |
171 | confirmButtonText: "确定", | 242 | confirmButtonText: "确定", |
172 | cancelButtonText: "取消", | 243 | cancelButtonText: "取消", |
... | @@ -193,7 +264,7 @@ export default { | ... | @@ -193,7 +264,7 @@ export default { |
193 | }); | 264 | }); |
194 | }, | 265 | }, |
195 | //申请单元点击事件 | 266 | //申请单元点击事件 |
196 | stepForm (index) { | 267 | stepForm(index) { |
197 | getStepFormInfo(this.currentSelectProps).then((res) => { | 268 | getStepFormInfo(this.currentSelectProps).then((res) => { |
198 | if (res.code === 200) { | 269 | if (res.code === 200) { |
199 | this.fresh++; | 270 | this.fresh++; |
... | @@ -201,9 +272,9 @@ export default { | ... | @@ -201,9 +272,9 @@ export default { |
201 | this.tabList = res.result; | 272 | this.tabList = res.result; |
202 | //默认加载第一个表单信息 | 273 | //默认加载第一个表单信息 |
203 | this.tabName = res.result[0].value; | 274 | this.tabName = res.result[0].value; |
204 | //批量操作无分屏按钮 | 275 | //批量操作无分屏按钮 |
205 | if (index != null) { | 276 | if (index != null) { |
206 | //处理分屏材料信息 | 277 | //处理分屏材料信息 |
207 | let that = this; | 278 | let that = this; |
208 | this.tabList.forEach(function (item, index) { | 279 | this.tabList.forEach(function (item, index) { |
209 | if (item.value == "clxx") { | 280 | if (item.value == "clxx") { |
... | @@ -211,24 +282,24 @@ export default { | ... | @@ -211,24 +282,24 @@ export default { |
211 | that.clxxForm = getForm(item.value, that.$route.query.sqywbm); | 282 | that.clxxForm = getForm(item.value, that.$route.query.sqywbm); |
212 | that.clxxTab = item; | 283 | that.clxxTab = item; |
213 | } | 284 | } |
214 | }) | 285 | }); |
215 | } | 286 | } |
216 | } | 287 | } |
217 | }) | 288 | }); |
218 | }, | 289 | }, |
219 | //申请单元点击事件 | 290 | //申请单元点击事件 |
220 | unitClick (index) { | 291 | unitClick(index) { |
221 | this.currentSelectProps = this.unitData[index]; | 292 | this.currentSelectProps = this.unitData[index]; |
222 | this.currentSelectProps.batchOperation = false; | 293 | this.currentSelectProps.batchOperation = false; |
223 | this.activeIndex = index.toString(); | 294 | this.activeIndex = index.toString(); |
224 | this.stepForm(index); | 295 | this.stepForm(index); |
225 | }, | 296 | }, |
226 | //批量按钮点击事件 | 297 | //批量按钮点击事件 |
227 | batchUnitClick () { | 298 | batchUnitClick() { |
228 | this.currentSelectProps.batchOperation = true; | 299 | this.currentSelectProps.batchOperation = true; |
229 | this.activeIndex = "-1"; | 300 | this.activeIndex = "-1"; |
230 | this.stepForm(); | 301 | this.stepForm(); |
231 | } | 302 | }, |
232 | } | 303 | }, |
233 | } | 304 | }; |
234 | </script> | 305 | </script> | ... | ... |
... | @@ -4,14 +4,22 @@ | ... | @@ -4,14 +4,22 @@ |
4 | <div class="topButton"> | 4 | <div class="topButton"> |
5 | <!-- 左侧业务功能按钮 --> | 5 | <!-- 左侧业务功能按钮 --> |
6 | <ul> | 6 | <ul> |
7 | <li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index"> | 7 | <li |
8 | @click="operation(item)" | ||
9 | v-for="(item, index) in leftButtonList" | ||
10 | :key="index" | ||
11 | > | ||
8 | <svg-icon :icon-class="item.icon" /> | 12 | <svg-icon :icon-class="item.icon" /> |
9 | <span class="iconName">{{ item.name }}</span> | 13 | <span class="iconName">{{ item.name }}</span> |
10 | </li> | 14 | </li> |
11 | </ul> | 15 | </ul> |
12 | <!-- 右侧流程按钮 --> | 16 | <!-- 右侧流程按钮 --> |
13 | <ul> | 17 | <ul> |
14 | <li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index"> | 18 | <li |
19 | @click="operation(item)" | ||
20 | v-for="(item, index) in rightButtonList" | ||
21 | :key="index" | ||
22 | > | ||
15 | <svg-icon class="icon" :icon-class="item.icon" /> | 23 | <svg-icon class="icon" :icon-class="item.icon" /> |
16 | <span class="iconName">{{ item.name }}</span> | 24 | <span class="iconName">{{ item.name }}</span> |
17 | </li> | 25 | </li> |
... | @@ -25,7 +33,11 @@ | ... | @@ -25,7 +33,11 @@ |
25 | <div v-if="this.isShowdrawer"> | 33 | <div v-if="this.isShowdrawer"> |
26 | <div class="title">申请单元列表({{ unitData.length }})</div> | 34 | <div class="title">申请单元列表({{ unitData.length }})</div> |
27 | <el-menu :default-active="activeIndex" @select="unitClick"> | 35 | <el-menu :default-active="activeIndex" @select="unitClick"> |
28 | <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index"> | 36 | <el-menu-item |
37 | v-for="(item, index) in unitData" | ||
38 | :index="index.toString()" | ||
39 | :key="index" | ||
40 | > | ||
29 | <div> | 41 | <div> |
30 | <p>{{ item.bdcdyh }}</p> | 42 | <p>{{ item.bdcdyh }}</p> |
31 | <p class="title-detail">{{ item.zl }}</p> | 43 | <p class="title-detail">{{ item.zl }}</p> |
... | @@ -33,16 +45,24 @@ | ... | @@ -33,16 +45,24 @@ |
33 | </el-menu-item> | 45 | </el-menu-item> |
34 | </el-menu> | 46 | </el-menu> |
35 | </div> | 47 | </div> |
36 | <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" | 48 | <div |
37 | () => { | 49 | class="map-drawer-click map-drawer" |
38 | this.isShowdrawer = !this.isShowdrawer; | 50 | v-if="!isShowdrawer" |
39 | } | 51 | @click=" |
40 | "></div> | 52 | () => { |
41 | <div class="map-drawer-expand map-drawer" v-else @click=" | 53 | this.isShowdrawer = !this.isShowdrawer; |
42 | () => { | 54 | } |
43 | this.isShowdrawer = !this.isShowdrawer; | 55 | " |
44 | } | 56 | ></div> |
45 | "></div> | 57 | <div |
58 | class="map-drawer-expand map-drawer" | ||
59 | v-else | ||
60 | @click=" | ||
61 | () => { | ||
62 | this.isShowdrawer = !this.isShowdrawer; | ||
63 | } | ||
64 | " | ||
65 | ></div> | ||
46 | </div> | 66 | </div> |
47 | <div class="leftCon"> | 67 | <div class="leftCon"> |
48 | <!-- 分屏左侧预览 --> | 68 | <!-- 分屏左侧预览 --> |
... | @@ -52,42 +72,47 @@ | ... | @@ -52,42 +72,47 @@ |
52 | <!-- 表单内容区域 --> | 72 | <!-- 表单内容区域 --> |
53 | <div class="rightContainer"> | 73 | <div class="rightContainer"> |
54 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | 74 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> |
55 | <el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index"> | 75 | <el-tab-pane |
76 | :label="item.name" | ||
77 | :name="item.value" | ||
78 | v-for="(item, index) in tabList" | ||
79 | :key="index" | ||
80 | > | ||
56 | </el-tab-pane> | 81 | </el-tab-pane> |
57 | </el-tabs> | 82 | </el-tabs> |
58 | <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" /> | 83 | <component |
84 | :key="fresh" | ||
85 | :is="componentTag" | ||
86 | v-bind="currentSelectProps" | ||
87 | /> | ||
59 | </div> | 88 | </div> |
60 | </div> | 89 | </div> |
61 | </div> | 90 | </div> |
62 | </div> | 91 | </div> |
63 | </template> | 92 | </template> |
64 | <style scoped lang='scss'> | 93 | <style scoped lang="scss"> |
65 | @import "~@/styles/mixin.scss"; | 94 | @import "~@/styles/mixin.scss"; |
66 | @import "./workFrame.scss"; | 95 | @import "./workFrame.scss"; |
67 | </style> | 96 | </style> |
68 | <script> | 97 | <script> |
69 | import { | 98 | import { leftMenu, stepExpandInfo, getStepFormInfo } from "@/api/fqsq.js"; |
70 | leftMenu, | 99 | import publicFlow from "./mixin/public.js"; |
71 | stepExpandInfo, | ||
72 | getStepFormInfo | ||
73 | } from "@/api/fqsq.js" | ||
74 | import publicFlow from "./mixin/public.js" | ||
75 | import { popupDialog } from "@/utils/popup.js"; | 100 | import { popupDialog } from "@/utils/popup.js"; |
76 | import NoticeBar from '@/components/NoticeBar/index' | 101 | import NoticeBar from "@/components/NoticeBar/index"; |
77 | import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js" | 102 | import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js"; |
78 | export default { | 103 | export default { |
79 | mixins: [publicFlow], | 104 | mixins: [publicFlow], |
80 | components: { | 105 | components: { |
81 | NoticeBar | 106 | NoticeBar, |
82 | }, | 107 | }, |
83 | data () { | 108 | data() { |
84 | return { | 109 | return { |
85 | // 流程图 | 110 | // 流程图 |
86 | imgSrc: '', | 111 | imgSrc: "", |
87 | // 折叠 | 112 | // 折叠 |
88 | isShowdrawer: true, | 113 | isShowdrawer: true, |
89 | // 默认选中 | 114 | // 默认选中 |
90 | activeIndex: '0', | 115 | activeIndex: "0", |
91 | //受理申请标识码 | 116 | //受理申请标识码 |
92 | bsmSlsq: this.$route.query.bsmSlsq, | 117 | bsmSlsq: this.$route.query.bsmSlsq, |
93 | //当前流程所在环节 | 118 | //当前流程所在环节 |
... | @@ -116,15 +141,16 @@ export default { | ... | @@ -116,15 +141,16 @@ export default { |
116 | clxxIndex: "", | 141 | clxxIndex: "", |
117 | //材料信息选项卡对象 | 142 | //材料信息选项卡对象 |
118 | clxxTab: {}, | 143 | clxxTab: {}, |
119 | } | 144 | }; |
120 | }, | 145 | }, |
121 | mounted () { | 146 | mounted() { |
122 | this.loadBdcdylist(); | 147 | this.loadBdcdylist(); |
123 | this.flowInitParam(); | 148 | this.flowInitParam(); |
124 | }, | 149 | }, |
150 | |||
125 | methods: { | 151 | methods: { |
126 | //加载流程初始参数 | 152 | //加载流程初始参数 |
127 | flowInitParam () { | 153 | flowInitParam() { |
128 | var formdata = new FormData(); | 154 | var formdata = new FormData(); |
129 | formdata.append("bsmSlsq", this.bsmSlsq); | 155 | formdata.append("bsmSlsq", this.bsmSlsq); |
130 | formdata.append("bestepid", this.bestepid); | 156 | formdata.append("bestepid", this.bestepid); |
... | @@ -134,34 +160,36 @@ export default { | ... | @@ -134,34 +160,36 @@ export default { |
134 | this.leftButtonList = res.result.button; | 160 | this.leftButtonList = res.result.button; |
135 | this.rightButtonList = res.result.operation; | 161 | this.rightButtonList = res.result.operation; |
136 | } | 162 | } |
137 | }) | 163 | }); |
138 | }, | 164 | }, |
139 | //流程环节操作按钮 | 165 | //流程环节操作按钮 |
140 | operation (item) { | 166 | operation(item) { |
141 | //按钮 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 | 167 | //按钮 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 |
142 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout | 168 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout |
143 | switch (item.value) { | 169 | switch (item.value) { |
144 | case "B1": | 170 | case "B1": |
145 | getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => { | 171 | getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then( |
146 | let { result } = res | 172 | (res) => { |
147 | popupDialog("流程图", "workflow/components/processViewer", { | 173 | let { result } = res; |
148 | xml: result.xml, | 174 | popupDialog("流程图", "workflow/components/processViewer", { |
149 | finishedInfo: { | 175 | xml: result.xml, |
150 | finishedTaskSet: result.finishedTaskSet, | 176 | finishedInfo: { |
151 | unfinishedTaskSet: result.unfinishedTaskSet, | 177 | finishedTaskSet: result.finishedTaskSet, |
152 | rejectedTaskSet: result.rejectedTaskSet, | 178 | unfinishedTaskSet: result.unfinishedTaskSet, |
153 | finishedSequenceFlowSet: result.finishedSequenceFlowSet | 179 | rejectedTaskSet: result.rejectedTaskSet, |
154 | }, | 180 | finishedSequenceFlowSet: result.finishedSequenceFlowSet, |
155 | allCommentList: result.historyTaskList | 181 | }, |
156 | }) | 182 | allCommentList: result.historyTaskList, |
157 | }) | 183 | }); |
184 | } | ||
185 | ); | ||
158 | break; | 186 | break; |
159 | case "B5": | 187 | case "B5": |
160 | this.zsylFlag = true; | 188 | this.zsylFlag = true; |
161 | break; | 189 | break; |
162 | case "B2": //材料分屏按钮 | 190 | case "B2": //材料分屏按钮 |
163 | this.splitScreen = this.splitScreen ? false : true; | 191 | this.splitScreen = this.splitScreen ? false : true; |
164 | this.$store.dispatch('app/settScreen', this.splitScreen) | 192 | this.$store.dispatch("app/settScreen", this.splitScreen); |
165 | if (this.splitScreen) { | 193 | if (this.splitScreen) { |
166 | //如果当前选项卡为材料信息内容,递减到上一个选项卡内容 | 194 | //如果当前选项卡为材料信息内容,递减到上一个选项卡内容 |
167 | if (this.tabName == this.clxxTab.value) { | 195 | if (this.tabName == this.clxxTab.value) { |
... | @@ -179,7 +207,7 @@ export default { | ... | @@ -179,7 +207,7 @@ export default { |
179 | } | 207 | } |
180 | }, | 208 | }, |
181 | //读取申请单元信息 | 209 | //读取申请单元信息 |
182 | loadBdcdylist () { | 210 | loadBdcdylist() { |
183 | var formdata = new FormData(); | 211 | var formdata = new FormData(); |
184 | formdata.append("bsmSlsq", this.bsmSlsq); | 212 | formdata.append("bsmSlsq", this.bsmSlsq); |
185 | formdata.append("bestepid", this.bestepid); | 213 | formdata.append("bestepid", this.bestepid); |
... | @@ -189,12 +217,12 @@ export default { | ... | @@ -189,12 +217,12 @@ export default { |
189 | this.currentSelectProps = res.result[0]; | 217 | this.currentSelectProps = res.result[0]; |
190 | this.unitClick(0); | 218 | this.unitClick(0); |
191 | } | 219 | } |
192 | }) | 220 | }); |
193 | }, | 221 | }, |
194 | //申请单元点击事件 | 222 | //申请单元点击事件 |
195 | unitClick (index) { | 223 | unitClick(index) { |
196 | this.currentSelectProps = this.unitData[index]; | 224 | this.currentSelectProps = this.unitData[index]; |
197 | this.currentSelectProps.type = 'ONLY_READ'; | 225 | this.currentSelectProps.type = "ONLY_READ"; |
198 | getStepFormInfo(this.currentSelectProps).then((res) => { | 226 | getStepFormInfo(this.currentSelectProps).then((res) => { |
199 | if (res.code === 200) { | 227 | if (res.code === 200) { |
200 | this.fresh++; | 228 | this.fresh++; |
... | @@ -203,8 +231,8 @@ export default { | ... | @@ -203,8 +231,8 @@ export default { |
203 | //默认加载第一个表单信息 | 231 | //默认加载第一个表单信息 |
204 | this.tabName = res.result[0].value; | 232 | this.tabName = res.result[0].value; |
205 | } | 233 | } |
206 | }) | ||
207 | } | ||
208 | } | ||
209 | } | ||
210 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
234 | }); | ||
235 | }, | ||
236 | }, | ||
237 | }; | ||
238 | </script> | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="from-clues"> | 2 | <div class="from-clues"> |
3 | <div class="from-clues-header"> | 3 | <div class="from-clues-header"> |
4 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="80px"> | 4 | <el-form |
5 | :model="queryForm" | ||
6 | ref="queryForm" | ||
7 | @submit.native.prevent | ||
8 | label-width="80px" | ||
9 | > | ||
5 | <el-row> | 10 | <el-row> |
6 | <el-col :span="5"> | 11 | <el-col :span="5"> |
7 | <el-form-item label="业务来源" label-width="70px"> | 12 | <el-form-item label="业务来源" label-width="70px"> |
8 | <el-select v-model="queryForm.ywly" class="width100" filterable | 13 | <el-select |
9 | @change="handleSelect('ywly', 'ywlymc', 'ywly')" clearable placeholder="请选择业务来源"> | 14 | v-model="queryForm.ywly" |
10 | <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 15 | class="width100" |
16 | filterable | ||
17 | @change="handleSelect('ywly', 'ywlymc', 'ywly')" | ||
18 | clearable | ||
19 | placeholder="请选择业务来源" | ||
20 | > | ||
21 | <el-option | ||
22 | v-for="item in dictData['ywly']" | ||
23 | :key="item.dcode" | ||
24 | :label="item.dname" | ||
25 | :value="item.dcode" | ||
26 | > | ||
11 | </el-option> | 27 | </el-option> |
12 | </el-select> | 28 | </el-select> |
13 | </el-form-item> | 29 | </el-form-item> |
14 | </el-col> | 30 | </el-col> |
15 | <el-col :span="5"> | 31 | <el-col :span="5"> |
16 | <el-form-item label="权利类型"> | 32 | <el-form-item label="权利类型"> |
17 | <el-select v-model="queryForm.qllx" class="width100" @change="handleSelect('A8', 'qllxmc', 'qllx')" | 33 | <el-select |
18 | filterable clearable placeholder="请选择权利类型"> | 34 | v-model="queryForm.qllx" |
19 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 35 | class="width100" |
36 | @change="handleSelect('A8', 'qllxmc', 'qllx')" | ||
37 | filterable | ||
38 | clearable | ||
39 | placeholder="请选择权利类型" | ||
40 | > | ||
41 | <el-option | ||
42 | v-for="item in dictData['A8']" | ||
43 | :key="item.dcode" | ||
44 | :label="item.dname" | ||
45 | :value="item.dcode" | ||
46 | > | ||
20 | </el-option> | 47 | </el-option> |
21 | </el-select> | 48 | </el-select> |
22 | </el-form-item> | 49 | </el-form-item> |
23 | </el-col> | 50 | </el-col> |
24 | <el-col :span="5"> | 51 | <el-col :span="5"> |
25 | <el-form-item label="登记类型"> | 52 | <el-form-item label="登记类型"> |
26 | <el-select v-model="queryForm.djlx" class="width100" @change="handleSelect('A21', 'djlxmc', 'djlx')" | 53 | <el-select |
27 | filterable clearable placeholder="请选择登记类型"> | 54 | v-model="queryForm.djlx" |
28 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 55 | class="width100" |
56 | @change="handleSelect('A21', 'djlxmc', 'djlx')" | ||
57 | filterable | ||
58 | clearable | ||
59 | placeholder="请选择登记类型" | ||
60 | > | ||
61 | <el-option | ||
62 | v-for="item in dictData['A21']" | ||
63 | :key="item.dcode" | ||
64 | :label="item.dname" | ||
65 | :value="item.dcode" | ||
66 | > | ||
29 | </el-option> | 67 | </el-option> |
30 | </el-select> | 68 | </el-select> |
31 | </el-form-item> | 69 | </el-form-item> |
32 | </el-col> | 70 | </el-col> |
33 | <el-col :span="5"> | 71 | <el-col :span="5"> |
34 | <el-form-item label="业务号"> | 72 | <el-form-item label="业务号"> |
35 | <el-input placeholder="请输入业务号" v-model="queryForm.ywh" @clear="queryClick" clearable class="width100"> | 73 | <el-input |
74 | placeholder="请输入业务号" | ||
75 | v-model="queryForm.ywh" | ||
76 | @clear="queryClick" | ||
77 | clearable | ||
78 | class="width100" | ||
79 | > | ||
36 | </el-input> | 80 | </el-input> |
37 | </el-form-item> | 81 | </el-form-item> |
38 | </el-col> | 82 | </el-col> |
39 | 83 | ||
40 | <el-col :span="4" class="btnColRight"> | 84 | <el-col :span="4" class="btnColRight"> |
41 | <el-form-item> | 85 | <el-form-item> |
42 | <el-button type="primary" native-type="submit" @click="queryClick">查询</el-button> | 86 | <el-button type="primary" native-type="submit" @click="queryClick" |
87 | >查询</el-button | ||
88 | > | ||
43 | <el-button @click="moreQueryClick">高级查询</el-button> | 89 | <el-button @click="moreQueryClick">高级查询</el-button> |
44 | </el-form-item> | 90 | </el-form-item> |
45 | </el-col> | 91 | </el-col> |
... | @@ -49,40 +95,56 @@ | ... | @@ -49,40 +95,56 @@ |
49 | <ul> | 95 | <ul> |
50 | <li v-for="(item, index) in searchList" :key="index"> | 96 | <li v-for="(item, index) in searchList" :key="index"> |
51 | {{ item.name }}:{{ item.value }} | 97 | {{ item.name }}:{{ item.value }} |
52 | <i class="el-icon-circle-close" @click="handelItem(item, index)"></i> | 98 | <i |
99 | class="el-icon-circle-close" | ||
100 | @click="handelItem(item, index)" | ||
101 | ></i> | ||
53 | </li> | 102 | </li> |
54 | </ul> | 103 | </ul> |
55 | <el-button class="clean-btn" type="text" v-if="searchList.length > 0" @click.native="hanldeCleanAll">清除全部 | 104 | <el-button |
105 | class="clean-btn" | ||
106 | type="text" | ||
107 | v-if="searchList.length > 0" | ||
108 | @click.native="hanldeCleanAll" | ||
109 | >清除全部 | ||
56 | </el-button> | 110 | </el-button> |
57 | </el-row> | 111 | </el-row> |
58 | </el-form> | 112 | </el-form> |
59 | </div> | 113 | </div> |
60 | <div class="from-clues-content"> | 114 | <div class="from-clues-content"> |
61 | <lb-table :page-size="pageData.size" class="loadingtext" @sort-change="handleSort" | 115 | <lb-table |
62 | :current-page.sync="pageData.currentPage" :heightNum="295" :total="tableData.total" | 116 | :page-size="pageData.size" |
63 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | 117 | class="loadingtext" |
64 | :data="tableData.data"> | 118 | @sort-change="handleSort" |
119 | :current-page.sync="pageData.currentPage" | ||
120 | :heightNum="295" | ||
121 | :total="tableData.total" | ||
122 | @size-change="handleSizeChange" | ||
123 | @p-current-change="handleCurrentChange" | ||
124 | :column="tableData.columns" | ||
125 | :data="tableData.data" | ||
126 | > | ||
65 | </lb-table> | 127 | </lb-table> |
66 | </div> | 128 | </div> |
67 | <searchBox v-model="isSearch" @getSearch="getSearch" /> | 129 | <searchBox v-model="isSearch" @getSearch="getSearch" /> |
68 | </div> | 130 | </div> |
69 | </template> | 131 | </template> |
70 | <script> | 132 | <script> |
71 | import { mapGetters } from 'vuex' | 133 | import { mapGetters } from "vuex"; |
72 | import searchBox from '../components/search.vue' | 134 | import searchBox from "../components/search.vue"; |
73 | import table from "@/utils/mixin/table" | 135 | import table from "@/utils/mixin/table"; |
74 | import searchMin from "../components/mixin/index" | 136 | import searchMin from "../components/mixin/index"; |
75 | import { datas, sendThis } from "./dbxdata" | 137 | import { datas, sendThis } from "./dbxdata"; |
76 | import { searchTaskToDo, deleteFlow, claimTask } from "@/api/ywbl" | 138 | import { searchTaskToDo, deleteFlow, claimTask } from "@/api/ywbl"; |
77 | import { judgeUserTaskPermission } from "@/api/fqsq" | 139 | import { judgeUserTaskPermission } from "@/api/fqsq"; |
78 | export default { | 140 | export default { |
79 | name: "dbx", | 141 | name: "dbx", |
80 | components: { searchBox }, | 142 | components: { searchBox }, |
81 | mixins: [table, searchMin], | 143 | mixins: [table, searchMin], |
82 | computed: { | 144 | computed: { |
83 | ...mapGetters(['dictData', 'transfer']) | 145 | ...mapGetters(["dictData", "transfer"]), |
84 | }, | 146 | }, |
85 | data () { | 147 | data() { |
86 | return { | 148 | return { |
87 | queryForm: { | 149 | queryForm: { |
88 | ywly: "", | 150 | ywly: "", |
... | @@ -91,109 +153,127 @@ export default { | ... | @@ -91,109 +153,127 @@ export default { |
91 | ywh: "", | 153 | ywh: "", |
92 | }, | 154 | }, |
93 | searchForm: { | 155 | searchForm: { |
94 | ywlymc: '', | 156 | ywlymc: "", |
95 | qllxmc: '', | 157 | qllxmc: "", |
96 | djlxmc: '', | 158 | djlxmc: "", |
97 | ywh: '' | 159 | ywh: "", |
98 | }, | 160 | }, |
99 | tableData: { | 161 | tableData: { |
100 | total: 0, | 162 | total: 0, |
101 | columns: datas.columns(), | 163 | columns: datas.columns(), |
102 | data: [], | 164 | data: [], |
103 | } | 165 | }, |
104 | } | 166 | jumpid: "", |
167 | }; | ||
105 | }, | 168 | }, |
106 | mounted () { | 169 | mounted() { |
107 | sendThis(this); | 170 | sendThis(this); |
171 | window["getBpageList"] = () => { | ||
172 | this.queryClick(); | ||
173 | }; | ||
108 | }, | 174 | }, |
109 | watch: { | 175 | watch: { |
110 | queryForm: { | 176 | queryForm: { |
111 | handler (newName, oldName) { | 177 | handler(newName, oldName) {}, |
112 | }, | 178 | immediate: true, |
113 | immediate: true | 179 | }, |
114 | } | ||
115 | }, | 180 | }, |
116 | methods: { | 181 | methods: { |
117 | // 列表渲染接口 | 182 | // 列表渲染接口 |
118 | queryClick () { | 183 | queryClick() { |
119 | this.$startLoading() | 184 | this.$startLoading(); |
120 | this.searchForm.ywh = this.queryForm.ywh | 185 | this.searchForm.ywh = this.queryForm.ywh; |
121 | this.iterationData() | 186 | this.iterationData(); |
122 | searchTaskToDo({ ...this.queryForm, ...this.otherForm, ...this.pageData }).then(res => { | 187 | searchTaskToDo({ |
123 | this.$endLoading() | 188 | ...this.queryForm, |
189 | ...this.otherForm, | ||
190 | ...this.pageData, | ||
191 | }).then((res) => { | ||
192 | this.$endLoading(); | ||
124 | if (res.code === 200) { | 193 | if (res.code === 200) { |
125 | let { total, records } = res.result | 194 | let { total, records } = res.result; |
126 | records.forEach(item => { | 195 | records.forEach((item) => { |
127 | item.qlrmc = item.qlrmc.join(',') | 196 | item.qlrmc = item.qlrmc.join(","); |
128 | item.ywh = item.ywh.join(',') | 197 | item.ywh = item.ywh.join(","); |
129 | item.zl = item.zl.join(',') | 198 | item.zl = item.zl.join(","); |
130 | item.fromstepdate = item.fromstepdate[0] | 199 | item.fromstepdate = item.fromstepdate[0]; |
131 | item.qlrmcStr = item.qlrmc ? String(item.qlrmc) : '' | 200 | item.qlrmcStr = item.qlrmc ? String(item.qlrmc) : ""; |
132 | item.ywrmcStr = item.ywrmc ? String(item.ywrmc) : '' | 201 | item.ywrmcStr = item.ywrmc ? String(item.ywrmc) : ""; |
133 | }) | 202 | }); |
134 | this.tableData.total = total ? total : 0 | 203 | this.tableData.total = total ? total : 0; |
135 | this.tableData.data = records ? records : [] | 204 | this.tableData.data = records ? records : []; |
136 | } | 205 | } |
137 | }) | 206 | }); |
138 | }, | 207 | }, |
139 | handleSort (val) { | 208 | |
140 | this.queryForm.sortField = val.prop | 209 | handleSort(val) { |
141 | this.queryForm.sortOrder = val.order == "ascending" ? 'asc' : 'desc' | 210 | this.queryForm.sortField = val.prop; |
142 | this.queryClick() | 211 | this.queryForm.sortOrder = val.order == "ascending" ? "asc" : "desc"; |
212 | this.queryClick(); | ||
143 | }, | 213 | }, |
144 | del (item) { | 214 | del(item) { |
145 | let formdata = new FormData(); | 215 | let formdata = new FormData(); |
146 | formdata.append("bsmSlsq", item.bsmSlsq); | 216 | formdata.append("bsmSlsq", item.bsmSlsq); |
147 | this.$confirm('确定要删除吗, 是否继续?', '提示', { | 217 | this.$confirm("确定要删除吗, 是否继续?", "提示", { |
148 | confirmButtonText: '确定', | 218 | confirmButtonText: "确定", |
149 | cancelButtonText: '取消', | 219 | cancelButtonText: "取消", |
150 | type: 'warning' | 220 | type: "warning", |
151 | }).then(() => { | ||
152 | deleteFlow(formdata).then(res => { | ||
153 | if (res.code === 200) { | ||
154 | this.handleDel() | ||
155 | this.$message({ | ||
156 | type: 'success', | ||
157 | message: '删除成功!' | ||
158 | }); | ||
159 | this.queryClick() | ||
160 | } else { | ||
161 | this.$message.error(res.message); | ||
162 | } | ||
163 | }) | ||
164 | }).catch(() => { | ||
165 | this.$message({ | ||
166 | type: 'info', | ||
167 | message: '已取消删除' | ||
168 | }) | ||
169 | }) | 221 | }) |
222 | .then(() => { | ||
223 | deleteFlow(formdata).then((res) => { | ||
224 | if (res.code === 200) { | ||
225 | this.handleDel(); | ||
226 | this.$message({ | ||
227 | type: "success", | ||
228 | message: "删除成功!", | ||
229 | }); | ||
230 | this.queryClick(); | ||
231 | } else { | ||
232 | this.$message.error(res.message); | ||
233 | } | ||
234 | }); | ||
235 | }) | ||
236 | .catch(() => { | ||
237 | this.$message({ | ||
238 | type: "info", | ||
239 | message: "已取消删除", | ||
240 | }); | ||
241 | }); | ||
170 | }, | 242 | }, |
171 | ywhClick (item) { | 243 | ywhClick(item) { |
172 | //判断用户是否拥有该任务的权限,若有则跳转,无权限则给予提示并刷新页面 | 244 | //判断用户是否拥有该任务的权限,若有则跳转,无权限则给予提示并刷新页面 |
173 | judgeUserTaskPermission({ | 245 | judgeUserTaskPermission({ |
174 | bsmSlsq: item.bsmSlsq, | 246 | bsmSlsq: item.bsmSlsq, |
175 | bestepid: item.bestepid | 247 | bestepid: item.bestepid, |
176 | }).then(res => { | 248 | }).then((res) => { |
177 | if (res.code == 200) { | 249 | if (res.code == 200) { |
178 | if (res.result) { | 250 | if (res.result) { |
179 | //有任务权限 | 251 | //有任务权限 |
180 | const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm); | 252 | const { href } = this.$router.resolve( |
181 | window.open(href, '_blank'); | 253 | "/workFrame?bsmSlsq=" + |
254 | item.bsmSlsq + | ||
255 | "&bestepid=" + | ||
256 | item.bestepid + | ||
257 | "&bsmBusiness=" + | ||
258 | "&sqywbm=" + | ||
259 | item.djywbm | ||
260 | ); | ||
261 | window.open(href, `urlname${item.bsmSlsq}`); | ||
182 | //从待办箱进入的调取任务领取接口 | 262 | //从待办箱进入的调取任务领取接口 |
183 | claimTask(item.bsmSlsq, item.bestepid) | 263 | claimTask(item.bsmSlsq, item.bestepid); |
184 | } else { | 264 | } else { |
185 | //无任务权限 | 265 | //无任务权限 |
186 | this.$message.error("无该任务操作权限,或已被他人抢办,请重新操作") | 266 | this.$message.error("无该任务操作权限,或已被他人抢办,请重新操作"); |
187 | //刷新页面 | 267 | //刷新页面 |
188 | this.queryClick(); | 268 | this.queryClick(); |
189 | } | 269 | } |
190 | } else { | 270 | } else { |
191 | this.$message.error("用户任务权限判断失败,请联系管理员") | 271 | this.$message.error("用户任务权限判断失败,请联系管理员"); |
192 | } | 272 | } |
193 | }) | 273 | }); |
194 | } | 274 | }, |
195 | } | 275 | }, |
196 | } | 276 | }; |
197 | </script> | 277 | </script> |
198 | <style scoped lang="scss"> | 278 | <style scoped lang="scss"> |
199 | @import "~@/styles/public.scss"; | 279 | @import "~@/styles/public.scss"; | ... | ... |
-
Please register or sign in to post a comment