Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev
Showing
83 changed files
with
18722 additions
and
336 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) { | ... | ... |
| ... | @@ -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; | ... | ... |
| ... | @@ -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: 2023-07-19 09:52:59 | 4 | * @LastEditTime: 2024-01-31 09:52:39 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="content loadingtext"> | 7 | <div class="content loadingtext"> |
| ... | @@ -14,8 +14,7 @@ | ... | @@ -14,8 +14,7 @@ |
| 14 | :default-expand-all="true" | 14 | :default-expand-all="true" |
| 15 | :expand-on-click-node="false" | 15 | :expand-on-click-node="false" |
| 16 | node-key="id" | 16 | node-key="id" |
| 17 | :default-checked-keys="[showTab]" | 17 | :default-checked-keys="[showTab]"> |
| 18 | > | ||
| 19 | </el-tree> | 18 | </el-tree> |
| 20 | <el-collapse v-model="activeName" accordion> | 19 | <el-collapse v-model="activeName" accordion> |
| 21 | <el-collapse-item | 20 | <el-collapse-item |
| ... | @@ -23,8 +22,7 @@ | ... | @@ -23,8 +22,7 @@ |
| 23 | ref="sfq" | 22 | ref="sfq" |
| 24 | v-for="(item, index) in sfqdata" | 23 | v-for="(item, index) in sfqdata" |
| 25 | :key="index" | 24 | :key="index" |
| 26 | :name="index" | 25 | :name="index"> |
| 27 | > | ||
| 28 | <template slot="title"> | 26 | <template slot="title"> |
| 29 | <span class="text" @click="tap(item)"> | 27 | <span class="text" @click="tap(item)"> |
| 30 | <span> | 28 | <span> |
| ... | @@ -37,8 +35,7 @@ | ... | @@ -37,8 +35,7 @@ |
| 37 | :re="item" | 35 | :re="item" |
| 38 | :key="index" | 36 | :key="index" |
| 39 | :class="[isActive == index ? activeCls : '', errorCls]" | 37 | :class="[isActive == index ? activeCls : '', errorCls]" |
| 40 | @click="taplist(item, index)" | 38 | @click="taplist(item, index)"> |
| 41 | > | ||
| 42 | <span> | 39 | <span> |
| 43 | {{ item.label }} | 40 | {{ item.label }} |
| 44 | </span> | 41 | </span> |
| ... | @@ -53,16 +50,15 @@ | ... | @@ -53,16 +50,15 @@ |
| 53 | <component | 50 | <component |
| 54 | :is="componentTag" | 51 | :is="componentTag" |
| 55 | @getBdcdyh="getBdcdyh" | 52 | @getBdcdyh="getBdcdyh" |
| 56 | v-bind="currentSelectProps" | 53 | v-bind="currentSelectProps" /> |
| 57 | /> | ||
| 58 | </div> | 54 | </div> |
| 59 | </div> | 55 | </div> |
| 60 | </template> | 56 | </template> |
| 61 | <script> | 57 | <script> |
| 62 | import { getBdcqljqtsx, getBdcqljqtsxBdcdyh } from "@/api/djbDetail.js"; | 58 | import { getBdcqljqtsx, getBdcqljqtsxBdcdyh } from "@/api/djbDetail.js"; |
| 63 | import { loadTreeData, loadsfqData, getNode } from "./djbFrameData.js"; | 59 | import { loadTreeData, loadsfqData, getNode } from "./djbFrameData.js"; |
| 64 | export default { | 60 | export default { |
| 65 | data() { | 61 | data () { |
| 66 | return { | 62 | return { |
| 67 | //接收参数 | 63 | //接收参数 |
| 68 | // propsParam: this.$attrs, | 64 | // propsParam: this.$attrs, |
| ... | @@ -93,85 +89,124 @@ export default { | ... | @@ -93,85 +89,124 @@ export default { |
| 93 | showTab: "bdcqldjml", // 选中状态,根据表格中权利类型判断 | 89 | showTab: "bdcqldjml", // 选中状态,根据表格中权利类型判断 |
| 94 | }; | 90 | }; |
| 95 | }, | 91 | }, |
| 96 | mounted() { | ||
| 97 | this.loadData(this.getCaption(window.location.href)); | ||
| 98 | }, | ||
| 99 | methods: { | ||
| 100 | // 截取字符的方法 | ||
| 101 | /** | 92 | /** |
| 102 | * @description: 截取字符的方法 | 93 | * @description: loadData |
| 103 | * @param {*} obj | ||
| 104 | * @author: renchao | 94 | * @author: renchao |
| 105 | */ | 95 | */ |
| 106 | getCaption(obj) { | 96 | loadData(val) { |
| 107 | let index = obj.lastIndexOf("="); | 97 | getBdcqljqtsxBdcdyh({ |
| 108 | obj = obj.substring(index + 1, obj.length); | 98 | bdcdyh: val, |
| 109 | return obj; | 99 | }).then((res) => { |
| 100 | if (res.code === 200) { | ||
| 101 | this.treedata = loadTreeData(val); | ||
| 102 | this.sfqdata.push(loadsfqData(res.result, val, res.result.bdcdyid)); | ||
| 103 | this.$nextTick(function () { | ||
| 104 | this.defaultNode = getNode( | ||
| 105 | res.result.ztqllx, | ||
| 106 | { linShi: 0, xianShi: 0, liShi: 0 }, | ||
| 107 | res.result.bdcdylx || "" | ||
| 108 | ); | ||
| 109 | this.sfqdata[0].children.forEach((item, index) => { | ||
| 110 | if (item.id == this.defaultNode.id) { | ||
| 111 | this.loadComponent(item.form); | ||
| 112 | this.isActive = index; | ||
| 113 | } | ||
| 114 | }); | ||
| 115 | this.currentSelectProps = { | ||
| 116 | bdcdyid: res.result.bdcdyid, | ||
| 117 | bdcdyh: val, | ||
| 118 | qllx: res.result.qllx, | ||
| 119 | bsmQlxx: this.currentSelectProps.bsmQlxx, | ||
| 120 | }; | ||
| 121 | // this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点 | ||
| 122 | // this.loadComponent(this.defaultNode.form); | ||
| 123 | |||
| 124 | // this.setstyle(0, 0, this.iskey); | ||
| 125 | }); | ||
| 126 | } | ||
| 127 | }); | ||
| 110 | }, | 128 | }, |
| 111 | // 通过不动产业务号获取参数 | 129 | /* |
| 130 | 点击登记簿菜单 | ||
| 131 | */ | ||
| 112 | /** | 132 | /** |
| 113 | * @description: 通过不动产业务号获取参数 | 133 | * @description: 点击登记簿菜单 |
| 134 | * @param {*} data | ||
| 114 | * @author: renchao | 135 | * @author: renchao |
| 115 | */ | 136 | */ |
| 116 | // getdata () { | 137 | handleNodeClick(data) { |
| 117 | // this.queryForm = { | 138 | this.loadComponent(data.form); |
| 118 | // bdcdyh: this.getCaption(window.location.href), | 139 | }, |
| 119 | // currentPage: 1, | ||
| 120 | // djlx: "", | ||
| 121 | // pageSize: 10, | ||
| 122 | // qllx: "", | ||
| 123 | // ywh: "", | ||
| 124 | // ywly: "", | ||
| 125 | // }; | ||
| 126 | // if (this.queryForm) { | ||
| 127 | // this.$startLoading(); | ||
| 128 | // searchTaskToDo({ | ||
| 129 | // ...this.queryForm, | ||
| 130 | // }).then((res) => { | ||
| 131 | // if (res.code === 200) { | ||
| 132 | // let { records } = res.result; | ||
| 133 | |||
| 134 | // this.loadBdcdylist(records[0].bsmSlsq, records[0].bestepid); | ||
| 135 | // this.$endLoading(); | ||
| 136 | // } | ||
| 137 | // }); | ||
| 138 | // } | ||
| 139 | // }, | ||
| 140 | 140 | ||
| 141 | // 获取不动产信息 | ||
| 142 | /** | 141 | /** |
| 143 | * @description: 获取不动产信息 | 142 | * @description: setstyle |
| 144 | * @param {*} a | 143 | * @param {*} data |
| 145 | * @param {*} b | ||
| 146 | * @author: renchao | 144 | * @author: renchao |
| 145 | * 设置样式和点击定位到当前功能 | ||
| 147 | */ | 146 | */ |
| 148 | // loadBdcdylist (a, b) { | 147 | // setstyle (newindex, index, key) { |
| 149 | // var formdata = new FormData(); | 148 | // if (key != undefined || this.keyy == index) { |
| 150 | // formdata.append("bsmSlsq", a); | 149 | // if (key != undefined) { |
| 151 | // formdata.append("bestepid", b); | 150 | // this.keyy = key |
| 152 | // leftMenu(formdata).then((res) => { | ||
| 153 | // if (res.code === 200) { | ||
| 154 | // if (res.result) { | ||
| 155 | // this.currentSelectProps = res.result[0]; | ||
| 156 | // this.loadData(this.currentSelectProps.bdcdyh); | ||
| 157 | // } | 151 | // } |
| 152 | // this.loadComponent(this.$refs.sfq[newindex].$children[this.keyy].$attrs.re.form); | ||
| 153 | // let dpme = this.$refs.sfq[newindex].$children[this.keyy].$el | ||
| 154 | // dpme.style.backgroundColor = "#f5f5f5"; | ||
| 155 | // dpme.style.color = "#0079fe"; | ||
| 156 | // dpme.style.borderRight = "4px solid #0079fe"; | ||
| 157 | // } else { | ||
| 158 | // let dpme = this.$refs.sfq[newindex].$children[this.keyy].$el | ||
| 159 | // dpme.style.backgroundColor = "#ffffff"; | ||
| 160 | // dpme.style.color = "black"; | ||
| 161 | // dpme.style.border = "none"; | ||
| 158 | // } | 162 | // } |
| 159 | // }); | ||
| 160 | // }, | 163 | // }, |
| 161 | 164 | /** | |
| 165 | * @description: tap | ||
| 166 | * @param {*} data | ||
| 167 | * @author: renchao | ||
| 168 | * 新增列表功能 | ||
| 169 | */ | ||
| 170 | tap(data, index) { | ||
| 171 | this.loadComponent(data.form); | ||
| 172 | this.currentSelectProps.bdcdyid=data.bdcdyid | ||
| 173 | this.currentSelectProps.bdcdyh=data.bdcdyh | ||
| 174 | }, | ||
| 175 | /** | ||
| 176 | * @description: taplist | ||
| 177 | * @param {*} data | ||
| 178 | * @author: renchao | ||
| 179 | * 新增列表功能 | ||
| 180 | */ | ||
| 181 | taplist(data, index) { | ||
| 182 | this.loadComponent(data.form); | ||
| 183 | this.isActive = index; | ||
| 184 | }, | ||
| 185 | methods: { | ||
| 186 | // 截取字符的方法 | ||
| 187 | /** | ||
| 188 | * @description: 截取字符的方法 | ||
| 189 | * @param {*} obj | ||
| 190 | * @author: renchao | ||
| 191 | */ | ||
| 192 | getCaption (obj) { | ||
| 193 | let index = obj.lastIndexOf("="); | ||
| 194 | obj = obj.substring(index + 1, obj.length); | ||
| 195 | return obj; | ||
| 196 | }, | ||
| 162 | /** | 197 | /** |
| 163 | * @description: getBdcdyh | 198 | * @description: getBdcdyh |
| 164 | * @author: miaofang | 199 | * @author: miaofang |
| 165 | * 点击不动产单元号事件 | 200 | * 点击不动产单元号事件 |
| 166 | */ | 201 | */ |
| 167 | getBdcdyh(val) { | 202 | getBdcdyh (val) { |
| 168 | this.addloadData(val); | 203 | this.addloadData(val); |
| 169 | }, | 204 | }, |
| 170 | /** | 205 | /** |
| 171 | * @description: addloadData | 206 | * @description: addloadData |
| 172 | * @author: miaofang | 207 | * @author: miaofang |
| 173 | */ | 208 | */ |
| 174 | addloadData(val) { | 209 | addloadData (val) { |
| 175 | getBdcqljqtsx({ | 210 | getBdcqljqtsx({ |
| 176 | bdcdyid: val.bdcdyid, | 211 | bdcdyid: val.bdcdyid, |
| 177 | bdcdyh: val.bdcdyh, | 212 | bdcdyh: val.bdcdyh, |
| ... | @@ -199,7 +234,7 @@ export default { | ... | @@ -199,7 +234,7 @@ export default { |
| 199 | * @description: loadData | 234 | * @description: loadData |
| 200 | * @author: renchao | 235 | * @author: renchao |
| 201 | */ | 236 | */ |
| 202 | loadData(val) { | 237 | loadData (val) { |
| 203 | getBdcqljqtsxBdcdyh({ | 238 | getBdcqljqtsxBdcdyh({ |
| 204 | bdcdyh: val, | 239 | bdcdyh: val, |
| 205 | }).then((res) => { | 240 | }).then((res) => { |
| ... | @@ -224,59 +259,20 @@ export default { | ... | @@ -224,59 +259,20 @@ export default { |
| 224 | qllx: res.result.qllx, | 259 | qllx: res.result.qllx, |
| 225 | bsmQlxx: this.currentSelectProps.bsmQlxx, | 260 | bsmQlxx: this.currentSelectProps.bsmQlxx, |
| 226 | }; | 261 | }; |
| 227 | // this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点 | 262 | }) |
| 228 | // this.loadComponent(this.defaultNode.form); | ||
| 229 | |||
| 230 | // this.setstyle(0, 0, this.iskey); | ||
| 231 | }); | ||
| 232 | } | 263 | } |
| 233 | }); | 264 | }) |
| 234 | }, | 265 | }, |
| 235 | /* | ||
| 236 | 点击登记簿菜单 | ||
| 237 | */ | ||
| 238 | /** | 266 | /** |
| 239 | * @description: 点击登记簿菜单 | 267 | * @description: 点击登记簿菜单 |
| 240 | * @param {*} data | 268 | * @param {*} data |
| 241 | * @author: renchao | 269 | * @author: renchao |
| 242 | */ | 270 | */ |
| 243 | handleNodeClick(data) { | 271 | handleNodeClick (data) { |
| 244 | this.loadComponent(data.form); | 272 | this.loadComponent(data.form); |
| 245 | }, | 273 | }, |
| 246 | 274 | tap (data, index) { | |
| 247 | /** | ||
| 248 | * @description: setstyle | ||
| 249 | * @param {*} data | ||
| 250 | * @author: renchao | ||
| 251 | * 设置样式和点击定位到当前功能 | ||
| 252 | */ | ||
| 253 | // setstyle (newindex, index, key) { | ||
| 254 | // if (key != undefined || this.keyy == index) { | ||
| 255 | // if (key != undefined) { | ||
| 256 | // this.keyy = key | ||
| 257 | // } | ||
| 258 | // this.loadComponent(this.$refs.sfq[newindex].$children[this.keyy].$attrs.re.form); | ||
| 259 | // let dpme = this.$refs.sfq[newindex].$children[this.keyy].$el | ||
| 260 | // dpme.style.backgroundColor = "#f5f5f5"; | ||
| 261 | // dpme.style.color = "#0079fe"; | ||
| 262 | // dpme.style.borderRight = "4px solid #0079fe"; | ||
| 263 | // } else { | ||
| 264 | // let dpme = this.$refs.sfq[newindex].$children[this.keyy].$el | ||
| 265 | // dpme.style.backgroundColor = "#ffffff"; | ||
| 266 | // dpme.style.color = "black"; | ||
| 267 | // dpme.style.border = "none"; | ||
| 268 | // } | ||
| 269 | // }, | ||
| 270 | /** | ||
| 271 | * @description: tap | ||
| 272 | * @param {*} data | ||
| 273 | * @author: renchao | ||
| 274 | * 新增列表功能 | ||
| 275 | */ | ||
| 276 | tap(data, index) { | ||
| 277 | this.loadComponent(data.form); | 275 | this.loadComponent(data.form); |
| 278 | this.currentSelectProps.bdcdyid=data.bdcdyid | ||
| 279 | this.currentSelectProps.bdcdyh=data.bdcdyh | ||
| 280 | }, | 276 | }, |
| 281 | /** | 277 | /** |
| 282 | * @description: taplist | 278 | * @description: taplist |
| ... | @@ -284,7 +280,7 @@ export default { | ... | @@ -284,7 +280,7 @@ export default { |
| 284 | * @author: renchao | 280 | * @author: renchao |
| 285 | * 新增列表功能 | 281 | * 新增列表功能 |
| 286 | */ | 282 | */ |
| 287 | taplist(data, index) { | 283 | taplist (data, index) { |
| 288 | this.loadComponent(data.form); | 284 | this.loadComponent(data.form); |
| 289 | this.isActive = index; | 285 | this.isActive = index; |
| 290 | }, | 286 | }, |
| ... | @@ -293,19 +289,19 @@ export default { | ... | @@ -293,19 +289,19 @@ export default { |
| 293 | * @param {*} form | 289 | * @param {*} form |
| 294 | * @author: renchao | 290 | * @author: renchao |
| 295 | */ | 291 | */ |
| 296 | loadComponent(form) { | 292 | loadComponent (form) { |
| 297 | this.componentTag = (r) => | 293 | this.componentTag = (r) => |
| 298 | require.ensure([], () => r(require("@/views/registerBook/" + form))); | 294 | require.ensure([], () => r(require("@/views/registerBook/" + form))); |
| 299 | }, | 295 | } |
| 300 | }, | 296 | } |
| 301 | }; | 297 | } |
| 302 | </script> | 298 | </script> |
| 303 | <style scoped lang="scss"> | 299 | <style scoped lang="scss"> |
| 304 | /deep/.rollTable { | 300 | /deep/.rollTable { |
| 305 | height: calc(120vh - 254px) !important; | 301 | height: calc(120vh - 254px) !important; |
| 306 | } | 302 | } |
| 307 | 303 | ||
| 308 | .content { | 304 | .content { |
| 309 | width: 100%; | 305 | width: 100%; |
| 310 | height: 100%; | 306 | height: 100%; |
| 311 | display: flex; | 307 | display: flex; |
| ... | @@ -326,34 +322,23 @@ export default { | ... | @@ -326,34 +322,23 @@ export default { |
| 326 | background-color: #f5f5f5; | 322 | background-color: #f5f5f5; |
| 327 | border: 1px solid rgb(228, 228, 228); | 323 | border: 1px solid rgb(228, 228, 228); |
| 328 | } | 324 | } |
| 329 | } | 325 | } |
| 330 | 326 | ||
| 331 | /deep/ .expanded.el-tree-node__expand-icon, | 327 | /deep/ .expanded.el-tree-node__expand-icon, |
| 332 | /deep/ .el-tree-node__expand-icon { | 328 | /deep/ .el-tree-node__expand-icon { |
| 333 | visibility: hidden; | 329 | visibility: hidden; |
| 334 | } | 330 | } |
| 335 | 331 | ||
| 336 | /deep/ .el-tree-node__content { | 332 | /deep/ .el-tree-node__content { |
| 337 | border: 1px solid rgb(228, 228, 228); | 333 | border: 1px solid rgb(228, 228, 228); |
| 338 | height: 45px; | 334 | height: 45px; |
| 339 | } | 335 | } |
| 340 | |||
| 341 | /deep/ .el-tree-node:focus > .el-tree-node__content { | ||
| 342 | // background-color: #f5f5f5; | ||
| 343 | // color: #0079fe; | ||
| 344 | // border-right: 4px solid #0079fe; | ||
| 345 | } | ||
| 346 | 336 | ||
| 347 | /deep/.el-tree-node { | 337 | /deep/.el-tree-node { |
| 348 | white-space: pre-wrap; | 338 | white-space: pre-wrap; |
| 349 | } | 339 | } |
| 350 | 340 | ||
| 351 | /deep/ .is-current > .el-tree-node__content { | 341 | /deep/.el-collapse-item__header { |
| 352 | // background-color: #f5f5f5; | ||
| 353 | // color: #0079fe; | ||
| 354 | // border-right: 4px solid #0079fe; | ||
| 355 | } | ||
| 356 | /deep/.el-collapse-item__header { | ||
| 357 | width: 100%; | 342 | width: 100%; |
| 358 | cursor: pointer; | 343 | cursor: pointer; |
| 359 | position: relative; | 344 | position: relative; |
| ... | @@ -373,16 +358,19 @@ export default { | ... | @@ -373,16 +358,19 @@ export default { |
| 373 | display: inline-block; | 358 | display: inline-block; |
| 374 | line-height: 15px; | 359 | line-height: 15px; |
| 375 | } | 360 | } |
| 361 | height: 45px; | ||
| 362 | border: 1px solid rgb(228, 228, 228); | ||
| 363 | border-right: 4px solid #f5f5f5; | ||
| 376 | } | 364 | } |
| 377 | height: 45px; | 365 | height: 45px; |
| 378 | display: inline-block; | 366 | display: inline-block; |
| 379 | line-height: 45px; | 367 | line-height: 45px; |
| 380 | border: 1px solid rgb(228, 228, 228); | 368 | border: 1px solid rgb(228, 228, 228); |
| 381 | } | 369 | } |
| 382 | /deep/.el-collapse-item__content { | 370 | /deep/.el-collapse-item__content { |
| 383 | padding-bottom: 5px; | 371 | padding-bottom: 5px; |
| 384 | } | 372 | } |
| 385 | /deep/.unselected { | 373 | /deep/.unselected { |
| 386 | // white-space: wrap; | 374 | // white-space: wrap; |
| 387 | border: none; | 375 | border: none; |
| 388 | cursor: pointer; | 376 | cursor: pointer; |
| ... | @@ -399,9 +387,9 @@ export default { | ... | @@ -399,9 +387,9 @@ export default { |
| 399 | justify-content: center; | 387 | justify-content: center; |
| 400 | align-items: center; | 388 | align-items: center; |
| 401 | } | 389 | } |
| 402 | } | 390 | } |
| 403 | 391 | ||
| 404 | .select { | 392 | .select { |
| 405 | border: none; | 393 | border: none; |
| 406 | cursor: pointer; | 394 | cursor: pointer; |
| 407 | width: 250px; | 395 | width: 250px; |
| ... | @@ -418,5 +406,5 @@ export default { | ... | @@ -418,5 +406,5 @@ export default { |
| 418 | justify-content: center; | 406 | justify-content: center; |
| 419 | align-items: center; | 407 | align-items: center; |
| 420 | } | 408 | } |
| 421 | } | 409 | } |
| 422 | </style> | 410 | </style> | ... | ... |
| ... | @@ -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"); |
| 71 | break; | ||
| 72 | //预告买卖登记 | ||
| 73 | case "ygmm100": | ||
| 74 | case "ygmm300": | ||
| 75 | form = require("@/views/workflow/main/slsqxx/ygdj/slxx.vue"); | ||
| 76 | break; | ||
| 77 | //预告抵押登记 | ||
| 78 | case "ygdy100": | ||
| 79 | case "ygdy300": | ||
| 80 | form = require("@/views/workflow/main/slsqxx/ygdy/slxx.vue"); | ||
| 68 | break; | 81 | break; |
| 69 | case "clxx": | 82 | //在建工程抵押权 |
| 70 | form = require("@/views/workflow/components/clxx/clxxUnify.vue"); | 83 | case "zjgcdyqSlxx": |
| 84 | form = require("@/views/workflow/main/slsqxx/zjgcdy/slxx.vue"); | ||
| 71 | break; | 85 | break; |
| 72 | case "spyj": | 86 | //在建工程抵押权(批量) |
| 73 | form = require("@/views/workflow/components/spyj.vue"); | 87 | case "batchZjgcdyq": |
| 88 | form = require("@/views/workflow/main/slsqxx/zjgcdy/batchSlxx.vue"); | ||
| 74 | break; | 89 | break; |
| 75 | case "swxx": | 90 | case "clxx"://材料信息 |
| 76 | form = require("@/views/workflow/components/swxx.vue"); | 91 | form = require("@/views/workflow/main/clxx/clxxUnify.vue"); |
| 77 | break; | 92 | break; |
| 78 | case "sfxx": | 93 | case "spyj"://审批意见 |
| 79 | form = require("@/views/workflow/components/sfxx.vue"); | 94 | form = require("@/views/workflow/main/spyj"); |
| 80 | break; | 95 | break; |
| 81 | case "sdqxx": | 96 | case "swxx"://税务信息 |
| 82 | form = require("@/views/workflow/components/sdqxx.vue"); | 97 | form = require("@/views/workflow/main/swxx"); |
| 83 | break; | 98 | break; |
| 84 | case "zdjbxx": | 99 | case "sfxx"://收费信息 |
| 85 | form = require("@/views/registerBook/zdjbxx.vue"); | 100 | form = require("@/views/workflow/main/sfxx"); |
| 86 | break; | 101 | break; |
| 87 | case "ygmm100": | 102 | case "sdqxx"://水电气信息 |
| 88 | form = require("@/views/ywbl/slsqxx/ygdj/slxx.vue"); | 103 | form = require("@/views/workflow/main/sdqxx"); |
| 89 | break; | 104 | break; |
| 90 | case "ygmm300": | 105 | case "zdjbxx"://宗地基本信息 |
| 91 | form = require("@/views/ywbl/slsqxx/ygdj/slxx300.vue"); | 106 | form = require("@/views/registerBook/zdjbxx.vue"); |
| 92 | break; | 107 | break; |
| 93 | case "ygdy100": | 108 | case "szxx"://缮证信息 |
| 94 | case "ygdy300": | 109 | form = require("@/views/workflow/main/szxx"); |
| 95 | form = require("@/views/ywbl/slsqxx/ygdy/slxx.vue"); | ||
| 96 | break; | 110 | break; |
| 97 | case "zjgcdyqSlxx": | 111 | case "fzxx"://发证信息 |
| 98 | form = require("@/views/ywbl/slsqxx/zjgcdy/slxx.vue"); | 112 | form = require("@/views/workflow/main/fzxx"); |
| 99 | break; | 113 | break; |
| 100 | case "batchZjgcdyq": | 114 | case "zdjbxxImg"://宗地图 |
| 101 | form = require("@/views/ywbl/slsqxx/zjgcdy/batchSlxx.vue"); | 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> |
src/views/workflow/main/clxx/clxxUnify.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-10-24 16:08:44 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="clxx"> | ||
| 8 | <!-- 材料预览 --> | ||
| 9 | <div class="clyl-box"> | ||
| 10 | <div class="menu-tree"> | ||
| 11 | <el-button | ||
| 12 | type="primary" | ||
| 13 | native-type="submit" | ||
| 14 | @click="viewDetail" | ||
| 15 | style="width: 100%; margin-top: 10px">申请材料目录</el-button> | ||
| 16 | <div class="item"> | ||
| 17 | 材料目录({{ tableData.length }}) | ||
| 18 | <div class="tableList"> | ||
| 19 | <div | ||
| 20 | style=" | ||
| 21 | text-align: center; | ||
| 22 | line-height: 20px; | ||
| 23 | color: black; | ||
| 24 | font-size: 14px; | ||
| 25 | " | ||
| 26 | v-if="tableData.length == 0"> | ||
| 27 | 暂无数据 | ||
| 28 | </div> | ||
| 29 | <div | ||
| 30 | v-for="(item, index) in tableData" | ||
| 31 | :key="item.bsmSj" | ||
| 32 | :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" | ||
| 33 | @click="treeClick(item, index)"> | ||
| 34 | <span v-if="item.isrequired == 1" class="required">必选</span> | ||
| 35 | <span class="item_name">{{ item.sjmc }}</span> | ||
| 36 | <span class="cl_number" :key="key">({{ item.ys ? item.ys : 0 }})</span> | ||
| 37 | </div> | ||
| 38 | </div> | ||
| 39 | </div> | ||
| 40 | <el-button | ||
| 41 | type="primary" | ||
| 42 | native-type="submit" | ||
| 43 | style="width: 100%" | ||
| 44 | @click="handleAdd()" | ||
| 45 | v-if="ableOperation">新增</el-button> | ||
| 46 | </div> | ||
| 47 | <image-preview | ||
| 48 | ref="imageRef" | ||
| 49 | :key="imgKey" | ||
| 50 | v-if="tableData.length > 0" | ||
| 51 | :previewImg="previewImg" | ||
| 52 | :ableOperation="ableOperation" | ||
| 53 | @updateList="updateList" | ||
| 54 | @nextPriview="nextPriview" | ||
| 55 | @prevPriview="prevPriview" /> | ||
| 56 | </div> | ||
| 57 | <clxxAddDialog v-model="isDialog" /> | ||
| 58 | </div> | ||
| 59 | </template> | ||
| 60 | <script> | ||
| 61 | import { mapGetters } from "vuex"; | ||
| 62 | import clxxAddDialog from "./clxxAddDialog.vue"; | ||
| 63 | import clxxDetailDialog from "./clxxDetailDialog.vue"; | ||
| 64 | import imagePreview from "@/views/components/imagePreview.vue"; | ||
| 65 | import { InitClml, saveClml, getClmxList } from "@/api/clxx.js"; | ||
| 66 | export default { | ||
| 67 | components: { clxxAddDialog, imagePreview, clxxDetailDialog }, | ||
| 68 | data () { | ||
| 69 | return { | ||
| 70 | imgKey: 0, | ||
| 71 | //表单是否可操作 | ||
| 72 | ableOperation: true, | ||
| 73 | isDialog: false, | ||
| 74 | iclass: "", | ||
| 75 | // 材料目录选中 | ||
| 76 | treeCheckIndex: 0, | ||
| 77 | treeCheckId: "", | ||
| 78 | key: 0, | ||
| 79 | tableData: [], | ||
| 80 | previewImg: { | ||
| 81 | // 收件标识码 | ||
| 82 | bsmSj: "", | ||
| 83 | bsmSlsq: this.$parent.bsmSlsq, | ||
| 84 | index: 0, | ||
| 85 | selectedIndex: 0, | ||
| 86 | imgList: [], | ||
| 87 | }, | ||
| 88 | }; | ||
| 89 | }, | ||
| 90 | computed: { | ||
| 91 | ...mapGetters(["dictData"]), | ||
| 92 | }, | ||
| 93 | created () { | ||
| 94 | this.clmlInitList(1); | ||
| 95 | }, | ||
| 96 | computed: { | ||
| 97 | ...mapGetters(["workFresh"]), | ||
| 98 | }, | ||
| 99 | watch: { | ||
| 100 | workFresh: { | ||
| 101 | handler (newVal, oldVal) { | ||
| 102 | if (newVal) this.clmlInitList(1); | ||
| 103 | }, | ||
| 104 | }, | ||
| 105 | }, | ||
| 106 | mounted () { | ||
| 107 | this.ableOperation = this.$parent.ableOperation; | ||
| 108 | }, | ||
| 109 | methods: { | ||
| 110 | /** | ||
| 111 | * @description: 自动预览 | ||
| 112 | * @author: renchao | ||
| 113 | */ | ||
| 114 | nextPriview () { | ||
| 115 | if (this.treeCheckIndex < this.tableData.length) { | ||
| 116 | this.treeCheckIndex++; | ||
| 117 | if (this.tableData[this.treeCheckIndex]) { | ||
| 118 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj; | ||
| 119 | // 判断页数 | ||
| 120 | let ys = this.tableData[this.treeCheckIndex].ys | ||
| 121 | this.previewImg.index = 0; | ||
| 122 | // 获取材料明细 | ||
| 123 | if (ys > 0) { | ||
| 124 | getClmxList(this.treeCheckId).then(res => { | ||
| 125 | this.previewImg.imgList = res.result ? res.result : []; | ||
| 126 | }) | ||
| 127 | } else { | ||
| 128 | this.previewImg.imgList = [] | ||
| 129 | } | ||
| 130 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj; | ||
| 131 | } else { | ||
| 132 | this.$message.error('没有最后一张了'); | ||
| 133 | } | ||
| 134 | } | ||
| 135 | }, | ||
| 136 | /** | ||
| 137 | * @description: prevPriview | ||
| 138 | * @author: renchao | ||
| 139 | */ | ||
| 140 | prevPriview () { | ||
| 141 | if (this.treeCheckIndex >= 1) { | ||
| 142 | this.treeCheckIndex--; | ||
| 143 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj; | ||
| 144 | // 判断页数 | ||
| 145 | let ys = this.tableData[this.treeCheckIndex].ys | ||
| 146 | if (ys > 0) { | ||
| 147 | // 获取材料明细 | ||
| 148 | getClmxList(this.treeCheckId).then(res => { | ||
| 149 | this.previewImg.imgList = res.result ? res.result : []; | ||
| 150 | this.previewImg.index = this.previewImg.imgList.length - 1; | ||
| 151 | }) | ||
| 152 | } else { | ||
| 153 | this.previewImg.imgList = []; | ||
| 154 | this.previewImg.index = 0 | ||
| 155 | } | ||
| 156 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj; | ||
| 157 | } else { | ||
| 158 | this.$message.error('没有第一张了'); | ||
| 159 | } | ||
| 160 | }, | ||
| 161 | /** | ||
| 162 | * @description: 材料目录明细初始化 | ||
| 163 | * @param {*} type | ||
| 164 | * @author: renchao | ||
| 165 | */ | ||
| 166 | clmlInitList (type) { | ||
| 167 | //type 1:列表初始化 2:新增材料 | ||
| 168 | return new Promise((resolve) => { | ||
| 169 | this.unitData = this.$parent.unitData; | ||
| 170 | var formdata = new FormData(); | ||
| 171 | formdata.append("bsmSlsq", this.$parent.bsmSlsq); | ||
| 172 | formdata.append("bsmSldy", this.$parent.currentSelectProps.bsmSldy); | ||
| 173 | |||
| 174 | InitClml(formdata).then((res) => { | ||
| 175 | if (res.code == 200) { | ||
| 176 | resolve(res.code); | ||
| 177 | if (res.result && res.result.length > 0) { | ||
| 178 | this.tableData = res.result; | ||
| 179 | if (type == 1) { | ||
| 180 | this.treeClick(this.tableData[0], 0); | ||
| 181 | } else if (type == 2) { | ||
| 182 | //新增材料后刷新列表焦点置于新增的对象上 | ||
| 183 | this.treeClick( | ||
| 184 | this.tableData[this.tableData.length - 1], | ||
| 185 | this.tableData.length - 1 | ||
| 186 | ); | ||
| 187 | } | ||
| 188 | } | ||
| 189 | } else { | ||
| 190 | this.$message.error(res.message); | ||
| 191 | } | ||
| 192 | }); | ||
| 193 | }); | ||
| 194 | }, | ||
| 195 | /** | ||
| 196 | * @description: setChecked | ||
| 197 | * @param {*} item | ||
| 198 | * @author: renchao | ||
| 199 | */ | ||
| 200 | setChecked (item) { | ||
| 201 | this.treeCheckId = item.bsmSj; | ||
| 202 | this.title = item.sjmc; | ||
| 203 | this.titleYs = 1; | ||
| 204 | this.titleNum = item.children.length; | ||
| 205 | this.previewImg.imgList = item.children; | ||
| 206 | this.previewImg.bsmSj = item.bsmSj; | ||
| 207 | }, | ||
| 208 | /** | ||
| 209 | * @description: updateList | ||
| 210 | * @param {*} val | ||
| 211 | * @author: renchao | ||
| 212 | */ | ||
| 213 | updateList (val) { | ||
| 214 | let that = this; | ||
| 215 | if (val.children.length != 0) { | ||
| 216 | //删除最后一张图片时 val=null | ||
| 217 | this.tableData.forEach((item) => { | ||
| 218 | if (item.bsmSj === val.bsmSj) { | ||
| 219 | item.ys = val.children.length; | ||
| 220 | } | ||
| 221 | }); | ||
| 222 | this.previewImg.imgList = _.cloneDeep(val.children); | ||
| 223 | if (this.previewImg.index == this.previewImg.imgList.length) { | ||
| 224 | this.previewImg.index = this.previewImg.index - 1; | ||
| 225 | } | ||
| 226 | this.key++ | ||
| 227 | } else { | ||
| 228 | this.previewImg.imgList = []; | ||
| 229 | this.tableData.forEach((item, index) => { | ||
| 230 | if (this.treeCheckId == item.bsmSj) { | ||
| 231 | item.ys = 0; | ||
| 232 | that.treeCheckIndex = index; | ||
| 233 | } | ||
| 234 | }); | ||
| 235 | } | ||
| 236 | }, | ||
| 237 | /** | ||
| 238 | * @description: 添加材料目录 | ||
| 239 | * @author: renchao | ||
| 240 | */ | ||
| 241 | handleAdd () { | ||
| 242 | this.isDialog = true; | ||
| 243 | }, | ||
| 244 | /** | ||
| 245 | * @description: 新增弹窗保存 | ||
| 246 | * @param {*} data | ||
| 247 | * @author: renchao | ||
| 248 | */ | ||
| 249 | addSave (data) { | ||
| 250 | let obj = { | ||
| 251 | bsmSlsq: this.$parent.bsmSlsq, | ||
| 252 | isrequired: "1", | ||
| 253 | sjmc: data.clmc, | ||
| 254 | sjsl: 0, | ||
| 255 | smzt: "", | ||
| 256 | ys: 0, | ||
| 257 | sjlx: data.cllx, | ||
| 258 | sfxjcl: "1", // 是否必选 | ||
| 259 | sfggcl: data.sfggcl, | ||
| 260 | }; | ||
| 261 | //是否公共材料 | ||
| 262 | if (data.sfggcl == "0") { | ||
| 263 | obj["bsmSldy"] = this.$parent.currentSelectProps.bsmSldy; | ||
| 264 | } | ||
| 265 | if (this.$route.query?.djywbm == "DJBBL") { | ||
| 266 | obj.bsmSldy = this.$parent.bsmRepair | ||
| 267 | } | ||
| 268 | saveClml(obj).then(async (res) => { | ||
| 269 | if (res.code == 200) { | ||
| 270 | let res = await this.clmlInitList(2); | ||
| 271 | if (res == 200) | ||
| 272 | this.$message({ | ||
| 273 | message: "新增成功", | ||
| 274 | type: "success", | ||
| 275 | }); | ||
| 276 | } | ||
| 277 | }); | ||
| 278 | }, | ||
| 279 | /** | ||
| 280 | * @description: 材料目录点击选中 | ||
| 281 | * @param {*} item | ||
| 282 | * @param {*} index | ||
| 283 | * @author: renchao | ||
| 284 | */ | ||
| 285 | treeClick (item, index) { | ||
| 286 | this.previewImg.index = 0; | ||
| 287 | this.treeCheckId = item?.bsmSj; | ||
| 288 | this.treeCheckIndex = index; | ||
| 289 | // 获取材料明细 | ||
| 290 | getClmxList(item.bsmSj).then(res => { | ||
| 291 | this.previewImg.imgList = res.result ? res.result : []; | ||
| 292 | }) | ||
| 293 | this.previewImg.bsmSj = item?.bsmSj; | ||
| 294 | if (this.$refs.imageRef) { | ||
| 295 | this.$refs.imageRef.initialIndex = 0 | ||
| 296 | } | ||
| 297 | this.imgKey++ | ||
| 298 | }, | ||
| 299 | /** | ||
| 300 | * @description: 小图片点击 | ||
| 301 | * @param {*} item | ||
| 302 | * @param {*} index | ||
| 303 | * @author: renchao | ||
| 304 | */ | ||
| 305 | imgClick (item, index) { | ||
| 306 | this.showImg = item; | ||
| 307 | this.titleYs = index + 1; | ||
| 308 | }, | ||
| 309 | //查看明细 | ||
| 310 | async viewDetail () { | ||
| 311 | await this.clmlInitList(); | ||
| 312 | this.$store.dispatch("user/reWorkFresh", false); | ||
| 313 | this.$popupDialog( | ||
| 314 | "申请材料目录", | ||
| 315 | "workflow/components/dialog/clxxDetailDialog", | ||
| 316 | { | ||
| 317 | data: this.tableData, | ||
| 318 | bsmSldy: this.$parent.currentSelectProps.bsmSldy, | ||
| 319 | unitData: this.$parent.unitData, | ||
| 320 | ableOperation: this.$parent.ableOperation, | ||
| 321 | bsmRepair: this.$parent.bsmRepair | ||
| 322 | }, | ||
| 323 | "60%", | ||
| 324 | true | ||
| 325 | ) | ||
| 326 | }, | ||
| 327 | //设置tableData | ||
| 328 | setTableData (tableData) { | ||
| 329 | this.$nextTick((res) => { | ||
| 330 | this.tableData = tableData; | ||
| 331 | }) | ||
| 332 | } | ||
| 333 | } | ||
| 334 | } | ||
| 335 | </script> | ||
| 336 | <style scoped lang="scss"> | ||
| 337 | @import "~@/styles/mixin.scss"; | ||
| 338 | |||
| 339 | .active { | ||
| 340 | background: $light-blue !important; | ||
| 341 | color: #fff; | ||
| 342 | } | ||
| 343 | |||
| 344 | .required { | ||
| 345 | font-size: 12px; | ||
| 346 | color: $pink; | ||
| 347 | float: left; | ||
| 348 | } | ||
| 349 | |||
| 350 | .cl_number { | ||
| 351 | width: 30px; | ||
| 352 | } | ||
| 353 | |||
| 354 | .clxx { | ||
| 355 | width: 100%; | ||
| 356 | display: flex; | ||
| 357 | padding-left: 5px; | ||
| 358 | height: calc(100vh - 125px); | ||
| 359 | |||
| 360 | .left { | ||
| 361 | display: flex; | ||
| 362 | flex-direction: column; | ||
| 363 | justify-content: space-between; | ||
| 364 | |||
| 365 | .item { | ||
| 366 | width: 28px; | ||
| 367 | height: 49%; | ||
| 368 | @include flex-center; | ||
| 369 | background-color: #e4e7ed; | ||
| 370 | border-bottom-right-radius: 10px; | ||
| 371 | padding: 5px; | ||
| 372 | cursor: pointer; | ||
| 373 | transition: all 0.3s; | ||
| 374 | |||
| 375 | &:hover { | ||
| 376 | @extend .active; | ||
| 377 | } | ||
| 378 | } | ||
| 379 | } | ||
| 380 | |||
| 381 | .clmlmx-box { | ||
| 382 | margin: 0 auto; | ||
| 383 | |||
| 384 | .title { | ||
| 385 | text-align: center; | ||
| 386 | height: 60px; | ||
| 387 | line-height: 60px; | ||
| 388 | border: 1px solid #dfe6ec; | ||
| 389 | font-size: 20px; | ||
| 390 | background: #81d3f81a; | ||
| 391 | margin-bottom: -1px; | ||
| 392 | } | ||
| 393 | } | ||
| 394 | |||
| 395 | .clyl-box { | ||
| 396 | width: 100%; | ||
| 397 | height: 100%; | ||
| 398 | display: flex; | ||
| 399 | .tableList { | ||
| 400 | margin-top: 10px; | ||
| 401 | } | ||
| 402 | .menu-tree { | ||
| 403 | width: 20%; | ||
| 404 | min-width: 160px; | ||
| 405 | height: 100%; | ||
| 406 | font-size: 14px; | ||
| 407 | border-right: 1px dotted #d9d9d9; | ||
| 408 | padding: 0 10px; | ||
| 409 | |||
| 410 | .item { | ||
| 411 | line-height: 30px; | ||
| 412 | padding-top: 5px; | ||
| 413 | border-bottom: 1px solid #e8e8e8; | ||
| 414 | font-size: 16px; | ||
| 415 | text-align: center; | ||
| 416 | color: $light-blue; | ||
| 417 | |||
| 418 | .itemIcon { | ||
| 419 | float: right; | ||
| 420 | line-height: 60px; | ||
| 421 | cursor: pointer; | ||
| 422 | } | ||
| 423 | |||
| 424 | .child { | ||
| 425 | line-height: 32px; | ||
| 426 | border-bottom: 1px solid #e8e8e8; | ||
| 427 | padding-left: 10px; | ||
| 428 | color: #6b6b6b; | ||
| 429 | cursor: pointer; | ||
| 430 | box-sizing: border-box; | ||
| 431 | border-radius: 6px; | ||
| 432 | line-height: 20px; | ||
| 433 | transition: all 0.3s; | ||
| 434 | padding: 8px 0; | ||
| 435 | overflow: hidden; | ||
| 436 | display: flex; | ||
| 437 | justify-content: space-between; | ||
| 438 | } | ||
| 439 | .item_name { | ||
| 440 | flex: 1; | ||
| 441 | font-size: 14px; | ||
| 442 | display: flex; | ||
| 443 | justify-content: center; | ||
| 444 | } | ||
| 445 | .child:hover { | ||
| 446 | color: $light-blue; | ||
| 447 | transform: scale(1.1); | ||
| 448 | } | ||
| 449 | |||
| 450 | .checked { | ||
| 451 | border: 1px solid $light-blue; | ||
| 452 | color: $light-blue; | ||
| 453 | box-sizing: border-box; | ||
| 454 | } | ||
| 455 | } | ||
| 456 | } | ||
| 457 | |||
| 458 | .clyl-img { | ||
| 459 | width: 75%; | ||
| 460 | height: 100%; | ||
| 461 | background: #f3f4f7; | ||
| 462 | margin: 0 auto; | ||
| 463 | position: relative; | ||
| 464 | } | ||
| 465 | } | ||
| 466 | } | ||
| 467 | </style> |
src/views/workflow/main/fzxx/fzxxdata.js
0 → 100644
| 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 | } |
src/views/workflow/main/fzxx/index.vue
0 → 100644
| 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> |
src/views/workflow/main/fzxx/zslq.vue
0 → 100644
| 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 |
src/views/workflow/main/sdqxx/index.vue
0 → 100644
| 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> |
src/views/workflow/main/sfxx/index.vue
0 → 100644
| 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: 2024-02-01 16:27:35 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flagTop" :inline="flag" | ||
| 9 | label-width="120px"> | ||
| 10 | <div class="slxx_con"> | ||
| 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 :class="flag ? 'marginBot0' : ''" label="业务号:"> | ||
| 18 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 19 | </el-form-item> | ||
| 20 | </el-col> | ||
| 21 | <el-col :span="8"> | ||
| 22 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:"> | ||
| 23 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 24 | </el-form-item> | ||
| 25 | </el-col> | ||
| 26 | <el-col :span="8"> | ||
| 27 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:"> | ||
| 28 | <el-input disabled v-model="ruleForm.slsq.slsj"></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 :class="flag ? 'marginBot0' : ''" label="权利类型:"> | ||
| 35 | <el-select disabled v-model="ruleForm.sldyList[0].qllx" filterable clearable placeholder="请选择权利类型"> | ||
| 36 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 37 | </el-option> | ||
| 38 | </el-select> | ||
| 39 | </el-form-item> | ||
| 40 | </el-col> | ||
| 41 | <el-col :span="8"> | ||
| 42 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记类型:"> | ||
| 43 | <el-select disabled v-model="ruleForm.sldyList[0].djlx" filterable clearable placeholder="请选择登记类型"> | ||
| 44 | <el-option v-for="item in dictData['A21']" :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="8"> | ||
| 50 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记情形:"> | ||
| 51 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | </el-row> | ||
| 55 | <div class="slxx_title title-block" v-if="ruleForm.slsq.djywbm.includes('400')"> | ||
| 56 | 解封信息列表({{ ruleForm.cfdjDetailList.length }} 个) | ||
| 57 | <div class="triangle"></div> | ||
| 58 | <cfdjTable :tableData="ruleForm.cfdjDetailList" /> | ||
| 59 | </div> | ||
| 60 | <div class="slxx_title title-block" v-else> | ||
| 61 | 查封不动产列表({{ ruleForm.ztQlxxList.length }} 个) | ||
| 62 | <div class="triangle"></div> | ||
| 63 | <qlxxTable :tableData="ruleForm.ztQlxxList" /> | ||
| 64 | </div> | ||
| 65 | <div class="slxx_title title-block" v-if="!ruleForm.slsq.djywbm.includes('400')"> | ||
| 66 | 批量查封信息 | ||
| 67 | <div class="triangle"></div> | ||
| 68 | </div> | ||
| 69 | <el-row :gutter="10" v-if="!ruleForm.slsq.djywbm.includes('400')"> | ||
| 70 | <el-col :span="8"> | ||
| 71 | <el-form-item :class="flag ? 'marginBot0' : ''" label="原告:"> | ||
| 72 | <el-input v-model="ruleForm.cfdj.yg" :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 73 | </el-form-item> | ||
| 74 | </el-col> | ||
| 75 | <el-col :span="8"> | ||
| 76 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封文号:" > | ||
| 77 | <el-input v-model="ruleForm.cfdj.cfwh" :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 78 | </el-form-item> | ||
| 79 | </el-col> | ||
| 80 | <el-col :span="8"> | ||
| 81 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封机关:"> | ||
| 82 | <el-input v-model="ruleForm.cfdj.cfjg" :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 83 | </el-form-item> | ||
| 84 | </el-col> | ||
| 85 | </el-row> | ||
| 86 | <el-row :gutter="10" v-if="!ruleForm.slsq.djywbm.includes('400')"> | ||
| 87 | <el-col :span="8"> | ||
| 88 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封期限:"> | ||
| 89 | <el-input v-model="ruleForm.cfdj.cfqx" :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 90 | </el-form-item> | ||
| 91 | </el-col> | ||
| 92 | <el-col :span="8"> | ||
| 93 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封起始时间:"> | ||
| 94 | <el-date-picker v-model="ruleForm.cfdj.cfqssj" class="width100" type="date" placeholder="选择日期" | ||
| 95 | value-format="yyyy-MM-dd" :disabled="!ableOperation|| isJfOperation"></el-date-picker> | ||
| 96 | </el-form-item> | ||
| 97 | </el-col> | ||
| 98 | <el-col :span="8"> | ||
| 99 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封结束时间:"> | ||
| 100 | <el-date-picker v-model="ruleForm.cfdj.cfjssj" class="width100" | ||
| 101 | :disabled="!ableOperation|| isJfOperation" type="date" placeholder="选择日期" | ||
| 102 | value-format="yyyy-MM-dd"></el-date-picker> | ||
| 103 | </el-form-item> | ||
| 104 | </el-col> | ||
| 105 | </el-row> | ||
| 106 | <el-row :gutter="10" v-if="!ruleForm.slsq.djywbm.includes('400')"> | ||
| 107 | <el-col :span="8"> | ||
| 108 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封文件:"> | ||
| 109 | <el-input v-model="ruleForm.cfdj.cfwj" :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 110 | </el-form-item> | ||
| 111 | </el-col> | ||
| 112 | <el-col :span="16"> | ||
| 113 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封范围:"> | ||
| 114 | <el-input v-model="ruleForm.cfdj.cffw" :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 115 | </el-form-item> | ||
| 116 | </el-col> | ||
| 117 | </el-row> | ||
| 118 | <el-row :gutter="10" v-if="!ruleForm.slsq.djywbm.includes('400')"> | ||
| 119 | <el-col> | ||
| 120 | <el-form-item :class="flag ? 'marginBot0' : ''" label="附记:"> | ||
| 121 | <el-input class="textArea" type="textarea" v-model="ruleForm.cfdj.fj" | ||
| 122 | :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 123 | </el-form-item> | ||
| 124 | </el-col> | ||
| 125 | </el-row> | ||
| 126 | <el-row :gutter="10" v-if="!ruleForm.slsq.djywbm.includes('400')"> | ||
| 127 | <el-col> | ||
| 128 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="cfdj.djyy"> | ||
| 129 | <el-input class="textArea" type="textarea" v-model="ruleForm.cfdj.djyy" | ||
| 130 | :disabled="!ableOperation|| isJfOperation"></el-input> | ||
| 131 | </el-form-item> | ||
| 132 | </el-col> | ||
| 133 | </el-row> | ||
| 134 | <div v-if="propsParam.djlx == '400'"> | ||
| 135 | <div class="slxx_title title-block"> | ||
| 136 | 解封信息 | ||
| 137 | <div class="triangle"></div> | ||
| 138 | </div> | ||
| 139 | <el-row :gutter="10"> | ||
| 140 | <el-col :span="8"> | ||
| 141 | <el-form-item :class="flag ? 'marginBot0' : ''" label="解封机关:"> | ||
| 142 | <el-input v-model="ruleForm.cfdj.jfjg" :disabled="!ableOperation"></el-input> | ||
| 143 | </el-form-item> | ||
| 144 | </el-col> | ||
| 145 | <el-col :span="8"> | ||
| 146 | <el-form-item :class="flag ? 'marginBot0' : ''" label="解封文件:"> | ||
| 147 | <el-input v-model="ruleForm.cfdj.jfwj" :disabled="!ableOperation"></el-input> | ||
| 148 | </el-form-item> | ||
| 149 | </el-col> | ||
| 150 | <el-col :span="8"> | ||
| 151 | <el-form-item :class="flag ? 'marginBot0' : ''" label="解封文号:"> | ||
| 152 | <el-input v-model="ruleForm.cfdj.jfwh" :disabled="!ableOperation"></el-input> | ||
| 153 | </el-form-item> | ||
| 154 | </el-col> | ||
| 155 | </el-row> | ||
| 156 | </div> | ||
| 157 | </div> | ||
| 158 | <el-row class="btn" v-if="ableOperation"> | ||
| 159 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 160 | </el-row> | ||
| 161 | </el-form> | ||
| 162 | </div> | ||
| 163 | </template> | ||
| 164 | <script> | ||
| 165 | import qlxxTable from "../commonTable/qlxxTable.vue"; | ||
| 166 | import cfdjTable from "../commonTable/cfdjTable"; | ||
| 167 | import { BatchInit, batchSaveData } from "@/api/workflow/cfdjFlow.js"; | ||
| 168 | import { mapGetters } from "vuex"; | ||
| 169 | export default { | ||
| 170 | data () { | ||
| 171 | return { | ||
| 172 | //表单是否可操作 | ||
| 173 | ableOperation: true, | ||
| 174 | disabled: true, | ||
| 175 | flagTop: this.flag ? "top" : "", | ||
| 176 | rules: { | ||
| 177 | 'cfdj.djyy': [ | ||
| 178 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 179 | ] | ||
| 180 | }, | ||
| 181 | //传递参数 | ||
| 182 | propsParam: {}, | ||
| 183 | //页面数据 | ||
| 184 | ruleForm: { | ||
| 185 | slsq: {}, | ||
| 186 | cfdj: {}, | ||
| 187 | }, | ||
| 188 | isJfOperation: false, | ||
| 189 | tableData: [] | ||
| 190 | } | ||
| 191 | }, | ||
| 192 | mounted () { | ||
| 193 | this.ableOperation = this.$parent.currentSelectTab.ableOperation | ||
| 194 | this.propsParam = this.$attrs; | ||
| 195 | var formdata = new FormData(); | ||
| 196 | if (this.propsParam.djlx == '400') { | ||
| 197 | this.isJfOperation = true; | ||
| 198 | } | ||
| 199 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
| 200 | formdata.append("djlx", this.propsParam.djlx); | ||
| 201 | formdata.append("isEdit", this.ableOperation); | ||
| 202 | BatchInit(formdata).then((res) => { | ||
| 203 | if (res.code === 200 && res.result) { | ||
| 204 | this.ruleForm = res.result | ||
| 205 | } | ||
| 206 | }) | ||
| 207 | }, | ||
| 208 | components: { qlxxTable,cfdjTable }, | ||
| 209 | props: { | ||
| 210 | flag: { | ||
| 211 | type: Boolean, | ||
| 212 | default: false, | ||
| 213 | }, | ||
| 214 | fetch: { | ||
| 215 | type: Boolean, | ||
| 216 | default: false, | ||
| 217 | }, | ||
| 218 | }, | ||
| 219 | computed: { | ||
| 220 | ...mapGetters(["dictData"]), | ||
| 221 | }, | ||
| 222 | |||
| 223 | methods: { | ||
| 224 | /** | ||
| 225 | * @description: onSubmit | ||
| 226 | * @author: renchao | ||
| 227 | */ | ||
| 228 | onSubmit () { | ||
| 229 | this.$refs['ruleForm'].validate((valid) => { | ||
| 230 | if (valid) { | ||
| 231 | this.ruleForm.bsmSlsq = this.$route.query.bsmSlsq; | ||
| 232 | batchSaveData(this.ruleForm).then((res) => { | ||
| 233 | if (res.code === 200) { | ||
| 234 | this.$message.success('保存成功'); | ||
| 235 | } | ||
| 236 | }) | ||
| 237 | } else { | ||
| 238 | this.$message({ | ||
| 239 | showClose: true, | ||
| 240 | message: "请输入登记原因", | ||
| 241 | type: "error" | ||
| 242 | }) | ||
| 243 | return false; | ||
| 244 | } | ||
| 245 | }); | ||
| 246 | |||
| 247 | }, | ||
| 248 | /** | ||
| 249 | * @description: changeCflx | ||
| 250 | * @param {*} e | ||
| 251 | * @author: renchao | ||
| 252 | */ | ||
| 253 | changeCflx (e) { | ||
| 254 | let cflxItem = {} | ||
| 255 | cflxItem = this.dictData['A32'].find((item) => { | ||
| 256 | return item.dcode == e | ||
| 257 | }) | ||
| 258 | this.ruleForm.cfdjList[0].cflxmc = cflxItem.dname; | ||
| 259 | } | ||
| 260 | }, | ||
| 261 | }; | ||
| 262 | </script> | ||
| 263 | <style scoped lang='scss'> | ||
| 264 | @import "~@/styles/public.scss"; | ||
| 265 | @import "~@/styles/slxx/slxx.scss"; | ||
| 266 | </style> |
src/views/workflow/main/slsqxx/cfdj/slxx.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-01-30 15:08:38 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form | ||
| 9 | :model="ruleForm" | ||
| 10 | :rules="rules" | ||
| 11 | ref="ruleForm" | ||
| 12 | :label-position="flagTop" | ||
| 13 | :inline="flag" | ||
| 14 | label-width="120px"> | ||
| 15 | <div class="slxx_con"> | ||
| 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 :class="flag ? 'marginBot0' : ''" label="业务号:" prop="slsq.ywh"> | ||
| 23 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 24 | </el-form-item> | ||
| 25 | </el-col> | ||
| 26 | <el-col :span="8"> | ||
| 27 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:" prop="slsq.slry"> | ||
| 28 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 29 | </el-form-item> | ||
| 30 | </el-col> | ||
| 31 | <el-col :span="8"> | ||
| 32 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:" prop="slsq.slsj"> | ||
| 33 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 34 | </el-form-item> | ||
| 35 | </el-col> | ||
| 36 | </el-row> | ||
| 37 | <el-row :gutter="10"> | ||
| 38 | <el-col :span="8"> | ||
| 39 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利类型:" prop="slsq.qllx"> | ||
| 40 | <el-select | ||
| 41 | disabled | ||
| 42 | v-model="ruleForm.sldy.qllx" | ||
| 43 | filterable | ||
| 44 | clearable | ||
| 45 | placeholder="请选择权利类型"> | ||
| 46 | <el-option | ||
| 47 | v-for="item in dictData['A8']" | ||
| 48 | :key="item.dcode" | ||
| 49 | :label="item.dname" | ||
| 50 | :value="item.dcode"></el-option> | ||
| 51 | </el-select> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | <el-col :span="8"> | ||
| 55 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记类型:" prop="slsq.djlx"> | ||
| 56 | <el-select | ||
| 57 | disabled | ||
| 58 | v-model="ruleForm.sldy.djlx" | ||
| 59 | filterable | ||
| 60 | clearable | ||
| 61 | placeholder="请选择登记类型"> | ||
| 62 | <el-option | ||
| 63 | v-for="item in dictData['A21']" | ||
| 64 | :key="item.dcode" | ||
| 65 | :label="item.dname" | ||
| 66 | :value="item.dcode"></el-option> | ||
| 67 | </el-select> | ||
| 68 | </el-form-item> | ||
| 69 | </el-col> | ||
| 70 | <el-col :span="8"> | ||
| 71 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记情形:" prop="slsq.djqx"> | ||
| 72 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 73 | </el-form-item> | ||
| 74 | </el-col> | ||
| 75 | </el-row> | ||
| 76 | <div class="slxx_title title-block"> | ||
| 77 | 查封不动产情况 | ||
| 78 | <div class="triangle"></div> | ||
| 79 | </div> | ||
| 80 | |||
| 81 | <el-row :gutter="10"> | ||
| 82 | <el-col :span="8"> | ||
| 83 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利类型:"> | ||
| 84 | <el-input disabled v-model="ruleForm.ztQlxx.qllxmc"></el-input> | ||
| 85 | </el-form-item> | ||
| 86 | </el-col> | ||
| 87 | |||
| 88 | <el-col :span="8"> | ||
| 89 | <el-form-item :class="flag ? 'marginBot0' : ''" label="不动产权证号:" prop="qlxx.bdcqzh"> | ||
| 90 | <el-input disabled v-model="ruleForm.ztQlxx.bdcqzh"></el-input> | ||
| 91 | </el-form-item> | ||
| 92 | </el-col> | ||
| 93 | <el-col :span="8"> | ||
| 94 | <el-form-item :class="flag ? 'marginBot0' : ''" label="共有情况:"> | ||
| 95 | <el-input disabled v-model="ruleForm.ztQlxx.gyqk"></el-input> | ||
| 96 | </el-form-item> | ||
| 97 | </el-col> | ||
| 98 | </el-row> | ||
| 99 | <el-row :gutter="10"> | ||
| 100 | <el-col :span="8"> | ||
| 101 | <el-form-item :class="flag ? 'marginBot0' : ''" label="被执行人:" prop="qlxx.qlrmc"> | ||
| 102 | <el-input disabled v-model="ruleForm.ztQlxx.qlrmc"></el-input> | ||
| 103 | </el-form-item> | ||
| 104 | </el-col> | ||
| 105 | <el-col :span="8"> | ||
| 106 | <el-form-item :class="flag ? 'marginBot0' : ''" label="证件种类:"> | ||
| 107 | <el-input disabled v-model="ruleForm.ztQlxx.qlrzjzl"></el-input> | ||
| 108 | </el-form-item> | ||
| 109 | </el-col> | ||
| 110 | <el-col :span="8"> | ||
| 111 | <el-form-item :class="flag ? 'marginBot0' : ''" label="证件号:"> | ||
| 112 | <el-input disabled v-model="ruleForm.ztQlxx.qlrzjhm"></el-input> | ||
| 113 | </el-form-item> | ||
| 114 | </el-col> | ||
| 115 | </el-row> | ||
| 116 | <el-row :gutter="10"> | ||
| 117 | <el-col :span="8"> | ||
| 118 | <el-form-item :class="flag ? 'marginBot0' : ''" label="不动产单元号:" prop="qlxx.bdcdyh"> | ||
| 119 | <el-input disabled v-model="ruleForm.ztQlxx.bdcdyh"></el-input> | ||
| 120 | </el-form-item> | ||
| 121 | </el-col> | ||
| 122 | <el-col :span="16"> | ||
| 123 | <el-form-item :class="flag ? 'marginBot0' : ''" label="坐落:"> | ||
| 124 | <el-input disabled v-model="ruleForm.ztQlxx.zl"></el-input> | ||
| 125 | </el-form-item> | ||
| 126 | </el-col> | ||
| 127 | </el-row> | ||
| 128 | <el-row :gutter="10"> | ||
| 129 | <el-col :span="8"> | ||
| 130 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利性质"> | ||
| 131 | <el-input disabled v-model="ruleForm.ztQlxx.qlxzmc"></el-input> | ||
| 132 | </el-form-item> | ||
| 133 | </el-col> | ||
| 134 | <el-col :span="8"> | ||
| 135 | <el-form-item :class="flag ? 'marginBot0' : ''" label="用途:"> | ||
| 136 | <el-input disabled v-model="ruleForm.ztQlxx.qlytmc"></el-input> | ||
| 137 | </el-form-item> | ||
| 138 | </el-col> | ||
| 139 | <el-col :span="8"> | ||
| 140 | <el-form-item :class="flag ? 'marginBot0' : ''" label="面积:"> | ||
| 141 | <el-input disabled v-model="ruleForm.ztQlxx.qlmjmc"></el-input> | ||
| 142 | </el-form-item> | ||
| 143 | </el-col> | ||
| 144 | </el-row> | ||
| 145 | |||
| 146 | <div class="slxx_title title-block"> | ||
| 147 | 查封信息 | ||
| 148 | <div class="triangle"></div> | ||
| 149 | </div> | ||
| 150 | <el-row :gutter="10"> | ||
| 151 | <el-col :span="8"> | ||
| 152 | <el-form-item :class="flag ? 'marginBot0' : ''" label="原告:" prop="cfdj.cfwh"> | ||
| 153 | <el-input | ||
| 154 | v-model="ruleForm.cfdj.yg" | ||
| 155 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 156 | </el-form-item> | ||
| 157 | </el-col> | ||
| 158 | <el-col :span="8"> | ||
| 159 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封文号:" prop="cfdj.cfwh"> | ||
| 160 | <el-input | ||
| 161 | v-model="ruleForm.cfdj.cfwh" | ||
| 162 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 163 | </el-form-item> | ||
| 164 | </el-col> | ||
| 165 | <el-col :span="8"> | ||
| 166 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封机关:" prop="cfdj.cfjg"> | ||
| 167 | <el-input | ||
| 168 | v-model="ruleForm.cfdj.cfjg" | ||
| 169 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 170 | </el-form-item> | ||
| 171 | </el-col> | ||
| 172 | </el-row> | ||
| 173 | <el-row :gutter="10"> | ||
| 174 | <el-col :span="8"> | ||
| 175 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封类型:" prop="cfdj.cflxmc"> | ||
| 176 | <el-input v-model="ruleForm.cfdj.cflxmc" disabled></el-input> | ||
| 177 | </el-form-item> | ||
| 178 | </el-col> | ||
| 179 | <el-col :span="16"> | ||
| 180 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封文件:" prop="cfdj.cfwj"> | ||
| 181 | <el-input | ||
| 182 | v-model="ruleForm.cfdj.cfwj" | ||
| 183 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 184 | </el-form-item> | ||
| 185 | </el-col> | ||
| 186 | </el-row> | ||
| 187 | <el-row :gutter="10"> | ||
| 188 | <el-col :span="8"> | ||
| 189 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封期限:" prop="cfdj.cfqx"> | ||
| 190 | <el-input | ||
| 191 | v-model="ruleForm.cfdj.cfqx" | ||
| 192 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 193 | </el-form-item> | ||
| 194 | </el-col> | ||
| 195 | <el-col :span="8"> | ||
| 196 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封起始时间:" prop="cfdj.cfqssj"> | ||
| 197 | <el-date-picker | ||
| 198 | v-model="ruleForm.cfdj.cfqssj" | ||
| 199 | class="width100" | ||
| 200 | type="date" | ||
| 201 | placeholder="选择日期" | ||
| 202 | value-format="yyyy-MM-dd" | ||
| 203 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-date-picker> | ||
| 204 | </el-form-item> | ||
| 205 | </el-col> | ||
| 206 | <el-col :span="8"> | ||
| 207 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封结束时间:" prop="cfdj.cfjssj"> | ||
| 208 | <el-date-picker | ||
| 209 | v-model="ruleForm.cfdj.cfjssj" | ||
| 210 | class="width100" | ||
| 211 | :disabled="!viewEdit || ableEdit || isJfOperation" | ||
| 212 | type="date" | ||
| 213 | placeholder="选择日期" | ||
| 214 | value-format="yyyy-MM-dd"></el-date-picker> | ||
| 215 | </el-form-item> | ||
| 216 | </el-col> | ||
| 217 | </el-row> | ||
| 218 | |||
| 219 | <el-row :gutter="10"> | ||
| 220 | <el-col :span="24"> | ||
| 221 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封范围:" prop="cfdj.cffw"> | ||
| 222 | <el-input | ||
| 223 | v-model="ruleForm.cfdj.cffw" | ||
| 224 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 225 | </el-form-item> | ||
| 226 | </el-col> | ||
| 227 | </el-row> | ||
| 228 | <el-row :gutter="10"> | ||
| 229 | <el-col :span="24"> | ||
| 230 | <el-form-item :class="flag ? 'marginBot0' : ''" label="附记:" prop="cfdj.fj"> | ||
| 231 | <el-input | ||
| 232 | v-model="ruleForm.cfdj.fj" | ||
| 233 | type="textarea" | ||
| 234 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 235 | </el-form-item> | ||
| 236 | </el-col> | ||
| 237 | </el-row> | ||
| 238 | <el-row :gutter="10"> | ||
| 239 | <el-col> | ||
| 240 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="cfdj.djyy"> | ||
| 241 | <el-input | ||
| 242 | class="textArea" | ||
| 243 | type="textarea" | ||
| 244 | v-model="ruleForm.cfdj.djyy" | ||
| 245 | :disabled="!viewEdit || ableEdit || isJfOperation"></el-input> | ||
| 246 | </el-form-item> | ||
| 247 | </el-col> | ||
| 248 | </el-row> | ||
| 249 | <div v-if="propsParam.djlx == '400'"> | ||
| 250 | <div class="slxx_title title-block"> | ||
| 251 | 解封信息 | ||
| 252 | <div class="triangle"></div> | ||
| 253 | </div> | ||
| 254 | <el-row :gutter="10"> | ||
| 255 | <el-col :span="8"> | ||
| 256 | <el-form-item :class="flag ? 'marginBot0' : ''" label="解封机关:" prop="cfdj.jfjg"> | ||
| 257 | <el-input | ||
| 258 | v-model="ruleForm.cfdj.jfjg" | ||
| 259 | :disabled="!viewEdit || ableEdit"></el-input> | ||
| 260 | </el-form-item> | ||
| 261 | </el-col> | ||
| 262 | <el-col :span="8"> | ||
| 263 | <el-form-item :class="flag ? 'marginBot0' : ''" label="解封文件:" prop="cfdj.jfwj"> | ||
| 264 | <el-input | ||
| 265 | v-model="ruleForm.cfdj.jfwj" | ||
| 266 | :disabled="!viewEdit || ableEdit"></el-input> | ||
| 267 | </el-form-item> | ||
| 268 | </el-col> | ||
| 269 | <el-col :span="8"> | ||
| 270 | <el-form-item :class="flag ? 'marginBot0' : ''" label="解封文号:" prop="cfdj.jfwh"> | ||
| 271 | <el-input | ||
| 272 | v-model="ruleForm.cfdj.jfwh" | ||
| 273 | :disabled="!viewEdit || ableEdit"></el-input> | ||
| 274 | </el-form-item> | ||
| 275 | </el-col> | ||
| 276 | </el-row> | ||
| 277 | </div> | ||
| 278 | </div> | ||
| 279 | <el-row class="btn" v-if="viewEdit && !ableEdit"> | ||
| 280 | <el-form-item :class="flag ? 'marginBot0' : ''"> | ||
| 281 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 282 | </el-form-item> | ||
| 283 | </el-row> | ||
| 284 | </el-form> | ||
| 285 | </div> | ||
| 286 | </template> | ||
| 287 | <script> | ||
| 288 | import sqrViewTable from "@/views/workflow/components/sqrViewTable"; | ||
| 289 | import { Init, saveData } from "@/api/workflow/cfdjFlow.js"; | ||
| 290 | import { mapGetters } from "vuex"; | ||
| 291 | export default { | ||
| 292 | data () { | ||
| 293 | return { | ||
| 294 | // 键名转换,方法默认是label和children进行树状渲染 | ||
| 295 | normalizer (node) { | ||
| 296 | //方法 | ||
| 297 | if (node.children == null || node.children == "null") { | ||
| 298 | delete node.children; | ||
| 299 | } | ||
| 300 | return { | ||
| 301 | id: node.dcode, | ||
| 302 | label: node.dname, | ||
| 303 | }; | ||
| 304 | }, | ||
| 305 | //表单是否可操作 | ||
| 306 | viewEdit: false, | ||
| 307 | disabled: true, | ||
| 308 | flagTop: this.flag ? "top" : "", | ||
| 309 | rules: { | ||
| 310 | 'cfdj.djyy': [ | ||
| 311 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 312 | ] | ||
| 313 | }, | ||
| 314 | //传递参数 | ||
| 315 | propsParam: {}, | ||
| 316 | //页面数据 | ||
| 317 | ruleForm: {}, | ||
| 318 | //是否可编辑 | ||
| 319 | ableEdit: false, | ||
| 320 | //是否为解封 | ||
| 321 | isJfOperation: false, | ||
| 322 | }; | ||
| 323 | }, | ||
| 324 | async created () { | ||
| 325 | this.propsParam = this.$attrs; | ||
| 326 | this.ableEdit = this.$parent.showBatch; | ||
| 327 | this.viewEdit = this.$parent.currentSelectTab.ableOperation | ||
| 328 | if (this.propsParam.djlx == "400") { | ||
| 329 | this.isJfOperation = true; | ||
| 330 | } | ||
| 331 | var formdata = new FormData(); | ||
| 332 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 333 | formdata.append("djlx", this.propsParam.djlx); | ||
| 334 | formdata.append("isEdit", this.viewEdit); | ||
| 335 | Init(formdata).then((res) => { | ||
| 336 | if (res.code === 200 && res.result) { | ||
| 337 | this.ruleForm = res.result; | ||
| 338 | } else { | ||
| 339 | this.$message.error(res.message); | ||
| 340 | } | ||
| 341 | }); | ||
| 342 | }, | ||
| 343 | watch: {}, | ||
| 344 | components: { sqrViewTable }, | ||
| 345 | props: { | ||
| 346 | flag: { | ||
| 347 | type: Boolean, | ||
| 348 | default: false, | ||
| 349 | }, | ||
| 350 | fetch: { | ||
| 351 | type: Boolean, | ||
| 352 | default: false, | ||
| 353 | }, | ||
| 354 | }, | ||
| 355 | computed: { | ||
| 356 | ...mapGetters(["dictData"]) | ||
| 357 | }, | ||
| 358 | |||
| 359 | methods: { | ||
| 360 | /** | ||
| 361 | * @description: onSubmit | ||
| 362 | * @author: renchao | ||
| 363 | */ | ||
| 364 | onSubmit () { | ||
| 365 | this.$refs['ruleForm'].validate((valid) => { | ||
| 366 | if (valid) { | ||
| 367 | saveData(this.ruleForm).then((res) => { | ||
| 368 | if (res.code === 200) { | ||
| 369 | this.$message.success("保存成功"); | ||
| 370 | } | ||
| 371 | }) | ||
| 372 | } else { | ||
| 373 | this.$message({ | ||
| 374 | showClose: true, | ||
| 375 | message: "请输入登记原因", | ||
| 376 | type: "error" | ||
| 377 | }) | ||
| 378 | return false | ||
| 379 | } | ||
| 380 | }) | ||
| 381 | }, | ||
| 382 | /** | ||
| 383 | * @description: changeCflx | ||
| 384 | * @param {*} e | ||
| 385 | * @author: renchao | ||
| 386 | */ | ||
| 387 | changeCflx (e) { | ||
| 388 | let cflxItem = {}; | ||
| 389 | cflxItem = this.dictData["A32"].find((item) => { | ||
| 390 | return item.dcode == e; | ||
| 391 | }); | ||
| 392 | this.ruleForm.cfdj.cflxmc = cflxItem.dname | ||
| 393 | } | ||
| 394 | } | ||
| 395 | } | ||
| 396 | </script> | ||
| 397 | <style scoped lang='scss'> | ||
| 398 | @import "~@/styles/public.scss"; | ||
| 399 | @import "~@/styles/slxx/slxx.scss"; | ||
| 400 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-12-26 15:00:22 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <dialogBox | ||
| 8 | title="申请人信息" | ||
| 9 | width="75%" | ||
| 10 | isMain | ||
| 11 | v-model="myValue" | ||
| 12 | :isFullscreen="false" | ||
| 13 | @submitForm="submitForm" | ||
| 14 | @closeDialog="closeDialog" | ||
| 15 | :isButton="isShow"> | ||
| 16 | |||
| 17 | <el-tabs v-model="activeName" @tab-click="handleClick" class="from-clues-header"> | ||
| 18 | <el-tab-pane label="基本信息" name="1"></el-tab-pane> | ||
| 19 | <el-tab-pane label="企业信息" v-if="showButton" name="2"></el-tab-pane> | ||
| 20 | <el-tab-pane label="银行机构" v-if="showButton" name="3"></el-tab-pane> | ||
| 21 | </el-tabs> | ||
| 22 | |||
| 23 | <el-form | ||
| 24 | v-if="activeName==1" | ||
| 25 | :model="ruleForm" | ||
| 26 | :rules="rules" | ||
| 27 | ref="ruleForm" | ||
| 28 | label-width="120px"> | ||
| 29 | <el-form-item label="身份证读卡器" style="margin-top:-10px;margin-bottom:0"> | ||
| 30 | <el-button type="text" icon="el-icon-tickets" :disabled="!showButton" @click="readClick">读取</el-button> | ||
| 31 | <el-button type="primary" v-if="isBz" @click="handleFilings">信息备案</el-button> | ||
| 32 | </el-form-item> | ||
| 33 | <el-row> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="头像"> | ||
| 36 | <el-image style="width:102px;height:126px" :src="ruleForm.avatar || avatar" fit="contain" /> | ||
| 37 | </el-form-item> | ||
| 38 | </el-col> | ||
| 39 | <el-col :span="16"> | ||
| 40 | <el-row> | ||
| 41 | <el-col :span="12"> | ||
| 42 | <el-form-item label="姓名/名称" prop="sqrmc"> | ||
| 43 | <el-input | ||
| 44 | v-model="ruleForm.sqrmc" | ||
| 45 | maxlegth="15" | ||
| 46 | :disabled="!showButton"></el-input> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | <el-col :span="12"> | ||
| 50 | <el-form-item label="证件种类" prop="zjzl"> | ||
| 51 | <el-select | ||
| 52 | clearable | ||
| 53 | v-model="ruleForm.zjzl" | ||
| 54 | :disabled="!showButton" | ||
| 55 | @change="handleZjzl" | ||
| 56 | class="width100" | ||
| 57 | placeholder="请选择"> | ||
| 58 | <el-option | ||
| 59 | v-for="item in dictData['A30']" | ||
| 60 | :key="item.dcode" | ||
| 61 | :label="item.dname" | ||
| 62 | :value="item.dcode"> | ||
| 63 | </el-option> | ||
| 64 | </el-select> | ||
| 65 | </el-form-item> | ||
| 66 | </el-col> | ||
| 67 | </el-row> | ||
| 68 | <el-row> | ||
| 69 | <el-col :span="12"> | ||
| 70 | <el-form-item label="证件号" prop="zjh"> | ||
| 71 | <el-input | ||
| 72 | v-model="ruleForm.zjh" | ||
| 73 | :disabled="!showButton" | ||
| 74 | maxlength="18" | ||
| 75 | oninput="this.value=this.value.replace(/[^\X0-9]/g,'')"></el-input> | ||
| 76 | </el-form-item> | ||
| 77 | </el-col> | ||
| 78 | <el-col :span="12"> | ||
| 79 | <el-form-item label="性别" prop="xb"> | ||
| 80 | <el-select | ||
| 81 | clearable | ||
| 82 | v-model="ruleForm.xb" | ||
| 83 | :disabled="!showButton" | ||
| 84 | class="width100" | ||
| 85 | placeholder="请选择"> | ||
| 86 | <el-option | ||
| 87 | v-for="item in dictData['A43']" | ||
| 88 | :key="item.dcode" | ||
| 89 | :label="item.dname" | ||
| 90 | :value="item.dcode"> | ||
| 91 | </el-option> | ||
| 92 | </el-select> | ||
| 93 | </el-form-item> | ||
| 94 | </el-col> | ||
| 95 | </el-row> | ||
| 96 | <el-row> | ||
| 97 | <el-col :span="12"> | ||
| 98 | <el-form-item label="联系电话" prop="dh"> | ||
| 99 | <el-input | ||
| 100 | v-model="ruleForm.dh" | ||
| 101 | :disabled="!showButton" | ||
| 102 | maxlength="11" | ||
| 103 | oninput="value=value.replace(/[^\d]/g,'')"></el-input> | ||
| 104 | </el-form-item> | ||
| 105 | </el-col> | ||
| 106 | <el-col :span="12"> | ||
| 107 | <el-form-item label="国家/地区" prop="gj"> | ||
| 108 | <el-input | ||
| 109 | v-model="ruleForm.gj" | ||
| 110 | maxlength="3" | ||
| 111 | :disabled="!showButton"></el-input> | ||
| 112 | </el-form-item> | ||
| 113 | </el-col> | ||
| 114 | </el-row> | ||
| 115 | </el-col> | ||
| 116 | </el-row> | ||
| 117 | <el-row> | ||
| 118 | <el-col :span="8"> | ||
| 119 | <el-form-item label="权利人类型" prop="sqrlx"> | ||
| 120 | <el-select | ||
| 121 | clearable | ||
| 122 | v-model="ruleForm.sqrlx" | ||
| 123 | class="width100" | ||
| 124 | :disabled="!showButton" | ||
| 125 | placeholder="请选择"> | ||
| 126 | <el-option | ||
| 127 | v-for="item in dictData['A36']" | ||
| 128 | :key="item.dcode" | ||
| 129 | :label="item.dname" | ||
| 130 | :value="item.dcode"> | ||
| 131 | </el-option> | ||
| 132 | </el-select> | ||
| 133 | </el-form-item> | ||
| 134 | </el-col> | ||
| 135 | <el-col :span="8"> | ||
| 136 | <el-form-item label="户籍所在省市" prop="hjszss"> | ||
| 137 | <el-input | ||
| 138 | v-model="ruleForm.hjszss" | ||
| 139 | maxlength="3" | ||
| 140 | :disabled="!showButton"></el-input> | ||
| 141 | </el-form-item> | ||
| 142 | </el-col> | ||
| 143 | <el-col :span="8"> | ||
| 144 | <el-form-item label="权利比例" prop="qlbl"> | ||
| 145 | <el-input | ||
| 146 | v-model="ruleForm.qlbl" | ||
| 147 | maxlength="32" | ||
| 148 | :disabled="!showButton || this.ruleForm.gyfs == 1"></el-input> | ||
| 149 | </el-form-item> | ||
| 150 | </el-col> | ||
| 151 | </el-row> | ||
| 152 | <el-row> | ||
| 153 | <el-col :span="8"> | ||
| 154 | <el-form-item label="法人名称" prop="frmc"> | ||
| 155 | <el-input | ||
| 156 | v-model="ruleForm.frmc" | ||
| 157 | maxlength="32" | ||
| 158 | :disabled="!showButton"></el-input> | ||
| 159 | </el-form-item> | ||
| 160 | </el-col> | ||
| 161 | <el-col :span="16"> | ||
| 162 | <el-form-item label="地址" prop="txdz"> | ||
| 163 | <el-input | ||
| 164 | v-model="ruleForm.txdz" | ||
| 165 | maxlength="100" | ||
| 166 | :disabled="!showButton"></el-input> | ||
| 167 | </el-form-item> | ||
| 168 | </el-col> | ||
| 169 | </el-row> | ||
| 170 | <el-row> | ||
| 171 | <el-col :span="8"> | ||
| 172 | <el-form-item label="发证机关" prop="fzjg"> | ||
| 173 | <el-input | ||
| 174 | v-model="ruleForm.fzjg" | ||
| 175 | maxlength="10" | ||
| 176 | :disabled="!showButton"></el-input> | ||
| 177 | </el-form-item> | ||
| 178 | </el-col> | ||
| 179 | <el-col :span="8"> | ||
| 180 | <el-form-item label="电子邮件" prop="dzyj"> | ||
| 181 | <el-input | ||
| 182 | v-model="ruleForm.dzyj" | ||
| 183 | :disabled="!showButton" | ||
| 184 | maxlength="25"></el-input> | ||
| 185 | </el-form-item> | ||
| 186 | </el-col> | ||
| 187 | <el-col :span="8"> | ||
| 188 | <el-form-item label="邮编" prop="yb"> | ||
| 189 | <el-input | ||
| 190 | v-model.number="ruleForm.yb" | ||
| 191 | :disabled="!showButton" | ||
| 192 | maxlength="6" | ||
| 193 | oninput="value=value.replace(/[^\d]/g,'')"></el-input> | ||
| 194 | </el-form-item> | ||
| 195 | </el-col> | ||
| 196 | </el-row> | ||
| 197 | <el-row> | ||
| 198 | <el-col :span="8"> | ||
| 199 | <el-form-item label="工作单位" prop="gzdw"> | ||
| 200 | <el-input | ||
| 201 | v-model="ruleForm.gzdw" | ||
| 202 | maxlength="32" | ||
| 203 | :disabled="!showButton"></el-input> | ||
| 204 | </el-form-item> | ||
| 205 | </el-col> | ||
| 206 | <el-col :span="16"> | ||
| 207 | <el-form-item label="代理机构" prop="dlrjg"> | ||
| 208 | <el-input | ||
| 209 | v-model="ruleForm.dlrjg" | ||
| 210 | maxlength="32" | ||
| 211 | :disabled="!showButton"></el-input> | ||
| 212 | </el-form-item> | ||
| 213 | </el-col> | ||
| 214 | </el-row> | ||
| 215 | |||
| 216 | <el-row> | ||
| 217 | <el-col :span="8"> | ||
| 218 | <el-form-item label="代理人姓名" prop="dlrmc"> | ||
| 219 | <el-input | ||
| 220 | v-model="ruleForm.dlrmc" | ||
| 221 | maxlength="15" | ||
| 222 | :disabled="!showButton"></el-input> | ||
| 223 | </el-form-item> | ||
| 224 | </el-col> | ||
| 225 | <el-col :span="8"> | ||
| 226 | <el-form-item label="代理人证件类型" prop="dlrzjlx"> | ||
| 227 | <el-select | ||
| 228 | clearable | ||
| 229 | v-model="ruleForm.dlrzjlx" | ||
| 230 | :disabled="!showButton" | ||
| 231 | class="width100" | ||
| 232 | placeholder="请选择"> | ||
| 233 | <el-option | ||
| 234 | v-for="item in dictData['A30']" | ||
| 235 | :key="item.dcode" | ||
| 236 | :label="item.dname" | ||
| 237 | :value="item.dcode"> | ||
| 238 | </el-option> | ||
| 239 | </el-select> | ||
| 240 | </el-form-item> | ||
| 241 | </el-col> | ||
| 242 | <el-col :span="8"> | ||
| 243 | <el-form-item label="代理人证件号" prop="dlrzjh"> | ||
| 244 | <el-input | ||
| 245 | v-model="ruleForm.dlrzjh" | ||
| 246 | :disabled="!showButton" | ||
| 247 | maxlength="18" | ||
| 248 | oninput="this.value=this.value.replace(/[^\X0-9]/g,'')"></el-input> | ||
| 249 | </el-form-item> | ||
| 250 | </el-col> | ||
| 251 | </el-row> | ||
| 252 | <el-row> | ||
| 253 | <el-col :span="8"> | ||
| 254 | <el-form-item label="代理人电话" prop="dlrdh"> | ||
| 255 | <el-input | ||
| 256 | v-model="ruleForm.dlrdh" | ||
| 257 | :disabled="!showButton" | ||
| 258 | maxlength="11" | ||
| 259 | oninput="value=value.replace(/[^\d]/g,'')"></el-input> | ||
| 260 | </el-form-item> | ||
| 261 | </el-col> | ||
| 262 | </el-row> | ||
| 263 | </el-form> | ||
| 264 | <div v-if="activeName==2" class="padding10"> | ||
| 265 | <el-form :model="queryFormQY" label-width="80px"> | ||
| 266 | <el-row> | ||
| 267 | <el-col :span="8"> | ||
| 268 | <el-form-item label="姓名/名称"> | ||
| 269 | <el-input placeholder="姓名/名称" v-model="queryFormQY.qymc" clearable class="width100"> | ||
| 270 | </el-input> | ||
| 271 | </el-form-item> | ||
| 272 | </el-col> | ||
| 273 | <el-col :span="8"> | ||
| 274 | <el-form-item label="证件号"> | ||
| 275 | <el-input placeholder="证件号" v-model="queryFormQY.zjh" clearable class="width100"> | ||
| 276 | </el-input> | ||
| 277 | </el-form-item> | ||
| 278 | </el-col> | ||
| 279 | <el-col :span="8" class="btnColRight"> | ||
| 280 | <el-form-item> | ||
| 281 | <el-button type="primary" @click="handleSearchQY">查询</el-button> | ||
| 282 | </el-form-item> | ||
| 283 | </el-col> | ||
| 284 | </el-row> | ||
| 285 | </el-form> | ||
| 286 | <el-table :data="tableDataQy.data" border v-Loading="loading" :height="563"> | ||
| 287 | <el-table-column label="序号" type="index" width="50" align="center"> | ||
| 288 | <template slot-scope="scope"> | ||
| 289 | {{(pageData.currentPage - 1) * pageData.pageSize + scope.$index + 1}} | ||
| 290 | </template> | ||
| 291 | </el-table-column> | ||
| 292 | <el-table-column v-for="item in tableDataQy.columns" :key="item.index" :width="item.width" :prop="item.prop" :label="item.label" align="center"> | ||
| 293 | </el-table-column> | ||
| 294 | <el-table-column label="操作" width="50"> | ||
| 295 | <template slot-scope="scope"> | ||
| 296 | <el-button type="text" @click="handleSelect(scope.row)">使用</el-button> | ||
| 297 | </template> | ||
| 298 | </el-table-column> | ||
| 299 | </el-table> | ||
| 300 | <el-pagination background layout="prev, pager, next,total" :total="tableDataQy.total" | ||
| 301 | @current-change="handleQYCurrentChange"></el-pagination> | ||
| 302 | </div> | ||
| 303 | |||
| 304 | <div v-if="activeName==3" class="padding10"> | ||
| 305 | <el-form :model="queryFormYH" label-width="80px"> | ||
| 306 | <el-row> | ||
| 307 | <el-col :span="8"> | ||
| 308 | <el-form-item label="姓名/名称"> | ||
| 309 | <el-input placeholder="姓名/名称" v-model="queryFormYH.qymc" clearable class="width100"> | ||
| 310 | </el-input> | ||
| 311 | </el-form-item> | ||
| 312 | </el-col> | ||
| 313 | <el-col :span="8"> | ||
| 314 | <el-form-item label="证件号"> | ||
| 315 | <el-input placeholder="证件号" v-model="queryFormYH.zjh" clearable class="width100"> | ||
| 316 | </el-input> | ||
| 317 | </el-form-item> | ||
| 318 | </el-col> | ||
| 319 | <el-col :span="8" class="btnColRight"> | ||
| 320 | <el-form-item> | ||
| 321 | <el-button type="primary" @click="handleSearchYH">查询</el-button> | ||
| 322 | </el-form-item> | ||
| 323 | </el-col> | ||
| 324 | </el-row> | ||
| 325 | </el-form> | ||
| 326 | <el-table :data="tableDataYh.data" border v-Loading="loading" :height="563"> | ||
| 327 | <el-table-column label="序号" type="index" width="50" align="center"> | ||
| 328 | <template slot-scope="scope"> | ||
| 329 | {{(pageData.currentPage - 1) * pageData.pageSize + scope.$index + 1}} | ||
| 330 | </template> | ||
| 331 | </el-table-column> | ||
| 332 | <el-table-column v-for="item in tableDataYh.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center"> | ||
| 333 | </el-table-column> | ||
| 334 | <el-table-column label="操作" width="50"> | ||
| 335 | <template slot-scope="scope"> | ||
| 336 | <el-button type="text" @click="handleSelect(scope.row)">使用</el-button> | ||
| 337 | </template> | ||
| 338 | </el-table-column> | ||
| 339 | </el-table> | ||
| 340 | <el-pagination background layout="prev, pager, next,total" :total="tableDataYh.total" | ||
| 341 | @current-change="handleYHCurrentChange"></el-pagination> | ||
| 342 | </div> | ||
| 343 | |||
| 344 | </dialogBox> | ||
| 345 | </template> | ||
| 346 | <script> | ||
| 347 | import { mapGetters } from "vuex"; | ||
| 348 | import store from '@/store/index.js' | ||
| 349 | import { getUuid } from "@/utils/operation.js" | ||
| 350 | import { replace } from "@/api/company.js" | ||
| 351 | import { getIdCardInfo } from '@/utils/operation.js' | ||
| 352 | import { queryQyByPage, queryYhByPage, addQy } from "@/api/xxba.js"; | ||
| 353 | import { dataYh, dataQy, sendThis } from "./addSqrData"; | ||
| 354 | export default { | ||
| 355 | props: { | ||
| 356 | value: { type: Boolean, default: false }, | ||
| 357 | details: { type: Object, default: {} }, | ||
| 358 | showButton: { type: Boolean, default: false }, | ||
| 359 | }, | ||
| 360 | computed: { | ||
| 361 | ...mapGetters(["dictData"]), | ||
| 362 | }, | ||
| 363 | data () { | ||
| 364 | return { | ||
| 365 | avatar: require('@/image/user.png'), | ||
| 366 | isShow: false, | ||
| 367 | isBz: false, | ||
| 368 | activeName: '1', | ||
| 369 | loading: false, | ||
| 370 | myValue: this.value, | ||
| 371 | ruleForm: { | ||
| 372 | sqrlx: "", | ||
| 373 | sqrmc: "111111", | ||
| 374 | zjzl: "", | ||
| 375 | zjh: "", | ||
| 376 | dh: "", | ||
| 377 | xb: "", | ||
| 378 | fs: "", | ||
| 379 | frmc: "", | ||
| 380 | gj: "", | ||
| 381 | hjszss: "", | ||
| 382 | txdz: "", | ||
| 383 | yb: "", | ||
| 384 | fzjg: "", | ||
| 385 | dzyj: "", | ||
| 386 | qlbl: "", | ||
| 387 | gzdw: "", | ||
| 388 | dlrjg: "", | ||
| 389 | avatar: "", | ||
| 390 | dlrmc: "", | ||
| 391 | dlrzjlx: "", | ||
| 392 | dlrzjh: "", | ||
| 393 | dlrdh: "", | ||
| 394 | }, | ||
| 395 | rules: { | ||
| 396 | sqrlx: [{ required: true, message: "权利人类型", trigger: "change" }], | ||
| 397 | sqrmc: [{ required: true, message: "姓名/名称", trigger: "blur" }], | ||
| 398 | zjzl: [{ required: true, message: "证件种类", trigger: "change" }], | ||
| 399 | zjh: [{ required: true, message: "证件号", trigger: "blur" }], | ||
| 400 | }, | ||
| 401 | |||
| 402 | pageData: { | ||
| 403 | currentPage: 1, | ||
| 404 | pageSize: 8 | ||
| 405 | }, | ||
| 406 | // 企业 | ||
| 407 | queryFormQY: { | ||
| 408 | qymc: "", | ||
| 409 | zjh: "" | ||
| 410 | }, | ||
| 411 | tableDataQy: { | ||
| 412 | total: 0, | ||
| 413 | columns: dataQy.columns(), | ||
| 414 | data: [], | ||
| 415 | }, | ||
| 416 | // 银行 | ||
| 417 | queryFormYH: { | ||
| 418 | qymc: "", | ||
| 419 | zjh: "" | ||
| 420 | }, | ||
| 421 | tableDataYh: { | ||
| 422 | total: 0, | ||
| 423 | columns: dataYh.columns(), | ||
| 424 | data: [ | ||
| 425 | ], | ||
| 426 | }, | ||
| 427 | } | ||
| 428 | }, | ||
| 429 | mounted () { | ||
| 430 | sendThis(this); | ||
| 431 | }, | ||
| 432 | watch: { | ||
| 433 | value (val) { | ||
| 434 | this.myValue = _.cloneDeep(val) | ||
| 435 | if (val && Object.keys(this.details).length > 0) { | ||
| 436 | this.activeName = '1' | ||
| 437 | } | ||
| 438 | this.isShow = this.showButton | ||
| 439 | }, | ||
| 440 | details: { | ||
| 441 | handler: function (val, oldVal) { | ||
| 442 | this.ruleForm = _.cloneDeep(val); | ||
| 443 | }, | ||
| 444 | deep: true | ||
| 445 | } | ||
| 446 | }, | ||
| 447 | methods: { | ||
| 448 | /** | ||
| 449 | * @description: 证件种类选择 | ||
| 450 | * @param {*} val | ||
| 451 | * @author: renchao | ||
| 452 | */ | ||
| 453 | handleZjzl (val) { | ||
| 454 | if (['6', '7', '8'].includes(val)) { | ||
| 455 | this.isBz = true | ||
| 456 | } else { | ||
| 457 | this.isBz = false | ||
| 458 | } | ||
| 459 | }, | ||
| 460 | /** | ||
| 461 | * @description: 信息备案 | ||
| 462 | * @author: renchao | ||
| 463 | */ | ||
| 464 | handleFilings () { | ||
| 465 | this.ruleForm.qymc = this.ruleForm.sqrmc | ||
| 466 | this.ruleForm.dwdz = this.ruleForm.txdz | ||
| 467 | addQy(this.ruleForm).then(res => { | ||
| 468 | if (res.code == 200) { | ||
| 469 | this.$message.success('备案成功') | ||
| 470 | } else { | ||
| 471 | this.$message.error(res.message); | ||
| 472 | } | ||
| 473 | }) | ||
| 474 | }, | ||
| 475 | /** | ||
| 476 | * @description: handleClick | ||
| 477 | * @param {*} event | ||
| 478 | * @param {*} tab | ||
| 479 | * @author: renchao | ||
| 480 | */ | ||
| 481 | handleClick (event, tab) { | ||
| 482 | if (this.activeName != 1) { | ||
| 483 | this.isShow = false | ||
| 484 | } else { | ||
| 485 | this.isShow = true | ||
| 486 | } | ||
| 487 | this.pageData.currentPage = 1 | ||
| 488 | if (this.activeName == 2) { | ||
| 489 | this.handleSearchQY() | ||
| 490 | } else { | ||
| 491 | this.handleSearchYH() | ||
| 492 | } | ||
| 493 | }, | ||
| 494 | /** | ||
| 495 | * @description:企业查询 | ||
| 496 | * @param {*} val | ||
| 497 | * @param {*} code | ||
| 498 | * @author: renchao | ||
| 499 | */ | ||
| 500 | dicStatus (val, code) { | ||
| 501 | let data = store.getters.dictData[code], | ||
| 502 | name = '暂无' | ||
| 503 | if (data) { | ||
| 504 | data.map((item) => { | ||
| 505 | if (item.dcode == val) { | ||
| 506 | name = item.dname | ||
| 507 | } | ||
| 508 | }) | ||
| 509 | return name | ||
| 510 | } | ||
| 511 | }, | ||
| 512 | /** | ||
| 513 | * @description: 企业信息搜索 | ||
| 514 | * @author: renchao | ||
| 515 | */ | ||
| 516 | handleSearchQY () { | ||
| 517 | let data = { ...this.queryFormQY, ...this.pageData } | ||
| 518 | this.tableDataQy.data = [] | ||
| 519 | queryQyByPage(data).then((res) => { | ||
| 520 | if (res.code === 200) { | ||
| 521 | let { total, records } = res.result; | ||
| 522 | this.tableDataQy.total = total; | ||
| 523 | this.tableDataQy.data = records; | ||
| 524 | this.tableDataQy.data.forEach((item, index) => { | ||
| 525 | item.zjzlMc = this.dicStatus(item.zjzl, 'A30') | ||
| 526 | item.sqrmc = item.qymc | ||
| 527 | item.txdz = item.dwdz | ||
| 528 | }) | ||
| 529 | } | ||
| 530 | }) | ||
| 531 | }, | ||
| 532 | /** | ||
| 533 | * @description: handleQYCurrentChange | ||
| 534 | * @param {*} val | ||
| 535 | * @author: renchao | ||
| 536 | */ | ||
| 537 | handleQYCurrentChange (val) { | ||
| 538 | this.pageData.currentPage = val | ||
| 539 | this.handleSearchQY() | ||
| 540 | }, | ||
| 541 | /** | ||
| 542 | * @description: handlesQYSelect | ||
| 543 | * @param {*} val | ||
| 544 | * @author: renchao | ||
| 545 | */ | ||
| 546 | handleSelect (val) { | ||
| 547 | let that = this | ||
| 548 | let bsmSldy = window.currentSelect.bsmSldy ? window.currentSelect.bsmSldy : '' | ||
| 549 | this.$confirm('是否同步材料信息?', '提示', { | ||
| 550 | confirmButtonText: '确定', | ||
| 551 | cancelButtonText: '取消', | ||
| 552 | distinguishCancelAndClose: true,//区分取消与关闭 | ||
| 553 | }).then(() => { | ||
| 554 | replace(val.bsmCompany, this.$route.query.bsmSlsq, bsmSldy).then(res => { | ||
| 555 | that.$emit("updateDetail", _.cloneDeep({ ...val, sqrlx: '2', id: getUuid(16) })); | ||
| 556 | that.$emit("input", false); | ||
| 557 | if (res.code == 200) { | ||
| 558 | that.$message({ | ||
| 559 | type: 'success', | ||
| 560 | message: '同步成功!' | ||
| 561 | }) | ||
| 562 | } else { | ||
| 563 | that.$message.error(res.message); | ||
| 564 | } | ||
| 565 | }) | ||
| 566 | }).catch(action => { | ||
| 567 | if (action == 'cancel') { | ||
| 568 | that.$emit("updateDetail", _.cloneDeep({ ...val, sqrlx: '2' })); | ||
| 569 | that.$emit("input", false); | ||
| 570 | } | ||
| 571 | }) | ||
| 572 | }, | ||
| 573 | /** | ||
| 574 | * @description: 银行信息搜索 | ||
| 575 | * @author: renchao | ||
| 576 | */ | ||
| 577 | handleSearchYH () { | ||
| 578 | let data = { ...this.queryFormYH, ...this.pageData } | ||
| 579 | this.tableDataYh.data = [] | ||
| 580 | queryYhByPage(data).then((res) => { | ||
| 581 | if (res.code === 200) { | ||
| 582 | let { total, records } = res.result; | ||
| 583 | this.tableDataYh.total = total; | ||
| 584 | this.tableDataYh.data = records; | ||
| 585 | this.tableDataYh.data.forEach((item, index) => { | ||
| 586 | item.zjzlMc = this.dicStatus(item.zjzl, 'A30') | ||
| 587 | item.sqrmc = item.qymc | ||
| 588 | item.txdz = item.dwdz | ||
| 589 | }) | ||
| 590 | } | ||
| 591 | }) | ||
| 592 | }, | ||
| 593 | /** | ||
| 594 | * @description: handleYHCurrentChange | ||
| 595 | * @param {*} val | ||
| 596 | * @author: renchao | ||
| 597 | */ | ||
| 598 | handleYHCurrentChange (val) { | ||
| 599 | this.pageData.currentPage = val | ||
| 600 | this.handleSearchQY() | ||
| 601 | }, | ||
| 602 | /** | ||
| 603 | * @description: 身份证打卡器 | ||
| 604 | * @author: renchao | ||
| 605 | */ | ||
| 606 | readClick () { | ||
| 607 | function getObjectByValue (arrayOfObjects, value) { | ||
| 608 | var name = '' | ||
| 609 | arrayOfObjects.forEach(item => { | ||
| 610 | if (item.dname.includes(value)) name = item.dcode | ||
| 611 | }) | ||
| 612 | return name | ||
| 613 | } | ||
| 614 | getIdCardInfo(this.BASE_API.gaopaiyi).then(res => { | ||
| 615 | if (this.BASE_API.gaopaiyi == 'jy') { | ||
| 616 | const { | ||
| 617 | Name, | ||
| 618 | IdNo, | ||
| 619 | Sex, | ||
| 620 | Address, | ||
| 621 | Agencvy, | ||
| 622 | PhotoB64 | ||
| 623 | } = JSON.parse(res) | ||
| 624 | if (Name) { | ||
| 625 | this.ruleForm.sqrmc = Name; | ||
| 626 | this.ruleForm.zjzl = '1'; | ||
| 627 | this.ruleForm.zjh = IdNo; | ||
| 628 | this.ruleForm.xb = getObjectByValue(this.dictData['A43'], Sex); | ||
| 629 | this.ruleForm.txdz = Address; | ||
| 630 | this.ruleForm.fzjg = Agencvy; | ||
| 631 | this.ruleForm.avatar = 'data:image/png;base64,' + PhotoB64 | ||
| 632 | this.$message({ | ||
| 633 | message: '读取成功!', | ||
| 634 | type: 'success' | ||
| 635 | }) | ||
| 636 | } else { | ||
| 637 | this.$message({ | ||
| 638 | message: '请放置身份证', | ||
| 639 | type: 'warning' | ||
| 640 | }) | ||
| 641 | } | ||
| 642 | } else { | ||
| 643 | if (res.data.code == 0) { | ||
| 644 | let data = res.data.IDCardInfo; | ||
| 645 | const { | ||
| 646 | name, | ||
| 647 | cardID: zjh, | ||
| 648 | sexCode: xb, | ||
| 649 | address: txdz, | ||
| 650 | issueOrgan: fzjg, | ||
| 651 | photoBase64 | ||
| 652 | } = data | ||
| 653 | this.ruleForm.sqrmc = name; | ||
| 654 | this.ruleForm.zjzl = '1'; | ||
| 655 | this.ruleForm.zjh = zjh; | ||
| 656 | this.ruleForm.xb = xb | ||
| 657 | this.ruleForm.txdz = txdz; | ||
| 658 | this.ruleForm.fzjg = fzjg; | ||
| 659 | this.ruleForm.avatar = 'data:image/png;base64,' + photoBase64 | ||
| 660 | this.$message({ | ||
| 661 | message: '读取成功!', | ||
| 662 | type: 'success' | ||
| 663 | }) | ||
| 664 | |||
| 665 | } else { | ||
| 666 | this.$message({ | ||
| 667 | message: res.data.message, | ||
| 668 | type: 'warning' | ||
| 669 | }) | ||
| 670 | } | ||
| 671 | } | ||
| 672 | }) | ||
| 673 | }, | ||
| 674 | /** | ||
| 675 | * @description: closeDialog | ||
| 676 | * @author: renchao | ||
| 677 | */ | ||
| 678 | closeDialog () { | ||
| 679 | this.$emit("input", false); | ||
| 680 | this.$nextTick(() => { | ||
| 681 | if (this.$refs.ruleForm !== undefined) { | ||
| 682 | this.$refs.ruleForm.resetFields(); | ||
| 683 | } | ||
| 684 | }) | ||
| 685 | }, | ||
| 686 | /** | ||
| 687 | * @description: submitForm | ||
| 688 | * @author: renchao | ||
| 689 | */ | ||
| 690 | submitForm () { | ||
| 691 | this.$refs.ruleForm.validate((valid) => { | ||
| 692 | if (valid) { | ||
| 693 | this.$emit("input", false); | ||
| 694 | this.ruleForm.id = getUuid(16) | ||
| 695 | this.$emit("updateDetail", _.cloneDeep(this.ruleForm)); | ||
| 696 | if (this.$refs.ruleForm !== undefined) { | ||
| 697 | this.$refs.ruleForm.resetFields(); | ||
| 698 | } | ||
| 699 | } else { | ||
| 700 | return false; | ||
| 701 | } | ||
| 702 | }) | ||
| 703 | } | ||
| 704 | } | ||
| 705 | } | ||
| 706 | </script> | ||
| 707 | <style scoped lang="scss"> | ||
| 708 | @import "~@/styles/dialogBoxheader.scss"; | ||
| 709 | .submit-button { | ||
| 710 | text-align: center; | ||
| 711 | height: 52px; | ||
| 712 | padding-top: 10px; | ||
| 713 | background-color: #fff; | ||
| 714 | } | ||
| 715 | .padding10 { | ||
| 716 | padding-bottom: 10px; | ||
| 717 | } | ||
| 718 | </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: 2024-01-18 14:55:20 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <div> | ||
| 9 | <el-form-item label="共有方式:"> | ||
| 10 | <el-radio-group :disabled="!viewEdit" v-model="ruleForm.sldy.gyfs"> | ||
| 11 | <el-radio label="0">单独所有</el-radio> | ||
| 12 | <el-radio label="1">共同共有</el-radio> | ||
| 13 | <el-radio label="2">按份所有</el-radio> | ||
| 14 | <el-radio label="3">其它共有</el-radio> | ||
| 15 | </el-radio-group> | ||
| 16 | </el-form-item> | ||
| 17 | </div> | ||
| 18 | <lb-table | ||
| 19 | :column="column" :pagination="false" | ||
| 20 | :key="key" | ||
| 21 | :heightNumSetting="true" | ||
| 22 | :minHeight="0" | ||
| 23 | :rowStyleHeight="25" | ||
| 24 | :data="tableDataList" | ||
| 25 | > | ||
| 26 | </lb-table> | ||
| 27 | <addQlr | ||
| 28 | v-model="dialog" | ||
| 29 | :details="details" | ||
| 30 | :showButton="disabled" | ||
| 31 | @updateDetail="handleupdateDetail" | ||
| 32 | /> | ||
| 33 | </div> | ||
| 34 | </template> | ||
| 35 | <script> | ||
| 36 | import { mapGetters } from "vuex"; | ||
| 37 | import { getIdCardInfo } from "@/utils/operation.js"; | ||
| 38 | import addQlr from "./addSqr.vue"; | ||
| 39 | export default { | ||
| 40 | components: { | ||
| 41 | addQlr, | ||
| 42 | }, | ||
| 43 | computed: { | ||
| 44 | ...mapGetters(["dictData"]), | ||
| 45 | }, | ||
| 46 | props: { | ||
| 47 | tableData: { | ||
| 48 | type: Array, | ||
| 49 | default: function () { | ||
| 50 | return []; | ||
| 51 | }, | ||
| 52 | }, | ||
| 53 | gyfs: { | ||
| 54 | type: String, | ||
| 55 | default: "1", | ||
| 56 | }, | ||
| 57 | disabled: { | ||
| 58 | type: Boolean, | ||
| 59 | default: true, | ||
| 60 | }, | ||
| 61 | }, | ||
| 62 | data() { | ||
| 63 | return { | ||
| 64 | key: 0, | ||
| 65 | dataIndex: 0, | ||
| 66 | dialog: false, | ||
| 67 | isaddupdate: false, | ||
| 68 | details: {}, | ||
| 69 | tableDataList: [], | ||
| 70 | InformationTable: [ | ||
| 71 | { | ||
| 72 | width: "50", | ||
| 73 | renderHeader: (h, scope) => { | ||
| 74 | return ( | ||
| 75 | <div> | ||
| 76 | {" "} | ||
| 77 | {!this.disabled ? ( | ||
| 78 | "序号" | ||
| 79 | ) : ( | ||
| 80 | <i | ||
| 81 | class="el-icon-plus pointer" | ||
| 82 | onClick={() => { | ||
| 83 | this.addClick(); | ||
| 84 | }} | ||
| 85 | ></i> | ||
| 86 | )} | ||
| 87 | </div> | ||
| 88 | ); | ||
| 89 | }, | ||
| 90 | render: (h, scope) => { | ||
| 91 | return ( | ||
| 92 | <div> | ||
| 93 | {!this.disabled ? ( | ||
| 94 | <span>{scope.$index + 1}</span> | ||
| 95 | ) : ( | ||
| 96 | <i | ||
| 97 | class="el-icon-minus pointer" | ||
| 98 | onClick={() => { | ||
| 99 | this.deleClick(scope.$index, scope.row); | ||
| 100 | }} | ||
| 101 | ></i> | ||
| 102 | )} | ||
| 103 | </div> | ||
| 104 | ); | ||
| 105 | }, | ||
| 106 | }, | ||
| 107 | { | ||
| 108 | label: "身份证读卡器", | ||
| 109 | align: "center", | ||
| 110 | render: (h, scope) => { | ||
| 111 | return ( | ||
| 112 | <el-button | ||
| 113 | type="text" | ||
| 114 | icon="el-icon-tickets" | ||
| 115 | disabled={!this.disabled} | ||
| 116 | onClick={() => { | ||
| 117 | this.readClick(scope.row); | ||
| 118 | }} | ||
| 119 | > | ||
| 120 | 读取 | ||
| 121 | </el-button> | ||
| 122 | ); | ||
| 123 | }, | ||
| 124 | }, | ||
| 125 | { | ||
| 126 | prop: "sqrmc", | ||
| 127 | label: "姓名/名称", | ||
| 128 | }, | ||
| 129 | { | ||
| 130 | prop: "zjzl", | ||
| 131 | label: "证件种类", | ||
| 132 | render: (h, scope) => { | ||
| 133 | return ( | ||
| 134 | this.dictData["A30"] && | ||
| 135 | this.dictData["A30"].map((option) => { | ||
| 136 | if (option.dcode == scope.row.zjzl) { | ||
| 137 | return <span>{option.dname}</span>; | ||
| 138 | } | ||
| 139 | }) | ||
| 140 | ); | ||
| 141 | }, | ||
| 142 | }, | ||
| 143 | { | ||
| 144 | prop: "zjh", | ||
| 145 | label: "证件号", | ||
| 146 | }, | ||
| 147 | { | ||
| 148 | prop: "dh", | ||
| 149 | label: "联系电话", | ||
| 150 | }, | ||
| 151 | { | ||
| 152 | label: "操作", | ||
| 153 | render: (h, scope) => { | ||
| 154 | return ( | ||
| 155 | <div> | ||
| 156 | {this.disabled ? ( | ||
| 157 | <el-button | ||
| 158 | icon="el-icon-edit-outline" | ||
| 159 | type="text" | ||
| 160 | onClick={() => { | ||
| 161 | this.editClick(scope.$index, scope.row); | ||
| 162 | }} | ||
| 163 | > | ||
| 164 | 编辑 | ||
| 165 | </el-button> | ||
| 166 | ) : ( | ||
| 167 | <el-button | ||
| 168 | icon="el-icon-view" | ||
| 169 | type="text" | ||
| 170 | onClick={() => { | ||
| 171 | this.queryViewClick(scope.$index, scope.row); | ||
| 172 | }} | ||
| 173 | > | ||
| 174 | {" "} | ||
| 175 | 查看 | ||
| 176 | </el-button> | ||
| 177 | )} | ||
| 178 | </div> | ||
| 179 | ); | ||
| 180 | }, | ||
| 181 | }, | ||
| 182 | ], | ||
| 183 | column: [], | ||
| 184 | }; | ||
| 185 | }, | ||
| 186 | watch: { | ||
| 187 | tableData: { | ||
| 188 | handler: function (val, oldVal) { | ||
| 189 | let that = this; | ||
| 190 | this.$nextTick(() => { | ||
| 191 | if (val.length == 0 || !val) { | ||
| 192 | } else { | ||
| 193 | that.tableDataList = _.cloneDeep(val); | ||
| 194 | that.key++; | ||
| 195 | } | ||
| 196 | }); | ||
| 197 | }, | ||
| 198 | immediate: true, | ||
| 199 | deep: true, | ||
| 200 | }, | ||
| 201 | gyfs: { | ||
| 202 | handler(newVal, oldValue) { | ||
| 203 | let dataList = _.cloneDeep(this.InformationTable); | ||
| 204 | if (newVal == 0) { | ||
| 205 | this.column = _.cloneDeep(dataList); | ||
| 206 | this.tableDataList = _.cloneDeep(this.tableData); | ||
| 207 | this.key++; | ||
| 208 | } else if (newVal == "1" || newVal == "3") { | ||
| 209 | this.column = dataList; | ||
| 210 | } else { | ||
| 211 | this.column = _.cloneDeep(dataList); | ||
| 212 | this.column.splice(2, 0, { | ||
| 213 | prop: "qlbl", | ||
| 214 | label: "份数", | ||
| 215 | }); | ||
| 216 | } | ||
| 217 | }, | ||
| 218 | immediate: true, | ||
| 219 | }, | ||
| 220 | }, | ||
| 221 | methods: { | ||
| 222 | /** | ||
| 223 | * @description: handleupdateDetail | ||
| 224 | * @param {*} value | ||
| 225 | * @author: renchao | ||
| 226 | */ | ||
| 227 | handleupdateDetail(value) { | ||
| 228 | let that = this; | ||
| 229 | let arr = this.tableData.map((item) => item.zjh); | ||
| 230 | // if (this.isaddupdate) { | ||
| 231 | // if (!arr.includes(value.zjh)) { | ||
| 232 | // this.tableDataList[this.tableDataList.length] = _.cloneDeep(value); | ||
| 233 | // this.$emit('upDateQlrxxList', this.tableDataList) | ||
| 234 | // } else { | ||
| 235 | // setTimeout(() => { | ||
| 236 | // that.$message.error('证件号不能重复') | ||
| 237 | // }, 1500) | ||
| 238 | // } | ||
| 239 | // } else { | ||
| 240 | // if (!arr.includes(value.zjh) || this.tableData[this.dataIndex].zjh == value.zjh) { | ||
| 241 | // this.tableDataList[this.dataIndex] = _.cloneDeep(value); | ||
| 242 | // this.$emit('upDateQlrxxList', this.tableDataList) | ||
| 243 | // } else { | ||
| 244 | // setTimeout(() => { | ||
| 245 | // that.$message.error('证件号不能重复') | ||
| 246 | // }, 1500) | ||
| 247 | // } | ||
| 248 | // } | ||
| 249 | |||
| 250 | if (this.isaddupdate) { | ||
| 251 | if (!_.isEqual(value, this.tableData)) { | ||
| 252 | this.tableDataList[this.tableDataList.length] = _.cloneDeep(value); | ||
| 253 | this.$emit("upDateQlrxxList", this.tableDataList); | ||
| 254 | } | ||
| 255 | } else { | ||
| 256 | if (!_.isEqual(value, this.tableData)) { | ||
| 257 | this.tableDataList[this.dataIndex] = _.cloneDeep(value); | ||
| 258 | this.$emit("upDateQlrxxList", this.tableDataList); | ||
| 259 | } | ||
| 260 | } | ||
| 261 | this.key++; | ||
| 262 | }, | ||
| 263 | /** | ||
| 264 | * @description: 新增 | ||
| 265 | * @author: renchao | ||
| 266 | */ | ||
| 267 | addClick() { | ||
| 268 | if (this.gyfs == "0" && this.tableDataList.length > 0) { | ||
| 269 | this.$message.warning("当前共有方式为单独所有,无法添加多个权利人"); | ||
| 270 | } else { | ||
| 271 | this.key++; | ||
| 272 | this.details = { | ||
| 273 | sqrmc: "", | ||
| 274 | zjzl: "1", | ||
| 275 | zjh: "", | ||
| 276 | xb: "", | ||
| 277 | txdz: "", | ||
| 278 | fzjg: "", | ||
| 279 | }; | ||
| 280 | this.dialog = true; | ||
| 281 | this.isaddupdate = true; | ||
| 282 | } | ||
| 283 | }, | ||
| 284 | |||
| 285 | /** | ||
| 286 | * @description: 删除 | ||
| 287 | * @param {*} index | ||
| 288 | * @param {*} row | ||
| 289 | * @author: renchao | ||
| 290 | */ | ||
| 291 | deleClick(index, row) { | ||
| 292 | this.tableDataList.splice(index, 1); | ||
| 293 | this.$emit("upDateQlrxxList", this.tableDataList); | ||
| 294 | this.key++; | ||
| 295 | }, | ||
| 296 | /** | ||
| 297 | * @description: 身份证读取 | ||
| 298 | * @param {*} row | ||
| 299 | * @author: renchao | ||
| 300 | */ | ||
| 301 | readClick(row) { | ||
| 302 | function getObjectByValue(arrayOfObjects, value) { | ||
| 303 | var name = ""; | ||
| 304 | arrayOfObjects.forEach((item) => { | ||
| 305 | if (item.dname.includes(value)) name = item.dcode; | ||
| 306 | }); | ||
| 307 | return name; | ||
| 308 | } | ||
| 309 | getIdCardInfo(this.BASE_API.gaopaiyi).then((res) => { | ||
| 310 | if (this.BASE_API.gaopaiyi == "jy") { | ||
| 311 | const { Name, IdNo, Sex, Address, Agencvy, PhotoB64 } = | ||
| 312 | JSON.parse(res); | ||
| 313 | if (Name != "") { | ||
| 314 | row.sqrmc = Name; | ||
| 315 | row.zjzl = "1"; | ||
| 316 | row.zjh = IdNo; | ||
| 317 | row.xb = getObjectByValue(this.dictData["A43"], Sex); | ||
| 318 | row.txdz = Address; | ||
| 319 | row.fzjg = Agencvy; | ||
| 320 | row.avatar = "data:image/png;base64," + PhotoB64; | ||
| 321 | this.$message({ | ||
| 322 | message: "读取成功!", | ||
| 323 | type: "success", | ||
| 324 | }); | ||
| 325 | } else { | ||
| 326 | this.$message({ | ||
| 327 | message: "请放置身份证", | ||
| 328 | type: "warning", | ||
| 329 | }); | ||
| 330 | } | ||
| 331 | } else { | ||
| 332 | if (res.data.code == 0) { | ||
| 333 | let data = res.data.IDCardInfo; | ||
| 334 | const { | ||
| 335 | name, | ||
| 336 | cardID: zjh, | ||
| 337 | sexCode: xb, | ||
| 338 | address: txdz, | ||
| 339 | issueOrgan: fzjg, | ||
| 340 | photoBase64, | ||
| 341 | } = data; | ||
| 342 | row.sqrmc = name; | ||
| 343 | row.zjzl = "1"; | ||
| 344 | row.zjh = zjh; | ||
| 345 | row.xb = xb; | ||
| 346 | row.txdz = txdz; | ||
| 347 | row.fzjg = fzjg; | ||
| 348 | row.avatar = "data:image/png;base64," + photoBase64; | ||
| 349 | this.$message({ | ||
| 350 | message: "读取成功!", | ||
| 351 | type: "success", | ||
| 352 | }); | ||
| 353 | } else { | ||
| 354 | this.$message({ | ||
| 355 | message: res.data.message, | ||
| 356 | type: "warning", | ||
| 357 | }); | ||
| 358 | } | ||
| 359 | } | ||
| 360 | this.$emit("upDateQlrxxList", this.tableDataList); | ||
| 361 | }); | ||
| 362 | }, | ||
| 363 | /** | ||
| 364 | * @description: 修改 | ||
| 365 | * @param {*} index | ||
| 366 | * @param {*} row | ||
| 367 | * @author: renchao | ||
| 368 | */ | ||
| 369 | editClick(index, row) { | ||
| 370 | this.details = row; | ||
| 371 | this.details.gyfs = this.gyfs; | ||
| 372 | this.dataIndex = index; | ||
| 373 | this.dialog = true; | ||
| 374 | |||
| 375 | this.isaddupdate = false; | ||
| 376 | }, | ||
| 377 | /** | ||
| 378 | * @description: queryViewClick | ||
| 379 | * @param {*} index | ||
| 380 | * @param {*} row | ||
| 381 | * @author: renchao | ||
| 382 | */ | ||
| 383 | queryViewClick(index, row) { | ||
| 384 | this.details = row; | ||
| 385 | this.dialog = true; | ||
| 386 | }, | ||
| 387 | }, | ||
| 388 | }; | ||
| 389 | </script> | ||
| 390 | <style scoped lang="scss"> | ||
| 391 | /deep/.el-table--small .el-table__cell { | ||
| 392 | padding: 0 0 !important; | ||
| 393 | } | ||
| 394 | /deep/.el-table th { | ||
| 395 | height: 30px !important; | ||
| 396 | } | ||
| 397 | /deep/.el-table .cell { | ||
| 398 | padding-right: 12px; | ||
| 399 | } | ||
| 400 | </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: "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 | <template> | ||
| 2 | <!-- 受理信息 --> | ||
| 3 | <div class="slxx"> | ||
| 4 | <el-form | ||
| 5 | :model="ruleForm" | ||
| 6 | v-Loading="loading" | ||
| 7 | :label-position="flag ? 'top' : ''" | ||
| 8 | :inline="flag" | ||
| 9 | ref="ruleForm" | ||
| 10 | label-width="140px"> | ||
| 11 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 12 | <div class="slxx_title title-block"> | ||
| 13 | 申请业务信息 | ||
| 14 | <div class="triangle"></div> | ||
| 15 | </div> | ||
| 16 | <el-row :gutter="10" v-if="ruleForm.flow"> | ||
| 17 | <el-col :span="8"> | ||
| 18 | <el-form-item label="业务号:"> | ||
| 19 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 20 | </el-form-item> | ||
| 21 | </el-col> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item label="受理人员:"> | ||
| 24 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="8"> | ||
| 28 | <el-form-item label="受理时间:"> | ||
| 29 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | </el-row> | ||
| 33 | <el-row :gutter="10" v-if="ruleForm.sldyList"> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="权利类型:"> | ||
| 36 | <el-input | ||
| 37 | disabled | ||
| 38 | v-model="ruleForm.sldyList[0].qllxmc"></el-input> | ||
| 39 | </el-form-item> | ||
| 40 | </el-col> | ||
| 41 | <el-col :span="8"> | ||
| 42 | <el-form-item label="登记类型:"> | ||
| 43 | <el-input | ||
| 44 | disabled | ||
| 45 | v-model="ruleForm.sldyList[0].djlxmc"></el-input> | ||
| 46 | </el-form-item> | ||
| 47 | </el-col> | ||
| 48 | <el-col :span="8"> | ||
| 49 | <el-form-item label="登记情形:"> | ||
| 50 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 51 | </el-form-item> | ||
| 52 | </el-col> | ||
| 53 | </el-row> | ||
| 54 | |||
| 55 | <div | ||
| 56 | class="slxx_title title-block" | ||
| 57 | v-if="ruleForm.slsq.djywbm.includes('400')"> | ||
| 58 | 在抵押权信息列表({{ ruleForm.diyaqDetailList.length }} 个) | ||
| 59 | <div class="triangle"></div> | ||
| 60 | <dyaqTable :tableData="ruleForm.diyaqDetailList" /> | ||
| 61 | </div> | ||
| 62 | <div | ||
| 63 | class="slxx_title title-block" | ||
| 64 | v-else> | ||
| 65 | 抵押不动产列表信息({{ ruleForm.ztQlxxList.length }} 个) | ||
| 66 | <div class="triangle"></div> | ||
| 67 | <qlxxTable :tableData="ruleForm.ztQlxxList" /> | ||
| 68 | </div> | ||
| 69 | <div class="slxx_title title-block" v-if="!ruleForm.slsq.djywbm.includes('400')"> | ||
| 70 | 抵押信息 | ||
| 71 | <div class="triangle"></div> | ||
| 72 | </div> | ||
| 73 | <el-row | ||
| 74 | :gutter="10" | ||
| 75 | v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0 && !ruleForm.slsq.djywbm.includes('400')"> | ||
| 76 | <el-col :span="8"> | ||
| 77 | <el-form-item label="抵押方式:"> | ||
| 78 | <el-radio-group disabled v-model="ruleForm.diyaqList[0].dyfs"> | ||
| 79 | <el-radio label="1">一般抵押</el-radio> | ||
| 80 | <el-radio label="2">最高额抵押</el-radio> | ||
| 81 | </el-radio-group> | ||
| 82 | </el-form-item> | ||
| 83 | </el-col> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item label="抵押金额类型:"> | ||
| 86 | <el-radio-group | ||
| 87 | v-model="ruleForm.diyaqList[0].dyjelx" | ||
| 88 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 89 | <el-radio label="0">独立抵押</el-radio> | ||
| 90 | <el-radio label="1">整体抵押</el-radio> | ||
| 91 | </el-radio-group> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | <el-col :span="8"> | ||
| 95 | <el-form-item | ||
| 96 | label="是否存在禁止或者限制转让抵押不动产的约定:" | ||
| 97 | label-width="300px"> | ||
| 98 | <el-radio-group | ||
| 99 | v-model="ruleForm.diyaqList[0].sfczjzhxz" | ||
| 100 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 101 | <el-radio label="1">启用</el-radio> | ||
| 102 | <el-radio label="0">禁用</el-radio> | ||
| 103 | </el-radio-group> | ||
| 104 | </el-form-item> | ||
| 105 | </el-col> | ||
| 106 | </el-row> | ||
| 107 | <el-row | ||
| 108 | :gutter="10" | ||
| 109 | v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0 && !ruleForm.slsq.djywbm.includes('400')"> | ||
| 110 | <el-col :span="8" v-show="ruleForm.diyaqList[0].dyfs == 1"> | ||
| 111 | <el-form-item label="被担保主债权数额:"> | ||
| 112 | <div style="display: flex"> | ||
| 113 | <el-input | ||
| 114 | v-model="ruleForm.diyaqList[0].bdbzzqse" | ||
| 115 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 116 | <el-select | ||
| 117 | style="width: 68px" | ||
| 118 | v-model="ruleForm.diyaqList[0].jedw" | ||
| 119 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 120 | <el-option | ||
| 121 | v-for="item in dictData['A57']" | ||
| 122 | :key="item.dcode" | ||
| 123 | :label="item.dname" | ||
| 124 | :value="item.dcode"> | ||
| 125 | </el-option> | ||
| 126 | </el-select> | ||
| 127 | </div> | ||
| 128 | </el-form-item> | ||
| 129 | </el-col> | ||
| 130 | |||
| 131 | <el-col :span="8" v-show="ruleForm.diyaqList[0].dyfs == 2"> | ||
| 132 | <el-form-item label="最高债权额:"> | ||
| 133 | <el-input | ||
| 134 | v-model="ruleForm.diyaqList[0].zgzqse" | ||
| 135 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 136 | <el-select | ||
| 137 | v-model="ruleForm.diyaqList[0].jedw" | ||
| 138 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 139 | <el-option | ||
| 140 | v-for="item in dictData['A57']" | ||
| 141 | :key="item.dcode" | ||
| 142 | :label="item.dname" | ||
| 143 | :value="item.dcode"> | ||
| 144 | </el-option> | ||
| 145 | </el-select> | ||
| 146 | </el-form-item> | ||
| 147 | </el-col> | ||
| 148 | |||
| 149 | <el-col :span="8"> | ||
| 150 | <el-form-item label="债务履行起始时间:"> | ||
| 151 | <el-date-picker | ||
| 152 | v-model="ruleForm.diyaqList[0].zwlxqssj" | ||
| 153 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')" | ||
| 154 | type="date"> | ||
| 155 | </el-date-picker> | ||
| 156 | </el-form-item> | ||
| 157 | </el-col> | ||
| 158 | <el-col :span="8"> | ||
| 159 | <el-form-item label="债务履行结束时间:"> | ||
| 160 | <el-date-picker | ||
| 161 | v-model="ruleForm.diyaqList[0].zwlxjssj" | ||
| 162 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')" | ||
| 163 | type="date"> | ||
| 164 | </el-date-picker> | ||
| 165 | </el-form-item> | ||
| 166 | </el-col> | ||
| 167 | </el-row> | ||
| 168 | <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0 && !ruleForm.slsq.djywbm.includes('400')"> | ||
| 169 | <el-col :span="24"> | ||
| 170 | <el-form-item label="担保范围:"> | ||
| 171 | <el-input | ||
| 172 | v-model="ruleForm.diyaqList[0].dbfw" | ||
| 173 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 174 | </el-form-item> | ||
| 175 | </el-col> | ||
| 176 | </el-row> | ||
| 177 | <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0 && !ruleForm.slsq.djywbm.includes('400')"> | ||
| 178 | <el-col :span="24"> | ||
| 179 | <el-form-item label="最高债权确定事实和数额:"> | ||
| 180 | <el-input | ||
| 181 | v-model="ruleForm.diyaqList[0].zgzqqdss" | ||
| 182 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 183 | </el-form-item> | ||
| 184 | </el-col> | ||
| 185 | </el-row> | ||
| 186 | <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0 && !ruleForm.slsq.djywbm.includes('400')"> | ||
| 187 | <el-col> | ||
| 188 | <el-form-item label="附记:" prop="fj"> | ||
| 189 | <el-input | ||
| 190 | type="textarea" | ||
| 191 | maxlength="500" | ||
| 192 | show-word-limit | ||
| 193 | v-model="ruleForm.diyaqList[0].fj" | ||
| 194 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 195 | </el-form-item> | ||
| 196 | </el-col> | ||
| 197 | </el-row> | ||
| 198 | |||
| 199 | <div class="slxx_title title-block"> | ||
| 200 | 抵押权人信息 | ||
| 201 | <div class="triangle"></div> | ||
| 202 | </div> | ||
| 203 | <el-row | ||
| 204 | :gutter="10" | ||
| 205 | v-if="ruleForm.sldyList && ruleForm.sldyList.length > 0"> | ||
| 206 | <el-col :span="14"> | ||
| 207 | <el-form-item label="共有方式:"> | ||
| 208 | <el-radio-group | ||
| 209 | :disabled="!viewEdit" | ||
| 210 | v-model="ruleForm.sldyList[0].gyfs"> | ||
| 211 | <el-radio label="0">单独所有</el-radio> | ||
| 212 | <el-radio label="1">共同共有</el-radio> | ||
| 213 | <el-radio label="2">按份所有</el-radio> | ||
| 214 | <el-radio label="3">其它共有</el-radio> | ||
| 215 | </el-radio-group> | ||
| 216 | </el-form-item> | ||
| 217 | </el-col> | ||
| 218 | <el-col :span="5" v-show="ruleForm.sldyList[0].gyfs != '0'"> | ||
| 219 | <el-form-item label="是否分别持证:"> | ||
| 220 | <el-radio-group | ||
| 221 | v-model="ruleForm.sldyList[0].sqfbcz" | ||
| 222 | :disabled="!viewEdit" | ||
| 223 | @input="updaterow()"> | ||
| 224 | <el-radio :label="1">是</el-radio> | ||
| 225 | <el-radio :label="0">否</el-radio> | ||
| 226 | </el-radio-group> | ||
| 227 | </el-form-item> | ||
| 228 | </el-col> | ||
| 229 | <el-col | ||
| 230 | :span="5" | ||
| 231 | v-show=" | ||
| 232 | ruleForm.sldyList[0].gyfs != '0' && | ||
| 233 | ruleForm.sldyList[0].sqfbcz == '0' | ||
| 234 | "> | ||
| 235 | <el-form-item label="持证人:"> | ||
| 236 | <el-select | ||
| 237 | v-model="czr" | ||
| 238 | placeholder="持证人" | ||
| 239 | :disabled="!viewEdit"> | ||
| 240 | <el-option | ||
| 241 | v-for="(item,index) in czrOptions" | ||
| 242 | :key="index" | ||
| 243 | :label="item.sqrmc" | ||
| 244 | :value="item.id"> | ||
| 245 | </el-option> | ||
| 246 | </el-select> | ||
| 247 | </el-form-item> | ||
| 248 | </el-col> | ||
| 249 | </el-row> | ||
| 250 | <qlrCommonTable | ||
| 251 | v-if="ruleForm.sldyList && ruleForm.sldyList.length > 0" | ||
| 252 | :tableData="ruleForm.qlrList" | ||
| 253 | @upDateQlrxxList="upDateQlrxxList" | ||
| 254 | :disabled="viewEdit" | ||
| 255 | :gyfs="ruleForm.sldyList[0].gyfs" /> | ||
| 256 | <div class="slxx_title title-block"> | ||
| 257 | 抵押人信息 | ||
| 258 | <div class="triangle"></div> | ||
| 259 | </div> | ||
| 260 | <qlrCommonTable | ||
| 261 | :tableData="ruleForm.ywrList" | ||
| 262 | @upDateQlrxxList="upDateYwrxxList" | ||
| 263 | :disabled="viewEdit" /> | ||
| 264 | |||
| 265 | <div class="slxx_title title-block"> | ||
| 266 | 登记原因 | ||
| 267 | <div class="triangle"></div> | ||
| 268 | </div> | ||
| 269 | <el-row | ||
| 270 | :gutter="10" | ||
| 271 | v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0"> | ||
| 272 | <el-col> | ||
| 273 | <el-form-item | ||
| 274 | v-if="ruleForm.sldyList[0].djlx == '400'" | ||
| 275 | label="注销抵押原因:" | ||
| 276 | prop="djyy"> | ||
| 277 | <el-input | ||
| 278 | class="textArea" | ||
| 279 | type="textarea" | ||
| 280 | :disabled="!viewEdit" | ||
| 281 | v-model="ruleForm.diyaqList[0].zxdyyy"> | ||
| 282 | </el-input> | ||
| 283 | </el-form-item> | ||
| 284 | <el-form-item v-else label="登记原因:" prop="diyaqList[0].djyy"> | ||
| 285 | <el-input | ||
| 286 | class="textArea" | ||
| 287 | type="textarea" | ||
| 288 | maxlength="500" | ||
| 289 | show-word-limit | ||
| 290 | :disabled="!viewEdit" | ||
| 291 | v-model="ruleForm.diyaqList[0].djyy"> | ||
| 292 | </el-input> | ||
| 293 | </el-form-item> | ||
| 294 | </el-col> | ||
| 295 | </el-row> | ||
| 296 | </div> | ||
| 297 | <el-row class="btn" v-if="isSave"> | ||
| 298 | <el-form-item> | ||
| 299 | <el-button type="primary" @click="onSubmitClick()">保存</el-button> | ||
| 300 | </el-form-item> | ||
| 301 | </el-row> | ||
| 302 | </el-form> | ||
| 303 | </div> | ||
| 304 | </template> | ||
| 305 | <script> | ||
| 306 | import qlxxTable from "../commonTable/qlxxTable.vue"; | ||
| 307 | import dyaqTable from "../commonTable/dyaqTable"; | ||
| 308 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 309 | import { batchInit, saveBatchData } from "@/api/workflow/diyaqFlow.js"; | ||
| 310 | import { mapGetters } from "vuex"; | ||
| 311 | export default { | ||
| 312 | mounted () { | ||
| 313 | let that = this | ||
| 314 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 315 | this.propsParam = this.$attrs; | ||
| 316 | var formdata = new FormData(); | ||
| 317 | |||
| 318 | this.loading = true | ||
| 319 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
| 320 | formdata.append("djlx", this.propsParam.djlx); | ||
| 321 | formdata.append("isEdit", this.viewEdit); | ||
| 322 | batchInit(formdata).then((res) => { | ||
| 323 | setTimeout(() => { | ||
| 324 | that.loading = false | ||
| 325 | }, 200) | ||
| 326 | if (res.code === 200 && res.result) { | ||
| 327 | this.ruleForm = res.result; | ||
| 328 | this.ruleForm.qlrList.forEach((item) => { | ||
| 329 | item.id = item.bsmSqr | ||
| 330 | if (item.sfczr == '1') { | ||
| 331 | that.czr = item.bsmSqr | ||
| 332 | } | ||
| 333 | }) | ||
| 334 | that.czrOptions = that.ruleForm.qlrList; | ||
| 335 | that.isSave = that.viewEdit | ||
| 336 | } else { | ||
| 337 | that.isSave = false | ||
| 338 | that.$confirm(res.message, '提示', { | ||
| 339 | cancelButtonText: '取消', | ||
| 340 | showConfirmButton: false, | ||
| 341 | type: 'warning' | ||
| 342 | }) | ||
| 343 | } | ||
| 344 | }).catch(() => { | ||
| 345 | this.loading = false | ||
| 346 | }) | ||
| 347 | }, | ||
| 348 | components: { qlrCommonTable, qlxxTable,dyaqTable }, | ||
| 349 | computed: { | ||
| 350 | ...mapGetters(["dictData", "flag"]), | ||
| 351 | }, | ||
| 352 | data () { | ||
| 353 | return { | ||
| 354 | isSave: true, | ||
| 355 | loading: false, | ||
| 356 | //表单是否可操作 | ||
| 357 | viewEdit: true, | ||
| 358 | disabled: true, | ||
| 359 | czrOptions: [], | ||
| 360 | czr: "", | ||
| 361 | ruleForm: {}, | ||
| 362 | //传递参数 | ||
| 363 | propsParam: {}, | ||
| 364 | rules: { | ||
| 365 | 'diyaqList[0].djyy': [ | ||
| 366 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 367 | ] | ||
| 368 | }, | ||
| 369 | tableData: [], | ||
| 370 | }; | ||
| 371 | }, | ||
| 372 | methods: { | ||
| 373 | /** | ||
| 374 | * @description: onSubmitClick | ||
| 375 | * @author: renchao | ||
| 376 | */ | ||
| 377 | onSubmitClick () { | ||
| 378 | let that = this; | ||
| 379 | if (this.ruleForm.qlrList.length == 0) { | ||
| 380 | this.$message({ | ||
| 381 | showClose: true, | ||
| 382 | message: "请确认抵押权人信息", | ||
| 383 | type: "error", | ||
| 384 | }); | ||
| 385 | return false; | ||
| 386 | } | ||
| 387 | if (this.ruleForm.sldyList[0].gyfs == "0") { | ||
| 388 | if (this.ruleForm.qlrList.length > 1) { | ||
| 389 | this.$message({ | ||
| 390 | showClose: true, | ||
| 391 | message: "共有方式:单独所有,抵押权人只能是一个人", | ||
| 392 | type: "error", | ||
| 393 | }); | ||
| 394 | return false; | ||
| 395 | } | ||
| 396 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 397 | } else { | ||
| 398 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 399 | this.$message({ | ||
| 400 | showClose: true, | ||
| 401 | message: | ||
| 402 | "共有方式:共同所有,按份所有,其他所有,抵押权人必须是两个以上", | ||
| 403 | type: "error", | ||
| 404 | }); | ||
| 405 | return false; | ||
| 406 | } | ||
| 407 | //是否分别持证 | ||
| 408 | if (this.ruleForm.sldyList[0].sqfbcz == "1") { | ||
| 409 | //是 | ||
| 410 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 411 | item.sfczr = "1" | ||
| 412 | }) | ||
| 413 | } else { | ||
| 414 | if (that.czr === '') { | ||
| 415 | that.$message({ | ||
| 416 | showClose: true, | ||
| 417 | message: "请选择持证人", | ||
| 418 | type: "error", | ||
| 419 | }); | ||
| 420 | return false; | ||
| 421 | } | ||
| 422 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 423 | if (item.id == that.czr) { | ||
| 424 | item.sfczr = "1"; | ||
| 425 | } else { | ||
| 426 | item.sfczr = "0"; | ||
| 427 | } | ||
| 428 | }); | ||
| 429 | } | ||
| 430 | } | ||
| 431 | this.$refs['ruleForm'].validate((valid) => { | ||
| 432 | if (valid) { | ||
| 433 | that.$store.dispatch("user/refreshPage", false); | ||
| 434 | saveBatchData(that.ruleForm, that.propsParam.djlx).then((res) => { | ||
| 435 | if (res.code === 200) { | ||
| 436 | that.$message({ | ||
| 437 | showClose: true, | ||
| 438 | message: "保存成功!", | ||
| 439 | type: "success", | ||
| 440 | }); | ||
| 441 | that.$store.dispatch("user/refreshPage", true); | ||
| 442 | } else { | ||
| 443 | that.$message({ | ||
| 444 | showClose: true, | ||
| 445 | message: res.message, | ||
| 446 | type: "error", | ||
| 447 | }); | ||
| 448 | } | ||
| 449 | }) | ||
| 450 | } else { | ||
| 451 | that.$message({ | ||
| 452 | showClose: true, | ||
| 453 | message: "请输入登记原因", | ||
| 454 | type: "error" | ||
| 455 | }) | ||
| 456 | return false | ||
| 457 | } | ||
| 458 | }) | ||
| 459 | }, | ||
| 460 | /** | ||
| 461 | * @description: 是否持证人变化 | ||
| 462 | * @param {*} val | ||
| 463 | * @author: renchao | ||
| 464 | */ | ||
| 465 | updaterow () { | ||
| 466 | this.czr = ""; | ||
| 467 | }, | ||
| 468 | /** | ||
| 469 | * @description: 更新抵押权人信息 | ||
| 470 | * @param {*} val | ||
| 471 | * @author: renchao | ||
| 472 | */ | ||
| 473 | upDateQlrxxList (val) { | ||
| 474 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 475 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 476 | this.czrOptions = this.ruleForm.qlrList; | ||
| 477 | } | ||
| 478 | this.num = 0 | ||
| 479 | this.ruleForm.qlrList.forEach(item => { | ||
| 480 | if (item.id == this.czr) { | ||
| 481 | this.num++ | ||
| 482 | } | ||
| 483 | }) | ||
| 484 | if (this.num == 0) { | ||
| 485 | this.czr = '' | ||
| 486 | } | ||
| 487 | }, | ||
| 488 | /** | ||
| 489 | * @description: 更新义务人信息 | ||
| 490 | * @param {*} val | ||
| 491 | * @author: renchao | ||
| 492 | */ | ||
| 493 | upDateYwrxxList (val) { | ||
| 494 | if (!_.isEqual(val, this.ruleForm.ywrList)) { | ||
| 495 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 496 | } | ||
| 497 | } | ||
| 498 | } | ||
| 499 | } | ||
| 500 | </script> | ||
| 501 | <style scoped lang="scss"> | ||
| 502 | @import "~@/styles/public.scss"; | ||
| 503 | @import "~@/styles/slxx/slxx.scss"; | ||
| 504 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-01-31 09:38:51 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <!-- 受理信息 --> | ||
| 8 | <div class="slxx"> | ||
| 9 | <el-form | ||
| 10 | :model="ruleForm" | ||
| 11 | :rules="rules" | ||
| 12 | v-Loading="loading" | ||
| 13 | ref="ruleForm" | ||
| 14 | :label-position="flag ? 'top' : ''" | ||
| 15 | :inline="flag" | ||
| 16 | label-width="180px"> | ||
| 17 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 18 | <div class="slxx_title title-block"> | ||
| 19 | 申请业务信息 | ||
| 20 | <div class="triangle"></div> | ||
| 21 | </div> | ||
| 22 | <el-row :gutter="10"> | ||
| 23 | <el-col :span="8"> | ||
| 24 | <el-form-item label="业务号:"> | ||
| 25 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 26 | </el-form-item> | ||
| 27 | </el-col> | ||
| 28 | <el-col :span="8"> | ||
| 29 | <el-form-item label="受理人员:"> | ||
| 30 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 31 | </el-form-item> | ||
| 32 | </el-col> | ||
| 33 | <el-col :span="8"> | ||
| 34 | <el-form-item label="受理时间:"> | ||
| 35 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 36 | </el-form-item> | ||
| 37 | </el-col> | ||
| 38 | </el-row> | ||
| 39 | <el-row :gutter="10"> | ||
| 40 | <el-col :span="8"> | ||
| 41 | <el-form-item label="权利类型:" prop="qllx"> | ||
| 42 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 43 | </el-form-item> | ||
| 44 | </el-col> | ||
| 45 | <el-col :span="8"> | ||
| 46 | <el-form-item label="登记类型:" prop="djlx"> | ||
| 47 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 48 | </el-form-item> | ||
| 49 | </el-col> | ||
| 50 | <el-col :span="8"> | ||
| 51 | <el-form-item label="登记情形:" prop="djqx"> | ||
| 52 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 53 | </el-form-item> | ||
| 54 | </el-col> | ||
| 55 | </el-row> | ||
| 56 | <div class="slxx_title title-block"> | ||
| 57 | 抵押不动产情况 | ||
| 58 | <div class="triangle"></div> | ||
| 59 | </div> | ||
| 60 | |||
| 61 | <el-row :gutter="10"> | ||
| 62 | <el-col :span="8"> | ||
| 63 | <el-form-item label="权利人:"> | ||
| 64 | <el-input disabled v-model="ruleForm.ztQlxx.qlrmc"></el-input> | ||
| 65 | </el-form-item> | ||
| 66 | </el-col> | ||
| 67 | <el-col :span="8"> | ||
| 68 | <el-form-item label="证件种类:"> | ||
| 69 | <el-input disabled v-model="ruleForm.ztQlxx.qlrzjzl"></el-input> | ||
| 70 | </el-form-item> | ||
| 71 | </el-col> | ||
| 72 | <el-col :span="8"> | ||
| 73 | <el-form-item label="证件号:"> | ||
| 74 | <el-input disabled v-model="ruleForm.ztQlxx.qlrzjhm"></el-input> | ||
| 75 | </el-form-item> | ||
| 76 | </el-col> | ||
| 77 | </el-row> | ||
| 78 | <el-row :gutter="10"> | ||
| 79 | <el-col :span="8"> | ||
| 80 | <el-form-item label="权利类型:"> | ||
| 81 | <el-input disabled v-model="ruleForm.ztQlxx.qllxmc"></el-input> | ||
| 82 | </el-form-item> | ||
| 83 | </el-col> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item label="不动产权证号:"> | ||
| 86 | <el-input disabled v-model="ruleForm.ztQlxx.bdcqzh"></el-input> | ||
| 87 | </el-form-item> | ||
| 88 | </el-col> | ||
| 89 | <el-col :span="8"> | ||
| 90 | <el-form-item label="坐落:"> | ||
| 91 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | </el-row> | ||
| 95 | <el-row :gutter="10"> | ||
| 96 | <el-col :span="8"> | ||
| 97 | <el-form-item label="不动产单元号:"> | ||
| 98 | <el-input disabled v-model="ruleForm.ztQlxx.bdcdyh"></el-input> | ||
| 99 | </el-form-item> | ||
| 100 | </el-col> | ||
| 101 | <el-col :span="8"> | ||
| 102 | <el-form-item label="权利性质:"> | ||
| 103 | <el-input disabled v-model="ruleForm.ztQlxx.qlxzmc"></el-input> | ||
| 104 | </el-form-item> | ||
| 105 | </el-col> | ||
| 106 | <el-col :span="8"> | ||
| 107 | <el-form-item label="权利用途:"> | ||
| 108 | <el-input disabled v-model="ruleForm.ztQlxx.qlytmc"></el-input> | ||
| 109 | </el-form-item> | ||
| 110 | </el-col> | ||
| 111 | </el-row> | ||
| 112 | |||
| 113 | <div class="slxx_title title-block"> | ||
| 114 | 抵押信息 | ||
| 115 | <div class="triangle"></div> | ||
| 116 | </div> | ||
| 117 | |||
| 118 | <el-row :gutter="10"> | ||
| 119 | <el-col :span="8"> | ||
| 120 | <el-form-item label="原不动产证号:"> | ||
| 121 | <el-input disabled v-model="ruleForm.sldy.ybdcqzsh"></el-input> | ||
| 122 | </el-form-item> | ||
| 123 | </el-col> | ||
| 124 | <el-col :span="8"> | ||
| 125 | <el-form-item label="抵押方式:"> | ||
| 126 | <el-radio-group disabled v-model="ruleForm.diyaq.dyfs"> | ||
| 127 | <el-radio label="1">一般抵押权</el-radio> | ||
| 128 | <el-radio label="2">最高额抵押权</el-radio> | ||
| 129 | </el-radio-group> | ||
| 130 | </el-form-item> | ||
| 131 | </el-col> | ||
| 132 | <el-col :span="8"> | ||
| 133 | <el-form-item label="抵押面积:"> | ||
| 134 | <div class="flex"> | ||
| 135 | <el-input | ||
| 136 | maxlength="12" | ||
| 137 | v-model="ruleForm.diyaq.dymj" | ||
| 138 | disabled></el-input> | ||
| 139 | <el-select disabled v-model="ruleForm.diyaq.mjdw" style="width: 68px"> | ||
| 140 | <el-option | ||
| 141 | v-for="item in dictData['A7']" | ||
| 142 | :key="item.dcode" | ||
| 143 | :label="item.dname" | ||
| 144 | :value="item.dcode"> | ||
| 145 | </el-option> | ||
| 146 | </el-select> | ||
| 147 | </div> | ||
| 148 | </el-form-item> | ||
| 149 | </el-col> | ||
| 150 | </el-row> | ||
| 151 | <el-row :gutter="10"> | ||
| 152 | <el-col :span="8"> | ||
| 153 | <el-form-item | ||
| 154 | label="是否禁止或者限制转让的约定:" | ||
| 155 | label-width="200px"> | ||
| 156 | <el-radio-group | ||
| 157 | v-model="ruleForm.diyaq.sfczjzhxz" | ||
| 158 | :disabled="!viewEdit || isJfOperation"> | ||
| 159 | <el-radio label="1">是</el-radio> | ||
| 160 | <el-radio label="0">否</el-radio> | ||
| 161 | </el-radio-group> | ||
| 162 | </el-form-item> | ||
| 163 | </el-col> | ||
| 164 | <el-col :span="8"> | ||
| 165 | <el-form-item | ||
| 166 | label="是否预告登记:"> | ||
| 167 | <el-radio-group v-model="ruleForm.diyaq.sfygdj" disabled> | ||
| 168 | <el-radio label="1">是</el-radio> | ||
| 169 | <el-radio label="0">否</el-radio> | ||
| 170 | </el-radio-group> | ||
| 171 | </el-form-item> | ||
| 172 | </el-col> | ||
| 173 | <el-col :span="8"> | ||
| 174 | <el-form-item label="债务履行期限:"> | ||
| 175 | <el-input | ||
| 176 | v-model="ruleForm.diyaq.dyqx" | ||
| 177 | :disabled="!viewEdit || isJfOperation"></el-input> | ||
| 178 | </el-form-item> | ||
| 179 | </el-col> | ||
| 180 | </el-row> | ||
| 181 | |||
| 182 | <el-row :gutter="10"> | ||
| 183 | <el-col :span="8" v-show="ruleForm.diyaq.dyfs == 1"> | ||
| 184 | <el-form-item label="被担保主债权数额:"> | ||
| 185 | <div style="display: flex"> | ||
| 186 | <el-input | ||
| 187 | v-model="ruleForm.diyaq.bdbzzqse" | ||
| 188 | :disabled="!viewEdit || isJfOperation" | ||
| 189 | style="width: 500%"></el-input> | ||
| 190 | <el-select | ||
| 191 | v-model="ruleForm.diyaq.jedw" | ||
| 192 | :disabled="!viewEdit || isJfOperation"> | ||
| 193 | <el-option | ||
| 194 | v-for="item in dictData['A57']" | ||
| 195 | :key="item.dcode" | ||
| 196 | :label="item.dname" | ||
| 197 | :value="item.dcode"> | ||
| 198 | </el-option> | ||
| 199 | </el-select> | ||
| 200 | </div> | ||
| 201 | </el-form-item> | ||
| 202 | </el-col> | ||
| 203 | |||
| 204 | <el-col :span="8" v-show="ruleForm.diyaq.dyfs == 2"> | ||
| 205 | <el-form-item label="最高债权额:"> | ||
| 206 | <el-input | ||
| 207 | v-model="ruleForm.diyaq.zgzqse" | ||
| 208 | :disabled="!viewEdit || isJfOperation"></el-input> | ||
| 209 | </el-form-item> | ||
| 210 | </el-col> | ||
| 211 | |||
| 212 | <el-col :span="8"> | ||
| 213 | <el-form-item label="债务履行起始时间:"> | ||
| 214 | <el-date-picker | ||
| 215 | v-model="ruleForm.diyaq.zwlxqssj" | ||
| 216 | :disabled="!viewEdit || isJfOperation" | ||
| 217 | type="date"> | ||
| 218 | </el-date-picker> | ||
| 219 | </el-form-item> | ||
| 220 | </el-col> | ||
| 221 | <el-col :span="8"> | ||
| 222 | <el-form-item label="债务履行结束时间:"> | ||
| 223 | <el-date-picker class="width100" | ||
| 224 | v-model="ruleForm.diyaq.zwlxjssj" | ||
| 225 | :disabled="!viewEdit || isJfOperation" | ||
| 226 | type="date"> | ||
| 227 | </el-date-picker> | ||
| 228 | </el-form-item> | ||
| 229 | </el-col> | ||
| 230 | </el-row> | ||
| 231 | <el-row> | ||
| 232 | <el-col :span="24"> | ||
| 233 | <el-form-item label="担保范围:"> | ||
| 234 | <el-input | ||
| 235 | v-model="ruleForm.diyaq.dbfw" | ||
| 236 | :disabled=" | ||
| 237 | (ruleForm.sldy.djlx == '300' || !viewEdit) || isJfOperation | ||
| 238 | "></el-input> | ||
| 239 | </el-form-item> | ||
| 240 | </el-col> | ||
| 241 | </el-row> | ||
| 242 | <el-row> | ||
| 243 | <el-col :span="24"> | ||
| 244 | <el-form-item label="最高债权确定事实和数额:"> | ||
| 245 | <el-input | ||
| 246 | v-model="ruleForm.diyaq.zgzqqdss" | ||
| 247 | :disabled="!viewEdit || isJfOperation"></el-input> | ||
| 248 | </el-form-item> | ||
| 249 | </el-col> | ||
| 250 | </el-row> | ||
| 251 | <el-row> | ||
| 252 | <el-col> | ||
| 253 | <el-form-item label="附记:" prop="fj"> | ||
| 254 | <el-input | ||
| 255 | type="textarea" | ||
| 256 | maxlength="500" | ||
| 257 | show-word-limit | ||
| 258 | v-model="ruleForm.diyaq.fj" | ||
| 259 | :disabled="!viewEdit || isJfOperation"></el-input> | ||
| 260 | </el-form-item> | ||
| 261 | </el-col> | ||
| 262 | </el-row> | ||
| 263 | |||
| 264 | <div class="slxx_title title-block"> | ||
| 265 | 抵押权人信息 | ||
| 266 | <div class="triangle"></div> | ||
| 267 | </div> | ||
| 268 | <el-row :gutter="10"> | ||
| 269 | <el-col :span="12"> | ||
| 270 | <el-form-item label="共有方式:"> | ||
| 271 | <el-radio-group | ||
| 272 | :disabled="!viewEdit" | ||
| 273 | v-model="ruleForm.sldy.gyfs"> | ||
| 274 | <el-radio label="0">单独所有</el-radio> | ||
| 275 | <el-radio label="1">共同共有</el-radio> | ||
| 276 | <el-radio label="2">按份所有</el-radio> | ||
| 277 | <el-radio label="3">其它共有</el-radio> | ||
| 278 | </el-radio-group> | ||
| 279 | </el-form-item> | ||
| 280 | </el-col> | ||
| 281 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 282 | <el-form-item label="是否分别持证:"> | ||
| 283 | <el-radio-group | ||
| 284 | v-model="ruleForm.sldy.sqfbcz" | ||
| 285 | :disabled="!viewEdit" | ||
| 286 | @input="updaterow()"> | ||
| 287 | <el-radio :label="1">是</el-radio> | ||
| 288 | <el-radio :label="0">否</el-radio> | ||
| 289 | </el-radio-group> | ||
| 290 | </el-form-item> | ||
| 291 | </el-col> | ||
| 292 | <el-col | ||
| 293 | :span="6" | ||
| 294 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 295 | <el-form-item label="持证人:"> | ||
| 296 | <el-select | ||
| 297 | v-model="czr" | ||
| 298 | placeholder="持证人" | ||
| 299 | :disabled="!viewEdit"> | ||
| 300 | <el-option | ||
| 301 | v-for="(item,index) in czrOptions" | ||
| 302 | :key="index" | ||
| 303 | :label="item.sqrmc" | ||
| 304 | :value="item.id"> | ||
| 305 | </el-option> | ||
| 306 | </el-select> | ||
| 307 | </el-form-item> | ||
| 308 | </el-col> | ||
| 309 | </el-row> | ||
| 310 | <qlrCommonTable | ||
| 311 | :tableData="ruleForm.qlrList" | ||
| 312 | :disabled="viewEdit" | ||
| 313 | @upDateQlrxxList="upDateQlrxxList" | ||
| 314 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 315 | <div class="slxx_title title-block"> | ||
| 316 | 抵押人信息 | ||
| 317 | <div class="triangle"></div> | ||
| 318 | </div> | ||
| 319 | <qlrCommonTable | ||
| 320 | :tableData="ruleForm.ywrList" | ||
| 321 | :disabled="viewEdit" | ||
| 322 | @upDateQlrxxList="upDateYwrxxList" /> | ||
| 323 | |||
| 324 | <div class="slxx_title title-block"> | ||
| 325 | 登记原因 | ||
| 326 | <div class="triangle"></div> | ||
| 327 | </div> | ||
| 328 | <el-row :gutter="10"> | ||
| 329 | <el-col> | ||
| 330 | <el-form-item | ||
| 331 | v-if="ruleForm.sldy.djlx == '400'" | ||
| 332 | label="注销抵押原因:" | ||
| 333 | prop="djyy"> | ||
| 334 | <el-input | ||
| 335 | class="textArea" | ||
| 336 | type="textarea" | ||
| 337 | :disabled="!viewEdit" | ||
| 338 | v-model="ruleForm.diyaq.zxdyyy"> | ||
| 339 | </el-input> | ||
| 340 | </el-form-item> | ||
| 341 | <el-form-item v-else label="登记原因:" prop="diyaq.djyy"> | ||
| 342 | <el-input | ||
| 343 | class="textArea" | ||
| 344 | type="textarea" | ||
| 345 | maxlength="500" | ||
| 346 | show-word-limit | ||
| 347 | :disabled="!viewEdit" | ||
| 348 | v-model="ruleForm.diyaq.djyy"> | ||
| 349 | </el-input> | ||
| 350 | </el-form-item> | ||
| 351 | </el-col> | ||
| 352 | </el-row> | ||
| 353 | </div> | ||
| 354 | <el-row class="btn" v-if="viewEdit"> | ||
| 355 | <el-form-item> | ||
| 356 | <el-button type="primary" @click="onSubmitClick()">保存</el-button> | ||
| 357 | </el-form-item> | ||
| 358 | </el-row> | ||
| 359 | </el-form> | ||
| 360 | </div> | ||
| 361 | </template> | ||
| 362 | <script> | ||
| 363 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 364 | import { Init, saveData } from "@/api/workflow/diyaqFlow.js"; | ||
| 365 | import { mapGetters } from "vuex"; | ||
| 366 | export default { | ||
| 367 | mounted () { | ||
| 368 | let that = this | ||
| 369 | this.loading = true | ||
| 370 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 371 | this.propsParam = this.$attrs; | ||
| 372 | var formdata = new FormData(); | ||
| 373 | if (this.propsParam.djlx == "400") { | ||
| 374 | this.isJfOperation = true; | ||
| 375 | } | ||
| 376 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 377 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
| 378 | formdata.append("djlx", this.propsParam.djlx); | ||
| 379 | formdata.append("isEdit", this.viewEdit); | ||
| 380 | Init(formdata).then((res) => { | ||
| 381 | setTimeout(() => { | ||
| 382 | this.loading = false | ||
| 383 | }, 200) | ||
| 384 | if (res.code === 200 && res.result) { | ||
| 385 | that.ruleForm = res.result; | ||
| 386 | that.ruleForm.qlrList.forEach((item) => { | ||
| 387 | item.id = item.bsmSqr | ||
| 388 | if (item.sfczr == '1') { | ||
| 389 | that.czr = item.bsmSqr | ||
| 390 | } | ||
| 391 | }) | ||
| 392 | that.czrOptions = this.ruleForm.qlrList; | ||
| 393 | that.isSave = that.viewEdit | ||
| 394 | } else { | ||
| 395 | that.isSave = false | ||
| 396 | that.$confirm(res.message, '提示', { | ||
| 397 | cancelButtonText: '取消', | ||
| 398 | showConfirmButton: false, | ||
| 399 | type: 'warning' | ||
| 400 | }) | ||
| 401 | } | ||
| 402 | }).catch(() => { | ||
| 403 | this.loading = false | ||
| 404 | }) | ||
| 405 | }, | ||
| 406 | components: { qlrCommonTable }, | ||
| 407 | computed: { | ||
| 408 | ...mapGetters(["dictData", "flag"]), | ||
| 409 | }, | ||
| 410 | data () { | ||
| 411 | return { | ||
| 412 | isSave: true, | ||
| 413 | // 键名转换,方法默认是label和children进行树状渲染 | ||
| 414 | normalizer (node) { | ||
| 415 | //方法 | ||
| 416 | if (node.children == null || node.children == "null") { | ||
| 417 | delete node.children; | ||
| 418 | } | ||
| 419 | return { | ||
| 420 | id: node.dcode, | ||
| 421 | label: node.dname, | ||
| 422 | }; | ||
| 423 | }, | ||
| 424 | loading: false, | ||
| 425 | //表单是否可操作 | ||
| 426 | viewEdit: true, | ||
| 427 | disabled: true, | ||
| 428 | czrOptions: [], | ||
| 429 | czr: "", | ||
| 430 | ruleForm: { | ||
| 431 | slsq: {}, | ||
| 432 | ssQlxx: {}, | ||
| 433 | diyaq: {}, | ||
| 434 | gyfs: "", | ||
| 435 | }, | ||
| 436 | isJfOperation: false, | ||
| 437 | //传递参数 | ||
| 438 | propsParam: {}, | ||
| 439 | rules: { | ||
| 440 | 'diyaq.djyy': [ | ||
| 441 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 442 | ] | ||
| 443 | } | ||
| 444 | } | ||
| 445 | }, | ||
| 446 | methods: { | ||
| 447 | /** | ||
| 448 | * @description: onSubmitClick | ||
| 449 | * @author: renchao | ||
| 450 | */ | ||
| 451 | onSubmitClick () { | ||
| 452 | let that = this; | ||
| 453 | if (this.ruleForm.qlrList.length == 0) { | ||
| 454 | this.$message({ | ||
| 455 | showClose: true, | ||
| 456 | message: "请确认抵押权人信息", | ||
| 457 | type: "error", | ||
| 458 | }); | ||
| 459 | return false; | ||
| 460 | } | ||
| 461 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 462 | if (this.ruleForm.qlrList.length > 1) { | ||
| 463 | this.$message({ | ||
| 464 | showClose: true, | ||
| 465 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 466 | type: "error", | ||
| 467 | }); | ||
| 468 | return false; | ||
| 469 | } | ||
| 470 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 471 | } else { | ||
| 472 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 473 | this.$message({ | ||
| 474 | showClose: true, | ||
| 475 | message: | ||
| 476 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 477 | type: "error", | ||
| 478 | }); | ||
| 479 | return false; | ||
| 480 | } | ||
| 481 | //是否分别持证 | ||
| 482 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 483 | //是 | ||
| 484 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 485 | item.sfczr = "1"; | ||
| 486 | }); | ||
| 487 | } else { | ||
| 488 | if (that.czr === '') { | ||
| 489 | that.$message({ | ||
| 490 | showClose: true, | ||
| 491 | message: "请选择持证人", | ||
| 492 | type: "error" | ||
| 493 | }); | ||
| 494 | return false; | ||
| 495 | } | ||
| 496 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 497 | if (item.id == that.czr) { | ||
| 498 | item.sfczr = "1" | ||
| 499 | } else { | ||
| 500 | item.sfczr = "0" | ||
| 501 | } | ||
| 502 | }) | ||
| 503 | } | ||
| 504 | } | ||
| 505 | |||
| 506 | this.$refs['ruleForm'].validate((valid) => { | ||
| 507 | if (valid) { | ||
| 508 | that.$store.dispatch("user/refreshPage", false); | ||
| 509 | saveData(that.ruleForm, that.propsParam.djlx).then((res) => { | ||
| 510 | if (res.code === 200) { | ||
| 511 | that.$message({ | ||
| 512 | showClose: true, | ||
| 513 | message: "保存成功!", | ||
| 514 | type: "success", | ||
| 515 | }); | ||
| 516 | that.$store.dispatch("user/refreshPage", true); | ||
| 517 | } else { | ||
| 518 | that.$message({ | ||
| 519 | showClose: true, | ||
| 520 | message: res.message, | ||
| 521 | type: "error", | ||
| 522 | }); | ||
| 523 | } | ||
| 524 | }) | ||
| 525 | |||
| 526 | } else { | ||
| 527 | this.$message({ | ||
| 528 | showClose: true, | ||
| 529 | message: "请输入登记原因", | ||
| 530 | type: "error" | ||
| 531 | }) | ||
| 532 | return false | ||
| 533 | } | ||
| 534 | }) | ||
| 535 | }, | ||
| 536 | /** | ||
| 537 | * @description: 更新权利人信息 | ||
| 538 | * @param {*} val | ||
| 539 | * @author: renchao | ||
| 540 | */ | ||
| 541 | upDateQlrxxList (val) { | ||
| 542 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 543 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 544 | this.czrOptions = this.ruleForm.qlrList; | ||
| 545 | } | ||
| 546 | this.num = 0 | ||
| 547 | this.ruleForm.qlrList.forEach(item => { | ||
| 548 | if (item.id == this.czr) { | ||
| 549 | this.num++ | ||
| 550 | } | ||
| 551 | }) | ||
| 552 | if (this.num == 0) { | ||
| 553 | this.czr = '' | ||
| 554 | } | ||
| 555 | |||
| 556 | }, | ||
| 557 | /** | ||
| 558 | * @description: 是否持证人变化 | ||
| 559 | * @author: renchao | ||
| 560 | */ | ||
| 561 | updaterow () { | ||
| 562 | this.czr = ""; | ||
| 563 | }, | ||
| 564 | /** | ||
| 565 | * @description: 更新义务人信息 | ||
| 566 | * @param {*} val | ||
| 567 | * @author: renchao | ||
| 568 | */ | ||
| 569 | upDateYwrxxList (val) { | ||
| 570 | if (!_.isEqual(val, this.ruleForm.ywrList)) { | ||
| 571 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 572 | } | ||
| 573 | }, | ||
| 574 | }, | ||
| 575 | }; | ||
| 576 | </script> | ||
| 577 | <style scoped lang="scss"> | ||
| 578 | @import "~@/styles/public.scss"; | ||
| 579 | @import "~@/styles/slxx/slxx.scss"; | ||
| 580 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: 房屋多幢受理信息 | ||
| 3 | * @Autor: ssq | ||
| 4 | * @LastEditTime: 2024-01-31 10:11:41 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form | ||
| 9 | :model="ruleForm" | ||
| 10 | :rules="rules" | ||
| 11 | ref="ruleForm" | ||
| 12 | :label-position="flag ? 'top' : ''" | ||
| 13 | :inline="flag" | ||
| 14 | v-Loading="loading" | ||
| 15 | label-width="120px"> | ||
| 16 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 17 | <div class="slxx_title title-block"> | ||
| 18 | 申请业务信息 | ||
| 19 | <div class="triangle"></div> | ||
| 20 | </div> | ||
| 21 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item label="业务号:"> | ||
| 24 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="8"> | ||
| 28 | <el-form-item label="受理人员:"> | ||
| 29 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | <el-col :span="8"> | ||
| 33 | <el-form-item label="受理时间:"> | ||
| 34 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 35 | </el-form-item> | ||
| 36 | </el-col> | ||
| 37 | </el-row> | ||
| 38 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 39 | <el-col :span="8"> | ||
| 40 | <el-form-item label="权利类型:"> | ||
| 41 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | <el-col :span="8"> | ||
| 45 | <el-form-item label="登记类型:"> | ||
| 46 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | <el-col :span="8"> | ||
| 50 | <el-form-item label="登记情形:"> | ||
| 51 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | </el-row> | ||
| 55 | <div class="slxx_title title-block"> | ||
| 56 | <el-row> | ||
| 57 | <el-col :span="20"> | ||
| 58 | 不动产单元情况 | ||
| 59 | </el-col> | ||
| 60 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
| 61 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 62 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 63 | <el-radio label="1">是</el-radio> | ||
| 64 | <el-radio label="0">否</el-radio> | ||
| 65 | </el-radio-group> | ||
| 66 | </el-form-item> | ||
| 67 | </el-col> | ||
| 68 | </el-row> | ||
| 69 | <div class="triangle"></div> | ||
| 70 | </div> | ||
| 71 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 72 | <el-col :span="8"> | ||
| 73 | <el-form-item label="原不动产权证号:"> | ||
| 74 | <el-input disabled v-model="ruleForm.sldy.ybdcqzsh"></el-input> | ||
| 75 | </el-form-item> | ||
| 76 | </el-col> | ||
| 77 | <el-col :span="8"> | ||
| 78 | <el-form-item label="不动产单元号:"> | ||
| 79 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 80 | </el-form-item> | ||
| 81 | </el-col> | ||
| 82 | <el-col :span="8"> | ||
| 83 | <el-form-item label="坐落:"> | ||
| 84 | <el-input maxlength="100" disabled v-model="ruleForm.sldy.zl"></el-input> | ||
| 85 | </el-form-item> | ||
| 86 | </el-col> | ||
| 87 | </el-row> | ||
| 88 | <el-row :gutter="10" v-if="ruleForm.fdcq1"> | ||
| 89 | <el-col :span="8"> | ||
| 90 | <el-form-item label="宗地面积:"> | ||
| 91 | <div class="flex"> | ||
| 92 | <el-input disabled v-model="ruleForm.zdjbxx.zdmj"></el-input> | ||
| 93 | <el-select | ||
| 94 | disabled | ||
| 95 | v-model="ruleForm.zdjbxx.mjdw" | ||
| 96 | style="width: 20%"> | ||
| 97 | <el-option | ||
| 98 | v-for="item in dictData['A7']" | ||
| 99 | :key="item.dcode" | ||
| 100 | :label="item.dname" | ||
| 101 | :value="item.dcode"></el-option> | ||
| 102 | </el-select> | ||
| 103 | </div> | ||
| 104 | </el-form-item> | ||
| 105 | </el-col> | ||
| 106 | <el-col :span="8"> | ||
| 107 | <el-form-item label="土地性质:"> | ||
| 108 | <el-input disabled v-model="ruleForm.zdjbxx.qlxzmc"></el-input> | ||
| 109 | </el-form-item> | ||
| 110 | </el-col> | ||
| 111 | <el-col :span="8"> | ||
| 112 | <el-form-item label="土地使用权人:"> | ||
| 113 | <el-input disabled v-model="ruleForm.fdcq1.tdsyqr"></el-input> | ||
| 114 | </el-form-item> | ||
| 115 | </el-col> | ||
| 116 | </el-row> | ||
| 117 | <el-row :gutter="10" v-if="ruleForm.fdcq1"> | ||
| 118 | <el-col :span="8"> | ||
| 119 | <el-form-item label="独用土地面积:"> | ||
| 120 | <div class="flex"> | ||
| 121 | <el-input | ||
| 122 | maxlength="12" | ||
| 123 | v-model="ruleForm.fdcq1.dytdmj" | ||
| 124 | :disabled="!viewEdit" | ||
| 125 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 126 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 127 | <el-option | ||
| 128 | v-for="item in dictData['A7']" | ||
| 129 | :key="item.dcode" | ||
| 130 | :label="item.dname" | ||
| 131 | :value="item.dcode"> | ||
| 132 | </el-option> | ||
| 133 | </el-select> | ||
| 134 | </div> | ||
| 135 | </el-form-item> | ||
| 136 | </el-col> | ||
| 137 | <el-col :span="8"> | ||
| 138 | <el-form-item label="分摊土地面积:"> | ||
| 139 | <div class="flex"> | ||
| 140 | <el-input | ||
| 141 | maxlength="12" | ||
| 142 | v-model="ruleForm.fdcq1.fttdmj" | ||
| 143 | :disabled="!viewEdit" | ||
| 144 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 145 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 146 | <el-option | ||
| 147 | v-for="item in dictData['A7']" | ||
| 148 | :key="item.dcode" | ||
| 149 | :label="item.dname" | ||
| 150 | :value="item.dcode"> | ||
| 151 | </el-option> | ||
| 152 | </el-select> | ||
| 153 | </div> | ||
| 154 | </el-form-item> | ||
| 155 | </el-col> | ||
| 156 | <el-col :span="8"> | ||
| 157 | |||
| 158 | <el-form-item label="房地产交易价格:"> | ||
| 159 | <div class="flex"> | ||
| 160 | <el-input | ||
| 161 | maxlength="11" | ||
| 162 | :disabled="!viewEdit" | ||
| 163 | v-model="ruleForm.fdcq1.fdcjyjg" | ||
| 164 | style="width: 500%" | ||
| 165 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 166 | <el-select :disabled="!viewEdit" v-model="ruleForm.fdcq1.jedw"> | ||
| 167 | <el-option | ||
| 168 | v-for="item in dictData['A57']" | ||
| 169 | :key="item.dcode" | ||
| 170 | :label="item.dname" | ||
| 171 | :value="item.dcode"></el-option> | ||
| 172 | </el-select> | ||
| 173 | </div> | ||
| 174 | </el-form-item> | ||
| 175 | </el-col> | ||
| 176 | </el-row> | ||
| 177 | <el-row :gutter="10"> | ||
| 178 | <el-col :span="24"> | ||
| 179 | <el-form-item label="附记:"> | ||
| 180 | <el-input | ||
| 181 | :disabled="!viewEdit" | ||
| 182 | v-model="ruleForm.fdcq1.fj" | ||
| 183 | type="textarea" | ||
| 184 | maxlength="500" | ||
| 185 | show-word-limit></el-input> | ||
| 186 | </el-form-item> | ||
| 187 | </el-col> | ||
| 188 | </el-row> | ||
| 189 | <div class="slxx_title title-block"> | ||
| 190 | 房屋多幢明细 | ||
| 191 | <div class="triangle"></div> | ||
| 192 | <fdcqxmTable | ||
| 193 | :ableOperation="viewEdit" | ||
| 194 | :tableData="ruleForm.fdcqxm" | ||
| 195 | @updateFdcwxmList="updateFdcwxmList" /> | ||
| 196 | <div class="slxx_title title-block"> | ||
| 197 | 土地用途 | ||
| 198 | <div class="triangle"></div> | ||
| 199 | </div> | ||
| 200 | <tdytTable | ||
| 201 | :ableOperation="viewEdit" | ||
| 202 | :tableData="ruleForm.tdytqxList" | ||
| 203 | @upDateTdytxxList="upDateTdytxxList" /> | ||
| 204 | <div class="slxx_title title-block"> | ||
| 205 | 权利人信息 | ||
| 206 | <div class="triangle"></div> | ||
| 207 | </div> | ||
| 208 | <el-row :gutter="10"> | ||
| 209 | <el-col :span="14" v-if="ruleForm.qlxx"> | ||
| 210 | <el-form-item label="共有方式:"> | ||
| 211 | <el-radio-group | ||
| 212 | :disabled="!viewEdit" | ||
| 213 | v-model="ruleForm.sldy.gyfs"> | ||
| 214 | <el-radio label="0">单独所有</el-radio> | ||
| 215 | <el-radio label="1">共同共有</el-radio> | ||
| 216 | <el-radio label="2">按份所有</el-radio> | ||
| 217 | <el-radio label="3">其它共有</el-radio> | ||
| 218 | </el-radio-group> | ||
| 219 | </el-form-item> | ||
| 220 | </el-col> | ||
| 221 | <el-col :span="5" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 222 | <el-form-item label="是否分别持证:"> | ||
| 223 | <el-radio-group | ||
| 224 | v-model="ruleForm.sldy.sqfbcz" | ||
| 225 | :disabled="!viewEdit" | ||
| 226 | @input="updaterow()"> | ||
| 227 | <el-radio :label="1">是</el-radio> | ||
| 228 | <el-radio :label="0">否</el-radio> | ||
| 229 | </el-radio-group> | ||
| 230 | </el-form-item> | ||
| 231 | </el-col> | ||
| 232 | <el-col | ||
| 233 | :span="5" | ||
| 234 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 235 | <el-form-item label="持证人:"> | ||
| 236 | <el-select | ||
| 237 | v-model="czr" | ||
| 238 | placeholder="持证人" | ||
| 239 | :disabled="!viewEdit"> | ||
| 240 | <el-option | ||
| 241 | v-for="(item,index) in czrOptions" | ||
| 242 | :key="index" | ||
| 243 | :label="item.sqrmc" | ||
| 244 | :value="item.id"></el-option> | ||
| 245 | </el-select> | ||
| 246 | </el-form-item> | ||
| 247 | </el-col> | ||
| 248 | </el-row> | ||
| 249 | <qlrCommonTable | ||
| 250 | @upDateQlrxxList="upDateQlrxxList" | ||
| 251 | :disabled="viewEdit" | ||
| 252 | :tableData="ruleForm.qlrList" | ||
| 253 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 254 | |||
| 255 | <div v-if="ruleForm.qlxx.djlx == '200'"> | ||
| 256 | <div class="slxx_title title-block"> | ||
| 257 | 义务人信息 | ||
| 258 | <div class="triangle"></div> | ||
| 259 | </div> | ||
| 260 | <ywrCommonTable | ||
| 261 | v-if="ruleForm.qlxx" | ||
| 262 | :disabled="viewEdit" | ||
| 263 | @upDateQlrxxList="upDateYwrxxList" | ||
| 264 | :tableData="ruleForm.ywrList" | ||
| 265 | :gyfs="ruleForm.qlxx.gyfs" /> | ||
| 266 | |||
| 267 | </div> | ||
| 268 | <div class="slxx_title title-block"> | ||
| 269 | 登记原因 | ||
| 270 | <div class="triangle"></div> | ||
| 271 | </div> | ||
| 272 | <el-row :gutter="10"> | ||
| 273 | <el-col> | ||
| 274 | <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="fdcq1.djyy"> | ||
| 275 | <el-input | ||
| 276 | class="textArea" | ||
| 277 | type="textarea" | ||
| 278 | maxlength="500" | ||
| 279 | show-word-limit | ||
| 280 | :disabled="!viewEdit" | ||
| 281 | v-model="ruleForm.fdcq1.djyy"></el-input> | ||
| 282 | </el-form-item> | ||
| 283 | </el-col> | ||
| 284 | </el-row> | ||
| 285 | </div> | ||
| 286 | </div> | ||
| 287 | <el-row class="btn" v-if="isSave"> | ||
| 288 | <el-form-item> | ||
| 289 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 290 | </el-form-item> | ||
| 291 | </el-row> | ||
| 292 | </el-form> | ||
| 293 | </div> | ||
| 294 | </template> | ||
| 295 | <script> | ||
| 296 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 297 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 298 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 299 | import fdcqxmTable from "../commonTable/fdcqxmTable"; | ||
| 300 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
| 301 | import { Init, saveData } from "@/api/workflow/fwsyq1Flow.js"; | ||
| 302 | import { mapGetters } from "vuex"; | ||
| 303 | export default { | ||
| 304 | mixins: [ywmix], | ||
| 305 | mounted () { | ||
| 306 | let that = this | ||
| 307 | this.loading = true | ||
| 308 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 309 | this.propsParam = this.$attrs; | ||
| 310 | var formdata = new FormData(); | ||
| 311 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 312 | formdata.append("djlx", this.propsParam.djlx); | ||
| 313 | formdata.append("isEdit", this.viewEdit); | ||
| 314 | Init(formdata).then((res) => { | ||
| 315 | setTimeout(() => { | ||
| 316 | this.loading = false | ||
| 317 | }, 200) | ||
| 318 | if (res.code === 200 && res.result) { | ||
| 319 | that.ruleForm = { | ||
| 320 | ...res.result, | ||
| 321 | ...res.result.qlxxdatas, | ||
| 322 | }; | ||
| 323 | that.ruleForm.qlrList.forEach((item) => { | ||
| 324 | item.id = item.bsmSqr | ||
| 325 | if (item.sfczr == '1') { | ||
| 326 | that.czr = item.bsmSqr | ||
| 327 | } | ||
| 328 | }); | ||
| 329 | that.czrOptions = that.ruleForm.qlrList; | ||
| 330 | that.isSave = this.viewEdit | ||
| 331 | } else { | ||
| 332 | that.isSave = false | ||
| 333 | that.$confirm(res.message, '提示', { | ||
| 334 | cancelButtonText: '取消', | ||
| 335 | showConfirmButton: false, | ||
| 336 | type: 'warning' | ||
| 337 | }) | ||
| 338 | } | ||
| 339 | }).catch(() => { | ||
| 340 | this.loading = false | ||
| 341 | }) | ||
| 342 | }, | ||
| 343 | components: { qlrCommonTable, tdytTable, fdcqxmTable, ywrCommonTable }, | ||
| 344 | computed: { | ||
| 345 | ...mapGetters(["dictData", "flag"]), | ||
| 346 | }, | ||
| 347 | data () { | ||
| 348 | return { | ||
| 349 | isSave: true, | ||
| 350 | loading: false, | ||
| 351 | disabled: true, | ||
| 352 | tdytOption: [], | ||
| 353 | czrOptions: [], | ||
| 354 | mjdw: "1", | ||
| 355 | czr: "", | ||
| 356 | ruleForm: { | ||
| 357 | flow: { | ||
| 358 | ywh: "", | ||
| 359 | }, | ||
| 360 | qlxx: { | ||
| 361 | mj: "", | ||
| 362 | }, | ||
| 363 | sldy: { | ||
| 364 | gyfs: "", | ||
| 365 | }, | ||
| 366 | slsq: {}, | ||
| 367 | fdcq1: { | ||
| 368 | zyjzmj: "", | ||
| 369 | ftjzmj: "", | ||
| 370 | }, | ||
| 371 | zdjbxx: { | ||
| 372 | ghytmc: "", | ||
| 373 | }, | ||
| 374 | }, | ||
| 375 | //传递参数 | ||
| 376 | propsParam: this.$attrs, | ||
| 377 | //表单是否可操作 | ||
| 378 | viewEdit: false, | ||
| 379 | rules: { | ||
| 380 | 'fdcq1.djyy': [ | ||
| 381 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 382 | ] | ||
| 383 | } | ||
| 384 | } | ||
| 385 | }, | ||
| 386 | methods: { | ||
| 387 | /** | ||
| 388 | * @description: updateFdcwxmList | ||
| 389 | * @author: renchao | ||
| 390 | */ | ||
| 391 | updateFdcwxmList (val) { | ||
| 392 | this.ruleForm.fdcqxm && (this.ruleForm.fdcqxm = _.cloneDeep(val)); | ||
| 393 | this.key++; | ||
| 394 | }, | ||
| 395 | /** | ||
| 396 | * @description: 更新土地用途信息 | ||
| 397 | * @param {*} val | ||
| 398 | * @author: renchao | ||
| 399 | */ | ||
| 400 | upDateTdytxxList (val) { | ||
| 401 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
| 402 | this.key++; | ||
| 403 | }, | ||
| 404 | /** | ||
| 405 | * @description: 更新权利人信息 | ||
| 406 | * @param {*} val | ||
| 407 | * @author: renchao | ||
| 408 | */ | ||
| 409 | upDateQlrxxList (val) { | ||
| 410 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 411 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 412 | this.czrOptions = this.ruleForm.qlrList; | ||
| 413 | } | ||
| 414 | this.num = 0 | ||
| 415 | this.ruleForm.qlrList.forEach(item => { | ||
| 416 | if (item.id == this.czr) { | ||
| 417 | this.num++ | ||
| 418 | } | ||
| 419 | }) | ||
| 420 | if (this.num == 0) { | ||
| 421 | this.czr = '' | ||
| 422 | } | ||
| 423 | }, | ||
| 424 | /** | ||
| 425 | * @description: 是否持证人变化 | ||
| 426 | * @param {*} val | ||
| 427 | * @author: renchao | ||
| 428 | */ | ||
| 429 | updaterow () { | ||
| 430 | this.czr = ""; | ||
| 431 | }, | ||
| 432 | /** | ||
| 433 | * @description: 更新权利人信息 | ||
| 434 | * @param {*} val | ||
| 435 | * @author: renchao | ||
| 436 | */ | ||
| 437 | upDateYwrxxList (val) { | ||
| 438 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 439 | }, | ||
| 440 | /** | ||
| 441 | * @description: onSubmit | ||
| 442 | * @author: renchao | ||
| 443 | */ | ||
| 444 | onSubmit () { | ||
| 445 | let that = this; | ||
| 446 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
| 447 | |||
| 448 | let jzmjArr = this.ruleForm.fdcqxm.filter((item) => { | ||
| 449 | return item.jzmj && item.jzmj !== ''; | ||
| 450 | }); | ||
| 451 | if (jzmjArr.length < this.ruleForm.fdcqxm.length) { | ||
| 452 | this.$message({ | ||
| 453 | showClose: true, | ||
| 454 | message: "请检查房屋多幢明细建筑面积", | ||
| 455 | type: "error", | ||
| 456 | }); | ||
| 457 | return false; | ||
| 458 | } | ||
| 459 | if (arr.length > 0) { | ||
| 460 | this.$message({ | ||
| 461 | showClose: true, | ||
| 462 | message: "土地用途不能为空", | ||
| 463 | type: "error", | ||
| 464 | }); | ||
| 465 | return false; | ||
| 466 | } | ||
| 467 | if (this.ruleForm.qlrList.length == 0) { | ||
| 468 | this.$message({ | ||
| 469 | showClose: true, | ||
| 470 | message: "请确认权利人信息", | ||
| 471 | type: "error", | ||
| 472 | }); | ||
| 473 | return false; | ||
| 474 | } | ||
| 475 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 476 | if (this.ruleForm.qlrList.length > 1) { | ||
| 477 | this.$message({ | ||
| 478 | showClose: true, | ||
| 479 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 480 | type: "error", | ||
| 481 | }); | ||
| 482 | return false; | ||
| 483 | } | ||
| 484 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 485 | } else { | ||
| 486 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 487 | this.$message({ | ||
| 488 | showClose: true, | ||
| 489 | message: | ||
| 490 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 491 | type: "error", | ||
| 492 | }); | ||
| 493 | return false; | ||
| 494 | } | ||
| 495 | //是否分别持证 | ||
| 496 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 497 | //是 | ||
| 498 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 499 | item.sfczr = "1"; | ||
| 500 | }); | ||
| 501 | } else { | ||
| 502 | if (that.czr === '') { | ||
| 503 | that.$message({ | ||
| 504 | showClose: true, | ||
| 505 | message: "请选择持证人", | ||
| 506 | type: "error", | ||
| 507 | }); | ||
| 508 | return false; | ||
| 509 | } | ||
| 510 | this.ruleForm.qlrList.forEach(item => { | ||
| 511 | if (item.id == that.czr) { | ||
| 512 | item.sfczr = "1" | ||
| 513 | } else { | ||
| 514 | item.sfczr = "0" | ||
| 515 | } | ||
| 516 | }) | ||
| 517 | } | ||
| 518 | } | ||
| 519 | |||
| 520 | this.$refs['ruleForm'].validate((valid) => { | ||
| 521 | if (valid) { | ||
| 522 | that.$store.dispatch("user/refreshPage", false); | ||
| 523 | saveData(this.ruleForm).then((res) => { | ||
| 524 | if (res.code === 200) { | ||
| 525 | this.$message({ | ||
| 526 | showClose: true, | ||
| 527 | message: "保存成功!", | ||
| 528 | type: "success", | ||
| 529 | }); | ||
| 530 | that.$store.dispatch("user/refreshPage", true); | ||
| 531 | } else { | ||
| 532 | that.$message({ | ||
| 533 | showClose: true, | ||
| 534 | message: res.message, | ||
| 535 | type: "error" | ||
| 536 | }) | ||
| 537 | } | ||
| 538 | }) | ||
| 539 | } else { | ||
| 540 | that.$message({ | ||
| 541 | showClose: true, | ||
| 542 | message: "请输入登记原因", | ||
| 543 | type: "error" | ||
| 544 | }) | ||
| 545 | return false | ||
| 546 | } | ||
| 547 | }) | ||
| 548 | } | ||
| 549 | } | ||
| 550 | } | ||
| 551 | </script> | ||
| 552 | <style scoped lang="scss"> | ||
| 553 | @import "~@/styles/public.scss"; | ||
| 554 | @import "~@/styles/slxx/slxx.scss"; | ||
| 555 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: 受理信息 | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-01-24 09:30:19 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form | ||
| 9 | :model="ruleForm" | ||
| 10 | :rules="rules" | ||
| 11 | ref="ruleForm" | ||
| 12 | v-Loading="loading" | ||
| 13 | :label-position="flag ? 'top' : ''" | ||
| 14 | :inline="flag" | ||
| 15 | label-width="130px"> | ||
| 16 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 17 | <div class="slxx_title title-block"> | ||
| 18 | 申请业务信息 | ||
| 19 | <div class="triangle"></div> | ||
| 20 | </div> | ||
| 21 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item label="业务号:"> | ||
| 24 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="8"> | ||
| 28 | <el-form-item label="受理人员:"> | ||
| 29 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | <el-col :span="8"> | ||
| 33 | <el-form-item label="受理时间:"> | ||
| 34 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 35 | </el-form-item> | ||
| 36 | </el-col> | ||
| 37 | </el-row> | ||
| 38 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 39 | <el-col :span="8" v-if="ruleForm.sldyList.length > 0"> | ||
| 40 | <el-form-item label="权利类型:"> | ||
| 41 | <el-input | ||
| 42 | disabled | ||
| 43 | v-model="ruleForm.sldyList[0].qllxmc"></el-input> | ||
| 44 | </el-form-item> | ||
| 45 | </el-col> | ||
| 46 | <el-col :span="8" v-if="ruleForm.sldyList.length > 0"> | ||
| 47 | <el-form-item label="登记类型:"> | ||
| 48 | <el-input | ||
| 49 | disabled | ||
| 50 | v-model="ruleForm.sldyList[0].djlxmc"></el-input> | ||
| 51 | </el-form-item> | ||
| 52 | </el-col> | ||
| 53 | <el-col :span="8"> | ||
| 54 | <el-form-item label="登记情形:"> | ||
| 55 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 56 | </el-form-item> | ||
| 57 | </el-col> | ||
| 58 | </el-row> | ||
| 59 | <div class="slxx_title title-block" v-if="ruleForm.slsq.djywbm.includes('100')"> | ||
| 60 | <el-row> | ||
| 61 | <el-col :span="19"> | ||
| 62 | <p>房屋信息列表({{ ruleForm.hlist.length }} 户)</p> | ||
| 63 | </el-col> | ||
| 64 | <el-col :span="5"> | ||
| 65 | <el-form-item label="发证方式:" :disabled="!viewEdit"> | ||
| 66 | <el-radio-group v-model="ruleForm.slsq.fzfs"> | ||
| 67 | <el-radio label="2">大证</el-radio> | ||
| 68 | <el-radio label="1">小证</el-radio> | ||
| 69 | </el-radio-group> | ||
| 70 | </el-form-item> | ||
| 71 | </el-col> | ||
| 72 | <!-- <div class="triangle"></div> --> | ||
| 73 | </el-row> | ||
| 74 | </div> | ||
| 75 | <qjhTable :tableData="ruleForm.hlist" v-if="ruleForm.slsq.djywbm.includes('100')"/> | ||
| 76 | <qlxxTable :tableData="ruleForm.qlxxList" v-if="ruleForm.slsq.djywbm.includes('400')"/> | ||
| 77 | <div class="slxx_title title-block" v-if="ruleForm.slsq.djywbm.includes('100')"> | ||
| 78 | 权利人信息 | ||
| 79 | <div class="triangle"></div> | ||
| 80 | </div> | ||
| 81 | <el-row :gutter="10" v-if="ruleForm.slsq.djywbm.includes('100')"> | ||
| 82 | <el-col :span="12" v-if="ruleForm.sldyList.length > 0"> | ||
| 83 | <el-form-item label="共有方式:"> | ||
| 84 | <el-radio-group | ||
| 85 | :disabled="!viewEdit" | ||
| 86 | v-model="ruleForm.sldyList[0].gyfs"> | ||
| 87 | <el-radio label="0">单独所有</el-radio> | ||
| 88 | <el-radio label="1">共同共有</el-radio> | ||
| 89 | <el-radio label="2">按份所有</el-radio> | ||
| 90 | <el-radio label="3">其它共有</el-radio> | ||
| 91 | </el-radio-group> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | |||
| 95 | <el-col :span="6" v-if="ruleForm.sldyList[0].gyfs != 0"> | ||
| 96 | <el-form-item label="是否分别持证:"> | ||
| 97 | <el-radio-group | ||
| 98 | v-model="ruleForm.sldyList[0].sqfbcz" | ||
| 99 | :disabled="!viewEdit" | ||
| 100 | @input="updaterow()"> | ||
| 101 | <el-radio :label="1">是</el-radio> | ||
| 102 | <el-radio :label="0">否</el-radio> | ||
| 103 | </el-radio-group> | ||
| 104 | </el-form-item> | ||
| 105 | </el-col> | ||
| 106 | <el-col | ||
| 107 | :span="6" | ||
| 108 | v-if=" | ||
| 109 | ruleForm.sldyList[0].gyfs != 0 && | ||
| 110 | ruleForm.sldyList[0].sqfbcz == '0' | ||
| 111 | "> | ||
| 112 | <el-form-item label="持证人:"> | ||
| 113 | <el-select | ||
| 114 | v-model="czr" | ||
| 115 | placeholder="持证人" | ||
| 116 | :disabled="!viewEdit"> | ||
| 117 | <el-option | ||
| 118 | v-for="(item,index) in czrOptions" | ||
| 119 | :key="index" | ||
| 120 | :label="item.sqrmc" | ||
| 121 | :value="item.id"></el-option> | ||
| 122 | </el-select> | ||
| 123 | </el-form-item> | ||
| 124 | </el-col> | ||
| 125 | </el-row> | ||
| 126 | <qlrCommonTable | ||
| 127 | :disabled="viewEdit" | ||
| 128 | @upDateQlrxxList="upDateQlrxxList" | ||
| 129 | :tableData="ruleForm.qlrList" | ||
| 130 | :gyfs="ruleForm.sldyList[0].gyfs" v-if="ruleForm.slsq.djywbm.includes('100')" /> | ||
| 131 | <div class="slxx_title title-block"> | ||
| 132 | 登记原因 | ||
| 133 | <div class="triangle"></div> | ||
| 134 | </div> | ||
| 135 | <el-row :gutter="10"> | ||
| 136 | <el-col v-if="ruleForm.fdcq2List.length > 0"> | ||
| 137 | <el-form-item v-if="ruleForm.slsq" label="登记原因:" prop="djyy"> | ||
| 138 | <el-input | ||
| 139 | class="textArea" | ||
| 140 | type="textarea" | ||
| 141 | maxlength="500" | ||
| 142 | show-word-limit | ||
| 143 | :disabled="!viewEdit" | ||
| 144 | v-model="ruleForm.fdcq2List[0].djyy"> | ||
| 145 | </el-input> | ||
| 146 | </el-form-item> | ||
| 147 | </el-col> | ||
| 148 | </el-row> | ||
| 149 | </div> | ||
| 150 | <el-row class="btn" v-if="isSave"> | ||
| 151 | <el-form-item> | ||
| 152 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 153 | </el-form-item> | ||
| 154 | </el-row> | ||
| 155 | </el-form> | ||
| 156 | </div> | ||
| 157 | </template> | ||
| 158 | <script> | ||
| 159 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 160 | import qlxxTable from "../commonTable/qlxxTable.vue"; | ||
| 161 | import qjhTable from "../commonTable/qjhTable.vue"; | ||
| 162 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 163 | import { | ||
| 164 | BatchInit, | ||
| 165 | Init, | ||
| 166 | saveBatchData, | ||
| 167 | saveData, | ||
| 168 | } from "@/api/workflow/fwsyqFlow.js"; | ||
| 169 | import { mapGetters } from "vuex"; | ||
| 170 | export default { | ||
| 171 | mixins: [ywmix], | ||
| 172 | computed: { | ||
| 173 | ...mapGetters(["dictData", "flag"]) | ||
| 174 | }, | ||
| 175 | components: { qlrCommonTable, qlxxTable,qjhTable}, | ||
| 176 | data () { | ||
| 177 | return { | ||
| 178 | isSave: true, | ||
| 179 | loading: false, | ||
| 180 | disabled: true, | ||
| 181 | tdytOption: [], | ||
| 182 | ruleForm: { | ||
| 183 | cfdjList: [], //查封登记 | ||
| 184 | diyaqList: [], //抵押权 | ||
| 185 | fdcq2List: [], //房屋信息集合 | ||
| 186 | qlrList: [], //权利人 | ||
| 187 | ywrList: [], //义务人 | ||
| 188 | qlxxList: [], //权利信息集合 | ||
| 189 | sldyList: [], //受理不动产单元集合 | ||
| 190 | slsq: {}, //受理申请流程明细 | ||
| 191 | flow: {}, //受理申请流程明细 | ||
| 192 | sqrList: [], //申请人 | ||
| 193 | ssQlxxList: [], //上手权利信息 | ||
| 194 | user: {}, //用户 | ||
| 195 | zdjbxx: {}, //宗地基本信息 | ||
| 196 | }, | ||
| 197 | czrOptions: [], | ||
| 198 | czr: "", | ||
| 199 | //传递参数 | ||
| 200 | propsParam: this.$attrs, | ||
| 201 | //表单是否可操作 | ||
| 202 | viewEdit: true, | ||
| 203 | rules: {}, | ||
| 204 | gyfs: "", | ||
| 205 | bsmSlsq: this.$route.query.bsmSlsq, //受理申请标识码 | ||
| 206 | }; | ||
| 207 | }, | ||
| 208 | mounted (callbackfn, thisArg) { | ||
| 209 | let that = this | ||
| 210 | this.loading = true | ||
| 211 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 212 | this.propsParam = this.$attrs; | ||
| 213 | var formdata = new FormData(); | ||
| 214 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 215 | formdata.append("djlx", this.propsParam.djlx); | ||
| 216 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
| 217 | formdata.append("isEdit", this.viewEdit); | ||
| 218 | BatchInit(formdata).then((res) => { | ||
| 219 | setTimeout(() => { | ||
| 220 | this.loading = false | ||
| 221 | }, 200) | ||
| 222 | if (res.code == 200) { | ||
| 223 | this.ruleForm = res.result; | ||
| 224 | this.czrOptions = this.ruleForm.qlrList; | ||
| 225 | this.gyfs = this.ruleForm.sldyList[0].gyfs; | ||
| 226 | this.ruleForm.qlrList.forEach((item) => { | ||
| 227 | item.id = item.bsmSqr | ||
| 228 | if (item.sfczr == '1') { | ||
| 229 | that.czr = item.bsmSqr | ||
| 230 | } | ||
| 231 | }) | ||
| 232 | that.isSave = this.viewEdit | ||
| 233 | |||
| 234 | } else { | ||
| 235 | that.isSave = false | ||
| 236 | that.$confirm(res.message, '提示', { | ||
| 237 | cancelButtonText: '取消', | ||
| 238 | showConfirmButton: false, | ||
| 239 | type: 'warning' | ||
| 240 | }) | ||
| 241 | } | ||
| 242 | }).catch(() => { | ||
| 243 | this.loading = false | ||
| 244 | }) | ||
| 245 | }, | ||
| 246 | methods: { | ||
| 247 | /** | ||
| 248 | * @description: 更新权利人信息 | ||
| 249 | * @param {*} val | ||
| 250 | * @author: renchao | ||
| 251 | */ | ||
| 252 | upDateQlrxxList (val) { | ||
| 253 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 254 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 255 | this.czrOptions = this.ruleForm.qlrList; | ||
| 256 | } | ||
| 257 | this.num = 0 | ||
| 258 | this.ruleForm.qlrList.forEach(item => { | ||
| 259 | if (item.id == this.czr) { | ||
| 260 | this.num++ | ||
| 261 | } | ||
| 262 | }) | ||
| 263 | if (this.num == 0) { | ||
| 264 | this.czr = '' | ||
| 265 | } | ||
| 266 | }, | ||
| 267 | /** | ||
| 268 | * @description: 是否持证人变化 | ||
| 269 | * @param {*} val | ||
| 270 | * @author: renchao | ||
| 271 | */ | ||
| 272 | updaterow () { | ||
| 273 | this.czr = ""; | ||
| 274 | }, | ||
| 275 | // 更新义务人信息 | ||
| 276 | /** | ||
| 277 | * @description: 更新义务人信息 | ||
| 278 | * @param {*} val | ||
| 279 | * @author: renchao | ||
| 280 | */ | ||
| 281 | upDateYwrxxList (val) { | ||
| 282 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 283 | }, | ||
| 284 | /** | ||
| 285 | * @description: onSubmit | ||
| 286 | * @author: renchao | ||
| 287 | */ | ||
| 288 | onSubmit () { | ||
| 289 | let that = this; | ||
| 290 | if (this.ruleForm.qlrList.length == 0) { | ||
| 291 | this.$message({ | ||
| 292 | showClose: true, | ||
| 293 | message: "请确认权利人信息", | ||
| 294 | type: "error", | ||
| 295 | }); | ||
| 296 | return false; | ||
| 297 | } | ||
| 298 | if (this.ruleForm.sldyList[0].gyfs == "0") { | ||
| 299 | if (this.ruleForm.qlrList.length > 1) { | ||
| 300 | this.$message({ | ||
| 301 | showClose: true, | ||
| 302 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 303 | type: "error", | ||
| 304 | }); | ||
| 305 | return false; | ||
| 306 | } | ||
| 307 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 308 | } else { | ||
| 309 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 310 | this.$message({ | ||
| 311 | showClose: true, | ||
| 312 | message: | ||
| 313 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 314 | type: "error", | ||
| 315 | }); | ||
| 316 | return false; | ||
| 317 | } | ||
| 318 | //是否分别持证 | ||
| 319 | if (this.ruleForm.sldyList[0].sqfbcz == "1") { | ||
| 320 | //是 | ||
| 321 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 322 | item.sfczr = "1"; | ||
| 323 | }); | ||
| 324 | } else { | ||
| 325 | if (that.czr === '') { | ||
| 326 | that.$message({ | ||
| 327 | showClose: true, | ||
| 328 | message: "请选择持证人", | ||
| 329 | type: "error" | ||
| 330 | }); | ||
| 331 | return false; | ||
| 332 | } | ||
| 333 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 334 | if (item.id == that.czr) { | ||
| 335 | item.sfczr = "1" | ||
| 336 | } else { | ||
| 337 | item.sfczr = "0" | ||
| 338 | } | ||
| 339 | }) | ||
| 340 | } | ||
| 341 | } | ||
| 342 | saveBatchData(this.ruleForm).then((res) => { | ||
| 343 | if (res.code === 200) { | ||
| 344 | this.$message({ | ||
| 345 | showClose: true, | ||
| 346 | message: "保存成功!", | ||
| 347 | type: "success", | ||
| 348 | }); | ||
| 349 | this.$store.dispatch("user/refreshPage", true); | ||
| 350 | } else { | ||
| 351 | this.$message({ | ||
| 352 | showClose: true, | ||
| 353 | message: res.message, | ||
| 354 | type: "error" | ||
| 355 | }) | ||
| 356 | } | ||
| 357 | }) | ||
| 358 | } | ||
| 359 | } | ||
| 360 | } | ||
| 361 | </script> | ||
| 362 | <style scoped lang="scss"> | ||
| 363 | @import "~@/styles/public.scss"; | ||
| 364 | |||
| 365 | /deep/.el-form { | ||
| 366 | display: flex; | ||
| 367 | flex-direction: column; | ||
| 368 | height: calc(100vh - 130px); | ||
| 369 | } | ||
| 370 | |||
| 371 | /deep/.el-form-item__label { | ||
| 372 | padding: 0; | ||
| 373 | } | ||
| 374 | |||
| 375 | /deep/.el-radio { | ||
| 376 | margin-right: 10px; | ||
| 377 | } | ||
| 378 | |||
| 379 | /deep/.el-select { | ||
| 380 | width: 100%; | ||
| 381 | } | ||
| 382 | |||
| 383 | /deep/.el-form-item { | ||
| 384 | margin-bottom: 3px; | ||
| 385 | } | ||
| 386 | |||
| 387 | .marginBot0 { | ||
| 388 | margin-bottom: 0 !important; | ||
| 389 | } | ||
| 390 | |||
| 391 | .slxx { | ||
| 392 | box-sizing: border-box; | ||
| 393 | } | ||
| 394 | |||
| 395 | .slxx_con { | ||
| 396 | flex: 1; | ||
| 397 | height: 100%; | ||
| 398 | background-color: #ffffff; | ||
| 399 | overflow-y: auto; | ||
| 400 | padding-right: 3px; | ||
| 401 | overflow-x: hidden; | ||
| 402 | } | ||
| 403 | |||
| 404 | .submit_btn { | ||
| 405 | height: 50px; | ||
| 406 | } | ||
| 407 | |||
| 408 | .btn { | ||
| 409 | text-align: center; | ||
| 410 | padding-top: 10px; | ||
| 411 | height: 36px; | ||
| 412 | background-color: #ffffff; | ||
| 413 | padding: 5px 0; | ||
| 414 | } | ||
| 415 | |||
| 416 | .textArea { | ||
| 417 | /deep/.el-textarea__inner { | ||
| 418 | min-height: 90px !important; | ||
| 419 | } | ||
| 420 | } | ||
| 421 | |||
| 422 | /deep/.el-form-item__label { | ||
| 423 | padding-bottom: 0px; | ||
| 424 | } | ||
| 425 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: 受理信息 | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-01-30 16:07:53 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form | ||
| 9 | :model="ruleForm" | ||
| 10 | :rules="rules" | ||
| 11 | v-Loading="loading" | ||
| 12 | ref="ruleForm" | ||
| 13 | :label-position="flag ? 'top' : ''" | ||
| 14 | :inline="flag" | ||
| 15 | label-width="120px"> | ||
| 16 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 17 | <div class="slxx_title title-block"> | ||
| 18 | 申请业务信息 | ||
| 19 | <div class="triangle"></div> | ||
| 20 | </div> | ||
| 21 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item label="业务号:"> | ||
| 24 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="8"> | ||
| 28 | <el-form-item label="受理人员:"> | ||
| 29 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | <el-col :span="8"> | ||
| 33 | <el-form-item label="受理时间:"> | ||
| 34 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 35 | </el-form-item> | ||
| 36 | </el-col> | ||
| 37 | </el-row> | ||
| 38 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 39 | <el-col :span="8"> | ||
| 40 | <el-form-item label="权利类型:"> | ||
| 41 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | <el-col :span="8"> | ||
| 45 | <el-form-item label="登记类型:"> | ||
| 46 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | <el-col :span="8"> | ||
| 50 | <el-form-item label="登记情形:"> | ||
| 51 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | </el-row> | ||
| 55 | <div class="slxx_title title-block"> | ||
| 56 | <el-row> | ||
| 57 | <el-col :span="16"> | ||
| 58 | 不动产单元情况 | ||
| 59 | </el-col> | ||
| 60 | <el-col :span="4" v-show="ruleForm.sldy.djlx=='500'"> | ||
| 61 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 62 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 63 | <el-radio label="1">是</el-radio> | ||
| 64 | <el-radio label="0">否</el-radio> | ||
| 65 | </el-radio-group> | ||
| 66 | </el-form-item> | ||
| 67 | </el-col> | ||
| 68 | <el-col :span="4" v-show="ruleForm.sldy.djlx=='300'||ruleForm.sldy.djlx=='500'"> | ||
| 69 | <el-button @click="compare">变化情况对比+</el-button> | ||
| 70 | </el-col> | ||
| 71 | </el-row> | ||
| 72 | <div class="triangle"></div> | ||
| 73 | </div> | ||
| 74 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 75 | <el-col :span="8"> | ||
| 76 | <el-form-item label="不动产单元号:"> | ||
| 77 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 78 | </el-form-item> | ||
| 79 | </el-col> | ||
| 80 | <el-col :span="16"> | ||
| 81 | <el-form-item label="坐落:"> | ||
| 82 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
| 83 | </el-form-item> | ||
| 84 | </el-col> | ||
| 85 | </el-row> | ||
| 86 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> | ||
| 87 | <el-col :span="8"> | ||
| 88 | <el-form-item label="土地用途:"> | ||
| 89 | <el-input disabled v-model="ruleForm.fdcq2.yt"></el-input> | ||
| 90 | </el-form-item> | ||
| 91 | </el-col> | ||
| 92 | <el-col :span="8"> | ||
| 93 | <el-form-item label="土地使用起止时间:"> | ||
| 94 | <el-input disabled v-model="ruleForm.fdcq2.tdsyqzsj"></el-input> | ||
| 95 | </el-form-item> | ||
| 96 | </el-col> | ||
| 97 | <el-col :span="8"> | ||
| 98 | <el-form-item label="土地使用期限:"> | ||
| 99 | <el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input> | ||
| 100 | </el-form-item> | ||
| 101 | </el-col> | ||
| 102 | </el-row> | ||
| 103 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 104 | <el-col :span="8"> | ||
| 105 | <el-form-item label="规划用途名称:"> | ||
| 106 | <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input> | ||
| 107 | </el-form-item> | ||
| 108 | </el-col> | ||
| 109 | <el-col :span="8"> | ||
| 110 | <el-form-item label="房屋性质:"> | ||
| 111 | <el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input> | ||
| 112 | </el-form-item> | ||
| 113 | </el-col> | ||
| 114 | <el-col :span="8"> | ||
| 115 | <el-form-item label="房屋结构:"> | ||
| 116 | <el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></el-input> | ||
| 117 | </el-form-item> | ||
| 118 | </el-col> | ||
| 119 | </el-row> | ||
| 120 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> | ||
| 121 | <el-col :span="8"> | ||
| 122 | <el-form-item label="所在层:"> | ||
| 123 | <el-input disabled v-model="ruleForm.fdcq2.szc"></el-input> | ||
| 124 | </el-form-item> | ||
| 125 | </el-col> | ||
| 126 | <el-col :span="8"> | ||
| 127 | <el-form-item label="总层数:"> | ||
| 128 | <el-input | ||
| 129 | disabled | ||
| 130 | v-model.number="ruleForm.fdcq2.zcs" | ||
| 131 | oninput="value=value.replace(/[^0-9]/g,'')"></el-input> | ||
| 132 | </el-form-item> | ||
| 133 | </el-col> | ||
| 134 | <el-col :span="8"> | ||
| 135 | <el-form-item label="竣工时间:"> | ||
| 136 | <el-input disabled v-model="ruleForm.fdcq2.jgsj"></el-input> | ||
| 137 | </el-form-item> | ||
| 138 | </el-col> | ||
| 139 | </el-row> | ||
| 140 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 141 | <el-col :span="8"> | ||
| 142 | <el-form-item label="建筑面积:"> | ||
| 143 | <div class="flex"> | ||
| 144 | <el-input | ||
| 145 | disabled | ||
| 146 | v-model="ruleForm.qlxx.mj" | ||
| 147 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 148 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 149 | <el-option | ||
| 150 | v-for="item in dictData['A7']" | ||
| 151 | :key="item.dcode" | ||
| 152 | :label="item.dname" | ||
| 153 | :value="item.dcode"> | ||
| 154 | </el-option> | ||
| 155 | </el-select> | ||
| 156 | </div> | ||
| 157 | </el-form-item> | ||
| 158 | </el-col> | ||
| 159 | <el-col :span="8"> | ||
| 160 | <el-form-item label="专有建筑面积:"> | ||
| 161 | <div class="flex"> | ||
| 162 | <el-input | ||
| 163 | disabled | ||
| 164 | v-model="ruleForm.fdcq2.zyjzmj" | ||
| 165 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 166 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 167 | <el-option | ||
| 168 | v-for="item in dictData['A7']" | ||
| 169 | :key="item.dcode" | ||
| 170 | :label="item.dname" | ||
| 171 | :value="item.dcode"> | ||
| 172 | </el-option> | ||
| 173 | </el-select> | ||
| 174 | </div> | ||
| 175 | </el-form-item> | ||
| 176 | </el-col> | ||
| 177 | <el-col :span="8"> | ||
| 178 | <el-form-item label="分摊建筑面积:"> | ||
| 179 | <div class="flex"> | ||
| 180 | <el-input | ||
| 181 | disabled | ||
| 182 | v-model="ruleForm.fdcq2.ftjzmj" | ||
| 183 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 184 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 185 | <el-option | ||
| 186 | v-for="item in dictData['A7']" | ||
| 187 | :key="item.dcode" | ||
| 188 | :label="item.dname" | ||
| 189 | :value="item.dcode"> | ||
| 190 | </el-option> | ||
| 191 | </el-select> | ||
| 192 | </div> | ||
| 193 | </el-form-item> | ||
| 194 | </el-col> | ||
| 195 | </el-row> | ||
| 196 | <div class="slxx_title title-block"> | ||
| 197 | 土地用途 | ||
| 198 | <div class="triangle"></div> | ||
| 199 | </div> | ||
| 200 | <tdytTable | ||
| 201 | :ableOperation="viewEdit" | ||
| 202 | :tableData="ruleForm.tdytqxList" | ||
| 203 | @upDateTdytxxList="upDateTdytxxList" /> | ||
| 204 | <div class="slxx_title title-block"> | ||
| 205 | 权利人信息 | ||
| 206 | <div class="triangle"></div> | ||
| 207 | </div> | ||
| 208 | <el-row :gutter="10"> | ||
| 209 | <el-col :span="12"> | ||
| 210 | <el-form-item label="共有方式:"> | ||
| 211 | <el-radio-group | ||
| 212 | :disabled="!viewEdit" | ||
| 213 | v-model="ruleForm.sldy.gyfs"> | ||
| 214 | <el-radio label="0">单独所有</el-radio> | ||
| 215 | <el-radio label="1">共同共有</el-radio> | ||
| 216 | <el-radio label="2">按份所有</el-radio> | ||
| 217 | <el-radio label="3">其它共有</el-radio> | ||
| 218 | </el-radio-group> | ||
| 219 | </el-form-item> | ||
| 220 | </el-col> | ||
| 221 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 222 | <el-form-item label="是否分别持证:"> | ||
| 223 | <el-radio-group | ||
| 224 | v-model="ruleForm.sldy.sqfbcz" | ||
| 225 | :disabled="!viewEdit" | ||
| 226 | @input="updaterow()"> | ||
| 227 | <el-radio :label="1">是</el-radio> | ||
| 228 | <el-radio :label="0">否</el-radio> | ||
| 229 | </el-radio-group> | ||
| 230 | </el-form-item> | ||
| 231 | </el-col> | ||
| 232 | <el-col | ||
| 233 | :span="6" | ||
| 234 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 235 | <el-form-item label="持证人:"> | ||
| 236 | <el-select | ||
| 237 | v-model="czr" | ||
| 238 | placeholder="持证人" | ||
| 239 | :disabled="!viewEdit"> | ||
| 240 | <el-option | ||
| 241 | v-for="(item,index) in czrOptions" | ||
| 242 | :key="index" | ||
| 243 | :label="item.sqrmc" | ||
| 244 | :value="item.id"> | ||
| 245 | </el-option> | ||
| 246 | </el-select> | ||
| 247 | </el-form-item> | ||
| 248 | </el-col> | ||
| 249 | </el-row> | ||
| 250 | <qlrCommonTable | ||
| 251 | @upDateQlrxxList="upDateQlrxxList" | ||
| 252 | :disabled="!viewEdit" | ||
| 253 | :tableData="ruleForm.qlrList" | ||
| 254 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 255 | <div class="slxx_title title-block"> | ||
| 256 | 登记原因 | ||
| 257 | <div class="triangle"></div> | ||
| 258 | </div> | ||
| 259 | <el-row :gutter="10"> | ||
| 260 | <el-col> | ||
| 261 | <el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="fdcq2.djyy"> | ||
| 262 | <el-input | ||
| 263 | class="textArea" | ||
| 264 | type="textarea" | ||
| 265 | maxlength="500" | ||
| 266 | show-word-limit | ||
| 267 | :disabled="!viewEdit" | ||
| 268 | v-model="ruleForm.fdcq2.djyy"> | ||
| 269 | </el-input> | ||
| 270 | </el-form-item> | ||
| 271 | </el-col> | ||
| 272 | </el-row> | ||
| 273 | </div> | ||
| 274 | <el-row class="btn" v-if="isSave"> | ||
| 275 | <el-form-item> | ||
| 276 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 277 | </el-form-item> | ||
| 278 | </el-row> | ||
| 279 | </el-form> | ||
| 280 | </div> | ||
| 281 | </template> | ||
| 282 | <script> | ||
| 283 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 284 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 285 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
| 286 | import { Init, saveData } from "@/api/workflow/fwsyqFlow.js"; | ||
| 287 | import { mapGetters } from "vuex"; | ||
| 288 | export default { | ||
| 289 | mixins: [ywmix], | ||
| 290 | mounted () { | ||
| 291 | let that = this | ||
| 292 | this.loading = true | ||
| 293 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 294 | this.propsParam = this.$attrs; | ||
| 295 | var formdata = new FormData(); | ||
| 296 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 297 | formdata.append("djlx", this.propsParam.djlx); | ||
| 298 | formdata.append("isEdit", this.viewEdit); | ||
| 299 | Init(formdata).then((res) => { | ||
| 300 | setTimeout(() => { | ||
| 301 | this.loading = false | ||
| 302 | }, 200) | ||
| 303 | if (res.code === 200 && res.result) { | ||
| 304 | that.ruleForm = { | ||
| 305 | ...res.result, | ||
| 306 | ...res.result.zdjbxxdatas, | ||
| 307 | ...res.result.qlxxdatas, | ||
| 308 | ...res.result.jsydsyqdatas, | ||
| 309 | }; | ||
| 310 | that.ruleForm.qlrList.forEach((item) => { | ||
| 311 | item.id = item.bsmSqr | ||
| 312 | if (item.sfczr == '1') { | ||
| 313 | that.czr = item.bsmSqr | ||
| 314 | } | ||
| 315 | }) | ||
| 316 | that.czrOptions = that.ruleForm.qlrList; | ||
| 317 | that.isSave = that.viewEdit | ||
| 318 | } else { | ||
| 319 | that.isSave = false | ||
| 320 | that.$confirm(res.message, '提示', { | ||
| 321 | cancelButtonText: '取消', | ||
| 322 | showConfirmButton: false, | ||
| 323 | type: 'warning' | ||
| 324 | }) | ||
| 325 | } | ||
| 326 | }).catch(() => { | ||
| 327 | this.loading = false | ||
| 328 | this.isSave = false | ||
| 329 | }) | ||
| 330 | }, | ||
| 331 | components: { qlrCommonTable, tdytTable }, | ||
| 332 | computed: { | ||
| 333 | ...mapGetters(["dictData", "flag"]), | ||
| 334 | }, | ||
| 335 | data () { | ||
| 336 | return { | ||
| 337 | isSave: true, | ||
| 338 | loading: false, | ||
| 339 | mjdw: "1", | ||
| 340 | //表单是否可操作 | ||
| 341 | viewEdit: false, | ||
| 342 | disabled: true, | ||
| 343 | tdytOption: [], | ||
| 344 | czrOptions: [], | ||
| 345 | czr: "", | ||
| 346 | ruleForm: { | ||
| 347 | flow: { | ||
| 348 | ywh: "", | ||
| 349 | }, | ||
| 350 | slry: "", | ||
| 351 | slsj: "", | ||
| 352 | qllx: "", | ||
| 353 | djlx: "", | ||
| 354 | djqx: "", | ||
| 355 | sldy: { | ||
| 356 | gyfs: "", | ||
| 357 | }, | ||
| 358 | // 宗地代码 | ||
| 359 | zddm: "", | ||
| 360 | bdcdyh: "", | ||
| 361 | qlxzmc: "", | ||
| 362 | qlrxx: [], | ||
| 363 | // 自然幢号 | ||
| 364 | zrzh: "", | ||
| 365 | // 户不动产单元号 | ||
| 366 | hbdcdyh: "", | ||
| 367 | djzt: "", | ||
| 368 | // 图幅丘幢号 | ||
| 369 | tfqzh: "", | ||
| 370 | zl: "", | ||
| 371 | // 房屋用途 | ||
| 372 | fwyt: "", | ||
| 373 | fwxz: "", | ||
| 374 | fwjg: "", | ||
| 375 | // 权利人信息 | ||
| 376 | // 是否分别持证 | ||
| 377 | sffbcz: "", | ||
| 378 | // 持证人 | ||
| 379 | czr: "", | ||
| 380 | djyy: "", | ||
| 381 | // 规划用途名称 | ||
| 382 | zdjbxx: { | ||
| 383 | ghytmc: "", | ||
| 384 | }, | ||
| 385 | fdcq2: { | ||
| 386 | fwxzmc: "", | ||
| 387 | }, | ||
| 388 | slsq: { | ||
| 389 | gyfs: "", | ||
| 390 | }, | ||
| 391 | }, | ||
| 392 | //传递参数 | ||
| 393 | propsParam: {}, | ||
| 394 | rules: { | ||
| 395 | 'fdcq2.djyy': [ | ||
| 396 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 397 | ] | ||
| 398 | } | ||
| 399 | } | ||
| 400 | }, | ||
| 401 | methods: { | ||
| 402 | /** | ||
| 403 | * @description: dataSelectClick | ||
| 404 | * @author: renchao | ||
| 405 | */ | ||
| 406 | dataSelectClick () { | ||
| 407 | this.$popup( | ||
| 408 | "房屋所有权", | ||
| 409 | this.BASE_API.SERVERAPI + "/rest/workflow/main/dataCompare/slxxCompareDetai", | ||
| 410 | { | ||
| 411 | formData: { | ||
| 412 | bsmSldy: this.propsParam.bsmSldy, | ||
| 413 | qllx: this.propsParam.qllx, | ||
| 414 | }, | ||
| 415 | } | ||
| 416 | ); | ||
| 417 | }, | ||
| 418 | /** | ||
| 419 | * @description: 更新土地用途信息 | ||
| 420 | * @param {*} val | ||
| 421 | * @author: renchao | ||
| 422 | */ | ||
| 423 | upDateTdytxxList (val) { | ||
| 424 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
| 425 | this.key++; | ||
| 426 | }, | ||
| 427 | /** | ||
| 428 | * @description: 是否持证人变化 | ||
| 429 | * @param {*} val | ||
| 430 | * @author: renchao | ||
| 431 | */ | ||
| 432 | updaterow () { | ||
| 433 | this.czr = ""; | ||
| 434 | }, | ||
| 435 | /** | ||
| 436 | * @description: 更新权利人信息 | ||
| 437 | * @param {*} val | ||
| 438 | * @author: renchao | ||
| 439 | */ | ||
| 440 | upDateQlrxxList (val) { | ||
| 441 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 442 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 443 | this.czrOptions = this.ruleForm.qlrList; | ||
| 444 | } | ||
| 445 | this.num = 0 | ||
| 446 | this.ruleForm.qlrList.forEach(item => { | ||
| 447 | if (item.id == this.czr) { | ||
| 448 | this.num++ | ||
| 449 | } | ||
| 450 | }) | ||
| 451 | if (this.num == 0) { | ||
| 452 | this.czr = '' | ||
| 453 | } | ||
| 454 | }, | ||
| 455 | /** | ||
| 456 | * @description: 更新权利人信息 | ||
| 457 | * @param {*} val | ||
| 458 | * @author: renchao | ||
| 459 | */ | ||
| 460 | upDateYwrxxList (val) { | ||
| 461 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 462 | }, | ||
| 463 | /** | ||
| 464 | * @description: onSubmit | ||
| 465 | * @author: renchao | ||
| 466 | */ | ||
| 467 | onSubmit () { | ||
| 468 | let that = this; | ||
| 469 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
| 470 | if (arr.length > 0) { | ||
| 471 | this.$message({ | ||
| 472 | showClose: true, | ||
| 473 | message: "土地用途不能为空", | ||
| 474 | type: "error", | ||
| 475 | }); | ||
| 476 | return false; | ||
| 477 | } | ||
| 478 | if (this.ruleForm.qlrList.length == 0) { | ||
| 479 | this.$message({ | ||
| 480 | showClose: true, | ||
| 481 | message: "请确认权利人信息", | ||
| 482 | type: "error", | ||
| 483 | }); | ||
| 484 | return false; | ||
| 485 | } | ||
| 486 | |||
| 487 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 488 | if (this.ruleForm.qlrList.length > 1) { | ||
| 489 | this.$message({ | ||
| 490 | showClose: true, | ||
| 491 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 492 | type: "error", | ||
| 493 | }); | ||
| 494 | return false; | ||
| 495 | } | ||
| 496 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 497 | } else { | ||
| 498 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 499 | this.$message({ | ||
| 500 | showClose: true, | ||
| 501 | message: | ||
| 502 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 503 | type: "error", | ||
| 504 | }); | ||
| 505 | return false; | ||
| 506 | } | ||
| 507 | //是否分别持证 | ||
| 508 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 509 | //是 | ||
| 510 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 511 | item.sfczr = "1"; | ||
| 512 | }); | ||
| 513 | } else { | ||
| 514 | if (that.czr === '') { | ||
| 515 | that.$message({ | ||
| 516 | showClose: true, | ||
| 517 | message: "请选择持证人", | ||
| 518 | type: "error" | ||
| 519 | }); | ||
| 520 | return false; | ||
| 521 | } | ||
| 522 | this.ruleForm.qlrList.forEach(item => { | ||
| 523 | if (item.id == that.czr) { | ||
| 524 | item.sfczr = "1" | ||
| 525 | } else { | ||
| 526 | item.sfczr = "0" | ||
| 527 | } | ||
| 528 | }) | ||
| 529 | } | ||
| 530 | } | ||
| 531 | this.$refs['ruleForm'].validate((valid) => { | ||
| 532 | if (valid) { | ||
| 533 | that.$store.dispatch("user/refreshPage", false); | ||
| 534 | saveData(that.ruleForm).then((res) => { | ||
| 535 | if (res.code === 200) { | ||
| 536 | that.$message({ | ||
| 537 | showClose: true, | ||
| 538 | message: "保存成功!", | ||
| 539 | type: "success", | ||
| 540 | }); | ||
| 541 | that.$store.dispatch("user/refreshPage", true); | ||
| 542 | } else { | ||
| 543 | that.$message({ | ||
| 544 | showClose: true, | ||
| 545 | message: res.message, | ||
| 546 | type: "error", | ||
| 547 | }); | ||
| 548 | } | ||
| 549 | }) | ||
| 550 | |||
| 551 | } else { | ||
| 552 | that.$message({ | ||
| 553 | showClose: true, | ||
| 554 | message: "请输入登记原因", | ||
| 555 | type: "error" | ||
| 556 | }) | ||
| 557 | return false | ||
| 558 | } | ||
| 559 | }) | ||
| 560 | }, | ||
| 561 | /** | ||
| 562 | * @description: compare | ||
| 563 | * @author: renchao | ||
| 564 | */ | ||
| 565 | compare () { | ||
| 566 | this.$popupDialog( | ||
| 567 | this.ruleForm.qlxx.qllxmc, | ||
| 568 | "registerBook/comparison", | ||
| 569 | { | ||
| 570 | bsmQlxx: this.ruleForm.qlxx.bsmQlxx, | ||
| 571 | dqqllx: "FDCQ2", | ||
| 572 | }, | ||
| 573 | "80%", | ||
| 574 | true | ||
| 575 | ); | ||
| 576 | }, | ||
| 577 | }, | ||
| 578 | }; | ||
| 579 | </script> | ||
| 580 | <style scoped lang="scss"> | ||
| 581 | @import "~@/styles/public.scss"; | ||
| 582 | @import "~@/styles/slxx/slxx.scss"; | ||
| 583 | /deep/.el-form { | ||
| 584 | display: flex; | ||
| 585 | flex-direction: column; | ||
| 586 | height: calc(100vh - 130px); | ||
| 587 | } | ||
| 588 | |||
| 589 | /deep/.el-form-item__label { | ||
| 590 | padding: 0; | ||
| 591 | } | ||
| 592 | |||
| 593 | /deep/.el-radio { | ||
| 594 | margin-right: 10px; | ||
| 595 | } | ||
| 596 | |||
| 597 | /deep/.el-select { | ||
| 598 | width: 100%; | ||
| 599 | } | ||
| 600 | |||
| 601 | /deep/.el-form-item { | ||
| 602 | margin-bottom: 3px; | ||
| 603 | } | ||
| 604 | |||
| 605 | .marginBot0 { | ||
| 606 | margin-bottom: 0 !important; | ||
| 607 | } | ||
| 608 | |||
| 609 | .slxx { | ||
| 610 | box-sizing: border-box; | ||
| 611 | } | ||
| 612 | |||
| 613 | .slxx_con { | ||
| 614 | flex: 1; | ||
| 615 | height: 100%; | ||
| 616 | background-color: #ffffff; | ||
| 617 | overflow-y: auto; | ||
| 618 | padding-right: 3px; | ||
| 619 | overflow-x: hidden; | ||
| 620 | } | ||
| 621 | |||
| 622 | .submit_btn { | ||
| 623 | height: 50px; | ||
| 624 | } | ||
| 625 | |||
| 626 | .btn { | ||
| 627 | text-align: center; | ||
| 628 | padding-top: 10px; | ||
| 629 | height: 36px; | ||
| 630 | background-color: #ffffff; | ||
| 631 | padding: 5px 0; | ||
| 632 | } | ||
| 633 | |||
| 634 | .textArea { | ||
| 635 | /deep/.el-textarea__inner { | ||
| 636 | min-height: 90px !important; | ||
| 637 | } | ||
| 638 | } | ||
| 639 | |||
| 640 | /deep/.el-form-item__label { | ||
| 641 | padding-bottom: 0px; | ||
| 642 | } | ||
| 643 | </style> |
| 1 | 0 | ||
| 2 | <!-- | ||
| 3 | * @Description: | ||
| 4 | * @Autor: renchao | ||
| 5 | * @LastEditTime: 2024-01-31 10:14:22 | ||
| 6 | --> | ||
| 7 | <template> | ||
| 8 | <!-- 受理信息 --> | ||
| 9 | <div class="slxx"> | ||
| 10 | <el-form | ||
| 11 | :model="ruleForm" | ||
| 12 | :rules="rules" | ||
| 13 | v-Loading="loading" | ||
| 14 | ref="ruleForm" | ||
| 15 | :label-position="flag ? 'top' : ''" | ||
| 16 | :inline="flag" | ||
| 17 | label-width="120px"> | ||
| 18 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 19 | <div class="slxx_title title-block"> | ||
| 20 | 申请业务信息 | ||
| 21 | <div class="triangle"></div> | ||
| 22 | </div> | ||
| 23 | <el-row :gutter="10"> | ||
| 24 | <el-col :span="8"> | ||
| 25 | <el-form-item label="业务号:"> | ||
| 26 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 27 | </el-form-item> | ||
| 28 | </el-col> | ||
| 29 | <el-col :span="8"> | ||
| 30 | <el-form-item label="受理人员:"> | ||
| 31 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 32 | </el-form-item> | ||
| 33 | </el-col> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="受理时间:"> | ||
| 36 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 37 | </el-form-item> | ||
| 38 | </el-col> | ||
| 39 | </el-row> | ||
| 40 | <el-row :gutter="10"> | ||
| 41 | <el-col :span="8"> | ||
| 42 | <el-form-item label="权利类型:"> | ||
| 43 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 44 | </el-form-item> | ||
| 45 | </el-col> | ||
| 46 | <el-col :span="8"> | ||
| 47 | <el-form-item label="登记类型:"> | ||
| 48 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 49 | </el-form-item> | ||
| 50 | </el-col> | ||
| 51 | <el-col :span="8"> | ||
| 52 | <el-form-item label="登记情形:"> | ||
| 53 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 54 | </el-form-item> | ||
| 55 | </el-col> | ||
| 56 | </el-row> | ||
| 57 | <div class="slxx_title title-block"> | ||
| 58 | <el-row> | ||
| 59 | <el-col :span="16"> | ||
| 60 | 不动产单元情况 | ||
| 61 | </el-col> | ||
| 62 | <el-col :span="4"> | ||
| 63 | <el-button v-if="ruleForm.sldy=='300'||ruleForm.sldy=='500'" @click="compare">变化情况对比+</el-button> | ||
| 64 | </el-col> | ||
| 65 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
| 66 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 67 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 68 | <el-radio label="1">是</el-radio> | ||
| 69 | <el-radio label="0">否</el-radio> | ||
| 70 | </el-radio-group> | ||
| 71 | </el-form-item> | ||
| 72 | </el-col> | ||
| 73 | </el-row> | ||
| 74 | <div class="triangle"></div> | ||
| 75 | |||
| 76 | </div> | ||
| 77 | <el-row :gutter="10"> | ||
| 78 | <el-col :span="8"> | ||
| 79 | <el-form-item label="原不动产权证号:"> | ||
| 80 | <el-input disabled v-model="ruleForm.sldy.ybdcqzsh"></el-input> | ||
| 81 | </el-form-item> | ||
| 82 | </el-col> | ||
| 83 | <el-col :span="8"> | ||
| 84 | <el-form-item label="不动产单元号:"> | ||
| 85 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 86 | </el-form-item> | ||
| 87 | </el-col> | ||
| 88 | <el-col :span="8"> | ||
| 89 | <el-form-item label="权利性质:"> | ||
| 90 | <treeselect | ||
| 91 | :disabled="!viewEdit" | ||
| 92 | v-model="ruleForm.zdjbxx.qlxz" | ||
| 93 | noOptionsText="暂无数据" | ||
| 94 | placeholder="" | ||
| 95 | :normalizer="normalizer" | ||
| 96 | :default-expand-level="1" | ||
| 97 | :show-count="true" | ||
| 98 | :options="dictData['A9']" /> | ||
| 99 | </el-form-item> | ||
| 100 | </el-col> | ||
| 101 | </el-row> | ||
| 102 | <el-row :gutter="10"> | ||
| 103 | <el-col :span="8"> | ||
| 104 | <el-form-item label="权利设定方式:"> | ||
| 105 | <el-select v-model="ruleForm.zdjbxx.qlsdfs" :disabled="!viewEdit"> | ||
| 106 | <el-option | ||
| 107 | v-for="item in dictData['A10']" | ||
| 108 | :key="item.dcode" | ||
| 109 | :label="item.dname" | ||
| 110 | :value="item.dcode"> | ||
| 111 | </el-option> | ||
| 112 | </el-select> | ||
| 113 | </el-form-item> | ||
| 114 | </el-col> | ||
| 115 | |||
| 116 | <el-col :span="8"> | ||
| 117 | <el-form-item label="宗地面积:"> | ||
| 118 | <el-input :disabled="!viewEdit" v-model="ruleForm.zdjbxx.zdmj"></el-input> | ||
| 119 | </el-form-item> | ||
| 120 | </el-col> | ||
| 121 | <el-col :span="8"> | ||
| 122 | <el-form-item label="取得价格:"> | ||
| 123 | <div style="display: flex"> | ||
| 124 | <el-input | ||
| 125 | maxlength="11" | ||
| 126 | v-model="ruleForm.jsydsyq.qdjg" | ||
| 127 | style="width: 500%" | ||
| 128 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null" | ||
| 129 | :disabled="!viewEdit"></el-input> | ||
| 130 | <el-select v-model="ruleForm.jsydsyq.jedw" disabled> | ||
| 131 | <el-option | ||
| 132 | v-for="item in dictData['A57']" | ||
| 133 | :key="item.dcode" | ||
| 134 | :label="item.dname" | ||
| 135 | :value="item.dcode"> | ||
| 136 | </el-option> | ||
| 137 | </el-select> | ||
| 138 | </div> | ||
| 139 | </el-form-item> | ||
| 140 | </el-col> | ||
| 141 | </el-row> | ||
| 142 | <el-row :gutter="10"> | ||
| 143 | <el-col :span="8"> | ||
| 144 | <el-form-item label="土地等级:"> | ||
| 145 | <el-select placeholder="" v-model="ruleForm.zdjbxx.dj" :disabled="!viewEdit"> | ||
| 146 | <el-option | ||
| 147 | v-for="item in dictData['A50']" | ||
| 148 | :key="item.dcode" | ||
| 149 | :label="item.dname" | ||
| 150 | :value="item.dcode"> | ||
| 151 | </el-option> | ||
| 152 | </el-select> | ||
| 153 | </el-form-item> | ||
| 154 | </el-col> | ||
| 155 | |||
| 156 | <el-col :span="8"> | ||
| 157 | <el-form-item label="图幅号:"> | ||
| 158 | <el-input | ||
| 159 | :disabled="!viewEdit" | ||
| 160 | v-model="ruleForm.zdjbxx.tfh"></el-input> | ||
| 161 | </el-form-item> | ||
| 162 | </el-col> | ||
| 163 | <el-col :span="8"> | ||
| 164 | <el-form-item label="地籍号:"> | ||
| 165 | <el-input | ||
| 166 | v-model="ruleForm.zdjbxx.djh" | ||
| 167 | :disabled="!viewEdit"></el-input> | ||
| 168 | </el-form-item> | ||
| 169 | </el-col> | ||
| 170 | |||
| 171 | </el-row> | ||
| 172 | <el-row :gutter="10"> | ||
| 173 | <el-col :span="8"> | ||
| 174 | <el-form-item label="地块代码:"> | ||
| 175 | <el-input | ||
| 176 | v-model="ruleForm.zdjbxx.dkdm" | ||
| 177 | :disabled="!viewEdit"></el-input> | ||
| 178 | </el-form-item> | ||
| 179 | </el-col> | ||
| 180 | <el-col :span="16"> | ||
| 181 | <el-form-item label="坐落:"> | ||
| 182 | <el-input :disabled="!viewEdit" v-model="ruleForm.sldy.zl"></el-input> | ||
| 183 | </el-form-item> | ||
| 184 | </el-col> | ||
| 185 | </el-row> | ||
| 186 | <el-row :gutter="10"> | ||
| 187 | <el-col> | ||
| 188 | <el-form-item label="附记:" prop="fj"> | ||
| 189 | <el-input | ||
| 190 | type="textarea" | ||
| 191 | maxlength="500" | ||
| 192 | show-word-limit | ||
| 193 | v-model="ruleForm.jsydsyq.fj" | ||
| 194 | :disabled="!viewEdit"></el-input> | ||
| 195 | </el-form-item> | ||
| 196 | </el-col> | ||
| 197 | </el-row> | ||
| 198 | <div class="slxx_title title-block"> | ||
| 199 | 土地用途 | ||
| 200 | <div class="triangle"></div> | ||
| 201 | </div> | ||
| 202 | <tdytTable | ||
| 203 | :tableData="ruleForm.tdytqxList" | ||
| 204 | :ableOperation="viewEdit" | ||
| 205 | @upDateTdytxxList="upDateTdytxxList" /> | ||
| 206 | <div class="slxx_title title-block"> | ||
| 207 | 权利人信息 | ||
| 208 | <div class="triangle"></div> | ||
| 209 | </div> | ||
| 210 | <el-row :gutter="10"> | ||
| 211 | <el-col :span="12"> | ||
| 212 | <el-form-item label="共有方式:"> | ||
| 213 | <el-radio-group | ||
| 214 | :disabled="!viewEdit" | ||
| 215 | v-model="ruleForm.sldy.gyfs"> | ||
| 216 | <el-radio label="0">单独所有</el-radio> | ||
| 217 | <el-radio label="1">共同共有</el-radio> | ||
| 218 | <el-radio label="2">按份所有</el-radio> | ||
| 219 | <el-radio label="3">其它共有</el-radio> | ||
| 220 | </el-radio-group> | ||
| 221 | </el-form-item> | ||
| 222 | </el-col> | ||
| 223 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 224 | <el-form-item label="是否分别持证:"> | ||
| 225 | <el-radio-group | ||
| 226 | v-model="ruleForm.sldy.sqfbcz" | ||
| 227 | :disabled="!viewEdit" | ||
| 228 | @input="updaterow()"> | ||
| 229 | <el-radio :label="1">是</el-radio> | ||
| 230 | <el-radio :label="0">否</el-radio> | ||
| 231 | </el-radio-group> | ||
| 232 | </el-form-item> | ||
| 233 | </el-col> | ||
| 234 | <el-col | ||
| 235 | :span="6" | ||
| 236 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 237 | <el-form-item label="持证人:"> | ||
| 238 | <el-select | ||
| 239 | v-model="czr" | ||
| 240 | placeholder="持证人" | ||
| 241 | :disabled="!viewEdit"> | ||
| 242 | <el-option | ||
| 243 | v-for="item in czrOptions" | ||
| 244 | :key="item.id" | ||
| 245 | :label="item.sqrmc" | ||
| 246 | :value="item.id"> | ||
| 247 | </el-option> | ||
| 248 | </el-select> | ||
| 249 | </el-form-item> | ||
| 250 | </el-col> | ||
| 251 | </el-row> | ||
| 252 | <qlrCommonTable | ||
| 253 | :tableData="ruleForm.qlrList" | ||
| 254 | :disabled="viewEdit" | ||
| 255 | @upDateQlrxxList="upDateQlrxxList" | ||
| 256 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 257 | |||
| 258 | <div v-if="ruleForm.ywrList && ruleForm.ywrList.length > 0 && ruleForm.qlxx.djlx==200"> | ||
| 259 | <div class="slxx_title title-block"> | ||
| 260 | 义务人信息 | ||
| 261 | <div class="triangle"></div> | ||
| 262 | </div> | ||
| 263 | <ywrCommonTable | ||
| 264 | v-if="ruleForm.ywrList" | ||
| 265 | :disabled="viewEdit" | ||
| 266 | :tableData="ruleForm.ywrList" | ||
| 267 | :key="key" | ||
| 268 | @upDateQlrxxList="upDateYwrxxList" /> | ||
| 269 | </div> | ||
| 270 | |||
| 271 | <div class="slxx_title title-block"> | ||
| 272 | 登记原因 | ||
| 273 | <div class="triangle"></div> | ||
| 274 | </div> | ||
| 275 | <el-row :gutter="10"> | ||
| 276 | <el-col> | ||
| 277 | <el-form-item label="登记原因:" prop="jsydsyq.djyy"> | ||
| 278 | <el-input | ||
| 279 | class="textArea" | ||
| 280 | type="textarea" | ||
| 281 | maxlength="500" | ||
| 282 | show-word-limit | ||
| 283 | :disabled="!viewEdit" | ||
| 284 | v-model="ruleForm.jsydsyq.djyy"> | ||
| 285 | </el-input> | ||
| 286 | </el-form-item> | ||
| 287 | </el-col> | ||
| 288 | </el-row> | ||
| 289 | </div> | ||
| 290 | <el-row class="btn" v-if="isSave"> | ||
| 291 | <el-form-item> | ||
| 292 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 293 | </el-form-item> | ||
| 294 | </el-row> | ||
| 295 | </el-form> | ||
| 296 | </div> | ||
| 297 | </template> | ||
| 298 | <script> | ||
| 299 | import { mapGetters } from "vuex"; | ||
| 300 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 301 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 302 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 303 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
| 304 | import { Init, saveData } from "@/api/workflow/jsydsyqFlow.js"; | ||
| 305 | export default { | ||
| 306 | mixins: [ywmix], | ||
| 307 | mounted () { | ||
| 308 | let that = this; | ||
| 309 | this.loading = true | ||
| 310 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 311 | this.propsParam = this.$attrs; | ||
| 312 | var formdata = new FormData(); | ||
| 313 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 314 | formdata.append("djlx", this.propsParam.djlx); | ||
| 315 | formdata.append("isEdit", this.viewEdit); | ||
| 316 | Init(formdata).then((res) => { | ||
| 317 | setTimeout(() => { | ||
| 318 | this.loading = false | ||
| 319 | }, 200) | ||
| 320 | if (res.code === 200 && res.result) { | ||
| 321 | that.ruleForm = res.result; | ||
| 322 | that.ruleForm.qlrList.forEach((item) => { | ||
| 323 | item.id = item.bsmSqr | ||
| 324 | if (item.sfczr == '1') { | ||
| 325 | that.czr = item.bsmSqr | ||
| 326 | } | ||
| 327 | }) | ||
| 328 | that.czrOptions = that.ruleForm.qlrList; | ||
| 329 | that.isSave = that.viewEdit | ||
| 330 | } else { | ||
| 331 | that.isSave = false | ||
| 332 | that.$confirm(res.message, '提示', { | ||
| 333 | cancelButtonText: '取消', | ||
| 334 | showConfirmButton: false, | ||
| 335 | type: 'warning' | ||
| 336 | }) | ||
| 337 | } | ||
| 338 | }).catch(() => { | ||
| 339 | this.loading = false | ||
| 340 | this.isSave = false | ||
| 341 | }) | ||
| 342 | }, | ||
| 343 | components: { qlrCommonTable, tdytTable, ywrCommonTable }, | ||
| 344 | computed: { | ||
| 345 | ...mapGetters(["dictData", "flag"]), | ||
| 346 | }, | ||
| 347 | data () { | ||
| 348 | return { | ||
| 349 | key: 0, | ||
| 350 | isSave: true, | ||
| 351 | loading: false, | ||
| 352 | // 键名转换,方法默认是label和children进行树状渲染 | ||
| 353 | normalizer (node) { | ||
| 354 | //方法 | ||
| 355 | if (node.children == null || node.children == "null") { | ||
| 356 | delete node.children; | ||
| 357 | } | ||
| 358 | return { | ||
| 359 | id: node.dcode, | ||
| 360 | label: node.dname, | ||
| 361 | }; | ||
| 362 | }, | ||
| 363 | //表单是否可操作 | ||
| 364 | viewEdit: false, | ||
| 365 | disabled: true, | ||
| 366 | czrOptions: [], | ||
| 367 | czr: "", | ||
| 368 | ruleForm: { | ||
| 369 | slywxx: {}, | ||
| 370 | qlxx: {}, | ||
| 371 | zdjbxx: {}, | ||
| 372 | jsydsyq: {}, | ||
| 373 | }, | ||
| 374 | //传递参数 | ||
| 375 | propsParam: {}, | ||
| 376 | rules: { | ||
| 377 | 'jsydsyq.djyy': [ | ||
| 378 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 379 | ] | ||
| 380 | } | ||
| 381 | }; | ||
| 382 | }, | ||
| 383 | methods: { | ||
| 384 | /** | ||
| 385 | * @description: 更新土地用途信息 | ||
| 386 | * @param {*} val | ||
| 387 | * @author: renchao | ||
| 388 | */ | ||
| 389 | upDateTdytxxList (val) { | ||
| 390 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
| 391 | this.key++; | ||
| 392 | }, | ||
| 393 | /** | ||
| 394 | * @description: 更新权利人信息 | ||
| 395 | * @param {*} val | ||
| 396 | * @author: renchao | ||
| 397 | */ | ||
| 398 | upDateQlrxxList (val) { | ||
| 399 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 400 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 401 | this.czrOptions = this.ruleForm.qlrList; | ||
| 402 | } | ||
| 403 | this.num = 0 | ||
| 404 | this.ruleForm.qlrList.forEach(item => { | ||
| 405 | if (item.id == this.czr) { | ||
| 406 | this.num++ | ||
| 407 | } | ||
| 408 | }) | ||
| 409 | if (this.num == 0) { | ||
| 410 | this.czr = '' | ||
| 411 | } | ||
| 412 | }, | ||
| 413 | /** | ||
| 414 | * @description: 是否持证人变化 | ||
| 415 | * @param {*} val | ||
| 416 | * @author: renchao | ||
| 417 | */ | ||
| 418 | updaterow () { | ||
| 419 | this.czr = ""; | ||
| 420 | }, | ||
| 421 | /** | ||
| 422 | * @description: onSubmit | ||
| 423 | * @author: renchao | ||
| 424 | */ | ||
| 425 | onSubmit () { | ||
| 426 | let that = this; | ||
| 427 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
| 428 | if (arr.length > 0) { | ||
| 429 | this.$message({ | ||
| 430 | showClose: true, | ||
| 431 | message: "土地用途不能为空", | ||
| 432 | type: "error", | ||
| 433 | }); | ||
| 434 | return false; | ||
| 435 | } | ||
| 436 | if (this.ruleForm.qlrList.length == 0) { | ||
| 437 | this.$message({ | ||
| 438 | showClose: true, | ||
| 439 | message: "请确认权利人信息", | ||
| 440 | type: "error", | ||
| 441 | }); | ||
| 442 | return false; | ||
| 443 | } | ||
| 444 | |||
| 445 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 446 | if (this.ruleForm.qlrList.length > 1) { | ||
| 447 | this.$message({ | ||
| 448 | showClose: true, | ||
| 449 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 450 | type: "error", | ||
| 451 | }); | ||
| 452 | return false; | ||
| 453 | } | ||
| 454 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 455 | } else { | ||
| 456 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 457 | this.$message({ | ||
| 458 | showClose: true, | ||
| 459 | message: | ||
| 460 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 461 | type: "error", | ||
| 462 | }); | ||
| 463 | return false; | ||
| 464 | } | ||
| 465 | //是否分别持证 | ||
| 466 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 467 | //是 | ||
| 468 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 469 | item.sfczr = "1"; | ||
| 470 | }); | ||
| 471 | } else { | ||
| 472 | if (that.czr === '') { | ||
| 473 | that.$message({ | ||
| 474 | showClose: true, | ||
| 475 | message: "请选择持证人", | ||
| 476 | type: "error", | ||
| 477 | }); | ||
| 478 | return false; | ||
| 479 | } | ||
| 480 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 481 | if (item.id == that.czr) { | ||
| 482 | item.sfczr = "1"; | ||
| 483 | } else { | ||
| 484 | item.sfczr = "0"; | ||
| 485 | } | ||
| 486 | }) | ||
| 487 | } | ||
| 488 | } | ||
| 489 | this.$refs['ruleForm'].validate((valid) => { | ||
| 490 | if (valid) { | ||
| 491 | that.$store.dispatch("user/refreshPage", false) | ||
| 492 | saveData(this.ruleForm).then((res) => { | ||
| 493 | if (res.code === 200) { | ||
| 494 | that.$message({ | ||
| 495 | showClose: true, | ||
| 496 | message: "保存成功!", | ||
| 497 | type: "success" | ||
| 498 | }) | ||
| 499 | that.$store.dispatch("user/refreshPage", true) | ||
| 500 | } else { | ||
| 501 | that.$message({ | ||
| 502 | showClose: true, | ||
| 503 | message: res.message, | ||
| 504 | type: "error" | ||
| 505 | }) | ||
| 506 | } | ||
| 507 | }) | ||
| 508 | } else { | ||
| 509 | this.$message({ | ||
| 510 | showClose: true, | ||
| 511 | message: "请输入登记原因", | ||
| 512 | type: "error" | ||
| 513 | }) | ||
| 514 | return false | ||
| 515 | } | ||
| 516 | }) | ||
| 517 | }, | ||
| 518 | /** | ||
| 519 | * @description: compare | ||
| 520 | * @author: renchao | ||
| 521 | */ | ||
| 522 | compare () { | ||
| 523 | this.$popupDialog( | ||
| 524 | this.ruleForm.qlxx.qllxmc, | ||
| 525 | "registerBook/comparison", | ||
| 526 | { | ||
| 527 | bsmQlxx: this.ruleForm.qlxx.bsmQlxx, | ||
| 528 | dqqllx: "JSYDSYQ", | ||
| 529 | }, | ||
| 530 | "80%", | ||
| 531 | true | ||
| 532 | ); | ||
| 533 | }, | ||
| 534 | }, | ||
| 535 | }; | ||
| 536 | </script> | ||
| 537 | <style scoped lang="scss"> | ||
| 538 | @import "~@/styles/public.scss"; | ||
| 539 | @import "~@/styles/slxx/slxx.scss"; | ||
| 540 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: 房屋多幢受理信息 | ||
| 3 | * @Autor: ssq | ||
| 4 | * @LastEditTime: 2024-01-31 10:15:25 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form | ||
| 9 | :model="ruleForm" | ||
| 10 | :rules="rules" | ||
| 11 | v-Loading="loading" | ||
| 12 | ref="ruleForm" | ||
| 13 | :label-position="flag ? 'top' : ''" | ||
| 14 | :inline="flag" | ||
| 15 | label-width="190px"> | ||
| 16 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 17 | <div class="slxx_title title-block"> | ||
| 18 | 申请业务信息 | ||
| 19 | <div class="triangle"></div> | ||
| 20 | </div> | ||
| 21 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item label="业务号:"> | ||
| 24 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="8"> | ||
| 28 | <el-form-item label="受理人员:"> | ||
| 29 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | <el-col :span="8"> | ||
| 33 | <el-form-item label="受理时间:"> | ||
| 34 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 35 | </el-form-item> | ||
| 36 | </el-col> | ||
| 37 | </el-row> | ||
| 38 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 39 | <el-col :span="8"> | ||
| 40 | <el-form-item label="权利类型:"> | ||
| 41 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | <el-col :span="8"> | ||
| 45 | <el-form-item label="登记类型:"> | ||
| 46 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | <el-col :span="8"> | ||
| 50 | <el-form-item label="登记情形:"> | ||
| 51 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | </el-row> | ||
| 55 | <div class="slxx_title title-block"> | ||
| 56 | <el-row> | ||
| 57 | <el-col :span="20"> | ||
| 58 | 不动产单元情况 | ||
| 59 | </el-col> | ||
| 60 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
| 61 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 62 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 63 | <el-radio label="1">是</el-radio> | ||
| 64 | <el-radio label="0">否</el-radio> | ||
| 65 | </el-radio-group> | ||
| 66 | </el-form-item> | ||
| 67 | </el-col> | ||
| 68 | </el-row> | ||
| 69 | <div class="triangle"></div> | ||
| 70 | </div> | ||
| 71 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 72 | <el-col :span="8"> | ||
| 73 | <el-form-item label="不动产单元号:"> | ||
| 74 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 75 | </el-form-item> | ||
| 76 | </el-col> | ||
| 77 | <el-col :span="16"> | ||
| 78 | <el-form-item label="坐落:"> | ||
| 79 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
| 80 | </el-form-item> | ||
| 81 | </el-col> | ||
| 82 | </el-row> | ||
| 83 | <el-row :gutter="10"> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item label="发包方:"> | ||
| 86 | <el-input v-model="ruleForm.lq.fbf" :disabled="!viewEdit"></el-input> | ||
| 87 | </el-form-item> | ||
| 88 | </el-col> | ||
| 89 | <el-col :span="8"> | ||
| 90 | <el-form-item label="发包方代码:"> | ||
| 91 | <el-input v-model="ruleForm.lq.fbfdm" :disabled="!viewEdit"></el-input> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | <el-col :span="8"> | ||
| 95 | <el-form-item label="使用权(承包)面积:"> | ||
| 96 | <el-input v-model="ruleForm.lq.syqmj" :disabled="!viewEdit"></el-input> | ||
| 97 | </el-form-item> | ||
| 98 | </el-col> | ||
| 99 | </el-row> | ||
| 100 | <el-row :gutter="10"> | ||
| 101 | <el-col :span="8"> | ||
| 102 | <el-form-item label="林地所有权性质:"> | ||
| 103 | <el-select v-model="ruleForm.lq.ldsyqxz" :disabled="!viewEdit"> | ||
| 104 | <el-option | ||
| 105 | v-for="item in dictData['A45']" | ||
| 106 | :key="item.dcode" | ||
| 107 | :label="item.dname" | ||
| 108 | :value="item.dcode"> | ||
| 109 | </el-option> | ||
| 110 | </el-select> | ||
| 111 | </el-form-item> | ||
| 112 | </el-col> | ||
| 113 | <el-col :span="8"> | ||
| 114 | <el-form-item label="森林类别:"> | ||
| 115 | <el-input v-model="ruleForm.lq.sllb" :disabled="!viewEdit"></el-input> | ||
| 116 | </el-form-item> | ||
| 117 | </el-col> | ||
| 118 | <el-col :span="8"> | ||
| 119 | <el-form-item label="主要树种:"> | ||
| 120 | <el-input v-model="ruleForm.lq.zysz" :disabled="!viewEdit"></el-input> | ||
| 121 | </el-form-item> | ||
| 122 | </el-col> | ||
| 123 | </el-row> | ||
| 124 | <el-row :gutter="10"> | ||
| 125 | <el-col :span="8"> | ||
| 126 | <el-form-item label="株数:"> | ||
| 127 | <el-input v-model="ruleForm.lq.zs" :disabled="!viewEdit"></el-input> | ||
| 128 | </el-form-item> | ||
| 129 | </el-col> | ||
| 130 | <el-col :span="8"> | ||
| 131 | <el-form-item label="林种:"> | ||
| 132 | <el-select v-model="ruleForm.lq.lz" :disabled="!viewEdit"> | ||
| 133 | <el-option | ||
| 134 | v-for="item in dictData['A26']" | ||
| 135 | :key="item.dcode" | ||
| 136 | :label="item.dname" | ||
| 137 | :value="item.dcode"> | ||
| 138 | </el-option> | ||
| 139 | </el-select> | ||
| 140 | </el-form-item> | ||
| 141 | </el-col> | ||
| 142 | <el-col :span="8"> | ||
| 143 | <el-form-item label="起源:"> | ||
| 144 | <el-select v-model="ruleForm.lq.qy" :disabled="!viewEdit"> | ||
| 145 | <el-option | ||
| 146 | v-for="item in dictData['A52']" | ||
| 147 | :key="item.dcode" | ||
| 148 | :label="item.dname" | ||
| 149 | :value="item.dcode"> | ||
| 150 | </el-option> | ||
| 151 | </el-select> | ||
| 152 | </el-form-item> | ||
| 153 | </el-col> | ||
| 154 | </el-row> | ||
| 155 | <el-row :gutter="10"> | ||
| 156 | <el-col :span="8"> | ||
| 157 | <el-form-item label="造林年度:"> | ||
| 158 | <el-date-picker | ||
| 159 | class="width100" | ||
| 160 | value-format="yyyy" | ||
| 161 | v-model="ruleForm.lq.zlnd" | ||
| 162 | :disabled="!viewEdit" | ||
| 163 | type="year"> | ||
| 164 | </el-date-picker> | ||
| 165 | </el-form-item> | ||
| 166 | </el-col> | ||
| 167 | <el-col :span="8"> | ||
| 168 | <el-form-item label="林班:"> | ||
| 169 | <el-input v-model="ruleForm.lq.lb" :disabled="!viewEdit"></el-input> | ||
| 170 | </el-form-item> | ||
| 171 | </el-col> | ||
| 172 | <el-col :span="8"> | ||
| 173 | <el-form-item label="小班:"> | ||
| 174 | <el-input v-model="ruleForm.lq.xb" :disabled="!viewEdit"></el-input> | ||
| 175 | </el-form-item> | ||
| 176 | </el-col> | ||
| 177 | </el-row> | ||
| 178 | <el-row :gutter="10"> | ||
| 179 | <el-col :span="8"> | ||
| 180 | <el-form-item label="小地名:"> | ||
| 181 | <el-input v-model="ruleForm.lq.xdm" :disabled="!viewEdit"></el-input> | ||
| 182 | </el-form-item> | ||
| 183 | </el-col> | ||
| 184 | <el-col :span="8"> | ||
| 185 | <el-form-item label="林地使用(承包)起始时间:"> | ||
| 186 | <el-date-picker | ||
| 187 | class="width100" | ||
| 188 | value-format="yyyy-MM-dd HH:mm:ss" | ||
| 189 | v-model="ruleForm.lq.ldsyqssj" | ||
| 190 | :disabled="!viewEdit" | ||
| 191 | type="date"></el-date-picker> | ||
| 192 | </el-form-item> | ||
| 193 | </el-col> | ||
| 194 | <el-col :span="8"> | ||
| 195 | <el-form-item label="林地使用(承包)结束时间:"> | ||
| 196 | <el-date-picker | ||
| 197 | class="width100" | ||
| 198 | value-format="yyyy-MM-dd HH:mm:ss" | ||
| 199 | v-model="ruleForm.lq.ldsyjssj" | ||
| 200 | :disabled="!viewEdit" | ||
| 201 | type="date"></el-date-picker> | ||
| 202 | </el-form-item> | ||
| 203 | </el-col> | ||
| 204 | </el-row> | ||
| 205 | <el-row :gutter="10"> | ||
| 206 | <el-col :span="8"> | ||
| 207 | <el-form-item label="林地使用 (承包)期限:"> | ||
| 208 | <el-input v-model="ruleForm.lq.ldsyqx" :disabled="!viewEdit"></el-input> | ||
| 209 | </el-form-item> | ||
| 210 | </el-col> | ||
| 211 | </el-row> | ||
| 212 | <el-row :gutter="10"> | ||
| 213 | <el-col :span="24"> | ||
| 214 | <el-form-item label="附记:"> | ||
| 215 | <el-input | ||
| 216 | v-model="ruleForm.lq.fj" | ||
| 217 | :disabled="!viewEdit" | ||
| 218 | type="textarea" | ||
| 219 | maxlength="500" | ||
| 220 | show-word-limit></el-input> | ||
| 221 | </el-form-item> | ||
| 222 | </el-col> | ||
| 223 | </el-row> | ||
| 224 | <div class="slxx_title title-block"> | ||
| 225 | 权利人信息 | ||
| 226 | <div class="triangle"></div> | ||
| 227 | </div> | ||
| 228 | <el-row :gutter="10"> | ||
| 229 | <el-col :span="12" v-if="ruleForm.qlxx"> | ||
| 230 | <el-form-item label="共有方式:"> | ||
| 231 | <el-radio-group | ||
| 232 | :disabled="!viewEdit" | ||
| 233 | v-model="ruleForm.sldy.gyfs"> | ||
| 234 | <el-radio label="0">单独所有</el-radio> | ||
| 235 | <el-radio label="1">共同共有</el-radio> | ||
| 236 | <el-radio label="2">按份所有</el-radio> | ||
| 237 | <el-radio label="3">其它共有</el-radio> | ||
| 238 | </el-radio-group> | ||
| 239 | </el-form-item> | ||
| 240 | </el-col> | ||
| 241 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 242 | <el-form-item label="是否分别持证:"> | ||
| 243 | <el-radio-group | ||
| 244 | v-model="ruleForm.sldy.sqfbcz" | ||
| 245 | :disabled="!viewEdit" | ||
| 246 | @input="updaterow()"> | ||
| 247 | <el-radio :label="1">是</el-radio> | ||
| 248 | <el-radio :label="0">否</el-radio> | ||
| 249 | </el-radio-group> | ||
| 250 | </el-form-item> | ||
| 251 | </el-col> | ||
| 252 | <el-col | ||
| 253 | :span="6" | ||
| 254 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 255 | <el-form-item label="持证人:"> | ||
| 256 | <el-select | ||
| 257 | v-model="czr" | ||
| 258 | placeholder="持证人" | ||
| 259 | :disabled="!viewEdit"> | ||
| 260 | <el-option | ||
| 261 | v-for="(item, index) in czrOptions" | ||
| 262 | :key="index" | ||
| 263 | :label="item.sqrmc" | ||
| 264 | :value="item.id"> | ||
| 265 | </el-option> | ||
| 266 | </el-select> | ||
| 267 | </el-form-item> | ||
| 268 | </el-col> | ||
| 269 | </el-row> | ||
| 270 | <qlrCommonTable | ||
| 271 | @upDateQlrxxList="upDateQlrxxList" | ||
| 272 | :tableData="ruleForm.qlrList" | ||
| 273 | :disabled="viewEdit" | ||
| 274 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 275 | |||
| 276 | <div v-if="ruleForm.ywrList && ruleForm.sldy.djlx == '200'"> | ||
| 277 | <div class="slxx_title title-block"> | ||
| 278 | 义务人信息 | ||
| 279 | <div class="triangle"></div> | ||
| 280 | </div> | ||
| 281 | <ywrCommonTable | ||
| 282 | v-if="ruleForm.qlxx" | ||
| 283 | :disabled="viewEdit" | ||
| 284 | @upDateQlrxxList="upDateYwrxxList" | ||
| 285 | :tableData="ruleForm.ywrList" | ||
| 286 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 287 | </div> | ||
| 288 | <div class="slxx_title title-block"> | ||
| 289 | 登记原因 | ||
| 290 | <div class="triangle"></div> | ||
| 291 | </div> | ||
| 292 | <el-row :gutter="10"> | ||
| 293 | <el-col> | ||
| 294 | <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="lq.djyy"> | ||
| 295 | <el-input | ||
| 296 | class="textArea" | ||
| 297 | type="textarea" | ||
| 298 | maxlength="500" | ||
| 299 | show-word-limit | ||
| 300 | :disabled="!viewEdit" | ||
| 301 | v-model="ruleForm.lq.djyy"> | ||
| 302 | </el-input> | ||
| 303 | </el-form-item> | ||
| 304 | </el-col> | ||
| 305 | </el-row> | ||
| 306 | </div> | ||
| 307 | <el-row class="btn" v-if="isSave"> | ||
| 308 | <el-form-item> | ||
| 309 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 310 | </el-form-item> | ||
| 311 | </el-row> | ||
| 312 | </el-form> | ||
| 313 | </div> | ||
| 314 | </template> | ||
| 315 | <script> | ||
| 316 | import { mapGetters } from "vuex"; | ||
| 317 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 318 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 319 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 320 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
| 321 | import { Init, saveData } from "@/api/workflow/lqFlow.js"; | ||
| 322 | export default { | ||
| 323 | mixins: [ywmix], | ||
| 324 | mounted () { | ||
| 325 | let that = this; | ||
| 326 | this.loading = true | ||
| 327 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 328 | this.propsParam = this.$attrs; | ||
| 329 | var formdata = new FormData(); | ||
| 330 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 331 | formdata.append("djlx", this.propsParam.djlx); | ||
| 332 | formdata.append("isEdit", this.viewEdit); | ||
| 333 | Init(formdata).then((res) => { | ||
| 334 | setTimeout(() => { | ||
| 335 | this.loading = false | ||
| 336 | }, 200) | ||
| 337 | if (res.code === 200 && res.result) { | ||
| 338 | that.ruleForm = { | ||
| 339 | ...res.result, | ||
| 340 | ...res.result.qlxxdatas | ||
| 341 | }; | ||
| 342 | that.ruleForm.qlrList.forEach(item => { | ||
| 343 | item.id = item.bsmSqr | ||
| 344 | if (item.sfczr == '1') { | ||
| 345 | that.czr = item.bsmSqr | ||
| 346 | } | ||
| 347 | }) | ||
| 348 | that.czrOptions = that.ruleForm.qlrList; | ||
| 349 | that.ruleForm.lq.zlnd ? that.$set(that.ruleForm.lq, 'zlnd', that.ruleForm.lq.zlnd.toString()) : that.$set(that.ruleForm.lq, 'zlnd', "") | ||
| 350 | that.isSave = that.viewEdit | ||
| 351 | } else { | ||
| 352 | that.isSave = false | ||
| 353 | that.$confirm(res.message, '提示', { | ||
| 354 | cancelButtonText: '取消', | ||
| 355 | showConfirmButton: false, | ||
| 356 | type: 'warning' | ||
| 357 | }) | ||
| 358 | } | ||
| 359 | }).catch(() => { | ||
| 360 | this.loading = false | ||
| 361 | this.isSave = false | ||
| 362 | }) | ||
| 363 | }, | ||
| 364 | components: { qlrCommonTable, tdytTable, ywrCommonTable }, | ||
| 365 | computed: { | ||
| 366 | ...mapGetters(["dictData", "flag"]) | ||
| 367 | }, | ||
| 368 | data () { | ||
| 369 | return { | ||
| 370 | isSave: true, | ||
| 371 | loading: false, | ||
| 372 | disabled: true, | ||
| 373 | tdytOption: [], | ||
| 374 | czrOptions: [], | ||
| 375 | czr: "", | ||
| 376 | ruleForm: { | ||
| 377 | lq: { | ||
| 378 | }, | ||
| 379 | flow: { | ||
| 380 | ywh: "", | ||
| 381 | }, | ||
| 382 | qlxx: { | ||
| 383 | mj: "", | ||
| 384 | }, | ||
| 385 | sldy: { | ||
| 386 | gyfs: "", | ||
| 387 | }, | ||
| 388 | slsq: {}, | ||
| 389 | fdcq2: { | ||
| 390 | zyjzmj: "", | ||
| 391 | ftjzmj: "", | ||
| 392 | }, | ||
| 393 | zdjbxx: { | ||
| 394 | ghytmc: "", | ||
| 395 | }, | ||
| 396 | }, | ||
| 397 | //传递参数 | ||
| 398 | propsParam: this.$attrs, | ||
| 399 | //表单是否可操作 | ||
| 400 | viewEdit: true, | ||
| 401 | rules: { | ||
| 402 | 'lq.djyy': [ | ||
| 403 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 404 | ] | ||
| 405 | } | ||
| 406 | }; | ||
| 407 | }, | ||
| 408 | methods: { | ||
| 409 | /** | ||
| 410 | * @description: 更新土地用途信息 | ||
| 411 | * @param {*} val | ||
| 412 | * @author: renchao | ||
| 413 | */ | ||
| 414 | upDateTdytxxList (val) { | ||
| 415 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
| 416 | }, | ||
| 417 | /** | ||
| 418 | * @description: 是否持证人变化 | ||
| 419 | * @param {*} val | ||
| 420 | * @author: renchao | ||
| 421 | */ | ||
| 422 | updaterow () { | ||
| 423 | this.czr = ""; | ||
| 424 | }, | ||
| 425 | /** | ||
| 426 | * @description: 更新权利人信息 | ||
| 427 | * @param {*} val | ||
| 428 | * @author: renchao | ||
| 429 | */ | ||
| 430 | upDateQlrxxList (val) { | ||
| 431 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 432 | this.czrOptions = this.ruleForm.qlrList; | ||
| 433 | this.num = 0 | ||
| 434 | this.ruleForm.qlrList.forEach(item => { | ||
| 435 | if (item.id == this.czr) { | ||
| 436 | this.num++ | ||
| 437 | } | ||
| 438 | }) | ||
| 439 | if (this.num == 0) { | ||
| 440 | this.czr = '' | ||
| 441 | } | ||
| 442 | }, | ||
| 443 | /** | ||
| 444 | * @description: 更新业务人信息 | ||
| 445 | * @param {*} val | ||
| 446 | * @author: renchao | ||
| 447 | */ | ||
| 448 | upDateYwrxxList (val) { | ||
| 449 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 450 | }, | ||
| 451 | /** | ||
| 452 | * @description: onSubmit | ||
| 453 | * @author: renchao | ||
| 454 | */ | ||
| 455 | onSubmit () { | ||
| 456 | let that = this; | ||
| 457 | if (this.ruleForm.qlrList.length == 0) { | ||
| 458 | this.$message({ | ||
| 459 | showClose: true, | ||
| 460 | message: "请确认权利人信息", | ||
| 461 | type: "error", | ||
| 462 | }); | ||
| 463 | return false; | ||
| 464 | } | ||
| 465 | |||
| 466 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 467 | if (this.ruleForm.qlrList.length > 1) { | ||
| 468 | this.$message({ | ||
| 469 | showClose: true, | ||
| 470 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 471 | type: "error", | ||
| 472 | }); | ||
| 473 | return false; | ||
| 474 | } | ||
| 475 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 476 | } else { | ||
| 477 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 478 | this.$message({ | ||
| 479 | showClose: true, | ||
| 480 | message: | ||
| 481 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 482 | type: "error", | ||
| 483 | }); | ||
| 484 | return false; | ||
| 485 | } | ||
| 486 | //是否分别持证 | ||
| 487 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 488 | //是 | ||
| 489 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 490 | item.sfczr = "1"; | ||
| 491 | }); | ||
| 492 | } else { | ||
| 493 | if (that.czr === '') { | ||
| 494 | that.$message({ | ||
| 495 | showClose: true, | ||
| 496 | message: "请选择持证人", | ||
| 497 | type: "error", | ||
| 498 | }); | ||
| 499 | return false; | ||
| 500 | } | ||
| 501 | this.ruleForm.qlrList.forEach(item => { | ||
| 502 | if (item.id == that.czr) { | ||
| 503 | item.sfczr = "1" | ||
| 504 | } else { | ||
| 505 | item.sfczr = "0" | ||
| 506 | } | ||
| 507 | }) | ||
| 508 | } | ||
| 509 | } | ||
| 510 | this.$refs['ruleForm'].validate((valid) => { | ||
| 511 | if (valid) { | ||
| 512 | that.$store.dispatch("user/refreshPage", false); | ||
| 513 | saveData(that.ruleForm).then((res) => { | ||
| 514 | if (res.code === 200) { | ||
| 515 | that.$message({ | ||
| 516 | showClose: true, | ||
| 517 | message: "保存成功!", | ||
| 518 | type: "success", | ||
| 519 | }); | ||
| 520 | that.$store.dispatch("user/refreshPage", true); | ||
| 521 | } else { | ||
| 522 | that.$message({ | ||
| 523 | showClose: true, | ||
| 524 | message: res.message, | ||
| 525 | type: "error", | ||
| 526 | }); | ||
| 527 | } | ||
| 528 | }) | ||
| 529 | } else { | ||
| 530 | this.$message({ | ||
| 531 | showClose: true, | ||
| 532 | message: "请输入登记原因", | ||
| 533 | type: "error" | ||
| 534 | }) | ||
| 535 | return false | ||
| 536 | } | ||
| 537 | }) | ||
| 538 | } | ||
| 539 | } | ||
| 540 | }; | ||
| 541 | </script> | ||
| 542 | <style scoped lang="scss"> | ||
| 543 | @import "~@/styles/public.scss"; | ||
| 544 | |||
| 545 | /deep/.el-form { | ||
| 546 | display: flex; | ||
| 547 | flex-direction: column; | ||
| 548 | height: calc(100vh - 130px); | ||
| 549 | } | ||
| 550 | |||
| 551 | /deep/.el-form-item__label { | ||
| 552 | padding: 0; | ||
| 553 | } | ||
| 554 | |||
| 555 | /deep/.el-radio { | ||
| 556 | margin-right: 10px; | ||
| 557 | } | ||
| 558 | |||
| 559 | /deep/.el-select { | ||
| 560 | width: 100%; | ||
| 561 | } | ||
| 562 | |||
| 563 | /deep/.el-form-item { | ||
| 564 | margin-bottom: 3px; | ||
| 565 | } | ||
| 566 | |||
| 567 | .marginBot0 { | ||
| 568 | margin-bottom: 0 !important; | ||
| 569 | } | ||
| 570 | |||
| 571 | .slxx { | ||
| 572 | box-sizing: border-box; | ||
| 573 | } | ||
| 574 | |||
| 575 | .slxx_con { | ||
| 576 | flex: 1; | ||
| 577 | height: 100%; | ||
| 578 | background-color: #ffffff; | ||
| 579 | overflow-y: auto; | ||
| 580 | padding-right: 3px; | ||
| 581 | overflow-x: hidden; | ||
| 582 | } | ||
| 583 | |||
| 584 | .submit_btn { | ||
| 585 | height: 50px; | ||
| 586 | } | ||
| 587 | |||
| 588 | .btn { | ||
| 589 | text-align: center; | ||
| 590 | padding-top: 10px; | ||
| 591 | height: 36px; | ||
| 592 | background-color: #ffffff; | ||
| 593 | padding: 5px 0; | ||
| 594 | } | ||
| 595 | |||
| 596 | .textArea { | ||
| 597 | /deep/.el-textarea__inner { | ||
| 598 | min-height: 90px !important; | ||
| 599 | } | ||
| 600 | } | ||
| 601 | |||
| 602 | /deep/.el-form-item__label { | ||
| 603 | padding-bottom: 0px; | ||
| 604 | } | ||
| 605 | </style> |
| 1 | <template> | ||
| 2 | <!-- 受理信息 --> | ||
| 3 | <div class="slxx"> | ||
| 4 | <el-form | ||
| 5 | :model="ruleForm" | ||
| 6 | :rules="rules" | ||
| 7 | v-Loading="loading" | ||
| 8 | ref="ruleForm" | ||
| 9 | :label-position="flag ? 'top' : ''" | ||
| 10 | :inline="flag" | ||
| 11 | label-width="120px"> | ||
| 12 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 13 | <div class="slxx_title title-block"> | ||
| 14 | 申请业务信息 | ||
| 15 | <div class="triangle"></div> | ||
| 16 | </div> | ||
| 17 | <el-row :gutter="10"> | ||
| 18 | <el-col :span="8"> | ||
| 19 | <el-form-item label="业务号:"> | ||
| 20 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 21 | </el-form-item> | ||
| 22 | </el-col> | ||
| 23 | <el-col :span="8"> | ||
| 24 | <el-form-item label="受理人员:"> | ||
| 25 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 26 | </el-form-item> | ||
| 27 | </el-col> | ||
| 28 | <el-col :span="8"> | ||
| 29 | <el-form-item label="受理时间:"> | ||
| 30 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 31 | </el-form-item> | ||
| 32 | </el-col> | ||
| 33 | </el-row> | ||
| 34 | <el-row :gutter="10"> | ||
| 35 | <el-col :span="8"> | ||
| 36 | <el-form-item label="权利类型:"> | ||
| 37 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 38 | </el-form-item> | ||
| 39 | </el-col> | ||
| 40 | <el-col :span="8"> | ||
| 41 | <el-form-item label="登记类型:"> | ||
| 42 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 43 | </el-form-item> | ||
| 44 | </el-col> | ||
| 45 | <el-col :span="8"> | ||
| 46 | <el-form-item label="登记情形:"> | ||
| 47 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 48 | </el-form-item> | ||
| 49 | </el-col> | ||
| 50 | </el-row> | ||
| 51 | <div class="slxx_title title-block"> | ||
| 52 | <el-row> | ||
| 53 | <el-col :span="20"> | ||
| 54 | 不动产单元情况 | ||
| 55 | </el-col> | ||
| 56 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
| 57 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 58 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 59 | <el-radio label="1">是</el-radio> | ||
| 60 | <el-radio label="0">否</el-radio> | ||
| 61 | </el-radio-group> | ||
| 62 | </el-form-item> | ||
| 63 | </el-col> | ||
| 64 | </el-row> | ||
| 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 disabled v-model="ruleForm.zdjbxx.zddm"></el-input> | ||
| 71 | </el-form-item> | ||
| 72 | </el-col> | ||
| 73 | <el-col :span="8"> | ||
| 74 | <el-form-item label="不动产单元号:"> | ||
| 75 | <el-input disabled v-model="ruleForm.zdjbxx.bdcdyh"></el-input> | ||
| 76 | </el-form-item> | ||
| 77 | </el-col> | ||
| 78 | <el-col :span="8"> | ||
| 79 | <el-form-item label="权利性质:"> | ||
| 80 | <el-input disabled v-model="ruleForm.zdjbxx.qlxzmc"></el-input> | ||
| 81 | </el-form-item> | ||
| 82 | </el-col> | ||
| 83 | </el-row> | ||
| 84 | <el-row :gutter="10"> | ||
| 85 | <el-col :span="8"> | ||
| 86 | <el-form-item label="宗地面积:"> | ||
| 87 | <el-input disabled v-model="ruleForm.zdjbxx.zdmj"></el-input> | ||
| 88 | </el-form-item> | ||
| 89 | </el-col> | ||
| 90 | <el-col :span="8"> | ||
| 91 | <el-form-item label="土地用途:"> | ||
| 92 | <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input> | ||
| 93 | </el-form-item> | ||
| 94 | </el-col> | ||
| 95 | <el-col :span="8"> | ||
| 96 | <el-form-item label="权利设定方式:"> | ||
| 97 | <el-input disabled v-model="ruleForm.zdjbxx.qlsdfsmc"></el-input> | ||
| 98 | </el-form-item> | ||
| 99 | </el-col> | ||
| 100 | </el-row> | ||
| 101 | <el-row :gutter="10"> | ||
| 102 | <el-col :span="16"> | ||
| 103 | <el-form-item label="坐落:"> | ||
| 104 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
| 105 | </el-form-item> | ||
| 106 | </el-col> | ||
| 107 | </el-row> | ||
| 108 | <el-row :gutter="10"> | ||
| 109 | <el-col :span="8"> | ||
| 110 | <el-form-item label="发包方名称:"> | ||
| 111 | <el-input v-model="ruleForm.nydsyq.fbfmc"></el-input> | ||
| 112 | </el-form-item> | ||
| 113 | </el-col> | ||
| 114 | <el-col :span="8"> | ||
| 115 | <el-form-item label="发包方代码:"> | ||
| 116 | <el-input v-model="ruleForm.nydsyq.fbfdm"></el-input> | ||
| 117 | </el-form-item> | ||
| 118 | </el-col> | ||
| 119 | <el-col :span="8"> | ||
| 120 | <el-form-item label="土地所有权性质:"> | ||
| 121 | <el-select | ||
| 122 | v-model="ruleForm.nydsyq.tdsyqxzmc" | ||
| 123 | :disabled="!viewEdit" | ||
| 124 | class="width100" | ||
| 125 | filterable | ||
| 126 | clearable> | ||
| 127 | <el-option | ||
| 128 | v-for="item in dictData['A45']" | ||
| 129 | :key="item.dname" | ||
| 130 | :label="item.dname" | ||
| 131 | :value="item.dname"> | ||
| 132 | </el-option> | ||
| 133 | </el-select> | ||
| 134 | </el-form-item> | ||
| 135 | </el-col> | ||
| 136 | </el-row> | ||
| 137 | <el-row :gutter="10"> | ||
| 138 | <el-col :span="8"> | ||
| 139 | <el-form-item label="承包期限:"> | ||
| 140 | <el-input disabled v-model="ruleForm.nydsyq.cbqx"></el-input> | ||
| 141 | </el-form-item> | ||
| 142 | </el-col> | ||
| 143 | <el-col :span="16"> | ||
| 144 | <el-form-item label="承包起止时间:"> | ||
| 145 | <el-input disabled v-model="ruleForm.nydsyq.cbqzsj"></el-input> | ||
| 146 | </el-form-item> | ||
| 147 | </el-col> | ||
| 148 | </el-row> | ||
| 149 | <el-row :gutter="10"> | ||
| 150 | <el-col :span="8"> | ||
| 151 | <el-form-item label="水域滩涂类型:"> | ||
| 152 | <el-select | ||
| 153 | v-model="ruleForm.nydsyq.syttlx" | ||
| 154 | :disabled="!viewEdit" | ||
| 155 | class="width100" | ||
| 156 | filterable | ||
| 157 | clearable | ||
| 158 | @change="changeSyttlx"> | ||
| 159 | <el-option | ||
| 160 | v-for="item in dictData['A23']" | ||
| 161 | :key="item.dcode" | ||
| 162 | :label="item.dname" | ||
| 163 | :value="item.dcode"> | ||
| 164 | </el-option> | ||
| 165 | </el-select> | ||
| 166 | </el-form-item> | ||
| 167 | </el-col> | ||
| 168 | <el-col :span="8"> | ||
| 169 | <el-form-item label="养殖业方式:"> | ||
| 170 | <el-select | ||
| 171 | v-model="ruleForm.nydsyq.yzyfs" | ||
| 172 | :disabled="!viewEdit" | ||
| 173 | class="width100" | ||
| 174 | filterable | ||
| 175 | clearable | ||
| 176 | @change="changeYzyfs"> | ||
| 177 | <el-option | ||
| 178 | v-for="item in dictData['A24']" | ||
| 179 | :key="item.dcode" | ||
| 180 | :label="item.dname" | ||
| 181 | :value="item.dcode"> | ||
| 182 | </el-option> | ||
| 183 | </el-select> | ||
| 184 | </el-form-item> | ||
| 185 | </el-col> | ||
| 186 | <el-col :span="8"> | ||
| 187 | <el-form-item label="草原质量:"> | ||
| 188 | <el-input | ||
| 189 | v-model="ruleForm.nydsyq.cyzl" | ||
| 190 | :disabled="!viewEdit"></el-input> | ||
| 191 | </el-form-item> | ||
| 192 | </el-col> | ||
| 193 | </el-row> | ||
| 194 | <el-row :gutter="10"> | ||
| 195 | <el-col :span="8"> | ||
| 196 | <el-form-item label="适宜载畜量:"> | ||
| 197 | <el-input | ||
| 198 | v-model="ruleForm.nydsyq.syzcl" | ||
| 199 | :disabled="!viewEdit" | ||
| 200 | oninput="value=value.replace(/[^\d.]/g,'')"></el-input> | ||
| 201 | </el-form-item> | ||
| 202 | </el-col> | ||
| 203 | <el-col :span="8"> | ||
| 204 | <el-form-item label="用地用海分类:"> | ||
| 205 | <el-select | ||
| 206 | v-model="ruleForm.nydsyq.ydyhfl" | ||
| 207 | class="width100" | ||
| 208 | :disabled="!viewEdit" | ||
| 209 | filterable | ||
| 210 | clearable | ||
| 211 | @change="changeYdyhfl"> | ||
| 212 | <el-option | ||
| 213 | v-for="item in dictData['A51']" | ||
| 214 | :key="item.dcode" | ||
| 215 | :label="item.dname" | ||
| 216 | :value="item.dcode"> | ||
| 217 | </el-option> | ||
| 218 | </el-select> | ||
| 219 | </el-form-item> | ||
| 220 | </el-col> | ||
| 221 | <el-col :span="8"> | ||
| 222 | <el-form-item label="土地承包合同:"> | ||
| 223 | <el-input | ||
| 224 | v-model="ruleForm.nydsyq.tdcbht" | ||
| 225 | :disabled="!viewEdit"></el-input> | ||
| 226 | </el-form-item> | ||
| 227 | </el-col> | ||
| 228 | </el-row> | ||
| 229 | <el-row :gutter="10"> | ||
| 230 | <el-col> | ||
| 231 | <el-form-item label="附记:" prop="fj"> | ||
| 232 | <el-input | ||
| 233 | type="textarea" | ||
| 234 | maxlength="500" | ||
| 235 | show-word-limit | ||
| 236 | v-model="ruleForm.nydsyq.fj" | ||
| 237 | :disabled="!viewEdit"></el-input> | ||
| 238 | </el-form-item> | ||
| 239 | </el-col> | ||
| 240 | </el-row> | ||
| 241 | <div class="slxx_title title-block"> | ||
| 242 | 权利人信息 | ||
| 243 | <div class="triangle"></div> | ||
| 244 | </div> | ||
| 245 | <el-row :gutter="10"> | ||
| 246 | <el-col :span="12"> | ||
| 247 | <el-form-item label="共有方式:"> | ||
| 248 | <el-radio-group | ||
| 249 | v-model="ruleForm.sldy.gyfs" | ||
| 250 | :disabled="!viewEdit"> | ||
| 251 | <el-radio label="0">单独所有</el-radio> | ||
| 252 | <el-radio label="1">共同共有</el-radio> | ||
| 253 | <el-radio label="2">按份所有</el-radio> | ||
| 254 | <el-radio label="3">其它共有</el-radio> | ||
| 255 | </el-radio-group> | ||
| 256 | </el-form-item> | ||
| 257 | </el-col> | ||
| 258 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 259 | <el-form-item label="是否分别持证:"> | ||
| 260 | <el-radio-group | ||
| 261 | v-model="ruleForm.sldy.sqfbcz" | ||
| 262 | :disabled="!viewEdit" | ||
| 263 | @input="updaterow()"> | ||
| 264 | <el-radio :label="1">是</el-radio> | ||
| 265 | <el-radio :label="0">否</el-radio> | ||
| 266 | </el-radio-group> | ||
| 267 | </el-form-item> | ||
| 268 | </el-col> | ||
| 269 | <el-col | ||
| 270 | :span="6" | ||
| 271 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 272 | <el-form-item label="持证人:"> | ||
| 273 | <el-select | ||
| 274 | v-model="czr" | ||
| 275 | placeholder="持证人" | ||
| 276 | :disabled="!viewEdit"> | ||
| 277 | <el-option | ||
| 278 | v-for="(item,index) in czrOptions" | ||
| 279 | :key="index" | ||
| 280 | :label="item.sqrmc" | ||
| 281 | :value="item.id"> | ||
| 282 | </el-option> | ||
| 283 | </el-select> | ||
| 284 | </el-form-item> | ||
| 285 | </el-col> | ||
| 286 | </el-row> | ||
| 287 | <qlrCommonTable | ||
| 288 | :tableData="ruleForm.qlrList" | ||
| 289 | @upDateQlrxxList="upDateQlrxxList" | ||
| 290 | :disabled="viewEdit" | ||
| 291 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 292 | <div class="slxx_title title-block"> | ||
| 293 | 家庭成员 | ||
| 294 | <div class="triangle"></div> | ||
| 295 | </div> | ||
| 296 | <JtcyTable | ||
| 297 | :tableData="ruleForm.jtcyList" | ||
| 298 | @upDateJtcyList="upDateJtcyList" | ||
| 299 | :disabled="viewEdit" | ||
| 300 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 301 | <div class="slxx_title title-block"> | ||
| 302 | 登记原因 | ||
| 303 | <div class="triangle"></div> | ||
| 304 | </div> | ||
| 305 | <el-row :gutter="10"> | ||
| 306 | <el-col> | ||
| 307 | <el-form-item label="登记原因:" prop="nydsyq.djyy"> | ||
| 308 | <el-input | ||
| 309 | class="textArea" | ||
| 310 | type="textarea" | ||
| 311 | maxlength="500" | ||
| 312 | show-word-limit | ||
| 313 | :disabled="!viewEdit" | ||
| 314 | v-model="ruleForm.nydsyq.djyy"> | ||
| 315 | </el-input> | ||
| 316 | </el-form-item> | ||
| 317 | </el-col> | ||
| 318 | </el-row> | ||
| 319 | </div> | ||
| 320 | <el-row class="btn" v-if="isSave"> | ||
| 321 | <el-form-item> | ||
| 322 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 323 | </el-form-item> | ||
| 324 | </el-row> | ||
| 325 | </el-form> | ||
| 326 | </div> | ||
| 327 | </template> | ||
| 328 | <script> | ||
| 329 | import { mapGetters } from "vuex"; | ||
| 330 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 331 | import { Init, saveData } from "@/api/workflow/nydsyqFlow.js"; | ||
| 332 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 333 | import JtcyTable from "@/views/workflow/components/JtcyTable"; | ||
| 334 | export default { | ||
| 335 | mixins: [ywmix], | ||
| 336 | mounted () { | ||
| 337 | let that = this | ||
| 338 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 339 | this.propsParam = this.$attrs; | ||
| 340 | this.loading = true | ||
| 341 | var formdata = new FormData(); | ||
| 342 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 343 | formdata.append("djlx", this.propsParam.djlx); | ||
| 344 | formdata.append("isEdit", this.viewEdit); | ||
| 345 | Init(formdata).then((res) => { | ||
| 346 | setTimeout(() => { | ||
| 347 | that.loading = false | ||
| 348 | }, 200) | ||
| 349 | if (res.code === 200) { | ||
| 350 | that.ruleForm = res.result; | ||
| 351 | that.ruleForm.qlrList.forEach((item) => { | ||
| 352 | item.id = item.bsmSqr | ||
| 353 | if (item.sfczr == '1') { | ||
| 354 | that.czr = item.bsmSqr | ||
| 355 | } | ||
| 356 | }) | ||
| 357 | that.czrOptions = that.ruleForm.qlrList; | ||
| 358 | that.isSave = that.viewEdit | ||
| 359 | } else { | ||
| 360 | that.isSave = false | ||
| 361 | that.$confirm(res.message, '提示', { | ||
| 362 | cancelButtonText: '取消', | ||
| 363 | showConfirmButton: false, | ||
| 364 | type: 'warning' | ||
| 365 | }) | ||
| 366 | } | ||
| 367 | }).catch(() => { | ||
| 368 | this.loading = false | ||
| 369 | this.isSave = false | ||
| 370 | }) | ||
| 371 | }, | ||
| 372 | components: { qlrCommonTable, JtcyTable }, | ||
| 373 | computed: { | ||
| 374 | ...mapGetters(["dictData", "flag"]), | ||
| 375 | }, | ||
| 376 | data () { | ||
| 377 | return { | ||
| 378 | isSave: true, | ||
| 379 | // 键名转换,方法默认是label和children进行树状渲染 | ||
| 380 | normalizer (node) { | ||
| 381 | //方法 | ||
| 382 | if (node.children == null || node.children == "null") { | ||
| 383 | delete node.children; | ||
| 384 | } | ||
| 385 | return { | ||
| 386 | id: node.dcode, | ||
| 387 | label: node.dname, | ||
| 388 | }; | ||
| 389 | }, | ||
| 390 | loading: false, | ||
| 391 | disabled: true, | ||
| 392 | //持证人选项 | ||
| 393 | czrOptions: [], | ||
| 394 | czr: "", | ||
| 395 | ruleForm: { | ||
| 396 | zdjbxx: { | ||
| 397 | ghytmc: "", | ||
| 398 | }, | ||
| 399 | }, | ||
| 400 | //传递参数 | ||
| 401 | propsParam: {}, | ||
| 402 | //表单是否可操作 | ||
| 403 | viewEdit: true, | ||
| 404 | rules: { | ||
| 405 | 'nydsyq.djyy': [ | ||
| 406 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 407 | ] | ||
| 408 | }, | ||
| 409 | }; | ||
| 410 | }, | ||
| 411 | methods: { | ||
| 412 | /** | ||
| 413 | * @description: onSubmit | ||
| 414 | * @author: renchao | ||
| 415 | */ | ||
| 416 | onSubmit () { | ||
| 417 | let that = this; | ||
| 418 | if (this.ruleForm.qlrList.length == 0) { | ||
| 419 | this.$message({ | ||
| 420 | showClose: true, | ||
| 421 | message: "请确认权利人信息", | ||
| 422 | type: "error", | ||
| 423 | }); | ||
| 424 | return false; | ||
| 425 | } | ||
| 426 | |||
| 427 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 428 | if (this.ruleForm.qlrList.length > 1) { | ||
| 429 | this.$message({ | ||
| 430 | showClose: true, | ||
| 431 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 432 | type: "error", | ||
| 433 | }); | ||
| 434 | return false; | ||
| 435 | } | ||
| 436 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 437 | } else { | ||
| 438 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 439 | this.$message({ | ||
| 440 | showClose: true, | ||
| 441 | message: | ||
| 442 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 443 | type: "error", | ||
| 444 | }); | ||
| 445 | return false; | ||
| 446 | } | ||
| 447 | //是否分别持证 | ||
| 448 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 449 | //是 | ||
| 450 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 451 | item.sfczr = "1"; | ||
| 452 | }); | ||
| 453 | } else { | ||
| 454 | if (that.czr === '') { | ||
| 455 | that.$message({ | ||
| 456 | showClose: true, | ||
| 457 | message: "请选择持证人", | ||
| 458 | type: "error", | ||
| 459 | }) | ||
| 460 | return false; | ||
| 461 | } | ||
| 462 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 463 | if (item.id == that.czr) { | ||
| 464 | item.sfczr = "1"; | ||
| 465 | } else { | ||
| 466 | item.sfczr = "0"; | ||
| 467 | } | ||
| 468 | }); | ||
| 469 | } | ||
| 470 | } | ||
| 471 | this.$refs['ruleForm'].validate((valid) => { | ||
| 472 | if (valid) { | ||
| 473 | that.$store.dispatch("user/refreshPage", false); | ||
| 474 | saveData(that.ruleForm).then((res) => { | ||
| 475 | if (res.code === 200) { | ||
| 476 | that.$message({ | ||
| 477 | showClose: true, | ||
| 478 | message: "保存成功!", | ||
| 479 | type: "success", | ||
| 480 | }); | ||
| 481 | that.$store.dispatch("user/refreshPage", true); | ||
| 482 | } else { | ||
| 483 | that.$message({ | ||
| 484 | showClose: true, | ||
| 485 | message: res.message, | ||
| 486 | type: "error", | ||
| 487 | }); | ||
| 488 | } | ||
| 489 | }) | ||
| 490 | } else { | ||
| 491 | this.$message({ | ||
| 492 | showClose: true, | ||
| 493 | message: "请输入登记原因", | ||
| 494 | type: "error" | ||
| 495 | }) | ||
| 496 | return false | ||
| 497 | } | ||
| 498 | }) | ||
| 499 | |||
| 500 | }, | ||
| 501 | /** | ||
| 502 | * @description: upDateQlrxxList | ||
| 503 | * @param {*} val | ||
| 504 | * @author: renchao | ||
| 505 | */ | ||
| 506 | upDateQlrxxList (val) { | ||
| 507 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 508 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 509 | this.czrOptions = this.ruleForm.qlrList; | ||
| 510 | } | ||
| 511 | this.num = 0 | ||
| 512 | this.ruleForm.qlrList.forEach(item => { | ||
| 513 | if (item.id == this.czr) { | ||
| 514 | this.num++ | ||
| 515 | } | ||
| 516 | }) | ||
| 517 | if (this.num == 0) { | ||
| 518 | this.czr = '' | ||
| 519 | } | ||
| 520 | }, | ||
| 521 | /** | ||
| 522 | * @description: 是否持证人变化 | ||
| 523 | * @param {*} val | ||
| 524 | * @author: renchao | ||
| 525 | */ | ||
| 526 | updaterow () { | ||
| 527 | this.czr = ""; | ||
| 528 | }, | ||
| 529 | /** | ||
| 530 | * @description: upDateJtcyList | ||
| 531 | * @param {*} val | ||
| 532 | * @author: renchao | ||
| 533 | */ | ||
| 534 | upDateJtcyList (val) { | ||
| 535 | this.ruleForm.jtcyList = _.cloneDeep(val); | ||
| 536 | }, | ||
| 537 | // 是否持证人变化 | ||
| 538 | /** | ||
| 539 | * @description: 是否持证人变化 | ||
| 540 | * @param {*} val | ||
| 541 | * @author: renchao | ||
| 542 | */ | ||
| 543 | updaterow () { | ||
| 544 | this.czr = ""; | ||
| 545 | }, | ||
| 546 | |||
| 547 | /** | ||
| 548 | * @description: 水域滩涂类型变化事件 | ||
| 549 | * @param {*} e | ||
| 550 | * @author: renchao | ||
| 551 | */ | ||
| 552 | changeSyttlx (e) { | ||
| 553 | let itemLx = {}; | ||
| 554 | itemLx = this.dictData["A23"].find((item) => { | ||
| 555 | return item.dcode == e; | ||
| 556 | }); | ||
| 557 | this.ruleForm.nydsyq.syttlxmc = itemLx.dname; | ||
| 558 | }, | ||
| 559 | /** | ||
| 560 | * @description: 养殖业方式变化事件 | ||
| 561 | * @param {*} e | ||
| 562 | * @author: renchao | ||
| 563 | */ | ||
| 564 | changeYzyfs (e) { | ||
| 565 | let itemLx = {}; | ||
| 566 | itemLx = this.dictData["A24"].find((item) => { | ||
| 567 | return item.dcode == e; | ||
| 568 | }); | ||
| 569 | this.ruleForm.nydsyq.yzyfsmc = itemLx.dname; | ||
| 570 | }, | ||
| 571 | /** | ||
| 572 | * @description: 用地用海变化事件 | ||
| 573 | * @param {*} e | ||
| 574 | * @author: renchao | ||
| 575 | */ | ||
| 576 | changeYdyhfl (e) { | ||
| 577 | let itemLx = {}; | ||
| 578 | itemLx = this.dictData["A51"].find((item) => { | ||
| 579 | return item.dcode == e; | ||
| 580 | }); | ||
| 581 | this.ruleForm.nydsyq.ydyhflmc = itemLx.dname; | ||
| 582 | }, | ||
| 583 | }, | ||
| 584 | }; | ||
| 585 | </script> | ||
| 586 | <style scoped lang="scss"> | ||
| 587 | @import "~@/styles/public.scss"; | ||
| 588 | @import "~@/styles/slxx/slxx.scss"; | ||
| 589 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: 房屋多幢受理信息 | ||
| 3 | * @Autor: ssq | ||
| 4 | * @LastEditTime: 2024-01-31 10:17:15 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form | ||
| 9 | :model="ruleForm" | ||
| 10 | :rules="rules" | ||
| 11 | ref="ruleForm" | ||
| 12 | v-Loading="loading" | ||
| 13 | :label-position="flag ? 'top' : ''" | ||
| 14 | :inline="flag" | ||
| 15 | label-width="190px"> | ||
| 16 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 17 | <div class="slxx_title title-block"> | ||
| 18 | 申请业务信息 | ||
| 19 | <div class="triangle"></div> | ||
| 20 | </div> | ||
| 21 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item label="业务号:"> | ||
| 24 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="8"> | ||
| 28 | <el-form-item label="受理人员:"> | ||
| 29 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | <el-col :span="8"> | ||
| 33 | <el-form-item label="受理时间:"> | ||
| 34 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 35 | </el-form-item> | ||
| 36 | </el-col> | ||
| 37 | </el-row> | ||
| 38 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 39 | <el-col :span="8"> | ||
| 40 | <el-form-item label="权利类型:"> | ||
| 41 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | <el-col :span="8"> | ||
| 45 | <el-form-item label="登记类型:"> | ||
| 46 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | <el-col :span="8"> | ||
| 50 | <el-form-item label="登记情形:"> | ||
| 51 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | </el-row> | ||
| 55 | <div class="slxx_title title-block"> | ||
| 56 | <el-row> | ||
| 57 | <el-col :span="20"> | ||
| 58 | 不动产单元情况 | ||
| 59 | </el-col> | ||
| 60 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
| 61 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 62 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 63 | <el-radio label="1">是</el-radio> | ||
| 64 | <el-radio label="0">否</el-radio> | ||
| 65 | </el-radio-group> | ||
| 66 | </el-form-item> | ||
| 67 | </el-col> | ||
| 68 | </el-row> | ||
| 69 | <div class="triangle"></div> | ||
| 70 | </div> | ||
| 71 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 72 | <el-col :span="8"> | ||
| 73 | <el-form-item label="不动产单元号:"> | ||
| 74 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 75 | </el-form-item> | ||
| 76 | </el-col> | ||
| 77 | <el-col :span="16"> | ||
| 78 | <el-form-item label="坐落:"> | ||
| 79 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
| 80 | </el-form-item> | ||
| 81 | </el-col> | ||
| 82 | </el-row> | ||
| 83 | <el-row :gutter="10"> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item label="发包方:"> | ||
| 86 | <el-input v-model="ruleForm.lq.fbf" :disabled="!viewEdit"></el-input> | ||
| 87 | </el-form-item> | ||
| 88 | </el-col> | ||
| 89 | <el-col :span="8"> | ||
| 90 | <el-form-item label="发包方代码:"> | ||
| 91 | <el-input v-model="ruleForm.lq.fbfdm" :disabled="!viewEdit"></el-input> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | <el-col :span="8"> | ||
| 95 | <el-form-item label="使用权(承包)面积:"> | ||
| 96 | <el-input maxlength="12" v-model="ruleForm.lq.syqmj" :disabled="!viewEdit"></el-input> | ||
| 97 | </el-form-item> | ||
| 98 | </el-col> | ||
| 99 | </el-row> | ||
| 100 | <el-row :gutter="10"> | ||
| 101 | <el-col :span="8"> | ||
| 102 | <el-form-item label="林地所有权性质:"> | ||
| 103 | <el-select v-model="ruleForm.lq.ldsyqxz" :disabled="!viewEdit"> | ||
| 104 | <el-option | ||
| 105 | v-for="item in dictData['A45']" | ||
| 106 | :key="item.dcode" | ||
| 107 | :label="item.dname" | ||
| 108 | :value="item.dcode"> | ||
| 109 | </el-option> | ||
| 110 | </el-select> | ||
| 111 | </el-form-item> | ||
| 112 | </el-col> | ||
| 113 | <el-col :span="8"> | ||
| 114 | <el-form-item label="森林类别:"> | ||
| 115 | <el-input v-model="ruleForm.lq.sllb" :disabled="!viewEdit"></el-input> | ||
| 116 | </el-form-item> | ||
| 117 | </el-col> | ||
| 118 | <el-col :span="8"> | ||
| 119 | <el-form-item label="主要树种:"> | ||
| 120 | <el-input v-model="ruleForm.lq.zysz" :disabled="!viewEdit"></el-input> | ||
| 121 | </el-form-item> | ||
| 122 | </el-col> | ||
| 123 | </el-row> | ||
| 124 | <el-row :gutter="10"> | ||
| 125 | <el-col :span="8"> | ||
| 126 | <el-form-item label="株数:"> | ||
| 127 | <el-input v-model="ruleForm.lq.zs" :disabled="!viewEdit"></el-input> | ||
| 128 | </el-form-item> | ||
| 129 | </el-col> | ||
| 130 | <el-col :span="8"> | ||
| 131 | <el-form-item label="林种:"> | ||
| 132 | <el-select v-model="ruleForm.lq.lz" :disabled="!viewEdit"> | ||
| 133 | <el-option | ||
| 134 | v-for="item in dictData['A26']" | ||
| 135 | :key="item.dcode" | ||
| 136 | :label="item.dname" | ||
| 137 | :value="item.dcode"> | ||
| 138 | </el-option> | ||
| 139 | </el-select> | ||
| 140 | </el-form-item> | ||
| 141 | </el-col> | ||
| 142 | <el-col :span="8"> | ||
| 143 | <el-form-item label="起源:"> | ||
| 144 | <el-select v-model="ruleForm.lq.qy" :disabled="!viewEdit"> | ||
| 145 | <el-option | ||
| 146 | v-for="item in dictData['A52']" | ||
| 147 | :key="item.dcode" | ||
| 148 | :label="item.dname" | ||
| 149 | :value="item.dcode"> | ||
| 150 | </el-option> | ||
| 151 | </el-select> | ||
| 152 | </el-form-item> | ||
| 153 | </el-col> | ||
| 154 | </el-row> | ||
| 155 | <el-row :gutter="10"> | ||
| 156 | <el-col :span="8"> | ||
| 157 | <el-form-item label="造林年度:"> | ||
| 158 | <!-- <el-input v-model="ruleForm.lq.zlnd"></el-input> --> | ||
| 159 | <el-date-picker | ||
| 160 | class="width100" | ||
| 161 | value-format="yyyy" | ||
| 162 | v-model="ruleForm.lq.zlnd" | ||
| 163 | :disabled="!viewEdit" | ||
| 164 | type="year"> | ||
| 165 | </el-date-picker> | ||
| 166 | </el-form-item> | ||
| 167 | </el-col> | ||
| 168 | <el-col :span="8"> | ||
| 169 | <el-form-item label="林班:"> | ||
| 170 | <el-input v-model="ruleForm.lq.lb" :disabled="!viewEdit"></el-input> | ||
| 171 | </el-form-item> | ||
| 172 | </el-col> | ||
| 173 | <el-col :span="8"> | ||
| 174 | <el-form-item label="小班:"> | ||
| 175 | <el-input v-model="ruleForm.lq.xb" :disabled="!viewEdit"></el-input> | ||
| 176 | </el-form-item> | ||
| 177 | </el-col> | ||
| 178 | </el-row> | ||
| 179 | <el-row :gutter="10"> | ||
| 180 | <el-col :span="8"> | ||
| 181 | <el-form-item label="小地名:"> | ||
| 182 | <el-input v-model="ruleForm.lq.xdm" :disabled="!viewEdit"></el-input> | ||
| 183 | </el-form-item> | ||
| 184 | </el-col> | ||
| 185 | <el-col :span="8"> | ||
| 186 | <el-form-item label="林地使用(承包)起始时间:"> | ||
| 187 | <el-date-picker | ||
| 188 | class="width100" | ||
| 189 | value-format="yyyy-MM-dd HH:mm:ss" | ||
| 190 | v-model="ruleForm.lq.ldsyqssj" | ||
| 191 | :disabled="!viewEdit" | ||
| 192 | type="date"></el-date-picker> | ||
| 193 | </el-form-item> | ||
| 194 | </el-col> | ||
| 195 | <el-col :span="8"> | ||
| 196 | <el-form-item label="林地使用(承包)结束时间:"> | ||
| 197 | <el-date-picker | ||
| 198 | class="width100" | ||
| 199 | value-format="yyyy-MM-dd HH:mm:ss" | ||
| 200 | v-model="ruleForm.lq.ldsyjssj" | ||
| 201 | :disabled="!viewEdit" | ||
| 202 | type="date"></el-date-picker> | ||
| 203 | </el-form-item> | ||
| 204 | </el-col> | ||
| 205 | </el-row> | ||
| 206 | <el-row :gutter="10"> | ||
| 207 | <!-- <el-col :span="8"> | ||
| 208 | <el-form-item label="土地用途:"> | ||
| 209 | <el-input v-model="ruleForm.lq.xdm"></el-input> | ||
| 210 | </el-form-item> | ||
| 211 | </el-col> --> | ||
| 212 | <el-col :span="8"> | ||
| 213 | <el-form-item label="林地使用 (承包)期限:"> | ||
| 214 | <el-input v-model="ruleForm.lq.ldsyqx" :disabled="!viewEdit"></el-input> | ||
| 215 | </el-form-item> | ||
| 216 | </el-col> | ||
| 217 | </el-row> | ||
| 218 | <el-row :gutter="10"> | ||
| 219 | <el-col :span="24"> | ||
| 220 | <el-form-item label="附记:"> | ||
| 221 | <el-input | ||
| 222 | v-model="ruleForm.lq.fj" | ||
| 223 | :disabled="!viewEdit" | ||
| 224 | type="textarea" | ||
| 225 | maxlength="500" | ||
| 226 | show-word-limit></el-input> | ||
| 227 | </el-form-item> | ||
| 228 | </el-col> | ||
| 229 | </el-row> | ||
| 230 | <!-- <div class="slxx_title title-block"> | ||
| 231 | 土地用途 | ||
| 232 | <div class="triangle"></div> | ||
| 233 | </div> --> | ||
| 234 | <!-- <tdytTable | ||
| 235 | :ableOperation="viewEdit" | ||
| 236 | :tableData="ruleForm.tdytqxList" | ||
| 237 | @upDateTdytxxList="upDateTdytxxList" /> --> | ||
| 238 | <div class="slxx_title title-block"> | ||
| 239 | 权利人信息 | ||
| 240 | <div class="triangle"></div> | ||
| 241 | </div> | ||
| 242 | <el-row :gutter="10"> | ||
| 243 | <el-col :span="12" v-if="ruleForm.qlxx"> | ||
| 244 | <el-form-item label="共有方式:"> | ||
| 245 | <el-radio-group | ||
| 246 | :disabled="!viewEdit" | ||
| 247 | v-model="ruleForm.sldy.gyfs"> | ||
| 248 | <el-radio label="0">单独所有</el-radio> | ||
| 249 | <el-radio label="1">共同共有</el-radio> | ||
| 250 | <el-radio label="2">按份所有</el-radio> | ||
| 251 | <el-radio label="3">其它共有</el-radio> | ||
| 252 | </el-radio-group> | ||
| 253 | </el-form-item> | ||
| 254 | </el-col> | ||
| 255 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 256 | <el-form-item label="是否分别持证:"> | ||
| 257 | <el-radio-group | ||
| 258 | v-model="ruleForm.sldy.sqfbcz" | ||
| 259 | :disabled="!viewEdit" | ||
| 260 | @input="updaterow()"> | ||
| 261 | <el-radio :label="1">是</el-radio> | ||
| 262 | <el-radio :label="0">否</el-radio> | ||
| 263 | </el-radio-group> | ||
| 264 | </el-form-item> | ||
| 265 | </el-col> | ||
| 266 | <el-col | ||
| 267 | :span="6" | ||
| 268 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 269 | <el-form-item label="持证人:"> | ||
| 270 | <el-select | ||
| 271 | v-model="czr" | ||
| 272 | placeholder="持证人" | ||
| 273 | :disabled="!viewEdit"> | ||
| 274 | <el-option | ||
| 275 | v-for="(item, index) in czrOptions" | ||
| 276 | :key="index" | ||
| 277 | :label="item.sqrmc" | ||
| 278 | :value="item.id"> | ||
| 279 | </el-option> | ||
| 280 | </el-select> | ||
| 281 | </el-form-item> | ||
| 282 | </el-col> | ||
| 283 | </el-row> | ||
| 284 | <qlrCommonTable | ||
| 285 | @upDateQlrxxList="upDateQlrxxList" | ||
| 286 | :tableData="ruleForm.qlrList" | ||
| 287 | :disabled="viewEdit" | ||
| 288 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 289 | |||
| 290 | <div v-if="ruleForm.ywrList && ruleForm.sldy.djlx == '200'"> | ||
| 291 | <div class="slxx_title title-block"> | ||
| 292 | 义务人信息 | ||
| 293 | <div class="triangle"></div> | ||
| 294 | </div> | ||
| 295 | <ywrCommonTable | ||
| 296 | v-if="ruleForm.qlxx" | ||
| 297 | :disabled="viewEdit" | ||
| 298 | @upDateQlrxxList="upDateYwrxxList" | ||
| 299 | :tableData="ruleForm.ywrList" | ||
| 300 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 301 | </div> | ||
| 302 | <div class="slxx_title title-block"> | ||
| 303 | 登记原因 | ||
| 304 | <div class="triangle"></div> | ||
| 305 | </div> | ||
| 306 | <el-row :gutter="10"> | ||
| 307 | <el-col> | ||
| 308 | <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="djyy"> | ||
| 309 | <el-input | ||
| 310 | class="textArea" | ||
| 311 | type="textarea" | ||
| 312 | maxlength="500" | ||
| 313 | show-word-limit | ||
| 314 | :disabled="!viewEdit" | ||
| 315 | v-model="ruleForm.lq.djyy"> | ||
| 316 | </el-input> | ||
| 317 | </el-form-item> | ||
| 318 | </el-col> | ||
| 319 | </el-row> | ||
| 320 | </div> | ||
| 321 | <el-row class="btn" v-if="isSave"> | ||
| 322 | <el-form-item> | ||
| 323 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 324 | </el-form-item> | ||
| 325 | </el-row> | ||
| 326 | </el-form> | ||
| 327 | </div> | ||
| 328 | </template> | ||
| 329 | <script> | ||
| 330 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 331 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 332 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 333 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
| 334 | import { Init, saveData } from "@/api/workflow/sllmFlow.js"; | ||
| 335 | import { mapGetters } from "vuex"; | ||
| 336 | export default { | ||
| 337 | mixins: [ywmix], | ||
| 338 | mounted () { | ||
| 339 | let that = this | ||
| 340 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 341 | this.propsParam = this.$attrs; | ||
| 342 | var formdata = new FormData(); | ||
| 343 | this.loading = true | ||
| 344 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 345 | formdata.append("djlx", this.propsParam.djlx); | ||
| 346 | formdata.append("isEdit", this.viewEdit); | ||
| 347 | Init(formdata).then((res) => { | ||
| 348 | setTimeout(() => { | ||
| 349 | this.loading = false | ||
| 350 | }, 200) | ||
| 351 | if (res.code === 200 && res.result) { | ||
| 352 | this.ruleForm = { | ||
| 353 | ...res.result, | ||
| 354 | ...res.result.qlxxdatas, | ||
| 355 | }; | ||
| 356 | this.ruleForm.qlrList.forEach((item) => { | ||
| 357 | item.id = item.bsmSqr | ||
| 358 | if (item.sfczr == '1') { | ||
| 359 | that.czr = item.bsmSqr | ||
| 360 | } | ||
| 361 | }) | ||
| 362 | that.czrOptions = that.ruleForm.qlrList | ||
| 363 | that.isSave = that.viewEdit | ||
| 364 | } else { | ||
| 365 | that.isSave = false | ||
| 366 | that.$confirm(res.message, '提示', { | ||
| 367 | cancelButtonText: '取消', | ||
| 368 | showConfirmButton: false, | ||
| 369 | type: 'warning' | ||
| 370 | }) | ||
| 371 | } | ||
| 372 | }).catch(() => { | ||
| 373 | this.loading = false | ||
| 374 | this.isSave = false | ||
| 375 | }) | ||
| 376 | }, | ||
| 377 | components: { qlrCommonTable, tdytTable, ywrCommonTable }, | ||
| 378 | computed: { | ||
| 379 | ...mapGetters(["dictData", "flag"]), | ||
| 380 | }, | ||
| 381 | data () { | ||
| 382 | return { | ||
| 383 | isSave: true, | ||
| 384 | loading: false, | ||
| 385 | disabled: true, | ||
| 386 | tdytOption: [], | ||
| 387 | czrOptions: [], | ||
| 388 | czr: "", | ||
| 389 | ruleForm: { | ||
| 390 | lq: { | ||
| 391 | zlnd: "", | ||
| 392 | ldsyqssj: "", | ||
| 393 | ldsyjssj: "" | ||
| 394 | }, | ||
| 395 | flow: { | ||
| 396 | ywh: "", | ||
| 397 | }, | ||
| 398 | qlxx: { | ||
| 399 | mj: "", | ||
| 400 | }, | ||
| 401 | sldy: { | ||
| 402 | gyfs: "", | ||
| 403 | }, | ||
| 404 | slsq: {}, | ||
| 405 | fdcq2: { | ||
| 406 | zyjzmj: "", | ||
| 407 | ftjzmj: "", | ||
| 408 | }, | ||
| 409 | zdjbxx: { | ||
| 410 | ghytmc: "", | ||
| 411 | }, | ||
| 412 | }, | ||
| 413 | //传递参数 | ||
| 414 | propsParam: this.$attrs, | ||
| 415 | //表单是否可操作 | ||
| 416 | viewEdit: true, | ||
| 417 | rules: {}, | ||
| 418 | }; | ||
| 419 | }, | ||
| 420 | methods: { | ||
| 421 | /** | ||
| 422 | * @description: 更新土地用途信息 | ||
| 423 | * @param {*} val | ||
| 424 | * @author: renchao | ||
| 425 | */ | ||
| 426 | upDateTdytxxList (val) { | ||
| 427 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
| 428 | }, | ||
| 429 | /** | ||
| 430 | * @description: 更新权利人信息 | ||
| 431 | * @param {*} val | ||
| 432 | * @author: renchao | ||
| 433 | */ | ||
| 434 | upDateQlrxxList (val) { | ||
| 435 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 436 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 437 | this.czrOptions = this.ruleForm.qlrList; | ||
| 438 | } | ||
| 439 | this.num = 0 | ||
| 440 | this.ruleForm.qlrList.forEach(item => { | ||
| 441 | if (item.id == this.czr) { | ||
| 442 | this.num++ | ||
| 443 | } | ||
| 444 | }) | ||
| 445 | if (this.num == 0) { | ||
| 446 | this.czr = '' | ||
| 447 | } | ||
| 448 | }, | ||
| 449 | /** | ||
| 450 | * @description: 是否持证人变化 | ||
| 451 | * @param {*} val | ||
| 452 | * @author: renchao | ||
| 453 | */ | ||
| 454 | updaterow () { | ||
| 455 | this.czr = ""; | ||
| 456 | }, | ||
| 457 | /** | ||
| 458 | * @description: 更新业务人信息 | ||
| 459 | * @param {*} val | ||
| 460 | * @author: renchao | ||
| 461 | */ | ||
| 462 | upDateYwrxxList (val) { | ||
| 463 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 464 | }, | ||
| 465 | /** | ||
| 466 | * @description: onSubmit | ||
| 467 | * @author: renchao | ||
| 468 | */ | ||
| 469 | onSubmit () { | ||
| 470 | let that = this; | ||
| 471 | if (this.ruleForm.qlrList.length == 0) { | ||
| 472 | this.$message({ | ||
| 473 | showClose: true, | ||
| 474 | message: "请确认权利人信息", | ||
| 475 | type: "error", | ||
| 476 | }); | ||
| 477 | return false; | ||
| 478 | } | ||
| 479 | |||
| 480 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 481 | if (this.ruleForm.qlrList.length > 1) { | ||
| 482 | this.$message({ | ||
| 483 | showClose: true, | ||
| 484 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 485 | type: "error", | ||
| 486 | }); | ||
| 487 | return false; | ||
| 488 | } | ||
| 489 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 490 | } else { | ||
| 491 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 492 | this.$message({ | ||
| 493 | showClose: true, | ||
| 494 | message: | ||
| 495 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 496 | type: "error", | ||
| 497 | }); | ||
| 498 | return false; | ||
| 499 | } | ||
| 500 | //是否分别持证 | ||
| 501 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 502 | //是 | ||
| 503 | this.ruleForm.qlrList.forEach(item => { | ||
| 504 | item.sfczr = "1"; | ||
| 505 | }); | ||
| 506 | } else { | ||
| 507 | if (that.czr === '') { | ||
| 508 | that.$message({ | ||
| 509 | showClose: true, | ||
| 510 | message: "请选择持证人", | ||
| 511 | type: "error", | ||
| 512 | }); | ||
| 513 | return false; | ||
| 514 | } | ||
| 515 | this.ruleForm.qlrList.forEach(item => { | ||
| 516 | if (item.id == that.czr) { | ||
| 517 | item.sfczr = "1"; | ||
| 518 | } else { | ||
| 519 | item.sfczr = "0"; | ||
| 520 | } | ||
| 521 | }); | ||
| 522 | } | ||
| 523 | } | ||
| 524 | saveData(this.ruleForm).then((res) => { | ||
| 525 | if (res.code === 200) { | ||
| 526 | this.$message({ | ||
| 527 | showClose: true, | ||
| 528 | message: "保存成功!", | ||
| 529 | type: "success", | ||
| 530 | }); | ||
| 531 | this.$store.dispatch("user/refreshPage", true); | ||
| 532 | } else { | ||
| 533 | this.$message({ | ||
| 534 | showClose: true, | ||
| 535 | message: res.message, | ||
| 536 | type: "error" | ||
| 537 | }) | ||
| 538 | } | ||
| 539 | }) | ||
| 540 | } | ||
| 541 | } | ||
| 542 | } | ||
| 543 | </script> | ||
| 544 | <style scoped lang="scss"> | ||
| 545 | @import "~@/styles/public.scss"; | ||
| 546 | |||
| 547 | /deep/.el-form { | ||
| 548 | display: flex; | ||
| 549 | flex-direction: column; | ||
| 550 | height: calc(100vh - 130px); | ||
| 551 | } | ||
| 552 | |||
| 553 | /deep/.el-form-item__label { | ||
| 554 | padding: 0; | ||
| 555 | } | ||
| 556 | |||
| 557 | /deep/.el-radio { | ||
| 558 | margin-right: 10px; | ||
| 559 | } | ||
| 560 | |||
| 561 | /deep/.el-select { | ||
| 562 | width: 100%; | ||
| 563 | } | ||
| 564 | |||
| 565 | /deep/.el-form-item { | ||
| 566 | margin-bottom: 3px; | ||
| 567 | } | ||
| 568 | |||
| 569 | .marginBot0 { | ||
| 570 | margin-bottom: 0 !important; | ||
| 571 | } | ||
| 572 | |||
| 573 | .slxx { | ||
| 574 | box-sizing: border-box; | ||
| 575 | } | ||
| 576 | |||
| 577 | .slxx_con { | ||
| 578 | flex: 1; | ||
| 579 | height: 100%; | ||
| 580 | background-color: #ffffff; | ||
| 581 | overflow-y: auto; | ||
| 582 | padding-right: 3px; | ||
| 583 | overflow-x: hidden; | ||
| 584 | } | ||
| 585 | |||
| 586 | .submit_btn { | ||
| 587 | height: 50px; | ||
| 588 | } | ||
| 589 | |||
| 590 | .btn { | ||
| 591 | text-align: center; | ||
| 592 | padding-top: 10px; | ||
| 593 | height: 36px; | ||
| 594 | background-color: #ffffff; | ||
| 595 | padding: 5px 0; | ||
| 596 | } | ||
| 597 | |||
| 598 | .textArea { | ||
| 599 | /deep/.el-textarea__inner { | ||
| 600 | min-height: 90px !important; | ||
| 601 | } | ||
| 602 | } | ||
| 603 | |||
| 604 | /deep/.el-form-item__label { | ||
| 605 | padding-bottom: 0px; | ||
| 606 | } | ||
| 607 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-02-04 16:11:40 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <!-- 受理信息 --> | ||
| 8 | <div class="slxx"> | ||
| 9 | <el-form | ||
| 10 | :model="ruleForm" | ||
| 11 | :rules="rules" | ||
| 12 | :class="{ readonly: editDisabled }" | ||
| 13 | v-Loading="loading" | ||
| 14 | ref="ruleForm" | ||
| 15 | :label-position="flag ? 'top' : ''" | ||
| 16 | :inline="flag" | ||
| 17 | label-width="140px"> | ||
| 18 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 19 | <div class="slxx_title title-block"> | ||
| 20 | 申请业务信息 | ||
| 21 | <div class="triangle"></div> | ||
| 22 | </div> | ||
| 23 | <el-row :gutter="10"> | ||
| 24 | <el-col :span="8"> | ||
| 25 | <el-form-item label="业务号:"> | ||
| 26 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 27 | </el-form-item> | ||
| 28 | </el-col> | ||
| 29 | <el-col :span="8"> | ||
| 30 | <el-form-item label="受理人员:"> | ||
| 31 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 32 | </el-form-item> | ||
| 33 | </el-col> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="受理时间:"> | ||
| 36 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 37 | </el-form-item> | ||
| 38 | </el-col> | ||
| 39 | </el-row> | ||
| 40 | <el-row :gutter="10"> | ||
| 41 | <el-col :span="8"> | ||
| 42 | <el-form-item label="权利类型:"> | ||
| 43 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 44 | </el-form-item> | ||
| 45 | </el-col> | ||
| 46 | <el-col :span="8"> | ||
| 47 | <el-form-item label="登记类型:"> | ||
| 48 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 49 | </el-form-item> | ||
| 50 | </el-col> | ||
| 51 | <el-col :span="8"> | ||
| 52 | <el-form-item label="登记情形:"> | ||
| 53 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 54 | </el-form-item> | ||
| 55 | </el-col> | ||
| 56 | </el-row> | ||
| 57 | <div class="slxx_title title-block"> | ||
| 58 | <el-row> | ||
| 59 | <el-col :span="20"> | ||
| 60 | 不动产单元情况 | ||
| 61 | </el-col> | ||
| 62 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
| 63 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 64 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 65 | <el-radio label="1">是</el-radio> | ||
| 66 | <el-radio label="0">否</el-radio> | ||
| 67 | </el-radio-group> | ||
| 68 | </el-form-item> | ||
| 69 | </el-col> | ||
| 70 | </el-row> | ||
| 71 | <div class="triangle"></div> | ||
| 72 | </div> | ||
| 73 | <el-row :gutter="10"> | ||
| 74 | <el-col :span="8"> | ||
| 75 | <el-form-item label="宗地代码:"> | ||
| 76 | <el-input v-model="ruleForm.zdjbxx.zddm" disabled></el-input> | ||
| 77 | </el-form-item> | ||
| 78 | </el-col> | ||
| 79 | <el-col :span="8"> | ||
| 80 | <el-form-item label="不动产单元号:"> | ||
| 81 | <el-input v-model="ruleForm.sldy.bdcdyh" disabled></el-input> | ||
| 82 | </el-form-item> | ||
| 83 | </el-col> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item label="权利性质:"> | ||
| 86 | <treeselect | ||
| 87 | v-model="ruleForm.zdjbxx.qlxz" | ||
| 88 | noOptionsText="暂无数据" | ||
| 89 | :default-expand-level="1" | ||
| 90 | :disabled="!viewEdit" | ||
| 91 | placeholder="" | ||
| 92 | :normalizer="normalizer" | ||
| 93 | :show-count="true" | ||
| 94 | :options="dictData['A9']" /> | ||
| 95 | </el-form-item> | ||
| 96 | </el-col> | ||
| 97 | </el-row> | ||
| 98 | <el-row :gutter="10"> | ||
| 99 | <el-col :span="8"> | ||
| 100 | <el-form-item label="地块代码:"> | ||
| 101 | <el-input v-model="ruleForm.tdcbjyq.dkdm" :disabled="!viewEdit"></el-input> | ||
| 102 | </el-form-item> | ||
| 103 | </el-col> | ||
| 104 | <el-col :span="8"> | ||
| 105 | <el-form-item label="地块名称:"> | ||
| 106 | <el-input v-model="ruleForm.tdcbjyq.dkmc" :disabled="!viewEdit"></el-input> | ||
| 107 | </el-form-item> | ||
| 108 | </el-col> | ||
| 109 | <el-col :span="8"> | ||
| 110 | <el-form-item label="承包方式:"> | ||
| 111 | <el-input v-model="ruleForm.tdcbjyq.cbfs" :disabled="!viewEdit"></el-input> | ||
| 112 | </el-form-item> | ||
| 113 | </el-col> | ||
| 114 | |||
| 115 | </el-row> | ||
| 116 | |||
| 117 | <el-row :gutter="10"> | ||
| 118 | <el-col :span="8"> | ||
| 119 | <el-form-item label="发包方代码:"> | ||
| 120 | <el-input v-model="ruleForm.tdcbjyq.fbfdm" :disabled="!viewEdit"></el-input> | ||
| 121 | </el-form-item> | ||
| 122 | </el-col> | ||
| 123 | <el-col :span="8"> | ||
| 124 | <el-form-item label="发包方全称:"> | ||
| 125 | <el-input v-model="ruleForm.tdcbjyq.fbfqc" :disabled="!viewEdit"></el-input> | ||
| 126 | </el-form-item> | ||
| 127 | </el-col> | ||
| 128 | <el-col :span="8"> | ||
| 129 | <el-form-item label="发包方负责人:"> | ||
| 130 | <el-input v-model="ruleForm.tdcbjyq.fbffzr" :disabled="!viewEdit"></el-input> | ||
| 131 | </el-form-item> | ||
| 132 | </el-col> | ||
| 133 | </el-row> | ||
| 134 | |||
| 135 | <el-row :gutter="10"> | ||
| 136 | <el-col :span="8"> | ||
| 137 | <el-form-item label="承包起始时间:"> | ||
| 138 | <el-date-picker | ||
| 139 | v-model="ruleForm.tdcbjyq.cbqssj" | ||
| 140 | class="width100" | ||
| 141 | type="date" | ||
| 142 | :disabled="!viewEdit" | ||
| 143 | :picker-options="pickerOptionsStart" | ||
| 144 | placeholder="选择日期" | ||
| 145 | value-format="yyyy-MM-dd HH:mm:ss" | ||
| 146 | format="yyyy-MM-dd"></el-date-picker> | ||
| 147 | </el-form-item> | ||
| 148 | </el-col> | ||
| 149 | <el-col :span="8"> | ||
| 150 | <el-form-item label="承包结束时间:"> | ||
| 151 | <el-date-picker | ||
| 152 | v-model="ruleForm.tdcbjyq.cbjssj" | ||
| 153 | :disabled="!viewEdit" | ||
| 154 | class="width100" | ||
| 155 | type="date" | ||
| 156 | placeholder="选择日期" | ||
| 157 | :picker-options="pickerOptionsEnd" | ||
| 158 | value-format="yyyy-MM-dd HH:mm:ss" | ||
| 159 | format="yyyy-MM-dd"></el-date-picker> | ||
| 160 | </el-form-item> | ||
| 161 | </el-col> | ||
| 162 | <el-col :span="8"> | ||
| 163 | <el-form-item label="承包期限:"> | ||
| 164 | <el-input v-model="ruleForm.tdcbjyq.cbqx" :disabled="!viewEdit"></el-input> | ||
| 165 | </el-form-item> | ||
| 166 | </el-col> | ||
| 167 | </el-row> | ||
| 168 | <el-row :gutter="10"> | ||
| 169 | <el-col :span="8"> | ||
| 170 | <el-form-item label="用途:"> | ||
| 171 | <treeselect | ||
| 172 | :disabled="!viewEdit" | ||
| 173 | v-model="ruleForm.tdcbjyq.yt" | ||
| 174 | noOptionsText="暂无数据" | ||
| 175 | :default-expand-level="1" | ||
| 176 | placeholder="" | ||
| 177 | :normalizer="normalizer" | ||
| 178 | :show-count="true" | ||
| 179 | :options="dictData['tdyt']" /> | ||
| 180 | </el-form-item> | ||
| 181 | </el-col> | ||
| 182 | <el-col :span="8"> | ||
| 183 | <el-form-item label="确权面积:"> | ||
| 184 | <div class="flex"> | ||
| 185 | <el-input | ||
| 186 | :disabled="!viewEdit" | ||
| 187 | v-model="ruleForm.tdcbjyq.qqmj" | ||
| 188 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 189 | <el-select :disabled="!viewEdit" v-model="mjdw" style="width: 68px"> | ||
| 190 | <el-option | ||
| 191 | v-for="item in dictData['A7']" | ||
| 192 | :key="item.dcode" | ||
| 193 | :label="item.dname" | ||
| 194 | :value="item.dcode"> | ||
| 195 | </el-option> | ||
| 196 | </el-select> | ||
| 197 | </div> | ||
| 198 | </el-form-item> | ||
| 199 | </el-col> | ||
| 200 | <el-col :span="8"> | ||
| 201 | <el-form-item label="土地所有权性质:"> | ||
| 202 | <el-select clearable v-model="ruleForm.tdcbjyq.tdsyqxz" class="width100" placeholder="请选择" :disabled="!viewEdit"> | ||
| 203 | <el-option v-for="item in dictData['A45']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 204 | </el-option> | ||
| 205 | </el-select> | ||
| 206 | </el-form-item> | ||
| 207 | </el-col> | ||
| 208 | </el-row> | ||
| 209 | |||
| 210 | <el-row :gutter="10"> | ||
| 211 | <el-col :span="8"> | ||
| 212 | <el-form-item label="是否永久基本农田:"> | ||
| 213 | <el-radio-group v-model="ruleForm.tdcbjyq.sfyjjbnt" :disabled="!viewEdit"> | ||
| 214 | <el-radio label="1">是</el-radio> | ||
| 215 | <el-radio label="0">否</el-radio> | ||
| 216 | </el-radio-group> | ||
| 217 | </el-form-item> | ||
| 218 | </el-col> | ||
| 219 | <el-col :span="8"> | ||
| 220 | <el-form-item label="是否自留地:"> | ||
| 221 | <el-radio-group | ||
| 222 | v-model="ruleForm.tdcbjyq.sfzld" | ||
| 223 | :disabled="!viewEdit"> | ||
| 224 | <el-radio label="1">是</el-radio> | ||
| 225 | <el-radio label="0">否</el-radio> | ||
| 226 | </el-radio-group> | ||
| 227 | </el-form-item> | ||
| 228 | </el-col> | ||
| 229 | <el-col :span="8"> | ||
| 230 | <el-form-item label="用地用海分类:"> | ||
| 231 | <el-select clearable v-model="ruleForm.tdcbjyq.ydyhfl" class="width100" placeholder="请选择" :disabled="!viewEdit"> | ||
| 232 | <el-option v-for="item in dictData['A56']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 233 | </el-option> | ||
| 234 | </el-select> | ||
| 235 | </el-form-item> | ||
| 236 | </el-col> | ||
| 237 | </el-row> | ||
| 238 | |||
| 239 | <el-row :gutter="10"> | ||
| 240 | <el-col :span="8"> | ||
| 241 | <el-form-item label="承包经营权取得方式:"> | ||
| 242 | <el-select clearable v-model="ruleForm.tdcbjyq.cbjyqqdfs" class="width100" placeholder="请选择" :disabled="!viewEdit"> | ||
| 243 | <el-option v-for="item in dictData['A59']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 244 | </el-option> | ||
| 245 | </el-select> | ||
| 246 | </el-form-item> | ||
| 247 | </el-col> | ||
| 248 | <el-col :span="16"> | ||
| 249 | <el-form-item label="附记:"> | ||
| 250 | <el-input maxlength="100" :disabled="!viewEdit" v-model="ruleForm.tdcbjyq.fj"></el-input> | ||
| 251 | </el-form-item> | ||
| 252 | </el-col> | ||
| 253 | </el-row> | ||
| 254 | |||
| 255 | <div class="slxx_title title-block"> | ||
| 256 | 权利人信息 | ||
| 257 | <div class="triangle"></div> | ||
| 258 | </div> | ||
| 259 | <el-row :gutter="10"> | ||
| 260 | <el-col :span="12"> | ||
| 261 | <el-form-item label="共有方式:"> | ||
| 262 | <el-radio-group | ||
| 263 | :disabled="!viewEdit" | ||
| 264 | v-model="ruleForm.sldy.gyfs"> | ||
| 265 | <el-radio label="0">单独所有</el-radio> | ||
| 266 | <el-radio label="1">共同共有</el-radio> | ||
| 267 | <el-radio label="2">按份所有</el-radio> | ||
| 268 | <el-radio label="3">其它共有</el-radio> | ||
| 269 | </el-radio-group> | ||
| 270 | </el-form-item> | ||
| 271 | </el-col> | ||
| 272 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 273 | <el-form-item label="是否分别持证:"> | ||
| 274 | <el-radio-group | ||
| 275 | v-model="ruleForm.sldy.sqfbcz" | ||
| 276 | :disabled="!viewEdit" | ||
| 277 | @input="updaterow()"> | ||
| 278 | <el-radio :label="1">是</el-radio> | ||
| 279 | <el-radio :label="0">否</el-radio> | ||
| 280 | </el-radio-group> | ||
| 281 | </el-form-item> | ||
| 282 | </el-col> | ||
| 283 | <el-col | ||
| 284 | :span="6" | ||
| 285 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 286 | <el-form-item label="持证人:"> | ||
| 287 | <el-select | ||
| 288 | v-model="czr" | ||
| 289 | placeholder="持证人" | ||
| 290 | :disabled="!viewEdit"> | ||
| 291 | <el-option | ||
| 292 | v-for="(item, index) in czrOptions" | ||
| 293 | :key="index" | ||
| 294 | :label="item.sqrmc" | ||
| 295 | :value="item.id"> | ||
| 296 | </el-option> | ||
| 297 | </el-select> | ||
| 298 | </el-form-item> | ||
| 299 | </el-col> | ||
| 300 | </el-row> | ||
| 301 | <qlrCommonTable | ||
| 302 | :tableData="ruleForm.qlrList" | ||
| 303 | :disabled="viewEdit" | ||
| 304 | @upDateQlrxxList="upDateQlrxxList" | ||
| 305 | :key="key" | ||
| 306 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 307 | |||
| 308 | <div v-if="ruleForm.qlxx.djlx == '200'"> | ||
| 309 | <div class="slxx_title title-block"> | ||
| 310 | 义务人信息 | ||
| 311 | <div class="triangle"></div> | ||
| 312 | </div> | ||
| 313 | <ywrCommonTable | ||
| 314 | v-if="ruleForm.ywrList" | ||
| 315 | :disabled="viewEdit" | ||
| 316 | :tableData="ruleForm.ywrList" | ||
| 317 | :key="key" | ||
| 318 | @upDateQlrxxList="upDateYwrxxList" /> | ||
| 319 | </div> | ||
| 320 | <div class="slxx_title title-block"> | ||
| 321 | 登记原因 | ||
| 322 | <div class="triangle"></div> | ||
| 323 | </div> | ||
| 324 | <el-row :gutter="10"> | ||
| 325 | <el-col> | ||
| 326 | <el-form-item label="登记原因:" prop="tdcbjyq.djyy"> | ||
| 327 | <el-input | ||
| 328 | class="textArea" | ||
| 329 | maxlength="500" | ||
| 330 | show-word-limit | ||
| 331 | type="textarea" | ||
| 332 | :disabled="!viewEdit" | ||
| 333 | v-model="ruleForm.tdcbjyq.djyy"> | ||
| 334 | </el-input> | ||
| 335 | </el-form-item> | ||
| 336 | </el-col> | ||
| 337 | </el-row> | ||
| 338 | </div> | ||
| 339 | <el-row class="btn" v-if="isSave"> | ||
| 340 | <el-form-item> | ||
| 341 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 342 | </el-form-item> | ||
| 343 | </el-row> | ||
| 344 | </el-form> | ||
| 345 | </div> | ||
| 346 | </template> | ||
| 347 | <script> | ||
| 348 | import { mapGetters } from "vuex"; | ||
| 349 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 350 | import { Init, saveData } from "@/api/workflow/tdcbjyq.js"; | ||
| 351 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 352 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 353 | export default { | ||
| 354 | mixins: [ywmix], | ||
| 355 | mounted () { | ||
| 356 | let that = this | ||
| 357 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 358 | this.propsParam = this.$attrs; | ||
| 359 | var formdata = new FormData(); | ||
| 360 | this.loading = true | ||
| 361 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 362 | formdata.append("djlx", this.propsParam.djlx); | ||
| 363 | formdata.append("isEdit", this.viewEdit); | ||
| 364 | Init(formdata).then((res) => { | ||
| 365 | setTimeout(() => { | ||
| 366 | that.loading = false | ||
| 367 | }, 200) | ||
| 368 | if (res.code === 200) { | ||
| 369 | that.ruleForm = res.result; | ||
| 370 | that.ruleForm.qlrList.forEach((item) => { | ||
| 371 | item.id = item.bsmSqr | ||
| 372 | if (item.sfczr == '1') { | ||
| 373 | that.czr = item.bsmSqr | ||
| 374 | } | ||
| 375 | }) | ||
| 376 | that.czrOptions = that.ruleForm.qlrList; | ||
| 377 | that.isSave = that.viewEdit | ||
| 378 | } else { | ||
| 379 | that.isSave = false | ||
| 380 | that.$confirm(res.message, '提示', { | ||
| 381 | cancelButtonText: '取消', | ||
| 382 | showConfirmButton: false, | ||
| 383 | type: 'warning' | ||
| 384 | }) | ||
| 385 | } | ||
| 386 | }).catch(() => { | ||
| 387 | this.loading = false | ||
| 388 | this.isSave = false | ||
| 389 | }) | ||
| 390 | }, | ||
| 391 | components: { qlrCommonTable, ywrCommonTable }, | ||
| 392 | computed: { | ||
| 393 | ...mapGetters(["dictData", "flag"]), | ||
| 394 | // 根据流程判断表单是否为只读 | ||
| 395 | editDisabled () { | ||
| 396 | if (!this.viewEdit) { | ||
| 397 | //只读状态 | ||
| 398 | return true; | ||
| 399 | } | ||
| 400 | return false; | ||
| 401 | }, | ||
| 402 | }, | ||
| 403 | data () { | ||
| 404 | return { | ||
| 405 | // 开始结束日期限制 | ||
| 406 | pickerOptionsStart: { | ||
| 407 | disabledDate: (time) => { | ||
| 408 | if (this.ruleForm.tdcbjyq.cbjssj) { | ||
| 409 | return ( | ||
| 410 | time.getTime() >= new Date(this.ruleForm.tdcbjyq.cbjssj).getTime() | ||
| 411 | ); | ||
| 412 | } | ||
| 413 | } | ||
| 414 | }, | ||
| 415 | // 结束日期限制 | ||
| 416 | pickerOptionsEnd: { | ||
| 417 | disabledDate: (time) => { | ||
| 418 | if (this.ruleForm.tdcbjyq.cbqssj) { | ||
| 419 | return ( | ||
| 420 | time.getTime() <= new Date(this.ruleForm.tdcbjyq.cbqssj).getTime() | ||
| 421 | ); | ||
| 422 | } | ||
| 423 | } | ||
| 424 | }, | ||
| 425 | isSave: true, | ||
| 426 | // 键名转换,方法默认是label和children进行树状渲染 | ||
| 427 | normalizer (node) { | ||
| 428 | //方法 | ||
| 429 | if (node.children == null || node.children == "null") { | ||
| 430 | delete node.children; | ||
| 431 | } | ||
| 432 | return { | ||
| 433 | id: node.dcode, | ||
| 434 | label: node.dname, | ||
| 435 | }; | ||
| 436 | }, | ||
| 437 | loading: false, | ||
| 438 | mjdw: "1", | ||
| 439 | //表单是否可操作 | ||
| 440 | viewEdit: true, | ||
| 441 | czr: "", | ||
| 442 | key: 0, | ||
| 443 | disabled: true, | ||
| 444 | czrOptions: [], | ||
| 445 | ruleForm: {}, | ||
| 446 | //传递参数 | ||
| 447 | propsParam: {}, | ||
| 448 | rules: { | ||
| 449 | 'tdcbjyq.djyy': [ | ||
| 450 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 451 | ] | ||
| 452 | } | ||
| 453 | } | ||
| 454 | }, | ||
| 455 | methods: { | ||
| 456 | /** | ||
| 457 | * @description: 更新权利人信息 | ||
| 458 | * @param {*} val | ||
| 459 | * @author: renchao | ||
| 460 | */ | ||
| 461 | upDateQlrxxList (val) { | ||
| 462 | this.ruleForm.qlrList && (this.ruleForm.qlrList = _.cloneDeep(val)); | ||
| 463 | this.czrOptions = this.ruleForm.qlrList; | ||
| 464 | this.num = 0 | ||
| 465 | this.ruleForm.qlrList.forEach(item => { | ||
| 466 | if (item.id == this.czr) { | ||
| 467 | this.num++ | ||
| 468 | } | ||
| 469 | }) | ||
| 470 | if (this.num == 0) { | ||
| 471 | this.czr = '' | ||
| 472 | } | ||
| 473 | }, | ||
| 474 | /** | ||
| 475 | * @description: 是否持证人变化 | ||
| 476 | * @param {*} val | ||
| 477 | * @author: renchao | ||
| 478 | */ | ||
| 479 | updaterow () { | ||
| 480 | this.czr = ""; | ||
| 481 | }, | ||
| 482 | /** | ||
| 483 | * @description: 更新义务人信息 | ||
| 484 | * @param {*} val | ||
| 485 | * @author: renchao | ||
| 486 | */ | ||
| 487 | upDateYwrxxList (val) { | ||
| 488 | this.ruleForm.ywrList && (this.ruleForm.ywrList = _.cloneDeep(val)); | ||
| 489 | this.key++; | ||
| 490 | }, | ||
| 491 | /** | ||
| 492 | * @description: onSubmit | ||
| 493 | * @author: renchao | ||
| 494 | */ | ||
| 495 | onSubmit () { | ||
| 496 | let that = this; | ||
| 497 | if (this.ruleForm.qlrList.length == 0) { | ||
| 498 | this.$message({ | ||
| 499 | showClose: true, | ||
| 500 | message: "请确认权利人信息", | ||
| 501 | type: "error", | ||
| 502 | }); | ||
| 503 | return false; | ||
| 504 | } | ||
| 505 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 506 | if (this.ruleForm.qlrList.length > 1) { | ||
| 507 | this.$message({ | ||
| 508 | showClose: true, | ||
| 509 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 510 | type: "error", | ||
| 511 | }); | ||
| 512 | return false; | ||
| 513 | } | ||
| 514 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 515 | } else { | ||
| 516 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 517 | this.$message({ | ||
| 518 | showClose: true, | ||
| 519 | message: | ||
| 520 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 521 | type: "error", | ||
| 522 | }); | ||
| 523 | return false; | ||
| 524 | } | ||
| 525 | //是否分别持证 | ||
| 526 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 527 | //是 | ||
| 528 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 529 | item.sfczr = "1"; | ||
| 530 | }); | ||
| 531 | } else { | ||
| 532 | if (that.czr === '') { | ||
| 533 | that.$message({ | ||
| 534 | showClose: true, | ||
| 535 | message: "请选择持证人", | ||
| 536 | type: "error", | ||
| 537 | }); | ||
| 538 | return false; | ||
| 539 | } | ||
| 540 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 541 | if (item.id == that.czr) { | ||
| 542 | item.sfczr = "1"; | ||
| 543 | } else { | ||
| 544 | item.sfczr = "0"; | ||
| 545 | } | ||
| 546 | }); | ||
| 547 | } | ||
| 548 | } | ||
| 549 | /** | ||
| 550 | * @description: saveData | ||
| 551 | * @author: renchao | ||
| 552 | */ | ||
| 553 | |||
| 554 | this.$refs['ruleForm'].validate((valid) => { | ||
| 555 | if (valid) { | ||
| 556 | that.$store.dispatch("user/refreshPage", false); | ||
| 557 | saveData(that.ruleForm).then((res) => { | ||
| 558 | if (res.code === 200) { | ||
| 559 | that.$message({ | ||
| 560 | showClose: true, | ||
| 561 | message: "保存成功!", | ||
| 562 | type: "success", | ||
| 563 | }); | ||
| 564 | that.$store.dispatch("user/refreshPage", true); | ||
| 565 | } else { | ||
| 566 | that.$message({ | ||
| 567 | showClose: true, | ||
| 568 | message: res.message, | ||
| 569 | type: "error" | ||
| 570 | }) | ||
| 571 | } | ||
| 572 | }) | ||
| 573 | } else { | ||
| 574 | that.$message({ | ||
| 575 | showClose: true, | ||
| 576 | message: "请输入登记原因", | ||
| 577 | type: "error" | ||
| 578 | }) | ||
| 579 | return false | ||
| 580 | } | ||
| 581 | }) | ||
| 582 | } | ||
| 583 | } | ||
| 584 | } | ||
| 585 | </script> | ||
| 586 | <style scoped lang="scss"> | ||
| 587 | @import "~@/styles/public.scss"; | ||
| 588 | @import "~@/styles/slxx/slxx.scss"; | ||
| 589 | /deep/.el-form-item__error { | ||
| 590 | display: none; | ||
| 591 | } | ||
| 592 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-01-31 10:09:50 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <!-- 受理信息 --> | ||
| 8 | <div class="slxx"> | ||
| 9 | <el-form | ||
| 10 | :model="ruleForm" | ||
| 11 | :rules="rules" | ||
| 12 | v-Loading="loading" | ||
| 13 | ref="ruleForm" | ||
| 14 | :label-position="flag ? 'top' : ''" | ||
| 15 | :inline="flag" | ||
| 16 | label-width="120px"> | ||
| 17 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 18 | <div class="slxx_title title-block"> | ||
| 19 | 申请业务信息 | ||
| 20 | <div class="triangle"></div> | ||
| 21 | </div> | ||
| 22 | <el-row :gutter="10"> | ||
| 23 | <el-col :span="8"> | ||
| 24 | <el-form-item label="业务号:"> | ||
| 25 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 26 | </el-form-item> | ||
| 27 | </el-col> | ||
| 28 | <el-col :span="8"> | ||
| 29 | <el-form-item label="受理人员:"> | ||
| 30 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 31 | </el-form-item> | ||
| 32 | </el-col> | ||
| 33 | <el-col :span="8"> | ||
| 34 | <el-form-item label="受理时间:"> | ||
| 35 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 36 | </el-form-item> | ||
| 37 | </el-col> | ||
| 38 | </el-row> | ||
| 39 | <el-row :gutter="10"> | ||
| 40 | <el-col :span="8"> | ||
| 41 | <el-form-item label="权利类型:"> | ||
| 42 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 43 | </el-form-item> | ||
| 44 | </el-col> | ||
| 45 | <el-col :span="8"> | ||
| 46 | <el-form-item label="登记类型:"> | ||
| 47 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 48 | </el-form-item> | ||
| 49 | </el-col> | ||
| 50 | <el-col :span="8"> | ||
| 51 | <el-form-item label="登记情形:"> | ||
| 52 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 53 | </el-form-item> | ||
| 54 | </el-col> | ||
| 55 | </el-row> | ||
| 56 | <div class="slxx_title title-block"> | ||
| 57 | <el-row> | ||
| 58 | <el-col :span="20"> | ||
| 59 | 不动产单元情况 | ||
| 60 | </el-col> | ||
| 61 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
| 62 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
| 63 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
| 64 | <el-radio label="1">是</el-radio> | ||
| 65 | <el-radio label="0">否</el-radio> | ||
| 66 | </el-radio-group> | ||
| 67 | </el-form-item> | ||
| 68 | </el-col> | ||
| 69 | </el-row> | ||
| 70 | <div class="triangle"></div> | ||
| 71 | </div> | ||
| 72 | <el-row :gutter="10"> | ||
| 73 | <el-col :span="8"> | ||
| 74 | <el-form-item label="宗地代码:"> | ||
| 75 | <el-input disabled v-model="ruleForm.zdjbxx.zddm"></el-input> | ||
| 76 | </el-form-item> | ||
| 77 | </el-col> | ||
| 78 | <el-col :span="8"> | ||
| 79 | <el-form-item label="不动产单元号:"> | ||
| 80 | <el-input disabled v-model="ruleForm.zdjbxx.bdcdyh"></el-input> | ||
| 81 | </el-form-item> | ||
| 82 | </el-col> | ||
| 83 | <el-col :span="8"> | ||
| 84 | <el-form-item label="权利性质:"> | ||
| 85 | <el-input disabled v-model="ruleForm.zdjbxx.qlxzmc"></el-input> | ||
| 86 | </el-form-item> | ||
| 87 | </el-col> | ||
| 88 | </el-row> | ||
| 89 | <el-row :gutter="10"> | ||
| 90 | <el-col :span="8"> | ||
| 91 | <el-form-item label="宗地面积:"> | ||
| 92 | <el-input :disabled="!viewEdit" v-model="ruleForm.zdjbxx.zdmj"></el-input> | ||
| 93 | </el-form-item> | ||
| 94 | </el-col> | ||
| 95 | <el-col :span="8"> | ||
| 96 | <el-form-item label="权利设定方式:"> | ||
| 97 | <el-input disabled v-model="ruleForm.zdjbxx.qlsdfsmc"></el-input> | ||
| 98 | </el-form-item> | ||
| 99 | </el-col> | ||
| 100 | <el-col :span="8"> | ||
| 101 | <el-form-item label="农用地面积:"> | ||
| 102 | <div class="flex"> | ||
| 103 | <el-input | ||
| 104 | maxlength="12" | ||
| 105 | v-model="ruleForm.tdsyq.nydmj" | ||
| 106 | :disabled="!viewEdit" | ||
| 107 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 108 | <el-select | ||
| 109 | v-model="mjdw" | ||
| 110 | :disabled="!viewEdit" | ||
| 111 | style="width: 68px"> | ||
| 112 | <el-option | ||
| 113 | v-for="item in dictData['A7']" | ||
| 114 | :key="item.dcode" | ||
| 115 | :label="item.dname" | ||
| 116 | :value="item.dcode"> | ||
| 117 | </el-option> | ||
| 118 | </el-select> | ||
| 119 | </div> | ||
| 120 | </el-form-item> | ||
| 121 | </el-col> | ||
| 122 | </el-row> | ||
| 123 | <el-row :gutter="10"> | ||
| 124 | <el-col :span="8"> | ||
| 125 | <el-form-item label="耕地面积:"> | ||
| 126 | <div class="flex"> | ||
| 127 | <el-input | ||
| 128 | maxlength="12" | ||
| 129 | v-model="ruleForm.tdsyq.gdmj" | ||
| 130 | :disabled="!viewEdit" | ||
| 131 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 132 | <el-select | ||
| 133 | v-model="mjdw" | ||
| 134 | :disabled="!viewEdit" | ||
| 135 | style="width: 68px"> | ||
| 136 | <el-option | ||
| 137 | v-for="item in dictData['A7']" | ||
| 138 | :key="item.dcode" | ||
| 139 | :label="item.dname" | ||
| 140 | :value="item.dcode"> | ||
| 141 | </el-option> | ||
| 142 | </el-select> | ||
| 143 | </div> | ||
| 144 | </el-form-item> | ||
| 145 | </el-col> | ||
| 146 | <el-col :span="8"> | ||
| 147 | <el-form-item label="林地面积:"> | ||
| 148 | <div class="flex"> | ||
| 149 | <el-input | ||
| 150 | maxlength="12" | ||
| 151 | v-model="ruleForm.tdsyq.ldmj" | ||
| 152 | :disabled="!viewEdit" | ||
| 153 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 154 | <el-select | ||
| 155 | v-model="mjdw" | ||
| 156 | :disabled="!viewEdit" | ||
| 157 | style="width: 68px"> | ||
| 158 | <el-option | ||
| 159 | v-for="item in dictData['A7']" | ||
| 160 | :key="item.dcode" | ||
| 161 | :label="item.dname" | ||
| 162 | :value="item.dcode"> | ||
| 163 | </el-option> | ||
| 164 | </el-select> | ||
| 165 | </div> | ||
| 166 | </el-form-item> | ||
| 167 | </el-col> | ||
| 168 | <el-col :span="8"> | ||
| 169 | <el-form-item label="草地面积:"> | ||
| 170 | <div class="flex"> | ||
| 171 | <el-input | ||
| 172 | maxlength="12" | ||
| 173 | v-model="ruleForm.tdsyq.cdmj" | ||
| 174 | :disabled="!viewEdit" | ||
| 175 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 176 | <el-select | ||
| 177 | v-model="mjdw" | ||
| 178 | :disabled="!viewEdit" | ||
| 179 | style="width: 68px"> | ||
| 180 | <el-option | ||
| 181 | v-for="item in dictData['A7']" | ||
| 182 | :key="item.dcode" | ||
| 183 | :label="item.dname" | ||
| 184 | :value="item.dcode"> | ||
| 185 | </el-option> | ||
| 186 | </el-select> | ||
| 187 | </div> | ||
| 188 | </el-form-item> | ||
| 189 | </el-col> | ||
| 190 | </el-row> | ||
| 191 | <el-row :gutter="10"> | ||
| 192 | <el-col :span="8"> | ||
| 193 | <el-form-item label="其他农用地面积:"> | ||
| 194 | <div class="flex"> | ||
| 195 | <el-input | ||
| 196 | maxlength="12" | ||
| 197 | v-model="ruleForm.tdsyq.qtnydmj" | ||
| 198 | :disabled="!viewEdit" | ||
| 199 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 200 | <el-select | ||
| 201 | v-model="mjdw" | ||
| 202 | :disabled="!viewEdit" | ||
| 203 | style="width: 68px"> | ||
| 204 | <el-option | ||
| 205 | v-for="item in dictData['A7']" | ||
| 206 | :key="item.dcode" | ||
| 207 | :label="item.dname" | ||
| 208 | :value="item.dcode"> | ||
| 209 | </el-option> | ||
| 210 | </el-select> | ||
| 211 | </div> | ||
| 212 | </el-form-item> | ||
| 213 | </el-col> | ||
| 214 | <el-col :span="8"> | ||
| 215 | <el-form-item label="建筑使用面积:"> | ||
| 216 | <div class="flex"> | ||
| 217 | <el-input | ||
| 218 | maxlength="12" | ||
| 219 | v-model="ruleForm.tdsyq.jsydmj" | ||
| 220 | :disabled="!viewEdit" | ||
| 221 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 222 | <el-select | ||
| 223 | v-model="mjdw" | ||
| 224 | :disabled="!viewEdit" | ||
| 225 | style="width: 68px"> | ||
| 226 | <el-option | ||
| 227 | v-for="item in dictData['A7']" | ||
| 228 | :key="item.dcode" | ||
| 229 | :label="item.dname" | ||
| 230 | :value="item.dcode"> | ||
| 231 | </el-option> | ||
| 232 | </el-select> | ||
| 233 | </div> | ||
| 234 | </el-form-item> | ||
| 235 | </el-col> | ||
| 236 | <el-col :span="8"> | ||
| 237 | <el-form-item label="未利用地面积:"> | ||
| 238 | <div class="flex"> | ||
| 239 | <el-input | ||
| 240 | maxlength="12" | ||
| 241 | v-model="ruleForm.tdsyq.wlydmj" | ||
| 242 | :disabled="!viewEdit" | ||
| 243 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 244 | <el-select | ||
| 245 | v-model="mjdw" | ||
| 246 | :disabled="!viewEdit" | ||
| 247 | style="width: 68px"> | ||
| 248 | <el-option | ||
| 249 | v-for="item in dictData['A7']" | ||
| 250 | :key="item.dcode" | ||
| 251 | :label="item.dname" | ||
| 252 | :value="item.dcode"> | ||
| 253 | </el-option> | ||
| 254 | </el-select> | ||
| 255 | </div> | ||
| 256 | </el-form-item> | ||
| 257 | </el-col> | ||
| 258 | </el-row> | ||
| 259 | <div class="slxx_title title-block"> | ||
| 260 | 土地用途 | ||
| 261 | <div class="triangle"></div> | ||
| 262 | </div> | ||
| 263 | <tdytTable | ||
| 264 | :tableData="ruleForm.tdytqxList" | ||
| 265 | :ableOperation="viewEdit" | ||
| 266 | @upDateTdytxxList="upDateTdytxxList" /> | ||
| 267 | <div class="slxx_title title-block"> | ||
| 268 | 权利人信息 | ||
| 269 | <div class="triangle"></div> | ||
| 270 | </div> | ||
| 271 | <el-row :gutter="10"> | ||
| 272 | <el-col :span="12"> | ||
| 273 | <el-form-item label="共有方式:"> | ||
| 274 | <el-radio-group | ||
| 275 | :disabled="!viewEdit" | ||
| 276 | v-model="ruleForm.sldy.gyfs"> | ||
| 277 | <el-radio label="0">单独所有</el-radio> | ||
| 278 | <el-radio label="1">共同共有</el-radio> | ||
| 279 | <el-radio label="2">按份所有</el-radio> | ||
| 280 | <el-radio label="3">其它共有</el-radio> | ||
| 281 | </el-radio-group> | ||
| 282 | </el-form-item> | ||
| 283 | </el-col> | ||
| 284 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 285 | <el-form-item label="是否分别持证:"> | ||
| 286 | <el-radio-group | ||
| 287 | v-model="ruleForm.sldy.sqfbcz" | ||
| 288 | :disabled="!viewEdit" | ||
| 289 | @input="updaterow()"> | ||
| 290 | <el-radio :label="1">是</el-radio> | ||
| 291 | <el-radio :label="0">否</el-radio> | ||
| 292 | </el-radio-group> | ||
| 293 | </el-form-item> | ||
| 294 | </el-col> | ||
| 295 | <el-col | ||
| 296 | :span="6" | ||
| 297 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 298 | <el-form-item label="持证人:"> | ||
| 299 | <el-select | ||
| 300 | v-model="czr" | ||
| 301 | placeholder="持证人" | ||
| 302 | :disabled="!viewEdit"> | ||
| 303 | <el-option | ||
| 304 | v-for="(item, index) in czrOptions" | ||
| 305 | :key="index" | ||
| 306 | :label="item.sqrmc" | ||
| 307 | :value="item.id"> | ||
| 308 | </el-option> | ||
| 309 | </el-select> | ||
| 310 | </el-form-item> | ||
| 311 | </el-col> | ||
| 312 | </el-row> | ||
| 313 | <qlrCommonTable | ||
| 314 | :tableData="ruleForm.qlrList" | ||
| 315 | :disabled="viewEdit" | ||
| 316 | @upDateQlrxxList="upDateQlrxxList" | ||
| 317 | :key="key" | ||
| 318 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 319 | |||
| 320 | <div v-if="ruleForm.ywrList && ruleForm.ywrList.length > 0"> | ||
| 321 | <div class="slxx_title title-block"> | ||
| 322 | 义务人信息 | ||
| 323 | <div class="triangle"></div> | ||
| 324 | </div> | ||
| 325 | <ywrCommonTable | ||
| 326 | v-if="ruleForm.ywrList" | ||
| 327 | :disabled="viewEdit" | ||
| 328 | :tableData="ruleForm.ywrList" | ||
| 329 | :key="key" | ||
| 330 | @upDateQlrxxList="upDateYwrxxList" /> | ||
| 331 | </div> | ||
| 332 | |||
| 333 | <div class="slxx_title title-block"> | ||
| 334 | 登记原因 | ||
| 335 | <div class="triangle"></div> | ||
| 336 | </div> | ||
| 337 | <el-row :gutter="10"> | ||
| 338 | <el-col> | ||
| 339 | <el-form-item label="登记原因:" prop="tdsyq.djyy"> | ||
| 340 | <el-input | ||
| 341 | class="textArea" | ||
| 342 | maxlength="500" | ||
| 343 | show-word-limit | ||
| 344 | type="textarea" | ||
| 345 | :disabled="!viewEdit" | ||
| 346 | v-model="ruleForm.tdsyq.djyy"> | ||
| 347 | </el-input> | ||
| 348 | </el-form-item> | ||
| 349 | </el-col> | ||
| 350 | </el-row> | ||
| 351 | </div> | ||
| 352 | <el-row class="btn" v-if="isSave"> | ||
| 353 | <el-form-item> | ||
| 354 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 355 | </el-form-item> | ||
| 356 | </el-row> | ||
| 357 | </el-form> | ||
| 358 | </div> | ||
| 359 | </template> | ||
| 360 | <script> | ||
| 361 | import { mapGetters } from "vuex"; | ||
| 362 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 363 | import { Init, saveData } from "@/api/workflow/tdsyqFlow.js"; | ||
| 364 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
| 365 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 366 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 367 | export default { | ||
| 368 | mixins: [ywmix], | ||
| 369 | components: { qlrCommonTable, tdytTable, ywrCommonTable }, | ||
| 370 | mounted () { | ||
| 371 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 372 | this.propsParam = this.$attrs; | ||
| 373 | var formdata = new FormData(); | ||
| 374 | let that = this; | ||
| 375 | this.loading = true | ||
| 376 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 377 | formdata.append("djlx", this.propsParam.djlx); | ||
| 378 | formdata.append("isEdit", this.viewEdit); | ||
| 379 | Init(formdata).then((res) => { | ||
| 380 | setTimeout(() => { | ||
| 381 | this.loading = false | ||
| 382 | }, 200) | ||
| 383 | if (res.code === 200) { | ||
| 384 | that.ruleForm = res.result; | ||
| 385 | that.ruleForm.qlrList.forEach((item) => { | ||
| 386 | item.id = item.bsmSqr | ||
| 387 | if (item.sfczr == '1') { | ||
| 388 | that.czr = item.bsmSqr | ||
| 389 | } | ||
| 390 | }) | ||
| 391 | that.czrOptions = that.ruleForm.qlrList; | ||
| 392 | that.isSave = that.viewEdit | ||
| 393 | } else { | ||
| 394 | this.isSave = false | ||
| 395 | this.$confirm(res.message, '提示', { | ||
| 396 | cancelButtonText: '取消', | ||
| 397 | showConfirmButton: false, | ||
| 398 | type: 'warning' | ||
| 399 | }) | ||
| 400 | } | ||
| 401 | }).catch(() => { | ||
| 402 | this.loading = false | ||
| 403 | }) | ||
| 404 | }, | ||
| 405 | computed: { | ||
| 406 | ...mapGetters(["dictData", "flag"]), | ||
| 407 | }, | ||
| 408 | data () { | ||
| 409 | return { | ||
| 410 | isSave: true, | ||
| 411 | loading: false, | ||
| 412 | // 键名转换,方法默认是label和children进行树状渲染 | ||
| 413 | normalizer (node) { | ||
| 414 | //方法 | ||
| 415 | if (node.children == null || node.children == "null") { | ||
| 416 | delete node.children; | ||
| 417 | } | ||
| 418 | return { | ||
| 419 | id: node.dcode, | ||
| 420 | label: node.dname, | ||
| 421 | }; | ||
| 422 | }, | ||
| 423 | mjdw: "1", | ||
| 424 | value2: { | ||
| 425 | id: "520000198407304275", | ||
| 426 | user: "史平", | ||
| 427 | }, | ||
| 428 | props: { | ||
| 429 | label: "user", | ||
| 430 | value: "id", | ||
| 431 | keyword: "keyword", | ||
| 432 | }, | ||
| 433 | //表单是否可操作 | ||
| 434 | viewEdit: true, | ||
| 435 | key: 0, | ||
| 436 | disabled: true, | ||
| 437 | czrOptions: [], | ||
| 438 | czr: "", | ||
| 439 | ruleForm: {}, | ||
| 440 | //传递参数 | ||
| 441 | propsParam: {}, | ||
| 442 | rules: { | ||
| 443 | 'tdsyq.djyy': [ | ||
| 444 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 445 | ] | ||
| 446 | } | ||
| 447 | } | ||
| 448 | }, | ||
| 449 | methods: { | ||
| 450 | /** | ||
| 451 | * @description: 更新土地用途信息 | ||
| 452 | * @param {*} val | ||
| 453 | * @author: renchao | ||
| 454 | */ | ||
| 455 | upDateTdytxxList (val) { | ||
| 456 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
| 457 | this.key++; | ||
| 458 | }, | ||
| 459 | /** | ||
| 460 | * @description: 更新权利人信息 | ||
| 461 | * @param {*} val | ||
| 462 | * @author: renchao | ||
| 463 | */ | ||
| 464 | upDateQlrxxList (val) { | ||
| 465 | this.ruleForm.qlrList && (this.ruleForm.qlrList = _.cloneDeep(val)); | ||
| 466 | this.czrOptions = this.ruleForm.qlrList; | ||
| 467 | this.num = 0 | ||
| 468 | this.ruleForm.qlrList.forEach(item => { | ||
| 469 | if (item.id == this.czr) { | ||
| 470 | this.num++ | ||
| 471 | } | ||
| 472 | }) | ||
| 473 | if (this.num == 0) { | ||
| 474 | this.czr = '' | ||
| 475 | } | ||
| 476 | }, | ||
| 477 | /** | ||
| 478 | * @description: 更新义务人信息 | ||
| 479 | * @param {*} val | ||
| 480 | * @author: renchao | ||
| 481 | */ | ||
| 482 | upDateYwrxxList (val) { | ||
| 483 | this.ruleForm.ywrList && (this.ruleForm.ywrList = _.cloneDeep(val)); | ||
| 484 | this.key++; | ||
| 485 | }, | ||
| 486 | /** | ||
| 487 | * @description: 是否持证人变化 | ||
| 488 | * @param {*} val | ||
| 489 | * @author: renchao | ||
| 490 | */ | ||
| 491 | updaterow () { | ||
| 492 | this.czr = ""; | ||
| 493 | }, | ||
| 494 | /** | ||
| 495 | * @description: onSubmit | ||
| 496 | * @author: renchao | ||
| 497 | */ | ||
| 498 | onSubmit () { | ||
| 499 | let that = this; | ||
| 500 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
| 501 | if (arr.length > 0) { | ||
| 502 | this.$message({ | ||
| 503 | showClose: true, | ||
| 504 | message: "土地用途不能为空", | ||
| 505 | type: "error", | ||
| 506 | }); | ||
| 507 | return false; | ||
| 508 | } | ||
| 509 | if (this.ruleForm.qlrList.length == 0) { | ||
| 510 | this.$message({ | ||
| 511 | showClose: true, | ||
| 512 | message: "请确认权利人信息", | ||
| 513 | type: "error", | ||
| 514 | }); | ||
| 515 | return false; | ||
| 516 | } | ||
| 517 | |||
| 518 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 519 | if (this.ruleForm.qlrList.length > 1) { | ||
| 520 | this.$message({ | ||
| 521 | showClose: true, | ||
| 522 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 523 | type: "error", | ||
| 524 | }); | ||
| 525 | return false; | ||
| 526 | } | ||
| 527 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 528 | } else { | ||
| 529 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 530 | this.$message({ | ||
| 531 | showClose: true, | ||
| 532 | message: | ||
| 533 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 534 | type: "error", | ||
| 535 | }); | ||
| 536 | return false; | ||
| 537 | } | ||
| 538 | //是否分别持证 | ||
| 539 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 540 | //是 | ||
| 541 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 542 | item.sfczr = "1"; | ||
| 543 | }) | ||
| 544 | } else { | ||
| 545 | if (that.czr === '') { | ||
| 546 | that.$message({ | ||
| 547 | showClose: true, | ||
| 548 | message: "请选择持证人", | ||
| 549 | type: "error" | ||
| 550 | }) | ||
| 551 | return false | ||
| 552 | } | ||
| 553 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 554 | if (item.id == that.czr) { | ||
| 555 | item.sfczr = "1" | ||
| 556 | } else { | ||
| 557 | item.sfczr = "0" | ||
| 558 | } | ||
| 559 | }) | ||
| 560 | } | ||
| 561 | } | ||
| 562 | /** | ||
| 563 | * @description: saveData | ||
| 564 | * @author: renchao | ||
| 565 | */ | ||
| 566 | |||
| 567 | this.$refs['ruleForm'].validate((valid) => { | ||
| 568 | if (valid) { | ||
| 569 | saveData(this.ruleForm).then((res) => { | ||
| 570 | if (res.code === 200) { | ||
| 571 | that.$message({ | ||
| 572 | showClose: true, | ||
| 573 | message: "保存成功!", | ||
| 574 | type: "success", | ||
| 575 | }); | ||
| 576 | that.$store.dispatch("user/refreshPage", true); | ||
| 577 | } else { | ||
| 578 | that.$message({ | ||
| 579 | showClose: true, | ||
| 580 | message: res.message, | ||
| 581 | type: "error" | ||
| 582 | }) | ||
| 583 | } | ||
| 584 | }) | ||
| 585 | } else { | ||
| 586 | this.$message({ | ||
| 587 | showClose: true, | ||
| 588 | message: "请输入登记原因", | ||
| 589 | type: "error" | ||
| 590 | }); | ||
| 591 | return false; | ||
| 592 | } | ||
| 593 | }); | ||
| 594 | } | ||
| 595 | } | ||
| 596 | } | ||
| 597 | </script> | ||
| 598 | <style scoped lang="scss"> | ||
| 599 | @import "~@/styles/public.scss"; | ||
| 600 | @import "~@/styles/slxx/slxx.scss"; | ||
| 601 | </style> |
src/views/workflow/main/slsqxx/ygdj/slxx.vue
0 → 100644
| 1 | <template> | ||
| 2 | <!-- 受理信息 --> | ||
| 3 | <div class="slxx"> | ||
| 4 | <el-form | ||
| 5 | :model="ruleForm" | ||
| 6 | :rules="rules" | ||
| 7 | v-Loading="loading" | ||
| 8 | ref="ruleForm" | ||
| 9 | :label-position="flag ? 'top' : ''" | ||
| 10 | :inline="flag" | ||
| 11 | label-width="120px"> | ||
| 12 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 13 | <div class="slxx_title title-block"> | ||
| 14 | 申请业务信息 | ||
| 15 | <div class="triangle"></div> | ||
| 16 | </div> | ||
| 17 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 18 | <el-col :span="8"> | ||
| 19 | <el-form-item label="业务号:"> | ||
| 20 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 21 | </el-form-item> | ||
| 22 | </el-col> | ||
| 23 | <el-col :span="8"> | ||
| 24 | <el-form-item label="受理人员:"> | ||
| 25 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 26 | </el-form-item> | ||
| 27 | </el-col> | ||
| 28 | <el-col :span="8"> | ||
| 29 | <el-form-item label="受理时间:"> | ||
| 30 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 31 | </el-form-item> | ||
| 32 | </el-col> | ||
| 33 | </el-row> | ||
| 34 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 35 | <el-col :span="8"> | ||
| 36 | <el-form-item label="权利类型:"> | ||
| 37 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 38 | </el-form-item> | ||
| 39 | </el-col> | ||
| 40 | <el-col :span="8"> | ||
| 41 | <el-form-item label="登记类型:"> | ||
| 42 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 43 | </el-form-item> | ||
| 44 | </el-col> | ||
| 45 | <el-col :span="8"> | ||
| 46 | <el-form-item label="登记情形:"> | ||
| 47 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 48 | </el-form-item> | ||
| 49 | </el-col> | ||
| 50 | </el-row> | ||
| 51 | <div class="slxx_title title-block"> | ||
| 52 | 不动产情况 | ||
| 53 | <div class="triangle"></div> | ||
| 54 | </div> | ||
| 55 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 56 | <el-col :span="8"> | ||
| 57 | <el-form-item label="原不动产证号:"> | ||
| 58 | <el-input disabled v-model="ruleForm.sldy.ybdcqzsh"></el-input> | ||
| 59 | </el-form-item> | ||
| 60 | </el-col> | ||
| 61 | <el-col :span="8"> | ||
| 62 | <el-form-item label="不动产单元号:"> | ||
| 63 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 64 | </el-form-item> | ||
| 65 | </el-col> | ||
| 66 | <el-col :span="8"> | ||
| 67 | <el-form-item label="坐落:"> | ||
| 68 | <el-input disabled v-model="ruleForm.sldy.zl"></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 disabled v-model="ruleForm.ygdj.ygdjzlmc"></el-input> | ||
| 76 | </el-form-item> | ||
| 77 | </el-col> | ||
| 78 | <el-col :span="8"> | ||
| 79 | <el-form-item label="土地使用权人:"> | ||
| 80 | <el-input disabled v-model="ruleForm.ygdj.tdsyqr"></el-input> | ||
| 81 | </el-form-item> | ||
| 82 | </el-col> | ||
| 83 | <el-col :span="8"> | ||
| 84 | <el-form-item label="房屋性质:"> | ||
| 85 | <el-select v-model="ruleForm.ygdj.fwxz" :disabled="!viewEdit"> | ||
| 86 | <el-option | ||
| 87 | v-for="item in dictData['A19']" | ||
| 88 | :key="item.dcode" | ||
| 89 | :label="item.dname" | ||
| 90 | :value="item.dcode"> | ||
| 91 | </el-option> | ||
| 92 | </el-select> | ||
| 93 | </el-form-item> | ||
| 94 | </el-col> | ||
| 95 | </el-row> | ||
| 96 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 97 | <el-col :span="8"> | ||
| 98 | <el-form-item label="房屋用途:"> | ||
| 99 | <el-select v-model="ruleForm.ygdj.ghyt" :disabled="!viewEdit"> | ||
| 100 | <el-option | ||
| 101 | v-for="item in dictData['A17']" | ||
| 102 | :key="item.dcode" | ||
| 103 | :label="item.dname" | ||
| 104 | :value="item.dcode"> | ||
| 105 | </el-option> | ||
| 106 | </el-select> | ||
| 107 | </el-form-item> | ||
| 108 | </el-col> | ||
| 109 | <el-col :span="8"> | ||
| 110 | <el-form-item label="所在层:"> | ||
| 111 | <el-input maxlength="20" :disabled="!viewEdit" v-model="ruleForm.ygdj.szc"></el-input> | ||
| 112 | </el-form-item> | ||
| 113 | </el-col> | ||
| 114 | <el-col :span="8"> | ||
| 115 | <el-form-item label="总层数:"> | ||
| 116 | <el-input | ||
| 117 | :disabled="!viewEdit" | ||
| 118 | maxlength="4" | ||
| 119 | v-model.number="ruleForm.ygdj.zcs" | ||
| 120 | oninput="value=value.replace(/[^0-9]/g,'')"></el-input> | ||
| 121 | </el-form-item> | ||
| 122 | </el-col> | ||
| 123 | </el-row> | ||
| 124 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 125 | <el-col :span="8"> | ||
| 126 | <el-form-item label="房屋结构:"> | ||
| 127 | <el-select v-model="ruleForm.ygdj.fwjg" :disabled="!viewEdit"> | ||
| 128 | <el-option | ||
| 129 | v-for="item in dictData['A46']" | ||
| 130 | :key="item.dcode" | ||
| 131 | :label="item.dname" | ||
| 132 | :value="item.dcode"> | ||
| 133 | </el-option> | ||
| 134 | </el-select> | ||
| 135 | </el-form-item> | ||
| 136 | </el-col> | ||
| 137 | |||
| 138 | <el-col :span="8"> | ||
| 139 | <el-form-item label="建筑面积:"> | ||
| 140 | <div class="flex"> | ||
| 141 | <el-input | ||
| 142 | maxlength="12" | ||
| 143 | v-model="ruleForm.ygdj.jzmj" | ||
| 144 | :disabled="!viewEdit" | ||
| 145 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 146 | <el-select :disabled="!viewEdit" v-model="mjdw" style="width: 68px"> | ||
| 147 | <el-option | ||
| 148 | v-for="item in dictData['A7']" | ||
| 149 | :key="item.dcode" | ||
| 150 | :label="item.dname" | ||
| 151 | :value="item.dcode"> | ||
| 152 | </el-option> | ||
| 153 | </el-select> | ||
| 154 | </div> | ||
| 155 | </el-form-item> | ||
| 156 | </el-col> | ||
| 157 | <el-col :span="8"> | ||
| 158 | <el-form-item label="取得价格:"> | ||
| 159 | <div class="flex"> | ||
| 160 | <el-input | ||
| 161 | :disabled="!viewEdit" | ||
| 162 | maxlength="11" | ||
| 163 | v-model="ruleForm.ygdj.qdjg" | ||
| 164 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 165 | <el-select | ||
| 166 | v-model="ruleForm.ygdj.jedw" | ||
| 167 | :disabled="!viewEdit" | ||
| 168 | style="width: 68px"> | ||
| 169 | <el-option | ||
| 170 | v-for="item in dictData['A57']" | ||
| 171 | :key="item.dcode" | ||
| 172 | :label="item.dname" | ||
| 173 | :value="item.dcode"> | ||
| 174 | </el-option> | ||
| 175 | </el-select> | ||
| 176 | </div> | ||
| 177 | </el-form-item> | ||
| 178 | </el-col> | ||
| 179 | </el-row> | ||
| 180 | <el-row :gutter="10"> | ||
| 181 | <el-col :span="24"> | ||
| 182 | <el-form-item label="附记:"> | ||
| 183 | <el-input | ||
| 184 | :disabled="!viewEdit" | ||
| 185 | v-model="ruleForm.ygdj.fj" | ||
| 186 | type="textarea" | ||
| 187 | maxlength="500" | ||
| 188 | show-word-limit></el-input> | ||
| 189 | </el-form-item> | ||
| 190 | </el-col> | ||
| 191 | </el-row> | ||
| 192 | <div class="slxx_title title-block"> | ||
| 193 | 权利人信息 | ||
| 194 | <div class="triangle"></div> | ||
| 195 | </div> | ||
| 196 | <el-row :gutter="10"> | ||
| 197 | <el-col :span="12" v-if="ruleForm.qlxx"> | ||
| 198 | <el-form-item label="共有方式:"> | ||
| 199 | <el-radio-group | ||
| 200 | :disabled="!viewEdit" | ||
| 201 | v-model="ruleForm.sldy.gyfs"> | ||
| 202 | <el-radio label="0">单独所有</el-radio> | ||
| 203 | <el-radio label="1">共同共有</el-radio> | ||
| 204 | <el-radio label="2">按份所有</el-radio> | ||
| 205 | <el-radio label="3">其它共有</el-radio> | ||
| 206 | </el-radio-group> | ||
| 207 | </el-form-item> | ||
| 208 | </el-col> | ||
| 209 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 210 | <el-form-item label="是否分别持证:"> | ||
| 211 | <el-radio-group | ||
| 212 | v-model="ruleForm.sldy.sqfbcz" | ||
| 213 | :disabled="!viewEdit" | ||
| 214 | @input="updaterow()"> | ||
| 215 | <el-radio :label="1">是</el-radio> | ||
| 216 | <el-radio :label="0">否</el-radio> | ||
| 217 | </el-radio-group> | ||
| 218 | </el-form-item> | ||
| 219 | </el-col> | ||
| 220 | <el-col | ||
| 221 | :span="6" | ||
| 222 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 223 | <el-form-item label="持证人:"> | ||
| 224 | <el-select | ||
| 225 | v-model="czr" | ||
| 226 | placeholder="持证人" | ||
| 227 | :disabled="!viewEdit"> | ||
| 228 | <el-option | ||
| 229 | v-for="(item,index) in czrOptions" | ||
| 230 | :key="index" | ||
| 231 | :label="item.sqrmc" | ||
| 232 | :value="item.id"> | ||
| 233 | </el-option> | ||
| 234 | </el-select> | ||
| 235 | </el-form-item> | ||
| 236 | </el-col> | ||
| 237 | </el-row> | ||
| 238 | <qlrCommonTable | ||
| 239 | @upDateQlrxxList="upDateQlrxxList" | ||
| 240 | :disabled="viewEdit" | ||
| 241 | :tableData="ruleForm.qlrList" | ||
| 242 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 243 | <div class="slxx_title title-block"> | ||
| 244 | 义务人信息 | ||
| 245 | <div class="triangle"></div> | ||
| 246 | </div> | ||
| 247 | <ywrCommonTable | ||
| 248 | @upDateQlrxxList="upDateYwrxxList" | ||
| 249 | :disabled="viewEdit" | ||
| 250 | :tableData="ruleForm.ywrList" | ||
| 251 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 252 | <div class="slxx_title title-block"> | ||
| 253 | 登记原因 | ||
| 254 | <div class="triangle"></div> | ||
| 255 | </div> | ||
| 256 | <el-row :gutter="10"> | ||
| 257 | <el-col> | ||
| 258 | <el-form-item v-if="ruleForm.sldy.djlx=='400'" label="注销登记原因:" prop="djyy"> | ||
| 259 | <el-input | ||
| 260 | class="textArea" | ||
| 261 | type="textarea" | ||
| 262 | maxlength="500" | ||
| 263 | show-word-limit | ||
| 264 | :disabled="!viewEdit" | ||
| 265 | v-model="ruleForm.ygdj.zxyy"> | ||
| 266 | </el-input> | ||
| 267 | </el-form-item> | ||
| 268 | <el-form-item v-else label="登记原因:" prop="ygdj.djyy"> | ||
| 269 | <el-input | ||
| 270 | class="textArea" | ||
| 271 | type="textarea" | ||
| 272 | maxlength="500" | ||
| 273 | show-word-limit | ||
| 274 | :disabled="!viewEdit" | ||
| 275 | v-model="ruleForm.ygdj.djyy"> | ||
| 276 | </el-input> | ||
| 277 | </el-form-item> | ||
| 278 | </el-col> | ||
| 279 | </el-row> | ||
| 280 | </div> | ||
| 281 | <el-row class="btn" v-if="isSave"> | ||
| 282 | <el-form-item> | ||
| 283 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 284 | </el-form-item> | ||
| 285 | </el-row> | ||
| 286 | </el-form> | ||
| 287 | </div> | ||
| 288 | </template> | ||
| 289 | <script> | ||
| 290 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 291 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 292 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 293 | import { Init, saveData } from "@/api/workflow/ygdjFlow.js"; | ||
| 294 | import { mapGetters } from "vuex"; | ||
| 295 | export default { | ||
| 296 | mixins: [ywmix], | ||
| 297 | mounted () { | ||
| 298 | let that = this | ||
| 299 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 300 | this.propsParam = this.$attrs; | ||
| 301 | this.loading = true | ||
| 302 | var formdata = new FormData(); | ||
| 303 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 304 | formdata.append("djlx", this.propsParam.djlx); | ||
| 305 | formdata.append("isEdit", this.viewEdit); | ||
| 306 | Init(formdata).then((res) => { | ||
| 307 | setTimeout(() => { | ||
| 308 | this.loading = false | ||
| 309 | }, 200) | ||
| 310 | if (res.code === 200 && res.result) { | ||
| 311 | this.ruleForm = res.result; | ||
| 312 | this.ruleForm.qlrList.forEach((item) => { | ||
| 313 | item.id = item.bsmSqr | ||
| 314 | if (item.sfczr == '1') { | ||
| 315 | that.czr = item.bsmSqr | ||
| 316 | } | ||
| 317 | }) | ||
| 318 | that.czrOptions = this.ruleForm.qlrList | ||
| 319 | that.isSave = that.viewEdit | ||
| 320 | } else { | ||
| 321 | that.isSave = false | ||
| 322 | that.$confirm(res.message, '提示', { | ||
| 323 | cancelButtonText: '取消', | ||
| 324 | showConfirmButton: false, | ||
| 325 | type: 'warning' | ||
| 326 | }) | ||
| 327 | } | ||
| 328 | }).catch(() => { | ||
| 329 | this.isSave = false | ||
| 330 | this.loading = false | ||
| 331 | }) | ||
| 332 | }, | ||
| 333 | components: { qlrCommonTable, ywrCommonTable }, | ||
| 334 | computed: { | ||
| 335 | ...mapGetters(["dictData", "flag"]) | ||
| 336 | }, | ||
| 337 | data () { | ||
| 338 | return { | ||
| 339 | isSave: true, | ||
| 340 | loading: false, | ||
| 341 | mjdw: "1", | ||
| 342 | //表单是否可操作 | ||
| 343 | viewEdit: true, | ||
| 344 | disabled: true, | ||
| 345 | tdytOption: [], | ||
| 346 | czrOptions: [], | ||
| 347 | czr: "", | ||
| 348 | ruleForm: { | ||
| 349 | qlxx: {}, | ||
| 350 | sldy: {}, | ||
| 351 | slsq: {}, | ||
| 352 | ygdj: {}, | ||
| 353 | zdjbxx: {}, | ||
| 354 | }, | ||
| 355 | //传递参数 | ||
| 356 | propsParam: this.$attrs, | ||
| 357 | rules: { | ||
| 358 | 'ygdj.djyy': [ | ||
| 359 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 360 | ] | ||
| 361 | } | ||
| 362 | } | ||
| 363 | }, | ||
| 364 | methods: { | ||
| 365 | /** | ||
| 366 | * @description: 更新权利人信息 | ||
| 367 | * @param {*} val | ||
| 368 | * @author: renchao | ||
| 369 | */ | ||
| 370 | upDateQlrxxList (val) { | ||
| 371 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 372 | this.czrOptions = this.ruleForm.qlrList; | ||
| 373 | this.num = 0 | ||
| 374 | this.ruleForm.qlrList.forEach(item => { | ||
| 375 | if (item.id == this.czr) { | ||
| 376 | this.num++ | ||
| 377 | } | ||
| 378 | }) | ||
| 379 | if (this.num == 0) { | ||
| 380 | this.czr = '' | ||
| 381 | } | ||
| 382 | }, | ||
| 383 | /** | ||
| 384 | * @description: 更新业务人信息 | ||
| 385 | * @param {*} val | ||
| 386 | * @author: renchao | ||
| 387 | */ | ||
| 388 | upDateYwrxxList (val) { | ||
| 389 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 390 | }, | ||
| 391 | /** | ||
| 392 | * @description: 是否持证人变化 | ||
| 393 | * @param {*} val | ||
| 394 | * @author: renchao | ||
| 395 | */ | ||
| 396 | updaterow () { | ||
| 397 | this.czr = ""; | ||
| 398 | }, | ||
| 399 | /** | ||
| 400 | * @description: onSubmit | ||
| 401 | * @author: renchao | ||
| 402 | */ | ||
| 403 | onSubmit () { | ||
| 404 | let that = this; | ||
| 405 | if (this.ruleForm.qlrList.length == 0) { | ||
| 406 | this.$message({ | ||
| 407 | showClose: true, | ||
| 408 | message: "请确认权利人信息", | ||
| 409 | type: "error", | ||
| 410 | }); | ||
| 411 | return false; | ||
| 412 | } | ||
| 413 | |||
| 414 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 415 | if (this.ruleForm.qlrList.length > 1) { | ||
| 416 | this.$message({ | ||
| 417 | showClose: true, | ||
| 418 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 419 | type: "error", | ||
| 420 | }); | ||
| 421 | return false; | ||
| 422 | } | ||
| 423 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 424 | } else { | ||
| 425 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 426 | this.$message({ | ||
| 427 | showClose: true, | ||
| 428 | message: | ||
| 429 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 430 | type: "error", | ||
| 431 | }); | ||
| 432 | return false; | ||
| 433 | } | ||
| 434 | //是否分别持证 | ||
| 435 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 436 | //是 | ||
| 437 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 438 | item.sfczr = "1"; | ||
| 439 | }); | ||
| 440 | } else { | ||
| 441 | if (that.czr === '') { | ||
| 442 | that.$message({ | ||
| 443 | showClose: true, | ||
| 444 | message: "请选择持证人", | ||
| 445 | type: "error" | ||
| 446 | }); | ||
| 447 | return false; | ||
| 448 | } | ||
| 449 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 450 | if (item.id == that.czr) { | ||
| 451 | item.sfczr = "1" | ||
| 452 | } else { | ||
| 453 | item.sfczr = "0" | ||
| 454 | } | ||
| 455 | }) | ||
| 456 | } | ||
| 457 | } | ||
| 458 | this.$refs['ruleForm'].validate((valid) => { | ||
| 459 | if (valid) { | ||
| 460 | that.$store.dispatch("user/refreshPage", false); | ||
| 461 | saveData(that.ruleForm).then((res) => { | ||
| 462 | if (res.code === 200) { | ||
| 463 | that.$message({ | ||
| 464 | showClose: true, | ||
| 465 | message: "保存成功!", | ||
| 466 | type: "success", | ||
| 467 | }); | ||
| 468 | that.$store.dispatch("user/refreshPage", true); | ||
| 469 | } else { | ||
| 470 | that.$message({ | ||
| 471 | showClose: true, | ||
| 472 | message: res.message, | ||
| 473 | type: "error", | ||
| 474 | }); | ||
| 475 | } | ||
| 476 | }) | ||
| 477 | } else { | ||
| 478 | that.$message({ | ||
| 479 | showClose: true, | ||
| 480 | message: "请输入登记原因", | ||
| 481 | type: "error" | ||
| 482 | }) | ||
| 483 | return false | ||
| 484 | } | ||
| 485 | }) | ||
| 486 | } | ||
| 487 | } | ||
| 488 | } | ||
| 489 | </script> | ||
| 490 | <style scoped lang="scss"> | ||
| 491 | @import "~@/styles/public.scss"; | ||
| 492 | |||
| 493 | /deep/.el-form { | ||
| 494 | display: flex; | ||
| 495 | flex-direction: column; | ||
| 496 | height: calc(100vh - 130px); | ||
| 497 | } | ||
| 498 | |||
| 499 | /deep/.el-form-item__label { | ||
| 500 | padding: 0; | ||
| 501 | } | ||
| 502 | |||
| 503 | /deep/.el-radio { | ||
| 504 | margin-right: 10px; | ||
| 505 | } | ||
| 506 | |||
| 507 | /deep/.el-select { | ||
| 508 | width: 100%; | ||
| 509 | } | ||
| 510 | |||
| 511 | /deep/.el-form-item { | ||
| 512 | margin-bottom: 3px; | ||
| 513 | } | ||
| 514 | |||
| 515 | .marginBot0 { | ||
| 516 | margin-bottom: 0 !important; | ||
| 517 | } | ||
| 518 | |||
| 519 | .slxx { | ||
| 520 | box-sizing: border-box; | ||
| 521 | } | ||
| 522 | |||
| 523 | .slxx_con { | ||
| 524 | flex: 1; | ||
| 525 | height: 100%; | ||
| 526 | background-color: #ffffff; | ||
| 527 | overflow-y: auto; | ||
| 528 | padding-right: 3px; | ||
| 529 | overflow-x: hidden; | ||
| 530 | } | ||
| 531 | |||
| 532 | .submit_btn { | ||
| 533 | height: 50px; | ||
| 534 | } | ||
| 535 | |||
| 536 | .btn { | ||
| 537 | text-align: center; | ||
| 538 | padding-top: 10px; | ||
| 539 | height: 36px; | ||
| 540 | background-color: #ffffff; | ||
| 541 | padding: 5px 0; | ||
| 542 | } | ||
| 543 | |||
| 544 | .textArea { | ||
| 545 | /deep/.el-textarea__inner { | ||
| 546 | min-height: 90px !important; | ||
| 547 | } | ||
| 548 | } | ||
| 549 | |||
| 550 | /deep/.el-form-item__label { | ||
| 551 | padding-bottom: 0px; | ||
| 552 | } | ||
| 553 | </style> |
src/views/workflow/main/slsqxx/ygdy/slxx.vue
0 → 100644
| 1 | <template> | ||
| 2 | <!-- 受理信息 --> | ||
| 3 | <div class="slxx"> | ||
| 4 | <el-form | ||
| 5 | :model="ruleForm" | ||
| 6 | :rules="rules" | ||
| 7 | v-Loading="loading" | ||
| 8 | ref="ruleForm" | ||
| 9 | :label-position="flag ? 'top' : ''" | ||
| 10 | :inline="flag" | ||
| 11 | label-width="140px"> | ||
| 12 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 13 | <div class="slxx_title title-block"> | ||
| 14 | 申请业务信息 | ||
| 15 | <div class="triangle"></div> | ||
| 16 | </div> | ||
| 17 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 18 | <el-col :span="8"> | ||
| 19 | <el-form-item label="业务号:"> | ||
| 20 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 21 | </el-form-item> | ||
| 22 | </el-col> | ||
| 23 | <el-col :span="8"> | ||
| 24 | <el-form-item label="受理人员:"> | ||
| 25 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 26 | </el-form-item> | ||
| 27 | </el-col> | ||
| 28 | <el-col :span="8"> | ||
| 29 | <el-form-item label="受理时间:"> | ||
| 30 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 31 | </el-form-item> | ||
| 32 | </el-col> | ||
| 33 | </el-row> | ||
| 34 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 35 | <el-col :span="8"> | ||
| 36 | <el-form-item label="权利类型:"> | ||
| 37 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 38 | </el-form-item> | ||
| 39 | </el-col> | ||
| 40 | <el-col :span="8"> | ||
| 41 | <el-form-item label="登记类型:"> | ||
| 42 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 43 | </el-form-item> | ||
| 44 | </el-col> | ||
| 45 | <el-col :span="8"> | ||
| 46 | <el-form-item label="登记情形:"> | ||
| 47 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 48 | </el-form-item> | ||
| 49 | </el-col> | ||
| 50 | </el-row> | ||
| 51 | <div class="slxx_title title-block"> | ||
| 52 | 预告买卖登记情况 | ||
| 53 | <div class="triangle"></div> | ||
| 54 | </div> | ||
| 55 | <el-row :gutter="10"> | ||
| 56 | <el-col :span="8"> | ||
| 57 | <el-form-item label="权利类型:"> | ||
| 58 | <el-input disabled v-model="ruleForm.ztQlxx.qllxmc"></el-input> | ||
| 59 | </el-form-item> | ||
| 60 | </el-col> | ||
| 61 | <el-col :span="8"> | ||
| 62 | <el-form-item label="不动产证明号:"> | ||
| 63 | <el-input disabled v-model="ruleForm.ztQlxx.bdcqzh"></el-input> | ||
| 64 | </el-form-item> | ||
| 65 | </el-col> | ||
| 66 | <el-col :span="8"> | ||
| 67 | <el-form-item label="不动产单元号:"> | ||
| 68 | <el-input disabled v-model="ruleForm.ztQlxx.bdcdyh"></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 disabled v-model="ruleForm.ztQlxx.qlrmc"></el-input> | ||
| 76 | </el-form-item> | ||
| 77 | </el-col> | ||
| 78 | <el-col :span="8"> | ||
| 79 | <el-form-item label="证件种类:"> | ||
| 80 | <el-input disabled v-model="ruleForm.ztQlxx.qlrzjzl"></el-input> | ||
| 81 | </el-form-item> | ||
| 82 | </el-col> | ||
| 83 | <el-col :span="8"> | ||
| 84 | <el-form-item label="证件号:"> | ||
| 85 | <el-input disabled v-model="ruleForm.ztQlxx.qlrzjhm"></el-input> | ||
| 86 | </el-form-item> | ||
| 87 | </el-col> | ||
| 88 | </el-row> | ||
| 89 | <el-row :gutter="10"> | ||
| 90 | <el-col :span="8"> | ||
| 91 | <el-form-item label="房屋面积:"> | ||
| 92 | <el-input disabled v-model="ruleForm.ztQlxx.qlmjmc"></el-input> | ||
| 93 | </el-form-item> | ||
| 94 | </el-col> | ||
| 95 | <el-col :span="8"> | ||
| 96 | <el-form-item label="房屋用途:"> | ||
| 97 | <el-input disabled v-model="ruleForm.ztQlxx.qlytmc"></el-input> | ||
| 98 | </el-form-item> | ||
| 99 | </el-col> | ||
| 100 | <el-col :span="8"> | ||
| 101 | <el-form-item label="房屋性质:"> | ||
| 102 | <el-input disabled v-model="ruleForm.ztQlxx.qlxzmc"></el-input> | ||
| 103 | </el-form-item> | ||
| 104 | </el-col> | ||
| 105 | </el-row> | ||
| 106 | <el-row :gutter="10"> | ||
| 107 | <el-col :span="8"> | ||
| 108 | <el-form-item label="房屋取得价格:"> | ||
| 109 | <el-input disabled v-model="ruleForm.ztQlxx.qdjgmc"></el-input> | ||
| 110 | </el-form-item> | ||
| 111 | </el-col> | ||
| 112 | <el-col :span="16"> | ||
| 113 | <el-form-item label="不动产坐落:"> | ||
| 114 | <el-input disabled v-model="ruleForm.ztQlxx.zl"></el-input> | ||
| 115 | </el-form-item> | ||
| 116 | </el-col> | ||
| 117 | </el-row> | ||
| 118 | <div class="slxx_title title-block"> | ||
| 119 | 预告抵押情况 | ||
| 120 | <div class="triangle"></div> | ||
| 121 | </div> | ||
| 122 | <el-row :gutter="10"> | ||
| 123 | <el-col :span="8"> | ||
| 124 | <el-form-item label="原不动产证号:" | ||
| 125 | prop="sldy.ybdcqzsh" | ||
| 126 | :rules="rules.ybdcqzshrules"> | ||
| 127 | <el-input disabled v-model="ruleForm.sldy.ybdcqzsh"></el-input> | ||
| 128 | </el-form-item> | ||
| 129 | </el-col> | ||
| 130 | <el-col :span="8"> | ||
| 131 | <el-form-item label="预告登记种类:" | ||
| 132 | prop="ygdj.ygdjzlmc" | ||
| 133 | :rules="rules.ygdjzlmcrules"> | ||
| 134 | <el-input disabled v-model="ruleForm.ygdj.ygdjzlmc"></el-input> | ||
| 135 | </el-form-item> | ||
| 136 | </el-col> | ||
| 137 | <el-col :span="8"> | ||
| 138 | <el-form-item | ||
| 139 | label="是否禁止或者限制转让的约定:" | ||
| 140 | label-width="200px" | ||
| 141 | prop="ygdj.sfczjzhxz" | ||
| 142 | :rules="rules.sfczjzhxzrules"> | ||
| 143 | <el-radio-group | ||
| 144 | v-model="ruleForm.ygdj.sfczjzhxz" | ||
| 145 | :disabled="!viewEdit"> | ||
| 146 | <el-radio label="1">是</el-radio> | ||
| 147 | <el-radio label="0">否</el-radio> | ||
| 148 | </el-radio-group> | ||
| 149 | </el-form-item> | ||
| 150 | </el-col> | ||
| 151 | </el-row> | ||
| 152 | <el-row :gutter="10"> | ||
| 153 | <el-col :span="8"> | ||
| 154 | <el-form-item label="被担保主债权数额:" | ||
| 155 | prop="ygdj.qdjg" | ||
| 156 | :rules="rules.qdjgrules"> | ||
| 157 | <div class="flex"> | ||
| 158 | <el-input | ||
| 159 | v-model="ruleForm.ygdj.qdjg" | ||
| 160 | :disabled="!viewEdit"></el-input> | ||
| 161 | <el-select | ||
| 162 | v-model="ruleForm.ygdj.jedw" | ||
| 163 | :disabled="!viewEdit" | ||
| 164 | style="width: 68px"> | ||
| 165 | <el-option | ||
| 166 | v-for="item in dictData['A57']" | ||
| 167 | :key="item.dcode" | ||
| 168 | :label="item.dname" | ||
| 169 | :value="item.dcode"></el-option> | ||
| 170 | </el-select> | ||
| 171 | </div> | ||
| 172 | </el-form-item> | ||
| 173 | </el-col> | ||
| 174 | <el-col :span="8"> | ||
| 175 | <el-form-item label="债务履行起始时间:" | ||
| 176 | prop="ygdj.zwlxqssj" | ||
| 177 | :rules="rules.zwlxqssjrules"> | ||
| 178 | <el-date-picker | ||
| 179 | v-model="ruleForm.ygdj.zwlxqssj" | ||
| 180 | :disabled="!viewEdit" | ||
| 181 | type="date"></el-date-picker> | ||
| 182 | </el-form-item> | ||
| 183 | </el-col> | ||
| 184 | <el-col :span="8"> | ||
| 185 | <el-form-item label="债务履行结束时间:" | ||
| 186 | prop="ygdj.zwlxjssj" | ||
| 187 | :rules="rules.zwlxjssjrules"> | ||
| 188 | <el-date-picker | ||
| 189 | v-model="ruleForm.ygdj.zwlxjssj" | ||
| 190 | :disabled="!viewEdit" | ||
| 191 | type="date"></el-date-picker> | ||
| 192 | </el-form-item> | ||
| 193 | </el-col> | ||
| 194 | </el-row> | ||
| 195 | <el-row :gutter="10"> | ||
| 196 | <el-col :span="24"> | ||
| 197 | <el-form-item label="担保范围:" | ||
| 198 | prop="ygdj.dbfw" | ||
| 199 | :rules="rules.dbfwrules"> | ||
| 200 | <el-input | ||
| 201 | v-model="ruleForm.ygdj.dbfw" | ||
| 202 | :disabled="!viewEdit"></el-input> | ||
| 203 | </el-form-item> | ||
| 204 | </el-col> | ||
| 205 | </el-row> | ||
| 206 | <el-row> | ||
| 207 | <el-col :span="24"> | ||
| 208 | <el-form-item label="附记:" prop="fj"> | ||
| 209 | <el-input | ||
| 210 | type="textarea" | ||
| 211 | maxlength="500" | ||
| 212 | show-word-limit | ||
| 213 | v-model="ruleForm.ygdj.fj" | ||
| 214 | :disabled="!viewEdit"></el-input> | ||
| 215 | </el-form-item> | ||
| 216 | </el-col> | ||
| 217 | </el-row> | ||
| 218 | <div class="slxx_title title-block"> | ||
| 219 | 抵押权人信息 | ||
| 220 | <div class="triangle"></div> | ||
| 221 | </div> | ||
| 222 | <el-row :gutter="10"> | ||
| 223 | <el-col :span="12"> | ||
| 224 | <el-form-item label="共有方式:"> | ||
| 225 | <el-radio-group | ||
| 226 | :disabled="!viewEdit" | ||
| 227 | v-model="ruleForm.sldy.gyfs"> | ||
| 228 | <el-radio label="0">单独所有</el-radio> | ||
| 229 | <el-radio label="1">共同共有</el-radio> | ||
| 230 | <el-radio label="2">按份所有</el-radio> | ||
| 231 | <el-radio label="3">其它共有</el-radio> | ||
| 232 | </el-radio-group> | ||
| 233 | </el-form-item> | ||
| 234 | </el-col> | ||
| 235 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 236 | <el-form-item label="是否分别持证:"> | ||
| 237 | <el-radio-group | ||
| 238 | v-model="ruleForm.sldy.sqfbcz" | ||
| 239 | :disabled="!viewEdit" | ||
| 240 | @input="updaterow()"> | ||
| 241 | <el-radio :label="1">是</el-radio> | ||
| 242 | <el-radio :label="0">否</el-radio> | ||
| 243 | </el-radio-group> | ||
| 244 | </el-form-item> | ||
| 245 | </el-col> | ||
| 246 | <el-col | ||
| 247 | :span="6" | ||
| 248 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 249 | <el-form-item label="持证人:"> | ||
| 250 | <el-select | ||
| 251 | v-model="czr" | ||
| 252 | placeholder="持证人" | ||
| 253 | :disabled="!viewEdit"> | ||
| 254 | <el-option | ||
| 255 | v-for="(item,index) in czrOptions" | ||
| 256 | :key="index" | ||
| 257 | :label="item.sqrmc" | ||
| 258 | :value="item.id"></el-option> | ||
| 259 | </el-select> | ||
| 260 | </el-form-item> | ||
| 261 | </el-col> | ||
| 262 | </el-row> | ||
| 263 | <qlrCommonTable | ||
| 264 | @upDateQlrxxList="upDateQlrxxList" | ||
| 265 | :tableData="ruleForm.qlrList" | ||
| 266 | :disabled="viewEdit" | ||
| 267 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 268 | <div class="slxx_title title-block"> | ||
| 269 | 抵押人信息 | ||
| 270 | <div class="triangle"></div> | ||
| 271 | </div> | ||
| 272 | <ywrCommonTable | ||
| 273 | @upDateQlrxxList="upDateYwrxxList" | ||
| 274 | :tableData="ruleForm.ywrList" | ||
| 275 | :disabled="viewEdit" | ||
| 276 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 277 | <div class="slxx_title title-block"> | ||
| 278 | 登记原因 | ||
| 279 | <div class="triangle"></div> | ||
| 280 | </div> | ||
| 281 | <el-row :gutter="10"> | ||
| 282 | <el-col> | ||
| 283 | <el-form-item v-if="ruleForm.sldy.djlx=='400'" label="注销登记原因:" prop="djyy"> | ||
| 284 | <el-input | ||
| 285 | class="textArea" | ||
| 286 | type="textarea" | ||
| 287 | maxlength="500" | ||
| 288 | show-word-limit | ||
| 289 | :disabled="!viewEdit" | ||
| 290 | v-model="ruleForm.ygdj.zxyy"> | ||
| 291 | </el-input> | ||
| 292 | </el-form-item> | ||
| 293 | <el-form-item v-else label="登记原因:" prop="ygdj.djyy"> | ||
| 294 | <el-input | ||
| 295 | class="textArea" | ||
| 296 | type="textarea" | ||
| 297 | maxlength="500" | ||
| 298 | show-word-limit | ||
| 299 | :disabled="!viewEdit" | ||
| 300 | v-model="ruleForm.ygdj.djyy"> | ||
| 301 | </el-input> | ||
| 302 | </el-form-item> | ||
| 303 | </el-col> | ||
| 304 | </el-row> | ||
| 305 | </div> | ||
| 306 | <el-row class="btn" v-if="isSave"> | ||
| 307 | <el-form-item> | ||
| 308 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 309 | </el-form-item> | ||
| 310 | </el-row> | ||
| 311 | </el-form> | ||
| 312 | </div> | ||
| 313 | </template> | ||
| 314 | <script> | ||
| 315 | import ywmix from "@/views/ywbl/mixin/index"; | ||
| 316 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 317 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
| 318 | import { Init, saveData } from "@/api/workflow/ygdyFlow.js"; | ||
| 319 | import { mapGetters } from "vuex"; | ||
| 320 | export default { | ||
| 321 | mixins: [ywmix], | ||
| 322 | mounted () { | ||
| 323 | let that = this; | ||
| 324 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 325 | this.propsParam = this.$attrs; | ||
| 326 | var formdata = new FormData(); | ||
| 327 | this.loading = true; | ||
| 328 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 329 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
| 330 | formdata.append("djlx", this.propsParam.djlx); | ||
| 331 | formdata.append("isEdit", this.viewEdit); | ||
| 332 | Init(formdata).then((res) => { | ||
| 333 | setTimeout(() => { | ||
| 334 | that.loading = false | ||
| 335 | }, 200) | ||
| 336 | if (res.code === 200 && res.result) { | ||
| 337 | that.ruleForm = res.result; | ||
| 338 | that.ruleForm.qlrList.forEach((item) => { | ||
| 339 | item.id = item.bsmSqr | ||
| 340 | if (item.sfczr == '1') { | ||
| 341 | that.czr = item.bsmSqr | ||
| 342 | } | ||
| 343 | }) | ||
| 344 | that.czrOptions = this.ruleForm.qlrList; | ||
| 345 | that.isSave = that.viewEdit | ||
| 346 | } else { | ||
| 347 | that.isSave = false | ||
| 348 | that.$confirm(res.message, '提示', { | ||
| 349 | cancelButtonText: '取消', | ||
| 350 | showConfirmButton: false, | ||
| 351 | type: 'warning' | ||
| 352 | }) | ||
| 353 | } | ||
| 354 | }).catch(() => { | ||
| 355 | this.loading = false | ||
| 356 | this.isSave = false | ||
| 357 | }) | ||
| 358 | }, | ||
| 359 | components: { qlrCommonTable, ywrCommonTable }, | ||
| 360 | computed: { | ||
| 361 | ...mapGetters(["dictData", "flag"]) | ||
| 362 | }, | ||
| 363 | data () { | ||
| 364 | return { | ||
| 365 | isSave: true, | ||
| 366 | //表单是否可操作 | ||
| 367 | viewEdit: true, | ||
| 368 | loading: false, | ||
| 369 | disabled: true, | ||
| 370 | tdytOption: [], | ||
| 371 | czrOptions: [], | ||
| 372 | czr: "", | ||
| 373 | ruleForm: {}, | ||
| 374 | //传递参数 | ||
| 375 | propsParam: this.$attrs, | ||
| 376 | rules: { | ||
| 377 | ybdcqzshrules: [ | ||
| 378 | { required: true, message: "原不动产证号", trigger: "blur" }, | ||
| 379 | ], | ||
| 380 | ygdjzlmcrules: [ | ||
| 381 | { required: true, message: "预告登记种类", trigger: "blur" }, | ||
| 382 | ], | ||
| 383 | sfczjzhxzrules: [ | ||
| 384 | { required: true, message: "是否禁止或者限制转让的约定:", trigger: "blur" }, | ||
| 385 | ], | ||
| 386 | qdjgrules: [{ required: true, message: "被担保主债权数额", trigger: "blur" }], | ||
| 387 | zwlxqssjrules: [{ required: true, message: "债务履行起始时间", trigger: "blur" }], | ||
| 388 | zwlxjssjrules: [{ required: true, message: "债务履行结束时间", trigger: "blur" }], | ||
| 389 | dbfwrules: [{ required: true, message: "担保范围", trigger: "blur" }], | ||
| 390 | 'ygdj.djyy': [ | ||
| 391 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 392 | ] | ||
| 393 | } | ||
| 394 | } | ||
| 395 | }, | ||
| 396 | methods: { | ||
| 397 | /** | ||
| 398 | * @description: 更新权利人信息 | ||
| 399 | * @param {*} val | ||
| 400 | * @author: renchao | ||
| 401 | */ | ||
| 402 | upDateQlrxxList (val) { | ||
| 403 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 404 | this.czrOptions = this.ruleForm.qlrList; | ||
| 405 | this.num = 0 | ||
| 406 | this.ruleForm.qlrList.forEach(item => { | ||
| 407 | if (item.id == this.czr) { | ||
| 408 | this.num++ | ||
| 409 | } | ||
| 410 | }) | ||
| 411 | if (this.num == 0) { | ||
| 412 | this.czr = '' | ||
| 413 | } | ||
| 414 | }, | ||
| 415 | /** | ||
| 416 | * @description: 义务人信息 | ||
| 417 | * @param {*} val | ||
| 418 | * @author: renchao | ||
| 419 | */ | ||
| 420 | upDateYwrxxList (val) { | ||
| 421 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 422 | }, | ||
| 423 | /** | ||
| 424 | * @description: 是否持证人变化 | ||
| 425 | * @author: renchao | ||
| 426 | */ | ||
| 427 | updaterow () { | ||
| 428 | this.czr = ""; | ||
| 429 | }, | ||
| 430 | /** | ||
| 431 | * @description: onSubmit | ||
| 432 | * @author: renchao | ||
| 433 | */ | ||
| 434 | onSubmit () { | ||
| 435 | let that = this; | ||
| 436 | if (this.ruleForm.qlrList.length == 0) { | ||
| 437 | this.$message({ | ||
| 438 | showClose: true, | ||
| 439 | message: "请确认权利人信息", | ||
| 440 | type: "error", | ||
| 441 | }); | ||
| 442 | return false; | ||
| 443 | } | ||
| 444 | |||
| 445 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 446 | if (this.ruleForm.qlrList.length > 1) { | ||
| 447 | this.$message({ | ||
| 448 | showClose: true, | ||
| 449 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 450 | type: "error", | ||
| 451 | }); | ||
| 452 | return false; | ||
| 453 | } | ||
| 454 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 455 | } else { | ||
| 456 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 457 | this.$message({ | ||
| 458 | showClose: true, | ||
| 459 | message: | ||
| 460 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 461 | type: "error", | ||
| 462 | }); | ||
| 463 | return false; | ||
| 464 | } | ||
| 465 | //是否分别持证 | ||
| 466 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 467 | //是 | ||
| 468 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 469 | item.sfczr = "1"; | ||
| 470 | }); | ||
| 471 | } else { | ||
| 472 | if (that.czr === '') { | ||
| 473 | that.$message({ | ||
| 474 | showClose: true, | ||
| 475 | message: "请选择持证人", | ||
| 476 | type: "error", | ||
| 477 | }); | ||
| 478 | return false; | ||
| 479 | } | ||
| 480 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 481 | if (item.id == that.czr) { | ||
| 482 | item.sfczr = "1"; | ||
| 483 | } else { | ||
| 484 | item.sfczr = "0"; | ||
| 485 | } | ||
| 486 | }); | ||
| 487 | } | ||
| 488 | } | ||
| 489 | saveData(this.ruleForm).then((res) => { | ||
| 490 | if (res.code === 200) { | ||
| 491 | this.$message({ | ||
| 492 | showClose: true, | ||
| 493 | message: "保存成功!", | ||
| 494 | type: "success", | ||
| 495 | }); | ||
| 496 | this.$store.dispatch("user/refreshPage", true); | ||
| 497 | } else { | ||
| 498 | this.$message({ | ||
| 499 | showClose: true, | ||
| 500 | message: res.message, | ||
| 501 | type: "error" | ||
| 502 | }) | ||
| 503 | } | ||
| 504 | }) | ||
| 505 | } | ||
| 506 | } | ||
| 507 | } | ||
| 508 | </script> | ||
| 509 | <style scoped lang="scss"> | ||
| 510 | @import "~@/styles/public.scss"; | ||
| 511 | @import "~@/styles/slxx/slxx.scss"; | ||
| 512 | </style> |
| 1 | <template> | ||
| 2 | <!-- 受理信息 --> | ||
| 3 | <div class="slxx"> | ||
| 4 | <el-form | ||
| 5 | :model="ruleForm" | ||
| 6 | v-Loading="loading" | ||
| 7 | :label-position="flag ? 'top' : ''" | ||
| 8 | :inline="flag" | ||
| 9 | ref="ruleForm" | ||
| 10 | label-width="140px"> | ||
| 11 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 12 | <div class="slxx_title title-block"> | ||
| 13 | 申请业务信息 | ||
| 14 | <div class="triangle"></div> | ||
| 15 | </div> | ||
| 16 | <el-row :gutter="10" v-if="ruleForm.flow"> | ||
| 17 | <el-col :span="8"> | ||
| 18 | <el-form-item label="业务号:"> | ||
| 19 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 20 | </el-form-item> | ||
| 21 | </el-col> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item label="受理人员:"> | ||
| 24 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="8"> | ||
| 28 | <el-form-item label="受理时间:"> | ||
| 29 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | </el-row> | ||
| 33 | <el-row :gutter="10" v-if="ruleForm.sldyList"> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="权利类型:"> | ||
| 36 | <el-input | ||
| 37 | disabled | ||
| 38 | v-model="ruleForm.sldyList[0].qllxmc"></el-input> | ||
| 39 | </el-form-item> | ||
| 40 | </el-col> | ||
| 41 | <el-col :span="8"> | ||
| 42 | <el-form-item label="登记类型:"> | ||
| 43 | <el-input | ||
| 44 | disabled | ||
| 45 | v-model="ruleForm.sldyList[0].djlxmc"></el-input> | ||
| 46 | </el-form-item> | ||
| 47 | </el-col> | ||
| 48 | <el-col :span="8"> | ||
| 49 | <el-form-item label="登记情形:"> | ||
| 50 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 51 | </el-form-item> | ||
| 52 | </el-col> | ||
| 53 | </el-row> | ||
| 54 | |||
| 55 | <div | ||
| 56 | class="slxx_title title-block" | ||
| 57 | v-if="ruleForm.slsq.djywbm.includes('400')"> | ||
| 58 | 在建工程抵押信息列表({{ ruleForm.qlxxList.length }} 户) | ||
| 59 | <div class="triangle"></div> | ||
| 60 | </div> | ||
| 61 | <div | ||
| 62 | class="slxx_title title-block" | ||
| 63 | v-else> | ||
| 64 | 抵押户信息列表信息({{ ruleForm.hlist.length }} 户) | ||
| 65 | <div class="triangle"></div> | ||
| 66 | </div> | ||
| 67 | <qlxxTable :tableData="ruleForm.qlxxList" v-if="ruleForm.slsq.djywbm.includes('400')" /> | ||
| 68 | <qjhTable v-else :tableData="ruleForm.hlist" /> | ||
| 69 | <div class="slxx_title title-block"> | ||
| 70 | 抵押信息 | ||
| 71 | <div class="triangle"></div> | ||
| 72 | </div> | ||
| 73 | <el-row | ||
| 74 | :gutter="10" | ||
| 75 | v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0"> | ||
| 76 | <el-col :span="8"> | ||
| 77 | <el-form-item label="抵押方式:"> | ||
| 78 | <el-radio-group disabled v-model="ruleForm.diyaqList[0].dyfs"> | ||
| 79 | <el-radio label="1">一般抵押</el-radio> | ||
| 80 | <el-radio label="2">最高额抵押</el-radio> | ||
| 81 | </el-radio-group> | ||
| 82 | </el-form-item> | ||
| 83 | </el-col> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item label="抵押金额类型:"> | ||
| 86 | <el-radio-group | ||
| 87 | v-model="ruleForm.diyaqList[0].dyjelx" | ||
| 88 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 89 | <el-radio label="0">独立抵押</el-radio> | ||
| 90 | <el-radio label="1">整体抵押</el-radio> | ||
| 91 | </el-radio-group> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | <el-col :span="8"> | ||
| 95 | <el-form-item | ||
| 96 | label="是否存在禁止或者限制转让抵押不动产的约定:" | ||
| 97 | label-width="300px"> | ||
| 98 | <el-radio-group | ||
| 99 | v-model="ruleForm.diyaqList[0].sfczjzhxz" | ||
| 100 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 101 | <el-radio label="1">启用</el-radio> | ||
| 102 | <el-radio label="0">禁用</el-radio> | ||
| 103 | </el-radio-group> | ||
| 104 | </el-form-item> | ||
| 105 | </el-col> | ||
| 106 | </el-row> | ||
| 107 | <el-row | ||
| 108 | :gutter="10" | ||
| 109 | v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0"> | ||
| 110 | <el-col :span="8" v-show="ruleForm.diyaqList[0].dyfs == 1"> | ||
| 111 | <el-form-item label="被担保主债权数额:"> | ||
| 112 | <div style="display: flex"> | ||
| 113 | <el-input | ||
| 114 | v-model="ruleForm.diyaqList[0].bdbzzqse" | ||
| 115 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 116 | <el-select | ||
| 117 | style="width: 68px" | ||
| 118 | v-model="ruleForm.diyaqList[0].jedw" | ||
| 119 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 120 | <el-option | ||
| 121 | v-for="item in dictData['A57']" | ||
| 122 | :key="item.dcode" | ||
| 123 | :label="item.dname" | ||
| 124 | :value="item.dcode"> | ||
| 125 | </el-option> | ||
| 126 | </el-select> | ||
| 127 | </div> | ||
| 128 | </el-form-item> | ||
| 129 | </el-col> | ||
| 130 | |||
| 131 | <el-col :span="8" v-show="ruleForm.diyaqList[0].dyfs == 2"> | ||
| 132 | <el-form-item label="最高债权额:"> | ||
| 133 | <el-input | ||
| 134 | v-model="ruleForm.diyaqList[0].zgzqse" | ||
| 135 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 136 | <el-select | ||
| 137 | v-model="ruleForm.diyaqList[0].jedw" | ||
| 138 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"> | ||
| 139 | <el-option | ||
| 140 | v-for="item in dictData['A57']" | ||
| 141 | :key="item.dcode" | ||
| 142 | :label="item.dname" | ||
| 143 | :value="item.dcode"> | ||
| 144 | </el-option> | ||
| 145 | </el-select> | ||
| 146 | </el-form-item> | ||
| 147 | </el-col> | ||
| 148 | |||
| 149 | <el-col :span="8"> | ||
| 150 | <el-form-item label="债务履行起始时间:"> | ||
| 151 | <el-date-picker | ||
| 152 | v-model="ruleForm.diyaqList[0].zwlxqssj" | ||
| 153 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')" | ||
| 154 | type="date"> | ||
| 155 | </el-date-picker> | ||
| 156 | </el-form-item> | ||
| 157 | </el-col> | ||
| 158 | <el-col :span="8"> | ||
| 159 | <el-form-item label="债务履行结束时间:"> | ||
| 160 | <el-date-picker | ||
| 161 | v-model="ruleForm.diyaqList[0].zwlxjssj" | ||
| 162 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')" | ||
| 163 | type="date"> | ||
| 164 | </el-date-picker> | ||
| 165 | </el-form-item> | ||
| 166 | </el-col> | ||
| 167 | </el-row> | ||
| 168 | |||
| 169 | <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0"> | ||
| 170 | <el-col :span="24"> | ||
| 171 | <el-form-item label="担保范围:"> | ||
| 172 | <el-input | ||
| 173 | v-model="ruleForm.diyaqList[0].dbfw" | ||
| 174 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 175 | </el-form-item> | ||
| 176 | </el-col> | ||
| 177 | </el-row> | ||
| 178 | <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0"> | ||
| 179 | <el-col :span="24"> | ||
| 180 | <el-form-item label="最高债权确定事实和数额:"> | ||
| 181 | <el-input | ||
| 182 | v-model="ruleForm.diyaqList[0].zgzqqdss" | ||
| 183 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 184 | </el-form-item> | ||
| 185 | </el-col> | ||
| 186 | </el-row> | ||
| 187 | <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0"> | ||
| 188 | <el-col> | ||
| 189 | <el-form-item label="附记:" prop="fj"> | ||
| 190 | <el-input | ||
| 191 | type="textarea" | ||
| 192 | maxlength="500" | ||
| 193 | show-word-limit | ||
| 194 | v-model="ruleForm.diyaqList[0].fj" | ||
| 195 | :disabled="!viewEdit || ruleForm.slsq.djywbm.includes('400')"></el-input> | ||
| 196 | </el-form-item> | ||
| 197 | </el-col> | ||
| 198 | </el-row> | ||
| 199 | |||
| 200 | <div class="slxx_title title-block"> | ||
| 201 | 抵押权人信息 | ||
| 202 | <div class="triangle"></div> | ||
| 203 | </div> | ||
| 204 | <el-row | ||
| 205 | :gutter="10" | ||
| 206 | v-if="ruleForm.sldyList && ruleForm.sldyList.length > 0"> | ||
| 207 | <el-col :span="14"> | ||
| 208 | <el-form-item label="共有方式:"> | ||
| 209 | <el-radio-group | ||
| 210 | :disabled="!viewEdit" | ||
| 211 | v-model="ruleForm.sldyList[0].gyfs"> | ||
| 212 | <el-radio label="0">单独所有</el-radio> | ||
| 213 | <el-radio label="1">共同共有</el-radio> | ||
| 214 | <el-radio label="2">按份所有</el-radio> | ||
| 215 | <el-radio label="3">其它共有</el-radio> | ||
| 216 | </el-radio-group> | ||
| 217 | </el-form-item> | ||
| 218 | </el-col> | ||
| 219 | <el-col :span="5" v-show="ruleForm.sldyList[0].gyfs != '0'"> | ||
| 220 | <el-form-item label="是否分别持证:"> | ||
| 221 | <el-radio-group | ||
| 222 | v-model="ruleForm.sldyList[0].sqfbcz" | ||
| 223 | :disabled="!viewEdit" | ||
| 224 | @input="updaterow()"> | ||
| 225 | <el-radio :label="1">是</el-radio> | ||
| 226 | <el-radio :label="0">否</el-radio> | ||
| 227 | </el-radio-group> | ||
| 228 | </el-form-item> | ||
| 229 | </el-col> | ||
| 230 | <el-col | ||
| 231 | :span="5" | ||
| 232 | v-show=" | ||
| 233 | ruleForm.sldyList[0].gyfs != '0' && | ||
| 234 | ruleForm.sldyList[0].sqfbcz == '0' | ||
| 235 | "> | ||
| 236 | <el-form-item label="持证人:"> | ||
| 237 | <el-select | ||
| 238 | v-model="czr" | ||
| 239 | placeholder="持证人" | ||
| 240 | :disabled="!viewEdit"> | ||
| 241 | <el-option | ||
| 242 | v-for="(item,index) in czrOptions" | ||
| 243 | :key="index" | ||
| 244 | :label="item.sqrmc" | ||
| 245 | :value="item.id"> | ||
| 246 | </el-option> | ||
| 247 | </el-select> | ||
| 248 | </el-form-item> | ||
| 249 | </el-col> | ||
| 250 | </el-row> | ||
| 251 | <qlrCommonTable | ||
| 252 | v-if="ruleForm.sldyList && ruleForm.sldyList.length > 0" | ||
| 253 | :tableData="ruleForm.qlrList" | ||
| 254 | @upDateQlrxxList="upDateQlrxxList" | ||
| 255 | :disabled="viewEdit" | ||
| 256 | :gyfs="ruleForm.sldyList[0].gyfs" /> | ||
| 257 | <div class="slxx_title title-block"> | ||
| 258 | 抵押人信息 | ||
| 259 | <div class="triangle"></div> | ||
| 260 | </div> | ||
| 261 | <qlrCommonTable | ||
| 262 | :tableData="ruleForm.ywrList" | ||
| 263 | @upDateQlrxxList="upDateYwrxxList" | ||
| 264 | :disabled="viewEdit" /> | ||
| 265 | |||
| 266 | <div class="slxx_title title-block"> | ||
| 267 | 登记原因 | ||
| 268 | <div class="triangle"></div> | ||
| 269 | </div> | ||
| 270 | <el-row | ||
| 271 | :gutter="10" | ||
| 272 | v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0"> | ||
| 273 | <el-col> | ||
| 274 | <el-form-item | ||
| 275 | v-if="ruleForm.sldyList[0].djlx == '400'" | ||
| 276 | label="注销抵押原因:" | ||
| 277 | prop="djyy"> | ||
| 278 | <el-input | ||
| 279 | class="textArea" | ||
| 280 | type="textarea" | ||
| 281 | :disabled="!viewEdit" | ||
| 282 | v-model="ruleForm.diyaqList[0].zxdyyy"> | ||
| 283 | </el-input> | ||
| 284 | </el-form-item> | ||
| 285 | <el-form-item v-else label="登记原因:" prop="diyaqList[0].djyy"> | ||
| 286 | <el-input | ||
| 287 | class="textArea" | ||
| 288 | type="textarea" | ||
| 289 | maxlength="500" | ||
| 290 | show-word-limit | ||
| 291 | :disabled="!viewEdit" | ||
| 292 | v-model="ruleForm.diyaqList[0].djyy"> | ||
| 293 | </el-input> | ||
| 294 | </el-form-item> | ||
| 295 | </el-col> | ||
| 296 | </el-row> | ||
| 297 | </div> | ||
| 298 | <el-row class="btn" v-if="isSave"> | ||
| 299 | <el-form-item> | ||
| 300 | <el-button type="primary" @click="onSubmitClick()">保存</el-button> | ||
| 301 | </el-form-item> | ||
| 302 | </el-row> | ||
| 303 | </el-form> | ||
| 304 | </div> | ||
| 305 | </template> | ||
| 306 | <script> | ||
| 307 | import qjhTable from "../commonTable/qjhTable"; | ||
| 308 | import qlxxTable from "../commonTable/qlxxTable.vue"; | ||
| 309 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 310 | import { bacthInit, saveBatchData } from "@/api/workflow/zjgcdyFlow.js"; | ||
| 311 | import { mapGetters } from "vuex"; | ||
| 312 | export default { | ||
| 313 | mounted () { | ||
| 314 | let that = this | ||
| 315 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 316 | this.propsParam = this.$attrs; | ||
| 317 | var formdata = new FormData(); | ||
| 318 | |||
| 319 | this.loading = true | ||
| 320 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
| 321 | formdata.append("djlx", this.propsParam.djlx); | ||
| 322 | formdata.append("isEdit", this.viewEdit); | ||
| 323 | bacthInit(formdata).then((res) => { | ||
| 324 | setTimeout(() => { | ||
| 325 | that.loading = false | ||
| 326 | }, 200) | ||
| 327 | if (res.code === 200 && res.result) { | ||
| 328 | this.ruleForm = res.result; | ||
| 329 | this.ruleForm.qlrList.forEach((item) => { | ||
| 330 | item.id = item.bsmSqr | ||
| 331 | if (item.sfczr == '1') { | ||
| 332 | that.czr = item.bsmSqr | ||
| 333 | } | ||
| 334 | }) | ||
| 335 | that.czrOptions = that.ruleForm.qlrList; | ||
| 336 | that.isSave = that.viewEdit | ||
| 337 | } else { | ||
| 338 | that.isSave = false | ||
| 339 | that.$confirm(res.message, '提示', { | ||
| 340 | cancelButtonText: '取消', | ||
| 341 | showConfirmButton: false, | ||
| 342 | type: 'warning' | ||
| 343 | }) | ||
| 344 | } | ||
| 345 | }).catch(() => { | ||
| 346 | this.loading = false | ||
| 347 | }) | ||
| 348 | }, | ||
| 349 | components: { qlrCommonTable, qjhTable, qlxxTable }, | ||
| 350 | computed: { | ||
| 351 | ...mapGetters(["dictData", "flag"]), | ||
| 352 | }, | ||
| 353 | data () { | ||
| 354 | return { | ||
| 355 | isSave: true, | ||
| 356 | loading: false, | ||
| 357 | //表单是否可操作 | ||
| 358 | viewEdit: true, | ||
| 359 | disabled: true, | ||
| 360 | czrOptions: [], | ||
| 361 | czr: "", | ||
| 362 | ruleForm: {}, | ||
| 363 | //传递参数 | ||
| 364 | propsParam: {}, | ||
| 365 | rules: { | ||
| 366 | 'diyaqList[0].djyy': [ | ||
| 367 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 368 | ] | ||
| 369 | }, | ||
| 370 | tableData: [], | ||
| 371 | }; | ||
| 372 | }, | ||
| 373 | methods: { | ||
| 374 | /** | ||
| 375 | * @description: onSubmitClick | ||
| 376 | * @author: renchao | ||
| 377 | */ | ||
| 378 | onSubmitClick () { | ||
| 379 | let that = this; | ||
| 380 | if (this.ruleForm.qlrList.length == 0) { | ||
| 381 | this.$message({ | ||
| 382 | showClose: true, | ||
| 383 | message: "请确认抵押权人信息", | ||
| 384 | type: "error", | ||
| 385 | }); | ||
| 386 | return false; | ||
| 387 | } | ||
| 388 | if (this.ruleForm.sldyList[0].gyfs == "0") { | ||
| 389 | if (this.ruleForm.qlrList.length > 1) { | ||
| 390 | this.$message({ | ||
| 391 | showClose: true, | ||
| 392 | message: "共有方式:单独所有,抵押权人只能是一个人", | ||
| 393 | type: "error", | ||
| 394 | }); | ||
| 395 | return false; | ||
| 396 | } | ||
| 397 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 398 | } else { | ||
| 399 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 400 | this.$message({ | ||
| 401 | showClose: true, | ||
| 402 | message: | ||
| 403 | "共有方式:共同所有,按份所有,其他所有,抵押权人必须是两个以上", | ||
| 404 | type: "error", | ||
| 405 | }); | ||
| 406 | return false; | ||
| 407 | } | ||
| 408 | //是否分别持证 | ||
| 409 | if (this.ruleForm.sldyList[0].sqfbcz == "1") { | ||
| 410 | //是 | ||
| 411 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 412 | item.sfczr = "1" | ||
| 413 | }) | ||
| 414 | } else { | ||
| 415 | if (that.czr === '') { | ||
| 416 | that.$message({ | ||
| 417 | showClose: true, | ||
| 418 | message: "请选择持证人", | ||
| 419 | type: "error", | ||
| 420 | }); | ||
| 421 | return false; | ||
| 422 | } | ||
| 423 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 424 | if (item.id == that.czr) { | ||
| 425 | item.sfczr = "1"; | ||
| 426 | } else { | ||
| 427 | item.sfczr = "0"; | ||
| 428 | } | ||
| 429 | }); | ||
| 430 | } | ||
| 431 | } | ||
| 432 | this.$refs['ruleForm'].validate((valid) => { | ||
| 433 | if (valid) { | ||
| 434 | that.$store.dispatch("user/refreshPage", false); | ||
| 435 | saveBatchData(that.ruleForm, that.propsParam.djlx).then((res) => { | ||
| 436 | if (res.code === 200) { | ||
| 437 | that.$message({ | ||
| 438 | showClose: true, | ||
| 439 | message: "保存成功!", | ||
| 440 | type: "success", | ||
| 441 | }); | ||
| 442 | that.$store.dispatch("user/refreshPage", true); | ||
| 443 | } else { | ||
| 444 | that.$message({ | ||
| 445 | showClose: true, | ||
| 446 | message: res.message, | ||
| 447 | type: "error", | ||
| 448 | }); | ||
| 449 | } | ||
| 450 | }) | ||
| 451 | } else { | ||
| 452 | that.$message({ | ||
| 453 | showClose: true, | ||
| 454 | message: "请输入登记原因", | ||
| 455 | type: "error" | ||
| 456 | }) | ||
| 457 | return false | ||
| 458 | } | ||
| 459 | }) | ||
| 460 | }, | ||
| 461 | /** | ||
| 462 | * @description: 是否持证人变化 | ||
| 463 | * @param {*} val | ||
| 464 | * @author: renchao | ||
| 465 | */ | ||
| 466 | updaterow () { | ||
| 467 | this.czr = ""; | ||
| 468 | }, | ||
| 469 | /** | ||
| 470 | * @description: 更新抵押权人信息 | ||
| 471 | * @param {*} val | ||
| 472 | * @author: renchao | ||
| 473 | */ | ||
| 474 | upDateQlrxxList (val) { | ||
| 475 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 476 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 477 | this.czrOptions = this.ruleForm.qlrList; | ||
| 478 | } | ||
| 479 | this.num = 0 | ||
| 480 | this.ruleForm.qlrList.forEach(item => { | ||
| 481 | if (item.id == this.czr) { | ||
| 482 | this.num++ | ||
| 483 | } | ||
| 484 | }) | ||
| 485 | if (this.num == 0) { | ||
| 486 | this.czr = '' | ||
| 487 | } | ||
| 488 | }, | ||
| 489 | /** | ||
| 490 | * @description: 更新义务人信息 | ||
| 491 | * @param {*} val | ||
| 492 | * @author: renchao | ||
| 493 | */ | ||
| 494 | upDateYwrxxList (val) { | ||
| 495 | if (!_.isEqual(val, this.ruleForm.ywrList)) { | ||
| 496 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 497 | } | ||
| 498 | } | ||
| 499 | } | ||
| 500 | } | ||
| 501 | </script> | ||
| 502 | <style scoped lang="scss"> | ||
| 503 | @import "~@/styles/public.scss"; | ||
| 504 | @import "~@/styles/slxx/slxx.scss"; | ||
| 505 | </style> |
| 1 | <template> | ||
| 2 | <!-- 受理信息 --> | ||
| 3 | <div class="slxx"> | ||
| 4 | <el-form | ||
| 5 | :model="ruleForm" | ||
| 6 | :rules="rules" | ||
| 7 | v-Loading="loading" | ||
| 8 | ref="ruleForm" | ||
| 9 | :label-position="flag ? 'top' : ''" | ||
| 10 | :inline="flag" | ||
| 11 | label-width="170px"> | ||
| 12 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 13 | <div class="slxx_title title-block"> | ||
| 14 | 申请业务信息 | ||
| 15 | <div class="triangle"></div> | ||
| 16 | </div> | ||
| 17 | <el-row :gutter="10"> | ||
| 18 | <el-col :span="8"> | ||
| 19 | <el-form-item label="业务号:"> | ||
| 20 | <el-input disabled v-model="ruleForm.flow.ywh"></el-input> | ||
| 21 | </el-form-item> | ||
| 22 | </el-col> | ||
| 23 | <el-col :span="8"> | ||
| 24 | <el-form-item label="受理人员:"> | ||
| 25 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 26 | </el-form-item> | ||
| 27 | </el-col> | ||
| 28 | <el-col :span="8"> | ||
| 29 | <el-form-item label="受理时间:"> | ||
| 30 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 31 | </el-form-item> | ||
| 32 | </el-col> | ||
| 33 | </el-row> | ||
| 34 | <el-row :gutter="10"> | ||
| 35 | <el-col :span="8"> | ||
| 36 | <el-form-item label="权利类型:" prop="qllx"> | ||
| 37 | <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input> | ||
| 38 | </el-form-item> | ||
| 39 | </el-col> | ||
| 40 | <el-col :span="8"> | ||
| 41 | <el-form-item label="登记类型:" prop="djlx"> | ||
| 42 | <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input> | ||
| 43 | </el-form-item> | ||
| 44 | </el-col> | ||
| 45 | <el-col :span="8"> | ||
| 46 | <el-form-item label="登记情形:" prop="djqx"> | ||
| 47 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 48 | </el-form-item> | ||
| 49 | </el-col> | ||
| 50 | </el-row> | ||
| 51 | <div class="slxx_title title-block"> | ||
| 52 | 抵押户信息情况 | ||
| 53 | <div class="triangle"></div> | ||
| 54 | </div> | ||
| 55 | <el-row :gutter="10"> | ||
| 56 | <el-col :span="8"> | ||
| 57 | <el-form-item label="房屋用途:"> | ||
| 58 | <el-input disabled v-model="ruleForm.qjh.showfwyt"></el-input> | ||
| 59 | </el-form-item> | ||
| 60 | </el-col> | ||
| 61 | <el-col :span="8"> | ||
| 62 | <el-form-item label="房屋性质:"> | ||
| 63 | <el-input disabled v-model="ruleForm.qjh.fwxzmc"></el-input> | ||
| 64 | </el-form-item> | ||
| 65 | </el-col> | ||
| 66 | <el-col :span="8"> | ||
| 67 | <el-form-item label="房屋结构:"> | ||
| 68 | <el-input disabled v-model="ruleForm.qjh.showfwjg"></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 | <div class="flex"> | ||
| 76 | <el-input | ||
| 77 | maxlength="12" | ||
| 78 | v-model="ruleForm.qjh.jzmj" disabled | ||
| 79 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 80 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 81 | <el-option | ||
| 82 | v-for="item in dictData['A7']" | ||
| 83 | :key="item.dcode" | ||
| 84 | :label="item.dname" | ||
| 85 | :value="item.dcode"> | ||
| 86 | </el-option> | ||
| 87 | </el-select> | ||
| 88 | </div> | ||
| 89 | </el-form-item> | ||
| 90 | </el-col> | ||
| 91 | <el-col :span="8"> | ||
| 92 | <el-form-item label="套内建筑面积:"> | ||
| 93 | <div class="flex"> | ||
| 94 | <el-input | ||
| 95 | maxlength="12" | ||
| 96 | v-model="ruleForm.qjh.tnjzmj" disabled | ||
| 97 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 98 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 99 | <el-option | ||
| 100 | v-for="item in dictData['A7']" | ||
| 101 | :key="item.dcode" | ||
| 102 | :label="item.dname" | ||
| 103 | :value="item.dcode"> | ||
| 104 | </el-option> | ||
| 105 | </el-select> | ||
| 106 | </div> | ||
| 107 | </el-form-item> | ||
| 108 | </el-col> | ||
| 109 | <el-col :span="8"> | ||
| 110 | <el-form-item label="分摊建筑面积:"> | ||
| 111 | <div class="flex"> | ||
| 112 | <el-input | ||
| 113 | maxlength="12" | ||
| 114 | v-model="ruleForm.qjh.ftjzmj" disabled | ||
| 115 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
| 116 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
| 117 | <el-option | ||
| 118 | v-for="item in dictData['A7']" | ||
| 119 | :key="item.dcode" | ||
| 120 | :label="item.dname" | ||
| 121 | :value="item.dcode"> | ||
| 122 | </el-option> | ||
| 123 | </el-select> | ||
| 124 | </div> | ||
| 125 | </el-form-item> | ||
| 126 | </el-col> | ||
| 127 | </el-row> | ||
| 128 | <el-row :gutter="10"> | ||
| 129 | <el-col :span="8"> | ||
| 130 | <el-form-item label="不动产单元号:"> | ||
| 131 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 132 | </el-form-item> | ||
| 133 | </el-col> | ||
| 134 | <el-col :span="8"> | ||
| 135 | <el-form-item label="室号部位:"> | ||
| 136 | <el-input disabled v-model="ruleForm.qjh.shbw"></el-input> | ||
| 137 | </el-form-item> | ||
| 138 | </el-col> | ||
| 139 | <el-col :span="8"> | ||
| 140 | <el-form-item label="坐落:"> | ||
| 141 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
| 142 | </el-form-item> | ||
| 143 | </el-col> | ||
| 144 | </el-row> | ||
| 145 | |||
| 146 | <div class="slxx_title title-block"> | ||
| 147 | 抵押信息 | ||
| 148 | <div class="triangle"></div> | ||
| 149 | </div> | ||
| 150 | |||
| 151 | <el-row :gutter="10"> | ||
| 152 | <el-col :span="8"> | ||
| 153 | <el-form-item label="抵押方式:"> | ||
| 154 | <!-- <el-input disabled v-model="ruleForm.slywxx.djqxmc"></el-input> --> | ||
| 155 | <el-radio-group disabled v-model="ruleForm.diyaq.dyfs"> | ||
| 156 | <el-radio label="1">一般抵押</el-radio> | ||
| 157 | <el-radio label="2">最高额抵押</el-radio> | ||
| 158 | </el-radio-group> | ||
| 159 | </el-form-item> | ||
| 160 | </el-col> | ||
| 161 | <el-col :span="16"> | ||
| 162 | <el-form-item | ||
| 163 | label="是否存在禁止或者限制转让抵押不动产的约定:" | ||
| 164 | label-width="350px"> | ||
| 165 | <el-radio-group | ||
| 166 | v-model="ruleForm.diyaq.sfczjzhxz" | ||
| 167 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"> | ||
| 168 | <el-radio label="1">是</el-radio> | ||
| 169 | <el-radio label="0">否</el-radio> | ||
| 170 | </el-radio-group> | ||
| 171 | </el-form-item> | ||
| 172 | </el-col> | ||
| 173 | </el-row> | ||
| 174 | |||
| 175 | <el-row :gutter="10"> | ||
| 176 | <el-col :span="8" v-show="ruleForm.diyaq.dyfs == 1"> | ||
| 177 | <el-form-item label="被担保主债权数额:"> | ||
| 178 | <div style="display:flex"> | ||
| 179 | <el-input | ||
| 180 | v-model="ruleForm.diyaq.bdbzzqse" | ||
| 181 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"></el-input> | ||
| 182 | <el-select style="width: 68px" v-model="ruleForm.diyaq.jedw" | ||
| 183 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"> | ||
| 184 | <el-option | ||
| 185 | v-for="item in dictData['A57']" | ||
| 186 | :key="item.dcode" | ||
| 187 | :label="item.dname" | ||
| 188 | :value="item.dcode"> | ||
| 189 | </el-option> | ||
| 190 | </el-select> | ||
| 191 | </div> | ||
| 192 | </el-form-item> | ||
| 193 | </el-col> | ||
| 194 | |||
| 195 | <el-col :span="8" v-show="ruleForm.diyaq.dyfs == 2"> | ||
| 196 | <el-form-item label="最高债权额:"> | ||
| 197 | <div style="display: flex"> | ||
| 198 | <el-input | ||
| 199 | v-model="ruleForm.diyaq.zgzqse" | ||
| 200 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"></el-input> | ||
| 201 | <el-select v-model="ruleForm.diyaq.jedw" style="width: 68px" :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"> | ||
| 202 | <el-option | ||
| 203 | v-for="item in dictData['A57']" | ||
| 204 | :key="item.dcode" | ||
| 205 | :label="item.dname" | ||
| 206 | :value="item.dcode"> | ||
| 207 | </el-option> | ||
| 208 | </el-select> | ||
| 209 | </div> | ||
| 210 | </el-form-item> | ||
| 211 | </el-col> | ||
| 212 | |||
| 213 | <el-col :span="8"> | ||
| 214 | <el-form-item label="债务履行起始时间:"> | ||
| 215 | <el-date-picker | ||
| 216 | v-model="ruleForm.diyaq.zwlxqssj" | ||
| 217 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'" | ||
| 218 | type="date"> | ||
| 219 | </el-date-picker> | ||
| 220 | </el-form-item> | ||
| 221 | </el-col> | ||
| 222 | <el-col :span="8"> | ||
| 223 | <el-form-item label="债务履行结束时间:"> | ||
| 224 | <el-date-picker | ||
| 225 | v-model="ruleForm.diyaq.zwlxjssj" | ||
| 226 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'" | ||
| 227 | type="date"> | ||
| 228 | </el-date-picker> | ||
| 229 | </el-form-item> | ||
| 230 | </el-col> | ||
| 231 | </el-row> | ||
| 232 | |||
| 233 | <el-row> | ||
| 234 | <el-col :span="24"> | ||
| 235 | <el-form-item label="担保范围:"> | ||
| 236 | <el-input | ||
| 237 | v-model="ruleForm.diyaq.dbfw" | ||
| 238 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"></el-input> | ||
| 239 | </el-form-item> | ||
| 240 | </el-col> | ||
| 241 | </el-row> | ||
| 242 | <el-row> | ||
| 243 | <el-col :span="24"> | ||
| 244 | <el-form-item label="最高债权确定事实和数额:"> | ||
| 245 | <el-input | ||
| 246 | v-model="ruleForm.diyaq.zgzqqdss" | ||
| 247 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"></el-input> | ||
| 248 | </el-form-item> | ||
| 249 | </el-col> | ||
| 250 | </el-row> | ||
| 251 | <el-row> | ||
| 252 | <el-col> | ||
| 253 | <el-form-item label="附记:" prop="fj"> | ||
| 254 | <el-input | ||
| 255 | type="textarea" | ||
| 256 | maxlength="500" | ||
| 257 | show-word-limit | ||
| 258 | v-model="ruleForm.diyaq.fj" | ||
| 259 | :disabled="!viewEdit || ruleForm.sldy.djlx == '400'"></el-input> | ||
| 260 | </el-form-item> | ||
| 261 | </el-col> | ||
| 262 | </el-row> | ||
| 263 | |||
| 264 | <div class="slxx_title title-block"> | ||
| 265 | 抵押权人信息 | ||
| 266 | <div class="triangle"></div> | ||
| 267 | </div> | ||
| 268 | <el-row :gutter="10"> | ||
| 269 | <el-col :span="12"> | ||
| 270 | <el-form-item label="共有方式:"> | ||
| 271 | <el-radio-group | ||
| 272 | :disabled="!viewEdit" | ||
| 273 | v-model="ruleForm.sldy.gyfs"> | ||
| 274 | <el-radio label="0">单独所有</el-radio> | ||
| 275 | <el-radio label="1">共同共有</el-radio> | ||
| 276 | <el-radio label="2">按份所有</el-radio> | ||
| 277 | <el-radio label="3">其它共有</el-radio> | ||
| 278 | </el-radio-group> | ||
| 279 | </el-form-item> | ||
| 280 | </el-col> | ||
| 281 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
| 282 | <el-form-item label="是否分别持证:"> | ||
| 283 | <el-radio-group | ||
| 284 | v-model="ruleForm.sldy.sqfbcz" | ||
| 285 | :disabled="!viewEdit" | ||
| 286 | @input="updaterow()"> | ||
| 287 | <el-radio :label="1">是</el-radio> | ||
| 288 | <el-radio :label="0">否</el-radio> | ||
| 289 | </el-radio-group> | ||
| 290 | </el-form-item> | ||
| 291 | </el-col> | ||
| 292 | <el-col | ||
| 293 | :span="6" | ||
| 294 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
| 295 | <el-form-item label="持证人:"> | ||
| 296 | <el-select | ||
| 297 | v-model="czr" | ||
| 298 | placeholder="持证人" | ||
| 299 | :disabled="!viewEdit"> | ||
| 300 | <el-option | ||
| 301 | v-for="(item,index) in czrOptions" | ||
| 302 | :key="index" | ||
| 303 | :label="item.sqrmc" | ||
| 304 | :value="item.id"> | ||
| 305 | </el-option> | ||
| 306 | </el-select> | ||
| 307 | </el-form-item> | ||
| 308 | </el-col> | ||
| 309 | </el-row> | ||
| 310 | <qlrCommonTable | ||
| 311 | :tableData="ruleForm.qlrList" | ||
| 312 | @upDateQlrxxList="upDateQlrxxList" | ||
| 313 | :disabled="viewEdit" | ||
| 314 | :gyfs="ruleForm.sldy.gyfs" /> | ||
| 315 | <div class="slxx_title title-block"> | ||
| 316 | 抵押人信息 | ||
| 317 | <div class="triangle"></div> | ||
| 318 | </div> | ||
| 319 | <qlrCommonTable | ||
| 320 | :tableData="ruleForm.ywrList" | ||
| 321 | @upDateQlrxxList="upDateYwrxxList" | ||
| 322 | :disabled="viewEdit" /> | ||
| 323 | |||
| 324 | <div class="slxx_title title-block"> | ||
| 325 | 登记原因 | ||
| 326 | <div class="triangle"></div> | ||
| 327 | </div> | ||
| 328 | <el-row :gutter="10"> | ||
| 329 | <el-col> | ||
| 330 | <el-form-item | ||
| 331 | v-if="ruleForm.sldy.djlx == '400'" | ||
| 332 | label="注销抵押原因:" | ||
| 333 | prop="djyy"> | ||
| 334 | <el-input | ||
| 335 | class="textArea" | ||
| 336 | type="textarea" | ||
| 337 | :disabled="!viewEdit" | ||
| 338 | v-model="ruleForm.diyaq.zxdyyy"> | ||
| 339 | </el-input> | ||
| 340 | </el-form-item> | ||
| 341 | <el-form-item v-else label="登记原因:" prop="diyaq.djyy"> | ||
| 342 | <el-input | ||
| 343 | class="textArea" | ||
| 344 | type="textarea" | ||
| 345 | maxlength="500" | ||
| 346 | show-word-limit | ||
| 347 | :disabled="!viewEdit" | ||
| 348 | v-model="ruleForm.diyaq.djyy"> | ||
| 349 | </el-input> | ||
| 350 | </el-form-item> | ||
| 351 | </el-col> | ||
| 352 | </el-row> | ||
| 353 | </div> | ||
| 354 | <el-row class="btn" v-if="isSave"> | ||
| 355 | <el-form-item> | ||
| 356 | <el-button type="primary" @click="onSubmitClick()">保存</el-button> | ||
| 357 | </el-form-item> | ||
| 358 | </el-row> | ||
| 359 | </el-form> | ||
| 360 | </div> | ||
| 361 | </template> | ||
| 362 | <script> | ||
| 363 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 364 | import { Init, saveData } from "@/api/workflow/zjgcdyFlow.js"; | ||
| 365 | import { mapGetters } from "vuex"; | ||
| 366 | export default { | ||
| 367 | mounted () { | ||
| 368 | let that = this | ||
| 369 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
| 370 | this.propsParam = this.$attrs; | ||
| 371 | var formdata = new FormData(); | ||
| 372 | this.loading = true | ||
| 373 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 374 | formdata.append("djlx", this.propsParam.djlx); | ||
| 375 | formdata.append("isEdit", this.viewEdit); | ||
| 376 | Init(formdata).then((res) => { | ||
| 377 | this.loading = false | ||
| 378 | if (res.code === 200 && res.result) { | ||
| 379 | this.ruleForm = res.result; | ||
| 380 | window.djlx = res.result.sldy.djlx | ||
| 381 | this.czrOptions = this.ruleForm.qlrList; | ||
| 382 | this.ruleForm.qlrList.forEach((item) => { | ||
| 383 | item.id = item.bsmSqr | ||
| 384 | if (item.sfczr == '1') { | ||
| 385 | that.czr = item.bsmSqr | ||
| 386 | } | ||
| 387 | }) | ||
| 388 | that.czrOptions = that.ruleForm.qlrList; | ||
| 389 | that.isSave = that.viewEdit | ||
| 390 | } else { | ||
| 391 | that.isSave = false | ||
| 392 | that.$confirm(res.message, '提示', { | ||
| 393 | cancelButtonText: '取消', | ||
| 394 | showConfirmButton: false, | ||
| 395 | type: 'warning' | ||
| 396 | }) | ||
| 397 | } | ||
| 398 | }).catch(() => { | ||
| 399 | this.loading = false | ||
| 400 | }) | ||
| 401 | }, | ||
| 402 | components: { qlrCommonTable }, | ||
| 403 | computed: { | ||
| 404 | ...mapGetters(["dictData", "flag"]), | ||
| 405 | }, | ||
| 406 | data () { | ||
| 407 | return { | ||
| 408 | mjdw: '1', | ||
| 409 | isSave: true, | ||
| 410 | loading: false, | ||
| 411 | //表单是否可操作 | ||
| 412 | viewEdit: true, | ||
| 413 | disabled: true, | ||
| 414 | czrOptions: [], | ||
| 415 | czr: "", | ||
| 416 | ruleForm: {}, | ||
| 417 | //传递参数 | ||
| 418 | propsParam: {}, | ||
| 419 | rules: { | ||
| 420 | 'diyaq.djyy': [ | ||
| 421 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
| 422 | ] | ||
| 423 | }, | ||
| 424 | // 键名转换,方法默认是label和children进行树状渲染 | ||
| 425 | normalizer (node) { | ||
| 426 | //方法 | ||
| 427 | if (node.children == null || node.children == "null") { | ||
| 428 | delete node.children; | ||
| 429 | } | ||
| 430 | return { | ||
| 431 | id: node.dcode, | ||
| 432 | label: node.dname, | ||
| 433 | }; | ||
| 434 | }, | ||
| 435 | }; | ||
| 436 | }, | ||
| 437 | methods: { | ||
| 438 | /** | ||
| 439 | * @description: onSubmitClick | ||
| 440 | * @author: renchao | ||
| 441 | */ | ||
| 442 | onSubmitClick () { | ||
| 443 | let that = this; | ||
| 444 | if (this.ruleForm.qlrList.length == 0) { | ||
| 445 | this.$message({ | ||
| 446 | showClose: true, | ||
| 447 | message: "请确认权利人信息", | ||
| 448 | type: "error", | ||
| 449 | }); | ||
| 450 | return false; | ||
| 451 | } | ||
| 452 | |||
| 453 | if (this.ruleForm.sldy.gyfs == "0") { | ||
| 454 | if (this.ruleForm.qlrList.length > 1) { | ||
| 455 | this.$message({ | ||
| 456 | showClose: true, | ||
| 457 | message: "共有方式:单独所有,权利人只能是一个人", | ||
| 458 | type: "error", | ||
| 459 | }); | ||
| 460 | return false; | ||
| 461 | } | ||
| 462 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
| 463 | } else { | ||
| 464 | if (this.ruleForm.qlrList.length <= 1) { | ||
| 465 | this.$message({ | ||
| 466 | showClose: true, | ||
| 467 | message: | ||
| 468 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
| 469 | type: "error", | ||
| 470 | }); | ||
| 471 | return false; | ||
| 472 | } | ||
| 473 | //是否分别持证 | ||
| 474 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
| 475 | //是 | ||
| 476 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 477 | item.sfczr = "1"; | ||
| 478 | }); | ||
| 479 | } else { | ||
| 480 | if (that.czr === '') { | ||
| 481 | that.$message({ | ||
| 482 | showClose: true, | ||
| 483 | message: "请选择持证人", | ||
| 484 | type: "error", | ||
| 485 | }); | ||
| 486 | return false; | ||
| 487 | } | ||
| 488 | this.ruleForm.qlrList.forEach((item, index) => { | ||
| 489 | if (item.id == that.czr) { | ||
| 490 | item.sfczr = "1"; | ||
| 491 | } else { | ||
| 492 | item.sfczr = "0"; | ||
| 493 | } | ||
| 494 | }); | ||
| 495 | } | ||
| 496 | } | ||
| 497 | this.$refs['ruleForm'].validate((valid) => { | ||
| 498 | if (valid) { | ||
| 499 | that.$store.dispatch("user/refreshPage", false); | ||
| 500 | saveData(that.ruleForm, that.propsParam.djlx).then((res) => { | ||
| 501 | if (res.code === 200) { | ||
| 502 | that.$message({ | ||
| 503 | showClose: true, | ||
| 504 | message: "保存成功!", | ||
| 505 | type: "success", | ||
| 506 | }); | ||
| 507 | that.$store.dispatch("user/refreshPage", true); | ||
| 508 | } else { | ||
| 509 | that.$message({ | ||
| 510 | showClose: true, | ||
| 511 | message: res.message, | ||
| 512 | type: "error", | ||
| 513 | }); | ||
| 514 | } | ||
| 515 | }) | ||
| 516 | } else { | ||
| 517 | that.$message({ | ||
| 518 | showClose: true, | ||
| 519 | message: "请输入登记原因", | ||
| 520 | type: "error" | ||
| 521 | }) | ||
| 522 | return false | ||
| 523 | } | ||
| 524 | }) | ||
| 525 | |||
| 526 | }, | ||
| 527 | /** | ||
| 528 | * @description: 更新权利人信息 | ||
| 529 | * @param {*} val | ||
| 530 | * @author: renchao | ||
| 531 | */ | ||
| 532 | upDateQlrxxList (val) { | ||
| 533 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
| 534 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 535 | this.czrOptions = this.ruleForm.qlrList; | ||
| 536 | } | ||
| 537 | this.num = 0 | ||
| 538 | this.ruleForm.qlrList.forEach(item => { | ||
| 539 | if (item.id == this.czr) { | ||
| 540 | this.num++ | ||
| 541 | } | ||
| 542 | }) | ||
| 543 | if (this.num == 0) { | ||
| 544 | this.czr = '' | ||
| 545 | } | ||
| 546 | }, | ||
| 547 | // 是否持证人变化 | ||
| 548 | /** | ||
| 549 | * @description: 是否持证人变化 | ||
| 550 | * @param {*} val | ||
| 551 | * @author: renchao | ||
| 552 | */ | ||
| 553 | updaterow () { | ||
| 554 | this.czr = ""; | ||
| 555 | }, | ||
| 556 | /** | ||
| 557 | * @description: 更新义务人信息 | ||
| 558 | * @param {*} val | ||
| 559 | * @author: renchao | ||
| 560 | */ | ||
| 561 | upDateYwrxxList (val) { | ||
| 562 | if (!_.isEqual(val, this.ruleForm.ywrList)) { | ||
| 563 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 564 | } | ||
| 565 | } | ||
| 566 | } | ||
| 567 | } | ||
| 568 | </script> | ||
| 569 | <style scoped lang="scss"> | ||
| 570 | @import "~@/styles/public.scss"; | ||
| 571 | @import "~@/styles/slxx/slxx.scss"; | ||
| 572 | </style> |
src/views/workflow/main/spyj/index.vue
0 → 100644
| 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> |
src/views/workflow/main/swxx/index.vue
0 → 100644
| 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> |
src/views/workflow/main/szxx/index.vue
0 → 100644
| 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> |
src/views/workflow/main/szxx/szRecord.vue
0 → 100644
| 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> |
src/views/workflow/main/szxx/zsdy.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-02-06 13:26:37 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <div class="zsdy-content" v-Loading="loading"> | ||
| 9 | <el-form | ||
| 10 | :model="ruleForm" | ||
| 11 | ref="ruleForm" | ||
| 12 | label-width="120px"> | ||
| 13 | <el-form-item label="印刷序列号:" prop="ysxlh"> | ||
| 14 | <el-row> | ||
| 15 | <el-col :span="18"> | ||
| 16 | <el-select v-model="ruleForm.ysxlh" @change="handleSelect" :disabled="disabled" placeholder="请选择"> | ||
| 17 | <el-option | ||
| 18 | v-for="item in ysxlh" | ||
| 19 | :key="item.ysxlh" | ||
| 20 | :label="item.ysxlh" | ||
| 21 | :value="item.ysxlh"> | ||
| 22 | </el-option> | ||
| 23 | </el-select> | ||
| 24 | </el-col> | ||
| 25 | <el-col :span="4" v-if="this.formData.bdcqzlx==1"> | ||
| 26 | <el-tabs v-model="activeTitle"> | ||
| 27 | <el-tab-pane label="第一页" name="title1"></el-tab-pane> | ||
| 28 | <el-tab-pane label="第二页" name="title2"></el-tab-pane> | ||
| 29 | </el-tabs> | ||
| 30 | </el-col> | ||
| 31 | <el-col :span="2" v-if="this.formData.ysxlh" style="float:right"> | ||
| 32 | <el-button type="primary" @click="handleZF" v-if="disabled">作废</el-button> | ||
| 33 | </el-col> | ||
| 34 | </el-row> | ||
| 35 | |||
| 36 | </el-form-item> | ||
| 37 | </el-form> | ||
| 38 | <div class="zs-content"> | ||
| 39 | <canvas ref="zs1" width="1024" v-show="this.formData.bdcqzlx==1 && activeTitle=='title1'" height="739"></canvas> | ||
| 40 | <canvas ref="zs" width="1024" v-show="this.formData.bdcqzlx==1 && activeTitle=='title2'" height="739"></canvas> | ||
| 41 | <canvas ref="zm" width="1169" v-show="this.formData.bdcqzlx==2" height="828"></canvas> | ||
| 42 | </div> | ||
| 43 | </div> | ||
| 44 | <!-- 打印模板需要此模块 --> | ||
| 45 | <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" v-show="false"> | ||
| 46 | <embed id="LODOP_EM" type="application/x-print-lodop" width="1180" height="720" pluginspage="install_lodop32.exe" /> | ||
| 47 | </object> | ||
| 48 | <div class="text-center pt-10"> | ||
| 49 | <el-button @click="$popupCacel">取消</el-button> | ||
| 50 | <el-button type="primary" @click="handlePrint" v-if="disabled">打印</el-button> | ||
| 51 | <el-button type="primary" @click="handleSubmit" v-else>确定</el-button> | ||
| 52 | </div> | ||
| 53 | |||
| 54 | <el-dialog title="证书作废" :visible.sync="invalidDiglog" width="40%" :modal-append-to-body="false" top="30vh"> | ||
| 55 | <div class="invalid-diglog"> | ||
| 56 | <div class="invalid-title"> | ||
| 57 | <i class="el-icon-question invalid-icon"></i> | ||
| 58 | <div class="invalid-body">您确定作废证书并再次打印?印刷序列号{{bdcqz.ysxlh}}</div> | ||
| 59 | </div> | ||
| 60 | <div class="invalid-reson">作废原因:</div> | ||
| 61 | <el-input v-model="zfyy" placeholder="请输入作废原因" type="textarea" :rows="4"></el-input> | ||
| 62 | <div class="text-center pt-10"> | ||
| 63 | <el-button @click="closeInvalidDiglog">取 消</el-button> | ||
| 64 | <el-button type="primary" @click="confirmInvalid">确 定</el-button> | ||
| 65 | </div> | ||
| 66 | </div> | ||
| 67 | </el-dialog> | ||
| 68 | </div> | ||
| 69 | </template> | ||
| 70 | |||
| 71 | <script> | ||
| 72 | import QRCode from 'qrcode' | ||
| 73 | import store from '@/store/index.js' | ||
| 74 | import { datas } from "../../javascript/zsyl.js"; | ||
| 75 | import { getPrintTemplateByCode } from "@/api/print"; | ||
| 76 | import { getLodop } from "@/utils/LodopFuncs" | ||
| 77 | import { readYsxlh, certificate, getBdcqzDetail, invalidCertificate } from "@/api/bdcqz.js"; | ||
| 78 | export default { | ||
| 79 | props: { | ||
| 80 | formData: { | ||
| 81 | type: Object, | ||
| 82 | default: () => { | ||
| 83 | return {} | ||
| 84 | } | ||
| 85 | } | ||
| 86 | }, | ||
| 87 | data () { | ||
| 88 | return { | ||
| 89 | activeTitle: 'title1', | ||
| 90 | // 详细信息 | ||
| 91 | bdcqz: {}, | ||
| 92 | key: 0, | ||
| 93 | disabled: false, | ||
| 94 | // 不动产证书图片地址 | ||
| 95 | imgSrc1: require('@/image/bdcqz/bdcqzs1.jpg'), | ||
| 96 | imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'), | ||
| 97 | bdczmSrc: require('@/image/bdcqz/bdczm.jpg'), | ||
| 98 | loading: false, | ||
| 99 | //印刷序列号集合 | ||
| 100 | ysxlh: [], | ||
| 101 | //列名称对象 | ||
| 102 | columns: [], | ||
| 103 | //tab选择绑定值 | ||
| 104 | activeName: '', | ||
| 105 | invalidDiglog: false, | ||
| 106 | zfyy: "", | ||
| 107 | ruleForm: { | ||
| 108 | bsmBdcqz: "", | ||
| 109 | szmc: "不动产权证书", | ||
| 110 | bdcqzlx: "", | ||
| 111 | szzh: "", | ||
| 112 | ysxlh: "" | ||
| 113 | } | ||
| 114 | } | ||
| 115 | }, | ||
| 116 | mounted () { | ||
| 117 | store.dispatch('user/refreshPage', false) | ||
| 118 | this.columns = datas.columns() | ||
| 119 | this.ysxlhList() | ||
| 120 | // 获取详细信息 | ||
| 121 | this.getDetail() | ||
| 122 | if (this.formData.ysxlh) { | ||
| 123 | this.disabled = true | ||
| 124 | } else { | ||
| 125 | this.disabled = false | ||
| 126 | } | ||
| 127 | }, | ||
| 128 | methods: { | ||
| 129 | /** | ||
| 130 | * @description: 获取详细信息 | ||
| 131 | * @author: renchao | ||
| 132 | */ | ||
| 133 | getDetail () { | ||
| 134 | this.loading = true | ||
| 135 | getBdcqzDetail(this.formData.bsmBdcqz).then(res => { | ||
| 136 | this.bdcqz = res.result | ||
| 137 | this.loading = false | ||
| 138 | if (this.bdcqz.ysxlh) this.ruleForm.ysxlh = this.bdcqz.ysxlh | ||
| 139 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 140 | this.drawTextOnImage() | ||
| 141 | } else { | ||
| 142 | this.drawTextzmImage() | ||
| 143 | } | ||
| 144 | }) | ||
| 145 | }, | ||
| 146 | /** | ||
| 147 | * @description: 获取印刷序列号列表 | ||
| 148 | * @author: renchao | ||
| 149 | */ | ||
| 150 | ysxlhList () { | ||
| 151 | readYsxlh({ zslx: this.formData.bdcqzlx }).then((res) => { | ||
| 152 | if (res.code === 200) { | ||
| 153 | this.ysxlh = res.result; | ||
| 154 | } | ||
| 155 | }) | ||
| 156 | }, | ||
| 157 | /** | ||
| 158 | * @description: handleSelect | ||
| 159 | * @param {*} val | ||
| 160 | * @author: renchao | ||
| 161 | */ | ||
| 162 | handleSelect (val) { | ||
| 163 | this.bdcqz.ysxlh = this.ruleForm.ysxlh | ||
| 164 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 165 | this.drawTextOnImage() | ||
| 166 | } else { | ||
| 167 | this.drawTextzmImage() | ||
| 168 | } | ||
| 169 | }, | ||
| 170 | /** | ||
| 171 | * @description: closeInvalidDiglog | ||
| 172 | * @author: renchao | ||
| 173 | */ | ||
| 174 | closeInvalidDiglog () { | ||
| 175 | this.zfyy = ""; | ||
| 176 | this.invalidDiglog = false | ||
| 177 | }, | ||
| 178 | /** | ||
| 179 | * @description: handleZF | ||
| 180 | * @author: renchao | ||
| 181 | */ | ||
| 182 | handleZF () { | ||
| 183 | this.invalidDiglog = true | ||
| 184 | }, | ||
| 185 | /** | ||
| 186 | * @description: 作废缮证信息 | ||
| 187 | * @author: renchao | ||
| 188 | */ | ||
| 189 | confirmInvalid () { | ||
| 190 | store.dispatch('user/reWorkFresh', false) | ||
| 191 | invalidCertificate({ bsmBdcqz: this.bdcqz.bsmBdcqz, zfyy: this.zfyy }).then((res) => { | ||
| 192 | if (res.code === 200) { | ||
| 193 | this.$message.success("作废成功"); | ||
| 194 | this.disabled = false | ||
| 195 | this.invalidDiglog = false; | ||
| 196 | this.zfyy = '' | ||
| 197 | this.ruleForm.ysxlh = '' | ||
| 198 | this.bdcqz.ysxlh = '' | ||
| 199 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 200 | this.drawTextOnImage() | ||
| 201 | } else { | ||
| 202 | this.drawTextzmImage() | ||
| 203 | } | ||
| 204 | store.dispatch('user/reWorkFresh', true) | ||
| 205 | } else { | ||
| 206 | this.$message.error(res.message); | ||
| 207 | } | ||
| 208 | }) | ||
| 209 | }, | ||
| 210 | /** | ||
| 211 | * @description: 不动产证书 | ||
| 212 | * @author: renchao | ||
| 213 | */ | ||
| 214 | drawTextOnImage1 () { | ||
| 215 | const canvas = this.$refs.zs1; | ||
| 216 | const context = canvas.getContext('2d'); | ||
| 217 | const image = new Image(); | ||
| 218 | image.onload = () => { | ||
| 219 | context.drawImage(image, 0, 0); | ||
| 220 | context.font = '18px 楷体'; | ||
| 221 | context.fillStyle = '#000000'; | ||
| 222 | let date = this.bdcqz.djsj.split(' ')[0].split('/'); | ||
| 223 | let nian = date[0] | ||
| 224 | let yue = date[1] | ||
| 225 | let ri = date[2] | ||
| 226 | this.bdcqz.nian = nian | ||
| 227 | this.bdcqz.yue = yue | ||
| 228 | this.bdcqz.ri = ri | ||
| 229 | context.fillText(nian ? nian : '', 780, 499); | ||
| 230 | context.fillText(yue ? yue : '', 840, 499); | ||
| 231 | context.fillText(ri ? ri : '', 885, 499); | ||
| 232 | QRCode.toDataURL(this.bdcqz.bdcqzh, { margin: 0 }) | ||
| 233 | .then(url => { | ||
| 234 | const qrImage = new Image(); | ||
| 235 | this.bdcqz.qrImage = url; // 将二维码图片的 URL 存储到 bdcqz 对象的 qrImage 属性中 | ||
| 236 | qrImage.onload = () => { | ||
| 237 | context.drawImage(qrImage, 670, 400, 100, 100); | ||
| 238 | }; | ||
| 239 | qrImage.src = url; | ||
| 240 | }) | ||
| 241 | .catch(error => { | ||
| 242 | console.error(error); | ||
| 243 | }); | ||
| 244 | context.fillText(this.bdcqz.bdcqzbm ? this.bdcqz.bdcqzbm : '', 745, 633); | ||
| 245 | }; | ||
| 246 | image.src = this.imgSrc1; | ||
| 247 | }, | ||
| 248 | drawTextOnImage () { | ||
| 249 | this.drawTextOnImage1() | ||
| 250 | function getByteLen (val) { | ||
| 251 | var len = 0; | ||
| 252 | if (!val) return len; | ||
| 253 | for (var i = 0; i < val.length; i++) { | ||
| 254 | var length = val.charCodeAt(i); | ||
| 255 | if (length >= 0 && length <= 128) { | ||
| 256 | len += 1; | ||
| 257 | } else { | ||
| 258 | len += 2; | ||
| 259 | } | ||
| 260 | } | ||
| 261 | return len; | ||
| 262 | } | ||
| 263 | const canvas = this.$refs.zs; | ||
| 264 | const context = canvas.getContext('2d'); | ||
| 265 | const image = new Image(); | ||
| 266 | image.onload = () => { | ||
| 267 | context.drawImage(image, 0, 0); | ||
| 268 | context.font = '18px 楷体'; | ||
| 269 | context.fillStyle = '#000000'; | ||
| 270 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 60, 56); | ||
| 271 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 113, 56); | ||
| 272 | // context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 180, 56); | ||
| 273 | |||
| 274 | if (getByteLen(this.bdcqz.sxqc) > 14) { | ||
| 275 | const originalFont = context.font; | ||
| 276 | // 设置新的字体大小 | ||
| 277 | context.font = '14px 楷体'; // 替换为你想要的字体和大小 | ||
| 278 | // 绘制 bdcdyh | ||
| 279 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 165, 56); | ||
| 280 | // 恢复原始字体设置 | ||
| 281 | context.font = originalFont; | ||
| 282 | } else { | ||
| 283 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 170, 56); | ||
| 284 | } | ||
| 285 | |||
| 286 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56); | ||
| 287 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 129, 97); | ||
| 288 | context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 129, 136); | ||
| 289 | |||
| 290 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
| 291 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
| 292 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 129, 223); | ||
| 293 | |||
| 294 | |||
| 295 | |||
| 296 | context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : '', 129, 263); | ||
| 297 | context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : '', 129, 303); | ||
| 298 | context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 129, 346); | ||
| 299 | let lines6 = this.bdcqz.mj ? this.bdcqz.mj.split(' ') : []; | ||
| 300 | if (getByteLen(this.bdcqz.mj) > 37) { | ||
| 301 | lines6.forEach((line, index) => { | ||
| 302 | const y = 378 + (index * 27); // 每行文本的垂直位置 | ||
| 303 | let currentLine = ''; | ||
| 304 | let arr = []; | ||
| 305 | for (let word of line) { | ||
| 306 | const testLine = currentLine + word; | ||
| 307 | const lineWidth = context.measureText(testLine).width; | ||
| 308 | if (lineWidth <= 336) { | ||
| 309 | currentLine = testLine; | ||
| 310 | } else { | ||
| 311 | arr.push(currentLine); | ||
| 312 | currentLine = word; | ||
| 313 | } | ||
| 314 | } | ||
| 315 | arr.push(currentLine); | ||
| 316 | arr.forEach((line, index) => { | ||
| 317 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 318 | }) | ||
| 319 | }) | ||
| 320 | } else { | ||
| 321 | lines6.forEach((line, index) => { | ||
| 322 | const y = 386 + (index * 27); // 每行文本的垂直位置 | ||
| 323 | let currentLine = ''; | ||
| 324 | let arr = []; | ||
| 325 | for (let word of line) { | ||
| 326 | const testLine = currentLine + word; | ||
| 327 | const lineWidth = context.measureText(testLine).width; | ||
| 328 | if (lineWidth <= 336) { | ||
| 329 | currentLine = testLine; | ||
| 330 | } else { | ||
| 331 | arr.push(currentLine); | ||
| 332 | currentLine = word; | ||
| 333 | } | ||
| 334 | } | ||
| 335 | arr.push(currentLine); | ||
| 336 | arr.forEach((line, index) => { | ||
| 337 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 338 | }) | ||
| 339 | }) | ||
| 340 | } | ||
| 341 | // 权利其他状态 | ||
| 342 | const maxWidth = 332; // 最大宽度限制 | ||
| 343 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
| 344 | for (let i = 0; i < lines.length; i++) { | ||
| 345 | let num = Math.ceil(getByteLen(lines[i]) / 37) | ||
| 346 | if (getByteLen(lines[i]) > 37) { | ||
| 347 | let currentLine = ''; | ||
| 348 | let arr = []; | ||
| 349 | for (let word of lines[i]) { | ||
| 350 | const testLine = currentLine + word; | ||
| 351 | const lineWidth = context.measureText(testLine).width; | ||
| 352 | if (lineWidth <= maxWidth) { | ||
| 353 | currentLine = testLine; | ||
| 354 | } else { | ||
| 355 | arr.push(currentLine); | ||
| 356 | currentLine = word; | ||
| 357 | } | ||
| 358 | } | ||
| 359 | arr.push(currentLine); | ||
| 360 | if (i > 0) { | ||
| 361 | arr.forEach((line, index) => { | ||
| 362 | context.fillText(line, 129, 495 + (29 * (i - 1)) + 4 * num + (index * 14)); // 调整行高 | ||
| 363 | }) | ||
| 364 | } else { | ||
| 365 | arr.forEach((line, index) => { | ||
| 366 | context.fillText(line, 129, 493 + (26 * (i - 1)) + (index * 14)); // 调整行高 | ||
| 367 | }) | ||
| 368 | } | ||
| 369 | } else { | ||
| 370 | if (i > 0) { | ||
| 371 | context.fillText(lines[i] ? lines[i] : '', 129, 500 + 4 * num + (29 * (i - 1))); | ||
| 372 | } else { | ||
| 373 | context.fillText(lines[i] ? lines[i] : '', 129, 505 + (27 * (i - 1))); | ||
| 374 | } | ||
| 375 | } | ||
| 376 | } | ||
| 377 | |||
| 378 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
| 379 | lines1.forEach((line, index) => { | ||
| 380 | const y = 100 + (index * 30); // 每行文本的垂直位置 | ||
| 381 | let currentLine = ''; | ||
| 382 | let arr = []; | ||
| 383 | for (let word of line) { | ||
| 384 | const testLine = currentLine + word; | ||
| 385 | const lineWidth = context.measureText(testLine).width; | ||
| 386 | if (lineWidth <= 395) { | ||
| 387 | currentLine = testLine; | ||
| 388 | } else { | ||
| 389 | arr.push(currentLine); | ||
| 390 | currentLine = word; | ||
| 391 | } | ||
| 392 | } | ||
| 393 | arr.push(currentLine); | ||
| 394 | arr.forEach((line, index) => { | ||
| 395 | context.fillText(line, 580, y + (index * 30)); // 调整行高 | ||
| 396 | }) | ||
| 397 | }) | ||
| 398 | let lines3 = this.bdcqz.syqx ? this.bdcqz.syqx.split(' ') : []; | ||
| 399 | if (getByteLen(this.bdcqz.syqx) > 37) { | ||
| 400 | lines3.forEach((line, index) => { | ||
| 401 | const y = 423 + (index * 27); // 每行文本的垂直位置 | ||
| 402 | let currentLine = ''; | ||
| 403 | let arr = []; | ||
| 404 | for (let word of line) { | ||
| 405 | const testLine = currentLine + word; | ||
| 406 | const lineWidth = context.measureText(testLine).width; | ||
| 407 | if (lineWidth <= 330) { | ||
| 408 | currentLine = testLine; | ||
| 409 | } else { | ||
| 410 | arr.push(currentLine); | ||
| 411 | currentLine = word; | ||
| 412 | } | ||
| 413 | } | ||
| 414 | arr.push(currentLine); | ||
| 415 | arr.forEach((line, index) => { | ||
| 416 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 417 | }) | ||
| 418 | }) | ||
| 419 | } else { | ||
| 420 | lines3.forEach((line, index) => { | ||
| 421 | const y = 430 + (index * 27); // 每行文本的垂直位置 | ||
| 422 | let currentLine = ''; | ||
| 423 | let arr = []; | ||
| 424 | for (let word of line) { | ||
| 425 | const testLine = currentLine + word; | ||
| 426 | const lineWidth = context.measureText(testLine).width; | ||
| 427 | if (lineWidth <= 315) { | ||
| 428 | currentLine = testLine; | ||
| 429 | } else { | ||
| 430 | arr.push(currentLine); | ||
| 431 | currentLine = word; | ||
| 432 | } | ||
| 433 | } | ||
| 434 | arr.push(currentLine); | ||
| 435 | arr.forEach((line, index) => { | ||
| 436 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 437 | }) | ||
| 438 | }) | ||
| 439 | } | ||
| 440 | |||
| 441 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
| 442 | if (getByteLen(this.bdcqz.zl) > 37) { | ||
| 443 | lines2.forEach((line, index) => { | ||
| 444 | const y = 170 + (index * 20); // 每行文本的垂直位置 | ||
| 445 | let currentLine = ''; | ||
| 446 | let arr = []; | ||
| 447 | for (let word of line) { | ||
| 448 | const testLine = currentLine + word; | ||
| 449 | const lineWidth = context.measureText(testLine).width; | ||
| 450 | if (lineWidth <= 336) { | ||
| 451 | currentLine = testLine; | ||
| 452 | } else { | ||
| 453 | arr.push(currentLine); | ||
| 454 | currentLine = word; | ||
| 455 | } | ||
| 456 | } | ||
| 457 | arr.push(currentLine); | ||
| 458 | arr.forEach((line, index) => { | ||
| 459 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 460 | }) | ||
| 461 | }) | ||
| 462 | } else { | ||
| 463 | lines2.forEach((line, index) => { | ||
| 464 | const y = 180 + (index * 20); // 每行文本的垂直位置 | ||
| 465 | let currentLine = ''; | ||
| 466 | let arr = []; | ||
| 467 | for (let word of line) { | ||
| 468 | const testLine = currentLine + word; | ||
| 469 | const lineWidth = context.measureText(testLine).width; | ||
| 470 | if (lineWidth <= 336) { | ||
| 471 | currentLine = testLine; | ||
| 472 | } else { | ||
| 473 | arr.push(currentLine); | ||
| 474 | currentLine = word; | ||
| 475 | } | ||
| 476 | } | ||
| 477 | arr.push(currentLine); | ||
| 478 | arr.forEach((line, index) => { | ||
| 479 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 480 | }) | ||
| 481 | }) | ||
| 482 | } | ||
| 483 | } | ||
| 484 | image.src = this.imgSrc | ||
| 485 | }, | ||
| 486 | /** | ||
| 487 | * @description: 不动产证明 | ||
| 488 | * @author: renchao | ||
| 489 | */ | ||
| 490 | drawTextzmImage () { | ||
| 491 | function getByteLen (val) { | ||
| 492 | var len = 0; | ||
| 493 | if (!val) return len; | ||
| 494 | for (var i = 0; i < val.length; i++) { | ||
| 495 | var length = val.charCodeAt(i); | ||
| 496 | if (length >= 0 && length <= 128) { | ||
| 497 | len += 1; | ||
| 498 | } else { | ||
| 499 | len += 2; | ||
| 500 | } | ||
| 501 | } | ||
| 502 | return len; | ||
| 503 | } | ||
| 504 | |||
| 505 | const canvas = this.$refs.zm; | ||
| 506 | const context = canvas.getContext('2d'); | ||
| 507 | const image = new Image(); | ||
| 508 | image.onload = () => { | ||
| 509 | context.drawImage(image, 0, 0); | ||
| 510 | context.font = '18px 楷体'; | ||
| 511 | context.fillStyle = '#000000'; | ||
| 512 | // ysxlh | ||
| 513 | context.fillText(this.bdcqz.ysxlh ? this.bdcqz.ysxlh : '', 280, 712); | ||
| 514 | // djsj | ||
| 515 | if (this.bdcqz.djsj) { | ||
| 516 | let djsjList = this.bdcqz.djsj.split(' ')[0].split('/') | ||
| 517 | context.fillText(djsjList[0] ? djsjList[0] : '', 327, 580); | ||
| 518 | context.fillText(djsjList[1] ? djsjList[1] : '', 393, 580); | ||
| 519 | context.fillText(djsjList[2] ? djsjList[2] : '', 443, 580); | ||
| 520 | } | ||
| 521 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125); | ||
| 522 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125); | ||
| 523 | // context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 750, 125); | ||
| 524 | |||
| 525 | if (getByteLen(this.bdcqz.sxqc) > 14) { | ||
| 526 | const originalFont = context.font; | ||
| 527 | // 设置新的字体大小 | ||
| 528 | context.font = '14px 楷体'; // 替换为你想要的字体和大小 | ||
| 529 | // 绘制 bdcdyh | ||
| 530 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 725, 125); | ||
| 531 | // 恢复原始字体设置 | ||
| 532 | context.font = originalFont; | ||
| 533 | } else { | ||
| 534 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 755, 125); | ||
| 535 | } | ||
| 536 | |||
| 537 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123); | ||
| 538 | context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180); | ||
| 539 | // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
| 540 | // 权利人 | ||
| 541 | let qlrlines = this.bdcqz.qlr | ||
| 542 | if (getByteLen(this.bdcqz.qlr) > 32) { | ||
| 543 | let currentLine = ''; | ||
| 544 | let arr = []; | ||
| 545 | for (let word of qlrlines) { | ||
| 546 | const testLine = currentLine + word; | ||
| 547 | const lineWidth = context.measureText(testLine).width; | ||
| 548 | if (lineWidth <= 295) { | ||
| 549 | currentLine = testLine; | ||
| 550 | } else { | ||
| 551 | arr.push(currentLine); | ||
| 552 | currentLine = word; | ||
| 553 | } | ||
| 554 | } | ||
| 555 | arr.push(currentLine); // 将最后一行添加到数组 | ||
| 556 | // 绘制所有行 | ||
| 557 | for (let i = 0; i < arr.length; i++) { | ||
| 558 | context.fillText(arr[i], 775, 218 + i * 20); // lineHeight 为行高 | ||
| 559 | } | ||
| 560 | } else { | ||
| 561 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
| 562 | } | ||
| 563 | // 义务人 | ||
| 564 | // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
| 565 | |||
| 566 | let ywrlines = this.bdcqz.ywr | ||
| 567 | if (getByteLen(this.bdcqz.ywr) > 32) { | ||
| 568 | let currentLine = ''; | ||
| 569 | let arr = []; | ||
| 570 | for (let word of ywrlines) { | ||
| 571 | const testLine = currentLine + word; | ||
| 572 | const lineWidth = context.measureText(testLine).width; | ||
| 573 | if (lineWidth <= 295) { | ||
| 574 | currentLine = testLine; | ||
| 575 | } else { | ||
| 576 | arr.push(currentLine); | ||
| 577 | currentLine = word; | ||
| 578 | } | ||
| 579 | } | ||
| 580 | arr.push(currentLine); // 将最后一行添加到数组 | ||
| 581 | // 绘制所有行 | ||
| 582 | for (let i = 0; i < arr.length; i++) { | ||
| 583 | context.fillText(arr[i], 775, 268 + i * 20); // lineHeight 为行高 | ||
| 584 | } | ||
| 585 | } else { | ||
| 586 | context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
| 587 | } | ||
| 588 | |||
| 589 | |||
| 590 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
| 591 | if (getByteLen(this.bdcqz.zl) > 32) { | ||
| 592 | lines2.forEach((line, index) => { | ||
| 593 | const y = 315 + (index * 20); // 每行文本的垂直位置 | ||
| 594 | let currentLine = ''; | ||
| 595 | let arr = []; | ||
| 596 | for (let word of line) { | ||
| 597 | const testLine = currentLine + word; | ||
| 598 | const lineWidth = context.measureText(testLine).width; | ||
| 599 | if (lineWidth <= 295) { | ||
| 600 | currentLine = testLine; | ||
| 601 | } else { | ||
| 602 | arr.push(currentLine); | ||
| 603 | currentLine = word; | ||
| 604 | } | ||
| 605 | } | ||
| 606 | arr.push(currentLine); | ||
| 607 | arr.forEach((line, index) => { | ||
| 608 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
| 609 | }) | ||
| 610 | }) | ||
| 611 | } else { | ||
| 612 | lines2.forEach((line, index) => { | ||
| 613 | const y = 325 + (index * 20); // 每行文本的垂直位置 | ||
| 614 | let currentLine = ''; | ||
| 615 | let arr = []; | ||
| 616 | for (let word of line) { | ||
| 617 | const testLine = currentLine + word; | ||
| 618 | const lineWidth = context.measureText(testLine).width; | ||
| 619 | if (lineWidth <= 295) { | ||
| 620 | currentLine = testLine; | ||
| 621 | } else { | ||
| 622 | arr.push(currentLine); | ||
| 623 | currentLine = word; | ||
| 624 | } | ||
| 625 | } | ||
| 626 | arr.push(currentLine); | ||
| 627 | arr.forEach((line, index) => { | ||
| 628 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
| 629 | }) | ||
| 630 | }) | ||
| 631 | } | ||
| 632 | // bdcdyh | ||
| 633 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
| 634 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
| 635 | // 保存当前字体设置 | ||
| 636 | const originalFont = context.font; | ||
| 637 | // 设置新的字体大小 | ||
| 638 | context.font = '16px 楷体'; // 替换为你想要的字体和大小 | ||
| 639 | // 绘制 bdcdyh | ||
| 640 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373); | ||
| 641 | // 恢复原始字体设置 | ||
| 642 | context.font = originalFont; | ||
| 643 | // qlqtzk | ||
| 644 | function getByteLenBdcdy (val) { | ||
| 645 | var encoder = new TextEncoder('utf-8'); | ||
| 646 | return encoder.encode(val).length; | ||
| 647 | } | ||
| 648 | const maxWidth = 290; // 最大宽度限制 | ||
| 649 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
| 650 | let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43) | ||
| 651 | // 单独处理不动产单元号 | ||
| 652 | let linesBdcdy = lines[0] ? lines[0].split(' ') : []; | ||
| 653 | if (getByteLenBdcdy(lines[0]) > 43) { | ||
| 654 | linesBdcdy.forEach((line, index) => { | ||
| 655 | const y = 412 + (index * 17); // 每行文本的垂直位置 | ||
| 656 | let currentLine = ''; | ||
| 657 | let arr = []; | ||
| 658 | for (let word of line) { | ||
| 659 | const testLine = currentLine + word; | ||
| 660 | const lineWidth = context.measureText(testLine).width; | ||
| 661 | if (lineWidth <= maxWidth) { | ||
| 662 | currentLine = testLine; | ||
| 663 | } else { | ||
| 664 | arr.push(currentLine); | ||
| 665 | currentLine = word; | ||
| 666 | } | ||
| 667 | } | ||
| 668 | arr.push(currentLine); | ||
| 669 | arr.forEach((line, index) => { | ||
| 670 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
| 671 | }) | ||
| 672 | }) | ||
| 673 | } else { | ||
| 674 | linesBdcdy.forEach((line, index) => { | ||
| 675 | const y = 418 + (index * 17); // 每行文本的垂直位置 | ||
| 676 | let currentLine = ''; | ||
| 677 | let arr = []; | ||
| 678 | for (let word of line) { | ||
| 679 | const testLine = currentLine + word; | ||
| 680 | const lineWidth = context.measureText(testLine).width; | ||
| 681 | if (lineWidth <= maxWidth) { | ||
| 682 | currentLine = testLine; | ||
| 683 | } else { | ||
| 684 | arr.push(currentLine); | ||
| 685 | currentLine = word; | ||
| 686 | } | ||
| 687 | } | ||
| 688 | arr.push(currentLine); | ||
| 689 | arr.forEach((line, index) => { | ||
| 690 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
| 691 | }) | ||
| 692 | }) | ||
| 693 | } | ||
| 694 | |||
| 695 | for (let i = 1; i < lines.length; i++) { | ||
| 696 | let num = Math.ceil(getByteLen(lines[i]) / 32) | ||
| 697 | if (getByteLen(lines[i]) > 32) { | ||
| 698 | let currentLine = ''; | ||
| 699 | let arr = []; | ||
| 700 | for (let word of lines[i]) { | ||
| 701 | const testLine = currentLine + word; | ||
| 702 | const lineWidth = context.measureText(testLine).width; | ||
| 703 | if (lineWidth <= maxWidth) { | ||
| 704 | currentLine = testLine; | ||
| 705 | } else { | ||
| 706 | arr.push(currentLine); | ||
| 707 | currentLine = word; | ||
| 708 | } | ||
| 709 | } | ||
| 710 | arr.push(currentLine); | ||
| 711 | if (i > 0) { | ||
| 712 | arr.forEach((line, index) => { | ||
| 713 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
| 714 | }) | ||
| 715 | } else { | ||
| 716 | arr.forEach((line, index) => { | ||
| 717 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
| 718 | }) | ||
| 719 | } | ||
| 720 | } else { | ||
| 721 | if (i > 0) { | ||
| 722 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1))); | ||
| 723 | } else { | ||
| 724 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1))); | ||
| 725 | } | ||
| 726 | } | ||
| 727 | } | ||
| 728 | // fj | ||
| 729 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
| 730 | for (let i = 0; i < lines1.length; i++) { | ||
| 731 | let num = Math.ceil(getByteLen(lines1[i]) / 37) | ||
| 732 | if (getByteLen(lines1[i]) > 37) { | ||
| 733 | let currentLine = ''; | ||
| 734 | let arr = []; | ||
| 735 | for (let word of lines1[i]) { | ||
| 736 | const testLine = currentLine + word; | ||
| 737 | const lineWidth = context.measureText(testLine).width; | ||
| 738 | if (lineWidth <= maxWidth) { | ||
| 739 | currentLine = testLine; | ||
| 740 | } else { | ||
| 741 | arr.push(currentLine); | ||
| 742 | currentLine = word; | ||
| 743 | } | ||
| 744 | } | ||
| 745 | arr.push(currentLine); | ||
| 746 | if (i > 0) { | ||
| 747 | arr.forEach((line, index) => { | ||
| 748 | context.fillText(line, 770, 605 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
| 749 | }) | ||
| 750 | } else { | ||
| 751 | arr.forEach((line, index) => { | ||
| 752 | context.fillText(line, 770, 605 + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
| 753 | }) | ||
| 754 | } | ||
| 755 | } else { | ||
| 756 | if (i > 0) { | ||
| 757 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + 6 * num + (25 * (i - 1))); | ||
| 758 | } else { | ||
| 759 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + (25 * (i - 1))); | ||
| 760 | } | ||
| 761 | } | ||
| 762 | } | ||
| 763 | } | ||
| 764 | image.src = this.bdczmSrc; | ||
| 765 | }, | ||
| 766 | /** | ||
| 767 | * @description: 打印 | ||
| 768 | * @author: renchao | ||
| 769 | */ | ||
| 770 | handlePrint () { | ||
| 771 | let that = this | ||
| 772 | if (this.ruleForm.ysxlh == '') { | ||
| 773 | this.$message.error('请选择印刷序列号'); | ||
| 774 | return; | ||
| 775 | } | ||
| 776 | store.dispatch('user/reWorkFresh', false) | ||
| 777 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 778 | if (this.activeTitle == 'title1') { | ||
| 779 | getPrintTemplateByCode({ tmpno: 'zsdy1' }).then(resInfo => { | ||
| 780 | if (resInfo.code == 200) { | ||
| 781 | //打开模板设计 | ||
| 782 | let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); | ||
| 783 | LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板 | ||
| 784 | console.log(that.bdcqz); | ||
| 785 | for (let key in that.bdcqz) { | ||
| 786 | LODOP.SET_PRINT_STYLEA(key, "CONTENT", that.bdcqz[key]); | ||
| 787 | } | ||
| 788 | LODOP.PREVIEW(); | ||
| 789 | } else { | ||
| 790 | that.$message.error(resInfo.message) | ||
| 791 | } | ||
| 792 | that.$popupCacel() | ||
| 793 | //刷新列表 | ||
| 794 | store.dispatch('user/reWorkFresh', true) | ||
| 795 | }) | ||
| 796 | } else { | ||
| 797 | getPrintTemplateByCode({ tmpno: 'zsdy' }).then(resInfo => { | ||
| 798 | if (resInfo.code == 200) { | ||
| 799 | //打开模板设计 | ||
| 800 | let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); | ||
| 801 | LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板 | ||
| 802 | |||
| 803 | that.bdcqz.bdcdyh1 = that.bdcqz.bdcdyh.slice(0, 6) + ' ' + that.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
| 804 | that.bdcqz.bdcdyh.slice(12, 19) + ' ' + that.bdcqz.bdcdyh.slice(19, that.bdcqz.bdcdyh.length) | ||
| 805 | //todo 调取后端接口获取数据 循环set | ||
| 806 | for (let key in that.bdcqz) { | ||
| 807 | LODOP.SET_PRINT_STYLEA(key, "CONTENT", that.bdcqz[key]); | ||
| 808 | } | ||
| 809 | LODOP.PREVIEW(); | ||
| 810 | } else { | ||
| 811 | that.$message.error(resInfo.message) | ||
| 812 | } | ||
| 813 | that.$popupCacel() | ||
| 814 | //刷新列表 | ||
| 815 | store.dispatch('user/reWorkFresh', true) | ||
| 816 | }) | ||
| 817 | } | ||
| 818 | } else { | ||
| 819 | getPrintTemplateByCode({ tmpno: 'zmdy' }).then(resInfo => { | ||
| 820 | if (resInfo.code == 200) { | ||
| 821 | //打开模板设计 | ||
| 822 | let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); | ||
| 823 | LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板 | ||
| 824 | |||
| 825 | // 年月日 | ||
| 826 | this.bdcqz.nian = this.bdcqz.djsj.split(' ')[0].split('/')[0] | ||
| 827 | this.bdcqz.yue = this.bdcqz.djsj.split(' ')[0].split('/')[1] | ||
| 828 | this.bdcqz.ri = this.bdcqz.djsj.split(' ')[0].split('/')[1] | ||
| 829 | this.bdcqz.bdcdyh1 = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
| 830 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
| 831 | //todo 调取后端接口获取数据 循环set | ||
| 832 | for (let key in this.bdcqz) { | ||
| 833 | LODOP.SET_PRINT_STYLEA(key, "CONTENT", this.bdcqz[key]); | ||
| 834 | } | ||
| 835 | LODOP.PREVIEW(); | ||
| 836 | } else { | ||
| 837 | this.$message.error(resInfo.message) | ||
| 838 | } | ||
| 839 | that.$popupCacel() | ||
| 840 | //刷新列表 | ||
| 841 | store.dispatch('user/reWorkFresh', true) | ||
| 842 | }) | ||
| 843 | } | ||
| 844 | }, | ||
| 845 | /** | ||
| 846 | * @description: 保存打印记录 | ||
| 847 | * @author: renchao | ||
| 848 | */ | ||
| 849 | handleSubmit () { | ||
| 850 | let that = this | ||
| 851 | if (this.ruleForm.ysxlh == '') { | ||
| 852 | this.$message.error('请选择印刷序列号'); | ||
| 853 | return; | ||
| 854 | } | ||
| 855 | store.dispatch('user/reWorkFresh', false) | ||
| 856 | this.ruleForm.bsmBdcqz = this.bdcqz.bsmBdcqz; | ||
| 857 | this.ruleForm.bdcqzlx = this.bdcqz.bdcqzlx; | ||
| 858 | this.ruleForm.szzh = this.bdcqz.bdcqzh; | ||
| 859 | this.bdcqz.ysxlh = this.ruleForm.ysxlh | ||
| 860 | certificate(this.ruleForm).then((res) => { | ||
| 861 | if (res.code === 200) { | ||
| 862 | that.$popupCacel() | ||
| 863 | this.handlePrint() | ||
| 864 | } else { | ||
| 865 | this.$message.error(res.message) | ||
| 866 | } | ||
| 867 | store.dispatch('user/reWorkFresh', true) | ||
| 868 | }) | ||
| 869 | } | ||
| 870 | } | ||
| 871 | } | ||
| 872 | </script> | ||
| 873 | <style scoped lang="scss"> | ||
| 874 | @import "~@/styles/mixin.scss"; | ||
| 875 | /deep/.el-tabs__nav-wrap::after { | ||
| 876 | display: none; | ||
| 877 | } | ||
| 878 | /deep/.el-tabs__header { | ||
| 879 | margin: 0; | ||
| 880 | } | ||
| 881 | /deep/.el-form-item--small.el-form-item { | ||
| 882 | margin-bottom: 0; | ||
| 883 | } | ||
| 884 | .zsdy-content { | ||
| 885 | height: 80vh; | ||
| 886 | overflow-y: scroll; | ||
| 887 | } | ||
| 888 | .zs-content { | ||
| 889 | text-align: center; | ||
| 890 | } | ||
| 891 | .invalid-diglog { | ||
| 892 | padding-bottom: 20px; | ||
| 893 | font-size: 16px; | ||
| 894 | font-weight: bold; | ||
| 895 | color: rgb(99, 99, 99); | ||
| 896 | |||
| 897 | .invalid-title { | ||
| 898 | display: flex; | ||
| 899 | align-content: center; | ||
| 900 | |||
| 901 | .invalid-icon { | ||
| 902 | color: rgb(254, 148, 0); | ||
| 903 | font-size: 34px; | ||
| 904 | margin-right: 10px; | ||
| 905 | } | ||
| 906 | |||
| 907 | .invalid-body { | ||
| 908 | line-height: 40px; | ||
| 909 | margin-bottom: 10px; | ||
| 910 | } | ||
| 911 | } | ||
| 912 | |||
| 913 | .invalid-reson { | ||
| 914 | margin-bottom: 10px; | ||
| 915 | } | ||
| 916 | |||
| 917 | .dialog-footer { | ||
| 918 | margin-top: 10px; | ||
| 919 | display: flex; | ||
| 920 | justify-content: flex-end; | ||
| 921 | } | ||
| 922 | } | ||
| 923 | </style> |
src/views/workflow/main/zdt/index.vue
0 → 100644
| 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 | /** | ... | ... |
src/views/workflow/top/back/index.vue
0 → 100644
| 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> |
src/views/workflow/top/button.js
0 → 100644
| 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 | } |
src/views/workflow/top/map/index.vue
0 → 100644
| 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-05-17 10:41:15 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <div class="process-viewer"> | ||
| 9 | <div | ||
| 10 | v-show="!isLoading" | ||
| 11 | ref="processCanvas" | ||
| 12 | class="process-canvas" | ||
| 13 | style="height: 280px" | ||
| 14 | /> | ||
| 15 | <!-- 自定义箭头样式,用于成功状态下流程连线箭头 --> | ||
| 16 | <defs ref="customSuccessDefs"> | ||
| 17 | <marker | ||
| 18 | id="sequenceflow-end-white-success" | ||
| 19 | view-box="0 0 20 20" | ||
| 20 | ref-x="11" | ||
| 21 | ref-y="10" | ||
| 22 | marker-width="10" | ||
| 23 | marker-height="10" | ||
| 24 | orient="auto" | ||
| 25 | > | ||
| 26 | <path | ||
| 27 | class="success-arrow" | ||
| 28 | d="M 1 5 L 11 10 L 1 15 Z" | ||
| 29 | style=" | ||
| 30 | stroke-width: 1px; | ||
| 31 | stroke-linecap: round; | ||
| 32 | stroke-dasharray: 10000, 1; | ||
| 33 | " | ||
| 34 | /> | ||
| 35 | </marker> | ||
| 36 | <marker | ||
| 37 | id="conditional-flow-marker-white-success" | ||
| 38 | view-box="0 0 20 20" | ||
| 39 | ref-x="-1" | ||
| 40 | ref-y="10" | ||
| 41 | marker-width="10" | ||
| 42 | marker-height="10" | ||
| 43 | orient="auto" | ||
| 44 | > | ||
| 45 | <path | ||
| 46 | class="success-conditional" | ||
| 47 | d="M 0 10 L 8 6 L 16 10 L 8 14 Z" | ||
| 48 | style=" | ||
| 49 | stroke-width: 1px; | ||
| 50 | stroke-linecap: round; | ||
| 51 | stroke-dasharray: 10000, 1; | ||
| 52 | " | ||
| 53 | /> | ||
| 54 | </marker> | ||
| 55 | </defs> | ||
| 56 | <!-- 自定义箭头样式,用于失败状态下流程连线箭头 --> | ||
| 57 | <defs ref="customFailDefs"> | ||
| 58 | <marker | ||
| 59 | id="sequenceflow-end-white-fail" | ||
| 60 | view-box="0 0 20 20" | ||
| 61 | ref-x="11" | ||
| 62 | ref-y="10" | ||
| 63 | marker-width="10" | ||
| 64 | marker-height="10" | ||
| 65 | orient="auto" | ||
| 66 | > | ||
| 67 | <path | ||
| 68 | class="fail-arrow" | ||
| 69 | d="M 1 5 L 11 10 L 1 15 Z" | ||
| 70 | style=" | ||
| 71 | stroke-width: 1px; | ||
| 72 | stroke-linecap: round; | ||
| 73 | stroke-dasharray: 10000, 1; | ||
| 74 | " | ||
| 75 | /> | ||
| 76 | </marker> | ||
| 77 | <marker | ||
| 78 | id="conditional-flow-marker-white-fail" | ||
| 79 | view-box="0 0 20 20" | ||
| 80 | ref-x="-1" | ||
| 81 | ref-y="10" | ||
| 82 | marker-width="10" | ||
| 83 | marker-height="10" | ||
| 84 | orient="auto" | ||
| 85 | > | ||
| 86 | <path | ||
| 87 | class="fail-conditional" | ||
| 88 | d="M 0 10 L 8 6 L 16 10 L 8 14 Z" | ||
| 89 | style=" | ||
| 90 | stroke-width: 1px; | ||
| 91 | stroke-linecap: round; | ||
| 92 | stroke-dasharray: 10000, 1; | ||
| 93 | " | ||
| 94 | /> | ||
| 95 | </marker> | ||
| 96 | </defs> | ||
| 97 | |||
| 98 | <div style="position: absolute; top: 0px; left: 0px; width: 100%"> | ||
| 99 | <el-row type="flex" justify="end"> | ||
| 100 | <el-button-group key="scale-control" size="medium"> | ||
| 101 | <el-button | ||
| 102 | size="medium" | ||
| 103 | type="default" | ||
| 104 | :plain="true" | ||
| 105 | :disabled="defaultZoom <= 0.3" | ||
| 106 | icon="el-icon-zoom-out" | ||
| 107 | @click="processZoomOut()" | ||
| 108 | /> | ||
| 109 | <el-button size="medium" type="default" style="width: 90px">{{ | ||
| 110 | Math.floor(this.defaultZoom * 10 * 10) + "%" | ||
| 111 | }}</el-button> | ||
| 112 | <el-button | ||
| 113 | size="medium" | ||
| 114 | type="default" | ||
| 115 | :plain="true" | ||
| 116 | :disabled="defaultZoom >= 3.9" | ||
| 117 | icon="el-icon-zoom-in" | ||
| 118 | @click="processZoomIn()" | ||
| 119 | /> | ||
| 120 | <el-button | ||
| 121 | size="medium" | ||
| 122 | type="default" | ||
| 123 | icon="el-icon-c-scale-to-original" | ||
| 124 | @click="processReZoom()" | ||
| 125 | /> | ||
| 126 | <slot /> | ||
| 127 | </el-button-group> | ||
| 128 | </el-row> | ||
| 129 | </div> | ||
| 130 | </div> | ||
| 131 | <!-- 已完成节点悬浮弹窗 --> | ||
| 132 | <div class="information-list"> | ||
| 133 | <el-select v-model="selectValue" @change="handleSelect"> | ||
| 134 | <el-option | ||
| 135 | v-for="item in selectOptions" | ||
| 136 | :key="item.value" | ||
| 137 | :label="item.label" | ||
| 138 | :value="item.value" | ||
| 139 | > | ||
| 140 | </el-option> | ||
| 141 | </el-select> | ||
| 142 | <div class="cutline"> | ||
| 143 | <p class="cutlines">图例</p> | ||
| 144 | <div v-for="item in cutlinelist" :key="item.value" class="concent" :style="{ backgroundColor: item.backgroundColor,borderColor:item.color }"> | ||
| 145 | {{item.value}} | ||
| 146 | </div> | ||
| 147 | </div> | ||
| 148 | <el-table | ||
| 149 | height="190" | ||
| 150 | :data="taskCommentList" | ||
| 151 | size="mini" | ||
| 152 | border | ||
| 153 | header-cell-class-name="table-header-gray" | ||
| 154 | > | ||
| 155 | <el-table-column | ||
| 156 | label="序号" | ||
| 157 | header-align="center" | ||
| 158 | align="center" | ||
| 159 | type="index" | ||
| 160 | width="55px" | ||
| 161 | /> | ||
| 162 | <el-table-column label="环节" prop="name" align="center" /> | ||
| 163 | <el-table-column | ||
| 164 | label="转入时间" | ||
| 165 | prop="createTime" | ||
| 166 | :formatter="formatDate" | ||
| 167 | width="160" | ||
| 168 | align="center" | ||
| 169 | /> | ||
| 170 | <el-table-column | ||
| 171 | label="认领时间" | ||
| 172 | prop="claimTime" | ||
| 173 | :formatter="formatDate" | ||
| 174 | width="160" | ||
| 175 | align="center" | ||
| 176 | /> | ||
| 177 | <el-table-column | ||
| 178 | label="转出时间" | ||
| 179 | prop="endTime" | ||
| 180 | :formatter="formatDate" | ||
| 181 | width="160" | ||
| 182 | align="center" | ||
| 183 | /> | ||
| 184 | <el-table-column label="经办人" prop="agent" align="center" /> | ||
| 185 | <el-table-column label="操作方式" prop="controls" align="center" /> | ||
| 186 | <el-table-column label="意见" prop="idea" align="center" /> | ||
| 187 | </el-table> | ||
| 188 | </div> | ||
| 189 | </div> | ||
| 190 | </template> | ||
| 191 | <script> | ||
| 192 | import "@/styles/package/theme/index.scss"; | ||
| 193 | import BpmnViewer from "bpmn-js/lib/Viewer"; | ||
| 194 | import MoveCanvasModule from "diagram-js/lib/navigation/movecanvas"; | ||
| 195 | export default { | ||
| 196 | props: { | ||
| 197 | formData: { | ||
| 198 | type: Object, | ||
| 199 | default: {}, | ||
| 200 | }, | ||
| 201 | }, | ||
| 202 | data() { | ||
| 203 | return { | ||
| 204 | dlgTitle: undefined, | ||
| 205 | defaultZoom: 1, | ||
| 206 | // 是否正在加载流程图 | ||
| 207 | isLoading: true, | ||
| 208 | bpmnViewer: undefined, | ||
| 209 | // 已完成流程元素 | ||
| 210 | processNodeInfo: undefined, | ||
| 211 | // 当前任务id | ||
| 212 | selectTaskId: undefined, | ||
| 213 | // 任务节点审批记录 | ||
| 214 | taskList: [], | ||
| 215 | taskCommentList: [], | ||
| 216 | // 已完成任务悬浮延迟Timer | ||
| 217 | hoverTimer: null, | ||
| 218 | // 下拉 | ||
| 219 | selectValue: "", | ||
| 220 | selectOptions: [], | ||
| 221 | cutlinelist:[ | ||
| 222 | { | ||
| 223 | value: "完成节点", | ||
| 224 | color: "#4eb819", | ||
| 225 | backgroundColor :"rgba(78, 184, 25,0.2)" | ||
| 226 | }, | ||
| 227 | { | ||
| 228 | value: "当前节点", | ||
| 229 | color: "#409EFF", | ||
| 230 | backgroundColor :"rgba(64, 158, 255,0.2)" | ||
| 231 | }, | ||
| 232 | { | ||
| 233 | value: "挂起节点", | ||
| 234 | color: "#E6A23C", | ||
| 235 | backgroundColor :"rgba(230, 162, 60,0.2)" | ||
| 236 | }, | ||
| 237 | { | ||
| 238 | value: "阻塞节点", | ||
| 239 | color: "#F56C6C", | ||
| 240 | backgroundColor :"rgb(245, 108, 108,0.2)" | ||
| 241 | }, | ||
| 242 | { | ||
| 243 | value: "未激活节点", | ||
| 244 | color: "#000000", | ||
| 245 | backgroundColor :"none", | ||
| 246 | } | ||
| 247 | ], | ||
| 248 | }; | ||
| 249 | }, | ||
| 250 | created() { | ||
| 251 | this.$nextTick(() => { | ||
| 252 | // 获取流程记录 | ||
| 253 | this.getCommentList(); | ||
| 254 | this.setProcessStatus(this.formData.finishedInfo); | ||
| 255 | this.importXML(this.formData.xml); | ||
| 256 | }); | ||
| 257 | }, | ||
| 258 | destroyed() { | ||
| 259 | this.clearViewer(); | ||
| 260 | }, | ||
| 261 | methods: { | ||
| 262 | /** | ||
| 263 | * @description: formatDate | ||
| 264 | * @param {*} row | ||
| 265 | * @param {*} column | ||
| 266 | * @author: renchao | ||
| 267 | */ | ||
| 268 | formatDate(row, column) { | ||
| 269 | let data = row[column.property]; | ||
| 270 | if (data == null) { | ||
| 271 | return null; | ||
| 272 | } | ||
| 273 | let dt = new Date(data); | ||
| 274 | return ( | ||
| 275 | dt.getFullYear() + | ||
| 276 | "-" + | ||
| 277 | (dt.getMonth() + 1) + | ||
| 278 | "-" + | ||
| 279 | dt.getDate() + | ||
| 280 | " " + | ||
| 281 | dt.getHours() + | ||
| 282 | ":" + | ||
| 283 | dt.getMinutes() + | ||
| 284 | ":" + | ||
| 285 | dt.getSeconds() | ||
| 286 | ); | ||
| 287 | }, | ||
| 288 | /** | ||
| 289 | * @description: processReZoom | ||
| 290 | * @author: renchao | ||
| 291 | */ | ||
| 292 | processReZoom() { | ||
| 293 | this.defaultZoom = 1; | ||
| 294 | this.bpmnViewer.get("canvas").zoom("fit-viewport", "auto"); | ||
| 295 | }, | ||
| 296 | /** | ||
| 297 | * @description: processZoomIn | ||
| 298 | * @param {*} zoomStep | ||
| 299 | * @author: renchao | ||
| 300 | */ | ||
| 301 | processZoomIn(zoomStep = 0.1) { | ||
| 302 | const newZoom = Math.floor(this.defaultZoom * 100 + zoomStep * 100) / 100; | ||
| 303 | if (newZoom > 4) { | ||
| 304 | throw new Error( | ||
| 305 | "[Process Designer Warn ]: The zoom ratio cannot be greater than 4" | ||
| 306 | ); | ||
| 307 | } | ||
| 308 | this.defaultZoom = newZoom; | ||
| 309 | this.bpmnViewer.get("canvas").zoom(this.defaultZoom); | ||
| 310 | }, | ||
| 311 | /** | ||
| 312 | * @description: processZoomOut | ||
| 313 | * @param {*} zoomStep | ||
| 314 | * @author: renchao | ||
| 315 | */ | ||
| 316 | processZoomOut(zoomStep = 0.1) { | ||
| 317 | const newZoom = Math.floor(this.defaultZoom * 100 - zoomStep * 100) / 100; | ||
| 318 | if (newZoom < 0.2) { | ||
| 319 | throw new Error( | ||
| 320 | "[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2" | ||
| 321 | ); | ||
| 322 | } | ||
| 323 | this.defaultZoom = newZoom; | ||
| 324 | this.bpmnViewer.get("canvas").zoom(this.defaultZoom); | ||
| 325 | }, | ||
| 326 | /** | ||
| 327 | * @description: getOperationTagType | ||
| 328 | * @param {*} type | ||
| 329 | * @author: renchao | ||
| 330 | */ | ||
| 331 | getOperationTagType(type) { | ||
| 332 | return "success"; | ||
| 333 | }, | ||
| 334 | // 流程图预览清空 | ||
| 335 | /** | ||
| 336 | * @description: 流程图预览清空 | ||
| 337 | * @param {*} e | ||
| 338 | * @author: renchao | ||
| 339 | */ | ||
| 340 | clearViewer(a) { | ||
| 341 | if (this.$refs.processCanvas) { | ||
| 342 | this.$refs.processCanvas.innerHTML = ""; | ||
| 343 | } | ||
| 344 | if (this.bpmnViewer) { | ||
| 345 | this.bpmnViewer.destroy(); | ||
| 346 | } | ||
| 347 | this.bpmnViewer = null; | ||
| 348 | }, | ||
| 349 | // 添加自定义箭头 | ||
| 350 | /** | ||
| 351 | * @description: 添加自定义箭头 | ||
| 352 | * @author: renchao | ||
| 353 | */ | ||
| 354 | addCustomDefs() { | ||
| 355 | const canvas = this.bpmnViewer.get("canvas"); | ||
| 356 | const svg = canvas._svg; | ||
| 357 | const customSuccessDefs = this.$refs.customSuccessDefs; | ||
| 358 | const customFailDefs = this.$refs.customFailDefs; | ||
| 359 | svg.appendChild(customSuccessDefs); | ||
| 360 | svg.appendChild(customFailDefs); | ||
| 361 | }, | ||
| 362 | // 任务悬浮弹窗 | ||
| 363 | /** | ||
| 364 | * @description: 任务悬浮弹窗 | ||
| 365 | * @param {*} element | ||
| 366 | * @author: renchao | ||
| 367 | */ | ||
| 368 | onSelectElement(element) { | ||
| 369 | this.selectTaskId = undefined; | ||
| 370 | this.dlgTitle = undefined; | ||
| 371 | let allfinishedTaskSet = [ | ||
| 372 | ...this.processNodeInfo.finishedTaskSet, | ||
| 373 | ...this.processNodeInfo.unfinishedTaskSet, | ||
| 374 | ]; | ||
| 375 | if (this.processNodeInfo == null || allfinishedTaskSet == null) return; | ||
| 376 | if (element == null || allfinishedTaskSet.indexOf(element.id) === -1) { | ||
| 377 | return; | ||
| 378 | } | ||
| 379 | this.selectTaskId = element.id; | ||
| 380 | this.selectValue = element.id; | ||
| 381 | this.dlgTitle = element.businessObject | ||
| 382 | ? element.businessObject.name | ||
| 383 | : undefined; | ||
| 384 | // 计算当前悬浮任务审批记录,如果记录为空不显示弹窗 | ||
| 385 | this.taskCommentList = (this.taskList || []).filter((item) => { | ||
| 386 | return item.taskDefinitionKey === this.selectTaskId; | ||
| 387 | }); | ||
| 388 | if (this.taskCommentList.length == 0) { | ||
| 389 | this.taskCommentList = this.taskList; | ||
| 390 | } | ||
| 391 | }, | ||
| 392 | // 下拉列表切换 | ||
| 393 | /** | ||
| 394 | * @description: 下拉列表切换 | ||
| 395 | * @param {*} val | ||
| 396 | * @author: renchao | ||
| 397 | */ | ||
| 398 | handleSelect(val) { | ||
| 399 | this.taskCommentList = (this.taskList || []).filter((item) => { | ||
| 400 | return item.taskDefinitionKey === val; | ||
| 401 | }); | ||
| 402 | if (this.taskCommentList.length == 0) { | ||
| 403 | this.taskCommentList = this.taskList; | ||
| 404 | } | ||
| 405 | }, | ||
| 406 | // 显示流程图 | ||
| 407 | /** | ||
| 408 | * @description: 显示流程图 | ||
| 409 | * @param {*} xml | ||
| 410 | * @author: renchao | ||
| 411 | */ | ||
| 412 | async importXML(xml) { | ||
| 413 | let xmlData = this.$x2js.xml2js(xml).definitions.process; | ||
| 414 | this.selectOptions = xmlData.userTask.map((item) => { | ||
| 415 | return { value: item._id, label: item._name }; | ||
| 416 | }); | ||
| 417 | this.selectOptions = [ | ||
| 418 | { value: xmlData.startEvent._id, label: "浏览记录" }, | ||
| 419 | ...this.selectOptions, | ||
| 420 | ]; | ||
| 421 | this.selectOptions = this.selectOptions | ||
| 422 | .map((item) => { | ||
| 423 | if (this.formData.finishedInfo.finishedTaskSet.includes(item.value)) { | ||
| 424 | return item; | ||
| 425 | } | ||
| 426 | if ( | ||
| 427 | this.formData.finishedInfo.unfinishedTaskSet.includes(item.value) | ||
| 428 | ) { | ||
| 429 | return item; | ||
| 430 | } | ||
| 431 | }) | ||
| 432 | .filter(Boolean); | ||
| 433 | this.selectValue = xmlData.startEvent._id; | ||
| 434 | this.clearViewer("a"); | ||
| 435 | if (xml != null && xml !== "") { | ||
| 436 | try { | ||
| 437 | this.bpmnViewer = new BpmnViewer({ | ||
| 438 | additionalModules: [ | ||
| 439 | // 移动整个画布 | ||
| 440 | MoveCanvasModule, | ||
| 441 | ], | ||
| 442 | container: this.$refs.processCanvas, | ||
| 443 | }); | ||
| 444 | // 任务节点悬浮事件 | ||
| 445 | this.bpmnViewer.on("element.click", ({ element }) => { | ||
| 446 | this.onSelectElement(element); | ||
| 447 | }); | ||
| 448 | await this.bpmnViewer.importXML(xml); | ||
| 449 | this.isLoading = true; | ||
| 450 | this.addCustomDefs(); | ||
| 451 | } catch (e) { | ||
| 452 | this.clearViewer("b"); | ||
| 453 | } finally { | ||
| 454 | this.isLoading = false; | ||
| 455 | this.setProcessStatus(this.processNodeInfo); | ||
| 456 | this.$nextTick(() => { | ||
| 457 | this.processReZoom(); | ||
| 458 | }); | ||
| 459 | } | ||
| 460 | } | ||
| 461 | }, | ||
| 462 | // 获取流程记录 | ||
| 463 | /** | ||
| 464 | * @description: 获取流程记录 | ||
| 465 | * @author: renchao | ||
| 466 | */ | ||
| 467 | getCommentList() { | ||
| 468 | this.formData.allCommentList.forEach(async (item, index) => { | ||
| 469 | // item.comments.forEach(element => { | ||
| 470 | // if(element.type=="COMPLETE"){ | ||
| 471 | // this.formData.allCommentList[index].idea=element.message | ||
| 472 | // this.formData.allCommentList[index].controls="完成" | ||
| 473 | // } | ||
| 474 | // }); | ||
| 475 | let type = item.comments[item.comments.length - 1].type; | ||
| 476 | this.formData.allCommentList[index].idea = | ||
| 477 | item.comments[item.comments.length - 1].message; | ||
| 478 | // 操作方式 | ||
| 479 | let controls = ""; | ||
| 480 | // 正在办理 | ||
| 481 | // 已完结 | ||
| 482 | // 已退回 | ||
| 483 | switch (type) { | ||
| 484 | case "COMPLETE": | ||
| 485 | controls = "完成"; | ||
| 486 | break; | ||
| 487 | case "CLAIM": | ||
| 488 | controls = "完成"; | ||
| 489 | break; | ||
| 490 | case "ASSIGN": | ||
| 491 | controls = "转办"; | ||
| 492 | break; | ||
| 493 | case "DELEGATE": | ||
| 494 | controls = "委派"; | ||
| 495 | break; | ||
| 496 | case "UNCLAIM": | ||
| 497 | controls = "取消认领"; | ||
| 498 | break; | ||
| 499 | case "STOP": | ||
| 500 | controls = "终止"; | ||
| 501 | break; | ||
| 502 | case "BACK": | ||
| 503 | controls = "退回"; | ||
| 504 | break; | ||
| 505 | } | ||
| 506 | this.formData.allCommentList[index].controls = controls; | ||
| 507 | this.formData.allCommentList[index].agent = item.assignee.name; | ||
| 508 | }); | ||
| 509 | this.formData.handlinglist.forEach(async (item, index) => { | ||
| 510 | if (item.assignee.name) { | ||
| 511 | this.formData.handlinglist[index].agent = item.assignee.name; | ||
| 512 | } else { | ||
| 513 | let str = ""; | ||
| 514 | item.countersign.forEach((item) => { | ||
| 515 | str += item.name + ","; | ||
| 516 | }); | ||
| 517 | str = str.slice(0, -1); | ||
| 518 | this.formData.allCommentList[index].agent = str; | ||
| 519 | } | ||
| 520 | }); | ||
| 521 | this.taskList = [ | ||
| 522 | ...this.formData.allCommentList, | ||
| 523 | ...this.formData.handlinglist, | ||
| 524 | ]; | ||
| 525 | // this.taskList =this.formData.allCommentList; | ||
| 526 | // 处理数据之后赋值 | ||
| 527 | this.taskCommentList = this.taskList; | ||
| 528 | this.taskCommentList = this.taskCommentList.sort(this.sortDownDate); | ||
| 529 | }, | ||
| 530 | /** | ||
| 531 | * 时间排序函数 | ||
| 532 | * @description: formatDate | ||
| 533 | * @param {*} row | ||
| 534 | * @param {*} column | ||
| 535 | * @author: renchao | ||
| 536 | */ | ||
| 537 | |||
| 538 | sortDownDate(a, b) { | ||
| 539 | return Date.parse(a.createTime) - Date.parse(b.createTime); | ||
| 540 | }, | ||
| 541 | // 设置流程图元素状态 | ||
| 542 | /** | ||
| 543 | * @description: 设置流程图元素状态 | ||
| 544 | * @param {*} processNodeInfo | ||
| 545 | * @author: renchao | ||
| 546 | */ | ||
| 547 | setProcessStatus(processNodeInfo) { | ||
| 548 | this.processNodeInfo = processNodeInfo; | ||
| 549 | if ( | ||
| 550 | this.isLoading || | ||
| 551 | this.processNodeInfo == null || | ||
| 552 | this.bpmnViewer == null | ||
| 553 | ) | ||
| 554 | return; | ||
| 555 | const { | ||
| 556 | finishedTaskSet, | ||
| 557 | rejectedTaskSet, | ||
| 558 | unfinishedTaskSet, | ||
| 559 | finishedSequenceFlowSet, | ||
| 560 | } = this.processNodeInfo; | ||
| 561 | const canvas = this.bpmnViewer.get("canvas"); | ||
| 562 | const elementRegistry = this.bpmnViewer.get("elementRegistry"); | ||
| 563 | if (Array.isArray(finishedSequenceFlowSet)) { | ||
| 564 | finishedSequenceFlowSet.forEach((item) => { | ||
| 565 | if (item != null) { | ||
| 566 | canvas.addMarker(item, "success"); | ||
| 567 | const element = elementRegistry.get(item); | ||
| 568 | const conditionExpression = | ||
| 569 | element.businessObject.conditionExpression; | ||
| 570 | if (conditionExpression) { | ||
| 571 | canvas.addMarker(item, "condition-expression"); | ||
| 572 | } | ||
| 573 | } | ||
| 574 | }); | ||
| 575 | } | ||
| 576 | if (Array.isArray(finishedTaskSet)) { | ||
| 577 | finishedTaskSet.forEach((item) => canvas.addMarker(item, "success")); | ||
| 578 | } | ||
| 579 | if (Array.isArray(unfinishedTaskSet)) { | ||
| 580 | unfinishedTaskSet.forEach((item) => canvas.addMarker(item, "primary")); | ||
| 581 | } | ||
| 582 | if (Array.isArray(rejectedTaskSet)) { | ||
| 583 | rejectedTaskSet.forEach((item) => { | ||
| 584 | if (item != null) { | ||
| 585 | const element = elementRegistry.get(item); | ||
| 586 | if (element.type.includes("Task")) { | ||
| 587 | canvas.addMarker(item, "danger"); | ||
| 588 | } else { | ||
| 589 | canvas.addMarker(item, "warning"); | ||
| 590 | } | ||
| 591 | } | ||
| 592 | }); | ||
| 593 | } | ||
| 594 | }, | ||
| 595 | }, | ||
| 596 | }; | ||
| 597 | </script> | ||
| 598 | <style scoped lang="scss"> | ||
| 599 | .information-list { | ||
| 600 | height: 220px; | ||
| 601 | margin-top: 10px; | ||
| 602 | |||
| 603 | p { | ||
| 604 | font-size: 16px; | ||
| 605 | line-height: 24px; | ||
| 606 | } | ||
| 607 | } | ||
| 608 | /deep/.bjs-powered-by { | ||
| 609 | display: none; | ||
| 610 | } | ||
| 611 | // /deep/.information-list { | ||
| 612 | // height: 170px; | ||
| 613 | // overflow: visible; | ||
| 614 | // } | ||
| 615 | .cutline { | ||
| 616 | |||
| 617 | float: right; | ||
| 618 | width: 30%; | ||
| 619 | height: 30px; | ||
| 620 | display: flex; | ||
| 621 | margin-right: 30px; | ||
| 622 | justify-content: space-between; | ||
| 623 | .cutlines{ | ||
| 624 | line-height: 30px; | ||
| 625 | font-weight: 600; | ||
| 626 | margin-right: 50px; | ||
| 627 | } | ||
| 628 | .concent{ | ||
| 629 | line-height: 30px; | ||
| 630 | line-height: 14px; | ||
| 631 | text-align: center; | ||
| 632 | align-items: center; | ||
| 633 | margin: auto; | ||
| 634 | padding: 3px; | ||
| 635 | border-radius: 4px; | ||
| 636 | border:1px solid #fff; | ||
| 637 | } | ||
| 638 | |||
| 639 | } | ||
| 640 | </style> |
src/views/workflow/top/stop/index.vue
0 → 100644
| 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> |
src/views/workflow/top/transfer/index.vue
0 → 100644
| 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> |
src/views/workflow/top/zsxg/index.vue
0 → 100644
| 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> |
src/views/workflow/top/zsyl/index.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2024-02-06 13:23:44 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="text-align: center;"> | ||
| 8 | <!-- 表单部分 --> | ||
| 9 | <div style="margin-top:-20px"> | ||
| 10 | <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1"> | ||
| 11 | <el-tab-pane :label="item.qlr + (item.bdcqzh !== null ? '(' + item.bdcqzh + ')' : '')" :name="item.bsmBdcqz" | ||
| 12 | v-for="(item, index) in headTabBdcqz" :key="index"> | ||
| 13 | </el-tab-pane> | ||
| 14 | </el-tabs> | ||
| 15 | </div> | ||
| 16 | <el-empty description="暂无数据" v-if="headTabBdcqz.length == 0 && noData"></el-empty> | ||
| 17 | <div style="max-height:89vh;overflow-y:auto"> | ||
| 18 | <div v-show="this.bdcqz.bdcqzlx==1"> | ||
| 19 | <el-tabs v-model="activeTitle"> | ||
| 20 | <el-tab-pane label="第一页" name="title1"></el-tab-pane> | ||
| 21 | <el-tab-pane label="第二页" name="title2"></el-tab-pane> | ||
| 22 | </el-tabs> | ||
| 23 | <div style="width:1169px;overflow-x: hidden;"> | ||
| 24 | <canvas ref="zs1" width="1024" v-show="activeTitle=='title1'" height="739"></canvas> | ||
| 25 | <canvas ref="zs" width="1024" v-show="activeTitle=='title2'" height="739"></canvas> | ||
| 26 | </div> | ||
| 27 | </div> | ||
| 28 | <div style="width:1169px;overflow-x: hidden;" v-show="this.bdcqz.bdcqzlx==2"> | ||
| 29 | <canvas ref="zm" width="1169" height="828"></canvas> | ||
| 30 | </div> | ||
| 31 | </div> | ||
| 32 | </div> | ||
| 33 | </template> | ||
| 34 | |||
| 35 | <script> | ||
| 36 | import QRCode from 'qrcode' | ||
| 37 | import { datas } from "../../javascript/zsyl.js"; | ||
| 38 | import { getSlsqBdcqzList } from "@/api/bdcqz.js" | ||
| 39 | export default { | ||
| 40 | name: "zsyl", | ||
| 41 | props: { | ||
| 42 | formData: { | ||
| 43 | type: Object, | ||
| 44 | default: {} | ||
| 45 | } | ||
| 46 | }, | ||
| 47 | data () { | ||
| 48 | return { | ||
| 49 | activeTitle: 'title1', | ||
| 50 | key: 0, | ||
| 51 | noData: false, | ||
| 52 | imgSrc1: require('@/image/bdcqz/bdcqzs1.jpg'), | ||
| 53 | imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'), | ||
| 54 | bdczmSrc: require('@/image/bdcqz/bdczm.jpg'), | ||
| 55 | loading: false, | ||
| 56 | //印刷序列号集合 | ||
| 57 | ysxlh: [], | ||
| 58 | //列名称对象 | ||
| 59 | columns: [], | ||
| 60 | //选择的不动产权证文件 | ||
| 61 | bdcqz: '', | ||
| 62 | //证书打开类型 是否需要展示打印按钮 | ||
| 63 | isToPrint: false, | ||
| 64 | //tab切换栏数组 | ||
| 65 | headTabBdcqz: [], | ||
| 66 | //tab选择绑定值 | ||
| 67 | activeName: '', | ||
| 68 | //证书图片预览 | ||
| 69 | previewImage: '', | ||
| 70 | ruleForm: { | ||
| 71 | bsmBdcqz: '', | ||
| 72 | szmc: '不动产权证书', | ||
| 73 | szzh: '', | ||
| 74 | ysxlh: '', | ||
| 75 | }, | ||
| 76 | } | ||
| 77 | }, | ||
| 78 | mounted () { | ||
| 79 | this.columns = datas.columns(); | ||
| 80 | if (this.formData.bdcqz) { | ||
| 81 | //从缮证进入 | ||
| 82 | this.bdcqz = this.formData.bdcqz | ||
| 83 | } else { | ||
| 84 | //从按钮进入 | ||
| 85 | this.getHeadTabBdcqz(); | ||
| 86 | } | ||
| 87 | |||
| 88 | }, | ||
| 89 | methods: { | ||
| 90 | /** | ||
| 91 | * @description: 获取证书内容 | ||
| 92 | * @param {*} code | ||
| 93 | * @author: renchao | ||
| 94 | */ | ||
| 95 | getRowValue (code) { | ||
| 96 | var value = this.bdcqz[code]; | ||
| 97 | return value; | ||
| 98 | }, | ||
| 99 | /** | ||
| 100 | * @description: 获取受理申请下全部不动产权证 | ||
| 101 | * @author: renchao | ||
| 102 | */ | ||
| 103 | getHeadTabBdcqz () { | ||
| 104 | this.loading = true | ||
| 105 | getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => { | ||
| 106 | if (res.code == 200) { | ||
| 107 | this.noData = true | ||
| 108 | if (res.result && res.result.length > 0) { | ||
| 109 | this.bdcqz = res.result[0] | ||
| 110 | this.headTabBdcqz = res.result | ||
| 111 | if (this.formData.bsmBdcqz) { | ||
| 112 | this.activeName = this.formData.bsmBdcqz | ||
| 113 | } else { | ||
| 114 | this.activeName = res.result[0].bsmBdcqz | ||
| 115 | } | ||
| 116 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 117 | this.drawTextOnImage() | ||
| 118 | } else { | ||
| 119 | this.drawTextzmImage() | ||
| 120 | } | ||
| 121 | } | ||
| 122 | } | ||
| 123 | this.loading = false | ||
| 124 | }) | ||
| 125 | }, | ||
| 126 | /** | ||
| 127 | * @description: tab表头切换方法 | ||
| 128 | * @param {*} e | ||
| 129 | * @author: renchao | ||
| 130 | */ | ||
| 131 | handleClick (tab, event) { | ||
| 132 | this.bdcqz = this.headTabBdcqz[tab.index] | ||
| 133 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 134 | this.drawTextOnImage() | ||
| 135 | } else { | ||
| 136 | this.drawTextzmImage() | ||
| 137 | } | ||
| 138 | }, | ||
| 139 | /** | ||
| 140 | * @description: 不动产证书 | ||
| 141 | * @author: renchao | ||
| 142 | */ | ||
| 143 | drawTextOnImage1 () { | ||
| 144 | const canvas = this.$refs.zs1; | ||
| 145 | const context = canvas.getContext('2d'); | ||
| 146 | const image = new Image(); | ||
| 147 | image.onload = () => { | ||
| 148 | context.drawImage(image, 0, 0); | ||
| 149 | context.font = '18px 楷体'; | ||
| 150 | context.fillStyle = '#000000'; | ||
| 151 | let date = this.bdcqz.djsj.split(' ')[0].split('/'); | ||
| 152 | let nian = date[0] | ||
| 153 | let yue = date[1] | ||
| 154 | let ri = date[2] | ||
| 155 | this.bdcqz.nian = nian | ||
| 156 | this.bdcqz.yue = yue | ||
| 157 | this.bdcqz.ri = ri | ||
| 158 | context.fillText(nian ? nian : '', 780, 499); | ||
| 159 | context.fillText(yue ? yue : '', 840, 499); | ||
| 160 | context.fillText(ri ? ri : '', 885, 499); | ||
| 161 | QRCode.toDataURL(this.bdcqz.bdcqzh, { margin: 0 }) | ||
| 162 | .then(url => { | ||
| 163 | const qrImage = new Image(); | ||
| 164 | this.bdcqz.qrImage = url; // 将二维码图片的 URL 存储到 bdcqz 对象的 qrImage 属性中 | ||
| 165 | qrImage.onload = () => { | ||
| 166 | context.drawImage(qrImage, 670, 400, 100, 100); | ||
| 167 | }; | ||
| 168 | qrImage.src = url; | ||
| 169 | }) | ||
| 170 | .catch(error => { | ||
| 171 | console.error(error); | ||
| 172 | }); | ||
| 173 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 745, 633); | ||
| 174 | }; | ||
| 175 | image.src = this.imgSrc1; | ||
| 176 | }, | ||
| 177 | drawTextOnImage () { | ||
| 178 | this.drawTextOnImage1() | ||
| 179 | function getByteLen (val) { | ||
| 180 | var len = 0; | ||
| 181 | if (!val) return len; | ||
| 182 | for (var i = 0; i < val.length; i++) { | ||
| 183 | var length = val.charCodeAt(i); | ||
| 184 | if (length >= 0 && length <= 128) { | ||
| 185 | len += 1; | ||
| 186 | } else { | ||
| 187 | len += 2; | ||
| 188 | } | ||
| 189 | } | ||
| 190 | return len; | ||
| 191 | } | ||
| 192 | const canvas = this.$refs.zs; | ||
| 193 | const context = canvas.getContext('2d'); | ||
| 194 | const image = new Image(); | ||
| 195 | image.onload = () => { | ||
| 196 | context.drawImage(image, 0, 0); | ||
| 197 | context.font = '18px 楷体'; | ||
| 198 | context.fillStyle = '#000000'; | ||
| 199 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 60, 56); | ||
| 200 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 113, 56); | ||
| 201 | if (getByteLen(this.bdcqz.sxqc) > 14) { | ||
| 202 | const originalFont = context.font; | ||
| 203 | // 设置新的字体大小 | ||
| 204 | context.font = '14px 楷体'; // 替换为你想要的字体和大小 | ||
| 205 | // 绘制 bdcdyh | ||
| 206 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 165, 56); | ||
| 207 | // 恢复原始字体设置 | ||
| 208 | context.font = originalFont; | ||
| 209 | } else { | ||
| 210 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 170, 56); | ||
| 211 | } | ||
| 212 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56); | ||
| 213 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 129, 97); | ||
| 214 | context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 129, 136); | ||
| 215 | |||
| 216 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
| 217 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
| 218 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 129, 223); | ||
| 219 | |||
| 220 | context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : '', 129, 263); | ||
| 221 | context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : '', 129, 303); | ||
| 222 | context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 129, 346); | ||
| 223 | // context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 129, 386); | ||
| 224 | let lines6 = this.bdcqz.mj ? this.bdcqz.mj.split(' ') : []; | ||
| 225 | if (getByteLen(this.bdcqz.mj) > 37) { | ||
| 226 | lines6.forEach((line, index) => { | ||
| 227 | const y = 378 + (index * 27); // 每行文本的垂直位置 | ||
| 228 | let currentLine = ''; | ||
| 229 | let arr = []; | ||
| 230 | for (let word of line) { | ||
| 231 | const testLine = currentLine + word; | ||
| 232 | const lineWidth = context.measureText(testLine).width; | ||
| 233 | if (lineWidth <= 330) { | ||
| 234 | currentLine = testLine; | ||
| 235 | } else { | ||
| 236 | arr.push(currentLine); | ||
| 237 | currentLine = word; | ||
| 238 | } | ||
| 239 | } | ||
| 240 | arr.push(currentLine); | ||
| 241 | arr.forEach((line, index) => { | ||
| 242 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 243 | }) | ||
| 244 | }) | ||
| 245 | } else { | ||
| 246 | lines6.forEach((line, index) => { | ||
| 247 | const y = 386 + (index * 27); // 每行文本的垂直位置 | ||
| 248 | let currentLine = ''; | ||
| 249 | let arr = []; | ||
| 250 | for (let word of line) { | ||
| 251 | const testLine = currentLine + word; | ||
| 252 | const lineWidth = context.measureText(testLine).width; | ||
| 253 | if (lineWidth <= 330) { | ||
| 254 | currentLine = testLine; | ||
| 255 | } else { | ||
| 256 | arr.push(currentLine); | ||
| 257 | currentLine = word; | ||
| 258 | } | ||
| 259 | } | ||
| 260 | arr.push(currentLine); | ||
| 261 | arr.forEach((line, index) => { | ||
| 262 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 263 | }) | ||
| 264 | }) | ||
| 265 | } | ||
| 266 | // 权利其他状态 | ||
| 267 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
| 268 | for (let i = 0; i < lines.length; i++) { | ||
| 269 | let num = Math.ceil(getByteLen(lines[i]) / 38) | ||
| 270 | if (getByteLen(lines[i]) > 37) { | ||
| 271 | let currentLine = ''; | ||
| 272 | let arr = []; | ||
| 273 | for (let word of lines[i]) { | ||
| 274 | const testLine = currentLine + word; | ||
| 275 | const lineWidth = context.measureText(testLine).width; | ||
| 276 | if (lineWidth <= 323) { | ||
| 277 | currentLine = testLine; | ||
| 278 | } else { | ||
| 279 | arr.push(currentLine); | ||
| 280 | currentLine = word; | ||
| 281 | } | ||
| 282 | } | ||
| 283 | arr.push(currentLine); | ||
| 284 | if (i > 0) { | ||
| 285 | arr.forEach((line, index) => { | ||
| 286 | context.fillText(line, 129, 495 + (29 * (i - 1)) + 4 * num + (index * 14)); // 调整行高 | ||
| 287 | }) | ||
| 288 | } else { | ||
| 289 | arr.forEach((line, index) => { | ||
| 290 | context.fillText(line, 129, 493 + (26 * (i - 1)) + (index * 14)); // 调整行高 | ||
| 291 | }) | ||
| 292 | } | ||
| 293 | } else { | ||
| 294 | if (i > 0) { | ||
| 295 | context.fillText(lines[i] ? lines[i] : '', 129, 500 + 4 * num + (29 * (i - 1))); | ||
| 296 | } else { | ||
| 297 | context.fillText(lines[i] ? lines[i] : '', 129, 505 + (27 * (i - 1))); | ||
| 298 | } | ||
| 299 | } | ||
| 300 | } | ||
| 301 | |||
| 302 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
| 303 | lines1.forEach((line, index) => { | ||
| 304 | const y = 100 + (index * 30); // 每行文本的垂直位置 | ||
| 305 | let currentLine = ''; | ||
| 306 | let arr = []; | ||
| 307 | for (let word of line) { | ||
| 308 | const testLine = currentLine + word; | ||
| 309 | const lineWidth = context.measureText(testLine).width; | ||
| 310 | if (lineWidth <= 395) { | ||
| 311 | currentLine = testLine; | ||
| 312 | } else { | ||
| 313 | arr.push(currentLine); | ||
| 314 | currentLine = word; | ||
| 315 | } | ||
| 316 | } | ||
| 317 | arr.push(currentLine); | ||
| 318 | arr.forEach((line, index) => { | ||
| 319 | context.fillText(line, 580, y + (index * 30)); // 调整行高 | ||
| 320 | }) | ||
| 321 | }) | ||
| 322 | let lines3 = this.bdcqz.syqx ? this.bdcqz.syqx.split(' ') : []; | ||
| 323 | if (getByteLen(this.bdcqz.syqx) > 37) { | ||
| 324 | lines3.forEach((line, index) => { | ||
| 325 | const y = 423 + (index * 27); // 每行文本的垂直位置 | ||
| 326 | let currentLine = ''; | ||
| 327 | let arr = []; | ||
| 328 | for (let word of line) { | ||
| 329 | const testLine = currentLine + word; | ||
| 330 | const lineWidth = context.measureText(testLine).width; | ||
| 331 | if (lineWidth <= 330) { | ||
| 332 | currentLine = testLine; | ||
| 333 | } else { | ||
| 334 | arr.push(currentLine); | ||
| 335 | currentLine = word; | ||
| 336 | } | ||
| 337 | } | ||
| 338 | arr.push(currentLine); | ||
| 339 | arr.forEach((line, index) => { | ||
| 340 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 341 | }) | ||
| 342 | }) | ||
| 343 | } else { | ||
| 344 | lines3.forEach((line, index) => { | ||
| 345 | const y = 430 + (index * 27); // 每行文本的垂直位置 | ||
| 346 | let currentLine = ''; | ||
| 347 | let arr = []; | ||
| 348 | for (let word of line) { | ||
| 349 | const testLine = currentLine + word; | ||
| 350 | const lineWidth = context.measureText(testLine).width; | ||
| 351 | if (lineWidth <= 315) { | ||
| 352 | currentLine = testLine; | ||
| 353 | } else { | ||
| 354 | arr.push(currentLine); | ||
| 355 | currentLine = word; | ||
| 356 | } | ||
| 357 | } | ||
| 358 | arr.push(currentLine); | ||
| 359 | arr.forEach((line, index) => { | ||
| 360 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 361 | }) | ||
| 362 | }) | ||
| 363 | } | ||
| 364 | |||
| 365 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
| 366 | if (getByteLen(this.bdcqz.zl) > 37) { | ||
| 367 | lines2.forEach((line, index) => { | ||
| 368 | const y = 170 + (index * 20); // 每行文本的垂直位置 | ||
| 369 | let currentLine = ''; | ||
| 370 | let arr = []; | ||
| 371 | for (let word of line) { | ||
| 372 | const testLine = currentLine + word; | ||
| 373 | const lineWidth = context.measureText(testLine).width; | ||
| 374 | if (lineWidth <= 336) { | ||
| 375 | currentLine = testLine; | ||
| 376 | } else { | ||
| 377 | arr.push(currentLine); | ||
| 378 | currentLine = word; | ||
| 379 | } | ||
| 380 | } | ||
| 381 | arr.push(currentLine); | ||
| 382 | arr.forEach((line, index) => { | ||
| 383 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 384 | }) | ||
| 385 | }) | ||
| 386 | } else { | ||
| 387 | lines2.forEach((line, index) => { | ||
| 388 | const y = 180 + (index * 20); // 每行文本的垂直位置 | ||
| 389 | let currentLine = ''; | ||
| 390 | let arr = []; | ||
| 391 | for (let word of line) { | ||
| 392 | const testLine = currentLine + word; | ||
| 393 | const lineWidth = context.measureText(testLine).width; | ||
| 394 | if (lineWidth <= 336) { | ||
| 395 | currentLine = testLine; | ||
| 396 | } else { | ||
| 397 | arr.push(currentLine); | ||
| 398 | currentLine = word; | ||
| 399 | } | ||
| 400 | } | ||
| 401 | arr.push(currentLine); | ||
| 402 | arr.forEach((line, index) => { | ||
| 403 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
| 404 | }) | ||
| 405 | }) | ||
| 406 | } | ||
| 407 | } | ||
| 408 | image.src = this.imgSrc | ||
| 409 | }, | ||
| 410 | /** | ||
| 411 | * @description: 不动产证明 | ||
| 412 | * @author: renchao | ||
| 413 | */ | ||
| 414 | drawTextzmImage () { | ||
| 415 | function getByteLen (val) { | ||
| 416 | var len = 0; | ||
| 417 | if (!val) return len; | ||
| 418 | for (var i = 0; i < val.length; i++) { | ||
| 419 | var length = val.charCodeAt(i); | ||
| 420 | if (length >= 0 && length <= 128) { | ||
| 421 | len += 1; | ||
| 422 | } else { | ||
| 423 | len += 2; | ||
| 424 | } | ||
| 425 | } | ||
| 426 | return len; | ||
| 427 | } | ||
| 428 | const canvas = this.$refs.zm; | ||
| 429 | const context = canvas.getContext('2d'); | ||
| 430 | const image = new Image(); | ||
| 431 | image.onload = () => { | ||
| 432 | context.drawImage(image, 0, 0); | ||
| 433 | context.font = '18px 楷体'; | ||
| 434 | context.fillStyle = '#000000'; | ||
| 435 | // ysxlh | ||
| 436 | context.fillText(this.bdcqz.ysxlh ? this.bdcqz.ysxlh : '', 280, 712); | ||
| 437 | // djsj | ||
| 438 | if (this.bdcqz.djsj) { | ||
| 439 | let djsjList = this.bdcqz.djsj.split(' ')[0].split('/') | ||
| 440 | context.fillText(djsjList[0] ? djsjList[0] : '', 327, 580); | ||
| 441 | context.fillText(djsjList[1] ? djsjList[1] : '', 393, 580); | ||
| 442 | context.fillText(djsjList[2] ? djsjList[2] : '', 443, 580); | ||
| 443 | } | ||
| 444 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125); | ||
| 445 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125); | ||
| 446 | if (getByteLen(this.bdcqz.sxqc) > 14) { | ||
| 447 | const originalFont = context.font; | ||
| 448 | // 设置新的字体大小 | ||
| 449 | context.font = '14px 楷体'; // 替换为你想要的字体和大小 | ||
| 450 | // 绘制 bdcdyh | ||
| 451 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 725, 125); | ||
| 452 | // 恢复原始字体设置 | ||
| 453 | context.font = originalFont; | ||
| 454 | } else { | ||
| 455 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 755, 125); | ||
| 456 | } | ||
| 457 | |||
| 458 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123); | ||
| 459 | context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180); | ||
| 460 | // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
| 461 | // 权利人 | ||
| 462 | let qlrlines = this.bdcqz.qlr | ||
| 463 | if (getByteLen(this.bdcqz.qlr) > 32) { | ||
| 464 | let currentLine = ''; | ||
| 465 | let arr = []; | ||
| 466 | for (let word of qlrlines) { | ||
| 467 | const testLine = currentLine + word; | ||
| 468 | const lineWidth = context.measureText(testLine).width; | ||
| 469 | if (lineWidth <= 295) { | ||
| 470 | currentLine = testLine; | ||
| 471 | } else { | ||
| 472 | arr.push(currentLine); | ||
| 473 | currentLine = word; | ||
| 474 | } | ||
| 475 | } | ||
| 476 | arr.push(currentLine); // 将最后一行添加到数组 | ||
| 477 | // 绘制所有行 | ||
| 478 | for (let i = 0; i < arr.length; i++) { | ||
| 479 | context.fillText(arr[i], 775, 218 + i * 20); // lineHeight 为行高 | ||
| 480 | } | ||
| 481 | } else { | ||
| 482 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
| 483 | } | ||
| 484 | |||
| 485 | // 义务人 | ||
| 486 | // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
| 487 | let ywrlines = this.bdcqz.ywr | ||
| 488 | if (getByteLen(this.bdcqz.ywr) > 32) { | ||
| 489 | let currentLine = ''; | ||
| 490 | let arr = []; | ||
| 491 | for (let word of ywrlines) { | ||
| 492 | const testLine = currentLine + word; | ||
| 493 | const lineWidth = context.measureText(testLine).width; | ||
| 494 | if (lineWidth <= 295) { | ||
| 495 | currentLine = testLine; | ||
| 496 | } else { | ||
| 497 | arr.push(currentLine); | ||
| 498 | currentLine = word; | ||
| 499 | } | ||
| 500 | } | ||
| 501 | arr.push(currentLine); // 将最后一行添加到数组 | ||
| 502 | // 绘制所有行 | ||
| 503 | for (let i = 0; i < arr.length; i++) { | ||
| 504 | context.fillText(arr[i], 775, 268 + i * 20); // lineHeight 为行高 | ||
| 505 | } | ||
| 506 | } else { | ||
| 507 | context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
| 508 | } | ||
| 509 | |||
| 510 | // context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325); | ||
| 511 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
| 512 | if (getByteLen(this.bdcqz.zl) > 32) { | ||
| 513 | lines2.forEach((line, index) => { | ||
| 514 | const y = 315 + (index * 20); // 每行文本的垂直位置 | ||
| 515 | let currentLine = ''; | ||
| 516 | let arr = []; | ||
| 517 | for (let word of line) { | ||
| 518 | const testLine = currentLine + word; | ||
| 519 | const lineWidth = context.measureText(testLine).width; | ||
| 520 | if (lineWidth <= 295) { | ||
| 521 | currentLine = testLine; | ||
| 522 | } else { | ||
| 523 | arr.push(currentLine); | ||
| 524 | currentLine = word; | ||
| 525 | } | ||
| 526 | } | ||
| 527 | arr.push(currentLine); | ||
| 528 | arr.forEach((line, index) => { | ||
| 529 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
| 530 | }) | ||
| 531 | }) | ||
| 532 | } else { | ||
| 533 | lines2.forEach((line, index) => { | ||
| 534 | const y = 325 + (index * 20); // 每行文本的垂直位置 | ||
| 535 | let currentLine = ''; | ||
| 536 | let arr = []; | ||
| 537 | for (let word of line) { | ||
| 538 | const testLine = currentLine + word; | ||
| 539 | const lineWidth = context.measureText(testLine).width; | ||
| 540 | if (lineWidth <= 295) { | ||
| 541 | currentLine = testLine; | ||
| 542 | } else { | ||
| 543 | arr.push(currentLine); | ||
| 544 | currentLine = word; | ||
| 545 | } | ||
| 546 | } | ||
| 547 | arr.push(currentLine); | ||
| 548 | arr.forEach((line, index) => { | ||
| 549 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
| 550 | }) | ||
| 551 | }) | ||
| 552 | } | ||
| 553 | |||
| 554 | // bdcdyh | ||
| 555 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
| 556 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
| 557 | // context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373); | ||
| 558 | // 保存当前字体设置 | ||
| 559 | const originalFont = context.font; | ||
| 560 | // 设置新的字体大小 | ||
| 561 | context.font = '16px 楷体'; // 替换为你想要的字体和大小 | ||
| 562 | // 绘制 bdcdyh | ||
| 563 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373); | ||
| 564 | // 恢复原始字体设置 | ||
| 565 | context.font = originalFont; | ||
| 566 | // qlqtzk | ||
| 567 | function getByteLenBdcdy (val) { | ||
| 568 | var encoder = new TextEncoder('utf-8'); | ||
| 569 | return encoder.encode(val).length; | ||
| 570 | } | ||
| 571 | const maxWidth = 295; // 最大宽度限制 | ||
| 572 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
| 573 | let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43) | ||
| 574 | // 单独处理不动产单元号 | ||
| 575 | let linesBdcdy = lines[0] ? lines[0].split(' ') : []; | ||
| 576 | if (getByteLenBdcdy(lines[0]) > 43) { | ||
| 577 | linesBdcdy.forEach((line, index) => { | ||
| 578 | const y = 412 + (index * 17); // 每行文本的垂直位置 | ||
| 579 | let currentLine = ''; | ||
| 580 | let arr = []; | ||
| 581 | for (let word of line) { | ||
| 582 | const testLine = currentLine + word; | ||
| 583 | const lineWidth = context.measureText(testLine).width; | ||
| 584 | if (lineWidth <= maxWidth) { | ||
| 585 | currentLine = testLine; | ||
| 586 | } else { | ||
| 587 | arr.push(currentLine); | ||
| 588 | currentLine = word; | ||
| 589 | } | ||
| 590 | } | ||
| 591 | arr.push(currentLine); | ||
| 592 | arr.forEach((line, index) => { | ||
| 593 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
| 594 | }) | ||
| 595 | }) | ||
| 596 | } else { | ||
| 597 | linesBdcdy.forEach((line, index) => { | ||
| 598 | const y = 418 + (index * 17); // 每行文本的垂直位置 | ||
| 599 | let currentLine = ''; | ||
| 600 | let arr = []; | ||
| 601 | for (let word of line) { | ||
| 602 | const testLine = currentLine + word; | ||
| 603 | const lineWidth = context.measureText(testLine).width; | ||
| 604 | if (lineWidth <= maxWidth) { | ||
| 605 | currentLine = testLine; | ||
| 606 | } else { | ||
| 607 | arr.push(currentLine); | ||
| 608 | currentLine = word; | ||
| 609 | } | ||
| 610 | } | ||
| 611 | arr.push(currentLine); | ||
| 612 | arr.forEach((line, index) => { | ||
| 613 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
| 614 | }) | ||
| 615 | }) | ||
| 616 | } | ||
| 617 | |||
| 618 | for (let i = 1; i < lines.length; i++) { | ||
| 619 | let num = Math.ceil(getByteLen(lines[i]) / 32) | ||
| 620 | if (getByteLen(lines[i]) > 32) { | ||
| 621 | let currentLine = ''; | ||
| 622 | let arr = []; | ||
| 623 | for (let word of lines[i]) { | ||
| 624 | const testLine = currentLine + word; | ||
| 625 | const lineWidth = context.measureText(testLine).width; | ||
| 626 | if (lineWidth <= maxWidth) { | ||
| 627 | currentLine = testLine; | ||
| 628 | } else { | ||
| 629 | arr.push(currentLine); | ||
| 630 | currentLine = word; | ||
| 631 | } | ||
| 632 | } | ||
| 633 | arr.push(currentLine); | ||
| 634 | if (i > 0) { | ||
| 635 | arr.forEach((line, index) => { | ||
| 636 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
| 637 | }) | ||
| 638 | } else { | ||
| 639 | arr.forEach((line, index) => { | ||
| 640 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
| 641 | }) | ||
| 642 | } | ||
| 643 | } else { | ||
| 644 | if (i > 0) { | ||
| 645 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1))); | ||
| 646 | } else { | ||
| 647 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1))); | ||
| 648 | } | ||
| 649 | } | ||
| 650 | } | ||
| 651 | // fj | ||
| 652 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
| 653 | for (let i = 0; i < lines1.length; i++) { | ||
| 654 | let num = Math.ceil(getByteLen(lines1[i]) / 37) | ||
| 655 | if (getByteLen(lines1[i]) > 37) { | ||
| 656 | let currentLine = ''; | ||
| 657 | let arr = []; | ||
| 658 | for (let word of lines1[i]) { | ||
| 659 | const testLine = currentLine + word; | ||
| 660 | const lineWidth = context.measureText(testLine).width; | ||
| 661 | if (lineWidth <= maxWidth) { | ||
| 662 | currentLine = testLine; | ||
| 663 | } else { | ||
| 664 | arr.push(currentLine); | ||
| 665 | currentLine = word; | ||
| 666 | } | ||
| 667 | } | ||
| 668 | arr.push(currentLine); | ||
| 669 | if (i > 0) { | ||
| 670 | arr.forEach((line, index) => { | ||
| 671 | context.fillText(line, 770, 605 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
| 672 | }) | ||
| 673 | } else { | ||
| 674 | arr.forEach((line, index) => { | ||
| 675 | context.fillText(line, 770, 605 + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
| 676 | }) | ||
| 677 | } | ||
| 678 | } else { | ||
| 679 | if (i > 0) { | ||
| 680 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + 6 * num + (25 * (i - 1))); | ||
| 681 | } else { | ||
| 682 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + (25 * (i - 1))); | ||
| 683 | } | ||
| 684 | } | ||
| 685 | } | ||
| 686 | } | ||
| 687 | |||
| 688 | image.src = this.bdczmSrc; | ||
| 689 | } | ||
| 690 | } | ||
| 691 | } | ||
| 692 | </script> | ||
| 693 | <style scoped lang="scss"> | ||
| 694 | @import "~@/styles/mixin.scss"; | ||
| 695 | /deep/.el-tabs__nav-wrap::after { | ||
| 696 | display: none; | ||
| 697 | } | ||
| 698 | /deep/.el-tabs__header { | ||
| 699 | margin: 0; | ||
| 700 | } | ||
| 701 | /deep/.el-form-item--small.el-form-item { | ||
| 702 | margin-bottom: 0; | ||
| 703 | } | ||
| 704 | /deep/.mask-content { | ||
| 705 | padding-top: 10px !important; | ||
| 706 | } | ||
| 707 | .imgClass { | ||
| 708 | display: inline-block; | ||
| 709 | height: auto; | ||
| 710 | max-width: 100%; | ||
| 711 | } | ||
| 712 | |||
| 713 | .middle_padding { | ||
| 714 | padding-bottom: 10px; | ||
| 715 | } | ||
| 716 | |||
| 717 | .zsyl-button { | ||
| 718 | text-align: center; | ||
| 719 | margin-top: 20px; | ||
| 720 | |||
| 721 | .operation_button { | ||
| 722 | width: 100px; | ||
| 723 | border: 1px solid rgb(0, 121, 254); | ||
| 724 | } | ||
| 725 | |||
| 726 | .dy-button { | ||
| 727 | color: white; | ||
| 728 | background-color: rgb(0, 121, 254); | ||
| 729 | } | ||
| 730 | } | ||
| 731 | |||
| 732 | .table-column { | ||
| 733 | border-spacing: 1px; | ||
| 734 | width: 100%; | ||
| 735 | |||
| 736 | tr td { | ||
| 737 | border: 1px solid #ccc; | ||
| 738 | text-align: center; | ||
| 739 | height: 40px; | ||
| 740 | padding: 4px; | ||
| 741 | font-size: 13px; | ||
| 742 | background: rgb(251, 249, 229); | ||
| 743 | } | ||
| 744 | } | ||
| 745 | |||
| 746 | .zsyl-title { | ||
| 747 | background: #fafbe5; | ||
| 748 | text-align: center; | ||
| 749 | padding: 5px 0px; | ||
| 750 | font-size: 20px; | ||
| 751 | } | ||
| 752 | |||
| 753 | .no-data { | ||
| 754 | font-size: 18px; | ||
| 755 | display: flex; | ||
| 756 | text-align: center; | ||
| 757 | justify-content: center; | ||
| 758 | } | ||
| 759 | </style> |
| ... | @@ -18,7 +18,6 @@ export default { | ... | @@ -18,7 +18,6 @@ export default { |
| 18 | */ | 18 | */ |
| 19 | moreQueryClick () { | 19 | moreQueryClick () { |
| 20 | this.isSearch = true | 20 | this.isSearch = true |
| 21 | |||
| 22 | }, | 21 | }, |
| 23 | /** | 22 | /** |
| 24 | * @description: 查询事件 | 23 | * @description: 查询事件 |
| ... | @@ -80,6 +79,7 @@ export default { | ... | @@ -80,6 +79,7 @@ export default { |
| 80 | this.queryForm[item.zdm] = '' | 79 | this.queryForm[item.zdm] = '' |
| 81 | } | 80 | } |
| 82 | this.searchForm[item.zdm] = '' | 81 | this.searchForm[item.zdm] = '' |
| 82 | this.queryClick() | ||
| 83 | }, | 83 | }, |
| 84 | /** | 84 | /** |
| 85 | * @description: iterationData | 85 | * @description: iterationData | ... | ... |
| ... | @@ -10,17 +10,17 @@ | ... | @@ -10,17 +10,17 @@ |
| 10 | <el-row> | 10 | <el-row> |
| 11 | <!-- <el-col :span="8"> | 11 | <!-- <el-col :span="8"> |
| 12 | <el-form-item label="申请业务名称" prop="sqywmc"> | 12 | <el-form-item label="申请业务名称" prop="sqywmc"> |
| 13 | <el-input v-model="ruleForm.sqywmc" placeholder="请输入申请业务名称"></el-input> | 13 | <el-input v-model.trim="ruleForm.sqywmc" clearable placeholder="请输入申请业务名称"></el-input> |
| 14 | </el-form-item> | 14 | </el-form-item> |
| 15 | </el-col> --> | 15 | </el-col> --> |
| 16 | <el-col :span="8"> | 16 | <el-col :span="8"> |
| 17 | <el-form-item label="权利人" prop="qlrmc"> | 17 | <el-form-item label="权利人" prop="qlrmc"> |
| 18 | <el-input v-model="ruleForm.qlrmc" placeholder="请输入权利人"></el-input> | 18 | <el-input v-model.trim="ruleForm.qlrmc" clearable placeholder="请输入权利人"></el-input> |
| 19 | </el-form-item> | 19 | </el-form-item> |
| 20 | </el-col> | 20 | </el-col> |
| 21 | <el-col :span="8"> | 21 | <el-col :span="8"> |
| 22 | <el-form-item label="义务人" prop="ywrmc"> | 22 | <el-form-item label="义务人" prop="ywrmc"> |
| 23 | <el-input v-model="ruleForm.ywrmc" placeholder="请输入义务人"></el-input> | 23 | <el-input v-model.trim="ruleForm.ywrmc" clearable placeholder="请输入义务人"></el-input> |
| 24 | </el-form-item> | 24 | </el-form-item> |
| 25 | </el-col> | 25 | </el-col> |
| 26 | <el-col :span="8" class="btnColRight"> | 26 | <el-col :span="8" class="btnColRight"> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-10-27 17:19:42 | 4 | * @LastEditTime: 2023-10-30 09:01:45 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| ... | @@ -193,24 +193,12 @@ | ... | @@ -193,24 +193,12 @@ |
| 193 | data () { | 193 | data () { |
| 194 | return { | 194 | return { |
| 195 | queryForm: { | 195 | queryForm: { |
| 196 | ywly: "", | ||
| 197 | qllx: "", | ||
| 198 | djlx: "", | ||
| 199 | ywh: "", | ||
| 200 | bdcdyh: "", | ||
| 201 | sqrmc: "", | ||
| 202 | sqrzjhm: "", | ||
| 203 | zl: "" | ||
| 204 | }, | 196 | }, |
| 205 | searchForm: { | 197 | searchForm: { |
| 206 | ywlymc: "", | 198 | ywlymc: "", |
| 207 | qllxmc: "", | 199 | qllxmc: "", |
| 208 | djlxmc: "", | 200 | djlxmc: "", |
| 209 | ywh: "", | 201 | ywh: "", |
| 210 | bdcdyh: "", | ||
| 211 | sqrmc: "", | ||
| 212 | sqrzjhm: "", | ||
| 213 | zl: "" | ||
| 214 | }, | 202 | }, |
| 215 | tableData: { | 203 | tableData: { |
| 216 | total: 0, | 204 | total: 0, | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2024-02-02 14:56:22 | 4 | * @LastEditTime: 2024-02-06 14:43:33 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| ... | @@ -76,7 +76,7 @@ | ... | @@ -76,7 +76,7 @@ |
| 76 | </div> | 76 | </div> |
| 77 | <div class="submit_button"> | 77 | <div class="submit_button"> |
| 78 | <el-button @click="$popupCacel">取消</el-button> | 78 | <el-button @click="$popupCacel">取消</el-button> |
| 79 | <el-button type="primary" plain @click="submitForm" :loading="loading" v-if="sqywInfo.isworkFrame">添加单元</el-button> | 79 | <el-button type="primary" plain @click="handleAdd" :loading="loading" v-if="sqywInfo.isworkFrame">添加单元</el-button> |
| 80 | <el-button type="primary" plain @click="submitForm" :loading="loading" v-else>发起申请</el-button> | 80 | <el-button type="primary" plain @click="submitForm" :loading="loading" v-else>发起申请</el-button> |
| 81 | </div> | 81 | </div> |
| 82 | </div> | 82 | </div> |
| ... | @@ -155,14 +155,9 @@ | ... | @@ -155,14 +155,9 @@ |
| 155 | * @description: submitForm | 155 | * @description: submitForm |
| 156 | * @author: renchao | 156 | * @author: renchao |
| 157 | */ | 157 | */ |
| 158 | submitForm () { | 158 | handleAdd () { |
| 159 | let that = this | 159 | let that = this |
| 160 | if (this.bdcdysz.length == 0) { | 160 | this.loading = true; |
| 161 | this.$message.error("请至少选择一条数据"); | ||
| 162 | return; | ||
| 163 | } | ||
| 164 | this.loading = true | ||
| 165 | if (this.sqywInfo.isworkFrame) { | ||
| 166 | store.dispatch('user/reMenuRefresh', false) | 161 | store.dispatch('user/reMenuRefresh', false) |
| 167 | againAddSldy({ | 162 | againAddSldy({ |
| 168 | bsmSqyw: that.sqywInfo.bsmSqyw, | 163 | bsmSqyw: that.sqywInfo.bsmSqyw, |
| ... | @@ -188,7 +183,14 @@ | ... | @@ -188,7 +183,14 @@ |
| 188 | }).catch(() => { | 183 | }).catch(() => { |
| 189 | that.loading = false | 184 | that.loading = false |
| 190 | }) | 185 | }) |
| 191 | } else { | 186 | }, |
| 187 | submitForm () { | ||
| 188 | let that = this | ||
| 189 | if (this.bdcdysz.length == 0) { | ||
| 190 | this.$message.error("请至少选择一条数据"); | ||
| 191 | return; | ||
| 192 | } | ||
| 193 | this.loading = true | ||
| 192 | if (!that.isJump) { | 194 | if (!that.isJump) { |
| 193 | startBusinessFlow({ | 195 | startBusinessFlow({ |
| 194 | bsmSqyw: that.sqywInfo.bsmSqyw, | 196 | bsmSqyw: that.sqywInfo.bsmSqyw, |
| ... | @@ -239,7 +241,6 @@ | ... | @@ -239,7 +241,6 @@ |
| 239 | that.loading = false | 241 | that.loading = false |
| 240 | }) | 242 | }) |
| 241 | } | 243 | } |
| 242 | } | ||
| 243 | }, | 244 | }, |
| 244 | /** | 245 | /** |
| 245 | * @description: handleSelectionChange | 246 | * @description: handleSelectionChange | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2024-02-02 16:35:05 | 4 | * @LastEditTime: 2024-02-06 14:43:44 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <!-- 抵押权利信息查询 --> | 7 | <!-- 抵押权利信息查询 --> |
| ... | @@ -67,7 +67,7 @@ | ... | @@ -67,7 +67,7 @@ |
| 67 | </div> | 67 | </div> |
| 68 | <div class="submit_button"> | 68 | <div class="submit_button"> |
| 69 | <el-button @click="$popupCacel">取消</el-button> | 69 | <el-button @click="$popupCacel">取消</el-button> |
| 70 | <el-button type="primary" plain @click="submitFormClick()" :loading="loading" v-if="sqywInfo.isworkFrame">添加单元</el-button> | 70 | <el-button type="primary" plain @click="handleAdd" :loading="loading" v-if="sqywInfo.isworkFrame">添加单元</el-button> |
| 71 | <el-button type="primary" plain @click="submitFormClick()" :loading="loading" v-else>发起申请</el-button> | 71 | <el-button type="primary" plain @click="submitFormClick()" :loading="loading" v-else>发起申请</el-button> |
| 72 | </div> | 72 | </div> |
| 73 | </div> | 73 | </div> |
| ... | @@ -147,14 +147,9 @@ | ... | @@ -147,14 +147,9 @@ |
| 147 | * @description: submitFormClick | 147 | * @description: submitFormClick |
| 148 | * @author: renchao | 148 | * @author: renchao |
| 149 | */ | 149 | */ |
| 150 | submitFormClick () { | 150 | handleAdd () { |
| 151 | let that = this | 151 | let that = this |
| 152 | if (this.bdcdysz.length == 0) { | ||
| 153 | this.$message.error("请至少选择一条数据"); | ||
| 154 | return; | ||
| 155 | } | ||
| 156 | this.loading = true; | 152 | this.loading = true; |
| 157 | if (this.sqywInfo.isworkFrame) { | ||
| 158 | store.dispatch('user/reMenuRefresh', false) | 153 | store.dispatch('user/reMenuRefresh', false) |
| 159 | againAddSldy({ | 154 | againAddSldy({ |
| 160 | bsmSqyw: that.sqywInfo.bsmSqyw, | 155 | bsmSqyw: that.sqywInfo.bsmSqyw, |
| ... | @@ -180,7 +175,14 @@ | ... | @@ -180,7 +175,14 @@ |
| 180 | }).catch(() => { | 175 | }).catch(() => { |
| 181 | that.loading = false | 176 | that.loading = false |
| 182 | }) | 177 | }) |
| 183 | } else { | 178 | }, |
| 179 | submitFormClick () { | ||
| 180 | let that = this | ||
| 181 | if (this.bdcdysz.length == 0) { | ||
| 182 | this.$message.error("请至少选择一条数据"); | ||
| 183 | return; | ||
| 184 | } | ||
| 185 | this.loading = true; | ||
| 184 | startBusinessFlow({ | 186 | startBusinessFlow({ |
| 185 | bsmSqyw: this.sqywInfo.bsmSqyw, | 187 | bsmSqyw: this.sqywInfo.bsmSqyw, |
| 186 | bdcdysz: this.bdcdysz, | 188 | bdcdysz: this.bdcdysz, |
| ... | @@ -210,7 +212,6 @@ | ... | @@ -210,7 +212,6 @@ |
| 210 | }).catch(() => { | 212 | }).catch(() => { |
| 211 | this.loading = false | 213 | this.loading = false |
| 212 | }) | 214 | }) |
| 213 | } | ||
| 214 | }, | 215 | }, |
| 215 | /** | 216 | /** |
| 216 | * @description: handleSelectionChange | 217 | * @description: handleSelectionChange | ... | ... |
| ... | @@ -71,7 +71,7 @@ | ... | @@ -71,7 +71,7 @@ |
| 71 | import { ywPopupDialog } from "@/utils/popup.js"; | 71 | import { ywPopupDialog } from "@/utils/popup.js"; |
| 72 | import { datas, sendThis } from "../javascript/selectH.js"; | 72 | import { datas, sendThis } from "../javascript/selectH.js"; |
| 73 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; | 73 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; |
| 74 | import { selectHQjdc } from "@/api/ywsq.js"; | 74 | // import { selectHQjdc } from "@/api/ywsq.js"; |
| 75 | import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js"; | 75 | import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js"; |
| 76 | export default { | 76 | export default { |
| 77 | mixins: [ywsqTable, jump], | 77 | mixins: [ywsqTable, jump], |
| ... | @@ -123,16 +123,16 @@ | ... | @@ -123,16 +123,16 @@ |
| 123 | * @author: renchao | 123 | * @author: renchao |
| 124 | */ | 124 | */ |
| 125 | queryClick () { | 125 | queryClick () { |
| 126 | this.$startLoading(); | 126 | // this.$startLoading(); |
| 127 | this.queryForm.sqywbm = this.sqywInfo.djywbm; | 127 | // this.queryForm.sqywbm = this.sqywInfo.djywbm; |
| 128 | selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => { | 128 | // selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => { |
| 129 | this.$endLoading(); | 129 | // this.$endLoading(); |
| 130 | if (res.code === 200) { | 130 | // if (res.code === 200) { |
| 131 | let { total, records } = res.result; | 131 | // let { total, records } = res.result; |
| 132 | this.tableData.total = total; | 132 | // this.tableData.total = total; |
| 133 | this.tableData.data = records; | 133 | // this.tableData.data = records; |
| 134 | } | 134 | // } |
| 135 | }); | 135 | // }); |
| 136 | }, | 136 | }, |
| 137 | /** | 137 | /** |
| 138 | * @description: submitForm | 138 | * @description: submitForm | ... | ... |
| ... | @@ -58,7 +58,7 @@ | ... | @@ -58,7 +58,7 @@ |
| 58 | import { ywPopupDialog } from "@/utils/popup.js"; | 58 | import { ywPopupDialog } from "@/utils/popup.js"; |
| 59 | import { datas, sendThis } from "../javascript/selectH.js"; | 59 | import { datas, sendThis } from "../javascript/selectH.js"; |
| 60 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; | 60 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; |
| 61 | import { selectHQjdc } from "@/api/ywsq.js"; | 61 | // import { selectHQjdc } from "@/api/ywsq.js"; |
| 62 | import { startTogetherFlow, againAddSldy } from "@/api/workFlow.js"; | 62 | import { startTogetherFlow, againAddSldy } from "@/api/workFlow.js"; |
| 63 | export default { | 63 | export default { |
| 64 | mixins: [ywsqTable, jump], | 64 | mixins: [ywsqTable, jump], |
| ... | @@ -89,14 +89,14 @@ | ... | @@ -89,14 +89,14 @@ |
| 89 | queryClick () { | 89 | queryClick () { |
| 90 | this.$startLoading(); | 90 | this.$startLoading(); |
| 91 | this.queryForm.sqywbm = this.sqywInfo.djywbm; | 91 | this.queryForm.sqywbm = this.sqywInfo.djywbm; |
| 92 | selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => { | 92 | // selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => { |
| 93 | this.$endLoading(); | 93 | // this.$endLoading(); |
| 94 | if (res.code === 200) { | 94 | // if (res.code === 200) { |
| 95 | let { total, records } = res.result; | 95 | // let { total, records } = res.result; |
| 96 | this.tableData.total = total; | 96 | // this.tableData.total = total; |
| 97 | this.tableData.data = records; | 97 | // this.tableData.data = records; |
| 98 | } | 98 | // } |
| 99 | }); | 99 | // }); |
| 100 | }, | 100 | }, |
| 101 | /** | 101 | /** |
| 102 | * @description: submitForm | 102 | * @description: submitForm | ... | ... |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="70px"> | 10 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="70px"> |
| 11 | <el-row> | 11 | <el-row> |
| 12 | <el-col :span="4"> | 12 | <el-col :span="4"> |
| 13 | <el-form-item label="权利类型"> | 13 | <el-form-item label="权利类型" prop="qllx"> |
| 14 | <el-select v-model="queryForm.qllx" filterable class="width100" clearable placeholder="请选择权利类型"> | 14 | <el-select v-model="queryForm.qllx" filterable class="width100" clearable placeholder="请选择权利类型"> |
| 15 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 15 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
| 16 | </el-option> | 16 | </el-option> |
| ... | @@ -18,7 +18,7 @@ | ... | @@ -18,7 +18,7 @@ |
| 18 | </el-form-item> | 18 | </el-form-item> |
| 19 | </el-col> | 19 | </el-col> |
| 20 | <el-col :span="4"> | 20 | <el-col :span="4"> |
| 21 | <el-form-item label="登记类型"> | 21 | <el-form-item label="登记类型" prop="djlx"> |
| 22 | <el-select v-model="queryForm.djlx" filterable class="width100" clearable placeholder="请选择登记类型"> | 22 | <el-select v-model="queryForm.djlx" filterable class="width100" clearable placeholder="请选择登记类型"> |
| 23 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 23 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
| 24 | </el-option> | 24 | </el-option> |
| ... | @@ -26,7 +26,7 @@ | ... | @@ -26,7 +26,7 @@ |
| 26 | </el-form-item> | 26 | </el-form-item> |
| 27 | </el-col> | 27 | </el-col> |
| 28 | <el-col :span="4"> | 28 | <el-col :span="4"> |
| 29 | <el-form-item label="权属状态"> | 29 | <el-form-item label="权属状态" prop="qszt"> |
| 30 | <el-select v-model="queryForm.qszt" filterable class="width100" clearable placeholder="请选择登记类型"> | 30 | <el-select v-model="queryForm.qszt" filterable class="width100" clearable placeholder="请选择登记类型"> |
| 31 | <el-option | 31 | <el-option |
| 32 | v-for="item in qsztlist" | 32 | v-for="item in qsztlist" |
| ... | @@ -37,46 +37,47 @@ | ... | @@ -37,46 +37,47 @@ |
| 37 | </el-form-item> | 37 | </el-form-item> |
| 38 | </el-col> | 38 | </el-col> |
| 39 | <el-col :span="6"> | 39 | <el-col :span="6"> |
| 40 | <el-form-item label="不动产单元号" label-width="105px"> | 40 | <el-form-item label="不动产单元号" prop="bdcdyh" label-width="105px"> |
| 41 | <el-input placeholder="请输入不动产单元号" maxlength="28" v-model="queryForm.bdcdyh" clearable class="width100"> | 41 | <el-input placeholder="请输入不动产单元号" maxlength="28" v-model.trim="queryForm.bdcdyh" clearable class="width100"> |
| 42 | </el-input> | 42 | </el-input> |
| 43 | </el-form-item> | 43 | </el-form-item> |
| 44 | </el-col> | 44 | </el-col> |
| 45 | <el-col :span="6"> | 45 | <el-col :span="6"> |
| 46 | <el-form-item label="不动产权证号" label-width="105px"> | 46 | <el-form-item label="不动产权证号" prop="bdcqzh" label-width="105px"> |
| 47 | <el-input placeholder="请输入不动产权证号" v-model="queryForm.bdcqzh" clearable class="width100"> | 47 | <el-input placeholder="请输入不动产权证号" v-model.trim="queryForm.bdcqzh" clearable class="width100"> |
| 48 | </el-input> | 48 | </el-input> |
| 49 | </el-form-item> | 49 | </el-form-item> |
| 50 | </el-col> | 50 | </el-col> |
| 51 | </el-row> | 51 | </el-row> |
| 52 | <el-row> | 52 | <el-row> |
| 53 | <el-col :span="5"> | 53 | <el-col :span="5"> |
| 54 | <el-form-item label="业务号:"> | 54 | <el-form-item label="业务号:" prop="ywh"> |
| 55 | <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width100"> | 55 | <el-input placeholder="请输入业务号" v-model.trim="queryForm.ywh" clearable class="width100"> |
| 56 | </el-input> | 56 | </el-input> |
| 57 | </el-form-item> | 57 | </el-form-item> |
| 58 | </el-col> | 58 | </el-col> |
| 59 | <el-col :span="5"> | 59 | <el-col :span="5"> |
| 60 | <el-form-item label="坐落:" label-width="105px"> | 60 | <el-form-item label="坐落:" prop="zl" label-width="105px"> |
| 61 | <el-input v-model="queryForm.zl" placeholder="坐落" clearable class="width100"> | 61 | <el-input v-model.trim="queryForm.zl" placeholder="坐落" clearable class="width100"> |
| 62 | </el-input> | 62 | </el-input> |
| 63 | </el-form-item> | 63 | </el-form-item> |
| 64 | </el-col> | 64 | </el-col> |
| 65 | <el-col :span="5"> | 65 | <el-col :span="5"> |
| 66 | <el-form-item label="权利人:" label-width="105px"> | 66 | <el-form-item label="权利人:" prop="qlrmc" label-width="105px"> |
| 67 | <el-input v-model="queryForm.qlrmc" placeholder="权利人" clearable class="width100"> | 67 | <el-input v-model.trim="queryForm.qlrmc" placeholder="权利人" clearable class="width100"> |
| 68 | </el-input> | 68 | </el-input> |
| 69 | </el-form-item> | 69 | </el-form-item> |
| 70 | </el-col> | 70 | </el-col> |
| 71 | <el-col :span="5"> | 71 | <el-col :span="5"> |
| 72 | <el-form-item label="义务人:"> | 72 | <el-form-item label="义务人:" prop="ywrmc"> |
| 73 | <el-input v-model="queryForm.ywrmc" placeholder="义务人" clearable class="width100"> | 73 | <el-input v-model.trim="queryForm.ywrmc" placeholder="义务人" clearable class="width100"> |
| 74 | </el-input> | 74 | </el-input> |
| 75 | </el-form-item> | 75 | </el-form-item> |
| 76 | </el-col> | 76 | </el-col> |
| 77 | 77 | ||
| 78 | <el-col :span="4" class="btnColRight"> | 78 | <el-col :span="4" class="btnColRight"> |
| 79 | <el-form-item> | 79 | <el-form-item> |
| 80 | <el-button @click="handleReset">重置</el-button> | ||
| 80 | <el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button> | 81 | <el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button> |
| 81 | </el-form-item> | 82 | </el-form-item> |
| 82 | </el-col> | 83 | </el-col> |
| ... | @@ -161,6 +162,9 @@ | ... | @@ -161,6 +162,9 @@ |
| 161 | } | 162 | } |
| 162 | }); | 163 | }); |
| 163 | }, | 164 | }, |
| 165 | handleReset () { | ||
| 166 | this.$refs.queryForm.resetFields(); | ||
| 167 | }, | ||
| 164 | /** | 168 | /** |
| 165 | * @description: handleSort | 169 | * @description: handleSort |
| 166 | * @param {*} name | 170 | * @param {*} name | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-10-17 09:29:06 | 4 | * @LastEditTime: 2023-10-31 14:44:39 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="100px"> | 10 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="100px"> |
| 11 | <el-row> | 11 | <el-row> |
| 12 | <el-col :span="5"> | 12 | <el-col :span="5"> |
| 13 | <el-form-item label="业务来源"> | 13 | <el-form-item label="业务来源" prop="ywly"> |
| 14 | <el-select v-model="queryForm.ywly" class="width100" filterable clearable placeholder="请选择业务来源"> | 14 | <el-select v-model="queryForm.ywly" class="width100" filterable clearable placeholder="请选择业务来源"> |
| 15 | <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 15 | <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
| 16 | </el-option> | 16 | </el-option> |
| ... | @@ -18,7 +18,7 @@ | ... | @@ -18,7 +18,7 @@ |
| 18 | </el-form-item> | 18 | </el-form-item> |
| 19 | </el-col> | 19 | </el-col> |
| 20 | <el-col :span="5"> | 20 | <el-col :span="5"> |
| 21 | <el-form-item label="权利类型"> | 21 | <el-form-item label="权利类型" prop="qllx"> |
| 22 | <el-select v-model="queryForm.qllx" class="width100" filterable clearable placeholder="请选择权利类型"> | 22 | <el-select v-model="queryForm.qllx" class="width100" filterable clearable placeholder="请选择权利类型"> |
| 23 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 23 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
| 24 | </el-option> | 24 | </el-option> |
| ... | @@ -26,7 +26,7 @@ | ... | @@ -26,7 +26,7 @@ |
| 26 | </el-form-item> | 26 | </el-form-item> |
| 27 | </el-col> | 27 | </el-col> |
| 28 | <el-col :span="5"> | 28 | <el-col :span="5"> |
| 29 | <el-form-item label="登记类型"> | 29 | <el-form-item label="登记类型" prop="djlx"> |
| 30 | <el-select v-model="queryForm.djlx" class="width100" filterable clearable placeholder="请选择登记类型"> | 30 | <el-select v-model="queryForm.djlx" class="width100" filterable clearable placeholder="请选择登记类型"> |
| 31 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 31 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
| 32 | </el-option> | 32 | </el-option> |
| ... | @@ -34,14 +34,15 @@ | ... | @@ -34,14 +34,15 @@ |
| 34 | </el-form-item> | 34 | </el-form-item> |
| 35 | </el-col> | 35 | </el-col> |
| 36 | <el-col :span="5"> | 36 | <el-col :span="5"> |
| 37 | <el-form-item label="业务号"> | 37 | <el-form-item label="业务号" prop="ywh"> |
| 38 | <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width200px"> | 38 | <el-input placeholder="请输入业务号" v-model.trim="queryForm.ywh" clearable class="width200px"> |
| 39 | </el-input> | 39 | </el-input> |
| 40 | </el-form-item> | 40 | </el-form-item> |
| 41 | </el-col> | 41 | </el-col> |
| 42 | 42 | ||
| 43 | <el-col :span="4" class="btnColRight"> | 43 | <el-col :span="4" class="btnColRight"> |
| 44 | <el-form-item> | 44 | <el-form-item> |
| 45 | <el-button @click="handleReset">重置</el-button> | ||
| 45 | <el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button> | 46 | <el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button> |
| 46 | <!-- <el-button @click="moreQueryClick">高级查询</el-button> --> | 47 | <!-- <el-button @click="moreQueryClick">高级查询</el-button> --> |
| 47 | </el-form-item> | 48 | </el-form-item> |
| ... | @@ -49,25 +50,25 @@ | ... | @@ -49,25 +50,25 @@ |
| 49 | </el-row> | 50 | </el-row> |
| 50 | <el-row> | 51 | <el-row> |
| 51 | <el-col :span="5"> | 52 | <el-col :span="5"> |
| 52 | <el-form-item label="不动产单元号"> | 53 | <el-form-item label="不动产单元号" prop="bdcdyh"> |
| 53 | <el-input placeholder="请输入不动产单元号" v-model="queryForm.bdcdyh" clearable class="width100"> | 54 | <el-input placeholder="请输入不动产单元号" v-model.trim="queryForm.bdcdyh" clearable class="width100"> |
| 54 | </el-input> | 55 | </el-input> |
| 55 | </el-form-item> | 56 | </el-form-item> |
| 56 | </el-col> | 57 | </el-col> |
| 57 | <el-col :span="5"> | 58 | <el-col :span="5"> |
| 58 | <el-form-item label="申请人"> | 59 | <el-form-item label="申请人" prop="sqrmc"> |
| 59 | <el-input placeholder="如需要模糊查询,前后输入%" v-model="queryForm.sqrmc" clearable class="width100"> | 60 | <el-input placeholder="如需要模糊查询,前后输入%" v-model.trim="queryForm.sqrmc" clearable class="width100"> |
| 60 | </el-input> | 61 | </el-input> |
| 61 | </el-form-item> | 62 | </el-form-item> |
| 62 | </el-col> | 63 | </el-col> |
| 63 | <el-col :span="5"> | 64 | <el-col :span="5"> |
| 64 | <el-form-item label="申请人证件号"> | 65 | <el-form-item label="申请人证件号" prop="sqrzjhm"> |
| 65 | <el-input placeholder="如需要模糊查询,前后输入%" v-model="queryForm.sqrzjhm" clearable class="width100"> | 66 | <el-input placeholder="如需要模糊查询,前后输入%" v-model.trim="queryForm.sqrzjhm" clearable class="width100"> |
| 66 | </el-input> | 67 | </el-input> |
| 67 | </el-form-item> | 68 | </el-form-item> |
| 68 | </el-col> | 69 | </el-col> |
| 69 | <el-col :span="5"> | 70 | <el-col :span="5"> |
| 70 | <el-form-item label="坐落"> | 71 | <el-form-item label="坐落" prop="zl"> |
| 71 | <el-input placeholder="如需要模糊查询,前后输入%" v-model.trim="queryForm.zl" clearable class="width100"> | 72 | <el-input placeholder="如需要模糊查询,前后输入%" v-model.trim="queryForm.zl" clearable class="width100"> |
| 72 | </el-input> | 73 | </el-input> |
| 73 | </el-form-item> | 74 | </el-form-item> |
| ... | @@ -114,7 +115,6 @@ | ... | @@ -114,7 +115,6 @@ |
| 114 | this.queryClick() | 115 | this.queryClick() |
| 115 | }, | 116 | }, |
| 116 | methods: { | 117 | methods: { |
| 117 | // 初始化数据 | ||
| 118 | /** | 118 | /** |
| 119 | * @description: 初始化数据 | 119 | * @description: 初始化数据 |
| 120 | * @author: renchao | 120 | * @author: renchao |
| ... | @@ -130,6 +130,9 @@ | ... | @@ -130,6 +130,9 @@ |
| 130 | } | 130 | } |
| 131 | }) | 131 | }) |
| 132 | }, | 132 | }, |
| 133 | handleReset () { | ||
| 134 | this.$refs.queryForm.resetFields(); | ||
| 135 | }, | ||
| 133 | /** | 136 | /** |
| 134 | * @description: handleSort | 137 | * @description: handleSort |
| 135 | * @param {*} name | 138 | * @param {*} name | ... | ... |
| ... | @@ -11,25 +11,25 @@ | ... | @@ -11,25 +11,25 @@ |
| 11 | <el-row> | 11 | <el-row> |
| 12 | <el-col :span="5"> | 12 | <el-col :span="5"> |
| 13 | <el-form-item label="项目名称" label-width="70px"> | 13 | <el-form-item label="项目名称" label-width="70px"> |
| 14 | <el-input placeholder="请输入项目名称" v-model="queryForm.xmmc" clearable class="width100"> | 14 | <el-input placeholder="请输入项目名称" v-model.trim="queryForm.xmmc" clearable class="width100"> |
| 15 | </el-input> | 15 | </el-input> |
| 16 | </el-form-item> | 16 | </el-form-item> |
| 17 | </el-col> | 17 | </el-col> |
| 18 | <el-col :span="5"> | 18 | <el-col :span="5"> |
| 19 | <el-form-item label="项目编号"> | 19 | <el-form-item label="项目编号"> |
| 20 | <el-input placeholder="请输入项目编号" v-model="queryForm.xmbh" clearable class="width100"> | 20 | <el-input placeholder="请输入项目编号" v-model.trim="queryForm.xmbh" clearable class="width100"> |
| 21 | </el-input> | 21 | </el-input> |
| 22 | </el-form-item> | 22 | </el-form-item> |
| 23 | </el-col> | 23 | </el-col> |
| 24 | <el-col :span="5"> | 24 | <el-col :span="5"> |
| 25 | <el-form-item label="宗地代码"> | 25 | <el-form-item label="宗地代码"> |
| 26 | <el-input placeholder="请输入宗地代码" v-model="queryForm.zddm" clearable class="width100"> | 26 | <el-input placeholder="请输入宗地代码" v-model.trim="queryForm.zddm" clearable class="width100"> |
| 27 | </el-input> | 27 | </el-input> |
| 28 | </el-form-item> | 28 | </el-form-item> |
| 29 | </el-col> | 29 | </el-col> |
| 30 | <el-col :span="5"> | 30 | <el-col :span="5"> |
| 31 | <el-form-item label="自然幢号"> | 31 | <el-form-item label="自然幢号"> |
| 32 | <el-input placeholder="请输入自然幢号" v-model="queryForm.zrzh" clearable class="width100"> | 32 | <el-input placeholder="请输入自然幢号" v-model.trim="queryForm.zrzh" clearable class="width100"> |
| 33 | </el-input> | 33 | </el-input> |
| 34 | </el-form-item> | 34 | </el-form-item> |
| 35 | </el-col> | 35 | </el-col> | ... | ... |
src/views/zhcx/zslqcx/fzxxdatapart.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-08-29 12:55:07 | ||
| 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: '130', | ||
| 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 | label: "面积(㎡)", | ||
| 55 | width: '100', | ||
| 56 | render: (h, scope) => { | ||
| 57 | return ( | ||
| 58 | <el-tooltip effect="dark" content={scope.row.mj} placement="top" popper-class="tooltip-width "> | ||
| 59 | <span class="ellipsis-table"> {scope.row.mj}</span> | ||
| 60 | </el-tooltip> | ||
| 61 | ) | ||
| 62 | } | ||
| 63 | }, | ||
| 64 | { | ||
| 65 | prop: "fzsj", | ||
| 66 | label: "发证时间", | ||
| 67 | width: '140', | ||
| 68 | }, | ||
| 69 | { | ||
| 70 | prop: "lzrxm", | ||
| 71 | label: "领证人姓名" | ||
| 72 | }, | ||
| 73 | ], | ||
| 74 | } | ||
| 75 | } | ||
| 76 | } | ||
| 77 | let datas = new data() | ||
| 78 | export { | ||
| 79 | datas, | ||
| 80 | sendThis | ||
| 81 | } |
src/views/zhcx/zslqcx/szxxdatapart.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:39:03 | ||
| 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 | width:"50px", | ||
| 20 | label: '序号', | ||
| 21 | type: 'index', | ||
| 22 | render: (h, scope) => { | ||
| 23 | return ( | ||
| 24 | <div> | ||
| 25 | {scope.$index + 1} | ||
| 26 | </div> | ||
| 27 | ) | ||
| 28 | } | ||
| 29 | }, | ||
| 30 | { | ||
| 31 | prop: "szry", | ||
| 32 | label: "缮证人员", | ||
| 33 | }, | ||
| 34 | { | ||
| 35 | prop: "szsj", | ||
| 36 | label: "缮证时间", | ||
| 37 | }, | ||
| 38 | { | ||
| 39 | label: "是否作废", | ||
| 40 | render: (h, scope) => { | ||
| 41 | if (scope.row.sfzf == '0') { | ||
| 42 | return <div>否</div> | ||
| 43 | } else { | ||
| 44 | return <div>已作废</div> | ||
| 45 | } | ||
| 46 | } | ||
| 47 | }, | ||
| 48 | { | ||
| 49 | prop: "bz", | ||
| 50 | label: "备注信息", | ||
| 51 | }, | ||
| 52 | ] | ||
| 53 | } | ||
| 54 | } | ||
| 55 | let szxxdatas = new data() | ||
| 56 | export { | ||
| 57 | szxxdatas, | ||
| 58 | sendThis | ||
| 59 | } |
| ... | @@ -11,25 +11,25 @@ | ... | @@ -11,25 +11,25 @@ |
| 11 | <el-row> | 11 | <el-row> |
| 12 | <el-col :span="5"> | 12 | <el-col :span="5"> |
| 13 | <el-form-item label="不动产权证号" label-width="100px"> | 13 | <el-form-item label="不动产权证号" label-width="100px"> |
| 14 | <el-input placeholder="请输入不动产权证号" class="width100" v-model="queryForm.bdcqzh" clearable> | 14 | <el-input placeholder="请输入不动产权证号" class="width100" v-model.trim="queryForm.bdcqzh" clearable> |
| 15 | </el-input> | 15 | </el-input> |
| 16 | </el-form-item> | 16 | </el-form-item> |
| 17 | </el-col> | 17 | </el-col> |
| 18 | <el-col :span="5"> | 18 | <el-col :span="5"> |
| 19 | <el-form-item label="印刷序列号" label-width="100px"> | 19 | <el-form-item label="印刷序列号" label-width="100px"> |
| 20 | <el-input placeholder="请输入印刷序列号" class="width100" v-model="queryForm.ysxlh" clearable> | 20 | <el-input placeholder="请输入印刷序列号" class="width100" v-model.trim="queryForm.ysxlh" clearable> |
| 21 | </el-input> | 21 | </el-input> |
| 22 | </el-form-item> | 22 | </el-form-item> |
| 23 | </el-col> | 23 | </el-col> |
| 24 | <el-col :span="5"> | 24 | <el-col :span="5"> |
| 25 | <el-form-item label="业务号"> | 25 | <el-form-item label="业务号"> |
| 26 | <el-input placeholder="请输入业务号" class="width100" v-model="queryForm.ywh" clearable> | 26 | <el-input placeholder="请输入业务号" class="width100" v-model.trim="queryForm.ywh" clearable> |
| 27 | </el-input> | 27 | </el-input> |
| 28 | </el-form-item> | 28 | </el-form-item> |
| 29 | </el-col> | 29 | </el-col> |
| 30 | <el-col :span="5"> | 30 | <el-col :span="5"> |
| 31 | <el-form-item label="领取人"> | 31 | <el-form-item label="领取人"> |
| 32 | <el-input placeholder="请输入领取人" class="width100" v-model="queryForm.lzrxm" clearable> | 32 | <el-input placeholder="请输入领取人" class="width100" v-model.trim="queryForm.lzrxm" clearable> |
| 33 | </el-input> | 33 | </el-input> |
| 34 | </el-form-item> | 34 | </el-form-item> |
| 35 | </el-col> | 35 | </el-col> |
| ... | @@ -103,7 +103,7 @@ | ... | @@ -103,7 +103,7 @@ |
| 103 | * @author: renchao | 103 | * @author: renchao |
| 104 | */ | 104 | */ |
| 105 | openDialog (item) { | 105 | openDialog (item) { |
| 106 | this.$popupDialog("证书证明预览", "workflow/components/dialog/zsylxq", { | 106 | this.$popupDialog("证书证明预览", "zhcx/zslqcx/zsylxq", { |
| 107 | bsmSlsq: item.bsmSlsq, | 107 | bsmSlsq: item.bsmSlsq, |
| 108 | bsmBdcqz: item.bsmBdcqz | 108 | bsmBdcqz: item.bsmBdcqz |
| 109 | }, '1230px', true) | 109 | }, '1230px', true) | ... | ... |
src/views/zhcx/zslqcx/zsylxq.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: miaofang | ||
| 4 | * @LastEditTime: 2023-10-23 16:16:24 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div | ||
| 8 | class="from-clues loadingtext" | ||
| 9 | v-Loading="loading" | ||
| 10 | element-loading-text="拼命加载中..." | ||
| 11 | style="height: 720px; text-align: center"> | ||
| 12 | <!-- 表单部分 --> | ||
| 13 | <el-tabs v-model="activeName" @tab-click="handleClick"> | ||
| 14 | <el-tab-pane label="证书预览" name="zsyl"> | ||
| 15 | <el-empty | ||
| 16 | description="暂无数据" | ||
| 17 | v-if="headTabBdcqz.length == 0 && noData"></el-empty> | ||
| 18 | <div class="zsys"> | ||
| 19 | <canvas | ||
| 20 | ref="zs" | ||
| 21 | width="1000" | ||
| 22 | v-show="this.bdcqz.bdcqzlx == 1" | ||
| 23 | height="700"></canvas> | ||
| 24 | <canvas | ||
| 25 | ref="zm" | ||
| 26 | width="1180" | ||
| 27 | v-show="this.bdcqz.bdcqzlx == 2" | ||
| 28 | height="780"></canvas> | ||
| 29 | </div> | ||
| 30 | </el-tab-pane> | ||
| 31 | <el-tab-pane label="证书详情" name="lcjl"> | ||
| 32 | <div class="slxx_title title-block"> | ||
| 33 | 证书详情信息 | ||
| 34 | <div class="triangle"></div> | ||
| 35 | </div> | ||
| 36 | <el-form :rules="rules" ref="ruleForm" label-width="120px"> | ||
| 37 | <el-row> | ||
| 38 | <el-col :span="8"> | ||
| 39 | <el-form-item label="权利人" prop="cyxm"> | ||
| 40 | <el-input disabled v-model="bdcqz.qlr" maxlegth="15"></el-input> | ||
| 41 | </el-form-item> | ||
| 42 | </el-col> | ||
| 43 | <el-col :span="8"> | ||
| 44 | <el-form-item label="义务人" prop="jtgxdm"> | ||
| 45 | <el-input disabled v-model="bdcqz.qlr" maxlegth="15"></el-input> | ||
| 46 | </el-form-item> | ||
| 47 | </el-col> | ||
| 48 | <el-col :span="8"> | ||
| 49 | <el-form-item label="坐落" prop="cbfdm"> | ||
| 50 | <el-input disabled v-model="bdcqz.zl" maxlegth="15"></el-input> | ||
| 51 | </el-form-item> | ||
| 52 | </el-col> | ||
| 53 | |||
| 54 | </el-row> | ||
| 55 | <el-row> | ||
| 56 | <el-col :span="8"> | ||
| 57 | <el-form-item label="不动产单元号" prop="cyxm"> | ||
| 58 | <el-input disabled v-model="bdcqz.bdcdyh" maxlegth="15"></el-input> | ||
| 59 | </el-form-item> | ||
| 60 | </el-col> | ||
| 61 | <el-col :span="8"> | ||
| 62 | <el-form-item label="印刷序列号" prop="jtgxdm"> | ||
| 63 | <el-input disabled v-model="bdcqz.ysxlh" maxlegth="15"></el-input> | ||
| 64 | </el-form-item> | ||
| 65 | </el-col> | ||
| 66 | <el-col :span="8"> | ||
| 67 | <el-form-item label="不动产权证号" prop="cbfdm"> | ||
| 68 | <el-input disabled v-model="bdcqz.bdcqzh" maxlegth="15"></el-input> | ||
| 69 | </el-form-item> | ||
| 70 | </el-col> | ||
| 71 | |||
| 72 | </el-row> | ||
| 73 | </el-form> | ||
| 74 | <div class="slxx_title title-block"> | ||
| 75 | 缮证记录信息 | ||
| 76 | <div class="triangle"></div> | ||
| 77 | </div> | ||
| 78 | <lb-table | ||
| 79 | class="sz" | ||
| 80 | :column="szxxtableData.columns" | ||
| 81 | heightNumSetting | ||
| 82 | :pagination="false" | ||
| 83 | :key="key" | ||
| 84 | :data="szxxtableData.data"> | ||
| 85 | </lb-table> | ||
| 86 | <div class="slxx_title title-block"> | ||
| 87 | 发证记录信息 | ||
| 88 | <div class="triangle"></div> | ||
| 89 | </div> | ||
| 90 | <lb-table | ||
| 91 | border | ||
| 92 | :column="tableDatas.columns" | ||
| 93 | :heightNum="100" | ||
| 94 | :data="tableDatas.data" | ||
| 95 | :pagination="false"> | ||
| 96 | </lb-table> | ||
| 97 | </el-tab-pane> | ||
| 98 | <el-tab-pane label="电子证照" name="third"> 等一个照片 </el-tab-pane> | ||
| 99 | </el-tabs> | ||
| 100 | </div> | ||
| 101 | </template> | ||
| 102 | |||
| 103 | <script> | ||
| 104 | // import { zsyldatas } from "../../javascript/zsyl.js"; | ||
| 105 | import { getSlsqBdcqzList } from "@/api/bdcqz.js"; | ||
| 106 | import { getCertificateList } from "@/api/bdcqz.js"; | ||
| 107 | import { getSzRecordList } from "@/api/bdcqz.js"; | ||
| 108 | import { szxxdatas } from "./szxxdatapart"; | ||
| 109 | import { datas } from "./fzxxdatapart"; | ||
| 110 | export default { | ||
| 111 | name: "zsyl", | ||
| 112 | props: { | ||
| 113 | formData: { | ||
| 114 | type: Object, | ||
| 115 | default: {}, | ||
| 116 | }, | ||
| 117 | }, | ||
| 118 | data () { | ||
| 119 | return { | ||
| 120 | key: 0, | ||
| 121 | noData: false, | ||
| 122 | imgSrc: require("@/image/bdcqz/bdcqzs2.jpg"), | ||
| 123 | bdczmSrc: require("@/image/bdcqz/bdczm.jpg"), | ||
| 124 | loading: false, | ||
| 125 | //印刷序列号集合 | ||
| 126 | ysxlh: [], | ||
| 127 | //列名称对象 | ||
| 128 | columns: [], | ||
| 129 | //选择的不动产权证文件 | ||
| 130 | bdcqz: "", | ||
| 131 | //证书打开类型 是否需要展示打印按钮 | ||
| 132 | isToPrint: false, | ||
| 133 | //tab切换栏数组 | ||
| 134 | tabslist: [], | ||
| 135 | headTabBdcqz: [], | ||
| 136 | //tab选择绑定值 | ||
| 137 | activeName: "zsyl", | ||
| 138 | //证书图片预览 | ||
| 139 | previewImage: "", | ||
| 140 | ruleForm: { | ||
| 141 | bsmBdcqz: "", | ||
| 142 | szmc: "不动产权证书", | ||
| 143 | bsmBdcqz: "", | ||
| 144 | szzh: "", | ||
| 145 | ysxlh: "", | ||
| 146 | }, | ||
| 147 | formdata: {}, | ||
| 148 | szxxtableData: { | ||
| 149 | total: 0, | ||
| 150 | columns: szxxdatas.columns(), | ||
| 151 | data: [], | ||
| 152 | }, | ||
| 153 | tableDatas: { | ||
| 154 | total: 0, | ||
| 155 | columns: datas.columns().fzgrid, | ||
| 156 | data: [], | ||
| 157 | }, | ||
| 158 | }; | ||
| 159 | }, | ||
| 160 | mounted () { | ||
| 161 | this.queryClick(); | ||
| 162 | this.query(); | ||
| 163 | if (this.formData.bdcqz) { | ||
| 164 | //从缮证进入 | ||
| 165 | this.bdcqz = this.formData.bdcqz; | ||
| 166 | } else { | ||
| 167 | //从按钮进入 | ||
| 168 | this.getHeadTabBdcqz(); | ||
| 169 | } | ||
| 170 | }, | ||
| 171 | methods: { | ||
| 172 | /** | ||
| 173 | * @description: queryClick | ||
| 174 | * @author: miaofang | ||
| 175 | */ | ||
| 176 | queryClick () { | ||
| 177 | this.formdata.bsmSlsq = this.formData.bsmSlsq; | ||
| 178 | getCertificateList(this.formdata).then((res) => { | ||
| 179 | if (res.code === 200) { | ||
| 180 | this.tableDatas.data = res.result ? res.result : []; | ||
| 181 | } | ||
| 182 | }) | ||
| 183 | }, | ||
| 184 | /** | ||
| 185 | * @description: query | ||
| 186 | * @author: miaofang | ||
| 187 | */ | ||
| 188 | query () { | ||
| 189 | getSzRecordList({ bsmBdcqz: this.formData.bsmBdcqz }).then((res) => { | ||
| 190 | if (res.code == 200) { | ||
| 191 | this.szxxtableData.data = res.result; | ||
| 192 | this.key++; | ||
| 193 | } | ||
| 194 | }) | ||
| 195 | }, | ||
| 196 | /** | ||
| 197 | * @description: 获取证书内容 | ||
| 198 | * @param {*} code | ||
| 199 | * @author: miaofang | ||
| 200 | */ | ||
| 201 | getRowValue (code) { | ||
| 202 | var value = this.bdcqz[code]; | ||
| 203 | return value; | ||
| 204 | }, | ||
| 205 | /** | ||
| 206 | * @description: 获取受理申请下全部不动产权证 | ||
| 207 | * @author: miaofang | ||
| 208 | */ | ||
| 209 | getHeadTabBdcqz () { | ||
| 210 | this.loading = true; | ||
| 211 | getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then((res) => { | ||
| 212 | if (res.code == 200) { | ||
| 213 | this.noData = true; | ||
| 214 | if (res.result && res.result.length > 0) { | ||
| 215 | this.bdcqz = res.result[0]; | ||
| 216 | this.headTabBdcqz = res.result; | ||
| 217 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 218 | this.drawTextOnImage(); | ||
| 219 | } else { | ||
| 220 | this.drawTextzmImage(); | ||
| 221 | } | ||
| 222 | } | ||
| 223 | } | ||
| 224 | this.loading = false; | ||
| 225 | }); | ||
| 226 | }, | ||
| 227 | /** | ||
| 228 | * @description: tab表头切换方法 | ||
| 229 | * @param {*} e | ||
| 230 | * @author: miaofang | ||
| 231 | */ | ||
| 232 | handleClick (tab, event) { | ||
| 233 | console.log(tab, event); | ||
| 234 | this.bdcqz = this.headTabBdcqz[0]; | ||
| 235 | if (this.bdcqz.bdcqzlx == 1) { | ||
| 236 | this.drawTextOnImage(); | ||
| 237 | } else { | ||
| 238 | this.drawTextzmImage(); | ||
| 239 | } | ||
| 240 | }, | ||
| 241 | /** | ||
| 242 | * @description: 不动产证书 | ||
| 243 | * @author: miaofang | ||
| 244 | */ | ||
| 245 | drawTextOnImage () { | ||
| 246 | function getByteLen (val) { | ||
| 247 | var len = 0; | ||
| 248 | if (!val) return len; | ||
| 249 | for (var i = 0; i < val.length; i++) { | ||
| 250 | var length = val.charCodeAt(i); | ||
| 251 | if (length >= 0 && length <= 128) { | ||
| 252 | len += 1; | ||
| 253 | } else { | ||
| 254 | len += 2; | ||
| 255 | } | ||
| 256 | } | ||
| 257 | return len; | ||
| 258 | } | ||
| 259 | const canvas = this.$refs.zs; | ||
| 260 | const context = canvas.getContext("2d"); | ||
| 261 | const image = new Image(); | ||
| 262 | image.onload = () => { | ||
| 263 | context.drawImage(image, 0, 0); | ||
| 264 | context.font = "18px 楷体"; | ||
| 265 | context.fillStyle = "#000000"; | ||
| 266 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : "", 60, 56); | ||
| 267 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : "", 113, 56); | ||
| 268 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : "", 180, 56); | ||
| 269 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : "", 370, 56); | ||
| 270 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : "", 129, 97); | ||
| 271 | context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : "", 129, 136); | ||
| 272 | |||
| 273 | this.bdcdyh = | ||
| 274 | this.bdcqz.bdcdyh.slice(0, 6) + | ||
| 275 | " " + | ||
| 276 | this.bdcqz.bdcdyh.slice(6, 12) + | ||
| 277 | " " + | ||
| 278 | this.bdcqz.bdcdyh.slice(12, 19) + | ||
| 279 | " " + | ||
| 280 | this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length); | ||
| 281 | context.fillText(this.bdcdyh ? this.bdcdyh : "", 129, 223); | ||
| 282 | |||
| 283 | context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : "", 129, 263); | ||
| 284 | context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : "", 129, 303); | ||
| 285 | context.fillText(this.bdcqz.yt ? this.bdcqz.yt : "", 129, 346); | ||
| 286 | // context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 129, 386); | ||
| 287 | let lines6 = this.bdcqz.mj ? this.bdcqz.mj.split(" ") : []; | ||
| 288 | if (getByteLen(this.bdcqz.mj) > 41) { | ||
| 289 | lines6.forEach((line, index) => { | ||
| 290 | const y = 378 + index * 27; // 每行文本的垂直位置 | ||
| 291 | let currentLine = ""; | ||
| 292 | let arr = []; | ||
| 293 | for (let word of line) { | ||
| 294 | const testLine = currentLine + word; | ||
| 295 | const lineWidth = context.measureText(testLine).width; | ||
| 296 | if (lineWidth <= 330) { | ||
| 297 | currentLine = testLine; | ||
| 298 | } else { | ||
| 299 | arr.push(currentLine); | ||
| 300 | currentLine = word; | ||
| 301 | } | ||
| 302 | } | ||
| 303 | arr.push(currentLine); | ||
| 304 | arr.forEach((line, index) => { | ||
| 305 | context.fillText(line, 129, y + index * 20); // 调整行高 | ||
| 306 | }); | ||
| 307 | }); | ||
| 308 | } else { | ||
| 309 | lines6.forEach((line, index) => { | ||
| 310 | const y = 386 + index * 27; // 每行文本的垂直位置 | ||
| 311 | let currentLine = ""; | ||
| 312 | let arr = []; | ||
| 313 | for (let word of line) { | ||
| 314 | const testLine = currentLine + word; | ||
| 315 | const lineWidth = context.measureText(testLine).width; | ||
| 316 | if (lineWidth <= 330) { | ||
| 317 | currentLine = testLine; | ||
| 318 | } else { | ||
| 319 | arr.push(currentLine); | ||
| 320 | currentLine = word; | ||
| 321 | } | ||
| 322 | } | ||
| 323 | arr.push(currentLine); | ||
| 324 | arr.forEach((line, index) => { | ||
| 325 | context.fillText(line, 129, y + index * 20); // 调整行高 | ||
| 326 | }); | ||
| 327 | }); | ||
| 328 | } | ||
| 329 | // 权利其他状态 | ||
| 330 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split("\n") : []; | ||
| 331 | for (let i = 0; i < lines.length; i++) { | ||
| 332 | let num = Math.ceil(getByteLen(lines[i]) / 38); | ||
| 333 | if (getByteLen(lines[i]) > 38) { | ||
| 334 | let currentLine = ""; | ||
| 335 | let arr = []; | ||
| 336 | for (let word of lines[i]) { | ||
| 337 | const testLine = currentLine + word; | ||
| 338 | const lineWidth = context.measureText(testLine).width; | ||
| 339 | if (lineWidth <= 323) { | ||
| 340 | currentLine = testLine; | ||
| 341 | } else { | ||
| 342 | arr.push(currentLine); | ||
| 343 | currentLine = word; | ||
| 344 | } | ||
| 345 | } | ||
| 346 | arr.push(currentLine); | ||
| 347 | if (i > 0) { | ||
| 348 | arr.forEach((line, index) => { | ||
| 349 | context.fillText( | ||
| 350 | line, | ||
| 351 | 129, | ||
| 352 | 490 + 26 * (i - 1) + 4 * num + index * 14 | ||
| 353 | ); // 调整行高 | ||
| 354 | }); | ||
| 355 | } else { | ||
| 356 | arr.forEach((line, index) => { | ||
| 357 | context.fillText(line, 129, 500 + 26 * (i - 1) + index * 14); // 调整行高 | ||
| 358 | }); | ||
| 359 | } | ||
| 360 | } else { | ||
| 361 | if (i > 0) { | ||
| 362 | context.fillText( | ||
| 363 | lines[i] ? lines[i] : "", | ||
| 364 | 129, | ||
| 365 | 500 + 4 * num + 24 * (i - 1) | ||
| 366 | ); | ||
| 367 | } else { | ||
| 368 | context.fillText( | ||
| 369 | lines[i] ? lines[i] : "", | ||
| 370 | 129, | ||
| 371 | 505 + 24 * (i - 1) | ||
| 372 | ); | ||
| 373 | } | ||
| 374 | } | ||
| 375 | } | ||
| 376 | |||
| 377 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split("\n") : []; | ||
| 378 | lines1.forEach((line, index) => { | ||
| 379 | const y = 100 + index * 30; // 每行文本的垂直位置 | ||
| 380 | let currentLine = ""; | ||
| 381 | let arr = []; | ||
| 382 | for (let word of line) { | ||
| 383 | const testLine = currentLine + word; | ||
| 384 | const lineWidth = context.measureText(testLine).width; | ||
| 385 | if (lineWidth <= 395) { | ||
| 386 | currentLine = testLine; | ||
| 387 | } else { | ||
| 388 | arr.push(currentLine); | ||
| 389 | currentLine = word; | ||
| 390 | } | ||
| 391 | } | ||
| 392 | arr.push(currentLine); | ||
| 393 | arr.forEach((line, index) => { | ||
| 394 | context.fillText(line, 580, y + index * 30); // 调整行高 | ||
| 395 | }); | ||
| 396 | }); | ||
| 397 | let lines3 = this.bdcqz.syqx ? this.bdcqz.syqx.split(" ") : []; | ||
| 398 | if (getByteLen(this.bdcqz.syqx) > 41) { | ||
| 399 | lines3.forEach((line, index) => { | ||
| 400 | const y = 423 + index * 27; // 每行文本的垂直位置 | ||
| 401 | let currentLine = ""; | ||
| 402 | let arr = []; | ||
| 403 | for (let word of line) { | ||
| 404 | const testLine = currentLine + word; | ||
| 405 | const lineWidth = context.measureText(testLine).width; | ||
| 406 | if (lineWidth <= 330) { | ||
| 407 | currentLine = testLine; | ||
| 408 | } else { | ||
| 409 | arr.push(currentLine); | ||
| 410 | currentLine = word; | ||
| 411 | } | ||
| 412 | } | ||
| 413 | arr.push(currentLine); | ||
| 414 | arr.forEach((line, index) => { | ||
| 415 | context.fillText(line, 129, y + index * 20); // 调整行高 | ||
| 416 | }); | ||
| 417 | }); | ||
| 418 | } else { | ||
| 419 | lines3.forEach((line, index) => { | ||
| 420 | const y = 430 + index * 27; // 每行文本的垂直位置 | ||
| 421 | let currentLine = ""; | ||
| 422 | let arr = []; | ||
| 423 | for (let word of line) { | ||
| 424 | const testLine = currentLine + word; | ||
| 425 | const lineWidth = context.measureText(testLine).width; | ||
| 426 | if (lineWidth <= 315) { | ||
| 427 | currentLine = testLine; | ||
| 428 | } else { | ||
| 429 | arr.push(currentLine); | ||
| 430 | currentLine = word; | ||
| 431 | } | ||
| 432 | } | ||
| 433 | arr.push(currentLine); | ||
| 434 | arr.forEach((line, index) => { | ||
| 435 | context.fillText(line, 129, y + index * 20); // 调整行高 | ||
| 436 | }); | ||
| 437 | }); | ||
| 438 | } | ||
| 439 | |||
| 440 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(" ") : []; | ||
| 441 | if (getByteLen(this.bdcqz.zl) > 41) { | ||
| 442 | lines2.forEach((line, index) => { | ||
| 443 | const y = 170 + index * 20; // 每行文本的垂直位置 | ||
| 444 | let currentLine = ""; | ||
| 445 | let arr = []; | ||
| 446 | for (let word of line) { | ||
| 447 | const testLine = currentLine + word; | ||
| 448 | const lineWidth = context.measureText(testLine).width; | ||
| 449 | if (lineWidth <= 336) { | ||
| 450 | currentLine = testLine; | ||
| 451 | } else { | ||
| 452 | arr.push(currentLine); | ||
| 453 | currentLine = word; | ||
| 454 | } | ||
| 455 | } | ||
| 456 | arr.push(currentLine); | ||
| 457 | arr.forEach((line, index) => { | ||
| 458 | context.fillText(line, 129, y + index * 20); // 调整行高 | ||
| 459 | }); | ||
| 460 | }); | ||
| 461 | } else { | ||
| 462 | lines2.forEach((line, index) => { | ||
| 463 | const y = 180 + index * 20; // 每行文本的垂直位置 | ||
| 464 | let currentLine = ""; | ||
| 465 | let arr = []; | ||
| 466 | for (let word of line) { | ||
| 467 | const testLine = currentLine + word; | ||
| 468 | const lineWidth = context.measureText(testLine).width; | ||
| 469 | if (lineWidth <= 336) { | ||
| 470 | currentLine = testLine; | ||
| 471 | } else { | ||
| 472 | arr.push(currentLine); | ||
| 473 | currentLine = word; | ||
| 474 | } | ||
| 475 | } | ||
| 476 | arr.push(currentLine); | ||
| 477 | arr.forEach((line, index) => { | ||
| 478 | context.fillText(line, 129, y + index * 20); // 调整行高 | ||
| 479 | }); | ||
| 480 | }); | ||
| 481 | } | ||
| 482 | }; | ||
| 483 | image.src = this.imgSrc; | ||
| 484 | }, | ||
| 485 | /** | ||
| 486 | * @description: 不动产证明 | ||
| 487 | * @author: miaofang | ||
| 488 | */ | ||
| 489 | drawTextzmImage () { | ||
| 490 | function getByteLen (val) { | ||
| 491 | var len = 0; | ||
| 492 | if (!val) return len; | ||
| 493 | for (var i = 0; i < val.length; i++) { | ||
| 494 | var length = val.charCodeAt(i); | ||
| 495 | if (length >= 0 && length <= 128) { | ||
| 496 | len += 1; | ||
| 497 | } else { | ||
| 498 | len += 2; | ||
| 499 | } | ||
| 500 | } | ||
| 501 | return len; | ||
| 502 | } | ||
| 503 | |||
| 504 | const canvas = this.$refs.zm; | ||
| 505 | const context = canvas.getContext("2d"); | ||
| 506 | const image = new Image(); | ||
| 507 | image.onload = () => { | ||
| 508 | context.drawImage(image, 0, 0); | ||
| 509 | context.font = "18px 楷体"; | ||
| 510 | context.fillStyle = "#000000"; | ||
| 511 | // ysxlh | ||
| 512 | context.fillText(this.bdcqz.ysxlh ? this.bdcqz.ysxlh : "", 280, 712); | ||
| 513 | // djsj | ||
| 514 | if (this.bdcqz.djsj) { | ||
| 515 | let djsjList = this.bdcqz.djsj.split(" ")[0].split("/"); | ||
| 516 | context.fillText(djsjList[0] ? djsjList[0] : "", 327, 580); | ||
| 517 | context.fillText(djsjList[1] ? djsjList[1] : "", 393, 580); | ||
| 518 | context.fillText(djsjList[2] ? djsjList[2] : "", 443, 580); | ||
| 519 | } | ||
| 520 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : "", 620, 125); | ||
| 521 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : "", 665, 125); | ||
| 522 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : "", 750, 125); | ||
| 523 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : "", 960, 123); | ||
| 524 | context.fillText( | ||
| 525 | this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : "", | ||
| 526 | 775, | ||
| 527 | 180 | ||
| 528 | ); | ||
| 529 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : "", 775, 228); | ||
| 530 | // 义务人 | ||
| 531 | context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : "", 775, 275); | ||
| 532 | // context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325); | ||
| 533 | |||
| 534 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(" ") : []; | ||
| 535 | if (getByteLen(this.bdcqz.zl) > 41) { | ||
| 536 | lines2.forEach((line, index) => { | ||
| 537 | const y = 315 + index * 20; // 每行文本的垂直位置 | ||
| 538 | let currentLine = ""; | ||
| 539 | let arr = []; | ||
| 540 | for (let word of line) { | ||
| 541 | const testLine = currentLine + word; | ||
| 542 | const lineWidth = context.measureText(testLine).width; | ||
| 543 | if (lineWidth <= 295) { | ||
| 544 | currentLine = testLine; | ||
| 545 | } else { | ||
| 546 | arr.push(currentLine); | ||
| 547 | currentLine = word; | ||
| 548 | } | ||
| 549 | } | ||
| 550 | arr.push(currentLine); | ||
| 551 | arr.forEach((line, index) => { | ||
| 552 | context.fillText(line, 775, y + index * 20); // 调整行高 | ||
| 553 | }); | ||
| 554 | }); | ||
| 555 | } else { | ||
| 556 | lines2.forEach((line, index) => { | ||
| 557 | const y = 325 + index * 20; // 每行文本的垂直位置 | ||
| 558 | let currentLine = ""; | ||
| 559 | let arr = []; | ||
| 560 | for (let word of line) { | ||
| 561 | const testLine = currentLine + word; | ||
| 562 | const lineWidth = context.measureText(testLine).width; | ||
| 563 | if (lineWidth <= 295) { | ||
| 564 | currentLine = testLine; | ||
| 565 | } else { | ||
| 566 | arr.push(currentLine); | ||
| 567 | currentLine = word; | ||
| 568 | } | ||
| 569 | } | ||
| 570 | arr.push(currentLine); | ||
| 571 | arr.forEach((line, index) => { | ||
| 572 | context.fillText(line, 775, y + index * 20); // 调整行高 | ||
| 573 | }); | ||
| 574 | }); | ||
| 575 | } | ||
| 576 | |||
| 577 | // bdcdyh | ||
| 578 | this.bdcdyh = | ||
| 579 | this.bdcqz.bdcdyh.slice(0, 6) + | ||
| 580 | " " + | ||
| 581 | this.bdcqz.bdcdyh.slice(6, 12) + | ||
| 582 | " " + | ||
| 583 | this.bdcqz.bdcdyh.slice(12, 19) + | ||
| 584 | " " + | ||
| 585 | this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length); | ||
| 586 | context.fillText(this.bdcdyh ? this.bdcdyh : "", 775, 373); | ||
| 587 | // qlqtzk | ||
| 588 | const maxWidth = 295; // 最大宽度限制 | ||
| 589 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split("\n") : []; | ||
| 590 | for (let i = 0; i < lines.length; i++) { | ||
| 591 | let num = Math.ceil(getByteLen(lines[i]) / 37); | ||
| 592 | if (getByteLen(lines[i]) > 37) { | ||
| 593 | let currentLine = ""; | ||
| 594 | let arr = []; | ||
| 595 | for (let word of lines[i]) { | ||
| 596 | const testLine = currentLine + word; | ||
| 597 | const lineWidth = context.measureText(testLine).width; | ||
| 598 | if (lineWidth <= maxWidth) { | ||
| 599 | currentLine = testLine; | ||
| 600 | } else { | ||
| 601 | arr.push(currentLine); | ||
| 602 | currentLine = word; | ||
| 603 | } | ||
| 604 | } | ||
| 605 | arr.push(currentLine); | ||
| 606 | if (i > 0) { | ||
| 607 | arr.forEach((line, index) => { | ||
| 608 | context.fillText( | ||
| 609 | line, | ||
| 610 | 770, | ||
| 611 | 428 + 25 * (i - 1) + 5 * num + index * 15 | ||
| 612 | ); // 调整行高 | ||
| 613 | }); | ||
| 614 | } else { | ||
| 615 | arr.forEach((line, index) => { | ||
| 616 | context.fillText(line, 770, 435 + 25 * (i - 1) + index * 14); // 调整行高 | ||
| 617 | }); | ||
| 618 | } | ||
| 619 | } else { | ||
| 620 | if (i > 0) { | ||
| 621 | context.fillText( | ||
| 622 | lines[i] ? lines[i] : "", | ||
| 623 | 770, | ||
| 624 | 440 + 5 * num + 24 * (i - 1) | ||
| 625 | ); | ||
| 626 | } else { | ||
| 627 | context.fillText( | ||
| 628 | lines[i] ? lines[i] : "", | ||
| 629 | 770, | ||
| 630 | 440 + 24 * (i - 1) | ||
| 631 | ); | ||
| 632 | } | ||
| 633 | } | ||
| 634 | } | ||
| 635 | // fj | ||
| 636 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split("\n") : []; | ||
| 637 | for (let i = 0; i < lines1.length; i++) { | ||
| 638 | let num = Math.ceil(getByteLen(lines1[i]) / 37); | ||
| 639 | if (getByteLen(lines1[i]) > 37) { | ||
| 640 | let currentLine = ""; | ||
| 641 | let arr = []; | ||
| 642 | for (let word of lines1[i]) { | ||
| 643 | const testLine = currentLine + word; | ||
| 644 | const lineWidth = context.measureText(testLine).width; | ||
| 645 | if (lineWidth <= maxWidth) { | ||
| 646 | currentLine = testLine; | ||
| 647 | } else { | ||
| 648 | arr.push(currentLine); | ||
| 649 | currentLine = word; | ||
| 650 | } | ||
| 651 | } | ||
| 652 | arr.push(currentLine); | ||
| 653 | if (i > 0) { | ||
| 654 | arr.forEach((line, index) => { | ||
| 655 | context.fillText( | ||
| 656 | line, | ||
| 657 | 770, | ||
| 658 | 610 + 25 * (i - 1) + 5 * num + index * 15 | ||
| 659 | ); // 调整行高 | ||
| 660 | }); | ||
| 661 | } else { | ||
| 662 | arr.forEach((line, index) => { | ||
| 663 | context.fillText(line, 770, 610 + 25 * (i - 1) + index * 15); // 调整行高 | ||
| 664 | }); | ||
| 665 | } | ||
| 666 | } else { | ||
| 667 | if (i > 0) { | ||
| 668 | context.fillText( | ||
| 669 | lines1[i] ? lines1[i] : "", | ||
| 670 | 770, | ||
| 671 | 610 + 5 * num + 23 * (i - 1) | ||
| 672 | ); | ||
| 673 | } else { | ||
| 674 | context.fillText( | ||
| 675 | lines1[i] ? lines1[i] : "", | ||
| 676 | 770, | ||
| 677 | 610 + 23 * (i - 1) | ||
| 678 | ); | ||
| 679 | } | ||
| 680 | } | ||
| 681 | } | ||
| 682 | }; | ||
| 683 | |||
| 684 | image.src = this.bdczmSrc; | ||
| 685 | }, | ||
| 686 | }, | ||
| 687 | computed: { | ||
| 688 | hdiffHeight () { | ||
| 689 | return 0; | ||
| 690 | // return this.headTabBdcqz.length > 1 ? 54 : 0 | ||
| 691 | }, | ||
| 692 | }, | ||
| 693 | }; | ||
| 694 | </script> | ||
| 695 | <style scoped lang="scss"> | ||
| 696 | @import "~@/styles/mixin.scss"; | ||
| 697 | |||
| 698 | .imgClass { | ||
| 699 | display: inline-block; | ||
| 700 | height: auto; | ||
| 701 | max-width: 100%; | ||
| 702 | } | ||
| 703 | |||
| 704 | .middle_padding { | ||
| 705 | padding-bottom: 10px; | ||
| 706 | } | ||
| 707 | |||
| 708 | .zsyl-button { | ||
| 709 | text-align: center; | ||
| 710 | margin-top: 20px; | ||
| 711 | |||
| 712 | .operation_button { | ||
| 713 | width: 100px; | ||
| 714 | border: 1px solid rgb(0, 121, 254); | ||
| 715 | } | ||
| 716 | |||
| 717 | .dy-button { | ||
| 718 | color: white; | ||
| 719 | background-color: rgb(0, 121, 254); | ||
| 720 | } | ||
| 721 | } | ||
| 722 | |||
| 723 | .table-column { | ||
| 724 | border-spacing: 1px; | ||
| 725 | width: 100%; | ||
| 726 | |||
| 727 | tr td { | ||
| 728 | border: 1px solid #ccc; | ||
| 729 | text-align: center; | ||
| 730 | height: 40px; | ||
| 731 | padding: 4px; | ||
| 732 | font-size: 13px; | ||
| 733 | background: rgb(251, 249, 229); | ||
| 734 | } | ||
| 735 | } | ||
| 736 | |||
| 737 | .zsyl-title { | ||
| 738 | background: #fafbe5; | ||
| 739 | text-align: center; | ||
| 740 | padding: 5px 0px; | ||
| 741 | font-size: 20px; | ||
| 742 | } | ||
| 743 | |||
| 744 | .no-data { | ||
| 745 | font-size: 18px; | ||
| 746 | display: flex; | ||
| 747 | text-align: center; | ||
| 748 | justify-content: center; | ||
| 749 | } | ||
| 750 | .el-tab-pane { | ||
| 751 | width: 1190px; | ||
| 752 | height: 670px; | ||
| 753 | overflow-y: auto; | ||
| 754 | } | ||
| 755 | .zsys { | ||
| 756 | width: 1180px; | ||
| 757 | height: 670px; | ||
| 758 | } | ||
| 759 | /deep/.el-table { | ||
| 760 | height: 100px !important; | ||
| 761 | } | ||
| 762 | // /deep/.sz { | ||
| 763 | // height: 340px !important; | ||
| 764 | // } | ||
| 765 | .el-form { | ||
| 766 | margin-top: 20px; | ||
| 767 | } | ||
| 768 | </style> |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-07-24 14:07:02 | 4 | * @LastEditTime: 2023-10-27 16:12:06 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| ... | @@ -11,19 +11,19 @@ | ... | @@ -11,19 +11,19 @@ |
| 11 | <el-row> | 11 | <el-row> |
| 12 | <el-col :span="5"> | 12 | <el-col :span="5"> |
| 13 | <el-form-item label="企业名称" label-width="70px"> | 13 | <el-form-item label="企业名称" label-width="70px"> |
| 14 | <el-input placeholder="请输入企业名称" v-model="queryForm.qymc" clearable> | 14 | <el-input placeholder="请输入企业名称" v-model.trim="queryForm.qymc" clearable> |
| 15 | </el-input> | 15 | </el-input> |
| 16 | </el-form-item> | 16 | </el-form-item> |
| 17 | </el-col> | 17 | </el-col> |
| 18 | <el-col :span="5"> | 18 | <el-col :span="5"> |
| 19 | <el-form-item label="项目名称" label-width="70px"> | 19 | <el-form-item label="项目名称" label-width="70px"> |
| 20 | <el-input placeholder="请输入项目名称" v-model="queryForm.xmmc" clearable> | 20 | <el-input placeholder="请输入项目名称" v-model.trim="queryForm.xmmc" clearable> |
| 21 | </el-input> | 21 | </el-input> |
| 22 | </el-form-item> | 22 | </el-form-item> |
| 23 | </el-col> | 23 | </el-col> |
| 24 | <el-col :span="5"> | 24 | <el-col :span="5"> |
| 25 | <el-form-item label="自然幢号"> | 25 | <el-form-item label="自然幢号"> |
| 26 | <el-input placeholder="请输入自然幢号" v-model="queryForm.zrzh" clearable> | 26 | <el-input placeholder="请输入自然幢号" v-model.trim="queryForm.zrzh" clearable> |
| 27 | </el-input> | 27 | </el-input> |
| 28 | </el-form-item> | 28 | </el-form-item> |
| 29 | </el-col> | 29 | </el-col> |
| ... | @@ -89,7 +89,7 @@ | ... | @@ -89,7 +89,7 @@ |
| 89 | } | 89 | } |
| 90 | }) | 90 | }) |
| 91 | }, | 91 | }, |
| 92 | openDialog(){ | 92 | openDialog () { |
| 93 | this.$popup('楼盘表', 'lpb/index', { | 93 | this.$popup('楼盘表', 'lpb/index', { |
| 94 | width: '85%', | 94 | width: '85%', |
| 95 | formData: { | 95 | formData: { | ... | ... |
-
Please register or sign in to post a comment