0e6f741b by 任超

feat:业务申请

1 parent 2219f048
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
2 <div id="app"> 2 <div id="app">
3 <router-view /> 3 <router-view />
4 </div> 4 </div>
5 </template> 5 </template>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -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) => {
......
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
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 }
......
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 }
......
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 () {
......