b044f47a by xiaomiao

显示当前流程

1 parent 3d72b588
...@@ -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>
......