feat:业务申请
Showing
16 changed files
with
272 additions
and
134 deletions
... | @@ -25,7 +25,6 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -25,7 +25,6 @@ router.beforeEach(async (to, from, next) => { |
25 | await store.dispatch('user/getUserInfo') | 25 | await store.dispatch('user/getUserInfo') |
26 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) | 26 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) |
27 | const routeTo = Cookies.get('routerTo') | 27 | const routeTo = Cookies.get('routerTo') |
28 | console.log(routeTo) | ||
29 | if (routeTo && routeTo !== '/') { | 28 | if (routeTo && routeTo !== '/') { |
30 | next({ ...to, replace: true }) | 29 | next({ ...to, replace: true }) |
31 | } else { | 30 | } else { | ... | ... |
... | @@ -41,6 +41,14 @@ export const constantRoutes = [ | ... | @@ -41,6 +41,14 @@ export const constantRoutes = [ |
41 | }, | 41 | }, |
42 | // 业务流程只读框架 | 42 | // 业务流程只读框架 |
43 | { | 43 | { |
44 | path: '/workFrameViewcs', | ||
45 | component: () => import('@/views/workflow/workFrameView1.vue'), | ||
46 | name: 'workFrameViewcs', | ||
47 | hidden: true, | ||
48 | meta: { title: '发起申请2' } | ||
49 | }, | ||
50 | // 业务流程只读框架 | ||
51 | { | ||
44 | path: '/workFrameView', | 52 | path: '/workFrameView', |
45 | component: () => import('@/views/workflow/workFrameView.vue'), | 53 | component: () => import('@/views/workflow/workFrameView.vue'), |
46 | name: 'workFrameView', | 54 | name: 'workFrameView', | ... | ... |
... | @@ -12,8 +12,7 @@ const getters = { | ... | @@ -12,8 +12,7 @@ const getters = { |
12 | addDict: state => state.dict.addDict, | 12 | addDict: state => state.dict.addDict, |
13 | dictData: state => state.dict.dictData, | 13 | dictData: state => state.dict.dictData, |
14 | djbxx: state => state.djbxx.djbxx, | 14 | djbxx: state => state.djbxx.djbxx, |
15 | // 受理信息 | 15 | // 流程图转件 |
16 | oldDetail: state => state.slxx.oldDetail, | 16 | transfer: state => state.workflow.transfer |
17 | newDetail: state => state.slxx.newDetail | ||
18 | } | 17 | } |
19 | export default getters | 18 | export default getters | ... | ... |
... | @@ -5,7 +5,6 @@ import getters from './getters' | ... | @@ -5,7 +5,6 @@ import getters from './getters' |
5 | Vue.use(Vuex) | 5 | Vue.use(Vuex) |
6 | // https://webpack.js.org/guides/dependency-management/#requirecontext | 6 | // https://webpack.js.org/guides/dependency-management/#requirecontext |
7 | const modulesFiles = require.context('./modules', true, /\.js$/) | 7 | const modulesFiles = require.context('./modules', true, /\.js$/) |
8 | |||
9 | // you do not need `import app from './modules/app'` | 8 | // you do not need `import app from './modules/app'` |
10 | // it will auto require all vuex module from modules file | 9 | // it will auto require all vuex module from modules file |
11 | const modules = modulesFiles.keys().reduce((modules, modulePath) => { | 10 | const modules = modulesFiles.keys().reduce((modules, modulePath) => { | ... | ... |
src/store/modules/slxx.js
deleted
100644 → 0
1 | const state = { | ||
2 | oldDetail: {}, | ||
3 | newDetail: {} | ||
4 | } | ||
5 | |||
6 | const mutations = { | ||
7 | SET_OLDDETAIL: (state, data) => { | ||
8 | state.oldDetail = data | ||
9 | }, | ||
10 | SET_NEWDETAIL: (state, data) => { | ||
11 | state.newDetail = data | ||
12 | } | ||
13 | } | ||
14 | |||
15 | const actions = { | ||
16 | setQlrxxOld ({ commit }, data) { | ||
17 | commit('SET_OLDDETAIL', data) | ||
18 | }, | ||
19 | setQlrxxNew ({ commit }, data) { | ||
20 | commit('SET_NEWDETAIL', data) | ||
21 | } | ||
22 | } | ||
23 | |||
24 | export default { | ||
25 | namespaced: true, | ||
26 | state, | ||
27 | mutations, | ||
28 | actions | ||
29 | } | ||
30 |
src/store/modules/workflow.js
deleted
100644 → 0
1 | const state = { | ||
2 | transfer: false | ||
3 | } | ||
4 | |||
5 | const mutations = { | ||
6 | SET_TRANSFER: (state, data) => { | ||
7 | state.transfer = data | ||
8 | }, | ||
9 | } | ||
10 | |||
11 | const actions = { | ||
12 | setTransfere ({ commit }, data) { | ||
13 | commit('SET_TRANSFER', data) | ||
14 | } | ||
15 | } | ||
16 | |||
17 | export default { | ||
18 | namespaced: true, | ||
19 | state, | ||
20 | mutations, | ||
21 | actions | ||
22 | } |
1 | <template> | 1 | <template> |
2 | <div class="content"> | 2 | <div class="content"> |
3 | <div class="left"> | 3 | <div class="left"> |
4 | <el-tree | 4 | <el-tree ref="tree" :data="treedata" :props="defaultProps" @node-click="handleNodeClick" |
5 | ref="tree" | 5 | :default-expand-all="true" :expand-on-click-node="false" node-key="id" :default-checked-keys="[showTab]"> |
6 | :data="treedata" | ||
7 | :props="defaultProps" | ||
8 | @node-click="handleNodeClick" | ||
9 | :default-expand-all="true" | ||
10 | :expand-on-click-node="false" | ||
11 | node-key="id" | ||
12 | :default-checked-keys="[showTab]" | ||
13 | > | ||
14 | </el-tree> | 6 | </el-tree> |
15 | </div> | 7 | </div> |
16 | <div class="right"> | 8 | <div class="right"> |
... | @@ -22,7 +14,7 @@ | ... | @@ -22,7 +14,7 @@ |
22 | import { getBdcqljqtsx } from "@/api/registerBook.js"; | 14 | import { getBdcqljqtsx } from "@/api/registerBook.js"; |
23 | import { loadTreeData, getNode } from "./djbFrameData.js"; | 15 | import { loadTreeData, getNode } from "./djbFrameData.js"; |
24 | export default { | 16 | export default { |
25 | data() { | 17 | data () { |
26 | return { | 18 | return { |
27 | //接收参数 | 19 | //接收参数 |
28 | // propsParam: this.$attrs, | 20 | // propsParam: this.$attrs, |
... | @@ -44,11 +36,11 @@ export default { | ... | @@ -44,11 +36,11 @@ export default { |
44 | }; | 36 | }; |
45 | }, | 37 | }, |
46 | props: ["formData"], | 38 | props: ["formData"], |
47 | mounted() { | 39 | mounted () { |
48 | this.loadData(); | 40 | this.loadData(); |
49 | }, | 41 | }, |
50 | methods: { | 42 | methods: { |
51 | loadData() { | 43 | loadData () { |
52 | getBdcqljqtsx({ | 44 | getBdcqljqtsx({ |
53 | bdcdyid: this.formData.bdcdyid, | 45 | bdcdyid: this.formData.bdcdyid, |
54 | bdcdyh: this.formData.bdcdyh, | 46 | bdcdyh: this.formData.bdcdyh, |
... | @@ -56,7 +48,7 @@ export default { | ... | @@ -56,7 +48,7 @@ export default { |
56 | if (res.code === 200) { | 48 | if (res.code === 200) { |
57 | this.treedata = loadTreeData(res.result, this.formData.bdcdyh); | 49 | this.treedata = loadTreeData(res.result, this.formData.bdcdyh); |
58 | this.$nextTick(function () { | 50 | this.$nextTick(function () { |
59 | this.defaultNode = getNode(this.formData.qllx, {linShi:0,xianShi:0,liShi:0}, ""); | 51 | this.defaultNode = getNode(this.formData.qllx, { linShi: 0, xianShi: 0, liShi: 0 }, ""); |
60 | this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点 | 52 | this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点 |
61 | this.loadComponent(this.defaultNode.form); | 53 | this.loadComponent(this.defaultNode.form); |
62 | }); | 54 | }); |
... | @@ -69,10 +61,10 @@ export default { | ... | @@ -69,10 +61,10 @@ export default { |
69 | bsmQlxx: this.formData.bsmQlxx, | 61 | bsmQlxx: this.formData.bsmQlxx, |
70 | }; | 62 | }; |
71 | }, | 63 | }, |
72 | handleNodeClick(data, node, elem) { | 64 | handleNodeClick (data, node, elem) { |
73 | this.loadComponent(data.form); | 65 | this.loadComponent(data.form); |
74 | }, | 66 | }, |
75 | loadComponent(form) { | 67 | loadComponent (form) { |
76 | this.componentTag = (r) => | 68 | this.componentTag = (r) => |
77 | require.ensure([], () => r(require("@/views/registerBook/" + form))); | 69 | require.ensure([], () => r(require("@/views/registerBook/" + form))); |
78 | }, | 70 | }, |
... | @@ -80,6 +72,10 @@ export default { | ... | @@ -80,6 +72,10 @@ export default { |
80 | }; | 72 | }; |
81 | </script> | 73 | </script> |
82 | <style scoped lang="scss"> | 74 | <style scoped lang="scss"> |
75 | /deep/.rollTable { | ||
76 | height: calc(100vh - 240px) !important; | ||
77 | } | ||
78 | |||
83 | .content { | 79 | .content { |
84 | width: 100%; | 80 | width: 100%; |
85 | height: 100%; | 81 | height: 100%; |
... | @@ -113,7 +109,7 @@ export default { | ... | @@ -113,7 +109,7 @@ export default { |
113 | height: 45px; | 109 | height: 45px; |
114 | } | 110 | } |
115 | 111 | ||
116 | /deep/ .el-tree-node:focus > .el-tree-node__content { | 112 | /deep/ .el-tree-node:focus>.el-tree-node__content { |
117 | background-color: #f5f5f5; | 113 | background-color: #f5f5f5; |
118 | color: #0079fe; | 114 | color: #0079fe; |
119 | border-right: 4px solid #0079fe; | 115 | border-right: 4px solid #0079fe; |
... | @@ -123,7 +119,7 @@ export default { | ... | @@ -123,7 +119,7 @@ export default { |
123 | white-space: pre-wrap; | 119 | white-space: pre-wrap; |
124 | } | 120 | } |
125 | 121 | ||
126 | /deep/ .is-current > .el-tree-node__content { | 122 | /deep/ .is-current>.el-tree-node__content { |
127 | background-color: #f5f5f5; | 123 | background-color: #f5f5f5; |
128 | color: #0079fe; | 124 | color: #0079fe; |
129 | border-right: 4px solid #0079fe; | 125 | border-right: 4px solid #0079fe; | ... | ... |
... | @@ -3,6 +3,7 @@ import { | ... | @@ -3,6 +3,7 @@ import { |
3 | leftMenu, | 3 | leftMenu, |
4 | stepExpandInfo, | 4 | stepExpandInfo, |
5 | record, | 5 | record, |
6 | completeTask, | ||
6 | getNextLinkInfo, | 7 | getNextLinkInfo, |
7 | } from "@/api/fqsq.js"; | 8 | } from "@/api/fqsq.js"; |
8 | export default { | 9 | export default { |
... | @@ -157,10 +158,8 @@ export default { | ... | @@ -157,10 +158,8 @@ export default { |
157 | }) | 158 | }) |
158 | break; | 159 | break; |
159 | case "back": //退回按钮 | 160 | case "back": //退回按钮 |
160 | this.$popup({ | 161 | this.$popup("退回", "workflow/components/th", { |
161 | title: "退回", | 162 | height: "200px", |
162 | editItem: "workflow/components/th", | ||
163 | height: "400px", | ||
164 | width: '30%', | 163 | width: '30%', |
165 | formData: { | 164 | formData: { |
166 | bsmSlsq: this.bsmSlsq, | 165 | bsmSlsq: this.bsmSlsq, |
... | @@ -190,9 +189,7 @@ export default { | ... | @@ -190,9 +189,7 @@ export default { |
190 | }); | 189 | }); |
191 | break; | 190 | break; |
192 | case "stop": //终止按钮 | 191 | case "stop": //终止按钮 |
193 | this.$popup({ | 192 | this.$popup("终止", "workflow/components/stop", { |
194 | title: "终止", | ||
195 | editItem: "workflow/components/stop", | ||
196 | height: "330px", | 193 | height: "330px", |
197 | width: '30%', | 194 | width: '30%', |
198 | formData: { | 195 | formData: { |
... | @@ -246,7 +243,7 @@ export default { | ... | @@ -246,7 +243,7 @@ export default { |
246 | sendToNext (obj) { | 243 | sendToNext (obj) { |
247 | const h = this.$createElement; | 244 | const h = this.$createElement; |
248 | this.$msgbox({ | 245 | this.$msgbox({ |
249 | title: "您确定转出吗?", | 246 | title: "您确定转出吗?1", |
250 | message: h("div", { style: "margin: auto" }, [ | 247 | message: h("div", { style: "margin: auto" }, [ |
251 | h("span", null, "下个环节名称:"), | 248 | h("span", null, "下个环节名称:"), |
252 | h("i", { style: "color: teal" }, obj.taskName), | 249 | h("i", { style: "color: teal" }, obj.taskName), |
... | @@ -267,12 +264,9 @@ export default { | ... | @@ -267,12 +264,9 @@ export default { |
267 | if (res.code === 200) { | 264 | if (res.code === 200) { |
268 | instance.confirmButtonLoading = false; | 265 | instance.confirmButtonLoading = false; |
269 | this.$message.success("转件成功"); | 266 | this.$message.success("转件成功"); |
270 | setTimeout(() => { | 267 | window.opener.location.reload(); //刷新父窗口 |
271 | window.opener = null; | 268 | window.close(); |
272 | window.open("about:blank", "_self"); | 269 | this.$emit("input", false); |
273 | window.close(); | ||
274 | this.$emit("input", false); | ||
275 | }, 1000); | ||
276 | } else { | 270 | } else { |
277 | instance.confirmButtonLoading = false; | 271 | instance.confirmButtonLoading = false; |
278 | instance.confirmButtonText = "确定"; | 272 | instance.confirmButtonText = "确定"; |
... | @@ -291,12 +285,14 @@ export default { | ... | @@ -291,12 +285,14 @@ export default { |
291 | }); | 285 | }); |
292 | }, | 286 | }, |
293 | sendToEnd () { | 287 | sendToEnd () { |
288 | let that = this | ||
294 | const h = this.$createElement; | 289 | const h = this.$createElement; |
295 | this.$msgbox({ | 290 | this.$msgbox({ |
296 | title: "您确定转出吗?", | 291 | title: "您确定转出吗?2", |
297 | message: "此环节为流程结束环节,转出后流程将结束", | 292 | message: "此环节为流程结束环节,转出后流程将结束", |
298 | showCancelButton: true, | 293 | showCancelButton: true, |
299 | beforeClose: (action, instance, done) => { | 294 | beforeClose: (action, instance, done) => { |
295 | console.log(action, 'actionaction'); | ||
300 | if (action === "confirm") { | 296 | if (action === "confirm") { |
301 | instance.confirmButtonLoading = true; | 297 | instance.confirmButtonLoading = true; |
302 | instance.confirmButtonText = "执行中..."; | 298 | instance.confirmButtonText = "执行中..."; |
... | @@ -307,19 +303,17 @@ export default { | ... | @@ -307,19 +303,17 @@ export default { |
307 | }).then((res) => { | 303 | }).then((res) => { |
308 | if (res.code === 200) { | 304 | if (res.code === 200) { |
309 | instance.confirmButtonLoading = false; | 305 | instance.confirmButtonLoading = false; |
310 | this.$message.success("转件成功"); | 306 | that.$message.success("转件成功"); |
311 | setTimeout(() => { | 307 | localStorage.setItem('transfer', true) |
312 | window.opener = null; | 308 | window.opener.location.reload(); //刷新父窗口 |
313 | window.open("about:blank", "_self"); | 309 | window.close(); |
314 | window.close(); | 310 | that.$emit("input", false); |
315 | this.$emit("input", false); | ||
316 | }, 1000); | ||
317 | } else { | 311 | } else { |
318 | instance.confirmButtonLoading = false; | 312 | instance.confirmButtonLoading = false; |
319 | instance.confirmButtonText = "确定"; | 313 | instance.confirmButtonText = "确定"; |
320 | this.$message.error(res.message); | 314 | this.$message.error(res.message); |
321 | } | 315 | } |
322 | }); | 316 | }) |
323 | } else { | 317 | } else { |
324 | done(); | 318 | done(); |
325 | } | 319 | } | ... | ... |
src/views/workflow/mixin/public.js
0 → 100644
1 | import { getForm } from "../flowform"; | ||
2 | export default { | ||
3 | methods: { | ||
4 | //右侧表单选项卡事件 | ||
5 | beforeLeave (activeName, oldActiveName) { | ||
6 | if (activeName && activeName != 0) this.getFromRouter(activeName) | ||
7 | }, | ||
8 | //切换选项卡内容组件 | ||
9 | getFromRouter (tabname) { | ||
10 | this.componentTag = getForm(tabname, this.$route.query.sqywbm); | ||
11 | } | ||
12 | } | ||
13 | } |
... | @@ -151,9 +151,6 @@ export default { | ... | @@ -151,9 +151,6 @@ export default { |
151 | window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) | 151 | window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) |
152 | window.removeEventListener('unload', e => this.unloadHandler(e)) | 152 | window.removeEventListener('unload', e => this.unloadHandler(e)) |
153 | }, | 153 | }, |
154 | computed: { | ||
155 | ...mapGetters(["oldDetail", "newDetail"]) | ||
156 | }, | ||
157 | methods: { | 154 | methods: { |
158 | beforeunloadHandler () { | 155 | beforeunloadHandler () { |
159 | this._beforeUnload_time = new Date().getTime() | 156 | this._beforeUnload_time = new Date().getTime() |
... | @@ -346,9 +343,7 @@ export default { | ... | @@ -346,9 +343,7 @@ export default { |
346 | }); | 343 | }); |
347 | break; | 344 | break; |
348 | case "stop": //终止按钮 | 345 | case "stop": //终止按钮 |
349 | this.$popup({ | 346 | this.$popup("终止", "workflow/components/stop", { |
350 | title: "终止", | ||
351 | editItem: "workflow/components/stop", | ||
352 | height: "330px", | 347 | height: "330px", |
353 | width: '30%', | 348 | width: '30%', |
354 | formData: { | 349 | formData: { |
... | @@ -422,7 +417,6 @@ export default { | ... | @@ -422,7 +417,6 @@ export default { |
422 | }, | 417 | }, |
423 | //申请单元点击事件 | 418 | //申请单元点击事件 |
424 | unitClick (index) { | 419 | unitClick (index) { |
425 | |||
426 | if (index >= 0) { | 420 | if (index >= 0) { |
427 | this.currentSelectProps = this.unitData[index]; | 421 | this.currentSelectProps = this.unitData[index]; |
428 | this.currentSelectProps.batchOperation = false; | 422 | this.currentSelectProps.batchOperation = false; |
... | @@ -447,10 +441,6 @@ export default { | ... | @@ -447,10 +441,6 @@ export default { |
447 | }); | 441 | }); |
448 | } | 442 | } |
449 | }); | 443 | }); |
450 | // if (this.currentSelectProps.bsmSldy != this.unitData[index].bsmSldy) { | ||
451 | // this.currentSelectProps = this.unitData[index]; | ||
452 | // this.fresh += 1; | ||
453 | // } | ||
454 | }, | 444 | }, |
455 | //批量按钮判断 | 445 | //批量按钮判断 |
456 | judgeBatchShow () { | 446 | judgeBatchShow () { | ... | ... |
... | @@ -72,13 +72,13 @@ | ... | @@ -72,13 +72,13 @@ |
72 | @import "./workFrame.scss"; | 72 | @import "./workFrame.scss"; |
73 | </style> | 73 | </style> |
74 | <script> | 74 | <script> |
75 | import { mapGetters } from "vuex" | ||
76 | import WorkFlow from "./mixin/index" | 75 | import WorkFlow from "./mixin/index" |
76 | import publicFlow from "./mixin/public.js" | ||
77 | import { getStepFormInfo } from "@/api/fqsq.js"; | 77 | import { getStepFormInfo } from "@/api/fqsq.js"; |
78 | import { getForm } from './flowform' | ||
78 | import NoticeBar from '@/components/NoticeBar/index' | 79 | import NoticeBar from '@/components/NoticeBar/index' |
79 | import { deleteFlow, unClaimTask } from "@/api/ywbl.js"; | 80 | import { deleteFlow, unClaimTask } from "@/api/ywbl.js"; |
80 | import ProcessViewer from './components/processViewer.vue' | 81 | import ProcessViewer from './components/processViewer.vue' |
81 | import { getForm } from "./flowform.js"; | ||
82 | import fqsqDialog from "@/views/ywbl/ywsq/slectBdc.vue"; | 82 | import fqsqDialog from "@/views/ywbl/ywsq/slectBdc.vue"; |
83 | export default { | 83 | export default { |
84 | components: { | 84 | components: { |
... | @@ -86,7 +86,7 @@ export default { | ... | @@ -86,7 +86,7 @@ export default { |
86 | NoticeBar, | 86 | NoticeBar, |
87 | ProcessViewer | 87 | ProcessViewer |
88 | }, | 88 | }, |
89 | mixins: [WorkFlow], | 89 | mixins: [WorkFlow, publicFlow], |
90 | data () { | 90 | data () { |
91 | return { | 91 | return { |
92 | noticeList: [], | 92 | noticeList: [], |
... | @@ -127,15 +127,11 @@ export default { | ... | @@ -127,15 +127,11 @@ export default { |
127 | window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) | 127 | window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) |
128 | window.removeEventListener('unload', e => this.unloadHandler(e)) | 128 | window.removeEventListener('unload', e => this.unloadHandler(e)) |
129 | }, | 129 | }, |
130 | computed: { | ||
131 | ...mapGetters(["oldDetail", "newDetail"]) | ||
132 | }, | ||
133 | methods: { | 130 | methods: { |
134 | beforeunloadHandler () { | 131 | beforeunloadHandler () { |
135 | this._beforeUnload_time = new Date().getTime() | 132 | this._beforeUnload_time = new Date().getTime() |
136 | }, | 133 | }, |
137 | unloadHandler (e) { | 134 | unloadHandler (e) { |
138 | thsi.$alert("234234"); | ||
139 | this._gap_time = new Date().getTime() - this._beforeUnload_time | 135 | this._gap_time = new Date().getTime() - this._beforeUnload_time |
140 | //判断是窗口关闭还是刷新 | 136 | //判断是窗口关闭还是刷新 |
141 | if (this._gap_time <= 10) { | 137 | if (this._gap_time <= 10) { |
... | @@ -192,11 +188,10 @@ export default { | ... | @@ -192,11 +188,10 @@ export default { |
192 | bsmSlsq: this.bsmSlsq, | 188 | bsmSlsq: this.bsmSlsq, |
193 | dataList: this.unitData, | 189 | dataList: this.unitData, |
194 | }, | 190 | }, |
195 | cancel: function () { }, //取消事件的回调 | ||
196 | confirm: function () { | 191 | confirm: function () { |
197 | that.loadBdcdylist(); | 192 | that.loadBdcdylist(); |
198 | }, //确认事件的回调 | 193 | } |
199 | }); | 194 | }) |
200 | }, | 195 | }, |
201 | //申请单元点击事件 | 196 | //申请单元点击事件 |
202 | unitClick (index) { | 197 | unitClick (index) { |
... | @@ -208,7 +203,7 @@ export default { | ... | @@ -208,7 +203,7 @@ export default { |
208 | } | 203 | } |
209 | getStepFormInfo(this.currentSelectProps).then((res) => { | 204 | getStepFormInfo(this.currentSelectProps).then((res) => { |
210 | if (res.code === 200) { | 205 | if (res.code === 200) { |
211 | this.fresh += 1; | 206 | this.fresh++; |
212 | //获取单元对应的所有表单信息 | 207 | //获取单元对应的所有表单信息 |
213 | this.tabList = res.result; | 208 | this.tabList = res.result; |
214 | //默认加载第一个表单信息 | 209 | //默认加载第一个表单信息 |
... | @@ -224,14 +219,6 @@ export default { | ... | @@ -224,14 +219,6 @@ export default { |
224 | }) | 219 | }) |
225 | } | 220 | } |
226 | }) | 221 | }) |
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 | } | 222 | } |
236 | } | 223 | } |
237 | } | 224 | } | ... | ... |
src/views/workflow/workFrameView1.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 :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 | </div> | ||
20 | <!-- 内容框架 --> | ||
21 | <div class="containerFrame"> | ||
22 | <!-- 左侧菜单栏 --> | ||
23 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> | ||
24 | <div v-if="this.isShowdrawer"> | ||
25 | <div class="title">申请单元列表({{ unitData.length }})</div> | ||
26 | <el-menu :default-active="activeIndex" @select="unitClick"> | ||
27 | <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index"> | ||
28 | <div> | ||
29 | <p>{{ item.bdcdyh }}</p> | ||
30 | <p class="title-detail">{{ item.zl }}</p> | ||
31 | </div> | ||
32 | </el-menu-item> | ||
33 | </el-menu> | ||
34 | </div> | ||
35 | <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" | ||
36 | () => { | ||
37 | this.isShowdrawer = !this.isShowdrawer; | ||
38 | } | ||
39 | "></div> | ||
40 | <div class="map-drawer-expand map-drawer" v-else @click=" | ||
41 | () => { | ||
42 | this.isShowdrawer = !this.isShowdrawer; | ||
43 | } | ||
44 | "></div> | ||
45 | </div> | ||
46 | <div class="leftCon"> | ||
47 | <!-- 分屏左侧预览 --> | ||
48 | <div v-if="splitScreen" class="splitScreen-con"> | ||
49 | <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" /> | ||
50 | </div> | ||
51 | <!-- 表单内容区域 --> | ||
52 | <div class="rightContainer"> | ||
53 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | ||
54 | <el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index"> | ||
55 | </el-tab-pane> | ||
56 | </el-tabs> | ||
57 | <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" /> | ||
58 | </div> | ||
59 | </div> | ||
60 | </div> | ||
61 | </div> | ||
62 | </template> | ||
63 | |||
64 | <style scoped lang='scss'> | ||
65 | @import "~@/styles/mixin.scss"; | ||
66 | @import "./workFrame.scss"; | ||
67 | </style> | ||
68 | <script> | ||
69 | import { | ||
70 | leftMenu, | ||
71 | stepExpandInfo, | ||
72 | getStepFormInfo | ||
73 | } from "@/api/fqsq.js" | ||
74 | import publicFlow from "./mixin/public.js" | ||
75 | import { getWorkFlowImage } from "@/api/jsydsyqFlow.js" | ||
76 | export default { | ||
77 | mixins: [publicFlow], | ||
78 | data () { | ||
79 | return { | ||
80 | // 流程图 | ||
81 | imgSrc: '', | ||
82 | // 折叠 | ||
83 | isShowdrawer: true, | ||
84 | // 默认选中 | ||
85 | activeIndex: '0', | ||
86 | //受理申请标识码 | ||
87 | bsmSlsq: this.$route.query.bsmSlsq, | ||
88 | //当前流程所在环节 | ||
89 | bestepid: this.$route.query.bestepid, | ||
90 | //顶部左侧按钮集合 | ||
91 | leftButtonList: [], | ||
92 | //顶部右侧按钮集合 | ||
93 | rightButtonList: [], | ||
94 | //左侧菜单数据集合 | ||
95 | unitData: [], | ||
96 | //设置那个表单选中 | ||
97 | tabName: "", | ||
98 | //表单集合 | ||
99 | tabList: [], | ||
100 | //选择加载哪一个组件 | ||
101 | componentTag: "", | ||
102 | //设置表单组件是否刷选值 | ||
103 | fresh: 10, | ||
104 | //设置表单传递数据 | ||
105 | currentSelectProps: {}, | ||
106 | //是否开启材料分屏 | ||
107 | splitScreen: false, | ||
108 | //材料分屏表单 | ||
109 | clxxForm: "", | ||
110 | //材料信息选择卡索引 | ||
111 | clxxIndex: "", | ||
112 | //材料信息选项卡对象 | ||
113 | clxxTab: {}, | ||
114 | } | ||
115 | }, | ||
116 | mounted () { | ||
117 | this.loadBdcdylist(); | ||
118 | this.flowInitParam(); | ||
119 | }, | ||
120 | methods: { | ||
121 | //加载流程初始参数 | ||
122 | flowInitParam () { | ||
123 | var formdata = new FormData(); | ||
124 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
125 | formdata.append("bestepid", this.bestepid); | ||
126 | formdata.append("type", "READ_ONLY"); | ||
127 | stepExpandInfo(formdata).then((res) => { | ||
128 | if (res.code === 200) { | ||
129 | this.leftButtonList = res.result.button; | ||
130 | this.rightButtonList = res.result.operation; | ||
131 | } | ||
132 | }) | ||
133 | }, | ||
134 | //流程环节操作按钮 | ||
135 | operation (item) { | ||
136 | //按钮 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 | ||
137 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout | ||
138 | let that = this; | ||
139 | switch (item.value) { | ||
140 | case "B1": | ||
141 | getWorkFlowImage(this.bsmSlsq).then(res => { | ||
142 | this.imgSrc = URL.createObjectURL(res) | ||
143 | this.$popup({ | ||
144 | title: '流程图', | ||
145 | editItem: 'workflow/components/flowChart', | ||
146 | formData: this.imgSrc | ||
147 | }) | ||
148 | }) | ||
149 | break; | ||
150 | case "B5": | ||
151 | this.zsylFlag = true; | ||
152 | break; | ||
153 | case "B2": //材料分屏按钮 | ||
154 | this.splitScreen = this.splitScreen ? false : true; | ||
155 | this.$store.dispatch('app/settScreen', this.splitScreen) | ||
156 | if (this.splitScreen) { | ||
157 | //如果当前选项卡为材料信息内容,递减到上一个选项卡内容 | ||
158 | if (this.tabName == this.clxxTab.value) { | ||
159 | this.tabName = this.tabList[this.clxxIndex - 1].value; | ||
160 | this.getFromRouter(this.tabList[this.clxxIndex - 1].value); | ||
161 | } | ||
162 | this.tabList.splice(this.clxxIndex, 1); | ||
163 | } else { | ||
164 | this.tabList.splice(this.clxxIndex, 1, this.clxxTab); | ||
165 | } | ||
166 | break; | ||
167 | case "signout": | ||
168 | window.close(); | ||
169 | break; | ||
170 | } | ||
171 | }, | ||
172 | //读取申请单元信息 | ||
173 | loadBdcdylist () { | ||
174 | var formdata = new FormData(); | ||
175 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
176 | formdata.append("bestepid", this.bestepid); | ||
177 | leftMenu(formdata).then((res) => { | ||
178 | if (res.code === 200) { | ||
179 | this.unitData = res.result; | ||
180 | this.currentSelectProps = res.result[0]; | ||
181 | this.unitClick(0); | ||
182 | } | ||
183 | }) | ||
184 | }, | ||
185 | //申请单元点击事件 | ||
186 | unitClick (index) { | ||
187 | this.currentSelectProps = this.unitData[index]; | ||
188 | this.currentSelectProps.type = 'ONLY_READ'; | ||
189 | getStepFormInfo(this.currentSelectProps).then((res) => { | ||
190 | if (res.code === 200) { | ||
191 | this.fresh++; | ||
192 | //获取单元对应的所有表单信息 | ||
193 | this.tabList = res.result; | ||
194 | //默认加载第一个表单信息 | ||
195 | this.tabName = res.result[0].value; | ||
196 | } | ||
197 | }); | ||
198 | } | ||
199 | } | ||
200 | } | ||
201 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -79,7 +79,7 @@ export default { | ... | @@ -79,7 +79,7 @@ export default { |
79 | components: { searchBox }, | 79 | components: { searchBox }, |
80 | mixins: [table, searchMin], | 80 | mixins: [table, searchMin], |
81 | computed: { | 81 | computed: { |
82 | ...mapGetters(['dictData']), | 82 | ...mapGetters(['dictData', 'transfer']) |
83 | }, | 83 | }, |
84 | data () { | 84 | data () { |
85 | return { | 85 | return { |
... | @@ -102,6 +102,9 @@ export default { | ... | @@ -102,6 +102,9 @@ export default { |
102 | } | 102 | } |
103 | } | 103 | } |
104 | }, | 104 | }, |
105 | created () { | ||
106 | this.queryClick() | ||
107 | }, | ||
105 | mounted () { | 108 | mounted () { |
106 | sendThis(this); | 109 | sendThis(this); |
107 | this.queryClick() | 110 | this.queryClick() | ... | ... |
... | @@ -136,6 +136,7 @@ export default { | ... | @@ -136,6 +136,7 @@ export default { |
136 | }, | 136 | }, |
137 | ywhClick (item) { | 137 | ywhClick (item) { |
138 | const { href } = this.$router.resolve('/workFrameView?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); | 138 | const { href } = this.$router.resolve('/workFrameView?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); |
139 | // const { href } = this.$router.resolve('/workFrameViewcs?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); | ||
139 | window.open(href, '_blank'); | 140 | window.open(href, '_blank'); |
140 | } | 141 | } |
141 | } | 142 | } | ... | ... |
1 | <template> | 1 | <template> |
2 | <dialogBox :title="title" width="85%" :isButton="false" :isMain="true" @closeDialog="closeDialog" v-model="myValue"> | 2 | <dialogBox :title="title" width="85%" :isButton="false" :isMain="true" @closeDialog="closeDialog" v-model="myValue"> |
3 | <component :is="editItem" @closeDialog="closeDialog" v-bind="$attrs" :isJump="isJump" id="slectBdc" | 3 | <component :is="editItem" @closeDialog="closeDialog" v-bind="$attrs" :isJump="isJump" id="slectBdc" |
4 | @updateDialog="updateDialog" :djywbm="djywbm" :key="key" :djqxObj="djqxObj"/> | 4 | @updateDialog="updateDialog" :djywbm="djywbm" :key="key" :djqxObj="djqxObj" /> |
5 | </dialogBox> | 5 | </dialogBox> |
6 | </template> | 6 | </template> |
7 | <script> | 7 | <script> |
... | @@ -11,11 +11,11 @@ export default { | ... | @@ -11,11 +11,11 @@ export default { |
11 | isJump: { type: Boolean, default: false }, | 11 | isJump: { type: Boolean, default: false }, |
12 | value: { type: Boolean, default: true }, | 12 | value: { type: Boolean, default: true }, |
13 | djywbm: { type: String, default: '' }, | 13 | djywbm: { type: String, default: '' }, |
14 | djqxObj: { type: Object, default: {} } | 14 | djqxObj: { type: Object, default: () => { } } |
15 | }, | 15 | }, |
16 | data () { | 16 | data () { |
17 | return { | 17 | return { |
18 | title:"", | 18 | title: "", |
19 | key: 0, | 19 | key: 0, |
20 | editItem: '', | 20 | editItem: '', |
21 | myValue: this.value | 21 | myValue: this.value |
... | @@ -37,7 +37,7 @@ export default { | ... | @@ -37,7 +37,7 @@ export default { |
37 | }, | 37 | }, |
38 | methods: { | 38 | methods: { |
39 | loadView (view) { | 39 | loadView (view) { |
40 | this.title ="申请业务:"+this.djqxObj.djywmc; | 40 | this.title = "申请业务:" + this.djqxObj.djywmc; |
41 | return r => require.ensure([], () => r(require(`./components/${view}.vue`))) | 41 | return r => require.ensure([], () => r(require(`./components/${view}.vue`))) |
42 | }, | 42 | }, |
43 | closeDialog () { | 43 | closeDialog () { | ... | ... |
-
Please register or sign in to post a comment