style:业务办理
Showing
7 changed files
with
590 additions
and
42 deletions
... | @@ -31,6 +31,14 @@ export const constantRoutes = [ | ... | @@ -31,6 +31,14 @@ export const constantRoutes = [ |
31 | hidden: true, | 31 | hidden: true, |
32 | meta: { title: '发起申请' } | 32 | meta: { title: '发起申请' } |
33 | }, | 33 | }, |
34 | // 业务流程框架 | ||
35 | { | ||
36 | path: '/workFramecs', | ||
37 | component: () => import('@/views/workflow/workFrame1.vue'), | ||
38 | name: 'workFramecs', | ||
39 | hidden: true, | ||
40 | meta: { title: '发起申请1' } | ||
41 | }, | ||
34 | // 业务流程只读框架 | 42 | // 业务流程只读框架 |
35 | { | 43 | { |
36 | path: '/workFrameView', | 44 | path: '/workFrameView', | ... | ... |
... | @@ -8,7 +8,7 @@ class data extends filter { | ... | @@ -8,7 +8,7 @@ class data extends filter { |
8 | constructor() { | 8 | constructor() { |
9 | super() | 9 | super() |
10 | } | 10 | } |
11 | columns() { | 11 | columns () { |
12 | return { | 12 | return { |
13 | //发证列表 | 13 | //发证列表 |
14 | fzgrid: [ | 14 | fzgrid: [ |
... | @@ -20,13 +20,6 @@ class data extends filter { | ... | @@ -20,13 +20,6 @@ class data extends filter { |
20 | { | 20 | { |
21 | prop: "bdcqzlx", | 21 | prop: "bdcqzlx", |
22 | label: "不动产权证类型", | 22 | label: "不动产权证类型", |
23 | // render: (h, scope) => { | ||
24 | // if (scope.row.bdcqzlx == "1") { | ||
25 | // return (<div>不动产权证书</div>) | ||
26 | // } else { | ||
27 | // return (<div>不动产登记证明</div>) | ||
28 | // } | ||
29 | // } | ||
30 | }, | 23 | }, |
31 | { | 24 | { |
32 | prop: "qllx", | 25 | prop: "qllx", |
... | @@ -82,13 +75,6 @@ class data extends filter { | ... | @@ -82,13 +75,6 @@ class data extends filter { |
82 | prop: "bdcqzlx", | 75 | prop: "bdcqzlx", |
83 | label: "不动产权证类型", | 76 | label: "不动产权证类型", |
84 | width: '120', | 77 | width: '120', |
85 | // render: (h, scope) => { | ||
86 | // if (scope.row.bdcqzlx == "1") { | ||
87 | // return (<div>不动产权证书</div>) | ||
88 | // } else { | ||
89 | // return (<div>不动产登记证明</div>) | ||
90 | // } | ||
91 | // } | ||
92 | }, | 78 | }, |
93 | { | 79 | { |
94 | prop: "qllx", | 80 | prop: "qllx", | ... | ... |
src/views/workflow/mixin/index.js
0 → 100644
1 | import { getWorkFlowImage } from "@/api/jsydsyqFlow.js"; | ||
2 | import { | ||
3 | leftMenu, | ||
4 | stepExpandInfo, | ||
5 | record, | ||
6 | getNextLinkInfo, | ||
7 | } from "@/api/fqsq.js"; | ||
8 | export default { | ||
9 | data () { | ||
10 | return { | ||
11 | //是否开启材料分屏 | ||
12 | splitScreen: false, | ||
13 | //设置表单组件是否刷选值 | ||
14 | fresh: 10, | ||
15 | //左侧菜单数据集合 | ||
16 | unitData: [], | ||
17 | //顶部左侧按钮集合 | ||
18 | leftButtonList: [], | ||
19 | //顶部右侧按钮集合 | ||
20 | rightButtonList: [], | ||
21 | //批量按钮名称 | ||
22 | batchButtonName: '', | ||
23 | } | ||
24 | }, | ||
25 | mounted () { | ||
26 | this.flowInitParam(); | ||
27 | this.loadBdcdylist(); | ||
28 | }, | ||
29 | methods: { | ||
30 | //读取申请单元信息 | ||
31 | loadBdcdylist () { | ||
32 | var formdata = new FormData(); | ||
33 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
34 | formdata.append("bestepid", this.bestepid); | ||
35 | leftMenu(formdata).then((res) => { | ||
36 | if (res.code === 200) { | ||
37 | if (res.result) { | ||
38 | this.unitData = res.result; | ||
39 | this.currentSelectProps = res.result[0]; | ||
40 | this.judgeBatchShow(); | ||
41 | if (this.showBatch) { | ||
42 | //满足批量查封/批量抵押按钮出现 即先展示批量表单 | ||
43 | this.unitClick(-1); | ||
44 | } else { | ||
45 | //默认选择单元列表第一个 | ||
46 | this.unitClick(0); | ||
47 | } | ||
48 | } | ||
49 | } | ||
50 | }); | ||
51 | }, | ||
52 | //批量按钮判断 | ||
53 | judgeBatchShow () { | ||
54 | this.showBatch = false; | ||
55 | let qllx = this.$route.query.sqywbm.substring(0, 3); | ||
56 | if (this.unitData.length > 1) { | ||
57 | switch (qllx) { | ||
58 | case 'B39': | ||
59 | this.showBatch = true; | ||
60 | this.batchButtonName = '批量查封'; | ||
61 | break; | ||
62 | case 'A37': | ||
63 | this.showBatch = true; | ||
64 | this.batchButtonName = '批量抵押'; | ||
65 | break; | ||
66 | } | ||
67 | } | ||
68 | }, | ||
69 | //加载流程初始参数 | ||
70 | flowInitParam () { | ||
71 | var formdata = new FormData(); | ||
72 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
73 | formdata.append("bestepid", this.bestepid); | ||
74 | stepExpandInfo(formdata).then((res) => { | ||
75 | if (res.code === 200) { | ||
76 | this.leftButtonList = res.result.button; | ||
77 | this.rightButtonList = res.result.operation; | ||
78 | } | ||
79 | }); | ||
80 | }, | ||
81 | //流程环节操作按钮 | ||
82 | operation (item) { | ||
83 | //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 | ||
84 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout | ||
85 | let that = this; | ||
86 | switch (item.value) { | ||
87 | case "B0": | ||
88 | // let type = queueDjywmc(this.$route.query.sqywbm) | ||
89 | this.isDialog = true; | ||
90 | break; | ||
91 | case "B1": | ||
92 | getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => { | ||
93 | let { result } = res | ||
94 | this.$popup("流程图", "workflow/components/processViewer", { | ||
95 | formData: { | ||
96 | xml: result.xml, | ||
97 | finishedInfo: { | ||
98 | finishedTaskSet: result.finishedTaskSet, | ||
99 | unfinishedTaskSet: result.unfinishedTaskSet, | ||
100 | rejectedTaskSet: result.rejectedTaskSet, | ||
101 | finishedSequenceFlowSet: result.finishedSequenceFlowSet | ||
102 | }, | ||
103 | allCommentList: result.historyTaskList | ||
104 | } | ||
105 | }) | ||
106 | }) | ||
107 | break; | ||
108 | case "B2": //材料分屏按钮 | ||
109 | this.splitScreen = this.splitScreen ? false : true; | ||
110 | this.$store.dispatch("app/settScreen", this.splitScreen); | ||
111 | if (this.splitScreen) { | ||
112 | //如果当前选项卡为材料信息内容,递减到上一个选项卡内容 | ||
113 | if (this.tabName == this.clxxTab.value) { | ||
114 | this.tabName = this.tabList[this.clxxIndex - 1].value; | ||
115 | this.getFromRouter(this.tabList[this.clxxIndex - 1].value); | ||
116 | } | ||
117 | //删除材料信息选项卡数据 | ||
118 | this.tabList.splice(this.clxxIndex, 1); | ||
119 | } else { | ||
120 | //新增材料信息选项卡数据 | ||
121 | this.tabList.splice(this.clxxIndex, 0, this.clxxTab); | ||
122 | } | ||
123 | break; | ||
124 | case "B4": | ||
125 | this.$popup("登记簿详情", "registerBook/djbFrame", { | ||
126 | formData: this.currentSelectProps, | ||
127 | width: "1220px", | ||
128 | height: "790px", | ||
129 | cancel: () => { | ||
130 | console.log("取消回调"); | ||
131 | }, | ||
132 | confirm: () => { | ||
133 | console.log("确认回调"); | ||
134 | }, | ||
135 | }); | ||
136 | break; | ||
137 | case "B5": | ||
138 | this.$popup("证书预览", "workflow/components/zsyl", { | ||
139 | height: "600px", | ||
140 | width: "800px", | ||
141 | formData: { | ||
142 | bsmSlsq: this.bsmSlsq, | ||
143 | entryType: '1' | ||
144 | }, | ||
145 | cancel: () => { | ||
146 | console.log("取消回调"); | ||
147 | }, | ||
148 | confirm: () => { | ||
149 | console.log("确认回调"); | ||
150 | }, | ||
151 | }) | ||
152 | break; | ||
153 | case "B7": | ||
154 | this.$popup("证书领取", "workflow/components/zslq", { | ||
155 | width: '900px', | ||
156 | formData: { bsmSlsq: this.$route.query.bsmSlsq }, | ||
157 | }) | ||
158 | break; | ||
159 | case "back": //退回按钮 | ||
160 | this.$popup({ | ||
161 | title: "退回", | ||
162 | editItem: "workflow/components/th", | ||
163 | height: "400px", | ||
164 | width: '30%', | ||
165 | formData: { | ||
166 | bsmSlsq: this.bsmSlsq, | ||
167 | bestepid: this.bestepid | ||
168 | }, | ||
169 | btnShow: true, | ||
170 | cancel: () => { | ||
171 | console.log("取消回调"); | ||
172 | }, | ||
173 | confirm: () => { | ||
174 | console.log("确认回调"); | ||
175 | }, | ||
176 | }) | ||
177 | break; | ||
178 | case "transfer": //转件按钮 | ||
179 | getNextLinkInfo({ | ||
180 | bsmSlsq: this.bsmSlsq, | ||
181 | bestepid: this.bestepid, | ||
182 | }).then((res) => { | ||
183 | if (res.code === 200) { | ||
184 | if (res.result) { | ||
185 | this.sendToNext(res.result); | ||
186 | } else { | ||
187 | this.sendToEnd(); | ||
188 | } | ||
189 | } | ||
190 | }); | ||
191 | break; | ||
192 | case "stop": //终止按钮 | ||
193 | this.$popup({ | ||
194 | title: "终止", | ||
195 | editItem: "workflow/components/stop", | ||
196 | height: "330px", | ||
197 | width: '30%', | ||
198 | formData: { | ||
199 | bsmSlsq: this.bsmSlsq, | ||
200 | bestepid: this.bestepid, | ||
201 | }, | ||
202 | btnShow: true, | ||
203 | cancel: () => { | ||
204 | console.log("取消回调"); | ||
205 | }, | ||
206 | confirm: () => { | ||
207 | console.log("确认回调"); | ||
208 | }, | ||
209 | }) | ||
210 | break; | ||
211 | case "signout": | ||
212 | window.close(); | ||
213 | //取消认领 | ||
214 | unClaimTask(this.bsmSlsq, this.bestepid) | ||
215 | break; | ||
216 | case "B9": | ||
217 | var formdata = new FormData(); | ||
218 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
219 | formdata.append("bestepid", this.bestepid); | ||
220 | this.$confirm("请确认是否登簿", "提示", { | ||
221 | iconClass: "el-icon-question", //自定义图标样式 | ||
222 | confirmButtonText: "确认", //确认按钮文字更换 | ||
223 | cancelButtonText: "取消", //取消按钮文字更换 | ||
224 | showClose: true, //是否显示右上角关闭按钮 | ||
225 | type: "warning", //提示类型 success/info/warning/error | ||
226 | }).then(function () { | ||
227 | record(formdata).then((res) => { | ||
228 | if (res.code === 200) { | ||
229 | if (res.result.length === 1) { | ||
230 | res.result[0].state ? that.$alert("登簿成功!") : that.$alert(res.result[0].msg);; | ||
231 | } | ||
232 | else { | ||
233 | that.$alert('<div>' + res.result[0].ywh + ',' + res.result[0].msg + '</div>', '登簿明细', { | ||
234 | dangerouslyUseHTMLString: true | ||
235 | }); | ||
236 | } | ||
237 | } else { | ||
238 | that.$alert(res.message); | ||
239 | } | ||
240 | }); | ||
241 | }); | ||
242 | break; | ||
243 | } | ||
244 | }, | ||
245 | //发送下一个环节 | ||
246 | sendToNext (obj) { | ||
247 | const h = this.$createElement; | ||
248 | this.$msgbox({ | ||
249 | title: "您确定转出吗?", | ||
250 | message: h("div", { style: "margin: auto" }, [ | ||
251 | h("span", null, "下个环节名称:"), | ||
252 | h("i", { style: "color: teal" }, obj.taskName), | ||
253 | h("div", null, ""), | ||
254 | h("span", null, "下个环节经办人: "), | ||
255 | h("i", { style: "color: teal" }, obj.usernames.join(",")), | ||
256 | ]), | ||
257 | showCancelButton: true, | ||
258 | beforeClose: (action, instance, done) => { | ||
259 | if (action === "confirm") { | ||
260 | instance.confirmButtonLoading = true; | ||
261 | instance.confirmButtonText = "执行中..."; | ||
262 | completeTask({ | ||
263 | bsmSlsq: this.bsmSlsq, | ||
264 | shyj: "this.bestepid", | ||
265 | stepform: JSON.stringify(this.tabList), | ||
266 | }).then((res) => { | ||
267 | if (res.code === 200) { | ||
268 | instance.confirmButtonLoading = false; | ||
269 | this.$message.success("转件成功"); | ||
270 | setTimeout(() => { | ||
271 | window.opener = null; | ||
272 | window.open("about:blank", "_self"); | ||
273 | window.close(); | ||
274 | this.$emit("input", false); | ||
275 | }, 1000); | ||
276 | } else { | ||
277 | instance.confirmButtonLoading = false; | ||
278 | instance.confirmButtonText = "确定"; | ||
279 | this.$message.error(res.message); | ||
280 | } | ||
281 | }); | ||
282 | } else { | ||
283 | done(); | ||
284 | } | ||
285 | }, | ||
286 | }).then((action) => { | ||
287 | this.$message({ | ||
288 | type: "info", | ||
289 | message: "action: " + action, | ||
290 | }); | ||
291 | }); | ||
292 | }, | ||
293 | sendToEnd () { | ||
294 | const h = this.$createElement; | ||
295 | this.$msgbox({ | ||
296 | title: "您确定转出吗?", | ||
297 | message: "此环节为流程结束环节,转出后流程将结束", | ||
298 | showCancelButton: true, | ||
299 | beforeClose: (action, instance, done) => { | ||
300 | if (action === "confirm") { | ||
301 | instance.confirmButtonLoading = true; | ||
302 | instance.confirmButtonText = "执行中..."; | ||
303 | completeTask({ | ||
304 | bsmSlsq: this.bsmSlsq, | ||
305 | shyj: "this.bestepid", | ||
306 | stepform: JSON.stringify(this.tabList), | ||
307 | }).then((res) => { | ||
308 | if (res.code === 200) { | ||
309 | instance.confirmButtonLoading = false; | ||
310 | this.$message.success("转件成功"); | ||
311 | setTimeout(() => { | ||
312 | window.opener = null; | ||
313 | window.open("about:blank", "_self"); | ||
314 | window.close(); | ||
315 | this.$emit("input", false); | ||
316 | }, 1000); | ||
317 | } else { | ||
318 | instance.confirmButtonLoading = false; | ||
319 | instance.confirmButtonText = "确定"; | ||
320 | this.$message.error(res.message); | ||
321 | } | ||
322 | }); | ||
323 | } else { | ||
324 | done(); | ||
325 | } | ||
326 | }, | ||
327 | }).then((action) => { | ||
328 | this.$message({ | ||
329 | type: "info", | ||
330 | message: "action: " + action, | ||
331 | }); | ||
332 | }); | ||
333 | } | ||
334 | } | ||
335 | } |
... | @@ -4,14 +4,14 @@ | ... | @@ -4,14 +4,14 @@ |
4 | <div class="topButton"> | 4 | <div class="topButton"> |
5 | <!-- 左侧业务功能按钮 --> | 5 | <!-- 左侧业务功能按钮 --> |
6 | <ul> | 6 | <ul> |
7 | <li @click="operation(index, item)" v-for="(item, index) in leftButtonList" :key="index"> | 7 | <li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index"> |
8 | <svg-icon class="icon" :icon-class="item.icon" /> | 8 | <svg-icon class="icon" :icon-class="item.icon" /> |
9 | <span class="iconName">{{ item.name }}</span> | 9 | <span class="iconName">{{ item.name }}</span> |
10 | </li> | 10 | </li> |
11 | </ul> | 11 | </ul> |
12 | <!-- 右侧流程按钮 --> | 12 | <!-- 右侧流程按钮 --> |
13 | <ul> | 13 | <ul> |
14 | <li @click="operation(index, item)" v-for="(item, index) in rightButtonList" :key="index"> | 14 | <li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index"> |
15 | <svg-icon class="icon" :icon-class="item.icon" /> | 15 | <svg-icon class="icon" :icon-class="item.icon" /> |
16 | <span class="iconName">{{ item.name }}</span> | 16 | <span class="iconName">{{ item.name }}</span> |
17 | </li> | 17 | </li> |
... | @@ -231,24 +231,11 @@ export default { | ... | @@ -231,24 +231,11 @@ export default { |
231 | if (res.code === 200) { | 231 | if (res.code === 200) { |
232 | this.leftButtonList = res.result.button; | 232 | this.leftButtonList = res.result.button; |
233 | this.rightButtonList = res.result.operation; | 233 | this.rightButtonList = res.result.operation; |
234 | //this.tabList = res.result.form; | ||
235 | //默认选择第一个选项卡内容 | ||
236 | // this.tabName = res.result.form[0].value; | ||
237 | // let that = this; | ||
238 | // this.tabList.forEach(function (item, index) { | ||
239 | // if (item.value == "clxx") { | ||
240 | // that.clxxIndex = index; | ||
241 | // that.clxxForm = getForm(item.value, that.$route.query.sqywbm); | ||
242 | // that.clxxTab = item; | ||
243 | // } | ||
244 | // }); | ||
245 | // //默认加载第一个选项卡的组件内容 | ||
246 | // this.getFromRouter(res.result.form[0].value); | ||
247 | } | 234 | } |
248 | }); | 235 | }); |
249 | }, | 236 | }, |
250 | //流程环节操作按钮 | 237 | //流程环节操作按钮 |
251 | operation (index, item) { | 238 | operation (item) { |
252 | //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 | 239 | //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 |
253 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout | 240 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout |
254 | let that = this; | 241 | let that = this; |
... | @@ -350,9 +337,9 @@ export default { | ... | @@ -350,9 +337,9 @@ export default { |
350 | bestepid: this.bestepid, | 337 | bestepid: this.bestepid, |
351 | }).then((res) => { | 338 | }).then((res) => { |
352 | if (res.code === 200) { | 339 | if (res.code === 200) { |
353 | if(res.result){ | 340 | if (res.result) { |
354 | this.sendToNext(res.result); | 341 | this.sendToNext(res.result); |
355 | }else{ | 342 | } else { |
356 | this.sendToEnd(); | 343 | this.sendToEnd(); |
357 | } | 344 | } |
358 | } | 345 | } |
... | @@ -484,12 +471,6 @@ export default { | ... | @@ -484,12 +471,6 @@ export default { |
484 | }, | 471 | }, |
485 | //表单选项卡事件 | 472 | //表单选项卡事件 |
486 | beforeLeave (activeName, oldActiveName) { | 473 | beforeLeave (activeName, oldActiveName) { |
487 | // if (!_.isEqual(this.oldDetail, this.newDetail)) { | ||
488 | // this.$message.error('界面内容有所变化,请先保存') | ||
489 | // return false | ||
490 | // } else { | ||
491 | // if (activeName && activeName != 0) this.getFromRouter(activeName) | ||
492 | // } | ||
493 | if (activeName && activeName != 0) this.getFromRouter(activeName) | 474 | if (activeName && activeName != 0) this.getFromRouter(activeName) |
494 | }, | 475 | }, |
495 | //切换选项卡内容组件 | 476 | //切换选项卡内容组件 |
... | @@ -545,7 +526,7 @@ export default { | ... | @@ -545,7 +526,7 @@ export default { |
545 | }); | 526 | }); |
546 | }); | 527 | }); |
547 | }, | 528 | }, |
548 | sendToEnd() { | 529 | sendToEnd () { |
549 | const h = this.$createElement; | 530 | const h = this.$createElement; |
550 | this.$msgbox({ | 531 | this.$msgbox({ |
551 | title: "您确定转出吗?", | 532 | title: "您确定转出吗?", | ... | ... |
src/views/workflow/workFrame1.vue
0 → 100644
1 | <template> | ||
2 | <div class="container"> | ||
3 | <!-- 顶部内容框 --> | ||
4 | <div class="topButton"> | ||
5 | <!-- 左侧业务功能按钮 --> | ||
6 | <ul> | ||
7 | <li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index"> | ||
8 | <svg-icon class="icon" :icon-class="item.icon" /> | ||
9 | <span class="iconName">{{ item.name }}</span> | ||
10 | </li> | ||
11 | </ul> | ||
12 | <!-- 右侧流程按钮 --> | ||
13 | <ul> | ||
14 | <li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index"> | ||
15 | <svg-icon class="icon" :icon-class="item.icon" /> | ||
16 | <span class="iconName">{{ item.name }}</span> | ||
17 | </li> | ||
18 | </ul> | ||
19 | <NoticeBar class="NoticeBar" :noticeList="noticeList" /> | ||
20 | </div> | ||
21 | <!-- 内容框架 --> | ||
22 | <div class="containerFrame"> | ||
23 | <!-- 左侧菜单栏 --> | ||
24 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> | ||
25 | <div class="title" @click="unitClick(-1)">{{ batchButtonName }}</div> | ||
26 | <div v-if="this.isShowdrawer"> | ||
27 | <div class="title"> | ||
28 | 申请单元列表({{ unitData.length }}) | ||
29 | <el-button type="text" class="batchDel" @click="handleBatchDel" v-if="unitData.length > 1">批量删除</el-button> | ||
30 | </div> | ||
31 | <el-menu :default-active="activeIndex" @select="unitClick"> | ||
32 | <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index"> | ||
33 | <div> | ||
34 | <p>{{ item.bdcdyh }}</p> | ||
35 | <p class="title-detail">{{ item.zl }}</p> | ||
36 | </div> | ||
37 | <i class="el-icon-delete" v-if="unitData.length > 1" @click.stop="handleDel(item)"></i> | ||
38 | </el-menu-item> | ||
39 | </el-menu> | ||
40 | </div> | ||
41 | <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" | ||
42 | () => { | ||
43 | this.isShowdrawer = !this.isShowdrawer; | ||
44 | } | ||
45 | "></div> | ||
46 | <div class="map-drawer-expand map-drawer" v-else @click=" | ||
47 | () => { | ||
48 | this.isShowdrawer = !this.isShowdrawer; | ||
49 | } | ||
50 | "></div> | ||
51 | </div> | ||
52 | <div class="leftCon"> | ||
53 | <!-- 分屏左侧预览 --> | ||
54 | <div v-if="splitScreen" class="splitScreen-con"> | ||
55 | <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" /> | ||
56 | </div> | ||
57 | <!-- 表单内容区域 --> | ||
58 | <div class="rightContainer"> | ||
59 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | ||
60 | <el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value"> | ||
61 | </el-tab-pane> | ||
62 | </el-tabs> | ||
63 | <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" /> | ||
64 | </div> | ||
65 | </div> | ||
66 | </div> | ||
67 | <fqsqDialog v-model="isDialog" :djywbm="$route.query.sqywbm" :isJump="true" @updateDialog="updateDialog" /> | ||
68 | </div> | ||
69 | </template> | ||
70 | <style scoped lang='scss'> | ||
71 | @import "~@/styles/mixin.scss"; | ||
72 | @import "./workFrame.scss"; | ||
73 | </style> | ||
74 | <script> | ||
75 | import { mapGetters } from "vuex" | ||
76 | import WorkFlow from "./mixin/index" | ||
77 | import { getStepFormInfo } from "@/api/fqsq.js"; | ||
78 | import NoticeBar from '@/components/NoticeBar/index' | ||
79 | import { deleteFlow, unClaimTask } from "@/api/ywbl.js"; | ||
80 | import ProcessViewer from './components/processViewer.vue' | ||
81 | import { getForm } from "./flowform.js"; | ||
82 | import fqsqDialog from "@/views/ywbl/ywsq/slectBdc.vue"; | ||
83 | export default { | ||
84 | components: { | ||
85 | fqsqDialog, | ||
86 | NoticeBar, | ||
87 | ProcessViewer | ||
88 | }, | ||
89 | mixins: [WorkFlow], | ||
90 | data () { | ||
91 | return { | ||
92 | noticeList: [], | ||
93 | isDialog: false, | ||
94 | // 流程图 | ||
95 | // 折叠 | ||
96 | isShowdrawer: true, | ||
97 | // 默认选中 | ||
98 | activeIndex: "0", | ||
99 | //受理申请标识码 | ||
100 | bsmSlsq: this.$route.query.bsmSlsq, | ||
101 | //当前流程所在环节 | ||
102 | bestepid: this.$route.query.bestepid, | ||
103 | //设置那个表单选中 | ||
104 | tabName: "", | ||
105 | //表单集合 | ||
106 | tabList: [], | ||
107 | //选择加载哪一个组件 | ||
108 | componentTag: "", | ||
109 | //设置表单传递数据 | ||
110 | currentSelectProps: {}, | ||
111 | //材料分屏表单 | ||
112 | clxxForm: "", | ||
113 | //材料信息选择卡索引 | ||
114 | clxxIndex: "", | ||
115 | //材料信息选项卡对象 | ||
116 | clxxTab: {}, | ||
117 | //页面监听时间 | ||
118 | _beforeUnload_time: "" | ||
119 | } | ||
120 | }, | ||
121 | mounted () { | ||
122 | //添加页面监听事件 | ||
123 | window.addEventListener('beforeunload', e => this.beforeunloadHandler(e)) | ||
124 | window.addEventListener('unload', e => this.unloadHandler(e)) | ||
125 | }, | ||
126 | destroyed () { | ||
127 | window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) | ||
128 | window.removeEventListener('unload', e => this.unloadHandler(e)) | ||
129 | }, | ||
130 | computed: { | ||
131 | ...mapGetters(["oldDetail", "newDetail"]) | ||
132 | }, | ||
133 | methods: { | ||
134 | beforeunloadHandler () { | ||
135 | this._beforeUnload_time = new Date().getTime() | ||
136 | }, | ||
137 | unloadHandler (e) { | ||
138 | thsi.$alert("234234"); | ||
139 | this._gap_time = new Date().getTime() - this._beforeUnload_time | ||
140 | //判断是窗口关闭还是刷新 | ||
141 | if (this._gap_time <= 10) { | ||
142 | //取消认领 | ||
143 | unClaimTask(this.bsmSlsq, this.bestepid) | ||
144 | } | ||
145 | }, | ||
146 | changeLoadIndex () { | ||
147 | this.loadIndex++ | ||
148 | }, | ||
149 | closeDialog () { | ||
150 | this.myValue = false | ||
151 | }, | ||
152 | // 更新列表 | ||
153 | updateDialog () { | ||
154 | this.loadBdcdylist(); | ||
155 | }, | ||
156 | // 删除左侧列表 | ||
157 | handleDel (item) { | ||
158 | this.$confirm("确定要删除吗, 是否继续?", "提示", { | ||
159 | confirmButtonText: "确定", | ||
160 | cancelButtonText: "取消", | ||
161 | type: "warning", | ||
162 | }) | ||
163 | .then(() => { | ||
164 | var formdata = new FormData(); | ||
165 | formdata.append("bsmSldyList", item.bsmSldy.split(",")); | ||
166 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
167 | deleteFlow(formdata).then((res) => { | ||
168 | if (res.code == 200) { | ||
169 | this.$message.success("删除成功"); | ||
170 | this.loadBdcdylist(); | ||
171 | } else { | ||
172 | this.$message.error(res.message); | ||
173 | } | ||
174 | }); | ||
175 | }) | ||
176 | .catch(() => { | ||
177 | this.$message({ | ||
178 | type: "info", | ||
179 | message: "已取消删除", | ||
180 | }); | ||
181 | }); | ||
182 | }, | ||
183 | handleBatchDel () { | ||
184 | let that = this; | ||
185 | this.$popup({ | ||
186 | title: "批量删除", | ||
187 | width: "50%", | ||
188 | btnShow: true, | ||
189 | editItem: "workflow/components/batchDel", | ||
190 | height: "600px", | ||
191 | formData: { | ||
192 | bsmSlsq: this.bsmSlsq, | ||
193 | dataList: this.unitData, | ||
194 | }, | ||
195 | cancel: function () { }, //取消事件的回调 | ||
196 | confirm: function () { | ||
197 | that.loadBdcdylist(); | ||
198 | }, //确认事件的回调 | ||
199 | }); | ||
200 | }, | ||
201 | //申请单元点击事件 | ||
202 | unitClick (index) { | ||
203 | if (index >= 0) { | ||
204 | this.currentSelectProps = this.unitData[index]; | ||
205 | this.currentSelectProps.batchOperation = false; | ||
206 | } else { | ||
207 | this.currentSelectProps.batchOperation = true; | ||
208 | } | ||
209 | getStepFormInfo(this.currentSelectProps).then((res) => { | ||
210 | if (res.code === 200) { | ||
211 | this.fresh += 1; | ||
212 | //获取单元对应的所有表单信息 | ||
213 | this.tabList = res.result; | ||
214 | //默认加载第一个表单信息 | ||
215 | this.tabName = res.result[0].value; | ||
216 | //处理分屏材料信息 | ||
217 | let that = this; | ||
218 | this.tabList.forEach(function (item, index) { | ||
219 | if (item.value == "clxx") { | ||
220 | that.clxxIndex = index; | ||
221 | that.clxxForm = getForm(item.value, that.$route.query.sqywbm); | ||
222 | that.clxxTab = item; | ||
223 | } | ||
224 | }) | ||
225 | } | ||
226 | }) | ||
227 | }, | ||
228 | //表单选项卡事件 | ||
229 | beforeLeave (activeName, oldActiveName) { | ||
230 | if (activeName && activeName != 0) this.getFromRouter(activeName) | ||
231 | }, | ||
232 | //切换选项卡内容组件 | ||
233 | getFromRouter (tabname) { | ||
234 | this.componentTag = getForm(tabname, this.$route.query.sqywbm); | ||
235 | } | ||
236 | } | ||
237 | } | ||
238 | </script> |
... | @@ -170,6 +170,7 @@ export default { | ... | @@ -170,6 +170,7 @@ export default { |
170 | }, | 170 | }, |
171 | ywhClick (item) { | 171 | ywhClick (item) { |
172 | const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm); | 172 | const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm); |
173 | // const { href } = this.$router.resolve('/workFramecs?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm); | ||
173 | window.open(href, '_blank'); | 174 | window.open(href, '_blank'); |
174 | //从待办箱进入的调取任务领取接口 | 175 | //从待办箱进入的调取任务领取接口 |
175 | claimTask(item.bsmSlsq, item.bestepid) | 176 | claimTask(item.bsmSlsq, item.bestepid) | ... | ... |
-
Please register or sign in to post a comment