2219f048 by 任超

style:业务办理

1 parent 52f17473
...@@ -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',
......
1 //流程环节操作按钮 1 //流程环节操作按钮
2 export function getForm(tabName, djywbm) { 2 export function getForm (tabName, djywbm) {
3 console.log("88888888" + tabName);
4 let form; 3 let form;
5 switch (tabName) { 4 switch (tabName) {
6 case "jsydsyqslxx100": 5 case "jsydsyqslxx100":
......
...@@ -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",
......
...@@ -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: "您确定转出吗?",
......
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)
......