ea18b6ac by tianhaohao@pashanhoo.com

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 28c1657c 39820f70
Showing 83 changed files with 4625 additions and 88 deletions
...@@ -234,7 +234,7 @@ ...@@ -234,7 +234,7 @@
234 formData.append("bsmSj", this.previewImg.bsmSj); 234 formData.append("bsmSj", this.previewImg.bsmSj);
235 formData.append("bsmSlsq", this.previewImg.bsmSlsq); 235 formData.append("bsmSlsq", this.previewImg.bsmSlsq);
236 if (this.previewImg.imgList.length > 0) { 236 if (this.previewImg.imgList.length > 0) {
237 formData.append("ssBsmClmx", this.previewImg.imgList[this.previewImg.index].bsmClmx); 237 formData.append("index", this.previewImg.imgList[this.previewImg.index].sxh);
238 } 238 }
239 uploadSjClmx(formData).then((res) => { 239 uploadSjClmx(formData).then((res) => {
240 if (res.code == 200) { 240 if (res.code == 200) {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-11-13 14:31:09 4 * @LastEditTime: 2023-11-13 14:32:38
5 --> 5 -->
6 <template> 6 <template>
7 <!-- 受理信息 --> 7 <!-- 受理信息 -->
......
...@@ -454,7 +454,6 @@ ...@@ -454,7 +454,6 @@
454 }; 454 };
455 }, 455 },
456 key: 0, 456 key: 0,
457 tdxz: null,
458 isShow: false, 457 isShow: false,
459 disabled: true, 458 disabled: true,
460 czrOptions: [], 459 czrOptions: [],
...@@ -675,6 +674,16 @@ ...@@ -675,6 +674,16 @@
675 if (this.ruleForm.qlrData.length > 1) { 674 if (this.ruleForm.qlrData.length > 1) {
676 this.$message({ 675 this.$message({
677 showClose: true, 676 showClose: true,
677 message: "请确认权利人信息",
678 type: "error",
679 });
680 return false;
681 }
682 }
683 if (this.ruleForm.sldy.gyfs == "0") {
684 if (this.ruleForm.qlrData.length > 1) {
685 this.$message({
686 showClose: true,
678 message: "共有方式:单独所有,权利人只能是一个人", 687 message: "共有方式:单独所有,权利人只能是一个人",
679 type: "error", 688 type: "error",
680 }); 689 });
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-11-03 14:47:55 4 * @LastEditTime: 2023-11-03 14:50:46
5 --> 5 -->
6 <template> 6 <template>
7 <!-- 受理信息 --> 7 <!-- 受理信息 -->
...@@ -84,8 +84,6 @@ ...@@ -84,8 +84,6 @@
84 <el-input disabled v-model="ruleForm.qlxx.ssywh"></el-input> 84 <el-input disabled v-model="ruleForm.qlxx.ssywh"></el-input>
85 </el-form-item> 85 </el-form-item>
86 </el-col> 86 </el-col>
87 </el-row>
88 <el-row :gutter="10">
89 <el-col :span="8"> 87 <el-col :span="8">
90 <el-form-item label="权利类型:"> 88 <el-form-item label="权利类型:">
91 <el-input disabled v-model="ruleForm.qlxx.qllxmc"></el-input> 89 <el-input disabled v-model="ruleForm.qlxx.qllxmc"></el-input>
......
...@@ -591,8 +591,6 @@ ...@@ -591,8 +591,6 @@
591 this.loading = false 591 this.loading = false
592 if (res.code == 200) { 592 if (res.code == 200) {
593 this.ruleForm = res.result; 593 this.ruleForm = res.result;
594 this.ruleForm.tdsyq.mjdw = "1"
595
596 let djlx = this.ruleForm.qlxx.djlx; 594 let djlx = this.ruleForm.qlxx.djlx;
597 if (djlx == null || djlx == 100) { 595 if (djlx == null || djlx == 100) {
598 this.ssqlxxshow = false; 596 this.ssqlxxshow = false;
......
...@@ -436,7 +436,6 @@ ...@@ -436,7 +436,6 @@
436 }, 436 },
437 }; 437 };
438 }, 438 },
439
440 }; 439 };
441 </script> 440 </script>
442 <style scoped lang="scss"> 441 <style scoped lang="scss">
......
...@@ -53,7 +53,7 @@ export function getForm (tabName) { ...@@ -53,7 +53,7 @@ export function getForm (tabName) {
53 break; 53 break;
54 //森林林木使用权 54 //森林林木使用权
55 case "sllmslxx": 55 case "sllmslxx":
56 form = require("@/views/ywbl/slsqxx/sllmslxx"); 56 form = require("@/views/workflow/main/slsqxx/sllmslxx");
57 break; 57 break;
58 case "slxxjsydsyq": 58 case "slxxjsydsyq":
59 form = require("@/views/djbworkflow/djbBook/components/blxxtabs/jsydsyq.vue"); 59 form = require("@/views/djbworkflow/djbBook/components/blxxtabs/jsydsyq.vue");
......
...@@ -73,7 +73,6 @@ export default { ...@@ -73,7 +73,6 @@ export default {
73 } 73 }
74 } 74 }
75 }) 75 })
76
77 }, 76 },
78 /** 77 /**
79 * @description: 流程环节操作按钮 78 * @description: 流程环节操作按钮
...@@ -91,7 +90,7 @@ export default { ...@@ -91,7 +90,7 @@ export default {
91 case "B1": 90 case "B1":
92 getWorkFlowImage(this.bsmSlsq, this.bestepid ? this.bestepid : '').then(res => { 91 getWorkFlowImage(this.bsmSlsq, this.bestepid ? this.bestepid : '').then(res => {
93 let { result } = res 92 let { result } = res
94 this.$popupDialog("流程图", "workflow/components/processViewer", { 93 this.$popupDialog("流程图", "workflow/top/processViewer/index", {
95 xml: result.xml, 94 xml: result.xml,
96 finishedInfo: { 95 finishedInfo: {
97 finishedTaskSet: result.finishedActivityIds, 96 finishedTaskSet: result.finishedActivityIds,
...@@ -156,7 +155,7 @@ export default { ...@@ -156,7 +155,7 @@ export default {
156 }, '90%', true) 155 }, '90%', true)
157 break; 156 break;
158 case "back": //退回按钮 157 case "back": //退回按钮
159 this.$popupDialog("退回", "workflow/components/th", { 158 this.$popupDialog("退回", "workflow/top/back/index", {
160 bsmSlsq: this.bsmSlsq, 159 bsmSlsq: this.bsmSlsq,
161 bestepid: this.bestepid ? this.bestepid : '' 160 bestepid: this.bestepid ? this.bestepid : ''
162 }, '800px', true) 161 }, '800px', true)
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-01-19 16:30:06 4 * @LastEditTime: 2024-01-29 14:27:07
5 --> 5 -->
6 <template> 6 <template>
7 <div class="clxx"> 7 <div class="clxx">
...@@ -170,9 +170,9 @@ ...@@ -170,9 +170,9 @@
170 }) 170 })
171 } else { 171 } else {
172 var formdata = new FormData(); 172 var formdata = new FormData();
173 formdata.append("bsmSlsq", this.formData.bsmSlsq); 173 formdata.append("bsmSlsq", this.formData.bsmSlsq ? this.formData.bsmSlsq : '');
174 formdata.append("bsmSldy", this.formData.bsmSldy); 174 formdata.append("bsmSldy", this.formData.bsmSldy ? this.formData.bsmSldy : '');
175 175 console.log(this.formData);
176 InitClml(formdata).then((res) => { 176 InitClml(formdata).then((res) => {
177 if (res.code == 200) { 177 if (res.code == 200) {
178 resolve(res.code); 178 resolve(res.code);
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-01-30 16:47:02 4 * @LastEditTime: 2024-01-30 16:53:30
5 --> 5 -->
6 <template> 6 <template>
7 <div class="tableBox"> 7 <div class="tableBox">
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-01-25 13:15:05 4 * @LastEditTime: 2024-01-29 14:19:56
5 --> 5 -->
6 <template> 6 <template>
7 <div class="content"> 7 <div class="content">
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-02-02 16:51:02 4 * @LastEditTime: 2024-02-02 16:52:02
5 --> 5 -->
6 <!-- 批量删除弹框 --> 6 <!-- 批量删除弹框 -->
7 <template> 7 <template>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 <div class="menu-con"> 21 <div class="menu-con">
22 <p>{{ item.bdcdyh }}</p> 22 <p>{{ item.bdcdyh }}</p>
23 <el-tooltip effect="dark" :content="item.zl" placement="top"> 23 <el-tooltip effect="dark" :content="item.zl" placement="top">
24 <p v-if="item.sqfl=='1'" class="title-detail">{{ item.zl }}</p> 24 <p v-if="item.zl" class="title-detail">{{ item.zl }}</p>
25 <p v-else class="title-detail">{{ item.qllxmc }}</p> 25 <p v-else class="title-detail">{{ item.qllxmc }}</p>
26 </el-tooltip> 26 </el-tooltip>
27 </div> 27 </div>
......
...@@ -4,101 +4,115 @@ ...@@ -4,101 +4,115 @@
4 * @LastEditTime: 2024-01-23 14:07:58 4 * @LastEditTime: 2024-01-23 14:07:58
5 */ 5 */
6 /** 6 /**
7 * @description: 流程环节操作按钮 7 * @description: 流程表单操作
8 * @param {*} tabName 8 * @param {*} tabName
9 * @author: renchao 9 * @author: renchao
10 */ 10 */
11 export function getForm (tabName) { 11 export function getForm(tabName) {
12 let form; 12 let form;
13 if (tabName == 0) return 13 if (tabName == 0) return
14 switch (tabName) { 14 switch (tabName) {
15 //土地所有权
15 case "tdsyqslxx": 16 case "tdsyqslxx":
16 form = require("@/views/ywbl/slsqxx/tdsyq/slxx.vue"); 17 form = require("@/views/workflow/main/slsqxx/tdsyq/slxx.vue");
17 break; 18 break;
19 //建设用地、宅基地
18 case "jsydsyqslxx100": 20 case "jsydsyqslxx100":
19 form = require("@/views/ywbl/slsqxx/jsydsyq/slxx.vue");
20 break;
21 case "jsydsyqslxx300": 21 case "jsydsyqslxx300":
22 form = require("@/views/ywbl/slsqxx/jsydsyq/slxx300.vue"); 22 form = require("@/views/workflow/main/slsqxx/jsydsyq/slxx.vue");
23 break; 23 break;
24 //土地承包经营权 24 //土地承包经营权
25 case "tdcbjyqslxx100": 25 case "tdcbjyqslxx100":
26 form = require("@/views/ywbl/slsqxx/tdcbjyq/slxx.vue"); 26 form = require("@/views/workflow/main/slsqxx/tdcbjyq/slxx.vue");
27 break; 27 break;
28 //国有建设用地使用权/房屋所有权 28 //房屋多幢
29 case "fwsyqdzslxx": 29 case "fwsyqdzslxx":
30 form = require("@/views/ywbl/slsqxx/fdcq1/slxx.vue"); 30 form = require("@/views/workflow/main/slsqxx/fdcq1/slxx.vue");
31 break; 31 break;
32 //房屋独幢
32 case "fwsyqslxx100": 33 case "fwsyqslxx100":
33 case "fwsyqslxx200": 34 case "fwsyqslxx200":
34 case "fwsyqslxx400": 35 case "fwsyqslxx400":
35 form = require("@/views/ywbl/slsqxx/fdcq2/slxx.vue");
36 break;
37 case "fwsyqslxx300": 36 case "fwsyqslxx300":
38 form = require("@/views/ywbl/slsqxx/fdcq2/slxx300.vue"); 37 form = require("@/views/workflow/main/slsqxx/fdcq2/slxx.vue");
38 break;
39 //房屋独幢(批量)
40 case "plfdcq2":
41 form = require("@/views/workflow/main/slsqxx/fdcq2/batchSlxx.vue");
39 break; 42 break;
40 //林地使用权 43 //林地使用权
41 case "lqslxx": 44 case "lqslxx":
42 form = require("@/views/ywbl/slsqxx/lqslxx"); 45 form = require("@/views/workflow/main/slsqxx/lqslxx");
43 break; 46 break;
44 //森林林木使用权 47 //森林林木使用权
45 case "sllmslxx": 48 case "sllmslxx":
46 form = require("@/views/ywbl/slsqxx/sllmslxx"); 49 form = require("@/views/workflow/main/slsqxx/sllmslxx");
47 break;
48 case "plfdcq2":
49 form = require("@/views/ywbl/slsqxx/fdcq2/slxxOverview.vue");
50 break; 50 break;
51 //农用地使用权
51 case "nydsyqslxx100": 52 case "nydsyqslxx100":
52 form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue");
53 break;
54 case "nydsyqslxx200": 53 case "nydsyqslxx200":
55 form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue"); 54 form = require("@/views/workflow/main/slsqxx/nydsyq/slxx.vue");
56 break; 55 break;
56 //查封登记
57 case "tdslxxCfdj": 57 case "tdslxxCfdj":
58 form = require("@/views/ywbl/slsqxx/cfdj/tdslxx.vue"); 58 form = require("@/views/workflow/main/slsqxx/cfdj/slxx.vue");
59 break; 59 break;
60 //查封登记(批量)
60 case "plslxxCfdj": 61 case "plslxxCfdj":
61 form = require("@/views/ywbl/slsqxx/cfdj/plcfslxx.vue"); 62 form = require("@/views/workflow/main/slsqxx/cfdj/batchSlxx.vue");
62 break; 63 break;
64 //抵押权
63 case "diyaqSlxx": 65 case "diyaqSlxx":
64 form = require("@/views/ywbl/slsqxx/diyaq/slxx.vue"); 66 form = require("@/views/workflow/main/slsqxx/diyaq/slxx.vue");
65 break; 67 break;
68 //抵押权(批量)
66 case "batchDiyaq": 69 case "batchDiyaq":
67 form = require("@/views/ywbl/slsqxx/diyaq/batchSlxx.vue"); 70 form = require("@/views/workflow/main/slsqxx/diyaq/batchSlxx.vue");
68 break; 71 break;
69 case "clxx": 72 //预告买卖登记
70 form = require("@/views/workflow/components/clxx/clxxUnify.vue"); 73 case "ygmm100":
74 case "ygmm300":
75 form = require("@/views/workflow/main/slsqxx/ygdj/slxx.vue");
71 break; 76 break;
72 case "spyj": 77 //预告抵押登记
73 form = require("@/views/workflow/components/spyj.vue"); 78 case "ygdy100":
79 case "ygdy300":
80 form = require("@/views/workflow/main/slsqxx/ygdy/slxx.vue");
74 break; 81 break;
75 case "swxx": 82 //在建工程抵押权
76 form = require("@/views/workflow/components/swxx.vue"); 83 case "zjgcdyqSlxx":
84 form = require("@/views/workflow/main/slsqxx/zjgcdy/slxx.vue");
77 break; 85 break;
78 case "sfxx": 86 //在建工程抵押权(批量)
79 form = require("@/views/workflow/components/sfxx.vue"); 87 case "batchZjgcdyq":
88 form = require("@/views/workflow/main/slsqxx/zjgcdy/batchSlxx.vue");
80 break; 89 break;
81 case "sdqxx": 90 case "clxx"://材料信息
82 form = require("@/views/workflow/components/sdqxx.vue"); 91 form = require("@/views/workflow/main/clxx/clxxUnify.vue");
83 break; 92 break;
84 case "zdjbxx": 93 case "spyj"://审批意见
85 form = require("@/views/registerBook/zdjbxx.vue"); 94 form = require("@/views/workflow/main/spyj");
86 break; 95 break;
87 case "ygmm100": 96 case "swxx"://税务信息
88 form = require("@/views/ywbl/slsqxx/ygdj/slxx.vue"); 97 form = require("@/views/workflow/main/swxx");
89 break; 98 break;
90 case "ygmm300": 99 case "sfxx"://收费信息
91 form = require("@/views/ywbl/slsqxx/ygdj/slxx300.vue"); 100 form = require("@/views/workflow/main/sfxx");
92 break; 101 break;
93 case "ygdy100": 102 case "sdqxx"://水电气信息
94 case "ygdy300": 103 form = require("@/views/workflow/main/sdqxx");
95 form = require("@/views/ywbl/slsqxx/ygdy/slxx.vue");
96 break; 104 break;
97 case "zjgcdyqSlxx": 105 case "zdjbxx"://宗地基本信息
98 form = require("@/views/ywbl/slsqxx/zjgcdy/slxx.vue"); 106 form = require("@/views/registerBook/zdjbxx.vue");
99 break; 107 break;
100 case "batchZjgcdyq": 108 case "szxx"://缮证信息
101 form = require("@/views/ywbl/slsqxx/zjgcdy/batchSlxx.vue"); 109 form = require("@/views/workflow/main/szxx");
110 break;
111 case "fzxx"://发证信息
112 form = require("@/views/workflow/main/fzxx");
113 break;
114 case "zdjbxxImg"://宗地图
115 form = require("@/views/workflow/main/zdt");
102 break; 116 break;
103 case "cfdjxx": 117 case "cfdjxx":
104 form = require("@/views/registerBook/cfdj.vue"); 118 form = require("@/views/registerBook/cfdj.vue");
...@@ -127,16 +141,7 @@ export function getForm (tabName) { ...@@ -127,16 +141,7 @@ export function getForm (tabName) {
127 case "ygdjQlxx": 141 case "ygdjQlxx":
128 form = require("@/views/registerBook/ygdj.vue"); 142 form = require("@/views/registerBook/ygdj.vue");
129 break; 143 break;
130 case "szxx": 144 default://默认地址404空页面
131 form = require("@/views/workflow/components/szxx.vue");
132 break;
133 case "fzxx":
134 form = require("@/views/workflow/components/fzxx.vue");
135 break;
136 case "zdjbxxImg":
137 form = require("@/views/workflow/components/zdt.vue");
138 break;
139 default:
140 form = require("@/views/error-page/404.vue"); 145 form = require("@/views/error-page/404.vue");
141 break; 146 break;
142 } 147 }
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-19 10:15:07
5 -->
6 <template>
7 <dialogBox title="新建材料信息" width="25%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
8 :isFullscreen="false">
9 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
10 <el-row>
11 <el-col :span="24">
12 <el-form-item label="材料类型" prop="cllx">
13 <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择">
14 <el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode">
15 </el-option>
16 </el-select>
17 </el-form-item>
18 </el-col>
19 </el-row>
20 <el-row :gutter="20">
21 <el-col :span="24">
22 <el-form-item label="材料名称" prop="clmc">
23 <el-input v-model="ruleForm.clmc"></el-input>
24 </el-form-item>
25 </el-col>
26 </el-row>
27 <el-row :gutter="20">
28 <el-col :span="24">
29 <el-form-item
30 label="是否公共材料">
31 <el-radio-group
32 v-model="ruleForm.sfggcl">
33 <el-radio label="1"></el-radio>
34 <el-radio label="0"></el-radio>
35 </el-radio-group>
36 </el-form-item>
37 </el-col>
38 </el-row>
39 </el-form>
40 </dialogBox>
41 </template>
42
43 <script>
44 import { mapGetters } from "vuex";
45 export default {
46 props: {
47 value: { type: Boolean, default: false },
48 },
49 data () {
50 return {
51 myValue: this.value,
52 ruleForm: {
53 cllx: "",
54 clmc: "",
55 sfggcl: "0"
56 },
57 rules: {
58 cllx: [
59 { required: true, message: '请选择材料类型', trigger: 'change' }
60 ],
61 clmc: [
62 { required: true, message: '请输入材料名称', trigger: 'blur' }
63 ],
64 clbm: [
65 { required: true, message: '请输入材料编码', trigger: 'blur' }
66 ]
67 }
68 }
69 },
70 computed: {
71 ...mapGetters(["dictData"]),
72 },
73 watch: {
74 value (val) {
75 this.myValue = val;
76 },
77 },
78 methods: {
79 /**
80 * @description: closeDialog
81 * @author: renchao
82 */
83 closeDialog () {
84 this.$emit("input", false);
85 this.ruleForm = {
86 cllx: "",
87 clmc: "",
88 sfggcl: "0"
89 }
90 },
91 /**
92 * @description: handleSubmit
93 * @author: renchao
94 */
95 handleSubmit () {
96 this.$refs['ruleForm'].validate((valid) => {
97 if (valid) {
98 this.$parent.addSave(this.ruleForm);
99 this.ruleForm = {
100 cllx: "",
101 clmc: "",
102 sfggcl: "0"
103 }
104 this.$emit("input", false);
105 } else {
106 return false;
107 }
108 })
109 }
110 }
111 };
112 </script>
113 <style scoped lang="scss">
114 .submit-button {
115 text-align: center;
116 height: 52px;
117 padding-top: 10px;
118 background-color: #fff;
119 }
120 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-10-24 17:16:18
5 -->
6 <template>
7 <div class="clmlmx-box">
8 <lb-table :column="column" :key="key" row-key="bsmSj" ref="listTable" :heightNumSetting="true" :calcHeight="600"
9 :pagination="false" :data="tableData">
10 </lb-table>
11 <div class="text-center">
12 <el-button @click="$popupCacel">取消</el-button>
13 <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button>
14 </div>
15 </div>
16 </template>
17 <script>
18 import Vue from 'vue'
19 import Sortable from 'sortablejs'
20 import store from '@/store/index.js'
21 import { updateClml } from "@/api/clxx.js";
22 export default {
23 props: {
24 formData: {
25 type: Object,
26 default: () => {
27 return {}
28 }
29 }
30 },
31 data () {
32 return {
33 loading: false,
34 sortable: null,
35 column: [
36 {
37 prop: "isrequired",
38 label: "是否必选",
39 width: "80",
40 render: (h, scope) => {
41 if (scope.row.isrequired === "1") {
42 return (
43 <div>
44 <span>必选</span>
45 </div>
46 );
47 }
48 else {
49 return (
50 <div>
51 <span>可选</span>
52 </div>
53 )
54 }
55 }
56 },
57 {
58 label: "材料名称",
59 render: (h, scope) => {
60 return (
61 (this.formData.ableOperation && scope.row.sfxjcl == '1') ?
62 <el-input value={scope.row.sjmc} onInput={(val) => { scope.row.sjmc = val }}></el-input> : <span>{scope.row.sjmc}</span>
63 )
64 }
65 },
66 {
67 label: "材料类型",
68 width: "110",
69 render: (h, scope) => {
70 return (
71 this.formData.ableOperation ?
72 <el-select value={scope.row.sjlx}
73 onChange={(val) => { scope.row.sjlx = val }}>
74 {
75 store.getters.dictData['A40'].map(option => {
76 return (
77 <el-option label={option.dname} value={option.dcode}></el-option>
78 )
79 })
80 }
81 </el-select> : <span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
82 )
83 }
84 },
85 {
86 prop: "sjsl",
87 label: "收件数量",
88 width: "80",
89 render: (h, scope) => {
90 return (
91 (this.formData.ableOperation) ?
92 <el-input value={scope.row.sjsl} onInput={(val) => { scope.row.sjsl = val }}></el-input> : <span>{
93 scope.row.sjsl
94 }</span>
95 )
96 }
97 },
98 {
99 label: "扫描时间",
100 width: "140",
101 render: (h, scope) => {
102 return (
103 <span>{scope.row.sjsj}</span>
104 )
105 }
106 },
107 {
108 label: "页数",
109 width: "60",
110 render: (h, scope) => {
111 if (scope.row.ys && scope.row.ys > 0) {
112 return (
113 <div>
114 <span>{scope.row.ys}</span>
115 </div>
116 );
117 } else {
118 return (
119 <div>
120 <span>0</span>
121 </div>
122 );
123 }
124 },
125 },
126 {
127 label: "是否新建材料",
128 width: "80",
129 render: (h, scope) => {
130 if (scope.row.sfxjcl && scope.row.sfxjcl == '1') {
131 return (
132 <span></span>
133 );
134 } else {
135 return (
136 <span></span>
137 );
138 }
139 },
140 },
141 {
142 label: "操作",
143 width: "100",
144 render: (h, scope) => {
145 return (
146 <el-button
147 type="text"
148 icon="el-icon-delete"
149 disabled={!(scope.row.ys == 0 && scope.row.sfxjcl == '1') || !this.formData.ableOperation}
150 onClick={() => {
151 this.handleDelete(scope.$index, scope.row);
152 }}
153 >
154 删除
155 </el-button>
156 )
157 }
158 }
159 ],
160 key: 0,
161 tableData: []
162 }
163 },
164 watch: {
165 'formData.data': {
166 handler: function (val, oldVal) {
167 this.tableData = _.cloneDeep(val)
168 },
169 immediate: true,
170 deep: true
171 }
172 },
173 mounted () {
174 this.initSort()
175 },
176 beforeDestroy () {
177 if (this.sortable) {
178 this.sortable.destroy();
179 }
180 },
181 methods: {
182 handleSubmit () {
183 this.loading = true
184 store.dispatch('user/reWorkFresh', false)
185 updateClml(this.tableData, this.formData.bsmSldy, Vue.prototype.$currentRoute.query.bsmSlsq).then(res => {
186 this.loading = false
187 if (res.code == 200) {
188 this.$message({
189 message: '保存成功',
190 type: 'success'
191 })
192 this.$popupCacel()
193 store.dispatch('user/reWorkFresh', true)
194 }
195 }).catch(() => {
196 this.loading = false
197 })
198 },
199 /**
200 * @description: 材料目录删除
201 * @param {*} index
202 * @param {*} row
203 */
204 handleDelete (index, row) {
205 this.$confirm('此操作将永久删除该 是否继续?', '提示', {
206 confirmButtonText: '确定',
207 cancelButtonText: '取消',
208 type: 'warning'
209 }).then(() => {
210 this.tableData.splice(index, 1);
211 }).catch(() => {
212 this.$message({
213 type: 'info',
214 message: '已取消删除'
215 })
216 })
217 },
218 initSort () {
219 const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
220 this.sortable = Sortable.create(el, {
221 ghostClass: 'sortable-ghost',
222 setData: function (dataTransfer) {
223 dataTransfer.setData('Text', '')
224 },
225 onEnd: evt => {
226 const targetRow = this.tableData.splice(evt.oldIndex, 1)[0];
227 this.tableData.splice(evt.newIndex, 0, targetRow);
228 }
229 })
230 },
231 dicStatus (val, code) {
232 let data = store.getters.dictData[code],
233 name = '暂无'
234 if (data) {
235 data.map((item) => {
236 if (item.dcode == val) {
237 name = item.dname
238 }
239 })
240 return name
241 }
242 }
243 }
244 }
245 </script>
246 <style scoped lang='scss'>
247 @import "~@/styles/mixin.scss";
248 .clmlmx-box {
249 margin: 0 auto;
250 .title {
251 text-align: center;
252 height: 60px;
253 line-height: 60px;
254 border: 1px solid #dfe6ec;
255 font-size: 20px;
256 background: #81d3f81a;
257 margin-bottom: -1px;
258 }
259 }
260 </style>
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-10-11 10:59:12
5 */
6 import filter from '@/utils/filter.js'
7 let vm = null
8
9 const sendThis = (_this) => {
10 vm = _this
11 }
12 class data extends filter {
13 constructor() {
14 super()
15 }
16 columns () {
17 return {
18 //发证列表
19 fzgrid: [
20 {
21 label: '序号',
22 type: 'index',
23 width: '50'
24 },
25 {
26 prop: "fzrmc",
27 label: "发证人"
28 },
29 {
30 prop: "bdcqzlx",
31 label: "不动产权证类型",
32 width: '120',
33 render: (h, scope) => {
34 return (
35 <div>
36 <span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span>
37 <span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span>
38 </div>
39 )
40 }
41 },
42 {
43 label: "权利类型",
44 width: '100',
45 render: (h, scope) => {
46 return (
47 <el-tooltip effect="dark" content={scope.row.qllx} placement="top" popper-class="tooltip-width ">
48 <span class="ellipsis-table"> {scope.row.qllx}</span>
49 </el-tooltip>
50 )
51 }
52 },
53 {
54 prop: "ysxlh",
55 label: "印刷序列号",
56 width: '100',
57 },
58 {
59 prop: "bdcqzh",
60 label: "不动产权证号",
61 width: '190',
62 },
63 {
64 label: "权利人",
65 minWidth: '120',
66 render: (h, scope) => {
67 return (
68 <el-tooltip effect="dark" content={scope.row.qlr} placement="top" popper-class="tooltip-width ">
69 <span class="ellipsis-table"> {scope.row.qlr}</span>
70 </el-tooltip>
71 )
72 }
73 },
74 {
75 prop: "ywr",
76 label: "义务人"
77 },
78 {
79 label: "面积(㎡)",
80 width: '100',
81 render: (h, scope) => {
82 return (
83 <el-tooltip effect="dark" content={scope.row.mj} placement="top" popper-class="tooltip-width ">
84 <span class="ellipsis-table"> {scope.row.mj}</span>
85 </el-tooltip>
86 )
87 }
88 },
89 {
90 label: "坐落",
91 minWidth: '150',
92 render: (h, scope) => {
93 return (
94 <el-tooltip effect="dark" content={scope.row.zl} placement="top" popper-class="tooltip-width ">
95 <span class="ellipsis-table"> {scope.row.zl}</span>
96 </el-tooltip>
97 )
98 }
99 },
100 {
101 prop: "fzsj",
102 label: "发证时间",
103 width: '140',
104 },
105 {
106 prop: "lzrxm",
107 label: "领证人姓名"
108 },
109 ],
110 //领证证列表
111 lzgrid: [
112 {
113 type: 'selection'
114 },
115 {
116 label: '序号',
117 type: 'index',
118 width: '50'
119 },
120 {
121 prop: "bdcqzlx",
122 label: "不动产权证类型",
123 width: '120',
124 render: (h, scope) => {
125 return (
126 <div>
127 <span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span>
128 <span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span>
129 </div>
130 )
131 }
132 },
133 {
134 prop: "qllx",
135 label: "权利类型"
136 },
137 {
138 prop: "ysxlh",
139 label: "印刷序列号",
140 width: '100',
141 },
142 {
143 prop: "bdcqzh",
144 label: "不动产权证号"
145 },
146 {
147 prop: "qlr",
148 label: "权利人"
149 },
150 {
151 prop: "ywr",
152 label: "义务人"
153 },
154 {
155 label: "面积(㎡)",
156 width: '100',
157 render: (h, scope) => {
158 return (
159 <el-tooltip effect="dark" content={scope.row.mj} placement="top" popper-class="tooltip-width ">
160 <span class="ellipsis-table"> {scope.row.mj}</span>
161 </el-tooltip>
162 )
163 }
164 },
165 {
166 prop: "zl",
167 label: "坐落"
168 }
169 ]
170 }
171 }
172 }
173 let datas = new data()
174 export {
175 datas,
176 sendThis
177 }
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-28 16:28:43
5 -->
6 <template>
7 <div class="from-clues">
8 <!-- 发证信息 -->
9 <div class="from-clues-header">
10 <el-form :model="ruleForm">
11 <el-row :gutter="20">
12 <el-col :span="6">
13 <el-form-item label="印刷序列号">
14 <el-input v-model="ruleForm.ysxlh" clearable placeholder="请输入印刷序列号"></el-input>
15 </el-form-item>
16 </el-col>
17 <el-col :span="6">
18 <el-form-item label="证书号">
19 <el-input v-model="ruleForm.zsh" clearable placeholder="请输入证书号"></el-input>
20 </el-form-item>
21 </el-col>
22 <el-col :span="6">
23 <el-form-item label="权利人">
24 <el-input v-model="ruleForm.qlr" clearable placeholder="请输入权利人"></el-input>
25 </el-form-item>
26 </el-col>
27 <el-col :span="6" class="btnColRight" v-if="viewEdit">
28 <el-form-item>
29 <el-button type="primary" icon="el-icon-search" @click="handleSearch">查询</el-button>
30 <el-button type="primary" icon="el-icon-search" @click="zslqClick">证书领取</el-button>
31 </el-form-item>
32 </el-col>
33 </el-row>
34 </el-form>
35 </div>
36 <div class="from-clues-content">
37 <lb-table border :column="tableData.columns" :heightNum="210" :data="tableData.data" :pagination="false">
38 </lb-table>
39 </div>
40 </div>
41 </template>
42 <script>
43 import { mapGetters } from 'vuex'
44 import store from '@/store/index.js'
45 import table from "@/utils/mixin/table";
46 import { datas } from "./fzxxdata";
47 import { getCertificateList } from "@/api/bdcqz.js";
48 export default {
49 mixins: [table],
50 data () {
51 return {
52 //表单是否可操作
53 viewEdit: false,
54 ruleForm: {
55 ysxlh: '',
56 zsh: '',
57 qlr: '',
58 bsmSldy: ''
59 },
60 tableData: {
61 total: 0,
62 columns: datas.columns().fzgrid,
63 data: []
64 },
65 dialogVisible: false
66 }
67 },
68 created () {
69 this.viewEdit = this.$parent.currentSelectTab.ableOperation
70 },
71 computed: {
72 ...mapGetters(['workFresh'])
73 },
74 watch: {
75 workFresh: {
76 handler (newVal, oldVal) {
77 if (newVal) this.queryClick()
78 }
79 }
80 },
81 methods: {
82 /**
83 * @description: queryClick
84 * @author: renchao
85 */
86 queryClick () {
87 this.ruleForm.bsmSlsq = this.$route.query.bsmSlsq;
88 getCertificateList(this.ruleForm).then(res => {
89 if (res.code === 200) {
90 this.tableData.data = res.result ? res.result : []
91 }
92 })
93 },
94 /**
95 * @description:
96 * @author: renchao
97 */
98 zslqClick () {
99 store.dispatch('user/reWorkFresh', false)
100 this.$popupDialog("不动产权证领取", "workflow/main/fzxx/zslq", {}, '80%', true)
101 }
102 }
103 }
104 </script>
105 <style scoped lang='scss'>
106 @import "~@/styles/public.scss";
107 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-19 14:45:09
5 -->
6 <template>
7 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
8 <el-row>
9 <el-col :span="8">
10 <el-form-item label="发证人姓名">
11 <el-input v-model="ruleForm.fzrmc" disabled></el-input>
12 </el-form-item>
13 </el-col>
14 <el-col :span="8">
15 <el-form-item label="发证时间">
16 <el-input v-model="ruleForm.fzsj" disabled></el-input>
17 </el-form-item>
18 </el-col>
19 <el-col :span="8">
20 <el-form-item label="发证数量">
21 <el-input v-model="ruleForm.fzsl" disabled></el-input>
22 </el-form-item>
23 </el-col>
24 </el-row>
25 <lb-table :column="tableData.columns" @row-dblclick="handleRowClick" ref="table" @selection-change="handleSelectionChange"
26 :data="tableData.data"
27 :pagination="false"
28 :calcHeight="300">
29 </lb-table>
30 <el-row>
31 <el-col :span="3">
32 <el-form-item label="身份证读卡器">
33 <el-button type="text" icon="el-icon-tickets" @click="readClick">读取</el-button>
34 </el-form-item>
35 </el-col>
36 <el-col :span="5">
37 <el-form-item label="领证人" prop="lzrxm" label-width="70px">
38 <el-input v-model="ruleForm.lzrxm"></el-input>
39 </el-form-item>
40 </el-col>
41 <el-col :span="5">
42 <el-form-item label="证件类型" prop="lzrzjlb" label-width="80px">
43 <el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择">
44 <el-option v-for="item in lzrzjlbData" :key="item.dcode" :label="item.dname" :value="item.dcode">
45 </el-option>
46 </el-select>
47 </el-form-item>
48 </el-col>
49 <el-col :span="5">
50 <el-form-item label="证件号" prop="lzrzjh" label-width="70px">
51 <el-input v-model="ruleForm.lzrzjh"></el-input>
52 </el-form-item>
53 </el-col>
54 <el-col :span="5">
55 <el-form-item label="领证人电话" prop="lzrdh">
56 <el-input v-model="ruleForm.lzrdh"></el-input>
57 </el-form-item>
58 </el-col>
59 </el-row>
60 <el-form-item class="text-center">
61 <el-button @click="$popupCacel">取消</el-button>
62 <el-button type="primary" @click="handleSubmit">确定</el-button>
63 </el-form-item>
64 </el-form>
65 </template>
66 <script>
67 const checkPhone = (rule, value, callback) => {
68 let regPone = null
69 let mobile = /^(1[3456789]\d{9})$/ //手机号
70 let tel = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/ // 座机
71 if (value && value[0] === '0') {// 检查 value 是否存在并且不是 null 或者 undefined
72 regPone = tel
73 } else if (value && value[0] !== '0') {
74 regPone = mobile
75 }
76 if (regPone === null) {
77 return callback(
78 new Error('请输入电话')
79 )
80 } else if (!regPone.test(value)) {
81 return callback(
82 new Error("请输入正确的电话格式,其中座机格式'区号-座机号码'")
83 )
84 } else {
85 callback()
86 }
87 };
88 import Vue from 'vue'
89 import store from '@/store/index.js'
90 import table from "@/utils/mixin/table";
91 import { getIdCardInfo } from '@/utils/operation.js'
92 import { getUnclaimedBdcqz, issueCertificate, getBdcqzQlr } from "@/api/bdcqz.js";
93 import { datas } from "@/views/workflow/main/fzxx/fzxxdata";
94 import { log } from 'bpmn-js-token-simulation';
95 export default {
96 props: {
97 formData: {
98 type: Object,
99 default: () => {
100 return {}
101 }
102 }
103 },
104 mixins: [table],
105 data () {
106 return {
107 lzrzjlbData: store.getters.dictData['A30'],
108 ruleForm: {
109 fzrmc: '',
110 fzsj: '',
111 fzsl: '',
112 bdcqzList: [],
113 lzrxm: '',
114 lzrzjlb: '',
115 lzrzjh: '',
116 lzrdh: ''
117 },
118 rules: {
119 lzrxm: [
120 { required: true, message: '请输入领证人', trigger: 'blur' }
121 ],
122 lzrzjlb: [
123 { required: true, message: '请选择证件类型', trigger: 'change' }
124 ],
125 lzrzjh: [
126 { required: true, message: '请输入证件号', trigger: 'blur' }
127 ],
128 lzrdh: [
129 { required: true, validator: checkPhone, trigger: ["blur"] }
130 ]
131 },
132 tableData: {
133 total: 0,
134 columns: datas.columns().lzgrid,
135 data: []
136 }
137 }
138 },
139 mounted () {
140 this.$nextTick(() => {
141 this.loadGrid()
142 })
143 },
144 methods: {
145 /**
146 * @description: 身份证打卡器
147 * @author: renchao
148 */
149 readClick () {
150 function getObjectByValue (arrayOfObjects, value) {
151 var name = ''
152 arrayOfObjects.forEach(item => {
153 if (item.dname.includes(value)) name = item.dcode
154 })
155 return name
156 }
157 getIdCardInfo(this.BASE_API.gaopaiyi).then(res => {
158 if (this.BASE_API.gaopaiyi == 'jy') {
159 const {
160 Name,
161 IdNo,
162 } = JSON.parse(res)
163 if (Name) {
164 this.ruleForm.lzrxm = Name;
165 this.ruleForm.lzrzjlb = '1';
166 this.ruleForm.lzrzjh = IdNo;
167 this.$message({
168 message: '读取成功!',
169 type: 'success'
170 })
171 } else {
172 this.$message({
173 message: '请放置身份证',
174 type: 'warning'
175 })
176 }
177 } else {
178 if (res.data.code == 0) {
179 let data = res.data.IDCardInfo
180 this.ruleForm.lzrxm = data.name
181 this.ruleForm.lzrzjlb = '1'
182 this.ruleForm.lzrzjh = data.cardID
183 this.$message({
184 message: '读取成功!',
185 type: 'success'
186 })
187 } else {
188 this.$message({
189 message: res.data.message,
190 type: 'warning'
191 })
192 }
193 }
194 })
195 },
196 /**
197 * @description: 列表初始化
198 * @author: renchao
199 */
200 loadGrid () {
201 let that = this
202 getUnclaimedBdcqz({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq }).then(res => {
203 if (res.code === 200) {
204 this.tableData.data = res.result.list;
205 this.$nextTick(() => {
206 this.tableData.data.forEach(item => {
207 that.$refs.table.toggleRowSelection(item)
208 })
209 })
210 this.ruleForm.fzrmc = res.result.fzrmc
211 this.ruleForm.fzsj = res.result.fzsj
212 this.ruleForm.fzsl = res.result.fzsl
213 this.ruleForm.bdcqzList = res.result.list;
214 res.result.list.length && this.getQlr(res.result.list[0].bsmBdcqz)
215 }
216 })
217 },
218 /**
219 * @description: 获取权利人信息
220 * @author: renchao
221 */
222 getQlr (bsmBdcqz) {
223 getBdcqzQlr(bsmBdcqz).then(res => {
224 if (res.code === 200) {
225 this.ruleForm.lzrxm = res.result.qlrmc;
226 this.ruleForm.lzrzjlb = res.result.zjzl;
227 this.ruleForm.lzrzjh = res.result.zjh;
228 this.ruleForm.lzrdh = res.result.dh;
229 }
230 })
231 },
232 /**
233 * @description: handleSelectionChange
234 * @param {*} val
235 * @author: renchao
236 */
237 handleSelectionChange (val) {
238 this.ruleForm.bdcqzList = val
239 },
240 /**
241 * @description: handleRowClick
242 * @param {*} row
243 * @author: renchao
244 */
245 handleRowClick (row) {
246 this.$refs.table.toggleRowSelection(row)
247 },
248 /**
249 * @description: handleSubmit
250 * @author: renchao
251 */
252 handleSubmit () {
253 this.$refs.ruleForm.validate(valid => {
254 if (valid) {
255 issueCertificate(this.ruleForm).then(res => {
256 if (res.code == 200) {
257 this.$message.success('保存成功');
258 //刷新列表
259 store.dispatch('user/reWorkFresh', true)
260 this.$popupCacel()
261 } else {
262 this.$message.error(res.message)
263 }
264 })
265 } else {
266 return false;
267 }
268 })
269 }
270 }
271 }
272 </script>
273 <style scoped lang="scss">
274 @import "~@/styles/mixin.scss";
275 </style>
276
277
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-14 17:19:26
5 -->
6 <template>
7 <div class="slxx sdqxx">
8 <el-form
9 :model="ruleForm"
10 ref="ruleForm"
11 v-Loading="loading"
12 :label-position="flag ? 'top' : ''"
13 :inline="flag"
14 label-width="130px">
15 <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
16 <div class="slxx_title title-block">
17 电力信息
18 <div class="triangle"></div>
19 </div>
20 <el-row :gutter="10">
21 <el-col :span="8">
22 <el-form-item label="服务代码:">
23 <el-input v-model="ruleForm.serviceCode"></el-input>
24 </el-form-item>
25 </el-col>
26 <el-col :span="8">
27 <el-form-item label="行政区划区县代码:">
28 <el-input v-model="ruleForm.areacode"></el-input>
29 </el-form-item>
30 </el-col>
31 <el-col :span="8">
32 <el-form-item label="登记系统业务号:">
33 <el-input v-model="ruleForm.ywh"></el-input>
34 </el-form-item>
35 </el-col>
36 </el-row>
37
38 <el-row :gutter="10">
39 <el-col :span="8">
40 <el-form-item label="推送日期:">
41 <el-input v-model="ruleForm.SENDTIME"></el-input>
42 </el-form-item>
43 </el-col>
44 <el-col :span="8">
45 <el-form-item label="原户主姓名:">
46 <el-input v-model="ruleForm.mcOld"></el-input>
47 </el-form-item>
48 </el-col>
49 <el-col :span="8">
50 <el-form-item label="原户主身份证号码:">
51 <el-input v-model="ruleForm.zjhmOld"></el-input>
52 </el-form-item>
53 </el-col>
54 </el-row>
55 <el-row :gutter="10">
56 <el-col :span="8">
57 <el-form-item label="原户主联系电话:">
58 <el-input v-model="ruleForm.lxdhOld"></el-input>
59 </el-form-item>
60 </el-col>
61 <el-col :span="8">
62 <el-form-item label="新户主姓名:">
63 <el-input v-model="ruleForm.mcNew"></el-input>
64 </el-form-item>
65 </el-col>
66 <el-col :span="8">
67 <el-form-item label="新户主身份证号码:">
68 <el-input v-model="ruleForm.zjhmNew"></el-input>
69 </el-form-item>
70 </el-col>
71 </el-row>
72 <el-row :gutter="10">
73 <el-col :span="8">
74 <el-form-item label="新户主联系电话:">
75 <el-input v-model="ruleForm.lxdhNew"></el-input>
76 </el-form-item>
77 </el-col>
78 <el-col :span="8">
79 <el-form-item label="房产证编号:">
80 <el-input v-model="ruleForm.fczbh"></el-input>
81 </el-form-item>
82 </el-col>
83 <el-col :span="8">
84 <el-form-item label="是否过户:">
85 <el-switch
86 v-model="ruleForm.sfgh"
87 :active-value='1'
88 active-text="是"
89 :inactive-value="0"
90 inactive-text="否">
91 </el-switch>
92 </el-form-item>
93 </el-col>
94
95 </el-row>
96 <el-row :gutter="10">
97 <el-col :span="24">
98 <el-form-item label="房屋坐落(地址):">
99 <el-input v-model="ruleForm.fwzl" type="textarea"
100 :rows="2"></el-input>
101 </el-form-item>
102 </el-col>
103 </el-row>
104 <el-row class="btn" v-if="viewEdit">
105 <el-form-item>
106 <el-button type="primary" @click="onSubmit">保存</el-button>
107 </el-form-item>
108 </el-row>
109 </div>
110 </el-form>
111 </div>
112 </template>
113 <script>
114 import { mapGetters } from "vuex";
115 import { getDlxxByBsmSldy, saveOrUpdateDlxx } from "@/api/sfxx.js";
116 export default {
117 computed: {
118 ...mapGetters(["dictData", "flag"]),
119 },
120 mounted () {
121 // this.loading = true
122 this.viewEdit = this.$parent.currentSelectTab.ableOperation;
123 this.propsParam = this.$attrs;
124 var formdata = new FormData();
125 formdata.append("bsmSldy", this.propsParam.bsmSldy);
126 formdata.append("djlx", this.propsParam.djlx);
127 formdata.append("isEdit", this.viewEdit);
128 console.log(this.propsParam)
129 this.getDlxxByBsmSldy()
130 },
131 data () {
132 return {
133 loading: false,
134 //表单是否可操作
135 viewEdit: false,
136 ruleForm: {
137 SFGH: 1
138 }
139 }
140 },
141 methods: {
142 getDlxxByBsmSldy() {
143 getDlxxByBsmSldy(this.propsParam.bsmSldy).then((res) => {
144 if (res.code === 200) {
145 if (res.result != null) {
146 this.ruleForm = res.result
147 }
148 }
149 });
150 },
151 saveOrUpdateDlxx() {
152 saveOrUpdateDlxx(this.ruleForm).then((res) => {
153 if (res.code === 200) {
154 this.$message.success("成功")
155 }
156 });
157 },
158 onSubmit () {
159 this.saveOrUpdateDlxx()
160 }
161 }
162 }
163 </script>
164 <style scoped lang="scss">
165 @import "~@/styles/public.scss";
166 @import "~@/styles/slxx/slxx.scss";
167 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-12-29 16:35:50
5 -->
6 <template>
7 <div class='sfxx'>
8 <div class="sfxx-left">
9 <div class="slxx_title title-block">
10 基本信息
11 <div class="triangle"></div>
12 </div>
13 <ul>
14 <li>
15 <p>业务号</p>
16 <p>{{detail.ywh}}</p>
17 </li>
18 <li>
19 <p>申请登记类型</p>
20 <p>{{detail.sqdjlx}}</p>
21 </li>
22 <li>
23 <p>联系人</p>
24 <p>{{detail.lxr}}</p>
25 </li>
26 <li>
27 <p>联系人电话</p>
28 <p>{{detail.lxdh}}</p>
29 </li>
30 <li>
31 <p>缴费人</p>
32 <p><el-input v-model="detail.jfr"></el-input></p>
33 </li>
34 <li>
35 <p>缴费单号</p>
36 <p><el-input v-model="detail.jfdh"></el-input></p>
37 </li>
38 <li>
39 <p>应收金额</p>
40 <p style="color:red">{{detail.ysje}}</p>
41 </li>
42 <li>
43 <p>实收金额</p>
44 <p><el-input v-model="detail.ssje"></el-input></p>
45 </li>
46 <li>
47 <p>备注</p>
48 <p><el-input v-model="detail.bz"></el-input></p>
49 </li>
50 </ul>
51 </div>
52 <div class="sfxx-right">
53 <div class="slxx_title title-block">
54 收费明细
55 <!-- <div class="triangle"></div> -->
56 <el-button type="primary" @click="hanldeAdd" style="float:right;margin-top:-5px">增加</el-button>
57 </div>
58 <el-table :data="tableData.data" border :height="355">
59 <el-table-column v-for="item in tableData.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center">
60 </el-table-column>
61 <el-table-column label="操作" width="50">
62 <template slot-scope="scope">
63 <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
64 </template>
65 </el-table-column>
66 </el-table>
67 <div class="slxx_title title-block">
68 票据
69 <div style="height:250px">
70 <img src="../../../../image/pj.jpg" alt="" style="height:100%">
71 </div>
72 </div>
73 </div>
74 </div>
75 </template>
76 <script>
77 import { mapGetters } from "vuex";
78 import { getSfmxList, deleteSfmx } from "@/api/sfxx.js";
79 export default {
80 components: {},
81 data () {
82 return {
83 detail: {
84 ywh: '',
85 sqdjlx: '',
86 lxr: '',
87 lxdh: '',
88 jfr: '',
89 jfdh: '',
90 ysje: '',
91 ssje: '',
92 bz: ''
93 },
94 tableData: {
95 columns: [
96 {
97 prop: "sfdw",
98 label: "收费单位",
99 },
100 {
101 label: '是否额外收费',
102 align: 'center',
103 render: (h, scope) => {
104 return (
105 <div>
106 {scope.row.sfewsf == '1' ? <span></span> : <span>否</span>}
107 </div>
108 )
109 }
110 },
111 {
112 prop: "sfry",
113 label: "收费人员",
114 },
115 {
116 prop: "sfkmmc",
117 label: "收费科目名称",
118 },
119 {
120 prop: "sjffr",
121 label: "实际付费人",
122 },
123 {
124 prop: "ssje",
125 label: "实收金额",
126 },
127 {
128 prop: "ysje",
129 label: "应收金额",
130 }
131 ],
132 data: []
133 }
134 }
135 },
136 computed: {
137 ...mapGetters(["workFresh"]),
138 },
139 watch: {
140 workFresh: {
141 handler (newVal, oldVal) {
142 if (newVal) this.getList();
143 },
144 },
145 },
146 mounted () {
147 this.getList()
148 },
149 methods: {
150 getList () {
151 let bsmBusiness = this.$route.query.bsmBusiness ? this.$route.query.bsmBusiness : window.currentSelect.bsmBusiness
152 getSfmxList(bsmBusiness).then(res => {
153 this.tableData.data = res.result
154 })
155 },
156 hanldeAdd () {
157 let bsmBusiness = this.$route.query.bsmBusiness ? this.$route.query.bsmBusiness : window.currentSelect.bsmBusiness
158 this.$popupDialog('新增', 'workflow/components/dialog/xzsf', { bsmBusiness: bsmBusiness }, '50%', true)
159 },
160 handleDelete (row) {
161 let that = this
162 this.$confirm('此操作将永久删除该 是否继续?', '提示', {
163 confirmButtonText: '确定',
164 cancelButtonText: '取消',
165 type: 'warning'
166 }).then(() => {
167 deleteSfmx(row.bsmSf).then(res => {
168 if (res.code == 200) {
169 that.$message({
170 message: '删除成功!',
171 type: 'success'
172 })
173 that.getList()
174 } else {
175 that.$message({
176 type: 'info',
177 message: res.message
178 })
179 }
180 })
181 }).catch(() => {
182 this.$message({
183 type: 'info',
184 message: '已取消删除'
185 })
186 })
187
188 }
189 }
190 }
191 </script>
192 <style scoped lang='scss'>
193 @import "~@/styles/public.scss";
194 .sfxx {
195 display: flex;
196 padding: 10px;
197 height: 100%;
198 box-sizing: border-box;
199 &-left {
200 width: 50%;
201 margin-right: 10px;
202 ul {
203 border-radius: 3px;
204 }
205 li:last-child {
206 border-bottom: 1px solid #e8e5e5;
207 }
208 li {
209 display: flex;
210 border: 1px solid #e8e5e5;
211 border-bottom: none;
212
213 p:nth-child(1) {
214 width: 35%;
215 text-align: center;
216 background-color: #fafafa;
217 border-right: 1px solid #e8e5e5;
218 padding: 10px 0;
219 }
220 p:nth-child(2) {
221 width: 65%;
222 display: flex;
223 align-items: center;
224 box-sizing: border-box;
225 margin: 0 10px;
226 }
227 }
228 }
229 &-right {
230 width: 50%;
231 margin-left: 10px;
232 }
233 }
234 </style>
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-11 15:32:32
5 */
6 import filter from '@/utils/filter.js'
7 let vm = null
8
9 const sendThis = (_this) => {
10 vm = _this
11 }
12 class data1 extends filter {
13 constructor() {
14 super()
15 }
16 columns () {
17 return [
18 {
19 prop: "sqrmc",
20 label: "姓名/名称",
21 },
22 {
23 prop: "zjzlMc",
24 label: "证件种类"
25 },
26 {
27 prop: "zjh",
28 label: "证件号",
29 },
30 {
31 prop: "frmc",
32 label: "法人名称",
33 },
34 {
35 prop: "dwdz",
36 label: "地址",
37 },
38 {
39 prop: "dh",
40 label: "联系电话",
41 }
42 ]
43 }
44
45 }
46 class data2 extends filter {
47 constructor() {
48 super()
49
50 }
51 columns () {
52 return [
53 {
54 prop: "sqrmc",
55 label: "姓名/名称",
56 },
57 {
58 prop: "zjzlMc",
59 label: "证件种类",
60 },
61 {
62 prop: "zjh",
63 label: "证件号",
64 },
65 {
66 prop: "frmc",
67 label: "法人名称",
68 },
69 {
70 prop: "dwdz",
71 label: "地址",
72 },
73 {
74 prop: "dh",
75 label: "联系电话",
76 },
77 ]
78 }
79
80 }
81 let dataYh = new data1()
82 let dataQy = new data2()
83 export {
84 dataYh,
85 dataQy,
86 sendThis
87 }
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-17 13:51:29
5 -->
6 <template>
7 <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData">
8 </lb-table>
9 </template>
10 <script>
11 import { mapGetters } from 'vuex';
12 export default {
13 computed: {
14 ...mapGetters(["dictData"]),
15 },
16 props: {
17 tableData: {
18 type: Array,
19 default: function () {
20 return []
21 }
22 }
23 },
24 data () {
25 return {
26 key: 0,
27 column: [
28 {
29 label: '序号',
30 type: 'index',
31 width: '50',
32 render: (h, scope) => {
33 return (
34 <div>
35 {scope.$index + 1}
36 </div>
37 )
38 }
39 },
40 {
41 prop: "yg",
42 label: "原告"
43 },
44 {
45 prop: "cfjg",
46 label: "查封机关"
47 },
48 {
49 prop: "cfwh",
50 label: "查封文号"
51 },
52 {
53 prop: "cfqssj",
54 label: "查封开始时间"
55 },
56 {
57 prop: "cfjssj",
58 label: "查封结束时间"
59 },
60 {
61 prop: "cflxmc",
62 label: "查封类型"
63 },
64 {
65 prop: "ywrmc",
66 label: "被执行人"
67 },
68 {
69 prop: "bcfzh",
70 label: "被查封证号"
71 },
72 {
73 prop: "bdcdyh",
74 label: "不动产单元号"
75 },
76 {
77 prop: "zl",
78 label: "坐落"
79 }
80 ]
81 }
82 },
83 methods: {
84 }
85 }
86 </script>
87 <style scoped lang='scss'>
88 /deep/.el-table th {
89 height: 30px !important;
90 }
91 /deep/.el-table--small .el-table__cell {
92 padding: 5px;
93 }
94 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-17 13:51:29
5 -->
6 <template>
7 <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData">
8 </lb-table>
9 </template>
10 <script>
11 import { mapGetters } from 'vuex'
12 export default {
13 computed: {
14 ...mapGetters(["dictData"]),
15 },
16 props: {
17 tableData: {
18 type: Array,
19 default: function () {
20 return []
21 }
22 }
23 },
24 data () {
25 return {
26 key: 0,
27 column: [
28 {
29 label: '序号',
30 type: 'index',
31 width: '50',
32 render: (h, scope) => {
33 return (
34 <div>
35 {scope.$index + 1}
36 </div>
37 )
38 }
39 },
40 {
41 prop: "qlrmc",
42 label: "抵押权人"
43 },
44 {
45 prop: "ywrmc",
46 label: "抵押人"
47 },
48 {
49 prop: "bdcqzh",
50 label: "不动产登记证明号"
51 },
52 {
53 prop: "dyjelx",
54 label: "抵押金额类型"
55 },
56 {
57 prop: "dyfsmc",
58 label: "抵押方式"
59 },
60 {
61 prop: "qdjgmc",
62 label: "抵押金额"
63 },
64 {
65 prop: "qlmjmc",
66 label: "抵押面积"
67 },
68 {
69 prop: "zwlxqssj",
70 label: "债务履行开始时间"
71 },
72 {
73 prop: "zwlxjssj",
74 label: "债务履行结束时间"
75 },
76 {
77 prop: "bdcdyh",
78 label: "不动产单元号"
79 },
80 {
81 prop: "zl",
82 label: "坐落"
83 }
84 ]
85 }
86 },
87 methods: {
88 }
89 }
90 </script>
91 <style scoped lang='scss'>
92 /deep/.el-table th {
93 height: 30px !important;
94 }
95 /deep/.el-table--small .el-table__cell {
96 padding: 5px;
97 }
98 </style>
1 <!--
2 * @Description: 房屋多幢明细
3 * @Autor:
4 * @LastEditTime: 2023-09-01 13:29:29
5 -->
6 <template>
7 <div>
8 <el-table
9 :data="tableDataList"
10 border
11 :pagination="false"
12 :key="key"
13 :header-cell-style="{ 'text-align': 'center' }"
14 :heightNumSetting="true"
15 :minHeight="150"
16 height="150"
17 style="width: 100%">
18 <el-table-column prop="index" width="50" :render-header="renderHeader">
19 <template slot-scope="scope">
20 <div style="text-align: center">{{ scope.$index + 1 }}</div>
21 </template>
22 </el-table-column>
23 <el-table-column prop="bdcdyh" label="不动产单元号" min-width="100">
24 <template slot-scope="scope">
25 <div style="text-align: center">{{ scope.row.bdcdyh }}</div>
26 </template>
27 </el-table-column>
28 <el-table-column prop="xmmc" label="项目名称" min-width="100">
29 <template slot-scope="scope">
30 <el-input
31 class="item"
32 :disabled="!ableOperation"
33 v-model="scope.row.xmmc"
34 placeholder="请输入内容"
35 @input="updaterow(scope.row)">
36 </el-input>
37 </template>
38 </el-table-column>
39 <el-table-column prop="fwxz" label="房屋性质" min-width="100">
40 <template slot-scope="scope">
41 <treeselect
42 v-model="scope.row.fwxz"
43 :disabled="!ableOperation"
44 noOptionsText="暂无数据"
45 placeholder=""
46 :show-count="true"
47 :options="dictData['A19']"
48 :normalizer="normalizer"
49 :appendToBody="true"
50 z-index="9999"
51 @input="updaterow(scope.row)" />
52 </template>
53 </el-table-column>
54 <el-table-column prop="ghyt" label="房屋用途" min-width="100">
55 <template slot-scope="scope">
56 <treeselect
57 v-model="scope.row.ghyt"
58 :disabled="!ableOperation"
59 noOptionsText="暂无数据"
60 placeholder=""
61 :show-count="true"
62 :options="dictData['A17']"
63 :normalizer="normalizer"
64 :appendToBody="true"
65 z-index="9999"
66 @input="updaterow(scope.row)" />
67 </template>
68 </el-table-column>
69 <el-table-column prop="fwjg" label="房屋结构" min-width="100">
70 <template slot-scope="scope">
71 <treeselect
72 v-model="scope.row.fwjg"
73 :disabled="!ableOperation"
74 noOptionsText="暂无数据"
75 placeholder=""
76 :show-count="true"
77 :options="dictData['A46']"
78 :normalizer="normalizer"
79 :appendToBody="true"
80 z-index="9999"
81 @input="updaterow(scope.row)" />
82 </template>
83 </el-table-column>
84 <el-table-column prop="jzmj" label="建筑面积" min-width="100">
85 <template slot-scope="scope">
86 <el-input
87 maxlength="12"
88 class="item"
89 :disabled="!ableOperation"
90 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"
91 v-model="scope.row.jzmj"
92 placeholder="请输入内容"
93 @input="updaterow(scope.row)">
94 </el-input>
95 </template>
96 </el-table-column>
97 <el-table-column prop="jgsj" label="竣工时间" min-width="100">
98 <template slot-scope="scope">
99 <el-date-picker
100 v-model="scope.row.jgsj"
101 type="date"
102 :disabled="!ableOperation"
103 placeholder="选择日期"
104 value-format="yyyy-MM-dd HH:mm:ss"
105 format="yyyy-MM-dd"
106 @input="updaterow(scope.row)">
107 </el-date-picker>
108 </template>
109 </el-table-column>
110 <el-table-column prop="zcs" label="总层数" min-width="100">
111 <template slot-scope="scope">
112 <el-input
113 class="item"
114 :disabled="!ableOperation"
115 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"
116 v-model="scope.row.zcs"
117 placeholder="请输入内容"
118 @input="updaterow(scope.row)">
119 </el-input>
120 </template>
121 </el-table-column>
122 <el-table-column prop="zts" label="总套数" min-width="100">
123 <template slot-scope="scope">
124 <el-input
125 class="item"
126 :disabled="!ableOperation"
127 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"
128 v-model="scope.row.zts"
129 placeholder="请输入内容"
130 @input="updaterow(scope.row)">
131 </el-input>
132 </template>
133 </el-table-column>
134 </el-table>
135 </div>
136 </template>
137 <script>
138 import { mapGetters } from "vuex";
139
140 export default {
141 computed: {
142 ...mapGetters(["dictData"]),
143 },
144 props: {
145 tableData: {
146 type: Array,
147 default: function () {
148 return [];
149 },
150 },
151 ableOperation: {
152 type: Boolean,
153 default: false,
154 },
155
156 },
157 data () {
158 return {
159 // 键名转换,方法默认是label和children进行树状渲染
160 key: 0,
161 tableDataList: [],
162 normalizer (node) {
163 if (node.children == null || node.children == "null") {
164 delete node.children;
165 }
166 return {
167 id: node.dcode,
168 label: node.dname,
169 children: node.children,
170 };
171 },
172 };
173 },
174 mounted () {
175 },
176 watch: {
177 tableData: {
178 handler: function (val, oldVal) {
179 let that = this;
180 this.$nextTick(() => {
181 if (val.length == 0 || !val) {
182 that.tableDataList = _.cloneDeep([
183 {
184 yt: null,
185 qssj: "",
186 jssj: "",
187 tdsyqx: "",
188 },
189 ]);
190 } else {
191 that.tableDataList = _.cloneDeep(val);
192 }
193 });
194 },
195 immediate: true,
196 deep: true,
197 },
198 },
199 methods: {
200 /**
201 * @description: renderHeader
202 * @author: renchao
203 */
204 renderHeader () {
205 return (
206 <div>
207 {"序号"}
208 </div>
209 );
210 },
211 updaterow (a) {
212 this.$emit("updateFdcwxmList", this.tableDataList);
213 }
214 }
215 }
216 </script>
217 <style scoped lang="scss">
218 .el-input {
219 border: none !important;
220 }
221
222 /deep/ .el-table__row {
223 border: none !important;
224 }
225
226 .el-date-editor.el-input {
227 width: 100%;
228 }
229
230 /deep/ .el-table th {
231 height: 30px !important;
232 }
233 </style>
234
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-17 13:50:53
5 -->
6 <template>
7 <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData">
8 </lb-table>
9 </template>
10 <script>
11 import { mapGetters } from 'vuex'
12 export default {
13 computed: {
14 ...mapGetters(["dictData"]),
15 },
16 props: {
17 tableData: {
18 type: Array,
19 default: function () {
20 return []
21 }
22 }
23 },
24 data () {
25 return {
26 key: 0,
27 column: [
28 {
29 label: '序号',
30 type: 'index',
31 width: '50',
32 render: (h, scope) => {
33 return (
34 <div>
35 {scope.$index + 1}
36 </div>
37 )
38 }
39 },
40 // {
41 // prop: "bdcdyh",
42 // label: "不动产单元号"
43 // },
44 {
45 prop: "zl",
46 label: "坐落"
47 },
48 {
49 prop: "shbw",
50 label: "室号部位"
51 },
52 {
53 prop: "fwxzmc",
54 label: "房屋性质"
55 },
56 {
57 prop: "sjc",
58 label: "层号"
59 },
60 {
61 prop: "jzmj",
62 label: "建筑面积"
63 },
64 {
65 prop: "fwlxmc",
66 label: "房屋类型"
67 },
68 {
69 prop: "showfwyt",
70 label: "房屋用途"
71 },
72 {
73 prop: "showfwjg",
74 label: "房屋结构"
75 },
76 ]
77 }
78 },
79 methods: {
80 }
81 }
82 </script>
83 <style scoped lang="scss">
84 /deep/.el-table th {
85 height: 30px !important;
86 }
87 /deep/.el-table--small .el-table__cell {
88 padding: 5px;
89 }
90 </style>
91
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-17 13:51:29
5 -->
6 <template>
7 <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData">
8 </lb-table>
9 </template>
10 <script>
11 import { mapGetters } from 'vuex'
12 export default {
13 computed: {
14 ...mapGetters(["dictData"]),
15 },
16 props: {
17 tableData: {
18 type: Array,
19 default: function () {
20 return []
21 }
22 }
23 },
24 data () {
25 return {
26 key: 0,
27 column: [
28 {
29 label: '序号',
30 type: 'index',
31 width: '50',
32 render: (h, scope) => {
33 return (
34 <div>
35 {scope.$index + 1}
36 </div>
37 )
38 }
39 },
40 {
41 prop: "qllxmc",
42 label: "权利类型"
43 },
44 {
45 prop: "bdcqzh",
46 label: "不动产权证号"
47 },
48 {
49 prop: "qlrmc",
50 label: "权利人"
51 },
52 {
53 prop: "qlrzjhm",
54 label: "证件号码"
55 },
56 {
57 prop: "bdcdyh",
58 label: "不动产单元号"
59 },
60 {
61 prop: "qlxzmc",
62 label: "权利性质"
63 },
64 {
65 prop: "qlytmc",
66 label: "用途"
67 },
68 {
69 prop: "qlmjmc",
70 label: "面积"
71 },
72 {
73 prop: "zl",
74 label: "坐落"
75 },
76 ]
77 }
78 },
79 methods: {
80 }
81 }
82 </script>
83 <style scoped lang='scss'>
84 /deep/.el-table th {
85 height: 30px !important;
86 }
87 /deep/.el-table--small .el-table__cell {
88 padding: 5px;
89 }
90 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-18 14:13:02
5 -->
6 <template>
7 <div>
8 <el-table
9 :data="tableDataList"
10 border
11 :pagination="false"
12 :key="key"
13 :header-cell-style="{ 'text-align': 'center' }"
14 :heightNumSetting="true"
15 style="width: 100%">
16 <el-table-column prop="index" width="50" :render-header="renderHeader">
17 <template slot-scope="scope">
18 <i
19 class="el-icon-minus pointer"
20 @click="deleClick(scope.$index, scope.row)"
21 v-if="ableOperation"></i>
22 <div style="text-align: center" v-else>
23 {{ scope.$index + 1 }}
24 </div>
25 </template>
26 </el-table-column>
27 <el-table-column prop="yt" label="土地用途" min-width="100">
28 <template slot-scope="scope">
29 <treeselect
30 v-model="scope.row.yt"
31 :disabled="!ableOperation"
32 noOptionsText="暂无数据"
33 placeholder=""
34 :show-count="true"
35 :options="dictData['tdyt']"
36 :normalizer="normalizer"
37 :appendToBody="true"
38 z-index="9999"
39 @input="addrow(scope.row)" />
40 </template>
41 </el-table-column>
42 <el-table-column prop="qssj" label="土地使用起始时间" min-width="100">
43 <template slot-scope="scope">
44 <el-date-picker
45 v-model="scope.row.qssj"
46 type="date"
47 :disabled="!ableOperation"
48 :picker-options="scope.row.pickerStart"
49 placeholder="选择日期"
50 value-format="yyyy-MM-dd HH:mm:ss"
51 format="yyyy-MM-dd"
52 @input="startTime(scope.$index)">
53 </el-date-picker>
54 </template>
55 </el-table-column>
56 <el-table-column prop="jssj" label="土地使用结束时间" min-width="100">
57 <template slot-scope="scope">
58 <el-date-picker
59 v-model="scope.row.jssj"
60 type="date"
61 :disabled="!ableOperation"
62 :picker-options="scope.row.pickerEnd"
63 placeholder="选择日期"
64 value-format="yyyy-MM-dd HH:mm:ss"
65 format="yyyy-MM-dd"
66 @input="endTime(scope.$index)">
67 </el-date-picker>
68 </template>
69 </el-table-column>
70 <el-table-column prop="tdsyqx" label="土地使用期限" min-width="100">
71 <template slot-scope="scope">
72 <el-input
73 class="item"
74 :disabled="!ableOperation"
75 v-model="scope.row.tdsyqx"
76 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"
77 placeholder="请输入内容"
78 @input="sumTime(scope.$index, scope.row.tdsyqx)">
79 ></el-input>
80 </template>
81 </el-table-column>
82 </el-table>
83 </div>
84 </template>
85 <script>
86 import { mapGetters } from "vuex";
87 export default {
88 computed: {
89 ...mapGetters(["dictData"]),
90 },
91 props: {
92 tableData: {
93 type: Array,
94 default: function () {
95 return [];
96 },
97 },
98 ableOperation: {
99 type: Boolean,
100 default: true,
101 },
102 },
103 data () {
104 return {
105 // 键名转换,方法默认是label和children进行树状渲染
106 key: 0,
107 newdata: {
108 yt: null,
109 qssj: "",
110 jssj: "",
111 tdsyqx: "",
112 },
113 tableDataList: [],
114 // 起始时间选择范围
115 pickerStart: {},
116 pickerEnd: {},
117 normalizer (node) {
118 if (node.children == null || node.children == "null") {
119 delete node.children;
120 }
121 return {
122 id: node.dcode,
123 label: node.dname,
124 children: node.children,
125 };
126 },
127 };
128 },
129 mounted () { },
130 watch: {
131 tableData: {
132 handler: function (val, oldVal) {
133 let that = this;
134 this.$nextTick(() => {
135 if (!val || val.length == 0) {
136 that.tableDataList = _.cloneDeep([
137 {
138 yt: null,
139 qssj: "",
140 jssj: "",
141 tdsyqx: "",
142 },
143 ]);
144 } else {
145 that.tableDataList = _.cloneDeep(val);
146 }
147 });
148 },
149 immediate: true,
150 deep: true,
151 },
152 },
153 methods: {
154 /**
155 * @description: renderHeader
156 * @author: renchao
157 */
158 renderHeader () {
159 return (
160 <div>
161 {" "}
162 {!this.ableOperation ? (
163 "序号"
164 ) : (
165 <i
166 class="el-icon-plus pointer"
167 onClick={() => {
168 this.addClick();
169 }}
170 ></i>
171 )}
172 </div>
173 );
174 },
175 // 修改事件
176 /**
177 * @description: 修改事件
178 * @author: renchao
179 */
180 addrow (a) {
181 // this.tableDataList = this.tableDataList.map((item) => {
182 // return {
183 // ...item,
184 // yt: a.yt,
185 // };
186 // });
187 this.$emit("upDateTdytxxList", this.tableDataList);
188 },
189 /**
190 * @description: startTime
191 * @param {*} index
192 * @author: renchao
193 */
194 startTime (index) {
195 console.log("index", index);
196 // let startTime = this.tableDataList[index].tdsyqssj;
197 let endTime = this.tableDataList[index].jssj;
198 let startTime = this.tableDataList[index].qssj;
199 this.tableDataList[index].pickerEnd = {
200 disabledDate: (time) => {
201 if (Object.keys(startTime).length > 0) {
202 return new Date(startTime).getTime() > time.getTime();
203 } else {
204 return time.getTime() < Date.now();
205 }
206 },
207 };
208 if (startTime && endTime) {
209 let startYear = new Date(startTime).getFullYear();
210 let endYear = new Date(endTime).getFullYear();
211 this.tableDataList[index].tdsyqx = endYear - startYear;
212 }
213 this.$emit("upDateTdytxxList", this.tableDataList);
214 },
215 /**
216 * @description: endTime
217 * @param {*} index
218 * @author: renchao
219 */
220 endTime (index) {
221 // let startTime = this.tableDataList[index].tdsyqssj;
222 let startTime = this.tableDataList[index].qssj;
223 let endTime = this.tableDataList[index].jssj;
224 this.tableDataList[index].pickerStart = {
225 disabledDate: (time) => {
226 if (Object.keys(endTime).length > 0) {
227 return new Date(endTime).getTime() < time.getTime();
228 } else {
229 return time.getTime() > Date.now();
230 }
231 },
232 };
233 if (startTime && endTime) {
234 let startYear = new Date(startTime).getFullYear();
235 let endYear = new Date(endTime).getFullYear();
236 this.tableDataList[index].tdsyqx = endYear - startYear;
237 }
238 this.$emit("upDateTdytxxList", this.tableDataList);
239 },
240 /**
241 * @description: sumTime
242 * @param {*} index
243 * @param {*} tdsyqx
244 * @author: renchao
245 */
246 sumTime (index, tdsyqx) {
247 let startTime = this.tableDataList[index].qssj;
248 this.tableDataList[index].jssj =
249 Number(startTime.substring(0, 4)) +
250 Number(tdsyqx) +
251 startTime.slice(4, 19);
252 this.$emit("upDateTdytxxList", this.tableDataList);
253 },
254 // 新增
255 /**
256 * @description: 新增
257 * @author: renchao
258 */
259 addClick () {
260 // this.tableDataList[this.tableDataList.length] = _.cloneDeep(this.newdata);
261 this.tableDataList.push(_.cloneDeep(this.newdata))
262 this.$emit("upDateTdytxxList", this.tableDataList);
263 },
264
265 // 删除
266 /**
267 * @description: 删除
268 * @param {*} index
269 * @param {*} row
270 * @author: renchao
271 */
272 deleClick (index, row) {
273 this.$confirm("确定要删除吗, 是否继续?", "提示", {
274 confirmButtonText: "确定",
275 cancelButtonText: "取消",
276 type: "warning",
277 })
278 .then(() => {
279 this.tableDataList.splice(index, 1);
280 this.$emit("upDateTdytxxList", this.tableDataList);
281 })
282 .catch(() => { });
283 },
284 },
285 };
286 </script>
287 <style scoped lang="scss">
288 .el-input {
289 border: none !important;
290 }
291 /deep/.el-table__row {
292 border: none !important;
293 }
294 .el-date-editor.el-input {
295 width: 100%;
296 }
297 /deep/.el-table th {
298 height: 30px !important;
299 }
300 /deep/ .el-table--border .el-table__cell:first-child .cell {
301 text-align: center;
302 }
303 /deep/.el-table--small .el-table__cell {
304 padding: 3px 0 !important;
305 }
306 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-18 14:55:20
5 -->
6 <template>
7 <div>
8 <lb-table :column="column" :pagination="false" :key="key" :heightNumSetting="true" :minHeight="0" :rowStyleHeight='25'
9 :data="tableDataList">
10 </lb-table>
11 <addSqr v-model="dialog" :details="details" :showButton="disabled" @updateDetail="handleupdateDetail" />
12 </div>
13 </template>
14 <script>
15 import { mapGetters } from 'vuex'
16 import { getIdCardInfo } from '@/utils/operation.js'
17 import addSqr from './addSqr.vue'
18 export default {
19 components: {
20 addSqr
21 },
22 computed: {
23 ...mapGetters(["dictData"]),
24 },
25 props: {
26 tableData: {
27 type: Array,
28 default: function () {
29 return []
30 }
31 },
32 disabled: {
33 type: Boolean,
34 default: true
35 }
36 },
37 data () {
38 return {
39 key: 0,
40 dataIndex: 0,
41 dialog: false,
42 isaddupdate: false,
43 details: {},
44 tableDataList: [],
45 InformationTable: [
46 {
47 width: '50',
48 renderHeader: (h, scope) => {
49 return <div> {
50 !this.disabled ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.addClick() }}></i>
51 }
52 </div>
53 },
54 render: (h, scope) => {
55 return (
56 <div>
57 {
58 !this.disabled ? <span>{scope.$index + 1}</span> :
59 <i class="el-icon-minus pointer" onClick={() => { this.deleClick(scope.$index, scope.row) }}></i>
60 }
61 </div>
62 )
63 }
64 },
65 {
66 label: '身份证读卡器',
67 align: 'center',
68 render: (h, scope) => {
69 return <el-button type="text" icon="el-icon-tickets" disabled={!this.disabled} onClick={() => { this.readClick(scope.row) }}>读取</el-button>
70 }
71 },
72 {
73 prop: "sqrmc",
74 label: "姓名/名称"
75 },
76 {
77 prop: "zjzl",
78 label: "证件种类",
79 render: (h, scope) => {
80 return this.dictData['A30'] && this.dictData['A30'].map(option => {
81 if (option.dcode == scope.row.zjzl) {
82 return <span>{option.dname}</span>
83 }
84 })
85 }
86 },
87 {
88 prop: "zjh",
89 label: "证件号"
90 },
91 {
92 prop: "dh",
93 label: "联系电话"
94 },
95 {
96 label: '操作',
97 render: (h, scope) => {
98 return (
99 <div>
100 {
101 this.disabled ? <el-button
102 icon="el-icon-edit-outline"
103 type="text"
104 onClick={() => { this.editClick(scope.$index, scope.row) }}>编辑</el-button> : <el-button
105 icon="el-icon-view"
106 type="text"
107 onClick={() => { this.queryViewClick(scope.$index, scope.row) }} > 查看</el-button>
108 }
109 </div>
110 )
111 }
112 }
113 ],
114 column: []
115 }
116 },
117 watch: {
118 tableData: {
119 handler: function (val, oldVal) {
120 let that = this
121 this.$nextTick(() => {
122 if (val.length == 0 || !val) {
123 } else {
124 that.tableDataList = _.cloneDeep(val)
125 that.key++
126 }
127 })
128 },
129 immediate: true,
130 deep: true
131 }
132 },
133 methods: {
134 /**
135 * @description: handleupdateDetail
136 * @param {*} value
137 * @author: renchao
138 */
139 handleupdateDetail (value) {
140 let that = this
141 let arr = this.tableData.map(item => item.zjh)
142 if (this.isaddupdate) {
143 if (!_.isEqual(value, this.tableData)) {
144 this.tableDataList[this.tableDataList.length] = _.cloneDeep(value);
145 this.$emit("upDateQlrxxList", this.tableDataList);
146 }
147 } else {
148 if (!_.isEqual(value, this.tableData)) {
149 this.tableDataList[this.dataIndex] = _.cloneDeep(value);
150 this.$emit("upDateQlrxxList", this.tableDataList);
151 }
152 }
153 this.key++
154 },
155 /**
156 * @description: 新增
157 * @author: renchao
158 */
159 addClick () {
160 if (this.gyfs == '0' && this.tableDataList.length > 0) {
161 this.$message.warning("当前共有方式为单独所有,无法添加多个权利人")
162 } else {
163 this.key++
164 this.details = {
165 sqrmc: '',
166 zjzl: '1',
167 zjh: '',
168 xb: '',
169 txdz: '',
170 fzjg: ''
171 }
172 this.dialog = true
173 this.isaddupdate = true
174 }
175 },
176
177 /**
178 * @description: 删除
179 * @param {*} index
180 * @param {*} row
181 * @author: renchao
182 */
183 deleClick (index, row) {
184 this.tableDataList.splice(index, 1)
185 this.$emit('upDateQlrxxList', this.tableDataList)
186 this.key++
187 },
188 /**
189 * @description: 身份证读取
190 * @param {*} row
191 * @author: renchao
192 */
193 readClick (row) {
194 function getObjectByValue (arrayOfObjects, value) {
195 var name = ''
196 arrayOfObjects.forEach(item => {
197 if (item.dname.includes(value)) name = item.dcode
198 })
199 return name
200 }
201 getIdCardInfo(this.BASE_API.gaopaiyi).then(res => {
202 if (this.BASE_API.gaopaiyi == 'jy') {
203 const {
204 Name,
205 IdNo,
206 Sex,
207 Address,
208 Agencvy,
209 PhotoB64
210 } = JSON.parse(res)
211 if (Name != '') {
212 row.sqrmc = Name;
213 row.zjzl = '1';
214 row.zjh = IdNo;
215 row.xb = getObjectByValue(this.dictData['A43'], Sex);
216 row.txdz = Address;
217 row.fzjg = Agencvy;
218 row.avatar = 'data:image/png;base64,' + PhotoB64
219 this.$message({
220 message: '读取成功!',
221 type: 'success'
222 })
223 } else {
224 this.$message({
225 message: '请放置身份证',
226 type: 'warning'
227 })
228 }
229 } else {
230 if (res.data.code == 0) {
231 let data = res.data.IDCardInfo;
232 const {
233 name,
234 cardID: zjh,
235 sexCode: xb,
236 address: txdz,
237 issueOrgan: fzjg,
238 photoBase64
239 } = data
240 row.sqrmc = name;
241 row.zjzl = '1';
242 row.zjh = zjh;
243 row.xb = xb
244 row.txdz = txdz;
245 row.fzjg = fzjg;
246 row.avatar = 'data:image/png;base64,' + photoBase64
247 this.$message({
248 message: '读取成功!',
249 type: 'success'
250 })
251 } else {
252 this.$message({
253 message: res.data.message,
254 type: 'warning'
255 })
256 }
257 }
258 this.$emit('upDateQlrxxList', this.tableDataList)
259 })
260 },
261 /**
262 * @description: 修改
263 * @param {*} index
264 * @param {*} row
265 * @author: renchao
266 */
267 editClick (index, row) {
268 this.details = row
269 this.details.gyfs = this.gyfs
270 this.dataIndex = index
271 this.dialog = true
272
273
274 this.isaddupdate = false
275 },
276 /**
277 * @description: queryViewClick
278 * @param {*} index
279 * @param {*} row
280 * @author: renchao
281 */
282 queryViewClick (index, row) {
283 this.details = row
284 this.dialog = true
285 }
286 }
287 }
288 </script>
289 <style scoped lang="scss">
290 /deep/.el-table--small .el-table__cell {
291 padding: 0 0 !important;
292 }
293 /deep/.el-table th {
294 height: 30px !important;
295 }
296 /deep/.el-table .cell {
297 padding-right: 12px;
298 }
299 </style>
1 <!--
2 * @Description: 审批意见
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-26 08:46:38
5 -->
6 <template>
7 <div class="spyj" v-Loading="loading">
8 <div class="box">
9 <div class="spyj_title">
10 <div class="righttitle">审批表</div>
11 </div>
12
13 <div v-for="(item, index) in tableData" :key="index">
14 <el-form
15 :model="tableData[index]"
16 label-width="120px"
17 ref="ruleForm'">
18 <div class="spyj_form">
19 <div class="item_left">
20 <div class="right">{{ item.jdmc }}意见</div>
21 </div>
22 <div class="item_right">
23 <el-row>
24 <el-col :span="24">
25 <el-form-item
26 label-width="0"
27 class="opinion_item">
28 <el-input
29 :disabled="!viewEdit || item.show"
30 type="textarea"
31 :rows="4"
32 class="opinion"
33 placeholder=""
34 v-model="item.shyj"></el-input>
35 <el-button
36 class="opinion_btn"
37 @click="commonOpinion(index)"
38 :disabled="!viewEdit|| item.show">常用意见</el-button>
39 </el-form-item>
40 </el-col>
41 </el-row>
42 <el-row>
43 <el-col :span="16">
44 <el-form-item label="审查人">
45 {{ item.shryxm }}
46 </el-form-item>
47 </el-col>
48 <el-col :span="8">
49 <el-form-item disabled label="审核时间" :key="refresh">
50 {{ item.shjssj }}
51 </el-form-item>
52 </el-col>
53 </el-row>
54 </div>
55 </div>
56 </el-form>
57 </div>
58 <div class="submit_button" v-if="viewEdit">
59 <el-button type="primary" :disabled="shows" @click="onSubmit()">保存</el-button>
60 </div>
61 </div>
62 </div>
63 </template>
64 <script>
65 import { saveSpyjBySlsq, getSpyjList } from "@/api/opinion.js";
66 import { mapGetters } from "vuex";
67 import { getNewDatesh } from "@/utils/util";
68 export default {
69 computed: {
70 ...mapGetters(["dqhj", "yjsqOptions", "userInfo"]),
71 },
72 data () {
73 return {
74 loading: false,
75 currentindex: 0,
76 refresh: 10,
77 viewEdit: false,
78 bsmSlsq: this.$route.query.bsmSlsq,
79 bestepid: this.$route.query.bestepid,
80 propsParam: {},
81 tableData: [],
82 shows: false,
83 };
84 },
85
86 watch: {
87 yjsqOptions: {
88 handler (val) {
89 this.add(val.opinion);
90 },
91 deep: true,
92 immediate: true,
93 },
94 dqhj: {
95 handler (val) {
96 this.propsParam = this.$attrs;
97 this.dataset()
98 this.getShList();
99
100 },
101 deep: true,
102 immediate: true,
103 },
104
105 },
106 methods: {
107 /**
108 * @description: dataset
109 * @param {*} 数据处理
110 * @author: renchao
111 */
112 dataset () {
113 this.viewEdit = this.$parent.currentSelectTab.ableOperation;
114 },
115 /**
116 * @description: getShList
117 * @param {*} obj
118 * @author: renchao
119 */
120 getShList () {
121 this.loading = true
122 var formdata = new FormData();
123 formdata.append("bsmBusiness", this.propsParam.bsmBusiness);
124 formdata.append("bestepid", this.$route.query.bestepid);
125
126 getSpyjList(formdata).then((res) => {
127 if (res.code === 200 && res.result) {
128 this.tableData = res.result;
129 if (this.shows) {
130 this.shows = false;
131 }
132 var index = this.tableData.findIndex(
133 (item) => item.jddm === this.$parent.dqhj
134 );
135 console.log("this.tableData111",this.tableData);
136 if (index == -1) {
137 switch (this.$parent.dqhj) {
138 case "cs":
139 this.tableData.push({ jdmc: "初审", jddm: "cs", sxh: 1 });
140 break;
141 case "fs":
142 this.tableData.push({ jdmc: "复审", jddm: "fs", sxh: 2 });
143 break;
144 case "hd":
145 this.tableData.push({ jdmc: "核定", jddm: "hd", sxh: 3 });
146 break;
147 }
148 console.log("this.tableData222",this.tableData);
149 }
150 this.tableData.forEach((item) => {
151 item.show = true;
152 if (this.$parent.dqhj == item.jddm) {
153 item["stepid"] = this.$route.query.bestepid;
154 item.shjssj = getNewDatesh();
155 item.shkssj = getNewDatesh();
156 item["shryxm"] = this.userInfo.name;
157 item["userid"] = this.userInfo.id;
158 item.show = false;
159 }
160 console.log("this.tableData333",this.tableData);
161 });
162 this.loading = false
163 }
164 })
165 },
166 /**
167 * @description: onSubmit
168 * @author: renchao
169 */
170 onSubmit () {
171
172 this.tableData.forEach((item, index) => {
173 item["bsmBusiness"] = this.propsParam.bsmBusiness;
174 item["czjg"] = "1";
175 });
176 var index = this.tableData.findIndex(
177 (item) => item.shyj == null || item.shyj == ""
178 );
179 if (index == -1) {
180 this.shows = true;
181 saveSpyjBySlsq(this.tableData).then((res) => {
182 if (res.code === 200) {
183 this.$message.success("保存成功");
184 this.refresh += 1;
185 this.getShList();
186 } else {
187 this.$message.error(res.message);
188 }
189 });
190 } else {
191 this.$message.error("意见不能为空");
192 }
193
194 },
195 //打开常用意见列表弹窗
196 /**
197 * @description: 打开常用意见列表弹窗
198 * @param {*} index
199 * @author: renchao
200 */
201 commonOpinion (index) {
202 this.currentindex = index;
203 this.$popupDialog(
204 "常用意见",
205 "workflow/components/dialog/commonOpinion",
206 {},
207 "70%",
208 true
209 );
210 },
211 /**
212 * @description: add
213 * @param {*} val
214 * @author: renchao
215 */
216 add (val) {
217 if (val != "" && this.tableData.length > 0) {
218 this.$set(this.tableData[this.currentindex], "shyj", val);
219 }
220 },
221 },
222 };
223 </script>
224 <style scoped lang="scss">
225 @import "~@/styles/mixin.scss";
226
227 .spyj {
228 width: 100%;
229 height: 100%;
230 background-color: #f5f5f5;
231 .box {
232 overflow-x: auto;
233 width: 100%;
234 height: 95%;
235 background: #fff;
236 text-align: center;
237 padding: 4px;
238 overflow-y: scroll;
239 padding-top: 20px;
240 padding: 20px 40px;
241 .spyj_title {
242 width: 100%;
243 height: 80px;
244 border: 1px solid $borderColor;
245 background-color: #eceef2;
246 display: flex;
247 }
248 .leftadd {
249 width: 3%;
250 height: 100%;
251 display: flex;
252 font-size: 14px;
253 text-indent: 20px;
254 align-items: center;
255 border: 1px solid $borderColor;
256 }
257 .righttitle {
258 width: 80%;
259 height: 100%;
260 line-height: 80px;
261 border: 1px solid $borderColor;
262 margin: auto;
263 font-size: 22px;
264 font-weight: 400;
265 }
266 }
267
268 /deep/.el-form-item {
269 margin-bottom: 0;
270 }
271
272 .bottom10 {
273 margin-bottom: 15px;
274 }
275
276 .spyj_form {
277 display: flex;
278 border: 1px solid $borderColor;
279
280 .item_left {
281 width: 150px;
282 background-color: #f8f8fa;
283 color: #606266;
284 display: flex;
285 font-size: 14px;
286 text-indent: 50px;
287 align-items: center;
288 border-right: 1px solid $borderColor;
289 }
290
291 .item_right {
292 flex: 1;
293 width: 100%;
294
295 /deep/.el-form-item__label {
296 background-color: #f8f8fa;
297 }
298 /deep/.el-form-item__content {
299 display: block;
300 text-align: left;
301 }
302 .opinion_item {
303 /deep/.el-form-item__error {
304 margin-top: -16px !important;
305 left: 3px;
306 }
307 border-bottom: 1px solid $borderColor;
308 }
309
310 .opinion {
311 position: relative;
312 font-size: 14px;
313
314 /deep/.el-textarea__inner {
315 border: none;
316 }
317 }
318
319 .opinion_btn {
320 position: absolute;
321 right: 15px;
322 bottom: 10px;
323 }
324 }
325 }
326
327 .submit_button {
328 text-align: center;
329 margin: 15px 0;
330 }
331
332 .el-date-editor.el-input {
333 width: 100%;
334 }
335 }
336 </style>
1 <template>
2 <div class="slxx swxx">
3 <el-form
4 :model="ruleForm"
5 ref="ruleForm"
6 v-Loading="loading"
7 :label-position="flag ? 'top' : ''"
8 :inline="flag"
9 label-width="120px">
10 <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
11 <div class="slxx_title title-block">
12 不动产信息
13 <div class="triangle"></div>
14 </div>
15 <el-row :gutter="10">
16 <el-col :span="8">
17 <el-form-item label="不动产单元号:">
18 <el-input disabled v-model="ruleForm.bdcdyh"></el-input>
19 </el-form-item>
20 </el-col>
21 <el-col :span="8">
22 <el-form-item label="原产证号:">
23 <el-input disabled v-model="ruleForm.yfczh"></el-input>
24 </el-form-item>
25 </el-col>
26 <el-col :span="8">
27 <el-form-item label="面积(m3):">
28 <el-input disabled v-model="ruleForm.mj"></el-input>
29 </el-form-item>
30 </el-col>
31 </el-row>
32 <el-row :gutter="10">
33 <el-col :span="8">
34 <el-form-item label="权利类型:">
35 <el-input disabled v-model="ruleForm.qllxmc"></el-input>
36 </el-form-item>
37 </el-col>
38 <el-col :span="8">
39 <el-form-item label="用途:">
40 <el-input disabled v-model="ruleForm.yt"></el-input>
41 </el-form-item>
42 </el-col>
43 <el-col :span="8">
44 <el-form-item label="坐落:">
45 <el-input disabled v-model="ruleForm.zl"></el-input>
46 </el-form-item>
47 </el-col>
48 </el-row>
49 <div class="slxx_title title-block">
50 买方信息
51 <div class="triangle"></div>
52 </div>
53 <lb-table :column="column" :pagination="false" :heightNumSetting="true"
54 :data="ruleForm.tableDataList">
55 </lb-table>
56 <div class="slxx_title title-block">
57 卖方信息
58 <div class="triangle"></div>
59 </div>
60 <lb-table :column="column1" :pagination="false" :heightNumSetting="true"
61 :data="ruleForm.tableDataList">
62 </lb-table>
63 <div class="slxx_title title-block">
64 合同信息
65 <div class="triangle"></div>
66 </div>
67 <el-row :gutter="10">
68 <el-col :span="8">
69 <el-form-item label="合同编号:">
70 <el-input v-model="ruleForm.htbh"></el-input>
71 </el-form-item>
72 </el-col>
73 <el-col :span="8">
74 <el-form-item label="合同金额(万元):">
75 <el-input v-model="ruleForm.htje"></el-input>
76 </el-form-item>
77 </el-col>
78 <el-col :span="8">
79 <el-form-item label="签订时间:">
80 <el-date-picker
81 class="width100"
82 v-model="ruleForm.qdsj"
83 type="date"
84 placeholder="选择日期"
85 value-format="yyyy-MM-dd HH:mm:ss"
86 format="yyyy-MM-dd">
87 </el-date-picker>
88 </el-form-item>
89 </el-col>
90 </el-row>
91 <div class="slxx_title title-block">
92 缴税信息
93 <div class="triangle"></div>
94 </div>
95 <lb-table :column="column2" :pagination="false" :heightNumSetting="true"
96 :data="ruleForm.tableDataList">
97 </lb-table>
98 </div>
99 <el-row class="btn" v-if="viewEdit">
100 <el-form-item>
101 <el-button type="primary" @click="onSubmit">保存</el-button>
102 </el-form-item>
103 </el-row>
104 </el-form>
105 </div>
106 </template>
107 <script>
108 import { mapGetters } from "vuex";
109 export default {
110 computed: {
111 ...mapGetters(["dictData", "flag"]),
112 },
113 mounted () {
114 // this.loading = true
115 this.viewEdit = this.$parent.currentSelectTab.ableOperation;
116 this.propsParam = this.$attrs;
117 var formdata = new FormData();
118 formdata.append("bsmSldy", this.propsParam.bsmSldy);
119 formdata.append("djlx", this.propsParam.djlx);
120 formdata.append("isEdit", this.viewEdit);
121 // Init(formdata).then((res) => {
122 // if (res.code === 200 && res.result) {
123 // }
124 // });
125 },
126 data () {
127 return {
128 loading: false,
129 //表单是否可操作
130 viewEdit: false,
131 column: [
132 {
133 prop: "qlrxm",
134 label: "权利人姓名"
135 },
136 {
137 prop: "gyqk",
138 label: "共有情况"
139 },
140 {
141 prop: "zjzl",
142 label: "身份证号种类"
143 },
144 {
145 prop: "zjhm",
146 label: "证件号码"
147 },
148 ],
149 column1: [{
150 prop: "ywrxm",
151 label: "义务人姓名"
152 },
153 {
154 prop: "zjzl",
155 label: "身份证号种类"
156 },
157 {
158 prop: "zjhm",
159 label: "证件号码"
160 }],
161 column2: [{
162 type: 'index',
163 label: "序号",
164 width: '50'
165 },
166 {
167 prop: "nsr",
168 label: "纳税人"
169 },
170 {
171 prop: "sz",
172 label: "税种"
173 },
174 {
175 prop: "jsyj",
176 label: "计税依据"
177 },
178 {
179 prop: "sl",
180 label: "税率"
181 },
182 {
183 prop: "jsje",
184 label: "计税金额"
185 }],
186 ruleForm: {
187 tableDataList: []
188 }
189 }
190 },
191 methods: {
192 onSubmit () { }
193 }
194 }
195 </script>
196 <style scoped lang="scss">
197 @import "~@/styles/public.scss";
198 @import "~@/styles/slxx/slxx.scss";
199 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-30 15:46:45
5 -->
6 <template>
7 <div class="szxx">
8 <el-card
9 :class="classJudge(item)"
10 v-for="(item, index) in tableData"
11 :key="index">
12 <div slot="header" class="szxx_header">
13 <span class="header_type">{{
14 item.bdcqzlx == 1 ? "不动产权证书" : "不动产登记证明"
15 }}</span>
16 <div class="header_text">{{ item.bdcqzh }}</div>
17 </div>
18 <div class="szxx_body card_padding">
19 <div class="text color_iray">
20 <span>{{ item.qllx }}</span>
21 </div>
22 <div class="text color_red">
23 <span>{{ item.qlr }}</span><span class="color_iray">({{ item.qllx }})</span>
24 </div>
25 <div class="text color_iray">
26 <span>{{ item.gyqk }}</span>
27 </div>
28 <div class="text color_red">
29 <span>{{ item.bdcdyh }}</span>
30 </div>
31 <div class="text color_iray">
32 <span>{{ item.zl }}</span>
33 </div>
34 <div class="text color_red">
35 <span>{{ item.yt }}</span>
36 </div>
37 <div class="text color_iray">
38 <span>{{ item.mj }}</span>
39 </div>
40 <div class="text color_red">
41 <span>{{ item.syqx }}</span>
42 </div>
43 <div class="text color_iray">
44 <span>印刷序列号:{{ item.ysxlh }}</span>
45 </div>
46 </div>
47 <div class="card_padding" v-if="viewEdit">
48 <div class="top_line middle_margin"></div>
49 <div class="text tac" v-if="item.ysxlh">
50 <el-button
51 class="operation_button"
52 type="text"
53 @click="openInvalidDiglog(item)">再次打印({{ item.szcs }})</el-button>
54 <el-button
55 class="operation_button"
56 type="text"
57 @click="openRecordPop(item)">缮证记录</el-button>
58 </div>
59 <div class="text tac" v-else>
60 <el-button
61 class="operation_button"
62 type="text"
63 @click="openZsylDialog(item, 2)">证书打印({{ item.szcs }}</el-button>
64 <el-button
65 class="operation_button"
66 type="text"
67 @click="openRecordPop(item)">缮证记录</el-button>
68 </div>
69 </div>
70 </el-card>
71
72 <el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty>
73 </div>
74 </template>
75 <script>
76 import { mapGetters } from "vuex";
77 import store from "@/store/index.js";
78 import { getSlsqBdcqzList } from "@/api/bdcqz.js";
79 export default {
80 props: {},
81 data () {
82 return {
83 //表单是否可操作
84 viewEdit: false,
85 dialog: false,
86 tableData: [],
87 bdcqzlx: 1,
88 bdcqz: {},
89 };
90 },
91 computed: {
92 ...mapGetters(["workFresh"]),
93 },
94 watch: {
95 workFresh: {
96 handler (newVal, oldVal) {
97 if (newVal) this.list();
98 },
99 },
100 },
101 created () {
102 this.list();
103 this.viewEdit = this.$parent.currentSelectTab.ableOperation;
104 },
105 methods: {
106 /**
107 * @description: 初始化列表
108 * @author: renchao
109 */
110 list () {
111 return new Promise((resolve, reject) => {
112 var bsmSlsq = this.$route.query.bsmSlsq;
113 getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => {
114 resolve(res.code);
115 if (res.code === 200) {
116 this.tableData = res.result;
117 if (res.result) {
118 this.bdcqz = res.result[0];
119 }
120 }
121 });
122 });
123 },
124 /**
125 * @description: 打开证书预览弹窗
126 * @param {*} item
127 * @param {*} type
128 * @author: renchao
129 */
130 openZsylDialog (item, type) {
131 store.dispatch("user/reWorkFresh", false);
132 if (type == 1) {
133 this.$popupDialog(
134 "证书证明预览",
135 "workflow/top/zsyl/index",
136 { bdcqz: item, bsmSlsq: this.$route.query.bsmSlsq },
137 '1230px',
138 true
139 );
140 } else {
141 this.$popupDialog(
142 "证书证明打印",
143 "workflow/main/szxx/zsdy",
144 { ...item },
145 "76%",
146 true
147 );
148 }
149 },
150 /**
151 * @description: 再次打印
152 * @param {*} item
153 * @author: renchao
154 */
155 openInvalidDiglog (item) {
156 this.$popupDialog(
157 "证书证明打印",
158 "workflow/main/szxx/zsdy",
159 { ...item },
160 "76%",
161 true
162 );
163 },
164 /**
165 * @description: openRecordPop
166 * @param {*} item
167 * @author: renchao
168 */
169 openRecordPop (item) {
170 this.$popupDialog(
171 "缮证记录",
172 "workflow/main/szxx/szRecord",
173 { bsmBdcqz: item.bsmBdcqz },
174 "60%",
175 true
176 );
177 },
178 /**
179 * @description: classJudge 判断class
180 * @param {*} item
181 * @author: renchao
182 */
183 classJudge (item) {
184 let className = "box-card";
185 if (item.bdcqzlx == 1) {
186 className += " zs-card";
187 } else {
188 className += " zm-card";
189 }
190 if (item.szcs == 0) {
191 className += " no-print";
192 }
193 return className;
194 },
195 },
196 };
197 </script>
198 <style scoped lang="scss">
199 @import "~@/styles/public.scss";
200 .szxx {
201 box-sizing: border-box;
202 padding-right: 15px;
203 width: 100%;
204 height: 100%;
205 overflow-y: scroll;
206 padding-bottom: 55px;
207
208 .box-card {
209 float: left;
210 width: 350px;
211 margin: 10px;
212 box-shadow: none;
213 background-image: url("~@/image/zm-bg.png");
214 background-size: 100% 100%;
215 border: 1px solid transparent;
216 /deep/ .el-card__header {
217 padding: 12px 66px;
218 background-size: auto;
219 border-bottom: 0;
220 position: relative;
221 }
222 .szxx_header {
223 color: #8b4534;
224 }
225 .szxx_body {
226 height: 330px;
227 }
228 }
229 .zs-card {
230 border: 1px solid #a6b0be;
231 background-image: none;
232 /deep/ .el-card__header {
233 background-image: url("~@/image/zs-red.png");
234 .szxx_header {
235 color: #ffe47c;
236 }
237 }
238 .top_line {
239 border-top: 1px solid #d3dbe5;
240 width: 330px;
241 margin: 0 auto 10px;
242 }
243 }
244 .zm-card {
245 /deep/ .el-card__header {
246 &:after {
247 content: "";
248 display: inline-block;
249 width: 330px;
250 height: 1px;
251 background-color: #b28676;
252 position: absolute;
253 left: 10px;
254 bottom: 0;
255 }
256 }
257 }
258 .zm-card.no-print {
259 background-image: url("~@/image/zm-gray.png");
260
261 /deep/ .el-card__header {
262 &:after {
263 background-color: #6d7278;
264 }
265 }
266 .szxx_header {
267 color: #6d7278;
268 }
269 }
270 .zs-card.no-print {
271 /deep/ .el-card__header {
272 background-image: url("~@/image/zs-gray.png");
273 .szxx_header {
274 color: #ffffff;
275 }
276 }
277 }
278 }
279
280 .szxx_header {
281 // color: #ffffff;
282 // font-weight: bolder;
283 font-size: 16px;
284
285 .header_type {
286 display: flex;
287 justify-content: center;
288 align-content: center;
289 }
290
291 .header_text {
292 text-align: center;
293 margin-top: 2px;
294 line-height: 22px;
295 }
296 }
297
298 .text {
299 margin-bottom: 8px;
300 text-align: left;
301 text-indent: 16px;
302 }
303 .text.tac {
304 text-align: center;
305 }
306
307 .color_iray {
308 color: #6d7278;
309 }
310
311 .color_red {
312 color: #ab0c0c;
313 }
314
315 .middle_margin {
316 margin-bottom: 10px;
317 }
318
319 .operation_button {
320 border: 1px solid #5c95e5;
321 padding: 5px;
322 text-align: center;
323 }
324
325 .card_padding {
326 padding-top: 8px;
327 font-size: 14px;
328 line-height: 22px;
329 }
330 /deep/.el-card__body {
331 padding: 0px;
332 }
333 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-04 14:13:28
5 -->
6 <template>
7 <lb-table :column="tableData.columns" heightNumSetting :pagination="false" :key="key" :data="tableData.data">
8 </lb-table>
9 </template>
10 <script>
11 import { mapGetters } from 'vuex'
12 import { getSzRecordList } from "@/api/bdcqz.js";
13 import table from "@/utils/mixin/table";
14 import { szxxdatas } from "../../javascript/szxxdata";
15 export default {
16 components: {
17
18 },
19 mixins: [table],
20 computed: {
21 ...mapGetters(["dictData"]),
22 },
23 props: {
24 formData: {
25 type: Object,
26 default: {}
27 }
28 },
29 data () {
30 return {
31 key: 0,
32 dataIndex: 0,
33 dialog: false,
34 details: {},
35 tableData: {
36 total: 0,
37 columns: szxxdatas.columns(),
38 data: [],
39 },
40 }
41 },
42 mounted () {
43 this.query()
44 },
45 methods: {
46 /**
47 * @description: query
48 * @author: renchao
49 */
50 query () {
51 getSzRecordList({ bsmBdcqz: this.formData.bsmBdcqz }).then(res => {
52 if (res.code == 200) {
53 this.tableData.data = res.result;
54 this.key++
55 }
56 })
57 }
58 }
59 }
60 </script>
61 <style scoped lang='scss'>
62 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-18 14:06:16
5 -->
6 <template>
7 <div style="width:100%;height:100%;">
8 <canvas id="mxcad" style="width:100%;height:100%;">
9 </canvas>
10 </div>
11 </template>
12 <script>
13 import Mx from "mxdraw"
14 export default {
15 mounted () {
16 // 动态加载 js库核心代码
17 Mx.loadCoreCode().then(() => {
18 // Mx.MxFun.setMxServer("ws://localhost:5090") // 开启socket通信 可编辑图纸
19 // 创建控件对象
20 Mx.MxFun.createMxObject({
21 canvasId: "mxcad", // canvas元素的id
22 cadFile: "buf/hhhh.dwg", // http方式(预览): 加载public/demo文件夹下转换后的图纸
23 callback: (mxDraw, {
24 canvas,
25 canvasParent
26 }) => {
27 // 可以拿到canvas元素和它的父级元素
28 // 拿到图层数据
29 mxDraw.addEvent('uiSetLayerData', (listLayer) => {
30 console.log(listLayer)
31 })
32 },
33 isNewFile: true // 是否新建文件
34 })
35 })
36 },
37 }
38 </script>
39 <style scoped lang="scss">
40 #mxcad {
41 pointer-events: none;
42 }
43 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -86,7 +86,7 @@ export default { ...@@ -86,7 +86,7 @@ export default {
86 case "B1": 86 case "B1":
87 getWorkFlowImage(this.bsmSlsq, this.bestepid ? this.bestepid : '').then(res => { 87 getWorkFlowImage(this.bsmSlsq, this.bestepid ? this.bestepid : '').then(res => {
88 let { result } = res 88 let { result } = res
89 this.$popupDialog("流程图", "workflow/components/processViewer", { 89 this.$popupDialog("流程图", "workflow/top/processViewer/index", {
90 xml: result.xml, 90 xml: result.xml,
91 finishedInfo: { 91 finishedInfo: {
92 finishedTaskSet: result.finishedActivityIds, 92 finishedTaskSet: result.finishedActivityIds,
...@@ -122,13 +122,13 @@ export default { ...@@ -122,13 +122,13 @@ export default {
122 this.$popupDialog("登记簿详情", "registerBook/djbFrame", this.currentSelectProps, '80%', true) 122 this.$popupDialog("登记簿详情", "registerBook/djbFrame", this.currentSelectProps, '80%', true)
123 break; 123 break;
124 case "B5": 124 case "B5":
125 this.$popupDialog("证书证明预览", "workflow/components/dialog/zsyl", { 125 this.$popupDialog("证书证明预览", "workflow/top/zsyl/index", {
126 bsmSlsq: this.bsmSlsq, 126 bsmSlsq: this.bsmSlsq,
127 entryType: '1' 127 entryType: '1'
128 }, '1230px', true) 128 }, '1230px', true)
129 break; 129 break;
130 case "B-ZSXG": 130 case "B-ZSXG":
131 this.$popupDialog("证书修改", "workflow/components/dialog/zsxg", { bsmSlsq: this.bsmSlsq, }, '55%', true) 131 this.$popupDialog("证书修改", "workflow/top/zsxg/index", { bsmSlsq: this.bsmSlsq, }, '55%', true)
132 break; 132 break;
133 case "B6": 133 case "B6":
134 this.$popupDialog("打印申请书", "workflow/components/dialog/sqs", 134 this.$popupDialog("打印申请书", "workflow/components/dialog/sqs",
...@@ -171,11 +171,11 @@ export default { ...@@ -171,11 +171,11 @@ export default {
171 getZdInfo(this.currentSelectProps.bdcdyid).then(res => { 171 getZdInfo(this.currentSelectProps.bdcdyid).then(res => {
172 this.bsmZd = res?.result[0]?.bsmZd 172 this.bsmZd = res?.result[0]?.bsmZd
173 console.log(this.bsmZd); 173 console.log(this.bsmZd);
174 this.$popupDialog('图形定位', 'workflow/components/dialog/txdw', { bsmZd: this.bsmZd }, '85%', true) 174 this.$popupDialog('图形定位', 'workflow/top/map/index', { bsmZd: this.bsmZd }, '85%', true)
175 }) 175 })
176 break; 176 break;
177 case "back": //退回按钮 177 case "back": //退回按钮
178 this.$popupDialog("退回", "workflow/components/th", { 178 this.$popupDialog("退回", "workflow/top/back/index", {
179 bsmSlsq: this.bsmSlsq, 179 bsmSlsq: this.bsmSlsq,
180 bestepid: this.bestepid ? this.bestepid : '' 180 bestepid: this.bestepid ? this.bestepid : ''
181 }, '800px', true) 181 }, '800px', true)
...@@ -283,10 +283,11 @@ export default { ...@@ -283,10 +283,11 @@ export default {
283 * @author: renchao 283 * @author: renchao
284 */ 284 */
285 sendToNext (obj) { 285 sendToNext (obj) {
286 this.$popupDialog("转出", "djbworkflow/components/zc", { 286 this.$popupDialog("转出", "workflow/top/transfer/index", {
287 obj: obj, 287 obj: obj,
288 bsmSlsq: this.bsmSlsq, 288 bsmSlsq: this.bsmSlsq,
289 tabList: this.tabList 289 tabList: this.tabList,
290 tshowidea: this.showidea
290 }, '800px', true) 291 }, '800px', true)
291 }, 292 },
292 /** 293 /**
...@@ -295,10 +296,11 @@ export default { ...@@ -295,10 +296,11 @@ export default {
295 * @author: renchao 296 * @author: renchao
296 */ 297 */
297 sendToEnd (obj) { 298 sendToEnd (obj) {
298 this.$popupDialog("转出", "djbworkflow/components/zc", { 299 this.$popupDialog("转出", "workflow/top/transfer/index", {
299 obj: "", 300 obj: "",
300 bsmSlsq: this.bsmSlsq, 301 bsmSlsq: this.bsmSlsq,
301 tabList: this.tabList 302 tabList: this.tabList,
303 showidea: this.showidea
302 }, '800px', true) 304 }, '800px', true)
303 }, 305 },
304 /** 306 /**
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-08-02 14:24:20
5 -->
6 <template>
7 <div class="from-clues">
8 <!-- 表单部分 -->
9 <div class="from-clues-header">
10 <div class="title">请选择要退回到的环节:</div>
11 <el-form ref="queryForm" label-width="90px">
12 <ul style="margin-bottom: 15px">
13 <li
14 v-for="(item, index) in dataList"
15 class="listDetail"
16 :key="index"
17 @click="changeSelectItem(item)">
18 <p class="icon">
19 <el-radio
20 v-model="selectActivity"
21 :label="item.activityId"
22 @change="changeSelectItem(item)"></el-radio>
23 </p>
24 <p>{{ item.activityName }}</p>
25 <p v-for="(child, childIndex) in item.assignee" :key="childIndex">
26 {{ child.name }}
27 </p>
28 </li>
29 </ul>
30 <div class="title">退回意见:</div>
31 <el-form-item>
32 <el-input
33 class="textArea"
34 type="textarea"
35 v-model="outstepopinion"
36 placeholder="请输入退回意见"></el-input>
37 </el-form-item>
38 <el-form-item>
39 <el-button style="float:right" @click="cancelBack">取消</el-button>
40 <el-button type="primary" @click="onSubmit" style="float:right">退回</el-button>
41 </el-form-item>
42 </el-form>
43 </div>
44 </div>
45 </template>
46
47 <script>
48
49 import { getTaskBackNode, sendBackTask } from "@/api/workFlow.js"
50 import { popupCacel } from "@/utils/popup.js";
51
52 export default {
53 props: {
54 formData: {
55 type: Object,
56 default: {},
57 },
58 },
59 data () {
60 return {
61 selectActivity: "",
62 dataList: [],
63 outstepopinion: "",
64 selectItem: {},
65 };
66 },
67 created () {
68 this.getBackNode();
69 },
70 methods: {
71 /**
72 * @description: onSubmit
73 * @author: renchao
74 */
75 onSubmit () {
76 if (!this.outstepopinion) {
77 this.$message.error("请填写退回意见");
78 } else {
79 sendBackTask({
80 bsmSlsq: this.formData.bsmSlsq,
81 backNodeList: [this.selectItem],
82 message: this.outstepopinion
83 }).then((res) => {
84 if (res.code == 200) {
85 this.$message.success("退回成功");
86 setTimeout(() => {
87 if (window.opener && window.opener.getBpageList) {
88 window.opener.getBpageList();
89 } else {
90 window.opener.frames[0].getBpageList();
91 }
92 window.close();
93 this.$emit("input", false);
94 }, 1000);
95 } else {
96 this.$message.error(res.message);
97 }
98 });
99 }
100 },
101 /**
102 * @description: changeSelectItem
103 * @param {*} item
104 * @author: renchao
105 */
106 changeSelectItem (item) {
107 this.selectItem = item;
108 this.selectActivity = item.activityId;
109 },
110 //获取可回退环节信息
111 /**
112 * @description: 获取可回退环节信息
113 * @author: renchao
114 */
115 getBackNode () {
116 getTaskBackNode(this.formData).then((res) => {
117 if (res.code == 200) {
118 this.dataList = res.result;
119 console.log("this.dataList", this.dataList);
120 if (res.result) {
121 this.selectActivity = res.result[0].activityId;
122 this.selectItem = res.result[0];
123 }
124 }
125 });
126 },
127
128 /**
129 * @description: cancelBack
130 * @author: renchao
131 */
132 cancelBack () {
133 popupCacel();
134 }
135 }
136 }
137 </script>
138 <style scoped lang="scss">
139 @import "~@/styles/mixin.scss";
140
141 .listDetail {
142 display: flex;
143 align-items: center;
144 width: 100%;
145
146 p {
147 line-height: 30px;
148 height: 30px;
149 @include flex-center;
150 flex: 1;
151 width: 100%;
152 border: 1px solid rgb(233, 235, 237);
153 margin-top: -1px;
154 margin-left: -1px;
155 }
156
157 .icon {
158 flex: 0 0 60px;
159 }
160 }
161
162 .title {
163 margin-bottom: 10px;
164 }
165
166 .textArea {
167 /deep/.el-textarea__inner {
168 min-height: 90px !important;
169 }
170 }
171 /deep/.el-radio .el-radio__label {
172 display: none;
173 }
174 </style>
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-23 14:07:58
5 */
6 /**
7 * @description: 按钮操作
8 * @param attribute:按钮属性
9 * @param address:地址栏数据
10 * @param sldy:受理单元数据
11 * @author: renchao
12 */
13 export function buttonOnclike(attribute, address, sldy) {
14 //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿,B10:打印回执 ZSXG: 证书修改
15 //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
16 let that = this;
17 switch (item.value) {
18 case "B0":
19 btn_add(attribute, address, sldy);
20 break;
21 case "B1":
22 btn_flow(attribute, address, sldy);
23 break;
24 case "B2": //材料分屏按钮
25 btn_clfp(attribute, address, sldy);
26 break;
27 case "B3": //材料导入
28 btn_cldr(attribute, address, sldy);
29 break;
30 case "B4":
31 btn_djb(attribute, address, sldy);
32 break;
33 case "B5":
34 btn_zsyl(attribute, address, sldy);
35 break;
36 case "B-ZSXG":
37 btn_zsxg(attribute, address, sldy);
38 break;
39 case "B6":
40 btn_dysqs(attribute, address, sldy);
41 break;
42 case "B7":
43 btn_zslq(attribute, address, sldy);
44 break;
45 case "B8":
46 btn_houses(attribute, address, sldy);
47 break;
48 // 图形定位
49 case "B-TXDW":
50 btn_map(attribute, address, sldy);
51 break;
52 case "back": //退回按钮
53 btn_back(attribute, address, sldy);
54 break;
55 case "transfer": //转件按钮
56 btn_transfer(attribute, address, sldy);
57 break;
58 case "stop": //终止按钮
59 btn_stop(attribute, address, sldy);
60 break;
61 case "signout":
62 btn_signout(attribute, address, sldy);
63 break;
64 case "B9":
65 btn_record(attribute, address, sldy);
66 break;
67 case "B10":
68 break;
69 case "rm":
70 btn_deleteFlow();
71 break;
72 // 互联网数据共享
73 case "B-HLGXSJ":
74 btn_dataShare(attribute, address, sldy);
75 break;
76 default:
77 console.log("未开发!");
78 break;
79 }
80 }
81 //新增受理单元
82 function btn_add(attribute, address, sldy) {
83 this.openDialog(attribute);
84 }
85 //流程图
86 function btn_flow(attribute, address, sldy) {
87 getWorkFlowImage(this.bsmSlsq, this.bestepid ? this.bestepid : '').then(res => {
88 let { result } = res
89 this.$popupDialog("流程图", "workflow/components/processViewer", {
90 xml: result.xml,
91 finishedInfo: {
92 finishedTaskSet: result.finishedActivityIds,
93 unfinishedTaskSet: result.runningActivityIds,
94 rejectedTaskSet: result.rejectedActivityIds,
95 finishedSequenceFlowSet: result.finishedSequenceFlowIds
96 },
97 handlinglist: result.runningTasks,
98 allCommentList: result.finishedTasks
99 }, '80%', true)
100 })
101 }
102 //材料分屏
103 function btn_clfp(attribute, address, sldy) {
104 this.splitScreen = this.splitScreen ? false : true;
105 this.$store.dispatch("app/settScreen", this.splitScreen);
106 if (this.splitScreen) {
107 //如果当前选项卡为材料信息内容,递减到上一个选项卡内容
108 if (this.tabName == this.clxxTab.value) {
109 this.tabName = this.tabList[this.clxxIndex - 1].value;
110 this.getFromRouter(this.tabList[this.clxxIndex - 1].value);
111 }
112 //删除材料信息选项卡数据
113 this.tabList.splice(this.clxxIndex, 1);
114 } else {
115 //新增材料信息选项卡数据
116 this.tabList.splice(this.clxxIndex, 0, this.clxxTab);
117 }
118 }
119 //材料导入
120 function btn_cldr(attribute, address, sldy) {
121 document.getElementById("cldr").click();
122 }
123 //登记簿
124 function btn_djb(attribute, address, sldy) {
125 this.$popupDialog("登记簿详情", "registerBook/djbFrame", this.currentSelectProps, '80%', true)
126 }
127 //打印申请书
128 function btn_dysqs(attribute, address, sldy) {
129 this.$popupDialog("打印申请书", "workflow/components/dialog/sqs",
130 { bsmSldy: this.currentSelectProps.bsmSldy }, '30%', true
131 )
132 }
133 //证书预览
134 function btn_zsyl(attribute, address, sldy) {
135 this.$popupDialog("证书证明预览", "workflow/components/dialog/zsyl", {
136 bsmSlsq: this.bsmSlsq,
137 entryType: '1'
138 }, '1230px', true)
139 }
140 //证书修改
141 function btn_zsxg(attribute, address, sldy) {
142 this.$popupDialog("证书修改", "workflow/components/dialog/zsxg", { bsmSlsq: this.bsmSlsq, }, '55%', true);
143 }
144 //证书领取
145 function btn_zslq(attribute, address, sldy) {
146 this.$popupDialog("证书领取", "workflow/components/dialog/zslq",
147 { bsmSlsq: this.$route.query.bsmSlsq }, '70%', true
148 )
149 }
150 //楼盘表
151 function btn_houses(attribute, address, sldy) {
152 !window.djlx && getZrzbsmList(this.bsmSlsq).then((res) => {
153 if (res.code === 200) {
154 ywPopupDialog('楼盘表', 'lpb/index', {
155 bsm: res.result[0],
156 onlyShow: false,
157 unitData: window.unitData,
158 bsmSlsq: this.bsmSlsq,
159 showSave: true,
160 djlx: window.djlx
161 }, '85%', true, false)
162 } else {
163 this.$message.error(res.message)
164 }
165 })
166 .catch((err) => {
167 this.$message.error(err)
168 });
169 window.djlx && ywPopupDialog('楼盘表', 'lpb/zjgcdy', {
170 onlyShow: false,
171 unitData: window.unitData,
172 bsmSlsq: this.bsmSlsq,
173 showSave: true,
174 djlx: window.djlx
175 }, '85%', true, false)
176 }
177 //登簿
178 function btn_record(attribute, address, sldy) {
179 var formdata = new FormData();
180 formdata.append("bsmSlsq", this.bsmSlsq);
181 formdata.append("bestepid", this.bestepid ? this.bestepid : '');
182 this.$confirm("请确认是否登簿", "提示", {
183 iconClass: "el-icon-info", //自定义图标样式
184 confirmButtonText: "确认", //确认按钮文字更换
185 cancelButtonText: "取消", //取消按钮文字更换
186 showClose: true, //是否显示右上角关闭按钮
187 type: "warning", //提示类型 success/info/warning/error
188 }).then(function () {
189 record(formdata).then((res) => {
190 if (res.code === 200) {
191 if (res.result.length === 1) {
192 res.result[0].state ? that.$message({
193 message: '登簿成功',
194 type: 'success'
195 }) : ywPopupDialog("登簿错误明细", "workflow/components/dialog/dblist", { result: res.result }, '30%', true)
196 }
197 else {
198 ywPopupDialog("登簿错误明细", "workflow/components/dialog/dblist", { result: res.result }, '30%', true)
199 }
200 } else {
201 that.$message.error(res.message)
202 }
203 })
204 })
205 }
206 //转件
207 function btn_transfer(attribute, address, sldy) {
208 getNextLinkInfo({
209 bsmSlsq: this.bsmSlsq,
210 bestepid: this.bestepid ? this.bestepid : ''
211 }).then((res) => {
212 if (res.code === 200) {
213 if (res.result) {
214 this.sendToNext(res.result);
215 } else {
216 this.sendToEnd();
217 }
218 }
219 });
220 }
221 //退回
222 function btn_back(attribute, address, sldy) {
223 this.$popupDialog("退回", "workflow/components/th", {
224 bsmSlsq: this.bsmSlsq,
225 bestepid: this.bestepid ? this.bestepid : ''
226 }, '800px', true)
227 }
228 //退出
229 function btn_signout(attribute, address, sldy) {
230 window.close();
231 //取消认领
232 unClaimTask(this.bsmSlsq, this.bestepid ? this.bestepid : '')
233 }
234 //终止流程
235 function btn_stop(attribute, address, sldy) {
236 this.$popupDialog("终止", "workflow/components/stop", {
237 bsmSlsq: this.bsmSlsq,
238 bestepid: this.bestepid ? this.bestepid : ''
239 }, '600px', true);
240 }
241 //删除流程
242 function btn_deleteFlow(attribute, address, sldy) {
243 this.del();
244 }
245 //数据共享
246 function btn_dataShare(attribute, address, sldy) {
247 this.$popupDialog("互联网数据共享", "sjgx/gbmhlgxsjgx/gbmhlgxsjgx", {}, '90%', true)
248 }
249 //图形定位
250 function btn_map(attribute, address, sldy) {
251 getZdInfo(this.currentSelectProps.bdcdyid).then(res => {
252 this.bsmZd = res?.result[0]?.bsmZd;
253 this.$popupDialog('图形定位', 'workflow/components/dialog/txdw', { bsmZd: this.bsmZd }, '85%', true)
254 })
255 }
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-11-23 17:20:01
5 -->
6 <template>
7 <iframe :src="ip +'/txdw/#/' + formData.bsmZd" frameborder="0" style="width: 100%; height:710px;"></iframe>
8 </template>
9 <script>
10 export default {
11 props: {
12 formData: {
13 type: Object,
14 default: () => {
15 return {}
16 }
17 }
18 },
19 data () {
20 return {
21 ip: window._config.services.management
22 }
23 }
24 }
25 </script>
...\ No newline at end of file ...\ No newline at end of file
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-27 08:51:13
5 -->
6 <template>
7 <div class="from-clues">
8 <div class="invalid-title">
9 <i class="el-icon-question invalid-icon"></i>
10 <div class="invalid-body">您是否确定终止该业务办理?</div>
11 </div>
12 <div class="invalid-reson">退件原因:</div>
13 <el-input
14 v-model="stopMessage"
15 placeholder="请输入终止原因"
16 type="textarea"
17 :rows="4"></el-input>
18 <div style="overflow:hidden;text-align:center;margin-top:10px">
19 <el-button @click="cancelBack">取消</el-button>
20 <el-button type="primary" @click="onSubmit">退件</el-button>
21 </div>
22 </div>
23 </template>
24
25 <script>
26 import { stopTask } from "@/api/workFlow.js";
27 import { popupCacel } from "@/utils/popup.js";
28 export default {
29 props: {
30 formData: {
31 type: Object,
32 default: {},
33 },
34 },
35 data () {
36 return {
37 stopMessage: "",
38 };
39 },
40 methods: {
41 /**
42 * @description: onSubmit
43 * @author: renchao
44 */
45 onSubmit () {
46 stopTask({
47 bsmSlsq: this.formData.bsmSlsq,
48 bestepid: this.formData.bestepid,
49 stopMessage: this.stopMessage,
50 }).then((res) => {
51 this.$message.success("终止成功");
52 setTimeout(() => {
53 // window.opener.location.reload(); //刷新父窗口
54 if (window.opener && window.opener.getBpageList) {
55 window.opener.getBpageList();
56 } else {
57 window.opener.frames[0].getBpageList();
58 }
59 window.close();
60 this.$emit("input", false);
61 }, 1000);
62 });
63 },
64 /**
65 * @description: closeDialog
66 * @author: renchao
67 */
68 cancelBack () {
69 popupCacel();
70 },
71 },
72 };
73 </script>
74 <style scoped lang="scss">
75 @import "~@/styles/mixin.scss";
76 .invalid-title {
77 display: flex;
78 align-content: center;
79
80 .invalid-icon {
81 color: rgb(254, 148, 0);
82 font-size: 34px;
83 margin-right: 10px;
84 }
85
86 .invalid-body {
87 line-height: 40px;
88 margin-bottom: 10px;
89 }
90 }
91
92 .invalid-reson {
93 margin-bottom: 10px;
94 }
95
96 .dialog-footer {
97 margin-top: 10px;
98 display: flex;
99 justify-content: flex-end;
100 }
101 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-19 16:48:37
5 -->
6 <template>
7 <div class="from-clues">
8 <div class="from-clues-header">
9 <el-form ref="queryForm" label-width="180px" v-if="this.formData.obj">
10 <el-form-item label="下一环节名称:">
11 {{ this.formData.obj.taskName }}
12 </el-form-item>
13 <el-form-item label="下一环节办理人:">
14 {{ this.formData.obj.usernames.join(",") }}
15 </el-form-item>
16 </el-form>
17 <el-form ref="queryForm" label-width="180px" v-else>
18 <el-form-item label="">
19 此环节为流程最后环节,转出后流程将结束
20 </el-form-item>
21 </el-form>
22 <div v-if="this.formData.showidea">
23 <div class="invalid-reson">审批意见:</div>
24 <el-input
25 class="opinion"
26 v-model="shyj"
27 placeholder="请输入审批意见"
28 type="textarea"
29 :rows="4"></el-input>
30 </div>
31 <div style="text-align:center">
32 <el-button @click="cancelBack">取消转出</el-button>
33 <el-button type="primary" @click="submitForm">确定转出</el-button>
34 </div>
35 </div>
36 </div>
37 </template>
38
39 <script>
40 import { completeTask, getNextLinkInfo } from "@/api/workFlow.js";
41 import { popupCacel } from "@/utils/popup.js";
42 import { mapGetters } from "vuex";
43 export default {
44 props: {
45 formData: {
46 type: Object,
47 default: {},
48 },
49 },
50
51 data () {
52 return {
53 queryForm: {},
54 shyj: "",
55 };
56 },
57 methods: {
58 /**
59 * @description: submitForm
60 * @author: renchao
61 */
62 commonOpinion () {
63 this.$popup('常用意见', "workflow/components/dialog/commonOpinion", {
64 title: "常用意见",
65 width: '75%', // 初始化75% 不需要改的话 可以直接不要
66 formData: {}, // 父组件传给子组件的参数
67 cancel: function () { }, //取消事件的回调 没有按钮可以不需要
68 confirm: function () { } //确认事件的回调 没有按钮可以不需要
69 })
70 },
71 submitForm () {
72 let that = this
73 this.queryForm = {
74 bsmSlsq: this.formData.bsmSlsq,
75 shyj: this.shyj,
76 stepform: JSON.stringify(this.formData.tabList),
77 };
78 completeTask(this.queryForm).then((res) => {
79 if (res.code === 200) {
80 popupCacel();
81 that.$message.success("转件成功");
82 setTimeout(() => {
83 window.close();
84 that.$emit("input", false);
85 if (window.opener && window.opener.getBpageList) {
86 window.opener.getBpageList();
87 } else {
88 window.opener.frames[0].getBpageList();
89 }
90 }, 360);
91 } else {
92 this.$message.error(res.message);
93 }
94 }).catch((error) => {
95 // 可以添加适当的错误处理
96 this.$message.error("提交任务失败");
97 });
98 },
99 /**
100 * @description: closeDialog
101 * @author: renchao
102 */
103 cancelBack () {
104 popupCacel();
105 },
106 },
107 };
108 </script>
109 <style scoped lang="scss">
110 @import "~@/styles/mixin.scss";
111 .el-button {
112 margin-top: 20px;
113 margin-right: 10px;
114 }
115
116 .opinion {
117 position: relative;
118 font-size: 14px;
119 }
120
121 .opinion_btn {
122 position: absolute;
123 right: 35px;
124 bottom: 80px;
125 }
126 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-11-15 15:41:43
5 -->
6 <template>
7 <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中...">
8 <!-- 表单部分 -->
9 <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1" style="margin-top:-15px">
10 <el-tab-pane :label="item.qlr + (item.bdcqzh !== null ? '(' + item.bdcqzh + ')' : '')" :name="item.bsmBdcqz"
11 v-for="(item, index) in headTabBdcqz" :key="index">
12 </el-tab-pane>
13 </el-tabs>
14 <el-empty description="暂无数据" v-if="headTabBdcqz.length == 0 && noData"></el-empty>
15 <div v-else>
16 <div style="height:540px">
17 <el-form class="zs" :model="bdcqz" v-if="this.bdcqz.bdcqzlx==1" ref="ruleForm" label-width="100px">
18 <el-row>
19 <el-col :span="24">
20 <el-form-item label="权利人">
21 <el-input v-model="bdcqz.qlr"></el-input>
22 </el-form-item>
23 </el-col>
24 </el-row>
25 <el-row>
26 <el-col :span="24">
27 <el-form-item label="共有情况">
28 <el-select v-model="bdcqz.gyqk" class="width100" placeholder="请选择">
29 <el-option
30 v-for="item in gyqkList"
31 :key="item.dcode"
32 :label="item.dname"
33 :value="item.dcode">
34 </el-option>
35 </el-select>
36 </el-form-item>
37 </el-col>
38 </el-row>
39 <el-row>
40 <el-col :span="24">
41 <el-form-item label="坐落">
42 <el-input v-model="bdcqz.zl"></el-input>
43 </el-form-item>
44 </el-col>
45 </el-row>
46 <el-row>
47 <el-col :span="24">
48 <el-form-item label="不动产单元号">
49 <el-input v-model="bdcqz.bdcdyh"></el-input>
50 </el-form-item>
51 </el-col>
52 </el-row>
53 <el-row>
54 <el-col :span="24">
55 <el-form-item label="权利类型">
56 <el-input v-model="bdcqz.qllx"></el-input>
57 </el-form-item>
58 </el-col>
59 </el-row>
60 <el-row>
61 <el-col :span="24">
62 <el-form-item label="权利性质 ">
63 <el-input v-model="bdcqz.qlxz"></el-input>
64 </el-form-item>
65 </el-col>
66 </el-row>
67 <el-row>
68 <el-col :span="24">
69 <el-form-item label="用途">
70 <el-input v-model="bdcqz.yt"></el-input>
71 </el-form-item>
72 </el-col>
73 </el-row>
74 <el-row>
75 <el-col :span="24">
76 <el-form-item label="面积">
77 <el-input v-model="bdcqz.mj"></el-input>
78 </el-form-item>
79 </el-col>
80 </el-row>
81 <el-row>
82 <el-col :span="24">
83 <el-form-item label="使用期限 ">
84 <el-input v-model="bdcqz.syqx"></el-input>
85 </el-form-item>
86 </el-col>
87 </el-row>
88 <el-row>
89 <el-col :span="24">
90 <el-form-item label="权利其他状况">
91 <el-input v-model="bdcqz.qlqtzk" :rows="4" type="textarea"></el-input>
92 </el-form-item>
93 </el-col>
94 </el-row>
95 <el-row>
96 <el-col :span="24">
97 <el-form-item label="附记">
98 <el-input v-model="bdcqz.fj" :rows="4" type="textarea"></el-input>
99 </el-form-item>
100 </el-col>
101 </el-row>
102 </el-form>
103 <el-form :model="bdcqz" class="zm" v-else ref="ruleForm" label-width="110px">
104 <el-row>
105 <el-col :span="24">
106 <el-form-item label="证明权利或事项">
107 <el-input v-model="bdcqz.zmqlhsx"></el-input>
108 </el-form-item>
109 </el-col>
110 </el-row>
111 <el-row>
112 <el-col :span="24">
113 <el-form-item label="权利人(申请人)">
114 <el-input v-model="bdcqz.qlr"></el-input>
115 </el-form-item>
116 </el-col>
117 </el-row>
118 <el-row>
119 <el-col :span="24">
120 <el-form-item label="义务人">
121 <el-input v-model="bdcqz.ywr"></el-input>
122 </el-form-item>
123 </el-col>
124 </el-row>
125 <el-row>
126 <el-col :span="24">
127 <el-form-item label="坐落">
128 <el-input v-model="bdcqz.zl"></el-input>
129 </el-form-item>
130 </el-col>
131 </el-row>
132 <el-row>
133 <el-col :span="24">
134 <el-form-item label="不动产单元号">
135 <el-input v-model="bdcqz.bdcdyh"></el-input>
136 </el-form-item>
137 </el-col>
138 </el-row>
139 <el-row>
140 <el-col :span="24">
141 <el-form-item label="其他状况">
142 <el-input v-model="bdcqz.qlqtzk" :rows="6" type="textarea"></el-input>
143 </el-form-item>
144 </el-col>
145 </el-row>
146 <el-row>
147 <el-col :span="24">
148 <el-form-item label="附记">
149 <el-input v-model="bdcqz.fj" :rows="6" type="textarea"></el-input>
150 </el-form-item>
151 </el-col>
152 </el-row>
153 </el-form>
154 </div>
155 <div style="text-align:center">
156 <el-button @click="$popupCacel">取消</el-button>
157 <el-button type="primary" @click="handleSubmit">保存</el-button>
158 </div>
159 </div>
160 </div>
161 </template>
162
163 <script>
164 import store from '@/store/index.js'
165 import { getSlsqBdcqzList, editBdcqz } from "@/api/bdcqz.js"
166 export default {
167 name: "zsxg",
168 props: {
169 formData: {
170 type: Object,
171 default: {}
172 }
173 },
174 data () {
175 return {
176 gyqkList: store.getters.dictData['A34'],
177 key: 0,
178 noData: false,
179 loading: false,
180 bdcqz: {},
181 //tab切换栏数组
182 headTabBdcqz: [],
183 //tab选择绑定值
184 activeName: '',
185 }
186 },
187 mounted () {
188 this.getHeadTabBdcqz()
189 },
190 methods: {
191 /**
192 * @description: 获取受理申请下全部不动产权证
193 * @author: renchao
194 */
195 getHeadTabBdcqz () {
196 this.loading = true
197 getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => {
198 if (res.code == 200) {
199 this.noData = true
200 if (res.result && res.result.length > 0) {
201 this.bdcqz = res.result[0]
202 this.headTabBdcqz = _.cloneDeep(res.result)
203 if (this.formData.bsmBdcqz) {
204 this.activeName = this.formData.bsmBdcqz
205 } else {
206 this.activeName = res.result[0].bsmBdcqz
207 }
208 }
209 }
210 this.loading = false
211 })
212 },
213 handleClick (tab) {
214 this.bdcqz = _.cloneDeep(this.headTabBdcqz[tab.index])
215 },
216 handleSubmit () {
217 editBdcqz(this.bdcqz).then(res => {
218 if (res.code == 200) {
219 this.$message.success('保存成功');
220 //刷新列表
221 this.$popupCacel()
222 } else {
223 this.$message.error(res.message)
224 }
225 })
226 }
227 }
228 }
229 </script>
230 <style scoped lang="scss">
231 @import "~@/styles/mixin.scss";
232 </style>