显示当前流程
Showing
3 changed files
with
537 additions
and
393 deletions
... | @@ -12,7 +12,8 @@ | ... | @@ -12,7 +12,8 @@ |
12 | <li | 12 | <li |
13 | @click="operation(item)" | 13 | @click="operation(item)" |
14 | v-for="(item, index) in leftButtonList" | 14 | v-for="(item, index) in leftButtonList" |
15 | :key="index"> | 15 | :key="index" |
16 | > | ||
16 | <svg-icon class="icon" :icon-class="item.icon" /> | 17 | <svg-icon class="icon" :icon-class="item.icon" /> |
17 | <span class="iconName">{{ item.name }}</span> | 18 | <span class="iconName">{{ item.name }}</span> |
18 | </li> | 19 | </li> |
... | @@ -21,7 +22,8 @@ | ... | @@ -21,7 +22,8 @@ |
21 | <li | 22 | <li |
22 | @click="operation(item)" | 23 | @click="operation(item)" |
23 | v-for="(item, index) in rightButtonList" | 24 | v-for="(item, index) in rightButtonList" |
24 | :key="index"> | 25 | :key="index" |
26 | > | ||
25 | <svg-icon class="icon" :icon-class="item.icon" /> | 27 | <svg-icon class="icon" :icon-class="item.icon" /> |
26 | <span class="iconName">{{ item.name }}</span> | 28 | <span class="iconName">{{ item.name }}</span> |
27 | </li> | 29 | </li> |
... | @@ -43,18 +45,25 @@ | ... | @@ -43,18 +45,25 @@ |
43 | </div> | 45 | </div> |
44 | <!-- 表单内容区域 --> | 46 | <!-- 表单内容区域 --> |
45 | <div class="rightContainer"> | 47 | <div class="rightContainer"> |
48 | <div class="count"> | ||
49 | 当前流程所在环节: | ||
50 | <span>{{ this.zbhj }}</span> | ||
51 | </div> | ||
46 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | 52 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> |
47 | <el-tab-pane | 53 | <el-tab-pane |
48 | :label="item.name" | 54 | :label="item.name" |
49 | :name="item.value" | 55 | :name="item.value" |
50 | v-for="item in tabList" | 56 | v-for="item in tabList" |
51 | :key="item.value"> | 57 | :key="item.value" |
58 | > | ||
52 | </el-tab-pane> | 59 | </el-tab-pane> |
53 | </el-tabs> | 60 | </el-tabs> |
61 | |||
54 | <component | 62 | <component |
55 | :key="fresh" | 63 | :key="fresh" |
56 | :is="componentTag" | 64 | :is="componentTag" |
57 | v-bind="currentSelectProps" /> | 65 | v-bind="currentSelectProps" |
66 | /> | ||
58 | </div> | 67 | </div> |
59 | </div> | 68 | </div> |
60 | </div> | 69 | </div> |
... | @@ -63,240 +72,257 @@ | ... | @@ -63,240 +72,257 @@ |
63 | </div> | 72 | </div> |
64 | </template> | 73 | </template> |
65 | <style scoped lang="scss"> | 74 | <style scoped lang="scss"> |
66 | @import "~@/styles/mixin.scss"; | 75 | @import "~@/styles/mixin.scss"; |
67 | @import "./workFrame.scss"; | 76 | @import "./workFrame.scss"; |
68 | </style> | 77 | </style> |
69 | <script> | 78 | <script> |
70 | import WorkFlow from "./mixin/index"; | 79 | import WorkFlow from "./mixin/index"; |
71 | import { getForm } from "./flowform"; | 80 | import { getForm } from "./flowform"; |
72 | import { getStepFormInfo } from "@/api/workFlow.js"; | 81 | import { getStepFormInfo } from "@/api/workFlow.js"; |
73 | import NoticeBar from "@/components/NoticeBar/index"; | 82 | import NoticeBar from "@/components/NoticeBar/index"; |
74 | // import ProcessViewer from "./components/processViewer.vue"; | 83 | // import ProcessViewer from "./components/processViewer.vue"; |
75 | 84 | ||
76 | import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue"; | 85 | import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue"; |
77 | import qllxDailog from "./djbBook/components/qllxDailog"; | 86 | import qllxDailog from "./djbBook/components/qllxDailog"; |
78 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; | 87 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; |
79 | import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData.js"; | 88 | import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData.js"; |
80 | // 登记簿数据信息 | 89 | // 登记簿数据信息 |
81 | import { addRepairRecord } from "@/api/djbRepair.js"; | 90 | import { addRepairRecord } from "@/api/djbRepair.js"; |
82 | // 获取权利类型数组 | 91 | // 获取权利类型数组 |
83 | 92 | ||
84 | import { getBdcqljqtsx } from "@/api/djbDetail.js"; | 93 | import { getBdcqljqtsx } from "@/api/djbDetail.js"; |
85 | export default { | 94 | export default { |
86 | components: { | 95 | components: { |
87 | selectBdc, | 96 | selectBdc, |
88 | NoticeBar, | 97 | NoticeBar, |
89 | ordinaryMenu, | 98 | ordinaryMenu, |
90 | qllxDailog, | 99 | qllxDailog, |
91 | }, | 100 | }, |
92 | mixins: [WorkFlow], | 101 | mixins: [WorkFlow], |
93 | data () { | 102 | data() { |
94 | return { | 103 | return { |
95 | bsmSlsq: this.$route.query.bsmSlsq, | 104 | bsmSlsq: this.$route.query.bsmSlsq, |
96 | //当前流程所在环节 | 105 | //当前流程所在环节 |
97 | bestepid: this.$route.query.bestepid, | 106 | bestepid: this.$route.query.bestepid, |
98 | //设置那个表单选中 | 107 | //当前流程所在环节 |
99 | tabName: "", | 108 | zbhj: this.$route.query.zbhj, |
100 | isEdit: true, | 109 | //设置那个表单选中 |
101 | // 弹框显示 | 110 | tabName: "", |
102 | dialogVisible: true, | 111 | isEdit: true, |
103 | //表单集合 | 112 | // 弹框显示 |
104 | tabList: [], | 113 | dialogVisible: true, |
105 | //选择加载哪一个组件 | 114 | //表单集合 |
106 | componentTag: "", | 115 | tabList: [], |
107 | //设置表单传递数据 | 116 | //选择加载哪一个组件 |
108 | currentSelectProps: {}, | 117 | componentTag: "", |
109 | // 首次拿到的业务信息 | 118 | //设置表单传递数据 |
110 | oneSelectProps: {}, | 119 | currentSelectProps: {}, |
111 | //材料信息选择卡索引 | 120 | // 首次拿到的业务信息 |
112 | oneget: true, | 121 | oneSelectProps: {}, |
113 | //页面监听时间 | 122 | //材料信息选择卡索引 |
114 | _beforeUnload_time: "", | 123 | oneget: true, |
115 | treedata: {}, | 124 | //页面监听时间 |
116 | tabdata: [], | 125 | _beforeUnload_time: "", |
117 | bsmRepair:"", | 126 | treedata: {}, |
118 | defaultNode: {}, | 127 | tabdata: [], |
119 | clxxForm: "", | 128 | bsmRepair: "", |
120 | //材料信息选择卡索引 | 129 | defaultNode: {}, |
121 | clxxIndex: "", | 130 | clxxForm: "", |
122 | //材料信息选项卡对象 | 131 | //材料信息选择卡索引 |
123 | clxxTab: {}, | 132 | clxxIndex: "", |
124 | ableOperation:false | 133 | //材料信息选项卡对象 |
125 | }; | 134 | clxxTab: {}, |
126 | }, | 135 | ableOperation: false, |
127 | mounted () { | 136 | }; |
128 | // this.getleftMenubl() | 137 | }, |
129 | }, | 138 | mounted() { |
139 | // this.getleftMenubl() | ||
140 | }, | ||
130 | 141 | ||
131 | methods: { | 142 | methods: { |
132 | /** | 143 | /** |
133 | * @description: stepForm | 144 | * @description: stepForm |
134 | * @param {*} qllx | 145 | * @param {*} qllx |
135 | * @author: renchao | 146 | * @author: renchao |
136 | */ | 147 | */ |
137 | stepForm (qllx) { | 148 | stepForm(qllx) { |
138 | this.oneSelectProps.qllx = qllx; | 149 | this.oneSelectProps.qllx = qllx; |
139 | if (this.$refs.Menu.supplementarylist.length) { | 150 | if (this.$refs.Menu.supplementarylist.length) { |
140 | getStepFormInfo(this.oneSelectProps).then((res) => { | 151 | getStepFormInfo(this.oneSelectProps).then((res) => { |
141 | this.$nextTick(function () { | 152 | this.$nextTick(function () { |
142 | this.tabList = res.result; | 153 | this.tabList = res.result; |
143 | this.tabName = this.tabList[0].value; | 154 | this.tabName = this.tabList[0].value; |
144 | this.ableOperation=this.tabList[0].ableOperation | 155 | this.ableOperation = this.tabList[0].ableOperation; |
145 | this.getFromRouter(this.tabName); | 156 | this.getFromRouter(this.tabName); |
146 | 157 | ||
147 | if(this.tabList.length!=8){ | 158 | if (this.tabList.length != 8) { |
148 | let that = this; | 159 | let that = this; |
149 | this.tabList.forEach(function (item, index) { | 160 | this.tabList.forEach(function (item, index) { |
150 | if (item.value == "clxx") { | 161 | if (item.value == "clxx") { |
151 | that.clxxIndex = index; | 162 | that.clxxIndex = index; |
152 | that.clxxForm = getForm(item.value, that.$route.query.sqywbm); | 163 | that.clxxForm = getForm(item.value, that.$route.query.sqywbm); |
153 | that.clxxTab = item; | 164 | that.clxxTab = item; |
154 | } | 165 | } |
155 | }) | 166 | }); |
156 | } | 167 | } |
168 | }); | ||
169 | }); | ||
170 | } | ||
171 | }, | ||
172 | // 获取右侧选项卡 | ||
173 | /** | ||
174 | * @description: 获取右侧选项卡 | ||
175 | * @param {*} val | ||
176 | * @author: renchao | ||
177 | */ | ||
178 | getCurrentSelectProps(val) { | ||
179 | this.bsmRepair = val.bsmRepair; | ||
180 | if (val.bdcdyid) { | ||
181 | this.oneSelectProps = val; | ||
182 | } | ||
183 | this.currentSelectProps = val; | ||
184 | if (this.currentSelectProps.bsmRepair) { | ||
185 | this.stepForm(this.currentSelectProps.qllx); | ||
186 | } else if (!this.oneget) { | ||
187 | this.getdjblist(); | ||
188 | } | ||
189 | if (this.oneget) { | ||
190 | this.oneget = false; | ||
191 | this.stepForm(this.currentSelectProps.qllx); | ||
192 | } | ||
193 | }, | ||
194 | // 获取渲染登记簿列表 | ||
195 | /** | ||
196 | * @description: 获取渲染登记簿列表 | ||
197 | * @author: renchao | ||
198 | */ | ||
199 | getdjblist() { | ||
200 | getBdcqljqtsx({ | ||
201 | bdcdyid: this.currentSelectProps.bdcdyid, | ||
202 | bdcdyh: this.currentSelectProps.bdcdyh, | ||
203 | }).then((res) => { | ||
204 | if (res.code === 200) { | ||
205 | this.treedata = loadTreeData(res.result); | ||
206 | this.$nextTick(function () { | ||
207 | this.defaultNode = getNode(this.currentSelectProps.qllx, { | ||
208 | linShi: 0, | ||
209 | xianShi: 0, | ||
210 | liShi: 0, | ||
157 | }); | 211 | }); |
212 | this.tabName = this.defaultNode.id; //data[0].id为默认选中的节点 | ||
158 | }); | 213 | }); |
214 | let settree = JSON.parse(JSON.stringify(this.treedata)); | ||
215 | this.tabdata = [ | ||
216 | ...settree, | ||
217 | ...settree[1].children[0].children[0].children, | ||
218 | ]; | ||
219 | this.tabdata.forEach((item, index, arr) => { | ||
220 | arr[index].name = item.label; | ||
221 | arr[index].value = item.id; | ||
222 | }); | ||
223 | this.tabList = this.tabdata; | ||
159 | } | 224 | } |
160 | }, | 225 | }); |
161 | // 获取右侧选项卡 | 226 | }, |
162 | /** | 227 | //右侧表单选项卡事件 |
163 | * @description: 获取右侧选项卡 | 228 | /** |
164 | * @param {*} val | 229 | * @description: 右侧表单选项卡事件 |
165 | * @author: renchao | 230 | * @param {*} activeName |
166 | */ | 231 | * @author: renchao |
167 | getCurrentSelectProps (val) { | 232 | */ |
168 | this.bsmRepair= val.bsmRepair | 233 | beforeLeave(activeName) { |
169 | if (val.bdcdyid) { | 234 | if (activeName && activeName != 0) this.getFromRouter(activeName); |
170 | this.oneSelectProps = val; | 235 | }, |
171 | } | 236 | //切换选项卡内容组件 |
172 | this.currentSelectProps = val; | 237 | /** |
173 | if (this.currentSelectProps.bsmRepair) { | 238 | * @description: 切换选项卡内容组件 |
174 | this.stepForm(this.currentSelectProps.qllx); | 239 | * @param {*} tabname |
175 | } else if (!this.oneget) { | 240 | * @author: renchao |
176 | this.getdjblist(); | 241 | */ |
177 | } | 242 | getFromRouter(tabname) { |
178 | if (this.oneget) { | 243 | this.componentTag = getForm(tabname); |
179 | this.oneget = false; | 244 | }, |
180 | this.stepForm(this.currentSelectProps.qllx); | 245 | // closefp () { |
246 | // this.splitScreen = this.splitScreen ? false : true; | ||
247 | // this.$store.dispatch("app/set1tScreen", this.splitScreen); | ||
248 | // this.getFromRouter(this.tabList[0].value); | ||
249 | // this.clxxForm = getForm(this.tabList[1].value); | ||
250 | // this.tabName = this.tabList[0].value | ||
251 | // }, | ||
252 | // 增加补录记录 | ||
253 | /** | ||
254 | * @description: 增加补录记录 | ||
255 | * @param {*} row | ||
256 | * @param {*} del | ||
257 | * @author: renchao | ||
258 | */ | ||
259 | addRepairRecord(row, del) { | ||
260 | let from = { | ||
261 | bsmQlxx: "", | ||
262 | bsmSlsq: this.bsmSlsq, | ||
263 | bsmSldy: this.currentSelectProps.bsmSldy, | ||
264 | operate: "C", | ||
265 | qllx: "", | ||
266 | }; | ||
267 | if (row) { | ||
268 | from.bsmQlxx = row.bsmQlxx; | ||
269 | if (del) { | ||
270 | from.operate = del; | ||
271 | } else { | ||
272 | from.operate = row.bsmQlxx ? "U" : "C"; | ||
181 | } | 273 | } |
182 | }, | 274 | from.qllx = row.qllx; |
183 | // 获取渲染登记簿列表 | 275 | } |
184 | /** | 276 | addRepairRecord(from) |
185 | * @description: 获取渲染登记簿列表 | 277 | .then((res) => { |
186 | * @author: renchao | 278 | if (res.code == "200") { |
187 | */ | 279 | this.$refs.qllxlist.dialogVisible = false; |
188 | getdjblist () { | 280 | this.$nextTick(() => { |
189 | getBdcqljqtsx({ | 281 | this.$refs.Menu.getleftMenubl(res.result); |
190 | bdcdyid: this.currentSelectProps.bdcdyid, | 282 | this.$message({ |
191 | bdcdyh: this.currentSelectProps.bdcdyh, | 283 | type: "success", |
192 | }).then((res) => { | 284 | message: "补录成功!", |
193 | if (res.code === 200) { | ||
194 | this.treedata = loadTreeData(res.result); | ||
195 | this.$nextTick(function () { | ||
196 | this.defaultNode = getNode(this.currentSelectProps.qllx, { | ||
197 | linShi: 0, | ||
198 | xianShi: 0, | ||
199 | liShi: 0, | ||
200 | }); | 285 | }); |
201 | this.tabName = this.defaultNode.id; //data[0].id为默认选中的节点 | ||
202 | }); | 286 | }); |
203 | let settree = JSON.parse(JSON.stringify(this.treedata)); | 287 | } else { |
204 | this.tabdata = [ | 288 | this.$alert(res.message, "提示", { |
205 | ...settree, | 289 | confirmButtonText: "确定", |
206 | ...settree[1].children[0].children[0].children, | 290 | type: "warning", |
207 | ]; | ||
208 | this.tabdata.forEach((item, index, arr) => { | ||
209 | arr[index].name = item.label; | ||
210 | arr[index].value = item.id; | ||
211 | }); | 291 | }); |
212 | this.tabList = this.tabdata; | ||
213 | } | 292 | } |
293 | }) | ||
294 | .catch((res) => { | ||
295 | console.log("错", res); | ||
214 | }); | 296 | }); |
215 | }, | 297 | }, |
216 | //右侧表单选项卡事件 | 298 | // openDialog () { |
217 | /** | 299 | // this.$store.dispatch('user/refreshPage', false) |
218 | * @description: 右侧表单选项卡事件 | 300 | // let data = JSON.parse(localStorage.getItem('ywbl')) |
219 | * @param {*} activeName | 301 | // let title |
220 | * @author: renchao | 302 | // if (data?.sqywmc) { |
221 | */ | 303 | // title = "申请业务:" + data?.sqywmc |
222 | beforeLeave (activeName) { | 304 | // } else { |
223 | if (activeName && activeName != 0) this.getFromRouter(activeName); | 305 | // title = "申请业务:" + data?.djywmc |
224 | }, | 306 | // } |
225 | //切换选项卡内容组件 | ||
226 | /** | ||
227 | * @description: 切换选项卡内容组件 | ||
228 | * @param {*} tabname | ||
229 | * @author: renchao | ||
230 | */ | ||
231 | getFromRouter (tabname) { | ||
232 | this.componentTag = getForm(tabname); | ||
233 | }, | ||
234 | // closefp () { | ||
235 | // this.splitScreen = this.splitScreen ? false : true; | ||
236 | // this.$store.dispatch("app/set1tScreen", this.splitScreen); | ||
237 | // this.getFromRouter(this.tabList[0].value); | ||
238 | // this.clxxForm = getForm(this.tabList[1].value); | ||
239 | // this.tabName = this.tabList[0].value | ||
240 | // }, | ||
241 | // 增加补录记录 | ||
242 | /** | ||
243 | * @description: 增加补录记录 | ||
244 | * @param {*} row | ||
245 | * @param {*} del | ||
246 | * @author: renchao | ||
247 | */ | ||
248 | addRepairRecord (row, del) { | ||
249 | let from = { | ||
250 | bsmQlxx: "", | ||
251 | bsmSlsq: this.bsmSlsq, | ||
252 | bsmSldy: this.currentSelectProps.bsmSldy, | ||
253 | operate: "C", | ||
254 | qllx: "", | ||
255 | }; | ||
256 | if (row) { | ||
257 | from.bsmQlxx = row.bsmQlxx; | ||
258 | if (del) { | ||
259 | from.operate = del; | ||
260 | } else { | ||
261 | from.operate = row.bsmQlxx ? "U" : "C"; | ||
262 | } | ||
263 | from.qllx = row.qllx; | ||
264 | } | ||
265 | addRepairRecord(from) | ||
266 | .then((res) => { | ||
267 | if (res.code == "200") { | ||
268 | this.$refs.qllxlist.dialogVisible = false; | ||
269 | this.$nextTick(() => { | ||
270 | this.$refs.Menu.getleftMenubl(res.result); | ||
271 | this.$message({ | ||
272 | type: "success", | ||
273 | message: "补录成功!", | ||
274 | }); | ||
275 | }); | ||
276 | } else { | ||
277 | this.$alert(res.message, "提示", { | ||
278 | confirmButtonText: "确定", | ||
279 | type: "warning", | ||
280 | }); | ||
281 | } | ||
282 | }) | ||
283 | .catch((res) => { | ||
284 | console.log("错", res); | ||
285 | }) | ||
286 | }, | ||
287 | // openDialog () { | ||
288 | // this.$store.dispatch('user/refreshPage', false) | ||
289 | // let data = JSON.parse(localStorage.getItem('ywbl')) | ||
290 | // let title | ||
291 | // if (data?.sqywmc) { | ||
292 | // title = "申请业务:" + data?.sqywmc | ||
293 | // } else { | ||
294 | // title = "申请业务:" + data?.djywmc | ||
295 | // } | ||
296 | 307 | ||
297 | // this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true) | 308 | // this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true) |
298 | // } | 309 | // } |
299 | } | 310 | }, |
300 | }; | 311 | }; |
301 | </script> | 312 | </script> |
302 | <style scoped lang="scss"></style> | 313 | <style scoped lang="scss"> |
314 | .rightContainer { | ||
315 | position: relative; | ||
316 | } | ||
317 | .count { | ||
318 | font-size: 14px; | ||
319 | position: absolute; | ||
320 | right: 25px; | ||
321 | top: 12px; | ||
322 | height: 30px; | ||
323 | span { | ||
324 | font-weight: 600; | ||
325 | color: #3498db; | ||
326 | } | ||
327 | } | ||
328 | </style> | ... | ... |
... | @@ -35,6 +35,10 @@ | ... | @@ -35,6 +35,10 @@ |
35 | </div> | 35 | </div> |
36 | <!-- 表单内容区域 --> | 36 | <!-- 表单内容区域 --> |
37 | <div class="rightContainer"> | 37 | <div class="rightContainer"> |
38 | <div class="count"> | ||
39 | 当前流程所在环节: | ||
40 | <span>{{ this.zbhj }}</span> | ||
41 | </div> | ||
38 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | 42 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> |
39 | <el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value"> | 43 | <el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value"> |
40 | </el-tab-pane> | 44 | </el-tab-pane> |
... | @@ -84,6 +88,8 @@ | ... | @@ -84,6 +88,8 @@ |
84 | bsmSlsq: this.$route.query.bsmSlsq, | 88 | bsmSlsq: this.$route.query.bsmSlsq, |
85 | //当前流程所在环节 | 89 | //当前流程所在环节 |
86 | bestepid: this.$route.query.bestepid, | 90 | bestepid: this.$route.query.bestepid, |
91 | //当前流程所在环节 | ||
92 | zbhj: this.$route.query.zbhj, | ||
87 | //设置那个表单选中 | 93 | //设置那个表单选中 |
88 | tabName: "", | 94 | tabName: "", |
89 | //设置那个表单选择 | 95 | //设置那个表单选择 |
... | @@ -201,4 +207,19 @@ | ... | @@ -201,4 +207,19 @@ |
201 | } | 207 | } |
202 | } | 208 | } |
203 | </script> | 209 | </script> |
204 | 210 | <style scoped lang="scss"> | |
211 | .rightContainer { | ||
212 | position: relative; | ||
213 | } | ||
214 | .count { | ||
215 | font-size: 14px; | ||
216 | position: absolute; | ||
217 | right: 25px; | ||
218 | top: 12px; | ||
219 | height: 30px; | ||
220 | span { | ||
221 | font-weight: 600; | ||
222 | color: #3498db; | ||
223 | } | ||
224 | } | ||
225 | </style> | ... | ... |
... | @@ -6,46 +6,96 @@ | ... | @@ -6,46 +6,96 @@ |
6 | <template> | 6 | <template> |
7 | <div class="from-clues"> | 7 | <div class="from-clues"> |
8 | <div class="from-clues-header"> | 8 | <div class="from-clues-header"> |
9 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="100px"> | 9 | <el-form |
10 | :model="queryForm" | ||
11 | ref="queryForm" | ||
12 | @submit.native.prevent | ||
13 | label-width="100px" | ||
14 | > | ||
10 | <el-row> | 15 | <el-row> |
11 | <el-col :span="5"> | 16 | <el-col :span="5"> |
12 | <el-form-item label="业务来源"> | 17 | <el-form-item label="业务来源"> |
13 | <el-select v-model="queryForm.ywly" class="width100" filterable | 18 | <el-select |
14 | @change="handleSelect('ywly', 'ywlymc', 'ywly')" @clear="handleEmpty('ywlymc')" clearable | 19 | v-model="queryForm.ywly" |
15 | placeholder="请选择业务来源"> | 20 | class="width100" |
16 | <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 21 | filterable |
22 | @change="handleSelect('ywly', 'ywlymc', 'ywly')" | ||
23 | @clear="handleEmpty('ywlymc')" | ||
24 | clearable | ||
25 | placeholder="请选择业务来源" | ||
26 | > | ||
27 | <el-option | ||
28 | v-for="item in dictData['ywly']" | ||
29 | :key="item.dcode" | ||
30 | :label="item.dname" | ||
31 | :value="item.dcode" | ||
32 | > | ||
17 | </el-option> | 33 | </el-option> |
18 | </el-select> | 34 | </el-select> |
19 | </el-form-item> | 35 | </el-form-item> |
20 | </el-col> | 36 | </el-col> |
21 | <el-col :span="5"> | 37 | <el-col :span="5"> |
22 | <el-form-item label="权利类型"> | 38 | <el-form-item label="权利类型"> |
23 | <el-select v-model="queryForm.qllx" class="width100" @change="handleSelect('A8', 'qllxmc', 'qllx')" | 39 | <el-select |
24 | @clear="handleEmpty('qllxmc')" filterable clearable placeholder="请选择权利类型"> | 40 | v-model="queryForm.qllx" |
25 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 41 | class="width100" |
42 | @change="handleSelect('A8', 'qllxmc', 'qllx')" | ||
43 | @clear="handleEmpty('qllxmc')" | ||
44 | filterable | ||
45 | clearable | ||
46 | placeholder="请选择权利类型" | ||
47 | > | ||
48 | <el-option | ||
49 | v-for="item in dictData['A8']" | ||
50 | :key="item.dcode" | ||
51 | :label="item.dname" | ||
52 | :value="item.dcode" | ||
53 | > | ||
26 | </el-option> | 54 | </el-option> |
27 | </el-select> | 55 | </el-select> |
28 | </el-form-item> | 56 | </el-form-item> |
29 | </el-col> | 57 | </el-col> |
30 | <el-col :span="5"> | 58 | <el-col :span="5"> |
31 | <el-form-item label="登记类型"> | 59 | <el-form-item label="登记类型"> |
32 | <el-select v-model="queryForm.djlx" class="width100" @change="handleSelect('A21', 'djlxmc', 'djlx')" | 60 | <el-select |
33 | @clear="handleEmpty('djlxmc')" filterable clearable placeholder="请选择登记类型"> | 61 | v-model="queryForm.djlx" |
34 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 62 | class="width100" |
63 | @change="handleSelect('A21', 'djlxmc', 'djlx')" | ||
64 | @clear="handleEmpty('djlxmc')" | ||
65 | filterable | ||
66 | clearable | ||
67 | placeholder="请选择登记类型" | ||
68 | > | ||
69 | <el-option | ||
70 | v-for="item in dictData['A21']" | ||
71 | :key="item.dcode" | ||
72 | :label="item.dname" | ||
73 | :value="item.dcode" | ||
74 | > | ||
35 | </el-option> | 75 | </el-option> |
36 | </el-select> | 76 | </el-select> |
37 | </el-form-item> | 77 | </el-form-item> |
38 | </el-col> | 78 | </el-col> |
39 | <el-col :span="6"> | 79 | <el-col :span="6"> |
40 | <el-form-item label="业务号"> | 80 | <el-form-item label="业务号"> |
41 | <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width100"> | 81 | <el-input |
82 | placeholder="请输入业务号" | ||
83 | v-model="queryForm.ywh" | ||
84 | clearable | ||
85 | class="width100" | ||
86 | > | ||
42 | </el-input> | 87 | </el-input> |
43 | </el-form-item> | 88 | </el-form-item> |
44 | </el-col> | 89 | </el-col> |
45 | 90 | ||
46 | <el-col :span="3" class="btnColRight"> | 91 | <el-col :span="3" class="btnColRight"> |
47 | <el-form-item> | 92 | <el-form-item> |
48 | <el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button> | 93 | <el-button |
94 | type="primary" | ||
95 | native-type="submit" | ||
96 | @click="handleSearch" | ||
97 | >查询</el-button | ||
98 | > | ||
49 | <el-button @click="moreQueryClick">高级查询</el-button> | 99 | <el-button @click="moreQueryClick">高级查询</el-button> |
50 | </el-form-item> | 100 | </el-form-item> |
51 | </el-col> | 101 | </el-col> |
... | @@ -53,25 +103,45 @@ | ... | @@ -53,25 +103,45 @@ |
53 | <el-row> | 103 | <el-row> |
54 | <el-col :span="5"> | 104 | <el-col :span="5"> |
55 | <el-form-item label="不动产单元号"> | 105 | <el-form-item label="不动产单元号"> |
56 | <el-input placeholder="请输入不动产单元号" v-model="queryForm.bdcdyh" clearable class="width100"> | 106 | <el-input |
107 | placeholder="请输入不动产单元号" | ||
108 | v-model="queryForm.bdcdyh" | ||
109 | clearable | ||
110 | class="width100" | ||
111 | > | ||
57 | </el-input> | 112 | </el-input> |
58 | </el-form-item> | 113 | </el-form-item> |
59 | </el-col> | 114 | </el-col> |
60 | <el-col :span="5"> | 115 | <el-col :span="5"> |
61 | <el-form-item label="申请人"> | 116 | <el-form-item label="申请人"> |
62 | <el-input placeholder="如需要模糊查询,前后输入%" v-model="queryForm.sqrmc" clearable class="width100"> | 117 | <el-input |
118 | placeholder="如需要模糊查询,前后输入%" | ||
119 | v-model="queryForm.sqrmc" | ||
120 | clearable | ||
121 | class="width100" | ||
122 | > | ||
63 | </el-input> | 123 | </el-input> |
64 | </el-form-item> | 124 | </el-form-item> |
65 | </el-col> | 125 | </el-col> |
66 | <el-col :span="5"> | 126 | <el-col :span="5"> |
67 | <el-form-item label="申请人证件号"> | 127 | <el-form-item label="申请人证件号"> |
68 | <el-input placeholder="如需要模糊查询,前后输入%" v-model="queryForm.sqrzjhm" clearable class="width100"> | 128 | <el-input |
129 | placeholder="如需要模糊查询,前后输入%" | ||
130 | v-model="queryForm.sqrzjhm" | ||
131 | clearable | ||
132 | class="width100" | ||
133 | > | ||
69 | </el-input> | 134 | </el-input> |
70 | </el-form-item> | 135 | </el-form-item> |
71 | </el-col> | 136 | </el-col> |
72 | <el-col :span="6"> | 137 | <el-col :span="6"> |
73 | <el-form-item label="坐落"> | 138 | <el-form-item label="坐落"> |
74 | <el-input placeholder="如需要模糊查询,前后输入%" v-model.trim="queryForm.zl" clearable class="width100"> | 139 | <el-input |
140 | placeholder="如需要模糊查询,前后输入%" | ||
141 | v-model.trim="queryForm.zl" | ||
142 | clearable | ||
143 | class="width100" | ||
144 | > | ||
75 | </el-input> | 145 | </el-input> |
76 | </el-form-item> | 146 | </el-form-item> |
77 | </el-col> | 147 | </el-col> |
... | @@ -81,194 +151,221 @@ | ... | @@ -81,194 +151,221 @@ |
81 | <ul> | 151 | <ul> |
82 | <li v-for="(item, index) in searchList" :key="index"> | 152 | <li v-for="(item, index) in searchList" :key="index"> |
83 | {{ item.name }}:{{ item.value }} | 153 | {{ item.name }}:{{ item.value }} |
84 | <i class="el-icon-circle-close" @click="handelItem(item, index)"></i> | 154 | <i |
155 | class="el-icon-circle-close" | ||
156 | @click="handelItem(item, index)" | ||
157 | ></i> | ||
85 | </li> | 158 | </li> |
86 | </ul> | 159 | </ul> |
87 | <el-button class="clean-btn" type="text" v-if="searchList.length > 0" @click.native="hanldeCleanAll">清除全部 | 160 | <el-button |
161 | class="clean-btn" | ||
162 | type="text" | ||
163 | v-if="searchList.length > 0" | ||
164 | @click.native="hanldeCleanAll" | ||
165 | >清除全部 | ||
88 | </el-button> | 166 | </el-button> |
89 | </el-row> | 167 | </el-row> |
90 | </el-form> | 168 | </el-form> |
91 | </div> | 169 | </div> |
92 | <div class="from-clues-content"> | 170 | <div class="from-clues-content"> |
93 | <lb-table :page-size="pageData.size" class="loadingtext" @sort-change="handleSort" | 171 | <lb-table |
94 | :current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange" | 172 | :page-size="pageData.size" |
95 | @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data"> | 173 | class="loadingtext" |
174 | @sort-change="handleSort" | ||
175 | :current-page.sync="pageData.currentPage" | ||
176 | :total="tableData.total" | ||
177 | @size-change="handleSizeChange" | ||
178 | @p-current-change="handleCurrentChange" | ||
179 | :column="tableData.columns" | ||
180 | :data="tableData.data" | ||
181 | > | ||
96 | </lb-table> | 182 | </lb-table> |
97 | </div> | 183 | </div> |
98 | <searchBox v-model="isSearch" @getSearch="getSearch" :advancedForm="otherForm" /> | 184 | <searchBox |
185 | v-model="isSearch" | ||
186 | @getSearch="getSearch" | ||
187 | :advancedForm="otherForm" | ||
188 | /> | ||
99 | </div> | 189 | </div> |
100 | </template> | 190 | </template> |
101 | <script> | 191 | <script> |
102 | import { mapGetters } from "vuex"; | 192 | import { mapGetters } from "vuex"; |
103 | import searchBox from "../components/search.vue"; | 193 | import searchBox from "../components/search.vue"; |
104 | import table from "@/utils/mixin/table"; | 194 | import table from "@/utils/mixin/table"; |
105 | import searchMin from "../components/mixin/index"; | 195 | import searchMin from "../components/mixin/index"; |
106 | import { datas, sendThis } from "./dbxdata"; | 196 | import { datas, sendThis } from "./dbxdata"; |
107 | import { searchTaskToDo } from "@/api/workflow/search.js"; | 197 | import { searchTaskToDo } from "@/api/workflow/search.js"; |
108 | import { judgeUserTaskPermission, deleteFlow, claimTask } from "@/api/workFlow.js"; | 198 | import { |
109 | export default { | 199 | judgeUserTaskPermission, |
110 | name: "dbx", | 200 | deleteFlow, |
111 | components: { searchBox }, | 201 | claimTask, |
112 | mixins: [table, searchMin], | 202 | } from "@/api/workFlow.js"; |
113 | computed: { | 203 | export default { |
114 | ...mapGetters(["dictData", "transfer"]), | 204 | name: "dbx", |
115 | }, | 205 | components: { searchBox }, |
116 | data () { | 206 | mixins: [table, searchMin], |
117 | return { | 207 | computed: { |
118 | queryForm: { | 208 | ...mapGetters(["dictData", "transfer"]), |
119 | }, | 209 | }, |
120 | searchForm: { | 210 | data() { |
121 | ywlymc: "", | 211 | return { |
122 | qllxmc: "", | 212 | queryForm: {}, |
123 | djlxmc: "", | 213 | searchForm: { |
124 | ywh: "", | 214 | ywlymc: "", |
125 | }, | 215 | qllxmc: "", |
126 | tableData: { | 216 | djlxmc: "", |
127 | total: 0, | 217 | ywh: "", |
128 | columns: datas.columns(), | ||
129 | data: [], | ||
130 | }, | ||
131 | jumpid: "", | ||
132 | }; | ||
133 | }, | ||
134 | mounted () { | ||
135 | sendThis(this); | ||
136 | }, | ||
137 | watch: { | ||
138 | queryForm: { | ||
139 | handler (newName, oldName) { }, | ||
140 | immediate: true, | ||
141 | }, | 218 | }, |
219 | tableData: { | ||
220 | total: 0, | ||
221 | columns: datas.columns(), | ||
222 | data: [], | ||
223 | }, | ||
224 | jumpid: "", | ||
225 | }; | ||
226 | }, | ||
227 | mounted() { | ||
228 | sendThis(this); | ||
229 | }, | ||
230 | watch: { | ||
231 | queryForm: { | ||
232 | handler(newName, oldName) {}, | ||
233 | immediate: true, | ||
142 | }, | 234 | }, |
143 | activated () { | 235 | }, |
236 | activated() { | ||
237 | this.queryClick(); | ||
238 | window["getBpageList"] = () => { | ||
144 | this.queryClick(); | 239 | this.queryClick(); |
145 | window["getBpageList"] = () => { | 240 | }; |
146 | this.queryClick(); | 241 | }, |
147 | } | 242 | methods: { |
243 | // 列表渲染接口 | ||
244 | /** | ||
245 | * @description: 列表渲染接口 | ||
246 | * @author: renchao | ||
247 | */ | ||
248 | queryClick() { | ||
249 | this.$startLoading(); | ||
250 | this.searchForm.ywh = this.queryForm.ywh; | ||
251 | this.iterationData(); | ||
252 | searchTaskToDo({ | ||
253 | ...this.queryForm, | ||
254 | ...this.otherForm, | ||
255 | ...this.pageData, | ||
256 | }).then((res) => { | ||
257 | this.$endLoading(); | ||
258 | if (res.code === 200) { | ||
259 | let { total, records } = res.result; | ||
260 | this.tableData.total = total ? total : 0; | ||
261 | this.tableData.data = records ? records : []; | ||
262 | } | ||
263 | }); | ||
148 | }, | 264 | }, |
149 | methods: { | 265 | /** |
150 | // 列表渲染接口 | 266 | * @description: handleSort |
151 | /** | 267 | * @param {*} val |
152 | * @description: 列表渲染接口 | 268 | * @author: renchao |
153 | * @author: renchao | 269 | */ |
154 | */ | 270 | handleSort(val) { |
155 | queryClick () { | 271 | this.queryForm.sortField = val.prop; |
156 | this.$startLoading(); | 272 | this.queryForm.sortOrder = val.order == "ascending" ? "asc" : "desc"; |
157 | this.searchForm.ywh = this.queryForm.ywh; | 273 | this.queryClick(); |
158 | this.iterationData(); | 274 | }, |
159 | searchTaskToDo({ | 275 | /** |
160 | ...this.queryForm, | 276 | * @description: del |
161 | ...this.otherForm, | 277 | * @param {*} item |
162 | ...this.pageData, | 278 | * @author: renchao |
163 | }).then((res) => { | 279 | */ |
164 | this.$endLoading(); | 280 | del(item) { |
165 | if (res.code === 200) { | 281 | let formdata = new FormData(); |
166 | let { total, records } = res.result; | 282 | formdata.append("bsmSlsq", item.bsmSlsq); |
167 | this.tableData.total = total ? total : 0; | 283 | this.$confirm("确定要删除吗, 是否继续?", "提示", { |
168 | this.tableData.data = records ? records : []; | 284 | confirmButtonText: "确定", |
169 | } | 285 | cancelButtonText: "取消", |
170 | }); | 286 | type: "warning", |
171 | }, | 287 | }) |
172 | /** | 288 | .then(() => { |
173 | * @description: handleSort | 289 | deleteFlow(formdata).then((res) => { |
174 | * @param {*} val | 290 | if (res.code === 200) { |
175 | * @author: renchao | 291 | this.handleDel(); |
176 | */ | 292 | this.$message({ |
177 | handleSort (val) { | 293 | type: "success", |
178 | this.queryForm.sortField = val.prop; | 294 | message: "删除成功!", |
179 | this.queryForm.sortOrder = val.order == "ascending" ? "asc" : "desc"; | 295 | }); |
180 | this.queryClick(); | 296 | this.queryClick(); |
181 | }, | 297 | } else { |
182 | /** | 298 | this.$message.error(res.message); |
183 | * @description: del | 299 | } |
184 | * @param {*} item | 300 | }); |
185 | * @author: renchao | ||
186 | */ | ||
187 | del (item) { | ||
188 | let formdata = new FormData(); | ||
189 | formdata.append("bsmSlsq", item.bsmSlsq); | ||
190 | this.$confirm("确定要删除吗, 是否继续?", "提示", { | ||
191 | confirmButtonText: "确定", | ||
192 | cancelButtonText: "取消", | ||
193 | type: "warning", | ||
194 | }) | 301 | }) |
195 | .then(() => { | 302 | .catch(() => { |
196 | deleteFlow(formdata).then((res) => { | 303 | this.$message({ |
197 | if (res.code === 200) { | 304 | type: "info", |
198 | this.handleDel(); | 305 | message: "已取消删除", |
199 | this.$message({ | ||
200 | type: "success", | ||
201 | message: "删除成功!", | ||
202 | }); | ||
203 | this.queryClick(); | ||
204 | } else { | ||
205 | this.$message.error(res.message); | ||
206 | } | ||
207 | }); | ||
208 | }) | ||
209 | .catch(() => { | ||
210 | this.$message({ | ||
211 | type: "info", | ||
212 | message: "已取消删除", | ||
213 | }); | ||
214 | }); | 306 | }); |
215 | }, | 307 | }); |
216 | /** | 308 | }, |
217 | * @description: ywhClick | 309 | /** |
218 | * @param {*} item | 310 | * @description: ywhClick |
219 | * @author: renchao | 311 | * @param {*} item |
220 | */ | 312 | * @author: renchao |
221 | ywhClick (item) { | 313 | */ |
222 | //判断用户是否拥有该任务的权限,若有则跳转,无权限则给予提示并刷新页面 | 314 | ywhClick(item) { |
223 | judgeUserTaskPermission({ | 315 | //判断用户是否拥有该任务的权限,若有则跳转,无权限则给予提示并刷新页面 |
224 | bsmSlsq: item.bsmSlsq, | 316 | judgeUserTaskPermission({ |
225 | bestepid: item.bestepid, | 317 | bsmSlsq: item.bsmSlsq, |
226 | }).then((res) => { | 318 | bestepid: item.bestepid, |
227 | if (res.code == 200) { | 319 | }).then((res) => { |
228 | if (res.result) { | 320 | if (res.code == 200) { |
229 | //有任务权限 | 321 | if (res.result) { |
230 | if (item.sjlx == "3") { | 322 | //有任务权限 |
231 | const { href } = this.$router.resolve( | 323 | if (item.sjlx == "3") { |
232 | "/djbworkFrame?bsmSlsq=" + | 324 | const { href } = this.$router.resolve( |
325 | "/djbworkFrame?bsmSlsq=" + | ||
233 | item.bsmSlsq + | 326 | item.bsmSlsq + |
234 | "&bestepid=" + | 327 | "&bestepid=" + |
235 | item.bestepid + | 328 | item.bestepid + |
236 | "&bsmBusiness=" + | 329 | "&bsmBusiness=" + |
237 | "&sqywbm=" + | 330 | "&sqywbm=" + |
238 | item.djywbm | 331 | item.djywbm + |
239 | ); | 332 | "&zbhj=" + |
240 | window.open(href, `djbworkFrame${item.bsmSlsq}`); | 333 | item.zbhj |
241 | } else { | 334 | ); |
242 | const { href } = this.$router.resolve( | 335 | window.open(href, `djbworkFrame${item.bsmSlsq}`); |
243 | "/workFrame?bsmSlsq=" + | 336 | } else { |
337 | const { href } = this.$router.resolve( | ||
338 | "/workFrame?bsmSlsq=" + | ||
244 | item.bsmSlsq + | 339 | item.bsmSlsq + |
245 | "&bestepid=" + | 340 | "&bestepid=" + |
246 | item.bestepid + | 341 | item.bestepid + |
247 | "&bsmBusiness=" + | 342 | "&bsmBusiness=" + |
248 | "&sqywbm=" + | 343 | "&sqywbm=" + |
249 | item.djywbm | 344 | item.djywbm + |
250 | ); | 345 | "&zbhj=" + |
251 | window.open(href, `workFrame${item.bsmSlsq}`); | 346 | item.zbhj |
252 | } | 347 | ); |
348 | window.open(href, `workFrame${item.bsmSlsq}`); | ||
349 | } | ||
253 | 350 | ||
254 | localStorage.setItem('ywbl', JSON.stringify(item)); | 351 | localStorage.setItem("ywbl", JSON.stringify(item)); |
255 | 352 | ||
256 | //从待办箱进入的调取任务领取接口 | 353 | //从待办箱进入的调取任务领取接口 |
257 | claimTask(item.bsmSlsq, item.bestepid); | 354 | claimTask(item.bsmSlsq, item.bestepid); |
258 | } else { | ||
259 | //无任务权限 | ||
260 | this.$message.error("无该任务操作权限,或已被他人抢办,请重新操作"); | ||
261 | //刷新页面 | ||
262 | this.queryClick(); | ||
263 | } | ||
264 | } else { | 355 | } else { |
265 | this.$message.error("用户任务权限判断失败,请联系管理员"); | 356 | //无任务权限 |
357 | this.$message.error("无该任务操作权限,或已被他人抢办,请重新操作"); | ||
358 | //刷新页面 | ||
359 | this.queryClick(); | ||
266 | } | 360 | } |
267 | }) | 361 | } else { |
268 | } | 362 | this.$message.error("用户任务权限判断失败,请联系管理员"); |
269 | } | 363 | } |
270 | } | 364 | }); |
365 | }, | ||
366 | }, | ||
367 | }; | ||
271 | </script> | 368 | </script> |
272 | <style scoped lang="scss"> | 369 | <style scoped lang="scss"> |
273 | @import "~@/styles/public.scss"; | 370 | @import "~@/styles/public.scss"; |
274 | </style> | 371 | </style> | ... | ... |
-
Please register or sign in to post a comment