Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev
Showing
71 changed files
with
367 additions
and
19895 deletions
1 | <!-- | ||
2 | * @Description: 功能:流程图 | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-17 10:40:57 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class='flowChart'> | ||
8 | <img :src="formData" alt=""> | ||
9 | </div> | ||
10 | </template> | ||
11 | <script> | ||
12 | |||
13 | export default { | ||
14 | props: { | ||
15 | formData: { | ||
16 | type: String, | ||
17 | default: '' | ||
18 | } | ||
19 | } | ||
20 | } | ||
21 | </script> | ||
22 | <style scoped lang="scss"> | ||
23 | @import "~@/styles/mixin.scss"; | ||
24 | |||
25 | .flowChart { | ||
26 | margin: 20px 0; | ||
27 | } | ||
28 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
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 addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | { | ||
53 | prop: "qllxmc", | ||
54 | label: "权利类型" | ||
55 | }, | ||
56 | { | ||
57 | prop: "bdcqzh", | ||
58 | label: "不动产权证号" | ||
59 | }, | ||
60 | { | ||
61 | prop: "qlrmc", | ||
62 | label: "权利人" | ||
63 | }, | ||
64 | { | ||
65 | prop: "qlrzjhm", | ||
66 | label: "证件号码" | ||
67 | }, | ||
68 | { | ||
69 | prop: "bdcdyh", | ||
70 | label: "不动产单元号" | ||
71 | }, | ||
72 | { | ||
73 | prop: "qlxzmc", | ||
74 | label: "权利性质" | ||
75 | }, | ||
76 | { | ||
77 | prop: "qlytmc", | ||
78 | label: "用途" | ||
79 | }, | ||
80 | { | ||
81 | prop: "qlmjmc", | ||
82 | label: "面积" | ||
83 | }, | ||
84 | { | ||
85 | prop: "zl", | ||
86 | label: "坐落" | ||
87 | }, | ||
88 | ], | ||
89 | column: this.qlrCommonTable | ||
90 | } | ||
91 | }, | ||
92 | watch: { | ||
93 | tableData: { | ||
94 | handler: function (val, oldVal) { | ||
95 | let that = this | ||
96 | if (val.length == 0 || !val) { | ||
97 | that.tableDataList = _.cloneDeep([{ | ||
98 | sqrmc: '', | ||
99 | dlrzjlx: '', | ||
100 | dlrzjh: '', | ||
101 | fr: '' | ||
102 | }]) | ||
103 | } else { | ||
104 | that.tableDataList = _.cloneDeep(val) | ||
105 | } | ||
106 | }, | ||
107 | immediate: true, | ||
108 | deep: true | ||
109 | }, | ||
110 | gyfs: { | ||
111 | handler (newVal, oldValue) { | ||
112 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
113 | if (newVal == '1') { | ||
114 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
115 | } else if ((newVal == '2')) { | ||
116 | this.column = dataList | ||
117 | } else { | ||
118 | this.column = _.cloneDeep(dataList) | ||
119 | this.column.splice( | ||
120 | 2, 0, { | ||
121 | prop: "qlbl", | ||
122 | label: "份数" | ||
123 | }) | ||
124 | } | ||
125 | }, | ||
126 | immediate: true | ||
127 | } | ||
128 | }, | ||
129 | methods: { | ||
130 | } | ||
131 | } | ||
132 | </script> | ||
133 | <style scoped lang='scss'> | ||
134 | /deep/.el-table th { | ||
135 | height: 30px !important; | ||
136 | } | ||
137 | /deep/.el-table--small .el-table__cell { | ||
138 | padding: 5px; | ||
139 | } | ||
140 | </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 addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | { | ||
53 | prop: "yg", | ||
54 | label: "原告" | ||
55 | }, | ||
56 | { | ||
57 | prop: "cfjg", | ||
58 | label: "查封机关" | ||
59 | }, | ||
60 | { | ||
61 | prop: "cfwh", | ||
62 | label: "查封文号" | ||
63 | }, | ||
64 | { | ||
65 | prop: "cfqssj", | ||
66 | label: "查封开始时间" | ||
67 | }, | ||
68 | { | ||
69 | prop: "cfjssj", | ||
70 | label: "查封结束时间" | ||
71 | }, | ||
72 | { | ||
73 | prop: "cflxmc", | ||
74 | label: "查封类型" | ||
75 | }, | ||
76 | { | ||
77 | prop: "ywrmc", | ||
78 | label: "被执行人" | ||
79 | }, | ||
80 | { | ||
81 | prop: "bcfzh", | ||
82 | label: "被查封证号" | ||
83 | }, | ||
84 | { | ||
85 | prop: "bdcdyh", | ||
86 | label: "不动产单元号" | ||
87 | }, | ||
88 | { | ||
89 | prop: "zl", | ||
90 | label: "坐落" | ||
91 | }, | ||
92 | |||
93 | |||
94 | ], | ||
95 | column: this.qlrCommonTable | ||
96 | } | ||
97 | }, | ||
98 | watch: { | ||
99 | tableData: { | ||
100 | handler: function (val, oldVal) { | ||
101 | let that = this | ||
102 | if (val.length == 0 || !val) { | ||
103 | that.tableDataList = _.cloneDeep([{ | ||
104 | sqrmc: '', | ||
105 | dlrzjlx: '', | ||
106 | dlrzjh: '', | ||
107 | fr: '' | ||
108 | }]) | ||
109 | } else { | ||
110 | that.tableDataList = _.cloneDeep(val) | ||
111 | } | ||
112 | }, | ||
113 | immediate: true, | ||
114 | deep: true | ||
115 | }, | ||
116 | gyfs: { | ||
117 | handler (newVal, oldValue) { | ||
118 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
119 | if (newVal == '1') { | ||
120 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
121 | } else if ((newVal == '2')) { | ||
122 | this.column = dataList | ||
123 | } else { | ||
124 | this.column = _.cloneDeep(dataList) | ||
125 | this.column.splice( | ||
126 | 2, 0, { | ||
127 | prop: "qlbl", | ||
128 | label: "份数" | ||
129 | }) | ||
130 | } | ||
131 | }, | ||
132 | immediate: true | ||
133 | } | ||
134 | }, | ||
135 | methods: { | ||
136 | } | ||
137 | } | ||
138 | </script> | ||
139 | <style scoped lang='scss'> | ||
140 | /deep/.el-table th { | ||
141 | height: 30px !important; | ||
142 | } | ||
143 | /deep/.el-table--small .el-table__cell { | ||
144 | padding: 5px; | ||
145 | } | ||
146 | </style> |
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 "../dialog/clxxAddDialog.vue"; | ||
63 | import clxxDetailDialog from "../dialog/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> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-19 10:15:07 | ||
5 | --> | ||
6 | <template> | ||
7 | <dialogBox title="新建材料信息" width="25%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit" | ||
8 | :isFullscreen="false"> | ||
9 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> | ||
10 | <el-row> | ||
11 | <el-col :span="24"> | ||
12 | <el-form-item label="材料类型" prop="cllx"> | ||
13 | <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择"> | ||
14 | <el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
15 | </el-option> | ||
16 | </el-select> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | </el-row> | ||
20 | <el-row :gutter="20"> | ||
21 | <el-col :span="24"> | ||
22 | <el-form-item label="材料名称" prop="clmc"> | ||
23 | <el-input v-model="ruleForm.clmc"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | </el-row> | ||
27 | <el-row :gutter="20"> | ||
28 | <el-col :span="24"> | ||
29 | <el-form-item | ||
30 | label="是否公共材料"> | ||
31 | <el-radio-group | ||
32 | v-model="ruleForm.sfggcl"> | ||
33 | <el-radio label="1">是</el-radio> | ||
34 | <el-radio label="0">否</el-radio> | ||
35 | </el-radio-group> | ||
36 | </el-form-item> | ||
37 | </el-col> | ||
38 | </el-row> | ||
39 | </el-form> | ||
40 | </dialogBox> | ||
41 | </template> | ||
42 | |||
43 | <script> | ||
44 | import { mapGetters } from "vuex"; | ||
45 | export default { | ||
46 | props: { | ||
47 | value: { type: Boolean, default: false }, | ||
48 | }, | ||
49 | data () { | ||
50 | return { | ||
51 | myValue: this.value, | ||
52 | ruleForm: { | ||
53 | cllx: "", | ||
54 | clmc: "", | ||
55 | sfggcl: "0" | ||
56 | }, | ||
57 | rules: { | ||
58 | cllx: [ | ||
59 | { required: true, message: '请选择材料类型', trigger: 'change' } | ||
60 | ], | ||
61 | clmc: [ | ||
62 | { required: true, message: '请输入材料名称', trigger: 'blur' } | ||
63 | ], | ||
64 | clbm: [ | ||
65 | { required: true, message: '请输入材料编码', trigger: 'blur' } | ||
66 | ] | ||
67 | } | ||
68 | } | ||
69 | }, | ||
70 | computed: { | ||
71 | ...mapGetters(["dictData"]), | ||
72 | }, | ||
73 | watch: { | ||
74 | value (val) { | ||
75 | this.myValue = val; | ||
76 | }, | ||
77 | }, | ||
78 | methods: { | ||
79 | /** | ||
80 | * @description: closeDialog | ||
81 | * @author: renchao | ||
82 | */ | ||
83 | closeDialog () { | ||
84 | this.$emit("input", false); | ||
85 | this.ruleForm = { | ||
86 | cllx: "", | ||
87 | clmc: "", | ||
88 | sfggcl: "0" | ||
89 | } | ||
90 | }, | ||
91 | /** | ||
92 | * @description: handleSubmit | ||
93 | * @author: renchao | ||
94 | */ | ||
95 | handleSubmit () { | ||
96 | this.$refs['ruleForm'].validate((valid) => { | ||
97 | if (valid) { | ||
98 | this.$parent.addSave(this.ruleForm); | ||
99 | this.ruleForm = { | ||
100 | cllx: "", | ||
101 | clmc: "", | ||
102 | sfggcl: "0" | ||
103 | } | ||
104 | this.$emit("input", false); | ||
105 | } else { | ||
106 | return false; | ||
107 | } | ||
108 | }) | ||
109 | } | ||
110 | } | ||
111 | }; | ||
112 | </script> | ||
113 | <style scoped lang="scss"> | ||
114 | .submit-button { | ||
115 | text-align: center; | ||
116 | height: 52px; | ||
117 | padding-top: 10px; | ||
118 | background-color: #fff; | ||
119 | } | ||
120 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-10-24 17:16:18 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clmlmx-box"> | ||
8 | <lb-table :column="column" :key="key" row-key="bsmSj" ref="listTable" :heightNumSetting="true" :calcHeight="600" | ||
9 | :pagination="false" :data="tableData"> | ||
10 | </lb-table> | ||
11 | <div class="text-center"> | ||
12 | <el-button @click="$popupCacel">取消</el-button> | ||
13 | <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button> | ||
14 | </div> | ||
15 | </div> | ||
16 | </template> | ||
17 | <script> | ||
18 | import Vue from 'vue' | ||
19 | import Sortable from 'sortablejs' | ||
20 | import store from '@/store/index.js' | ||
21 | import { updateClml } from "@/api/clxx.js"; | ||
22 | export default { | ||
23 | props: { | ||
24 | formData: { | ||
25 | type: Object, | ||
26 | default: () => { | ||
27 | return {} | ||
28 | } | ||
29 | } | ||
30 | }, | ||
31 | data () { | ||
32 | return { | ||
33 | loading: false, | ||
34 | sortable: null, | ||
35 | column: [ | ||
36 | { | ||
37 | prop: "isrequired", | ||
38 | label: "是否必选", | ||
39 | width: "80", | ||
40 | render: (h, scope) => { | ||
41 | if (scope.row.isrequired === "1") { | ||
42 | return ( | ||
43 | <div> | ||
44 | <span>必选</span> | ||
45 | </div> | ||
46 | ); | ||
47 | } | ||
48 | else { | ||
49 | return ( | ||
50 | <div> | ||
51 | <span>可选</span> | ||
52 | </div> | ||
53 | ) | ||
54 | } | ||
55 | } | ||
56 | }, | ||
57 | { | ||
58 | label: "材料名称", | ||
59 | render: (h, scope) => { | ||
60 | return ( | ||
61 | (this.formData.ableOperation && scope.row.sfxjcl == '1') ? | ||
62 | <el-input value={scope.row.sjmc} onInput={(val) => { scope.row.sjmc = val }}></el-input> : <span>{scope.row.sjmc}</span> | ||
63 | ) | ||
64 | } | ||
65 | }, | ||
66 | { | ||
67 | label: "材料类型", | ||
68 | width: "110", | ||
69 | render: (h, scope) => { | ||
70 | return ( | ||
71 | this.formData.ableOperation ? | ||
72 | <el-select value={scope.row.sjlx} | ||
73 | onChange={(val) => { scope.row.sjlx = val }}> | ||
74 | { | ||
75 | store.getters.dictData['A40'].map(option => { | ||
76 | return ( | ||
77 | <el-option label={option.dname} value={option.dcode}></el-option> | ||
78 | ) | ||
79 | }) | ||
80 | } | ||
81 | </el-select> : <span>{this.dicStatus(scope.row.sjlx, "A40")}</span> | ||
82 | ) | ||
83 | } | ||
84 | }, | ||
85 | { | ||
86 | prop: "sjsl", | ||
87 | label: "收件数量", | ||
88 | width: "80", | ||
89 | render: (h, scope) => { | ||
90 | return ( | ||
91 | (this.formData.ableOperation) ? | ||
92 | <el-input value={scope.row.sjsl} onInput={(val) => { scope.row.sjsl = val }}></el-input> : <span>{ | ||
93 | scope.row.sjsl | ||
94 | }</span> | ||
95 | ) | ||
96 | } | ||
97 | }, | ||
98 | { | ||
99 | label: "扫描时间", | ||
100 | width: "140", | ||
101 | render: (h, scope) => { | ||
102 | return ( | ||
103 | <span>{scope.row.sjsj}</span> | ||
104 | ) | ||
105 | } | ||
106 | }, | ||
107 | { | ||
108 | label: "页数", | ||
109 | width: "60", | ||
110 | render: (h, scope) => { | ||
111 | if (scope.row.ys && scope.row.ys > 0) { | ||
112 | return ( | ||
113 | <div> | ||
114 | <span>{scope.row.ys}</span> | ||
115 | </div> | ||
116 | ); | ||
117 | } else { | ||
118 | return ( | ||
119 | <div> | ||
120 | <span>0</span> | ||
121 | </div> | ||
122 | ); | ||
123 | } | ||
124 | }, | ||
125 | }, | ||
126 | { | ||
127 | label: "是否新建材料", | ||
128 | width: "80", | ||
129 | render: (h, scope) => { | ||
130 | if (scope.row.sfxjcl && scope.row.sfxjcl == '1') { | ||
131 | return ( | ||
132 | <span>是</span> | ||
133 | ); | ||
134 | } else { | ||
135 | return ( | ||
136 | <span>否</span> | ||
137 | ); | ||
138 | } | ||
139 | }, | ||
140 | }, | ||
141 | { | ||
142 | label: "操作", | ||
143 | width: "100", | ||
144 | render: (h, scope) => { | ||
145 | return ( | ||
146 | <el-button | ||
147 | type="text" | ||
148 | icon="el-icon-delete" | ||
149 | disabled={!(scope.row.ys == 0 && scope.row.sfxjcl == '1') || !this.formData.ableOperation} | ||
150 | onClick={() => { | ||
151 | this.handleDelete(scope.$index, scope.row); | ||
152 | }} | ||
153 | > | ||
154 | 删除 | ||
155 | </el-button> | ||
156 | ) | ||
157 | } | ||
158 | } | ||
159 | ], | ||
160 | key: 0, | ||
161 | tableData: [] | ||
162 | } | ||
163 | }, | ||
164 | watch: { | ||
165 | 'formData.data': { | ||
166 | handler: function (val, oldVal) { | ||
167 | this.tableData = _.cloneDeep(val) | ||
168 | }, | ||
169 | immediate: true, | ||
170 | deep: true | ||
171 | } | ||
172 | }, | ||
173 | mounted () { | ||
174 | this.initSort() | ||
175 | }, | ||
176 | beforeDestroy () { | ||
177 | if (this.sortable) { | ||
178 | this.sortable.destroy(); | ||
179 | } | ||
180 | }, | ||
181 | methods: { | ||
182 | handleSubmit () { | ||
183 | this.loading = true | ||
184 | store.dispatch('user/reWorkFresh', false) | ||
185 | updateClml(this.tableData, this.formData.bsmSldy, Vue.prototype.$currentRoute.query.bsmSlsq).then(res => { | ||
186 | this.loading = false | ||
187 | if (res.code == 200) { | ||
188 | this.$message({ | ||
189 | message: '保存成功', | ||
190 | type: 'success' | ||
191 | }) | ||
192 | this.$popupCacel() | ||
193 | store.dispatch('user/reWorkFresh', true) | ||
194 | } | ||
195 | }).catch(() => { | ||
196 | this.loading = false | ||
197 | }) | ||
198 | }, | ||
199 | /** | ||
200 | * @description: 材料目录删除 | ||
201 | * @param {*} index | ||
202 | * @param {*} row | ||
203 | */ | ||
204 | handleDelete (index, row) { | ||
205 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
206 | confirmButtonText: '确定', | ||
207 | cancelButtonText: '取消', | ||
208 | type: 'warning' | ||
209 | }).then(() => { | ||
210 | this.tableData.splice(index, 1); | ||
211 | }).catch(() => { | ||
212 | this.$message({ | ||
213 | type: 'info', | ||
214 | message: '已取消删除' | ||
215 | }) | ||
216 | }) | ||
217 | }, | ||
218 | initSort () { | ||
219 | const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0] | ||
220 | this.sortable = Sortable.create(el, { | ||
221 | ghostClass: 'sortable-ghost', | ||
222 | setData: function (dataTransfer) { | ||
223 | dataTransfer.setData('Text', '') | ||
224 | }, | ||
225 | onEnd: evt => { | ||
226 | const targetRow = this.tableData.splice(evt.oldIndex, 1)[0]; | ||
227 | this.tableData.splice(evt.newIndex, 0, targetRow); | ||
228 | } | ||
229 | }) | ||
230 | }, | ||
231 | dicStatus (val, code) { | ||
232 | let data = store.getters.dictData[code], | ||
233 | name = '暂无' | ||
234 | if (data) { | ||
235 | data.map((item) => { | ||
236 | if (item.dcode == val) { | ||
237 | name = item.dname | ||
238 | } | ||
239 | }) | ||
240 | return name | ||
241 | } | ||
242 | } | ||
243 | } | ||
244 | } | ||
245 | </script> | ||
246 | <style scoped lang='scss'> | ||
247 | @import "~@/styles/mixin.scss"; | ||
248 | .clmlmx-box { | ||
249 | margin: 0 auto; | ||
250 | .title { | ||
251 | text-align: center; | ||
252 | height: 60px; | ||
253 | line-height: 60px; | ||
254 | border: 1px solid #dfe6ec; | ||
255 | font-size: 20px; | ||
256 | background: #81d3f81a; | ||
257 | margin-bottom: -1px; | ||
258 | } | ||
259 | } | ||
260 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-04 14:13:28 | ||
5 | --> | ||
6 | <template> | ||
7 | <lb-table :column="tableData.columns" heightNumSetting :pagination="false" :key="key" :data="tableData.data"> | ||
8 | </lb-table> | ||
9 | </template> | ||
10 | <script> | ||
11 | import { mapGetters } from 'vuex' | ||
12 | import { getSzRecordList } from "@/api/bdcqz.js"; | ||
13 | import table from "@/utils/mixin/table"; | ||
14 | import { szxxdatas } from "../../javascript/szxxdata"; | ||
15 | export default { | ||
16 | components: { | ||
17 | |||
18 | }, | ||
19 | mixins: [table], | ||
20 | computed: { | ||
21 | ...mapGetters(["dictData"]), | ||
22 | }, | ||
23 | props: { | ||
24 | formData: { | ||
25 | type: Object, | ||
26 | default: {} | ||
27 | } | ||
28 | }, | ||
29 | data () { | ||
30 | return { | ||
31 | key: 0, | ||
32 | dataIndex: 0, | ||
33 | dialog: false, | ||
34 | details: {}, | ||
35 | tableData: { | ||
36 | total: 0, | ||
37 | columns: szxxdatas.columns(), | ||
38 | data: [], | ||
39 | }, | ||
40 | } | ||
41 | }, | ||
42 | mounted () { | ||
43 | this.query() | ||
44 | }, | ||
45 | methods: { | ||
46 | /** | ||
47 | * @description: query | ||
48 | * @author: renchao | ||
49 | */ | ||
50 | query () { | ||
51 | getSzRecordList({ bsmBdcqz: this.formData.bsmBdcqz }).then(res => { | ||
52 | if (res.code == 200) { | ||
53 | this.tableData.data = res.result; | ||
54 | this.key++ | ||
55 | } | ||
56 | }) | ||
57 | } | ||
58 | } | ||
59 | } | ||
60 | </script> | ||
61 | <style scoped lang='scss'> | ||
62 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-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: 2024-02-06 13:23:36 | ||
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 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56); | ||
274 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 129, 97); | ||
275 | context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 129, 136); | ||
276 | |||
277 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
278 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
279 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 129, 223); | ||
280 | |||
281 | |||
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 | let lines6 = this.bdcqz.mj ? this.bdcqz.mj.split(' ') : []; | ||
287 | if (getByteLen(this.bdcqz.mj) > 37) { | ||
288 | lines6.forEach((line, index) => { | ||
289 | const y = 378 + (index * 27); // 每行文本的垂直位置 | ||
290 | let currentLine = ''; | ||
291 | let arr = []; | ||
292 | for (let word of line) { | ||
293 | const testLine = currentLine + word; | ||
294 | const lineWidth = context.measureText(testLine).width; | ||
295 | if (lineWidth <= 336) { | ||
296 | currentLine = testLine; | ||
297 | } else { | ||
298 | arr.push(currentLine); | ||
299 | currentLine = word; | ||
300 | } | ||
301 | } | ||
302 | arr.push(currentLine); | ||
303 | arr.forEach((line, index) => { | ||
304 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
305 | }) | ||
306 | }) | ||
307 | } else { | ||
308 | lines6.forEach((line, index) => { | ||
309 | const y = 386 + (index * 27); // 每行文本的垂直位置 | ||
310 | let currentLine = ''; | ||
311 | let arr = []; | ||
312 | for (let word of line) { | ||
313 | const testLine = currentLine + word; | ||
314 | const lineWidth = context.measureText(testLine).width; | ||
315 | if (lineWidth <= 336) { | ||
316 | currentLine = testLine; | ||
317 | } else { | ||
318 | arr.push(currentLine); | ||
319 | currentLine = word; | ||
320 | } | ||
321 | } | ||
322 | arr.push(currentLine); | ||
323 | arr.forEach((line, index) => { | ||
324 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
325 | }) | ||
326 | }) | ||
327 | } | ||
328 | // 权利其他状态 | ||
329 | const maxWidth = 332; // 最大宽度限制 | ||
330 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
331 | for (let i = 0; i < lines.length; i++) { | ||
332 | let num = Math.ceil(getByteLen(lines[i]) / 37) | ||
333 | if (getByteLen(lines[i]) > 37) { | ||
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 <= maxWidth) { | ||
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(line, 129, 495 + (29 * (i - 1)) + 4 * num + (index * 14)); // 调整行高 | ||
350 | }) | ||
351 | } else { | ||
352 | arr.forEach((line, index) => { | ||
353 | context.fillText(line, 129, 493 + (26 * (i - 1)) + (index * 14)); // 调整行高 | ||
354 | }) | ||
355 | } | ||
356 | } else { | ||
357 | if (i > 0) { | ||
358 | context.fillText(lines[i] ? lines[i] : '', 129, 500 + 4 * num + (29 * (i - 1))); | ||
359 | } else { | ||
360 | context.fillText(lines[i] ? lines[i] : '', 129, 505 + (27 * (i - 1))); | ||
361 | } | ||
362 | } | ||
363 | } | ||
364 | |||
365 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
366 | lines1.forEach((line, index) => { | ||
367 | const y = 100 + (index * 30); // 每行文本的垂直位置 | ||
368 | let currentLine = ''; | ||
369 | let arr = []; | ||
370 | for (let word of line) { | ||
371 | const testLine = currentLine + word; | ||
372 | const lineWidth = context.measureText(testLine).width; | ||
373 | if (lineWidth <= 395) { | ||
374 | currentLine = testLine; | ||
375 | } else { | ||
376 | arr.push(currentLine); | ||
377 | currentLine = word; | ||
378 | } | ||
379 | } | ||
380 | arr.push(currentLine); | ||
381 | arr.forEach((line, index) => { | ||
382 | context.fillText(line, 580, y + (index * 30)); // 调整行高 | ||
383 | }) | ||
384 | }) | ||
385 | let lines3 = this.bdcqz.syqx ? this.bdcqz.syqx.split(' ') : []; | ||
386 | if (getByteLen(this.bdcqz.syqx) > 37) { | ||
387 | lines3.forEach((line, index) => { | ||
388 | const y = 423 + (index * 27); // 每行文本的垂直位置 | ||
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 <= 330) { | ||
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 | } else { | ||
407 | lines3.forEach((line, index) => { | ||
408 | const y = 430 + (index * 27); // 每行文本的垂直位置 | ||
409 | let currentLine = ''; | ||
410 | let arr = []; | ||
411 | for (let word of line) { | ||
412 | const testLine = currentLine + word; | ||
413 | const lineWidth = context.measureText(testLine).width; | ||
414 | if (lineWidth <= 315) { | ||
415 | currentLine = testLine; | ||
416 | } else { | ||
417 | arr.push(currentLine); | ||
418 | currentLine = word; | ||
419 | } | ||
420 | } | ||
421 | arr.push(currentLine); | ||
422 | arr.forEach((line, index) => { | ||
423 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
424 | }) | ||
425 | }) | ||
426 | } | ||
427 | |||
428 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
429 | if (getByteLen(this.bdcqz.zl) > 37) { | ||
430 | lines2.forEach((line, index) => { | ||
431 | const y = 170 + (index * 20); // 每行文本的垂直位置 | ||
432 | let currentLine = ''; | ||
433 | let arr = []; | ||
434 | for (let word of line) { | ||
435 | const testLine = currentLine + word; | ||
436 | const lineWidth = context.measureText(testLine).width; | ||
437 | if (lineWidth <= 336) { | ||
438 | currentLine = testLine; | ||
439 | } else { | ||
440 | arr.push(currentLine); | ||
441 | currentLine = word; | ||
442 | } | ||
443 | } | ||
444 | arr.push(currentLine); | ||
445 | arr.forEach((line, index) => { | ||
446 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
447 | }) | ||
448 | }) | ||
449 | } else { | ||
450 | lines2.forEach((line, index) => { | ||
451 | const y = 180 + (index * 20); // 每行文本的垂直位置 | ||
452 | let currentLine = ''; | ||
453 | let arr = []; | ||
454 | for (let word of line) { | ||
455 | const testLine = currentLine + word; | ||
456 | const lineWidth = context.measureText(testLine).width; | ||
457 | if (lineWidth <= 336) { | ||
458 | currentLine = testLine; | ||
459 | } else { | ||
460 | arr.push(currentLine); | ||
461 | currentLine = word; | ||
462 | } | ||
463 | } | ||
464 | arr.push(currentLine); | ||
465 | arr.forEach((line, index) => { | ||
466 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
467 | }) | ||
468 | }) | ||
469 | } | ||
470 | } | ||
471 | image.src = this.imgSrc | ||
472 | }, | ||
473 | /** | ||
474 | * @description: 不动产证明 | ||
475 | * @author: renchao | ||
476 | */ | ||
477 | drawTextzmImage () { | ||
478 | function getByteLen (val) { | ||
479 | var len = 0; | ||
480 | if (!val) return len; | ||
481 | for (var i = 0; i < val.length; i++) { | ||
482 | var length = val.charCodeAt(i); | ||
483 | if (length >= 0 && length <= 128) { | ||
484 | len += 1; | ||
485 | } else { | ||
486 | len += 2; | ||
487 | } | ||
488 | } | ||
489 | return len; | ||
490 | } | ||
491 | |||
492 | const canvas = this.$refs.zm; | ||
493 | const context = canvas.getContext('2d'); | ||
494 | const image = new Image(); | ||
495 | image.onload = () => { | ||
496 | context.drawImage(image, 0, 0); | ||
497 | context.font = '18px 楷体'; | ||
498 | context.fillStyle = '#000000'; | ||
499 | // ysxlh | ||
500 | context.fillText(this.bdcqz.ysxlh ? this.bdcqz.ysxlh : '', 280, 712); | ||
501 | // djsj | ||
502 | if (this.bdcqz.djsj) { | ||
503 | let djsjList = this.bdcqz.djsj.split(' ')[0].split('/') | ||
504 | context.fillText(djsjList[0] ? djsjList[0] : '', 327, 580); | ||
505 | context.fillText(djsjList[1] ? djsjList[1] : '', 393, 580); | ||
506 | context.fillText(djsjList[2] ? djsjList[2] : '', 443, 580); | ||
507 | } | ||
508 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125); | ||
509 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125); | ||
510 | // context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 750, 125); | ||
511 | |||
512 | if (getByteLen(this.bdcqz.sxqc) > 14) { | ||
513 | const originalFont = context.font; | ||
514 | // 设置新的字体大小 | ||
515 | context.font = '14px 楷体'; // 替换为你想要的字体和大小 | ||
516 | // 绘制 bdcdyh | ||
517 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 725, 125); | ||
518 | // 恢复原始字体设置 | ||
519 | context.font = originalFont; | ||
520 | } else { | ||
521 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 755, 125); | ||
522 | } | ||
523 | |||
524 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123); | ||
525 | context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180); | ||
526 | // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
527 | // 权利人 | ||
528 | let qlrlines = this.bdcqz.qlr | ||
529 | if (getByteLen(this.bdcqz.qlr) > 32) { | ||
530 | let currentLine = ''; | ||
531 | let arr = []; | ||
532 | for (let word of qlrlines) { | ||
533 | const testLine = currentLine + word; | ||
534 | const lineWidth = context.measureText(testLine).width; | ||
535 | if (lineWidth <= 295) { | ||
536 | currentLine = testLine; | ||
537 | } else { | ||
538 | arr.push(currentLine); | ||
539 | currentLine = word; | ||
540 | } | ||
541 | } | ||
542 | arr.push(currentLine); // 将最后一行添加到数组 | ||
543 | // 绘制所有行 | ||
544 | for (let i = 0; i < arr.length; i++) { | ||
545 | context.fillText(arr[i], 775, 218 + i * 20); // lineHeight 为行高 | ||
546 | } | ||
547 | } else { | ||
548 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
549 | } | ||
550 | // 义务人 | ||
551 | // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
552 | |||
553 | let ywrlines = this.bdcqz.ywr | ||
554 | if (getByteLen(this.bdcqz.ywr) > 32) { | ||
555 | let currentLine = ''; | ||
556 | let arr = []; | ||
557 | for (let word of ywrlines) { | ||
558 | const testLine = currentLine + word; | ||
559 | const lineWidth = context.measureText(testLine).width; | ||
560 | if (lineWidth <= 295) { | ||
561 | currentLine = testLine; | ||
562 | } else { | ||
563 | arr.push(currentLine); | ||
564 | currentLine = word; | ||
565 | } | ||
566 | } | ||
567 | arr.push(currentLine); // 将最后一行添加到数组 | ||
568 | // 绘制所有行 | ||
569 | for (let i = 0; i < arr.length; i++) { | ||
570 | context.fillText(arr[i], 775, 268 + i * 20); // lineHeight 为行高 | ||
571 | } | ||
572 | } else { | ||
573 | context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
574 | } | ||
575 | |||
576 | |||
577 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
578 | if (getByteLen(this.bdcqz.zl) > 32) { | ||
579 | lines2.forEach((line, index) => { | ||
580 | const y = 315 + (index * 20); // 每行文本的垂直位置 | ||
581 | let currentLine = ''; | ||
582 | let arr = []; | ||
583 | for (let word of line) { | ||
584 | const testLine = currentLine + word; | ||
585 | const lineWidth = context.measureText(testLine).width; | ||
586 | if (lineWidth <= 295) { | ||
587 | currentLine = testLine; | ||
588 | } else { | ||
589 | arr.push(currentLine); | ||
590 | currentLine = word; | ||
591 | } | ||
592 | } | ||
593 | arr.push(currentLine); | ||
594 | arr.forEach((line, index) => { | ||
595 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
596 | }) | ||
597 | }) | ||
598 | } else { | ||
599 | lines2.forEach((line, index) => { | ||
600 | const y = 325 + (index * 20); // 每行文本的垂直位置 | ||
601 | let currentLine = ''; | ||
602 | let arr = []; | ||
603 | for (let word of line) { | ||
604 | const testLine = currentLine + word; | ||
605 | const lineWidth = context.measureText(testLine).width; | ||
606 | if (lineWidth <= 295) { | ||
607 | currentLine = testLine; | ||
608 | } else { | ||
609 | arr.push(currentLine); | ||
610 | currentLine = word; | ||
611 | } | ||
612 | } | ||
613 | arr.push(currentLine); | ||
614 | arr.forEach((line, index) => { | ||
615 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
616 | }) | ||
617 | }) | ||
618 | } | ||
619 | // bdcdyh | ||
620 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
621 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
622 | // 保存当前字体设置 | ||
623 | const originalFont = context.font; | ||
624 | // 设置新的字体大小 | ||
625 | context.font = '16px 楷体'; // 替换为你想要的字体和大小 | ||
626 | // 绘制 bdcdyh | ||
627 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373); | ||
628 | // 恢复原始字体设置 | ||
629 | context.font = originalFont; | ||
630 | // qlqtzk | ||
631 | function getByteLenBdcdy (val) { | ||
632 | var encoder = new TextEncoder('utf-8'); | ||
633 | return encoder.encode(val).length; | ||
634 | } | ||
635 | const maxWidth = 290; // 最大宽度限制 | ||
636 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
637 | let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43) | ||
638 | // 单独处理不动产单元号 | ||
639 | let linesBdcdy = lines[0] ? lines[0].split(' ') : []; | ||
640 | if (getByteLenBdcdy(lines[0]) > 43) { | ||
641 | linesBdcdy.forEach((line, index) => { | ||
642 | const y = 412 + (index * 17); // 每行文本的垂直位置 | ||
643 | let currentLine = ''; | ||
644 | let arr = []; | ||
645 | for (let word of line) { | ||
646 | const testLine = currentLine + word; | ||
647 | const lineWidth = context.measureText(testLine).width; | ||
648 | if (lineWidth <= maxWidth) { | ||
649 | currentLine = testLine; | ||
650 | } else { | ||
651 | arr.push(currentLine); | ||
652 | currentLine = word; | ||
653 | } | ||
654 | } | ||
655 | arr.push(currentLine); | ||
656 | arr.forEach((line, index) => { | ||
657 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
658 | }) | ||
659 | }) | ||
660 | } else { | ||
661 | linesBdcdy.forEach((line, index) => { | ||
662 | const y = 418 + (index * 17); // 每行文本的垂直位置 | ||
663 | let currentLine = ''; | ||
664 | let arr = []; | ||
665 | for (let word of line) { | ||
666 | const testLine = currentLine + word; | ||
667 | const lineWidth = context.measureText(testLine).width; | ||
668 | if (lineWidth <= maxWidth) { | ||
669 | currentLine = testLine; | ||
670 | } else { | ||
671 | arr.push(currentLine); | ||
672 | currentLine = word; | ||
673 | } | ||
674 | } | ||
675 | arr.push(currentLine); | ||
676 | arr.forEach((line, index) => { | ||
677 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
678 | }) | ||
679 | }) | ||
680 | } | ||
681 | |||
682 | for (let i = 1; i < lines.length; i++) { | ||
683 | let num = Math.ceil(getByteLen(lines[i]) / 32) | ||
684 | if (getByteLen(lines[i]) > 32) { | ||
685 | let currentLine = ''; | ||
686 | let arr = []; | ||
687 | for (let word of lines[i]) { | ||
688 | const testLine = currentLine + word; | ||
689 | const lineWidth = context.measureText(testLine).width; | ||
690 | if (lineWidth <= maxWidth) { | ||
691 | currentLine = testLine; | ||
692 | } else { | ||
693 | arr.push(currentLine); | ||
694 | currentLine = word; | ||
695 | } | ||
696 | } | ||
697 | arr.push(currentLine); | ||
698 | if (i > 0) { | ||
699 | arr.forEach((line, index) => { | ||
700 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
701 | }) | ||
702 | } else { | ||
703 | arr.forEach((line, index) => { | ||
704 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
705 | }) | ||
706 | } | ||
707 | } else { | ||
708 | if (i > 0) { | ||
709 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1))); | ||
710 | } else { | ||
711 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1))); | ||
712 | } | ||
713 | } | ||
714 | } | ||
715 | // fj | ||
716 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
717 | for (let i = 0; i < lines1.length; i++) { | ||
718 | let num = Math.ceil(getByteLen(lines1[i]) / 37) | ||
719 | if (getByteLen(lines1[i]) > 37) { | ||
720 | let currentLine = ''; | ||
721 | let arr = []; | ||
722 | for (let word of lines1[i]) { | ||
723 | const testLine = currentLine + word; | ||
724 | const lineWidth = context.measureText(testLine).width; | ||
725 | if (lineWidth <= maxWidth) { | ||
726 | currentLine = testLine; | ||
727 | } else { | ||
728 | arr.push(currentLine); | ||
729 | currentLine = word; | ||
730 | } | ||
731 | } | ||
732 | arr.push(currentLine); | ||
733 | if (i > 0) { | ||
734 | arr.forEach((line, index) => { | ||
735 | context.fillText(line, 770, 605 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
736 | }) | ||
737 | } else { | ||
738 | arr.forEach((line, index) => { | ||
739 | context.fillText(line, 770, 605 + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
740 | }) | ||
741 | } | ||
742 | } else { | ||
743 | if (i > 0) { | ||
744 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + 6 * num + (25 * (i - 1))); | ||
745 | } else { | ||
746 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + (25 * (i - 1))); | ||
747 | } | ||
748 | } | ||
749 | } | ||
750 | } | ||
751 | image.src = this.bdczmSrc; | ||
752 | }, | ||
753 | /** | ||
754 | * @description: 打印 | ||
755 | * @author: renchao | ||
756 | */ | ||
757 | handlePrint () { | ||
758 | let that = this | ||
759 | if (this.ruleForm.ysxlh == '') { | ||
760 | this.$message.error('请选择印刷序列号'); | ||
761 | return; | ||
762 | } | ||
763 | store.dispatch('user/reWorkFresh', false) | ||
764 | if (this.bdcqz.bdcqzlx == 1) { | ||
765 | if (this.activeTitle == 'title1') { | ||
766 | getPrintTemplateByCode({ tmpno: 'zsdy1' }).then(resInfo => { | ||
767 | if (resInfo.code == 200) { | ||
768 | //打开模板设计 | ||
769 | let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); | ||
770 | LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板 | ||
771 | console.log(that.bdcqz); | ||
772 | for (let key in that.bdcqz) { | ||
773 | LODOP.SET_PRINT_STYLEA(key, "CONTENT", that.bdcqz[key]); | ||
774 | } | ||
775 | LODOP.PREVIEW(); | ||
776 | } else { | ||
777 | that.$message.error(resInfo.message) | ||
778 | } | ||
779 | that.$popupCacel() | ||
780 | //刷新列表 | ||
781 | store.dispatch('user/reWorkFresh', true) | ||
782 | }) | ||
783 | } else { | ||
784 | getPrintTemplateByCode({ tmpno: 'zsdy' }).then(resInfo => { | ||
785 | if (resInfo.code == 200) { | ||
786 | //打开模板设计 | ||
787 | let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); | ||
788 | LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板 | ||
789 | |||
790 | that.bdcqz.bdcdyh1 = that.bdcqz.bdcdyh.slice(0, 6) + ' ' + that.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
791 | that.bdcqz.bdcdyh.slice(12, 19) + ' ' + that.bdcqz.bdcdyh.slice(19, that.bdcqz.bdcdyh.length) | ||
792 | //todo 调取后端接口获取数据 循环set | ||
793 | for (let key in that.bdcqz) { | ||
794 | LODOP.SET_PRINT_STYLEA(key, "CONTENT", that.bdcqz[key]); | ||
795 | } | ||
796 | LODOP.PREVIEW(); | ||
797 | } else { | ||
798 | that.$message.error(resInfo.message) | ||
799 | } | ||
800 | that.$popupCacel() | ||
801 | //刷新列表 | ||
802 | store.dispatch('user/reWorkFresh', true) | ||
803 | }) | ||
804 | } | ||
805 | } else { | ||
806 | getPrintTemplateByCode({ tmpno: 'zmdy' }).then(resInfo => { | ||
807 | if (resInfo.code == 200) { | ||
808 | //打开模板设计 | ||
809 | let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); | ||
810 | LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板 | ||
811 | |||
812 | // 年月日 | ||
813 | this.bdcqz.nian = this.bdcqz.djsj.split(' ')[0].split('/')[0] | ||
814 | this.bdcqz.yue = this.bdcqz.djsj.split(' ')[0].split('/')[1] | ||
815 | this.bdcqz.ri = this.bdcqz.djsj.split(' ')[0].split('/')[1] | ||
816 | this.bdcqz.bdcdyh1 = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
817 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
818 | //todo 调取后端接口获取数据 循环set | ||
819 | for (let key in this.bdcqz) { | ||
820 | LODOP.SET_PRINT_STYLEA(key, "CONTENT", this.bdcqz[key]); | ||
821 | } | ||
822 | LODOP.PREVIEW(); | ||
823 | } else { | ||
824 | this.$message.error(resInfo.message) | ||
825 | } | ||
826 | that.$popupCacel() | ||
827 | //刷新列表 | ||
828 | store.dispatch('user/reWorkFresh', true) | ||
829 | }) | ||
830 | } | ||
831 | }, | ||
832 | /** | ||
833 | * @description: 保存打印记录 | ||
834 | * @author: renchao | ||
835 | */ | ||
836 | handleSubmit () { | ||
837 | let that = this | ||
838 | if (this.ruleForm.ysxlh == '') { | ||
839 | this.$message.error('请选择印刷序列号'); | ||
840 | return; | ||
841 | } | ||
842 | store.dispatch('user/reWorkFresh', false) | ||
843 | this.ruleForm.bsmBdcqz = this.bdcqz.bsmBdcqz; | ||
844 | this.ruleForm.bdcqzlx = this.bdcqz.bdcqzlx; | ||
845 | this.ruleForm.szzh = this.bdcqz.bdcqzh; | ||
846 | this.bdcqz.ysxlh = this.ruleForm.ysxlh | ||
847 | certificate(this.ruleForm).then((res) => { | ||
848 | if (res.code === 200) { | ||
849 | that.$popupCacel() | ||
850 | this.handlePrint() | ||
851 | } else { | ||
852 | this.$message.error(res.message) | ||
853 | } | ||
854 | store.dispatch('user/reWorkFresh', true) | ||
855 | }) | ||
856 | } | ||
857 | } | ||
858 | } | ||
859 | </script> | ||
860 | <style scoped lang="scss"> | ||
861 | @import "~@/styles/mixin.scss"; | ||
862 | /deep/.el-tabs__nav-wrap::after { | ||
863 | display: none; | ||
864 | } | ||
865 | /deep/.el-tabs__header { | ||
866 | margin: 0; | ||
867 | } | ||
868 | /deep/.el-form-item--small.el-form-item { | ||
869 | margin-bottom: 0; | ||
870 | } | ||
871 | .zsdy-content { | ||
872 | height: 80vh; | ||
873 | overflow-y: scroll; | ||
874 | } | ||
875 | .zs-content { | ||
876 | text-align: center; | ||
877 | } | ||
878 | .invalid-diglog { | ||
879 | padding-bottom: 20px; | ||
880 | font-size: 16px; | ||
881 | font-weight: bold; | ||
882 | color: rgb(99, 99, 99); | ||
883 | |||
884 | .invalid-title { | ||
885 | display: flex; | ||
886 | align-content: center; | ||
887 | |||
888 | .invalid-icon { | ||
889 | color: rgb(254, 148, 0); | ||
890 | font-size: 34px; | ||
891 | margin-right: 10px; | ||
892 | } | ||
893 | |||
894 | .invalid-body { | ||
895 | line-height: 40px; | ||
896 | margin-bottom: 10px; | ||
897 | } | ||
898 | } | ||
899 | |||
900 | .invalid-reson { | ||
901 | margin-bottom: 10px; | ||
902 | } | ||
903 | |||
904 | .dialog-footer { | ||
905 | margin-top: 10px; | ||
906 | display: flex; | ||
907 | justify-content: flex-end; | ||
908 | } | ||
909 | } | ||
910 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-19 14:45:09 | ||
5 | --> | ||
6 | <template> | ||
7 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> | ||
8 | <el-row> | ||
9 | <el-col :span="8"> | ||
10 | <el-form-item label="发证人姓名"> | ||
11 | <el-input v-model="ruleForm.fzrmc" disabled></el-input> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | <el-col :span="8"> | ||
15 | <el-form-item label="发证时间"> | ||
16 | <el-input v-model="ruleForm.fzsj" disabled></el-input> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | <el-col :span="8"> | ||
20 | <el-form-item label="发证数量"> | ||
21 | <el-input v-model="ruleForm.fzsl" disabled></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | </el-row> | ||
25 | <lb-table :column="tableData.columns" @row-dblclick="handleRowClick" ref="table" @selection-change="handleSelectionChange" | ||
26 | :data="tableData.data" | ||
27 | :pagination="false" | ||
28 | :calcHeight="300"> | ||
29 | </lb-table> | ||
30 | <el-row> | ||
31 | <el-col :span="3"> | ||
32 | <el-form-item label="身份证读卡器"> | ||
33 | <el-button type="text" icon="el-icon-tickets" @click="readClick">读取</el-button> | ||
34 | </el-form-item> | ||
35 | </el-col> | ||
36 | <el-col :span="5"> | ||
37 | <el-form-item label="领证人" prop="lzrxm" label-width="70px"> | ||
38 | <el-input v-model="ruleForm.lzrxm"></el-input> | ||
39 | </el-form-item> | ||
40 | </el-col> | ||
41 | <el-col :span="5"> | ||
42 | <el-form-item label="证件类型" prop="lzrzjlb" label-width="80px"> | ||
43 | <el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择"> | ||
44 | <el-option v-for="item in lzrzjlbData" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
45 | </el-option> | ||
46 | </el-select> | ||
47 | </el-form-item> | ||
48 | </el-col> | ||
49 | <el-col :span="5"> | ||
50 | <el-form-item label="证件号" prop="lzrzjh" label-width="70px"> | ||
51 | <el-input v-model="ruleForm.lzrzjh"></el-input> | ||
52 | </el-form-item> | ||
53 | </el-col> | ||
54 | <el-col :span="5"> | ||
55 | <el-form-item label="领证人电话" prop="lzrdh"> | ||
56 | <el-input v-model="ruleForm.lzrdh"></el-input> | ||
57 | </el-form-item> | ||
58 | </el-col> | ||
59 | </el-row> | ||
60 | <el-form-item class="text-center"> | ||
61 | <el-button @click="$popupCacel">取消</el-button> | ||
62 | <el-button type="primary" @click="handleSubmit">确定</el-button> | ||
63 | </el-form-item> | ||
64 | </el-form> | ||
65 | </template> | ||
66 | <script> | ||
67 | const checkPhone = (rule, value, callback) => { | ||
68 | let regPone = null | ||
69 | let mobile = /^(1[3456789]\d{9})$/ //手机号 | ||
70 | let tel = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/ // 座机 | ||
71 | if (value && value[0] === '0') {// 检查 value 是否存在并且不是 null 或者 undefined | ||
72 | regPone = tel | ||
73 | } else if (value && value[0] !== '0') { | ||
74 | regPone = mobile | ||
75 | } | ||
76 | if (regPone === null) { | ||
77 | return callback( | ||
78 | new Error('请输入电话') | ||
79 | ) | ||
80 | } else if (!regPone.test(value)) { | ||
81 | return callback( | ||
82 | new Error("请输入正确的电话格式,其中座机格式'区号-座机号码'") | ||
83 | ) | ||
84 | } else { | ||
85 | callback() | ||
86 | } | ||
87 | }; | ||
88 | import Vue from 'vue' | ||
89 | import store from '@/store/index.js' | ||
90 | import table from "@/utils/mixin/table"; | ||
91 | import { getIdCardInfo } from '@/utils/operation.js' | ||
92 | import { getUnclaimedBdcqz, issueCertificate, getBdcqzQlr } from "@/api/bdcqz.js"; | ||
93 | import { datas } from "../../javascript/fzxxdata"; | ||
94 | export default { | ||
95 | props: { | ||
96 | formData: { | ||
97 | type: Object, | ||
98 | default: () => { | ||
99 | return {} | ||
100 | } | ||
101 | } | ||
102 | }, | ||
103 | mixins: [table], | ||
104 | data () { | ||
105 | return { | ||
106 | lzrzjlbData: store.getters.dictData['A30'], | ||
107 | ruleForm: { | ||
108 | fzrmc: '', | ||
109 | fzsj: '', | ||
110 | fzsl: '', | ||
111 | bdcqzList: [], | ||
112 | lzrxm: '', | ||
113 | lzrzjlb: '', | ||
114 | lzrzjh: '', | ||
115 | lzrdh: '' | ||
116 | }, | ||
117 | rules: { | ||
118 | lzrxm: [ | ||
119 | { required: true, message: '请输入领证人', trigger: 'blur' } | ||
120 | ], | ||
121 | lzrzjlb: [ | ||
122 | { required: true, message: '请选择证件类型', trigger: 'change' } | ||
123 | ], | ||
124 | lzrzjh: [ | ||
125 | { required: true, message: '请输入证件号', trigger: 'blur' } | ||
126 | ], | ||
127 | lzrdh: [ | ||
128 | { required: true, validator: checkPhone, trigger: ["blur"] } | ||
129 | ] | ||
130 | }, | ||
131 | tableData: { | ||
132 | total: 0, | ||
133 | columns: datas.columns().lzgrid, | ||
134 | data: [] | ||
135 | } | ||
136 | } | ||
137 | }, | ||
138 | mounted () { | ||
139 | this.$nextTick(() => { | ||
140 | this.loadGrid() | ||
141 | }) | ||
142 | }, | ||
143 | methods: { | ||
144 | /** | ||
145 | * @description: 身份证打卡器 | ||
146 | * @author: renchao | ||
147 | */ | ||
148 | readClick () { | ||
149 | function getObjectByValue (arrayOfObjects, value) { | ||
150 | var name = '' | ||
151 | arrayOfObjects.forEach(item => { | ||
152 | if (item.dname.includes(value)) name = item.dcode | ||
153 | }) | ||
154 | return name | ||
155 | } | ||
156 | getIdCardInfo(this.BASE_API.gaopaiyi).then(res => { | ||
157 | if (this.BASE_API.gaopaiyi == 'jy') { | ||
158 | const { | ||
159 | Name, | ||
160 | IdNo, | ||
161 | } = JSON.parse(res) | ||
162 | if (Name) { | ||
163 | this.ruleForm.lzrxm = Name; | ||
164 | this.ruleForm.lzrzjlb = '1'; | ||
165 | this.ruleForm.lzrzjh = IdNo; | ||
166 | this.$message({ | ||
167 | message: '读取成功!', | ||
168 | type: 'success' | ||
169 | }) | ||
170 | } else { | ||
171 | this.$message({ | ||
172 | message: '请放置身份证', | ||
173 | type: 'warning' | ||
174 | }) | ||
175 | } | ||
176 | } else { | ||
177 | if (res.data.code == 0) { | ||
178 | let data = res.data.IDCardInfo | ||
179 | this.ruleForm.lzrxm = data.name | ||
180 | this.ruleForm.lzrzjlb = '1' | ||
181 | this.ruleForm.lzrzjh = data.cardID | ||
182 | this.$message({ | ||
183 | message: '读取成功!', | ||
184 | type: 'success' | ||
185 | }) | ||
186 | } else { | ||
187 | this.$message({ | ||
188 | message: res.data.message, | ||
189 | type: 'warning' | ||
190 | }) | ||
191 | } | ||
192 | } | ||
193 | }) | ||
194 | }, | ||
195 | /** | ||
196 | * @description: 列表初始化 | ||
197 | * @author: renchao | ||
198 | */ | ||
199 | loadGrid () { | ||
200 | let that = this | ||
201 | getUnclaimedBdcqz({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq }).then(res => { | ||
202 | if (res.code === 200) { | ||
203 | this.tableData.data = res.result.list; | ||
204 | this.$nextTick(() => { | ||
205 | this.tableData.data.forEach(item => { | ||
206 | that.$refs.table.toggleRowSelection(item) | ||
207 | }) | ||
208 | }) | ||
209 | this.ruleForm.fzrmc = res.result.fzrmc | ||
210 | this.ruleForm.fzsj = res.result.fzsj | ||
211 | this.ruleForm.fzsl = res.result.fzsl | ||
212 | this.ruleForm.bdcqzList = res.result.list; | ||
213 | res.result.list.length && this.getQlr(res.result.list[0].bsmBdcqz) | ||
214 | } | ||
215 | }) | ||
216 | }, | ||
217 | /** | ||
218 | * @description: 获取权利人信息 | ||
219 | * @author: renchao | ||
220 | */ | ||
221 | getQlr (bsmBdcqz) { | ||
222 | getBdcqzQlr(bsmBdcqz).then(res => { | ||
223 | if (res.code === 200) { | ||
224 | this.ruleForm.lzrxm = res.result.qlrmc; | ||
225 | this.ruleForm.lzrzjlb = res.result.zjzl; | ||
226 | this.ruleForm.lzrzjh = res.result.zjh; | ||
227 | this.ruleForm.lzrdh = res.result.dh; | ||
228 | } | ||
229 | }) | ||
230 | }, | ||
231 | /** | ||
232 | * @description: handleSelectionChange | ||
233 | * @param {*} val | ||
234 | * @author: renchao | ||
235 | */ | ||
236 | handleSelectionChange (val) { | ||
237 | this.ruleForm.bdcqzList = val | ||
238 | }, | ||
239 | /** | ||
240 | * @description: handleRowClick | ||
241 | * @param {*} row | ||
242 | * @author: renchao | ||
243 | */ | ||
244 | handleRowClick (row) { | ||
245 | this.$refs.table.toggleRowSelection(row) | ||
246 | }, | ||
247 | /** | ||
248 | * @description: handleSubmit | ||
249 | * @author: renchao | ||
250 | */ | ||
251 | handleSubmit () { | ||
252 | this.$refs.ruleForm.validate(valid => { | ||
253 | if (valid) { | ||
254 | issueCertificate(this.ruleForm).then(res => { | ||
255 | if (res.code == 200) { | ||
256 | this.$message.success('保存成功'); | ||
257 | //刷新列表 | ||
258 | store.dispatch('user/reWorkFresh', true) | ||
259 | this.$popupCacel() | ||
260 | } else { | ||
261 | this.$message.error(res.message) | ||
262 | } | ||
263 | }) | ||
264 | } else { | ||
265 | return false; | ||
266 | } | ||
267 | }) | ||
268 | } | ||
269 | } | ||
270 | } | ||
271 | </script> | ||
272 | <style scoped lang="scss"> | ||
273 | @import "~@/styles/mixin.scss"; | ||
274 | </style> | ||
275 | |||
276 |
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> |
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 | bsmBdcqz: '', | ||
74 | szzh: '', | ||
75 | ysxlh: '', | ||
76 | }, | ||
77 | } | ||
78 | }, | ||
79 | mounted () { | ||
80 | this.columns = datas.columns(); | ||
81 | if (this.formData.bdcqz) { | ||
82 | //从缮证进入 | ||
83 | this.bdcqz = this.formData.bdcqz | ||
84 | } else { | ||
85 | //从按钮进入 | ||
86 | this.getHeadTabBdcqz(); | ||
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 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 180, 56); | ||
202 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56); | ||
203 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 129, 97); | ||
204 | context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 129, 136); | ||
205 | |||
206 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
207 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
208 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 129, 223); | ||
209 | |||
210 | context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : '', 129, 263); | ||
211 | context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : '', 129, 303); | ||
212 | context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 129, 346); | ||
213 | // context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 129, 386); | ||
214 | let lines6 = this.bdcqz.mj ? this.bdcqz.mj.split(' ') : []; | ||
215 | if (getByteLen(this.bdcqz.mj) > 37) { | ||
216 | lines6.forEach((line, index) => { | ||
217 | const y = 378 + (index * 27); // 每行文本的垂直位置 | ||
218 | let currentLine = ''; | ||
219 | let arr = []; | ||
220 | for (let word of line) { | ||
221 | const testLine = currentLine + word; | ||
222 | const lineWidth = context.measureText(testLine).width; | ||
223 | if (lineWidth <= 330) { | ||
224 | currentLine = testLine; | ||
225 | } else { | ||
226 | arr.push(currentLine); | ||
227 | currentLine = word; | ||
228 | } | ||
229 | } | ||
230 | arr.push(currentLine); | ||
231 | arr.forEach((line, index) => { | ||
232 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
233 | }) | ||
234 | }) | ||
235 | } else { | ||
236 | lines6.forEach((line, index) => { | ||
237 | const y = 386 + (index * 27); // 每行文本的垂直位置 | ||
238 | let currentLine = ''; | ||
239 | let arr = []; | ||
240 | for (let word of line) { | ||
241 | const testLine = currentLine + word; | ||
242 | const lineWidth = context.measureText(testLine).width; | ||
243 | if (lineWidth <= 330) { | ||
244 | currentLine = testLine; | ||
245 | } else { | ||
246 | arr.push(currentLine); | ||
247 | currentLine = word; | ||
248 | } | ||
249 | } | ||
250 | arr.push(currentLine); | ||
251 | arr.forEach((line, index) => { | ||
252 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
253 | }) | ||
254 | }) | ||
255 | } | ||
256 | // 权利其他状态 | ||
257 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
258 | for (let i = 0; i < lines.length; i++) { | ||
259 | let num = Math.ceil(getByteLen(lines[i]) / 38) | ||
260 | if (getByteLen(lines[i]) > 37) { | ||
261 | let currentLine = ''; | ||
262 | let arr = []; | ||
263 | for (let word of lines[i]) { | ||
264 | const testLine = currentLine + word; | ||
265 | const lineWidth = context.measureText(testLine).width; | ||
266 | if (lineWidth <= 323) { | ||
267 | currentLine = testLine; | ||
268 | } else { | ||
269 | arr.push(currentLine); | ||
270 | currentLine = word; | ||
271 | } | ||
272 | } | ||
273 | arr.push(currentLine); | ||
274 | if (i > 0) { | ||
275 | arr.forEach((line, index) => { | ||
276 | context.fillText(line, 129, 495 + (29 * (i - 1)) + 4 * num + (index * 14)); // 调整行高 | ||
277 | }) | ||
278 | } else { | ||
279 | arr.forEach((line, index) => { | ||
280 | context.fillText(line, 129, 493 + (26 * (i - 1)) + (index * 14)); // 调整行高 | ||
281 | }) | ||
282 | } | ||
283 | } else { | ||
284 | if (i > 0) { | ||
285 | context.fillText(lines[i] ? lines[i] : '', 129, 500 + 4 * num + (29 * (i - 1))); | ||
286 | } else { | ||
287 | context.fillText(lines[i] ? lines[i] : '', 129, 505 + (27 * (i - 1))); | ||
288 | } | ||
289 | } | ||
290 | } | ||
291 | |||
292 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
293 | lines1.forEach((line, index) => { | ||
294 | const y = 100 + (index * 30); // 每行文本的垂直位置 | ||
295 | let currentLine = ''; | ||
296 | let arr = []; | ||
297 | for (let word of line) { | ||
298 | const testLine = currentLine + word; | ||
299 | const lineWidth = context.measureText(testLine).width; | ||
300 | if (lineWidth <= 395) { | ||
301 | currentLine = testLine; | ||
302 | } else { | ||
303 | arr.push(currentLine); | ||
304 | currentLine = word; | ||
305 | } | ||
306 | } | ||
307 | arr.push(currentLine); | ||
308 | arr.forEach((line, index) => { | ||
309 | context.fillText(line, 580, y + (index * 30)); // 调整行高 | ||
310 | }) | ||
311 | }) | ||
312 | let lines3 = this.bdcqz.syqx ? this.bdcqz.syqx.split(' ') : []; | ||
313 | if (getByteLen(this.bdcqz.syqx) > 37) { | ||
314 | lines3.forEach((line, index) => { | ||
315 | const y = 423 + (index * 27); // 每行文本的垂直位置 | ||
316 | let currentLine = ''; | ||
317 | let arr = []; | ||
318 | for (let word of line) { | ||
319 | const testLine = currentLine + word; | ||
320 | const lineWidth = context.measureText(testLine).width; | ||
321 | if (lineWidth <= 330) { | ||
322 | currentLine = testLine; | ||
323 | } else { | ||
324 | arr.push(currentLine); | ||
325 | currentLine = word; | ||
326 | } | ||
327 | } | ||
328 | arr.push(currentLine); | ||
329 | arr.forEach((line, index) => { | ||
330 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
331 | }) | ||
332 | }) | ||
333 | } else { | ||
334 | lines3.forEach((line, index) => { | ||
335 | const y = 430 + (index * 27); // 每行文本的垂直位置 | ||
336 | let currentLine = ''; | ||
337 | let arr = []; | ||
338 | for (let word of line) { | ||
339 | const testLine = currentLine + word; | ||
340 | const lineWidth = context.measureText(testLine).width; | ||
341 | if (lineWidth <= 315) { | ||
342 | currentLine = testLine; | ||
343 | } else { | ||
344 | arr.push(currentLine); | ||
345 | currentLine = word; | ||
346 | } | ||
347 | } | ||
348 | arr.push(currentLine); | ||
349 | arr.forEach((line, index) => { | ||
350 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
351 | }) | ||
352 | }) | ||
353 | } | ||
354 | |||
355 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
356 | if (getByteLen(this.bdcqz.zl) > 37) { | ||
357 | lines2.forEach((line, index) => { | ||
358 | const y = 170 + (index * 20); // 每行文本的垂直位置 | ||
359 | let currentLine = ''; | ||
360 | let arr = []; | ||
361 | for (let word of line) { | ||
362 | const testLine = currentLine + word; | ||
363 | const lineWidth = context.measureText(testLine).width; | ||
364 | if (lineWidth <= 336) { | ||
365 | currentLine = testLine; | ||
366 | } else { | ||
367 | arr.push(currentLine); | ||
368 | currentLine = word; | ||
369 | } | ||
370 | } | ||
371 | arr.push(currentLine); | ||
372 | arr.forEach((line, index) => { | ||
373 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
374 | }) | ||
375 | }) | ||
376 | } else { | ||
377 | lines2.forEach((line, index) => { | ||
378 | const y = 180 + (index * 20); // 每行文本的垂直位置 | ||
379 | let currentLine = ''; | ||
380 | let arr = []; | ||
381 | for (let word of line) { | ||
382 | const testLine = currentLine + word; | ||
383 | const lineWidth = context.measureText(testLine).width; | ||
384 | if (lineWidth <= 336) { | ||
385 | currentLine = testLine; | ||
386 | } else { | ||
387 | arr.push(currentLine); | ||
388 | currentLine = word; | ||
389 | } | ||
390 | } | ||
391 | arr.push(currentLine); | ||
392 | arr.forEach((line, index) => { | ||
393 | context.fillText(line, 129, y + (index * 20)); // 调整行高 | ||
394 | }) | ||
395 | }) | ||
396 | } | ||
397 | } | ||
398 | image.src = this.imgSrc | ||
399 | }, | ||
400 | /** | ||
401 | * @description: 不动产证明 | ||
402 | * @author: renchao | ||
403 | */ | ||
404 | drawTextzmImage () { | ||
405 | function getByteLen (val) { | ||
406 | var len = 0; | ||
407 | if (!val) return len; | ||
408 | for (var i = 0; i < val.length; i++) { | ||
409 | var length = val.charCodeAt(i); | ||
410 | if (length >= 0 && length <= 128) { | ||
411 | len += 1; | ||
412 | } else { | ||
413 | len += 2; | ||
414 | } | ||
415 | } | ||
416 | return len; | ||
417 | } | ||
418 | const canvas = this.$refs.zm; | ||
419 | const context = canvas.getContext('2d'); | ||
420 | const image = new Image(); | ||
421 | image.onload = () => { | ||
422 | context.drawImage(image, 0, 0); | ||
423 | context.font = '18px 楷体'; | ||
424 | context.fillStyle = '#000000'; | ||
425 | // ysxlh | ||
426 | context.fillText(this.bdcqz.ysxlh ? this.bdcqz.ysxlh : '', 280, 712); | ||
427 | // djsj | ||
428 | if (this.bdcqz.djsj) { | ||
429 | let djsjList = this.bdcqz.djsj.split(' ')[0].split('/') | ||
430 | context.fillText(djsjList[0] ? djsjList[0] : '', 327, 580); | ||
431 | context.fillText(djsjList[1] ? djsjList[1] : '', 393, 580); | ||
432 | context.fillText(djsjList[2] ? djsjList[2] : '', 443, 580); | ||
433 | } | ||
434 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125); | ||
435 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125); | ||
436 | if (getByteLen(this.bdcqz.sxqc) > 14) { | ||
437 | const originalFont = context.font; | ||
438 | // 设置新的字体大小 | ||
439 | context.font = '14px 楷体'; // 替换为你想要的字体和大小 | ||
440 | // 绘制 bdcdyh | ||
441 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 725, 125); | ||
442 | // 恢复原始字体设置 | ||
443 | context.font = originalFont; | ||
444 | } else { | ||
445 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 755, 125); | ||
446 | } | ||
447 | |||
448 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123); | ||
449 | context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180); | ||
450 | // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
451 | // 权利人 | ||
452 | let qlrlines = this.bdcqz.qlr | ||
453 | if (getByteLen(this.bdcqz.qlr) > 32) { | ||
454 | let currentLine = ''; | ||
455 | let arr = []; | ||
456 | for (let word of qlrlines) { | ||
457 | const testLine = currentLine + word; | ||
458 | const lineWidth = context.measureText(testLine).width; | ||
459 | if (lineWidth <= 295) { | ||
460 | currentLine = testLine; | ||
461 | } else { | ||
462 | arr.push(currentLine); | ||
463 | currentLine = word; | ||
464 | } | ||
465 | } | ||
466 | arr.push(currentLine); // 将最后一行添加到数组 | ||
467 | // 绘制所有行 | ||
468 | for (let i = 0; i < arr.length; i++) { | ||
469 | context.fillText(arr[i], 775, 218 + i * 20); // lineHeight 为行高 | ||
470 | } | ||
471 | } else { | ||
472 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); | ||
473 | } | ||
474 | |||
475 | // 义务人 | ||
476 | // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
477 | let ywrlines = this.bdcqz.ywr | ||
478 | if (getByteLen(this.bdcqz.ywr) > 32) { | ||
479 | let currentLine = ''; | ||
480 | let arr = []; | ||
481 | for (let word of ywrlines) { | ||
482 | const testLine = currentLine + word; | ||
483 | const lineWidth = context.measureText(testLine).width; | ||
484 | if (lineWidth <= 295) { | ||
485 | currentLine = testLine; | ||
486 | } else { | ||
487 | arr.push(currentLine); | ||
488 | currentLine = word; | ||
489 | } | ||
490 | } | ||
491 | arr.push(currentLine); // 将最后一行添加到数组 | ||
492 | // 绘制所有行 | ||
493 | for (let i = 0; i < arr.length; i++) { | ||
494 | context.fillText(arr[i], 775, 268 + i * 20); // lineHeight 为行高 | ||
495 | } | ||
496 | } else { | ||
497 | context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); | ||
498 | } | ||
499 | |||
500 | // context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325); | ||
501 | let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; | ||
502 | if (getByteLen(this.bdcqz.zl) > 32) { | ||
503 | lines2.forEach((line, index) => { | ||
504 | const y = 315 + (index * 20); // 每行文本的垂直位置 | ||
505 | let currentLine = ''; | ||
506 | let arr = []; | ||
507 | for (let word of line) { | ||
508 | const testLine = currentLine + word; | ||
509 | const lineWidth = context.measureText(testLine).width; | ||
510 | if (lineWidth <= 295) { | ||
511 | currentLine = testLine; | ||
512 | } else { | ||
513 | arr.push(currentLine); | ||
514 | currentLine = word; | ||
515 | } | ||
516 | } | ||
517 | arr.push(currentLine); | ||
518 | arr.forEach((line, index) => { | ||
519 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
520 | }) | ||
521 | }) | ||
522 | } else { | ||
523 | lines2.forEach((line, index) => { | ||
524 | const y = 325 + (index * 20); // 每行文本的垂直位置 | ||
525 | let currentLine = ''; | ||
526 | let arr = []; | ||
527 | for (let word of line) { | ||
528 | const testLine = currentLine + word; | ||
529 | const lineWidth = context.measureText(testLine).width; | ||
530 | if (lineWidth <= 295) { | ||
531 | currentLine = testLine; | ||
532 | } else { | ||
533 | arr.push(currentLine); | ||
534 | currentLine = word; | ||
535 | } | ||
536 | } | ||
537 | arr.push(currentLine); | ||
538 | arr.forEach((line, index) => { | ||
539 | context.fillText(line, 775, y + (index * 20)); // 调整行高 | ||
540 | }) | ||
541 | }) | ||
542 | } | ||
543 | |||
544 | // bdcdyh | ||
545 | this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' + | ||
546 | this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length) | ||
547 | // context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373); | ||
548 | // 保存当前字体设置 | ||
549 | const originalFont = context.font; | ||
550 | // 设置新的字体大小 | ||
551 | context.font = '16px 楷体'; // 替换为你想要的字体和大小 | ||
552 | // 绘制 bdcdyh | ||
553 | context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373); | ||
554 | // 恢复原始字体设置 | ||
555 | context.font = originalFont; | ||
556 | // qlqtzk | ||
557 | function getByteLenBdcdy (val) { | ||
558 | var encoder = new TextEncoder('utf-8'); | ||
559 | return encoder.encode(val).length; | ||
560 | } | ||
561 | const maxWidth = 295; // 最大宽度限制 | ||
562 | let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; | ||
563 | let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43) | ||
564 | // 单独处理不动产单元号 | ||
565 | let linesBdcdy = lines[0] ? lines[0].split(' ') : []; | ||
566 | if (getByteLenBdcdy(lines[0]) > 43) { | ||
567 | linesBdcdy.forEach((line, index) => { | ||
568 | const y = 412 + (index * 17); // 每行文本的垂直位置 | ||
569 | let currentLine = ''; | ||
570 | let arr = []; | ||
571 | for (let word of line) { | ||
572 | const testLine = currentLine + word; | ||
573 | const lineWidth = context.measureText(testLine).width; | ||
574 | if (lineWidth <= maxWidth) { | ||
575 | currentLine = testLine; | ||
576 | } else { | ||
577 | arr.push(currentLine); | ||
578 | currentLine = word; | ||
579 | } | ||
580 | } | ||
581 | arr.push(currentLine); | ||
582 | arr.forEach((line, index) => { | ||
583 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
584 | }) | ||
585 | }) | ||
586 | } else { | ||
587 | linesBdcdy.forEach((line, index) => { | ||
588 | const y = 418 + (index * 17); // 每行文本的垂直位置 | ||
589 | let currentLine = ''; | ||
590 | let arr = []; | ||
591 | for (let word of line) { | ||
592 | const testLine = currentLine + word; | ||
593 | const lineWidth = context.measureText(testLine).width; | ||
594 | if (lineWidth <= maxWidth) { | ||
595 | currentLine = testLine; | ||
596 | } else { | ||
597 | arr.push(currentLine); | ||
598 | currentLine = word; | ||
599 | } | ||
600 | } | ||
601 | arr.push(currentLine); | ||
602 | arr.forEach((line, index) => { | ||
603 | context.fillText(line, 770, y + (index * 17)); // 调整行高 | ||
604 | }) | ||
605 | }) | ||
606 | } | ||
607 | |||
608 | for (let i = 1; i < lines.length; i++) { | ||
609 | let num = Math.ceil(getByteLen(lines[i]) / 32) | ||
610 | if (getByteLen(lines[i]) > 32) { | ||
611 | let currentLine = ''; | ||
612 | let arr = []; | ||
613 | for (let word of lines[i]) { | ||
614 | const testLine = currentLine + word; | ||
615 | const lineWidth = context.measureText(testLine).width; | ||
616 | if (lineWidth <= maxWidth) { | ||
617 | currentLine = testLine; | ||
618 | } else { | ||
619 | arr.push(currentLine); | ||
620 | currentLine = word; | ||
621 | } | ||
622 | } | ||
623 | arr.push(currentLine); | ||
624 | if (i > 0) { | ||
625 | arr.forEach((line, index) => { | ||
626 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
627 | }) | ||
628 | } else { | ||
629 | arr.forEach((line, index) => { | ||
630 | context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
631 | }) | ||
632 | } | ||
633 | } else { | ||
634 | if (i > 0) { | ||
635 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1))); | ||
636 | } else { | ||
637 | context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1))); | ||
638 | } | ||
639 | } | ||
640 | } | ||
641 | // fj | ||
642 | let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n').filter(i => i && i.trim()) : []; | ||
643 | for (let i = 0; i < lines1.length; i++) { | ||
644 | let num = Math.ceil(getByteLen(lines1[i]) / 37) | ||
645 | if (getByteLen(lines1[i]) > 37) { | ||
646 | let currentLine = ''; | ||
647 | let arr = []; | ||
648 | for (let word of lines1[i]) { | ||
649 | const testLine = currentLine + word; | ||
650 | const lineWidth = context.measureText(testLine).width; | ||
651 | if (lineWidth <= maxWidth) { | ||
652 | currentLine = testLine; | ||
653 | } else { | ||
654 | arr.push(currentLine); | ||
655 | currentLine = word; | ||
656 | } | ||
657 | } | ||
658 | arr.push(currentLine); | ||
659 | if (i > 0) { | ||
660 | arr.forEach((line, index) => { | ||
661 | context.fillText(line, 770, 605 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 | ||
662 | }) | ||
663 | } else { | ||
664 | arr.forEach((line, index) => { | ||
665 | context.fillText(line, 770, 605 + (24 * (i - 1)) + (index * 17)); // 调整行高 | ||
666 | }) | ||
667 | } | ||
668 | } else { | ||
669 | if (i > 0) { | ||
670 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + 6 * num + (25 * (i - 1))); | ||
671 | } else { | ||
672 | context.fillText(lines1[i] ? lines1[i] : '', 770, 616 + (25 * (i - 1))); | ||
673 | } | ||
674 | } | ||
675 | } | ||
676 | } | ||
677 | |||
678 | image.src = this.bdczmSrc; | ||
679 | } | ||
680 | } | ||
681 | } | ||
682 | </script> | ||
683 | <style scoped lang="scss"> | ||
684 | @import "~@/styles/mixin.scss"; | ||
685 | /deep/.el-tabs__nav-wrap::after { | ||
686 | display: none; | ||
687 | } | ||
688 | /deep/.el-tabs__header { | ||
689 | margin: 0; | ||
690 | } | ||
691 | /deep/.el-form-item--small.el-form-item { | ||
692 | margin-bottom: 0; | ||
693 | } | ||
694 | /deep/.mask-content { | ||
695 | padding-top: 10px !important; | ||
696 | } | ||
697 | .imgClass { | ||
698 | display: inline-block; | ||
699 | height: auto; | ||
700 | max-width: 100%; | ||
701 | } | ||
702 | |||
703 | .middle_padding { | ||
704 | padding-bottom: 10px; | ||
705 | } | ||
706 | |||
707 | .zsyl-button { | ||
708 | text-align: center; | ||
709 | margin-top: 20px; | ||
710 | |||
711 | .operation_button { | ||
712 | width: 100px; | ||
713 | border: 1px solid rgb(0, 121, 254); | ||
714 | } | ||
715 | |||
716 | .dy-button { | ||
717 | color: white; | ||
718 | background-color: rgb(0, 121, 254); | ||
719 | } | ||
720 | } | ||
721 | |||
722 | .table-column { | ||
723 | border-spacing: 1px; | ||
724 | width: 100%; | ||
725 | |||
726 | tr td { | ||
727 | border: 1px solid #ccc; | ||
728 | text-align: center; | ||
729 | height: 40px; | ||
730 | padding: 4px; | ||
731 | font-size: 13px; | ||
732 | background: rgb(251, 249, 229); | ||
733 | } | ||
734 | } | ||
735 | |||
736 | .zsyl-title { | ||
737 | background: #fafbe5; | ||
738 | text-align: center; | ||
739 | padding: 5px 0px; | ||
740 | font-size: 20px; | ||
741 | } | ||
742 | |||
743 | .no-data { | ||
744 | font-size: 18px; | ||
745 | display: flex; | ||
746 | text-align: center; | ||
747 | justify-content: center; | ||
748 | } | ||
749 | </style> |
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 "../../javascript/szxxdatapart"; | ||
109 | import { datas } from "../../javascript/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 | <!-- | ||
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 addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | { | ||
53 | prop: "qlrmc", | ||
54 | label: "抵押权人" | ||
55 | }, | ||
56 | { | ||
57 | prop: "ywrmc", | ||
58 | label: "抵押人" | ||
59 | }, | ||
60 | { | ||
61 | prop: "bdcqzh", | ||
62 | label: "不动产登记证明号" | ||
63 | }, | ||
64 | { | ||
65 | prop: "dyjelx", | ||
66 | label: "抵押金额类型" | ||
67 | }, | ||
68 | { | ||
69 | prop: "dyfsmc", | ||
70 | label: "抵押方式" | ||
71 | }, | ||
72 | { | ||
73 | prop: "qdjgmc", | ||
74 | label: "抵押金额" | ||
75 | }, | ||
76 | { | ||
77 | prop: "qlmjmc", | ||
78 | label: "抵押面积" | ||
79 | }, | ||
80 | { | ||
81 | prop: "zwlxqssj", | ||
82 | label: "债务履行开始时间" | ||
83 | }, | ||
84 | { | ||
85 | prop: "zwlxjssj", | ||
86 | label: "债务履行结束时间" | ||
87 | }, | ||
88 | { | ||
89 | prop: "bdcdyh", | ||
90 | label: "不动产单元号" | ||
91 | }, | ||
92 | { | ||
93 | prop: "zl", | ||
94 | label: "坐落" | ||
95 | }, | ||
96 | |||
97 | |||
98 | ], | ||
99 | column: this.qlrCommonTable | ||
100 | } | ||
101 | }, | ||
102 | watch: { | ||
103 | tableData: { | ||
104 | handler: function (val, oldVal) { | ||
105 | let that = this | ||
106 | if (val.length == 0 || !val) { | ||
107 | that.tableDataList = _.cloneDeep([{ | ||
108 | sqrmc: '', | ||
109 | dlrzjlx: '', | ||
110 | dlrzjh: '', | ||
111 | fr: '' | ||
112 | }]) | ||
113 | } else { | ||
114 | that.tableDataList = _.cloneDeep(val) | ||
115 | } | ||
116 | }, | ||
117 | immediate: true, | ||
118 | deep: true | ||
119 | }, | ||
120 | gyfs: { | ||
121 | handler (newVal, oldValue) { | ||
122 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
123 | if (newVal == '1') { | ||
124 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
125 | } else if ((newVal == '2')) { | ||
126 | this.column = dataList | ||
127 | } else { | ||
128 | this.column = _.cloneDeep(dataList) | ||
129 | this.column.splice( | ||
130 | 2, 0, { | ||
131 | prop: "qlbl", | ||
132 | label: "份数" | ||
133 | }) | ||
134 | } | ||
135 | }, | ||
136 | immediate: true | ||
137 | } | ||
138 | }, | ||
139 | methods: { | ||
140 | } | ||
141 | } | ||
142 | </script> | ||
143 | <style scoped lang='scss'> | ||
144 | /deep/.el-table th { | ||
145 | height: 30px !important; | ||
146 | } | ||
147 | /deep/.el-table--small .el-table__cell { | ||
148 | padding: 5px; | ||
149 | } | ||
150 | </style> |
1 | <!-- | ||
2 | * @Description: 流程图 | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-07-25 09:26:01 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class='flowChart'> | ||
8 | <img :src="formData" alt=""> | ||
9 | </div> | ||
10 | </template> | ||
11 | <script> | ||
12 | export default { | ||
13 | props: { | ||
14 | formData: { | ||
15 | type: String, | ||
16 | default: '' | ||
17 | } | ||
18 | } | ||
19 | } | ||
20 | </script> | ||
21 | <style scoped lang="scss"> | ||
22 | @import "~@/styles/mixin.scss"; | ||
23 | |||
24 | .flowChart { | ||
25 | margin: 20px 0; | ||
26 | } | ||
27 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
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 "../javascript/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/components/dialog/zslq", {}, '80%', true) | ||
101 | } | ||
102 | } | ||
103 | } | ||
104 | </script> | ||
105 | <style scoped lang='scss'> | ||
106 | @import "~@/styles/public.scss"; | ||
107 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 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 | ||
163 | label="转入时间" | ||
164 | prop="createTime" | ||
165 | :formatter="formatDate" | ||
166 | width="160" | ||
167 | align="center" | ||
168 | /> | ||
169 | <el-table-column | ||
170 | label="认领时间" | ||
171 | prop="claimTime" | ||
172 | :formatter="formatDate" | ||
173 | width="160" | ||
174 | align="center" | ||
175 | /> | ||
176 | <el-table-column | ||
177 | label="转出时间" | ||
178 | prop="endTime" | ||
179 | :formatter="formatDate" | ||
180 | width="160" | ||
181 | align="center" | ||
182 | /> | ||
183 | <el-table-column label="操作方式" prop="controls" align="center" /> | ||
184 | <el-table-column label="意见" prop="idea" align="center" /> | ||
185 | </el-table> | ||
186 | </div> | ||
187 | </div> | ||
188 | </template> | ||
189 | <script> | ||
190 | import "@/styles/package/theme/index.scss"; | ||
191 | import BpmnViewer from "bpmn-js/lib/Viewer"; | ||
192 | import MoveCanvasModule from "diagram-js/lib/navigation/movecanvas"; | ||
193 | export default { | ||
194 | props: { | ||
195 | formData: { | ||
196 | type: Object, | ||
197 | default: {}, | ||
198 | }, | ||
199 | }, | ||
200 | data() { | ||
201 | return { | ||
202 | dlgTitle: undefined, | ||
203 | defaultZoom: 1, | ||
204 | // 是否正在加载流程图 | ||
205 | isLoading: true, | ||
206 | bpmnViewer: undefined, | ||
207 | // 已完成流程元素 | ||
208 | processNodeInfo: undefined, | ||
209 | // 当前任务id | ||
210 | selectTaskId: undefined, | ||
211 | // 任务节点审批记录 | ||
212 | taskList: [], | ||
213 | taskCommentList: [], | ||
214 | // 已完成任务悬浮延迟Timer | ||
215 | hoverTimer: null, | ||
216 | // 下拉 | ||
217 | selectValue: "", | ||
218 | selectOptions: [], | ||
219 | cutlinelist:[ | ||
220 | { | ||
221 | value: "完成节点", | ||
222 | color: "#4eb819", | ||
223 | backgroundColor :"rgba(78, 184, 25,0.2)" | ||
224 | }, | ||
225 | { | ||
226 | value: "当前节点", | ||
227 | color: "#409EFF", | ||
228 | backgroundColor :"rgba(64, 158, 255,0.2)" | ||
229 | }, | ||
230 | { | ||
231 | value: "挂起节点", | ||
232 | color: "#E6A23C", | ||
233 | backgroundColor :"rgba(230, 162, 60,0.2)" | ||
234 | }, | ||
235 | { | ||
236 | value: "阻塞节点", | ||
237 | color: "#F56C6C", | ||
238 | backgroundColor :"rgb(245, 108, 108,0.2)" | ||
239 | }, | ||
240 | { | ||
241 | value: "未激活节点", | ||
242 | color: "#000000", | ||
243 | backgroundColor :"none", | ||
244 | } | ||
245 | ], | ||
246 | }; | ||
247 | }, | ||
248 | created() { | ||
249 | this.$nextTick(() => { | ||
250 | // 获取流程记录 | ||
251 | this.getCommentList(); | ||
252 | this.setProcessStatus(this.formData.finishedInfo); | ||
253 | this.importXML(this.formData.xml); | ||
254 | }); | ||
255 | }, | ||
256 | destroyed() { | ||
257 | this.clearViewer(); | ||
258 | }, | ||
259 | methods: { | ||
260 | /** | ||
261 | * @description: formatDate | ||
262 | * @param {*} row | ||
263 | * @param {*} column | ||
264 | * @author: renchao | ||
265 | */ | ||
266 | formatDate(row, column) { | ||
267 | let data = row[column.property]; | ||
268 | if (data == null) { | ||
269 | return null; | ||
270 | } | ||
271 | let dt = new Date(data); | ||
272 | return ( | ||
273 | dt.getFullYear() + | ||
274 | "-" + | ||
275 | (dt.getMonth() + 1) + | ||
276 | "-" + | ||
277 | dt.getDate() + | ||
278 | " " + | ||
279 | dt.getHours() + | ||
280 | ":" + | ||
281 | dt.getMinutes() + | ||
282 | ":" + | ||
283 | dt.getSeconds() | ||
284 | ); | ||
285 | }, | ||
286 | /** | ||
287 | * @description: processReZoom | ||
288 | * @author: renchao | ||
289 | */ | ||
290 | processReZoom() { | ||
291 | this.defaultZoom = 1; | ||
292 | this.bpmnViewer.get("canvas").zoom("fit-viewport", "auto"); | ||
293 | }, | ||
294 | /** | ||
295 | * @description: processZoomIn | ||
296 | * @param {*} zoomStep | ||
297 | * @author: renchao | ||
298 | */ | ||
299 | processZoomIn(zoomStep = 0.1) { | ||
300 | const newZoom = Math.floor(this.defaultZoom * 100 + zoomStep * 100) / 100; | ||
301 | if (newZoom > 4) { | ||
302 | throw new Error( | ||
303 | "[Process Designer Warn ]: The zoom ratio cannot be greater than 4" | ||
304 | ); | ||
305 | } | ||
306 | this.defaultZoom = newZoom; | ||
307 | this.bpmnViewer.get("canvas").zoom(this.defaultZoom); | ||
308 | }, | ||
309 | /** | ||
310 | * @description: processZoomOut | ||
311 | * @param {*} zoomStep | ||
312 | * @author: renchao | ||
313 | */ | ||
314 | processZoomOut(zoomStep = 0.1) { | ||
315 | const newZoom = Math.floor(this.defaultZoom * 100 - zoomStep * 100) / 100; | ||
316 | if (newZoom < 0.2) { | ||
317 | throw new Error( | ||
318 | "[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2" | ||
319 | ); | ||
320 | } | ||
321 | this.defaultZoom = newZoom; | ||
322 | this.bpmnViewer.get("canvas").zoom(this.defaultZoom); | ||
323 | }, | ||
324 | /** | ||
325 | * @description: getOperationTagType | ||
326 | * @param {*} type | ||
327 | * @author: renchao | ||
328 | */ | ||
329 | getOperationTagType(type) { | ||
330 | return "success"; | ||
331 | }, | ||
332 | // 流程图预览清空 | ||
333 | /** | ||
334 | * @description: 流程图预览清空 | ||
335 | * @param {*} e | ||
336 | * @author: renchao | ||
337 | */ | ||
338 | clearViewer(a) { | ||
339 | if (this.$refs.processCanvas) { | ||
340 | this.$refs.processCanvas.innerHTML = ""; | ||
341 | } | ||
342 | if (this.bpmnViewer) { | ||
343 | this.bpmnViewer.destroy(); | ||
344 | } | ||
345 | this.bpmnViewer = null; | ||
346 | }, | ||
347 | // 添加自定义箭头 | ||
348 | /** | ||
349 | * @description: 添加自定义箭头 | ||
350 | * @author: renchao | ||
351 | */ | ||
352 | addCustomDefs() { | ||
353 | const canvas = this.bpmnViewer.get("canvas"); | ||
354 | const svg = canvas._svg; | ||
355 | const customSuccessDefs = this.$refs.customSuccessDefs; | ||
356 | const customFailDefs = this.$refs.customFailDefs; | ||
357 | svg.appendChild(customSuccessDefs); | ||
358 | svg.appendChild(customFailDefs); | ||
359 | }, | ||
360 | // 任务悬浮弹窗 | ||
361 | /** | ||
362 | * @description: 任务悬浮弹窗 | ||
363 | * @param {*} element | ||
364 | * @author: renchao | ||
365 | */ | ||
366 | onSelectElement(element) { | ||
367 | this.selectTaskId = undefined; | ||
368 | this.dlgTitle = undefined; | ||
369 | let allfinishedTaskSet = [ | ||
370 | ...this.processNodeInfo.finishedTaskSet, | ||
371 | ...this.processNodeInfo.unfinishedTaskSet, | ||
372 | ]; | ||
373 | if (this.processNodeInfo == null || allfinishedTaskSet == null) return; | ||
374 | if (element == null || allfinishedTaskSet.indexOf(element.id) === -1) { | ||
375 | return; | ||
376 | } | ||
377 | this.selectTaskId = element.id; | ||
378 | this.selectValue = element.id; | ||
379 | this.dlgTitle = element.businessObject | ||
380 | ? element.businessObject.name | ||
381 | : undefined; | ||
382 | // 计算当前悬浮任务审批记录,如果记录为空不显示弹窗 | ||
383 | this.taskCommentList = (this.taskList || []).filter((item) => { | ||
384 | return item.taskDefinitionKey === this.selectTaskId; | ||
385 | }); | ||
386 | if (this.taskCommentList.length == 0) { | ||
387 | this.taskCommentList = this.taskList; | ||
388 | } | ||
389 | }, | ||
390 | // 下拉列表切换 | ||
391 | /** | ||
392 | * @description: 下拉列表切换 | ||
393 | * @param {*} val | ||
394 | * @author: renchao | ||
395 | */ | ||
396 | handleSelect(val) { | ||
397 | this.taskCommentList = (this.taskList || []).filter((item) => { | ||
398 | return item.taskDefinitionKey === val; | ||
399 | }); | ||
400 | if (this.taskCommentList.length == 0) { | ||
401 | this.taskCommentList = this.taskList; | ||
402 | } | ||
403 | }, | ||
404 | // 显示流程图 | ||
405 | /** | ||
406 | * @description: 显示流程图 | ||
407 | * @param {*} xml | ||
408 | * @author: renchao | ||
409 | */ | ||
410 | async importXML(xml) { | ||
411 | let xmlData = this.$x2js.xml2js(xml).definitions.process; | ||
412 | this.selectOptions = xmlData.userTask.map((item) => { | ||
413 | return { value: item._id, label: item._name }; | ||
414 | }); | ||
415 | this.selectOptions = [ | ||
416 | { value: xmlData.startEvent._id, label: "浏览记录" }, | ||
417 | ...this.selectOptions, | ||
418 | ]; | ||
419 | this.selectOptions = this.selectOptions | ||
420 | .map((item) => { | ||
421 | if (this.formData.finishedInfo.finishedTaskSet.includes(item.value)) { | ||
422 | return item; | ||
423 | } | ||
424 | if ( | ||
425 | this.formData.finishedInfo.unfinishedTaskSet.includes(item.value) | ||
426 | ) { | ||
427 | return item; | ||
428 | } | ||
429 | }) | ||
430 | .filter(Boolean); | ||
431 | this.selectValue = xmlData.startEvent._id; | ||
432 | this.clearViewer("a"); | ||
433 | if (xml != null && xml !== "") { | ||
434 | try { | ||
435 | this.bpmnViewer = new BpmnViewer({ | ||
436 | additionalModules: [ | ||
437 | // 移动整个画布 | ||
438 | MoveCanvasModule, | ||
439 | ], | ||
440 | container: this.$refs.processCanvas, | ||
441 | }); | ||
442 | // 任务节点悬浮事件 | ||
443 | this.bpmnViewer.on("element.click", ({ element }) => { | ||
444 | this.onSelectElement(element); | ||
445 | }); | ||
446 | await this.bpmnViewer.importXML(xml); | ||
447 | this.isLoading = true; | ||
448 | this.addCustomDefs(); | ||
449 | } catch (e) { | ||
450 | this.clearViewer("b"); | ||
451 | } finally { | ||
452 | this.isLoading = false; | ||
453 | this.setProcessStatus(this.processNodeInfo); | ||
454 | this.$nextTick(() => { | ||
455 | this.processReZoom(); | ||
456 | }); | ||
457 | } | ||
458 | } | ||
459 | }, | ||
460 | // 获取流程记录 | ||
461 | /** | ||
462 | * @description: 获取流程记录 | ||
463 | * @author: renchao | ||
464 | */ | ||
465 | getCommentList() { | ||
466 | this.formData.allCommentList.forEach(async (item, index) => { | ||
467 | // item.comments.forEach(element => { | ||
468 | // if(element.type=="COMPLETE"){ | ||
469 | // this.formData.allCommentList[index].idea=element.message | ||
470 | // this.formData.allCommentList[index].controls="完成" | ||
471 | // } | ||
472 | // }); | ||
473 | let type = item.comments[item.comments.length - 1].type; | ||
474 | this.formData.allCommentList[index].idea = | ||
475 | item.comments[item.comments.length - 1].message; | ||
476 | // 操作方式 | ||
477 | let controls = ""; | ||
478 | // 正在办理 | ||
479 | // 已完结 | ||
480 | // 已退回 | ||
481 | switch (type) { | ||
482 | case "COMPLETE": | ||
483 | controls = "完成"; | ||
484 | break; | ||
485 | case "CLAIM": | ||
486 | controls = "完成"; | ||
487 | break; | ||
488 | case "ASSIGN": | ||
489 | controls = "转办"; | ||
490 | break; | ||
491 | case "DELEGATE": | ||
492 | controls = "委派"; | ||
493 | break; | ||
494 | case "UNCLAIM": | ||
495 | controls = "取消认领"; | ||
496 | break; | ||
497 | case "STOP": | ||
498 | controls = "终止"; | ||
499 | break; | ||
500 | case "BACK": | ||
501 | controls = "退回"; | ||
502 | break; | ||
503 | } | ||
504 | this.formData.allCommentList[index].controls = controls; | ||
505 | this.formData.allCommentList[index].agent = item.assignee.name; | ||
506 | }); | ||
507 | this.formData.handlinglist.forEach(async (item, index) => { | ||
508 | if (item.assignee.name) { | ||
509 | this.formData.handlinglist[index].agent = item.assignee.name; | ||
510 | } else { | ||
511 | let str = ""; | ||
512 | item.countersign.forEach((item) => { | ||
513 | str += item.name + ","; | ||
514 | }); | ||
515 | str = str.slice(0, -1); | ||
516 | this.formData.allCommentList[index].agent = str; | ||
517 | } | ||
518 | }); | ||
519 | this.taskList = [ | ||
520 | ...this.formData.allCommentList, | ||
521 | ...this.formData.handlinglist, | ||
522 | ]; | ||
523 | // this.taskList =this.formData.allCommentList; | ||
524 | // 处理数据之后赋值 | ||
525 | this.taskCommentList = this.taskList; | ||
526 | this.taskCommentList = this.taskCommentList.sort(this.sortDownDate); | ||
527 | }, | ||
528 | /** | ||
529 | * 时间排序函数 | ||
530 | * @description: formatDate | ||
531 | * @param {*} row | ||
532 | * @param {*} column | ||
533 | * @author: renchao | ||
534 | */ | ||
535 | |||
536 | sortDownDate(a, b) { | ||
537 | return Date.parse(a.createTime) - Date.parse(b.createTime); | ||
538 | }, | ||
539 | // 设置流程图元素状态 | ||
540 | /** | ||
541 | * @description: 设置流程图元素状态 | ||
542 | * @param {*} processNodeInfo | ||
543 | * @author: renchao | ||
544 | */ | ||
545 | setProcessStatus(processNodeInfo) { | ||
546 | this.processNodeInfo = processNodeInfo; | ||
547 | if ( | ||
548 | this.isLoading || | ||
549 | this.processNodeInfo == null || | ||
550 | this.bpmnViewer == null | ||
551 | ) | ||
552 | return; | ||
553 | const { | ||
554 | finishedTaskSet, | ||
555 | rejectedTaskSet, | ||
556 | unfinishedTaskSet, | ||
557 | finishedSequenceFlowSet, | ||
558 | } = this.processNodeInfo; | ||
559 | const canvas = this.bpmnViewer.get("canvas"); | ||
560 | const elementRegistry = this.bpmnViewer.get("elementRegistry"); | ||
561 | if (Array.isArray(finishedSequenceFlowSet)) { | ||
562 | finishedSequenceFlowSet.forEach((item) => { | ||
563 | if (item != null) { | ||
564 | canvas.addMarker(item, "success"); | ||
565 | const element = elementRegistry.get(item); | ||
566 | const conditionExpression = | ||
567 | element.businessObject.conditionExpression; | ||
568 | if (conditionExpression) { | ||
569 | canvas.addMarker(item, "condition-expression"); | ||
570 | } | ||
571 | } | ||
572 | }); | ||
573 | } | ||
574 | if (Array.isArray(finishedTaskSet)) { | ||
575 | finishedTaskSet.forEach((item) => canvas.addMarker(item, "success")); | ||
576 | } | ||
577 | if (Array.isArray(unfinishedTaskSet)) { | ||
578 | unfinishedTaskSet.forEach((item) => canvas.addMarker(item, "primary")); | ||
579 | } | ||
580 | if (Array.isArray(rejectedTaskSet)) { | ||
581 | rejectedTaskSet.forEach((item) => { | ||
582 | if (item != null) { | ||
583 | const element = elementRegistry.get(item); | ||
584 | if (element.type.includes("Task")) { | ||
585 | canvas.addMarker(item, "danger"); | ||
586 | } else { | ||
587 | canvas.addMarker(item, "warning"); | ||
588 | } | ||
589 | } | ||
590 | }); | ||
591 | } | ||
592 | }, | ||
593 | }, | ||
594 | }; | ||
595 | </script> | ||
596 | <style scoped lang="scss"> | ||
597 | .information-list { | ||
598 | height: 220px; | ||
599 | margin-top: 10px; | ||
600 | |||
601 | p { | ||
602 | font-size: 16px; | ||
603 | line-height: 24px; | ||
604 | } | ||
605 | } | ||
606 | /deep/.bjs-powered-by { | ||
607 | display: none; | ||
608 | } | ||
609 | // /deep/.information-list { | ||
610 | // height: 170px; | ||
611 | // overflow: visible; | ||
612 | // } | ||
613 | .cutline { | ||
614 | |||
615 | float: right; | ||
616 | width: 30%; | ||
617 | height: 30px; | ||
618 | display: flex; | ||
619 | margin-right: 30px; | ||
620 | justify-content: space-between; | ||
621 | .cutlines{ | ||
622 | line-height: 30px; | ||
623 | font-weight: 600; | ||
624 | margin-right: 50px; | ||
625 | } | ||
626 | .concent{ | ||
627 | line-height: 30px; | ||
628 | line-height: 14px; | ||
629 | text-align: center; | ||
630 | align-items: center; | ||
631 | margin: auto; | ||
632 | padding: 3px; | ||
633 | border-radius: 4px; | ||
634 | border:1px solid #fff; | ||
635 | } | ||
636 | |||
637 | } | ||
638 | </style> |
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 addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | // { | ||
53 | // prop: "bdcdyh", | ||
54 | // label: "不动产单元号" | ||
55 | // }, | ||
56 | { | ||
57 | prop: "zl", | ||
58 | label: "坐落" | ||
59 | }, | ||
60 | { | ||
61 | prop: "shbw", | ||
62 | label: "室号部位" | ||
63 | }, | ||
64 | { | ||
65 | prop: "fwxzmc", | ||
66 | label: "房屋性质" | ||
67 | }, | ||
68 | { | ||
69 | prop: "sjc", | ||
70 | label: "层号" | ||
71 | }, | ||
72 | { | ||
73 | prop: "jzmj", | ||
74 | label: "建筑面积" | ||
75 | }, | ||
76 | { | ||
77 | prop: "fwlxmc", | ||
78 | label: "房屋类型" | ||
79 | }, | ||
80 | { | ||
81 | prop: "showfwyt", | ||
82 | label: "房屋用途" | ||
83 | }, | ||
84 | { | ||
85 | prop: "showfwjg", | ||
86 | label: "房屋结构" | ||
87 | }, | ||
88 | ], | ||
89 | column: this.qlrCommonTable | ||
90 | } | ||
91 | }, | ||
92 | watch: { | ||
93 | tableData: { | ||
94 | handler: function (val, oldVal) { | ||
95 | let that = this; | ||
96 | if (val.length == 0 || !val) { | ||
97 | } else { | ||
98 | that.tableDataList = _.cloneDeep(val) | ||
99 | } | ||
100 | }, | ||
101 | immediate: true, | ||
102 | deep: true | ||
103 | }, | ||
104 | gyfs: { | ||
105 | handler (newVal, oldValue) { | ||
106 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
107 | if (newVal == '1') { | ||
108 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
109 | } else if ((newVal == '2')) { | ||
110 | this.column = dataList | ||
111 | } else { | ||
112 | this.column = _.cloneDeep(dataList) | ||
113 | this.column.splice( | ||
114 | 2, 0, { | ||
115 | prop: "qlbl", | ||
116 | label: "份数" | ||
117 | }) | ||
118 | } | ||
119 | }, | ||
120 | immediate: true | ||
121 | } | ||
122 | }, | ||
123 | methods: { | ||
124 | } | ||
125 | } | ||
126 | </script> | ||
127 | <style scoped lang="scss"> | ||
128 | /deep/.el-table th { | ||
129 | height: 30px !important; | ||
130 | } | ||
131 | /deep/.el-table--small .el-table__cell { | ||
132 | padding: 5px; | ||
133 | } | ||
134 | </style> | ||
135 |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-14 17:19:26 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="slxx sdqxx"> | ||
8 | <el-form | ||
9 | :model="ruleForm" | ||
10 | ref="ruleForm" | ||
11 | v-Loading="loading" | ||
12 | :label-position="flag ? 'top' : ''" | ||
13 | :inline="flag" | ||
14 | label-width="130px"> | ||
15 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
16 | <div class="slxx_title title-block"> | ||
17 | 电力信息 | ||
18 | <div class="triangle"></div> | ||
19 | </div> | ||
20 | <el-row :gutter="10"> | ||
21 | <el-col :span="8"> | ||
22 | <el-form-item label="服务代码:"> | ||
23 | <el-input v-model="ruleForm.serviceCode"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | <el-col :span="8"> | ||
27 | <el-form-item label="行政区划区县代码:"> | ||
28 | <el-input v-model="ruleForm.areacode"></el-input> | ||
29 | </el-form-item> | ||
30 | </el-col> | ||
31 | <el-col :span="8"> | ||
32 | <el-form-item label="登记系统业务号:"> | ||
33 | <el-input v-model="ruleForm.ywh"></el-input> | ||
34 | </el-form-item> | ||
35 | </el-col> | ||
36 | </el-row> | ||
37 | |||
38 | <el-row :gutter="10"> | ||
39 | <el-col :span="8"> | ||
40 | <el-form-item label="推送日期:"> | ||
41 | <el-input v-model="ruleForm.SENDTIME"></el-input> | ||
42 | </el-form-item> | ||
43 | </el-col> | ||
44 | <el-col :span="8"> | ||
45 | <el-form-item label="原户主姓名:"> | ||
46 | <el-input v-model="ruleForm.mcOld"></el-input> | ||
47 | </el-form-item> | ||
48 | </el-col> | ||
49 | <el-col :span="8"> | ||
50 | <el-form-item label="原户主身份证号码:"> | ||
51 | <el-input v-model="ruleForm.zjhmOld"></el-input> | ||
52 | </el-form-item> | ||
53 | </el-col> | ||
54 | </el-row> | ||
55 | <el-row :gutter="10"> | ||
56 | <el-col :span="8"> | ||
57 | <el-form-item label="原户主联系电话:"> | ||
58 | <el-input v-model="ruleForm.lxdhOld"></el-input> | ||
59 | </el-form-item> | ||
60 | </el-col> | ||
61 | <el-col :span="8"> | ||
62 | <el-form-item label="新户主姓名:"> | ||
63 | <el-input v-model="ruleForm.mcNew"></el-input> | ||
64 | </el-form-item> | ||
65 | </el-col> | ||
66 | <el-col :span="8"> | ||
67 | <el-form-item label="新户主身份证号码:"> | ||
68 | <el-input v-model="ruleForm.zjhmNew"></el-input> | ||
69 | </el-form-item> | ||
70 | </el-col> | ||
71 | </el-row> | ||
72 | <el-row :gutter="10"> | ||
73 | <el-col :span="8"> | ||
74 | <el-form-item label="新户主联系电话:"> | ||
75 | <el-input v-model="ruleForm.lxdhNew"></el-input> | ||
76 | </el-form-item> | ||
77 | </el-col> | ||
78 | <el-col :span="8"> | ||
79 | <el-form-item label="房产证编号:"> | ||
80 | <el-input v-model="ruleForm.fczbh"></el-input> | ||
81 | </el-form-item> | ||
82 | </el-col> | ||
83 | <el-col :span="8"> | ||
84 | <el-form-item label="是否过户:"> | ||
85 | <el-switch | ||
86 | v-model="ruleForm.sfgh" | ||
87 | :active-value='1' | ||
88 | active-text="是" | ||
89 | :inactive-value="0" | ||
90 | inactive-text="否"> | ||
91 | </el-switch> | ||
92 | </el-form-item> | ||
93 | </el-col> | ||
94 | |||
95 | </el-row> | ||
96 | <el-row :gutter="10"> | ||
97 | <el-col :span="24"> | ||
98 | <el-form-item label="房屋坐落(地址):"> | ||
99 | <el-input v-model="ruleForm.fwzl" type="textarea" | ||
100 | :rows="2"></el-input> | ||
101 | </el-form-item> | ||
102 | </el-col> | ||
103 | </el-row> | ||
104 | <el-row class="btn" v-if="viewEdit"> | ||
105 | <el-form-item> | ||
106 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
107 | </el-form-item> | ||
108 | </el-row> | ||
109 | </div> | ||
110 | </el-form> | ||
111 | </div> | ||
112 | </template> | ||
113 | <script> | ||
114 | import { mapGetters } from "vuex"; | ||
115 | import { getDlxxByBsmSldy, saveOrUpdateDlxx } from "@/api/sfxx.js"; | ||
116 | export default { | ||
117 | computed: { | ||
118 | ...mapGetters(["dictData", "flag"]), | ||
119 | }, | ||
120 | mounted () { | ||
121 | // this.loading = true | ||
122 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
123 | this.propsParam = this.$attrs; | ||
124 | var formdata = new FormData(); | ||
125 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
126 | formdata.append("djlx", this.propsParam.djlx); | ||
127 | formdata.append("isEdit", this.viewEdit); | ||
128 | console.log(this.propsParam) | ||
129 | this.getDlxxByBsmSldy() | ||
130 | }, | ||
131 | data () { | ||
132 | return { | ||
133 | loading: false, | ||
134 | //表单是否可操作 | ||
135 | viewEdit: false, | ||
136 | ruleForm: { | ||
137 | SFGH: 1 | ||
138 | } | ||
139 | } | ||
140 | }, | ||
141 | methods: { | ||
142 | getDlxxByBsmSldy() { | ||
143 | getDlxxByBsmSldy(this.propsParam.bsmSldy).then((res) => { | ||
144 | if (res.code === 200) { | ||
145 | if (res.result != null) { | ||
146 | this.ruleForm = res.result | ||
147 | } | ||
148 | } | ||
149 | }); | ||
150 | }, | ||
151 | saveOrUpdateDlxx() { | ||
152 | saveOrUpdateDlxx(this.ruleForm).then((res) => { | ||
153 | if (res.code === 200) { | ||
154 | this.$message.success("成功") | ||
155 | } | ||
156 | }); | ||
157 | }, | ||
158 | onSubmit () { | ||
159 | this.saveOrUpdateDlxx() | ||
160 | } | ||
161 | } | ||
162 | } | ||
163 | </script> | ||
164 | <style scoped lang="scss"> | ||
165 | @import "~@/styles/public.scss"; | ||
166 | @import "~@/styles/slxx/slxx.scss"; | ||
167 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-12-29 16:35:50 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class='sfxx'> | ||
8 | <div class="sfxx-left"> | ||
9 | <div class="slxx_title title-block"> | ||
10 | 基本信息 | ||
11 | <div class="triangle"></div> | ||
12 | </div> | ||
13 | <ul> | ||
14 | <li> | ||
15 | <p>业务号</p> | ||
16 | <p>{{detail.ywh}}</p> | ||
17 | </li> | ||
18 | <li> | ||
19 | <p>申请登记类型</p> | ||
20 | <p>{{detail.sqdjlx}}</p> | ||
21 | </li> | ||
22 | <li> | ||
23 | <p>联系人</p> | ||
24 | <p>{{detail.lxr}}</p> | ||
25 | </li> | ||
26 | <li> | ||
27 | <p>联系人电话</p> | ||
28 | <p>{{detail.lxdh}}</p> | ||
29 | </li> | ||
30 | <li> | ||
31 | <p>缴费人</p> | ||
32 | <p><el-input v-model="detail.jfr"></el-input></p> | ||
33 | </li> | ||
34 | <li> | ||
35 | <p>缴费单号</p> | ||
36 | <p><el-input v-model="detail.jfdh"></el-input></p> | ||
37 | </li> | ||
38 | <li> | ||
39 | <p>应收金额</p> | ||
40 | <p style="color:red">{{detail.ysje}}元</p> | ||
41 | </li> | ||
42 | <li> | ||
43 | <p>实收金额</p> | ||
44 | <p><el-input v-model="detail.ssje"></el-input></p> | ||
45 | </li> | ||
46 | <li> | ||
47 | <p>备注</p> | ||
48 | <p><el-input v-model="detail.bz"></el-input></p> | ||
49 | </li> | ||
50 | </ul> | ||
51 | </div> | ||
52 | <div class="sfxx-right"> | ||
53 | <div class="slxx_title title-block"> | ||
54 | 收费明细 | ||
55 | <!-- <div class="triangle"></div> --> | ||
56 | <el-button type="primary" @click="hanldeAdd" style="float:right;margin-top:-5px">增加</el-button> | ||
57 | </div> | ||
58 | <el-table :data="tableData.data" border :height="355"> | ||
59 | <el-table-column v-for="item in tableData.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center"> | ||
60 | </el-table-column> | ||
61 | <el-table-column label="操作" width="50"> | ||
62 | <template slot-scope="scope"> | ||
63 | <el-button type="text" @click="handleDelete(scope.row)">删除</el-button> | ||
64 | </template> | ||
65 | </el-table-column> | ||
66 | </el-table> | ||
67 | <div class="slxx_title title-block"> | ||
68 | 票据 | ||
69 | <div style="height:250px"> | ||
70 | <img src="../../../image/pj.jpg" alt="" style="height:100%"> | ||
71 | </div> | ||
72 | </div> | ||
73 | </div> | ||
74 | </div> | ||
75 | </template> | ||
76 | <script> | ||
77 | import { mapGetters } from "vuex"; | ||
78 | import { getSfmxList, deleteSfmx } from "@/api/sfxx.js"; | ||
79 | export default { | ||
80 | components: {}, | ||
81 | data () { | ||
82 | return { | ||
83 | detail: { | ||
84 | ywh: '', | ||
85 | sqdjlx: '', | ||
86 | lxr: '', | ||
87 | lxdh: '', | ||
88 | jfr: '', | ||
89 | jfdh: '', | ||
90 | ysje: '', | ||
91 | ssje: '', | ||
92 | bz: '' | ||
93 | }, | ||
94 | tableData: { | ||
95 | columns: [ | ||
96 | { | ||
97 | prop: "sfdw", | ||
98 | label: "收费单位", | ||
99 | }, | ||
100 | { | ||
101 | label: '是否额外收费', | ||
102 | align: 'center', | ||
103 | render: (h, scope) => { | ||
104 | return ( | ||
105 | <div> | ||
106 | {scope.row.sfewsf == '1' ? <span>是</span> : <span>否</span>} | ||
107 | </div> | ||
108 | ) | ||
109 | } | ||
110 | }, | ||
111 | { | ||
112 | prop: "sfry", | ||
113 | label: "收费人员", | ||
114 | }, | ||
115 | { | ||
116 | prop: "sfkmmc", | ||
117 | label: "收费科目名称", | ||
118 | }, | ||
119 | { | ||
120 | prop: "sjffr", | ||
121 | label: "实际付费人", | ||
122 | }, | ||
123 | { | ||
124 | prop: "ssje", | ||
125 | label: "实收金额", | ||
126 | }, | ||
127 | { | ||
128 | prop: "ysje", | ||
129 | label: "应收金额", | ||
130 | } | ||
131 | ], | ||
132 | data: [] | ||
133 | } | ||
134 | } | ||
135 | }, | ||
136 | computed: { | ||
137 | ...mapGetters(["workFresh"]), | ||
138 | }, | ||
139 | watch: { | ||
140 | workFresh: { | ||
141 | handler (newVal, oldVal) { | ||
142 | if (newVal) this.getList(); | ||
143 | }, | ||
144 | }, | ||
145 | }, | ||
146 | mounted () { | ||
147 | this.getList() | ||
148 | }, | ||
149 | methods: { | ||
150 | getList () { | ||
151 | let bsmBusiness = this.$route.query.bsmBusiness ? this.$route.query.bsmBusiness : window.currentSelect.bsmBusiness | ||
152 | getSfmxList(bsmBusiness).then(res => { | ||
153 | this.tableData.data = res.result | ||
154 | }) | ||
155 | }, | ||
156 | hanldeAdd () { | ||
157 | let bsmBusiness = this.$route.query.bsmBusiness ? this.$route.query.bsmBusiness : window.currentSelect.bsmBusiness | ||
158 | this.$popupDialog('新增', 'workflow/components/dialog/xzsf', { bsmBusiness: bsmBusiness }, '50%', true) | ||
159 | }, | ||
160 | handleDelete (row) { | ||
161 | let that = this | ||
162 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
163 | confirmButtonText: '确定', | ||
164 | cancelButtonText: '取消', | ||
165 | type: 'warning' | ||
166 | }).then(() => { | ||
167 | deleteSfmx(row.bsmSf).then(res => { | ||
168 | if (res.code == 200) { | ||
169 | that.$message({ | ||
170 | message: '删除成功!', | ||
171 | type: 'success' | ||
172 | }) | ||
173 | that.getList() | ||
174 | } else { | ||
175 | that.$message({ | ||
176 | type: 'info', | ||
177 | message: res.message | ||
178 | }) | ||
179 | } | ||
180 | }) | ||
181 | }).catch(() => { | ||
182 | this.$message({ | ||
183 | type: 'info', | ||
184 | message: '已取消删除' | ||
185 | }) | ||
186 | }) | ||
187 | |||
188 | } | ||
189 | } | ||
190 | } | ||
191 | </script> | ||
192 | <style scoped lang='scss'> | ||
193 | @import "~@/styles/public.scss"; | ||
194 | .sfxx { | ||
195 | display: flex; | ||
196 | padding: 10px; | ||
197 | height: 100%; | ||
198 | box-sizing: border-box; | ||
199 | &-left { | ||
200 | width: 50%; | ||
201 | margin-right: 10px; | ||
202 | ul { | ||
203 | border-radius: 3px; | ||
204 | } | ||
205 | li:last-child { | ||
206 | border-bottom: 1px solid #e8e5e5; | ||
207 | } | ||
208 | li { | ||
209 | display: flex; | ||
210 | border: 1px solid #e8e5e5; | ||
211 | border-bottom: none; | ||
212 | |||
213 | p:nth-child(1) { | ||
214 | width: 35%; | ||
215 | text-align: center; | ||
216 | background-color: #fafafa; | ||
217 | border-right: 1px solid #e8e5e5; | ||
218 | padding: 10px 0; | ||
219 | } | ||
220 | p:nth-child(2) { | ||
221 | width: 65%; | ||
222 | display: flex; | ||
223 | align-items: center; | ||
224 | box-sizing: border-box; | ||
225 | margin: 0 10px; | ||
226 | } | ||
227 | } | ||
228 | } | ||
229 | &-right { | ||
230 | width: 50%; | ||
231 | margin-left: 10px; | ||
232 | } | ||
233 | } | ||
234 | </style> |
1 | <!-- | ||
2 | * @Description: 审批意见 | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-26 08:45:07 | ||
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 | if (index == -1) { | ||
136 | switch (this.$parent.dqhj) { | ||
137 | case "cs": | ||
138 | this.tableData.push({ jdmc: "初审", jddm: "cs", sxh: 1 }); | ||
139 | break; | ||
140 | case "fs": | ||
141 | this.tableData.push({ jdmc: "复审", jddm: "fs", sxh: 2 }); | ||
142 | break; | ||
143 | case "hd": | ||
144 | this.tableData.push({ jdmc: "核定", jddm: "hd", sxh: 3 }); | ||
145 | break; | ||
146 | } | ||
147 | } | ||
148 | this.tableData.forEach((item) => { | ||
149 | item.show = true; | ||
150 | if (this.$parent.dqhj == item.jddm) { | ||
151 | item["stepid"] = this.$route.query.bestepid; | ||
152 | item.shjssj = getNewDatesh(); | ||
153 | item.shkssj = getNewDatesh(); | ||
154 | item["shryxm"] = this.userInfo.name; | ||
155 | item["userid"] = this.userInfo.id; | ||
156 | item.show = false; | ||
157 | } | ||
158 | }); | ||
159 | this.loading = false | ||
160 | } | ||
161 | }) | ||
162 | }, | ||
163 | /** | ||
164 | * @description: onSubmit | ||
165 | * @author: renchao | ||
166 | */ | ||
167 | onSubmit () { | ||
168 | |||
169 | this.tableData.forEach((item, index) => { | ||
170 | item["bsmBusiness"] = this.propsParam.bsmBusiness; | ||
171 | item["czjg"] = "1"; | ||
172 | }); | ||
173 | var index = this.tableData.findIndex( | ||
174 | (item) => item.shyj == null || item.shyj == "" | ||
175 | ); | ||
176 | if (index == -1) { | ||
177 | this.shows = true; | ||
178 | saveSpyjBySlsq(this.tableData).then((res) => { | ||
179 | if (res.code === 200) { | ||
180 | this.$message.success("保存成功"); | ||
181 | this.refresh += 1; | ||
182 | this.getShList(); | ||
183 | } else { | ||
184 | this.$message.error(res.message); | ||
185 | } | ||
186 | }); | ||
187 | } else { | ||
188 | this.$message.error("意见不能为空"); | ||
189 | } | ||
190 | |||
191 | }, | ||
192 | //打开常用意见列表弹窗 | ||
193 | /** | ||
194 | * @description: 打开常用意见列表弹窗 | ||
195 | * @param {*} index | ||
196 | * @author: renchao | ||
197 | */ | ||
198 | commonOpinion (index) { | ||
199 | this.currentindex = index; | ||
200 | this.$popupDialog( | ||
201 | "常用意见", | ||
202 | "workflow/components/dialog/commonOpinion", | ||
203 | {}, | ||
204 | "70%", | ||
205 | true | ||
206 | ); | ||
207 | }, | ||
208 | /** | ||
209 | * @description: add | ||
210 | * @param {*} val | ||
211 | * @author: renchao | ||
212 | */ | ||
213 | add (val) { | ||
214 | if (val != "" && this.tableData.length > 0) { | ||
215 | this.$set(this.tableData[this.currentindex], "shyj", val); | ||
216 | } | ||
217 | }, | ||
218 | }, | ||
219 | }; | ||
220 | </script> | ||
221 | <style scoped lang="scss"> | ||
222 | @import "~@/styles/mixin.scss"; | ||
223 | |||
224 | .spyj { | ||
225 | width: 100%; | ||
226 | height: 100%; | ||
227 | background-color: #f5f5f5; | ||
228 | .box { | ||
229 | overflow-x: auto; | ||
230 | width: 100%; | ||
231 | height: 95%; | ||
232 | background: #fff; | ||
233 | text-align: center; | ||
234 | padding: 4px; | ||
235 | overflow-y: scroll; | ||
236 | padding-top: 20px; | ||
237 | padding: 20px 40px; | ||
238 | .spyj_title { | ||
239 | width: 100%; | ||
240 | height: 80px; | ||
241 | border: 1px solid $borderColor; | ||
242 | background-color: #eceef2; | ||
243 | display: flex; | ||
244 | } | ||
245 | .leftadd { | ||
246 | width: 3%; | ||
247 | height: 100%; | ||
248 | display: flex; | ||
249 | font-size: 14px; | ||
250 | text-indent: 20px; | ||
251 | align-items: center; | ||
252 | border: 1px solid $borderColor; | ||
253 | } | ||
254 | .righttitle { | ||
255 | width: 80%; | ||
256 | height: 100%; | ||
257 | line-height: 80px; | ||
258 | border: 1px solid $borderColor; | ||
259 | margin: auto; | ||
260 | font-size: 22px; | ||
261 | font-weight: 400; | ||
262 | } | ||
263 | } | ||
264 | |||
265 | /deep/.el-form-item { | ||
266 | margin-bottom: 0; | ||
267 | } | ||
268 | |||
269 | .bottom10 { | ||
270 | margin-bottom: 15px; | ||
271 | } | ||
272 | |||
273 | .spyj_form { | ||
274 | display: flex; | ||
275 | border: 1px solid $borderColor; | ||
276 | |||
277 | .item_left { | ||
278 | width: 150px; | ||
279 | background-color: #f8f8fa; | ||
280 | color: #606266; | ||
281 | display: flex; | ||
282 | font-size: 14px; | ||
283 | text-indent: 50px; | ||
284 | align-items: center; | ||
285 | border-right: 1px solid $borderColor; | ||
286 | } | ||
287 | |||
288 | .item_right { | ||
289 | flex: 1; | ||
290 | width: 100%; | ||
291 | |||
292 | /deep/.el-form-item__label { | ||
293 | background-color: #f8f8fa; | ||
294 | } | ||
295 | /deep/.el-form-item__content { | ||
296 | display: block; | ||
297 | text-align: left; | ||
298 | } | ||
299 | .opinion_item { | ||
300 | /deep/.el-form-item__error { | ||
301 | margin-top: -16px !important; | ||
302 | left: 3px; | ||
303 | } | ||
304 | border-bottom: 1px solid $borderColor; | ||
305 | } | ||
306 | |||
307 | .opinion { | ||
308 | position: relative; | ||
309 | font-size: 14px; | ||
310 | |||
311 | /deep/.el-textarea__inner { | ||
312 | border: none; | ||
313 | } | ||
314 | } | ||
315 | |||
316 | .opinion_btn { | ||
317 | position: absolute; | ||
318 | right: 15px; | ||
319 | bottom: 10px; | ||
320 | } | ||
321 | } | ||
322 | } | ||
323 | |||
324 | .submit_button { | ||
325 | text-align: center; | ||
326 | margin: 15px 0; | ||
327 | } | ||
328 | |||
329 | .el-date-editor.el-input { | ||
330 | width: 100%; | ||
331 | } | ||
332 | } | ||
333 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-07-17 13:51:09 | ||
5 | --> | ||
6 | <template> | ||
7 | <lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableData"> | ||
8 | </lb-table> | ||
9 | </template> | ||
10 | <script> | ||
11 | import addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | width: '50', | ||
42 | renderHeader: (h, scope) => { | ||
43 | return <div> { | ||
44 | this.ableOperation ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }}></i> | ||
45 | } | ||
46 | </div> | ||
47 | }, | ||
48 | render: (h, scope) => { | ||
49 | return ( | ||
50 | <div> | ||
51 | { | ||
52 | this.ableOperation ? <span>{scope.$index + 1}</span> : | ||
53 | <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> | ||
54 | } | ||
55 | </div> | ||
56 | ) | ||
57 | } | ||
58 | }, | ||
59 | { | ||
60 | prop: "sqrmc", | ||
61 | label: "姓名/名称" | ||
62 | }, | ||
63 | { | ||
64 | prop: "zjzl", | ||
65 | label: "证件种类" | ||
66 | }, | ||
67 | { | ||
68 | prop: "zjh", | ||
69 | label: "证件号" | ||
70 | }, | ||
71 | { | ||
72 | prop: "dh", | ||
73 | label: "联系电话" | ||
74 | }, | ||
75 | { | ||
76 | prop: "frmc", | ||
77 | label: "法人" | ||
78 | }, | ||
79 | { | ||
80 | label: '操作', | ||
81 | render: (h, scope) => { | ||
82 | return ( | ||
83 | <div> | ||
84 | { | ||
85 | <el-button icon="el-icon-view" type="text" onClick={() => { this.handleView(scope.$index, scope.row) }}>查看</el-button> | ||
86 | } | ||
87 | </div> | ||
88 | ) | ||
89 | } | ||
90 | } | ||
91 | ], | ||
92 | column: this.qlrCommonTable | ||
93 | } | ||
94 | }, | ||
95 | watch: { | ||
96 | tableData: { | ||
97 | handler: function (val, oldVal) { | ||
98 | let that = this | ||
99 | if (val.length == 0 || !val) { | ||
100 | that.tableDataList = _.cloneDeep([{ | ||
101 | sqrmc: '', | ||
102 | dlrzjlx: '', | ||
103 | dlrzjh: '', | ||
104 | fr: '' | ||
105 | }]) | ||
106 | } else { | ||
107 | that.tableDataList = _.cloneDeep(val) | ||
108 | } | ||
109 | }, | ||
110 | immediate: true, | ||
111 | deep: true | ||
112 | }, | ||
113 | gyfs: { | ||
114 | handler (newVal, oldValue) { | ||
115 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
116 | if (newVal == '1') { | ||
117 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
118 | } else if ((newVal == '2')) { | ||
119 | this.column = dataList | ||
120 | } else { | ||
121 | this.column = _.cloneDeep(dataList) | ||
122 | this.column.splice( | ||
123 | 2, 0, { | ||
124 | prop: "qlbl", | ||
125 | label: "份数" | ||
126 | }) | ||
127 | } | ||
128 | }, | ||
129 | immediate: true | ||
130 | } | ||
131 | }, | ||
132 | methods: { | ||
133 | /** | ||
134 | * @description: updateDetail | ||
135 | * @param {*} value | ||
136 | * @author: renchao | ||
137 | */ | ||
138 | updateDetail (value) { | ||
139 | this.tableDataList[this.dataIndex] = value | ||
140 | this.key++ | ||
141 | this.$emit('upDateQlrxxList', this.tableDataList) | ||
142 | }, | ||
143 | // 添加 | ||
144 | /** | ||
145 | * @description: 添加 | ||
146 | * @author: renchao | ||
147 | */ | ||
148 | handleAdd () { | ||
149 | this.dialog = true | ||
150 | }, | ||
151 | // 减 | ||
152 | /** | ||
153 | * @description: 减 | ||
154 | * @param {*} index | ||
155 | * @param {*} row | ||
156 | * @author: renchao | ||
157 | */ | ||
158 | handleMinus (index, row) { | ||
159 | this.tableData.splice(index, 1) | ||
160 | }, | ||
161 | // 身份证读取 | ||
162 | /** | ||
163 | * @description: 身份证读取 | ||
164 | * @author: renchao | ||
165 | */ | ||
166 | readClick () { }, | ||
167 | // 修改 | ||
168 | /** | ||
169 | * @description: 修改 | ||
170 | * @param {*} index | ||
171 | * @param {*} row | ||
172 | * @author: renchao | ||
173 | */ | ||
174 | handleEdit (index, row) { | ||
175 | console.log(row, 'rowrowrowrowrow'); | ||
176 | this.dataIndex = index | ||
177 | this.dialog = true | ||
178 | this.details = row | ||
179 | }, | ||
180 | /** | ||
181 | * @description: handleView | ||
182 | * @author: renchao | ||
183 | */ | ||
184 | handleView () { | ||
185 | this.dialog = true | ||
186 | } | ||
187 | } | ||
188 | } | ||
189 | </script> | ||
190 | <style scoped lang="scss"> | ||
191 | /deep/.el-table th { | ||
192 | height: 30px !important; | ||
193 | } | ||
194 | /deep/.el-table--small .el-table__cell { | ||
195 | padding: 5px; | ||
196 | } | ||
197 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-27 08:51:13 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="from-clues"> | ||
8 | <div class="invalid-title"> | ||
9 | <i class="el-icon-question invalid-icon"></i> | ||
10 | <div class="invalid-body">您是否确定终止该业务办理?</div> | ||
11 | </div> | ||
12 | <div class="invalid-reson">退件原因:</div> | ||
13 | <el-input | ||
14 | v-model="stopMessage" | ||
15 | placeholder="请输入终止原因" | ||
16 | type="textarea" | ||
17 | :rows="4"></el-input> | ||
18 | <div style="overflow:hidden;text-align:center;margin-top:10px"> | ||
19 | <el-button @click="cancelBack">取消</el-button> | ||
20 | <el-button type="primary" @click="onSubmit">退件</el-button> | ||
21 | </div> | ||
22 | </div> | ||
23 | </template> | ||
24 | |||
25 | <script> | ||
26 | import { stopTask } from "@/api/workFlow.js"; | ||
27 | import { popupCacel } from "@/utils/popup.js"; | ||
28 | export default { | ||
29 | props: { | ||
30 | formData: { | ||
31 | type: Object, | ||
32 | default: {}, | ||
33 | }, | ||
34 | }, | ||
35 | data () { | ||
36 | return { | ||
37 | stopMessage: "", | ||
38 | }; | ||
39 | }, | ||
40 | methods: { | ||
41 | /** | ||
42 | * @description: onSubmit | ||
43 | * @author: renchao | ||
44 | */ | ||
45 | onSubmit () { | ||
46 | stopTask({ | ||
47 | bsmSlsq: this.formData.bsmSlsq, | ||
48 | bestepid: this.formData.bestepid, | ||
49 | stopMessage: this.stopMessage, | ||
50 | }).then((res) => { | ||
51 | this.$message.success("终止成功"); | ||
52 | setTimeout(() => { | ||
53 | // window.opener.location.reload(); //刷新父窗口 | ||
54 | if (window.opener && window.opener.getBpageList) { | ||
55 | window.opener.getBpageList(); | ||
56 | } else { | ||
57 | window.opener.frames[0].getBpageList(); | ||
58 | } | ||
59 | window.close(); | ||
60 | this.$emit("input", false); | ||
61 | }, 1000); | ||
62 | }); | ||
63 | }, | ||
64 | /** | ||
65 | * @description: closeDialog | ||
66 | * @author: renchao | ||
67 | */ | ||
68 | cancelBack () { | ||
69 | popupCacel(); | ||
70 | }, | ||
71 | }, | ||
72 | }; | ||
73 | </script> | ||
74 | <style scoped lang="scss"> | ||
75 | @import "~@/styles/mixin.scss"; | ||
76 | .invalid-title { | ||
77 | display: flex; | ||
78 | align-content: center; | ||
79 | |||
80 | .invalid-icon { | ||
81 | color: rgb(254, 148, 0); | ||
82 | font-size: 34px; | ||
83 | margin-right: 10px; | ||
84 | } | ||
85 | |||
86 | .invalid-body { | ||
87 | line-height: 40px; | ||
88 | margin-bottom: 10px; | ||
89 | } | ||
90 | } | ||
91 | |||
92 | .invalid-reson { | ||
93 | margin-bottom: 10px; | ||
94 | } | ||
95 | |||
96 | .dialog-footer { | ||
97 | margin-top: 10px; | ||
98 | display: flex; | ||
99 | justify-content: flex-end; | ||
100 | } | ||
101 | </style> |
1 | <template> | ||
2 | <div class="slxx swxx"> | ||
3 | <el-form | ||
4 | :model="ruleForm" | ||
5 | ref="ruleForm" | ||
6 | v-Loading="loading" | ||
7 | :label-position="flag ? 'top' : ''" | ||
8 | :inline="flag" | ||
9 | label-width="120px"> | ||
10 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
11 | <div class="slxx_title title-block"> | ||
12 | 不动产信息 | ||
13 | <div class="triangle"></div> | ||
14 | </div> | ||
15 | <el-row :gutter="10"> | ||
16 | <el-col :span="8"> | ||
17 | <el-form-item label="不动产单元号:"> | ||
18 | <el-input disabled v-model="ruleForm.bdcdyh"></el-input> | ||
19 | </el-form-item> | ||
20 | </el-col> | ||
21 | <el-col :span="8"> | ||
22 | <el-form-item label="原产证号:"> | ||
23 | <el-input disabled v-model="ruleForm.yfczh"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | <el-col :span="8"> | ||
27 | <el-form-item label="面积(m3):"> | ||
28 | <el-input disabled v-model="ruleForm.mj"></el-input> | ||
29 | </el-form-item> | ||
30 | </el-col> | ||
31 | </el-row> | ||
32 | <el-row :gutter="10"> | ||
33 | <el-col :span="8"> | ||
34 | <el-form-item label="权利类型:"> | ||
35 | <el-input disabled v-model="ruleForm.qllxmc"></el-input> | ||
36 | </el-form-item> | ||
37 | </el-col> | ||
38 | <el-col :span="8"> | ||
39 | <el-form-item label="用途:"> | ||
40 | <el-input disabled v-model="ruleForm.yt"></el-input> | ||
41 | </el-form-item> | ||
42 | </el-col> | ||
43 | <el-col :span="8"> | ||
44 | <el-form-item label="坐落:"> | ||
45 | <el-input disabled v-model="ruleForm.zl"></el-input> | ||
46 | </el-form-item> | ||
47 | </el-col> | ||
48 | </el-row> | ||
49 | <div class="slxx_title title-block"> | ||
50 | 买方信息 | ||
51 | <div class="triangle"></div> | ||
52 | </div> | ||
53 | <lb-table :column="column" :pagination="false" :heightNumSetting="true" | ||
54 | :data="ruleForm.tableDataList"> | ||
55 | </lb-table> | ||
56 | <div class="slxx_title title-block"> | ||
57 | 卖方信息 | ||
58 | <div class="triangle"></div> | ||
59 | </div> | ||
60 | <lb-table :column="column1" :pagination="false" :heightNumSetting="true" | ||
61 | :data="ruleForm.tableDataList"> | ||
62 | </lb-table> | ||
63 | <div class="slxx_title title-block"> | ||
64 | 合同信息 | ||
65 | <div class="triangle"></div> | ||
66 | </div> | ||
67 | <el-row :gutter="10"> | ||
68 | <el-col :span="8"> | ||
69 | <el-form-item label="合同编号:"> | ||
70 | <el-input v-model="ruleForm.htbh"></el-input> | ||
71 | </el-form-item> | ||
72 | </el-col> | ||
73 | <el-col :span="8"> | ||
74 | <el-form-item label="合同金额(万元):"> | ||
75 | <el-input v-model="ruleForm.htje"></el-input> | ||
76 | </el-form-item> | ||
77 | </el-col> | ||
78 | <el-col :span="8"> | ||
79 | <el-form-item label="签订时间:"> | ||
80 | <el-date-picker | ||
81 | class="width100" | ||
82 | v-model="ruleForm.qdsj" | ||
83 | type="date" | ||
84 | placeholder="选择日期" | ||
85 | value-format="yyyy-MM-dd HH:mm:ss" | ||
86 | format="yyyy-MM-dd"> | ||
87 | </el-date-picker> | ||
88 | </el-form-item> | ||
89 | </el-col> | ||
90 | </el-row> | ||
91 | <div class="slxx_title title-block"> | ||
92 | 缴税信息 | ||
93 | <div class="triangle"></div> | ||
94 | </div> | ||
95 | <lb-table :column="column2" :pagination="false" :heightNumSetting="true" | ||
96 | :data="ruleForm.tableDataList"> | ||
97 | </lb-table> | ||
98 | </div> | ||
99 | <el-row class="btn" v-if="viewEdit"> | ||
100 | <el-form-item> | ||
101 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
102 | </el-form-item> | ||
103 | </el-row> | ||
104 | </el-form> | ||
105 | </div> | ||
106 | </template> | ||
107 | <script> | ||
108 | import { mapGetters } from "vuex"; | ||
109 | export default { | ||
110 | computed: { | ||
111 | ...mapGetters(["dictData", "flag"]), | ||
112 | }, | ||
113 | mounted () { | ||
114 | // this.loading = true | ||
115 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
116 | this.propsParam = this.$attrs; | ||
117 | var formdata = new FormData(); | ||
118 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
119 | formdata.append("djlx", this.propsParam.djlx); | ||
120 | formdata.append("isEdit", this.viewEdit); | ||
121 | // Init(formdata).then((res) => { | ||
122 | // if (res.code === 200 && res.result) { | ||
123 | // } | ||
124 | // }); | ||
125 | }, | ||
126 | data () { | ||
127 | return { | ||
128 | loading: false, | ||
129 | //表单是否可操作 | ||
130 | viewEdit: false, | ||
131 | column: [ | ||
132 | { | ||
133 | prop: "qlrxm", | ||
134 | label: "权利人姓名" | ||
135 | }, | ||
136 | { | ||
137 | prop: "gyqk", | ||
138 | label: "共有情况" | ||
139 | }, | ||
140 | { | ||
141 | prop: "zjzl", | ||
142 | label: "身份证号种类" | ||
143 | }, | ||
144 | { | ||
145 | prop: "zjhm", | ||
146 | label: "证件号码" | ||
147 | }, | ||
148 | ], | ||
149 | column1: [{ | ||
150 | prop: "ywrxm", | ||
151 | label: "义务人姓名" | ||
152 | }, | ||
153 | { | ||
154 | prop: "zjzl", | ||
155 | label: "身份证号种类" | ||
156 | }, | ||
157 | { | ||
158 | prop: "zjhm", | ||
159 | label: "证件号码" | ||
160 | }], | ||
161 | column2: [{ | ||
162 | type: 'index', | ||
163 | label: "序号", | ||
164 | width: '50' | ||
165 | }, | ||
166 | { | ||
167 | prop: "nsr", | ||
168 | label: "纳税人" | ||
169 | }, | ||
170 | { | ||
171 | prop: "sz", | ||
172 | label: "税种" | ||
173 | }, | ||
174 | { | ||
175 | prop: "jsyj", | ||
176 | label: "计税依据" | ||
177 | }, | ||
178 | { | ||
179 | prop: "sl", | ||
180 | label: "税率" | ||
181 | }, | ||
182 | { | ||
183 | prop: "jsje", | ||
184 | label: "计税金额" | ||
185 | }], | ||
186 | ruleForm: { | ||
187 | tableDataList: [] | ||
188 | } | ||
189 | } | ||
190 | }, | ||
191 | methods: { | ||
192 | onSubmit () { } | ||
193 | } | ||
194 | } | ||
195 | </script> | ||
196 | <style scoped lang="scss"> | ||
197 | @import "~@/styles/public.scss"; | ||
198 | @import "~@/styles/slxx/slxx.scss"; | ||
199 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-30 15:46:45 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="szxx"> | ||
8 | <el-card | ||
9 | :class="classJudge(item)" | ||
10 | v-for="(item, index) in tableData" | ||
11 | :key="index"> | ||
12 | <div slot="header" class="szxx_header"> | ||
13 | <span class="header_type">{{ | ||
14 | item.bdcqzlx == 1 ? "不动产权证书" : "不动产登记证明" | ||
15 | }}</span> | ||
16 | <div class="header_text">{{ item.bdcqzh }}</div> | ||
17 | </div> | ||
18 | <div class="szxx_body card_padding"> | ||
19 | <div class="text color_iray"> | ||
20 | <span>{{ item.qllx }}</span> | ||
21 | </div> | ||
22 | <div class="text color_red"> | ||
23 | <span>{{ item.qlr }}</span><span class="color_iray">({{ item.qllx }})</span> | ||
24 | </div> | ||
25 | <div class="text color_iray"> | ||
26 | <span>{{ item.gyqk }}</span> | ||
27 | </div> | ||
28 | <div class="text color_red"> | ||
29 | <span>{{ item.bdcdyh }}</span> | ||
30 | </div> | ||
31 | <div class="text color_iray"> | ||
32 | <span>{{ item.zl }}</span> | ||
33 | </div> | ||
34 | <div class="text color_red"> | ||
35 | <span>{{ item.yt }}</span> | ||
36 | </div> | ||
37 | <div class="text color_iray"> | ||
38 | <span>{{ item.mj }}</span> | ||
39 | </div> | ||
40 | <div class="text color_red"> | ||
41 | <span>{{ item.syqx }}</span> | ||
42 | </div> | ||
43 | <div class="text color_iray"> | ||
44 | <span>印刷序列号:{{ item.ysxlh }}</span> | ||
45 | </div> | ||
46 | </div> | ||
47 | <div class="card_padding" v-if="viewEdit"> | ||
48 | <div class="top_line middle_margin"></div> | ||
49 | <div class="text tac" v-if="item.ysxlh"> | ||
50 | <el-button | ||
51 | class="operation_button" | ||
52 | type="text" | ||
53 | @click="openInvalidDiglog(item)">再次打印({{ item.szcs }})</el-button> | ||
54 | <el-button | ||
55 | class="operation_button" | ||
56 | type="text" | ||
57 | @click="openRecordPop(item)">缮证记录</el-button> | ||
58 | </div> | ||
59 | <div class="text tac" v-else> | ||
60 | <el-button | ||
61 | class="operation_button" | ||
62 | type="text" | ||
63 | @click="openZsylDialog(item, 2)">证书打印({{ item.szcs }})</el-button> | ||
64 | <el-button | ||
65 | class="operation_button" | ||
66 | type="text" | ||
67 | @click="openRecordPop(item)">缮证记录</el-button> | ||
68 | </div> | ||
69 | </div> | ||
70 | </el-card> | ||
71 | |||
72 | <el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty> | ||
73 | </div> | ||
74 | </template> | ||
75 | <script> | ||
76 | import { mapGetters } from "vuex"; | ||
77 | import store from "@/store/index.js"; | ||
78 | import { getSlsqBdcqzList } from "@/api/bdcqz.js"; | ||
79 | export default { | ||
80 | props: {}, | ||
81 | data () { | ||
82 | return { | ||
83 | //表单是否可操作 | ||
84 | viewEdit: false, | ||
85 | dialog: false, | ||
86 | tableData: [], | ||
87 | bdcqzlx: 1, | ||
88 | bdcqz: {}, | ||
89 | }; | ||
90 | }, | ||
91 | computed: { | ||
92 | ...mapGetters(["workFresh"]), | ||
93 | }, | ||
94 | watch: { | ||
95 | workFresh: { | ||
96 | handler (newVal, oldVal) { | ||
97 | if (newVal) this.list(); | ||
98 | }, | ||
99 | }, | ||
100 | }, | ||
101 | created () { | ||
102 | this.list(); | ||
103 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
104 | }, | ||
105 | methods: { | ||
106 | /** | ||
107 | * @description: 初始化列表 | ||
108 | * @author: renchao | ||
109 | */ | ||
110 | list () { | ||
111 | return new Promise((resolve, reject) => { | ||
112 | var bsmSlsq = this.$route.query.bsmSlsq; | ||
113 | getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => { | ||
114 | resolve(res.code); | ||
115 | if (res.code === 200) { | ||
116 | this.tableData = res.result; | ||
117 | if (res.result) { | ||
118 | this.bdcqz = res.result[0]; | ||
119 | } | ||
120 | } | ||
121 | }); | ||
122 | }); | ||
123 | }, | ||
124 | /** | ||
125 | * @description: 打开证书预览弹窗 | ||
126 | * @param {*} item | ||
127 | * @param {*} type | ||
128 | * @author: renchao | ||
129 | */ | ||
130 | openZsylDialog (item, type) { | ||
131 | store.dispatch("user/reWorkFresh", false); | ||
132 | if (type == 1) { | ||
133 | this.$popupDialog( | ||
134 | "证书证明预览", | ||
135 | "workflow/components/dialog/zsyl", | ||
136 | { bdcqz: item, bsmSlsq: this.$route.query.bsmSlsq }, | ||
137 | '1230px', | ||
138 | true | ||
139 | ); | ||
140 | } else { | ||
141 | this.$popupDialog( | ||
142 | "证书证明打印", | ||
143 | "workflow/components/dialog/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/components/dialog/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/components/dialog/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/components/th.vue
deleted
100644 → 0
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/components/zc.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-19 16:43:43 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="from-clues"> | ||
8 | <!-- 表单部分 --> | ||
9 | <div class="from-clues-header"> | ||
10 | <el-form ref="queryForm" label-width="180px" v-if="this.formData.obj"> | ||
11 | <el-form-item label="下一环节名称:"> | ||
12 | {{ this.formData.obj.taskName }} | ||
13 | </el-form-item> | ||
14 | <el-form-item label="下一环节办理人:"> | ||
15 | {{ this.formData.obj.usernames.join(",") }} | ||
16 | </el-form-item> | ||
17 | </el-form> | ||
18 | <el-form ref="queryForm" label-width="180px" v-else> | ||
19 | <el-form-item label=""> | ||
20 | 此环节为流程最后环节,转出后流程将结束 | ||
21 | </el-form-item> | ||
22 | </el-form> | ||
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 | <!-- <el-button | ||
31 | class="opinion_btn" | ||
32 | @click="commonOpinion" | ||
33 | >常用意见</el-button | ||
34 | > --> | ||
35 | <el-button style="float: right" @click="cancelBack">取消转出</el-button> | ||
36 | <el-button type="primary" @click="submitForm" :loading="loading" style="float: right">确定转出</el-button> | ||
37 | </div> | ||
38 | </div> | ||
39 | </template> | ||
40 | |||
41 | <script> | ||
42 | import { completeTask, getNextLinkInfo } from "@/api/workFlow.js"; | ||
43 | import { popupCacel } from "@/utils/popup.js"; | ||
44 | import { mapGetters } from 'vuex' | ||
45 | export default { | ||
46 | components: {}, | ||
47 | |||
48 | props: { | ||
49 | formData: { | ||
50 | type: Object, | ||
51 | default: {}, | ||
52 | }, | ||
53 | }, | ||
54 | computed: { | ||
55 | ...mapGetters(['yjsqOptions']) | ||
56 | }, | ||
57 | data () { | ||
58 | return { | ||
59 | loading: false, | ||
60 | queryForm: {}, | ||
61 | shyj: "", | ||
62 | }; | ||
63 | }, | ||
64 | |||
65 | watch: { | ||
66 | // yjsqOptions: { | ||
67 | // handler (val) { | ||
68 | // if(val){ | ||
69 | // this.shyj = val | ||
70 | // } | ||
71 | |||
72 | // }, | ||
73 | // }, | ||
74 | }, | ||
75 | mounted () { | ||
76 | // this.queryForm= this.queryForm.obj | ||
77 | }, | ||
78 | methods: { | ||
79 | /** | ||
80 | * @description: submitForm | ||
81 | * @author: renchao | ||
82 | */ | ||
83 | commonOpinion () { | ||
84 | this.$popupDialog( | ||
85 | "常用意见", | ||
86 | "workflow/components/dialog/commonOpinion", | ||
87 | {}, | ||
88 | "70%", | ||
89 | true | ||
90 | ); | ||
91 | }, | ||
92 | submitForm () { | ||
93 | this.loading = true | ||
94 | this.queryForm = { | ||
95 | bsmSlsq: this.formData.bsmSlsq, | ||
96 | shyj: this.shyj, | ||
97 | stepform: JSON.stringify(this.formData.tabList), | ||
98 | }; | ||
99 | completeTask(this.queryForm).then((res) => { | ||
100 | this.loading = false | ||
101 | if (res.code === 200) { | ||
102 | this.$message.success("转件成功"); | ||
103 | popupCacel(); | ||
104 | setTimeout(() => { | ||
105 | window.close(); | ||
106 | this.$emit("input", false); | ||
107 | if (window.opener && window.opener.getBpageList) { | ||
108 | window.opener.getBpageList(); | ||
109 | } else { | ||
110 | window.opener.frames[0].getBpageList(); | ||
111 | } | ||
112 | }, 360); | ||
113 | } else { | ||
114 | this.$message.error(res.message); | ||
115 | } | ||
116 | }).catch(() => { | ||
117 | this.loading = false | ||
118 | }) | ||
119 | }, | ||
120 | |||
121 | /** | ||
122 | * @description: closeDialog | ||
123 | * @author: renchao | ||
124 | */ | ||
125 | cancelBack () { | ||
126 | popupCacel(); | ||
127 | }, | ||
128 | }, | ||
129 | }; | ||
130 | </script> | ||
131 | <style scoped lang="scss"> | ||
132 | @import "~@/styles/mixin.scss"; | ||
133 | .el-button { | ||
134 | margin-top: 20px; | ||
135 | margin-right: 10px; | ||
136 | } | ||
137 | |||
138 | .opinion { | ||
139 | position: relative; | ||
140 | font-size: 14px; | ||
141 | } | ||
142 | |||
143 | .opinion_btn { | ||
144 | position: absolute; | ||
145 | right: 35px; | ||
146 | bottom: 80px; | ||
147 | } | ||
148 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-18 14:06:16 | ||
5 | --> | ||
6 | <template> | ||
7 | <div style="width:100%;height:100%;"> | ||
8 | <canvas id="mxcad" style="width:100%;height:100%;"> | ||
9 | </canvas> | ||
10 | </div> | ||
11 | </template> | ||
12 | <script> | ||
13 | import Mx from "mxdraw" | ||
14 | export default { | ||
15 | mounted () { | ||
16 | // 动态加载 js库核心代码 | ||
17 | Mx.loadCoreCode().then(() => { | ||
18 | // Mx.MxFun.setMxServer("ws://localhost:5090") // 开启socket通信 可编辑图纸 | ||
19 | // 创建控件对象 | ||
20 | Mx.MxFun.createMxObject({ | ||
21 | canvasId: "mxcad", // canvas元素的id | ||
22 | cadFile: "buf/hhhh.dwg", // http方式(预览): 加载public/demo文件夹下转换后的图纸 | ||
23 | callback: (mxDraw, { | ||
24 | canvas, | ||
25 | canvasParent | ||
26 | }) => { | ||
27 | // 可以拿到canvas元素和它的父级元素 | ||
28 | // 拿到图层数据 | ||
29 | mxDraw.addEvent('uiSetLayerData', (listLayer) => { | ||
30 | console.log(listLayer) | ||
31 | }) | ||
32 | }, | ||
33 | isNewFile: true // 是否新建文件 | ||
34 | }) | ||
35 | }) | ||
36 | }, | ||
37 | } | ||
38 | </script> | ||
39 | <style scoped lang="scss"> | ||
40 | #mxcad { | ||
41 | pointer-events: none; | ||
42 | } | ||
43 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-10-11 10:59:12 | ||
5 | */ | ||
6 | import filter from '@/utils/filter.js' | ||
7 | let vm = null | ||
8 | |||
9 | const sendThis = (_this) => { | ||
10 | vm = _this | ||
11 | } | ||
12 | class data extends filter { | ||
13 | constructor() { | ||
14 | super() | ||
15 | } | ||
16 | columns () { | ||
17 | return { | ||
18 | //发证列表 | ||
19 | fzgrid: [ | ||
20 | { | ||
21 | label: '序号', | ||
22 | type: 'index', | ||
23 | width: '50' | ||
24 | }, | ||
25 | { | ||
26 | prop: "fzrmc", | ||
27 | label: "发证人" | ||
28 | }, | ||
29 | { | ||
30 | prop: "bdcqzlx", | ||
31 | label: "不动产权证类型", | ||
32 | width: '120', | ||
33 | render: (h, scope) => { | ||
34 | return ( | ||
35 | <div> | ||
36 | <span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span> | ||
37 | <span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span> | ||
38 | </div> | ||
39 | ) | ||
40 | } | ||
41 | }, | ||
42 | { | ||
43 | label: "权利类型", | ||
44 | width: '100', | ||
45 | render: (h, scope) => { | ||
46 | return ( | ||
47 | <el-tooltip effect="dark" content={scope.row.qllx} placement="top" popper-class="tooltip-width "> | ||
48 | <span class="ellipsis-table"> {scope.row.qllx}</span> | ||
49 | </el-tooltip> | ||
50 | ) | ||
51 | } | ||
52 | }, | ||
53 | { | ||
54 | prop: "ysxlh", | ||
55 | label: "印刷序列号", | ||
56 | width: '100', | ||
57 | }, | ||
58 | { | ||
59 | prop: "bdcqzh", | ||
60 | label: "不动产权证号", | ||
61 | width: '190', | ||
62 | }, | ||
63 | { | ||
64 | label: "权利人", | ||
65 | minWidth: '120', | ||
66 | render: (h, scope) => { | ||
67 | return ( | ||
68 | <el-tooltip effect="dark" content={scope.row.qlr} placement="top" popper-class="tooltip-width "> | ||
69 | <span class="ellipsis-table"> {scope.row.qlr}</span> | ||
70 | </el-tooltip> | ||
71 | ) | ||
72 | } | ||
73 | }, | ||
74 | { | ||
75 | prop: "ywr", | ||
76 | label: "义务人" | ||
77 | }, | ||
78 | { | ||
79 | label: "面积(㎡)", | ||
80 | width: '100', | ||
81 | render: (h, scope) => { | ||
82 | return ( | ||
83 | <el-tooltip effect="dark" content={scope.row.mj} placement="top" popper-class="tooltip-width "> | ||
84 | <span class="ellipsis-table"> {scope.row.mj}</span> | ||
85 | </el-tooltip> | ||
86 | ) | ||
87 | } | ||
88 | }, | ||
89 | { | ||
90 | label: "坐落", | ||
91 | minWidth: '150', | ||
92 | render: (h, scope) => { | ||
93 | return ( | ||
94 | <el-tooltip effect="dark" content={scope.row.zl} placement="top" popper-class="tooltip-width "> | ||
95 | <span class="ellipsis-table"> {scope.row.zl}</span> | ||
96 | </el-tooltip> | ||
97 | ) | ||
98 | } | ||
99 | }, | ||
100 | { | ||
101 | prop: "fzsj", | ||
102 | label: "发证时间", | ||
103 | width: '140', | ||
104 | }, | ||
105 | { | ||
106 | prop: "lzrxm", | ||
107 | label: "领证人姓名" | ||
108 | }, | ||
109 | ], | ||
110 | //领证证列表 | ||
111 | lzgrid: [ | ||
112 | { | ||
113 | type: 'selection' | ||
114 | }, | ||
115 | { | ||
116 | label: '序号', | ||
117 | type: 'index', | ||
118 | width: '50' | ||
119 | }, | ||
120 | { | ||
121 | prop: "bdcqzlx", | ||
122 | label: "不动产权证类型", | ||
123 | width: '120', | ||
124 | render: (h, scope) => { | ||
125 | return ( | ||
126 | <div> | ||
127 | <span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span> | ||
128 | <span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span> | ||
129 | </div> | ||
130 | ) | ||
131 | } | ||
132 | }, | ||
133 | { | ||
134 | prop: "qllx", | ||
135 | label: "权利类型" | ||
136 | }, | ||
137 | { | ||
138 | prop: "ysxlh", | ||
139 | label: "印刷序列号", | ||
140 | width: '100', | ||
141 | }, | ||
142 | { | ||
143 | prop: "bdcqzh", | ||
144 | label: "不动产权证号" | ||
145 | }, | ||
146 | { | ||
147 | prop: "qlr", | ||
148 | label: "权利人" | ||
149 | }, | ||
150 | { | ||
151 | prop: "ywr", | ||
152 | label: "义务人" | ||
153 | }, | ||
154 | { | ||
155 | label: "面积(㎡)", | ||
156 | width: '100', | ||
157 | render: (h, scope) => { | ||
158 | return ( | ||
159 | <el-tooltip effect="dark" content={scope.row.mj} placement="top" popper-class="tooltip-width "> | ||
160 | <span class="ellipsis-table"> {scope.row.mj}</span> | ||
161 | </el-tooltip> | ||
162 | ) | ||
163 | } | ||
164 | }, | ||
165 | { | ||
166 | prop: "zl", | ||
167 | label: "坐落" | ||
168 | } | ||
169 | ] | ||
170 | } | ||
171 | } | ||
172 | } | ||
173 | let datas = new data() | ||
174 | export { | ||
175 | datas, | ||
176 | sendThis | ||
177 | } |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-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 | } |
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 | } |
... | @@ -312,7 +312,7 @@ | ... | @@ -312,7 +312,7 @@ |
312 | this.$store.dispatch("user/reWorkFresh", false); | 312 | this.$store.dispatch("user/reWorkFresh", false); |
313 | this.$popupDialog( | 313 | this.$popupDialog( |
314 | "申请材料目录", | 314 | "申请材料目录", |
315 | "workflow/components/dialog/clxxDetailDialog", | 315 | "workflow/main/clxx/clxxDetailDialog", |
316 | { | 316 | { |
317 | data: this.tableData, | 317 | data: this.tableData, |
318 | bsmSldy: this.$parent.currentSelectProps.bsmSldy, | 318 | bsmSldy: this.$parent.currentSelectProps.bsmSldy, | ... | ... |
... | @@ -155,7 +155,7 @@ | ... | @@ -155,7 +155,7 @@ |
155 | }, | 155 | }, |
156 | hanldeAdd () { | 156 | hanldeAdd () { |
157 | let bsmBusiness = this.$route.query.bsmBusiness ? this.$route.query.bsmBusiness : window.currentSelect.bsmBusiness | 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) | 158 | this.$popupDialog('新增', 'workflow/main/sfxx/xzsf', { bsmBusiness: bsmBusiness }, '50%', true) |
159 | }, | 159 | }, |
160 | handleDelete (row) { | 160 | handleDelete (row) { |
161 | let that = this | 161 | let that = this | ... | ... |
... | @@ -285,7 +285,6 @@ | ... | @@ -285,7 +285,6 @@ |
285 | </div> | 285 | </div> |
286 | </template> | 286 | </template> |
287 | <script> | 287 | <script> |
288 | import sqrViewTable from "@/views/workflow/components/sqrViewTable"; | ||
289 | import { Init, saveData } from "@/api/workflow/cfdjFlow.js"; | 288 | import { Init, saveData } from "@/api/workflow/cfdjFlow.js"; |
290 | import { mapGetters } from "vuex"; | 289 | import { mapGetters } from "vuex"; |
291 | export default { | 290 | export default { |
... | @@ -341,7 +340,7 @@ | ... | @@ -341,7 +340,7 @@ |
341 | }); | 340 | }); |
342 | }, | 341 | }, |
343 | watch: {}, | 342 | watch: {}, |
344 | components: { sqrViewTable }, | 343 | components: { }, |
345 | props: { | 344 | props: { |
346 | flag: { | 345 | flag: { |
347 | type: Boolean, | 346 | type: Boolean, | ... | ... |
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 |
src/views/workflow/components/fdcqxmTable.vue
→
src/views/workflow/main/slsqxx/fdcq1/fdcqxmTable.vue
File moved
... | @@ -296,7 +296,7 @@ | ... | @@ -296,7 +296,7 @@ |
296 | import ywmix from "@/views/ywbl/mixin/index"; | 296 | import ywmix from "@/views/ywbl/mixin/index"; |
297 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | 297 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; |
298 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | 298 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; |
299 | import fdcqxmTable from "../commonTable/fdcqxmTable"; | 299 | import fdcqxmTable from "./fdcqxmTable"; |
300 | import tdytTable from "@/views/workflow/components/tdytTable"; | 300 | import tdytTable from "@/views/workflow/components/tdytTable"; |
301 | import { Init, saveData } from "@/api/workflow/fwsyq1Flow.js"; | 301 | import { Init, saveData } from "@/api/workflow/fwsyq1Flow.js"; |
302 | import { mapGetters } from "vuex"; | 302 | import { mapGetters } from "vuex"; | ... | ... |
... | @@ -73,77 +73,195 @@ | ... | @@ -73,77 +73,195 @@ |
73 | </div> | 73 | </div> |
74 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | 74 | <el-row :gutter="10" v-if="ruleForm.qlxx"> |
75 | <el-col :span="8"> | 75 | <el-col :span="8"> |
76 | <el-form-item label="原不动产权证号:"> | ||
77 | <el-input disabled v-model="ruleForm.sldy.ybdcqzsh"></el-input> | ||
78 | </el-form-item> | ||
79 | </el-col> | ||
80 | <el-col :span="8"> | ||
76 | <el-form-item label="不动产单元号:"> | 81 | <el-form-item label="不动产单元号:"> |
77 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | 82 | <el-input disabled v-model="ruleForm.sldy.bdcdyh"></el-input> |
78 | </el-form-item> | 83 | </el-form-item> |
79 | </el-col> | 84 | </el-col> |
80 | <el-col :span="16"> | 85 | <el-col :span="8"> |
81 | <el-form-item label="坐落:"> | 86 | <el-form-item label="坐落:"> |
82 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | 87 | <el-input maxlength="100" :disabled="!viewEdit" v-model="ruleForm.sldy.zl"></el-input> |
83 | </el-form-item> | 88 | </el-form-item> |
84 | </el-col> | 89 | </el-col> |
85 | </el-row> | 90 | </el-row> |
86 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> | 91 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> |
87 | <el-col :span="8"> | 92 | <el-col :span="8"> |
88 | <el-form-item label="土地用途:"> | 93 | <el-form-item label="宗地面积:"> |
89 | <el-input disabled v-model="ruleForm.fdcq2.yt"></el-input> | 94 | <div class="flex"> |
95 | <el-input :disabled="!viewEdit" v-model="ruleForm.zdjbxx.zdmj"></el-input> | ||
96 | <el-select | ||
97 | disabled | ||
98 | v-model="ruleForm.zdjbxx.mjdw" | ||
99 | style="width: 68px"> | ||
100 | <el-option | ||
101 | v-for="item in dictData['A7']" | ||
102 | :key="item.dcode" | ||
103 | :label="item.dname" | ||
104 | :value="item.dcode"> | ||
105 | </el-option> | ||
106 | </el-select> | ||
107 | </div> | ||
90 | </el-form-item> | 108 | </el-form-item> |
91 | </el-col> | 109 | </el-col> |
92 | <el-col :span="8"> | 110 | <el-col :span="8"> |
93 | <el-form-item label="土地使用起止时间:"> | 111 | <el-form-item label="土地使用权人:"> |
94 | <el-input disabled v-model="ruleForm.fdcq2.tdsyqzsj"></el-input> | 112 | <el-input :disabled="!viewEdit" v-model="ruleForm.fdcq2.tdsyqr"></el-input> |
95 | </el-form-item> | 113 | </el-form-item> |
96 | </el-col> | 114 | </el-col> |
97 | <el-col :span="8"> | 115 | <el-col :span="8"> |
98 | <el-form-item label="土地使用期限:"> | 116 | <el-form-item label="土地性质:"> |
99 | <el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input> | 117 | <treeselect |
118 | :disabled="!viewEdit" | ||
119 | v-model="ruleForm.fdcq2.tdxz" | ||
120 | noOptionsText="暂无数据" | ||
121 | placeholder="" | ||
122 | :normalizer="normalizer" | ||
123 | :default-expand-level="1" | ||
124 | :show-count="true" | ||
125 | :options="dictData['A9']" /> | ||
100 | </el-form-item> | 126 | </el-form-item> |
101 | </el-col> | 127 | </el-col> |
102 | </el-row> | 128 | </el-row> |
103 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | 129 | <el-row :gutter="10" v-if="ruleForm.qlxx"> |
104 | <el-col :span="8"> | 130 | <el-col :span="8"> |
105 | <el-form-item label="规划用途名称:"> | 131 | <el-form-item label="独用土地面积:"> |
106 | <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input> | 132 | <div class="flex"> |
133 | <el-input | ||
134 | maxlength="12" | ||
135 | v-model="ruleForm.fdcq2.dytdmj" | ||
136 | :disabled="!viewEdit" | ||
137 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
138 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
139 | <el-option | ||
140 | v-for="item in dictData['A7']" | ||
141 | :key="item.dcode" | ||
142 | :label="item.dname" | ||
143 | :value="item.dcode"> | ||
144 | </el-option> | ||
145 | </el-select> | ||
146 | </div> | ||
147 | </el-form-item> | ||
148 | </el-col> | ||
149 | <el-col :span="8"> | ||
150 | <el-form-item label="分摊土地面积:"> | ||
151 | <div class="flex"> | ||
152 | <el-input | ||
153 | maxlength="12" | ||
154 | v-model="ruleForm.fdcq2.fttdmj" | ||
155 | :disabled="!viewEdit" | ||
156 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
157 | <el-select disabled v-model="mjdw" 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> | ||
107 | </el-form-item> | 166 | </el-form-item> |
108 | </el-col> | 167 | </el-col> |
109 | <el-col :span="8"> | 168 | <el-col :span="8"> |
110 | <el-form-item label="房屋性质:"> | 169 | <el-form-item label="房屋性质:"> |
111 | <el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input> | 170 | <el-select v-model="ruleForm.fdcq2.fwxz" :disabled="!viewEdit"> |
171 | <el-option | ||
172 | v-for="item in dictData['A19']" | ||
173 | :key="item.dcode" | ||
174 | :label="item.dname" | ||
175 | :value="item.dcode"> | ||
176 | </el-option> | ||
177 | </el-select> | ||
178 | </el-form-item> | ||
179 | </el-col> | ||
180 | </el-row> | ||
181 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
182 | <el-col :span="8"> | ||
183 | <el-form-item label="房屋用途:"> | ||
184 | <treeselect | ||
185 | v-model="ruleForm.fdcq2.ghyt" | ||
186 | :disabled="!viewEdit" | ||
187 | noOptionsText="" | ||
188 | placeholder="" | ||
189 | :normalizer="normalizer" | ||
190 | :show-count="true" | ||
191 | :options="dictData['A17']" /> | ||
112 | </el-form-item> | 192 | </el-form-item> |
113 | </el-col> | 193 | </el-col> |
114 | <el-col :span="8"> | 194 | <el-col :span="8"> |
115 | <el-form-item label="房屋结构:"> | 195 | <el-form-item label="房屋结构:"> |
116 | <el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></el-input> | 196 | <el-select v-model="ruleForm.fdcq2.fwjg" :disabled="!viewEdit"> |
197 | <el-option | ||
198 | v-for="item in dictData['A46']" | ||
199 | :key="item.dcode" | ||
200 | :label="item.dname" | ||
201 | :value="item.dcode"> | ||
202 | </el-option> | ||
203 | </el-select> | ||
204 | </el-form-item> | ||
205 | </el-col> | ||
206 | <el-col :span="8"> | ||
207 | <el-form-item label="竣工时间:"> | ||
208 | <el-date-picker | ||
209 | v-model="ruleForm.fdcq2.jgsj" | ||
210 | class="width100" | ||
211 | type="date" | ||
212 | placeholder="选择日期" | ||
213 | value-format="yyyy-MM-dd" | ||
214 | :disabled="!viewEdit"></el-date-picker> | ||
117 | </el-form-item> | 215 | </el-form-item> |
118 | </el-col> | 216 | </el-col> |
119 | </el-row> | 217 | </el-row> |
120 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> | 218 | <el-row :gutter="10" v-if="ruleForm.qlxx"> |
121 | <el-col :span="8"> | 219 | <el-col :span="8"> |
122 | <el-form-item label="所在层:"> | 220 | <el-form-item label="所在层:"> |
123 | <el-input disabled v-model="ruleForm.fdcq2.szc"></el-input> | 221 | <el-input |
222 | maxlength="20" | ||
223 | v-model="ruleForm.fdcq2.szc" | ||
224 | :disabled="!viewEdit"></el-input> | ||
124 | </el-form-item> | 225 | </el-form-item> |
125 | </el-col> | 226 | </el-col> |
126 | <el-col :span="8"> | 227 | <el-col :span="8"> |
127 | <el-form-item label="总层数:"> | 228 | <el-form-item label="总层数:"> |
128 | <el-input | 229 | <el-input |
129 | disabled | 230 | maxlength="4" |
231 | :disabled="!viewEdit" | ||
130 | v-model.number="ruleForm.fdcq2.zcs" | 232 | v-model.number="ruleForm.fdcq2.zcs" |
131 | oninput="value=value.replace(/[^0-9]/g,'')"></el-input> | 233 | oninput="value=value.replace(/[^0-9]/g,'')"></el-input> |
132 | </el-form-item> | 234 | </el-form-item> |
133 | </el-col> | 235 | </el-col> |
134 | <el-col :span="8"> | 236 | <el-col :span="8"> |
135 | <el-form-item label="竣工时间:"> | 237 | <el-form-item label="房地产交易价格:"> |
136 | <el-input disabled v-model="ruleForm.fdcq2.jgsj"></el-input> | 238 | <div class="flex"> |
239 | <el-input | ||
240 | maxlength="11" | ||
241 | v-model="ruleForm.fdcq2.fdcjyjg" | ||
242 | style="width: 500%" | ||
243 | :disabled="!viewEdit" | ||
244 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
245 | <el-select v-model="ruleForm.fdcq2.jedw" :disabled="!viewEdit"> | ||
246 | <el-option | ||
247 | v-for="item in dictData['A57']" | ||
248 | :key="item.dcode" | ||
249 | :label="item.dname" | ||
250 | :value="item.dcode"> | ||
251 | </el-option> | ||
252 | </el-select> | ||
253 | </div> | ||
137 | </el-form-item> | 254 | </el-form-item> |
138 | </el-col> | 255 | </el-col> |
139 | </el-row> | 256 | </el-row> |
140 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | 257 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> |
141 | <el-col :span="8"> | 258 | <el-col :span="8"> |
142 | <el-form-item label="建筑面积:"> | 259 | <el-form-item label="建筑面积:"> |
143 | <div class="flex"> | 260 | <div class="flex"> |
144 | <el-input | 261 | <el-input |
145 | disabled | 262 | maxlength="12" |
146 | v-model="ruleForm.qlxx.mj" | 263 | v-model="ruleForm.fdcq2.jzmj" |
264 | :disabled="!viewEdit" | ||
147 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | 265 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> |
148 | <el-select disabled v-model="mjdw" style="width: 68px"> | 266 | <el-select disabled v-model="mjdw" style="width: 68px"> |
149 | <el-option | 267 | <el-option |
... | @@ -160,8 +278,9 @@ | ... | @@ -160,8 +278,9 @@ |
160 | <el-form-item label="专有建筑面积:"> | 278 | <el-form-item label="专有建筑面积:"> |
161 | <div class="flex"> | 279 | <div class="flex"> |
162 | <el-input | 280 | <el-input |
163 | disabled | 281 | maxlength="12" |
164 | v-model="ruleForm.fdcq2.zyjzmj" | 282 | v-model="ruleForm.fdcq2.zyjzmj" |
283 | :disabled="!viewEdit" | ||
165 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | 284 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> |
166 | <el-select disabled v-model="mjdw" style="width: 68px"> | 285 | <el-select disabled v-model="mjdw" style="width: 68px"> |
167 | <el-option | 286 | <el-option |
... | @@ -178,8 +297,9 @@ | ... | @@ -178,8 +297,9 @@ |
178 | <el-form-item label="分摊建筑面积:"> | 297 | <el-form-item label="分摊建筑面积:"> |
179 | <div class="flex"> | 298 | <div class="flex"> |
180 | <el-input | 299 | <el-input |
181 | disabled | 300 | maxlength="12" |
182 | v-model="ruleForm.fdcq2.ftjzmj" | 301 | v-model="ruleForm.fdcq2.ftjzmj" |
302 | :disabled="!viewEdit" | ||
183 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | 303 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> |
184 | <el-select disabled v-model="mjdw" style="width: 68px"> | 304 | <el-select disabled v-model="mjdw" style="width: 68px"> |
185 | <el-option | 305 | <el-option |
... | @@ -193,6 +313,18 @@ | ... | @@ -193,6 +313,18 @@ |
193 | </el-form-item> | 313 | </el-form-item> |
194 | </el-col> | 314 | </el-col> |
195 | </el-row> | 315 | </el-row> |
316 | <el-row :gutter="10"> | ||
317 | <el-col :span="24"> | ||
318 | <el-form-item label="附记:"> | ||
319 | <el-input | ||
320 | v-model="ruleForm.fdcq2.fj" | ||
321 | type="textarea" | ||
322 | maxlength="500" | ||
323 | show-word-limit | ||
324 | :disabled="!viewEdit"></el-input> | ||
325 | </el-form-item> | ||
326 | </el-col> | ||
327 | </el-row> | ||
196 | <div class="slxx_title title-block"> | 328 | <div class="slxx_title title-block"> |
197 | 土地用途 | 329 | 土地用途 |
198 | <div class="triangle"></div> | 330 | <div class="triangle"></div> |
... | @@ -334,6 +466,16 @@ | ... | @@ -334,6 +466,16 @@ |
334 | }, | 466 | }, |
335 | data () { | 467 | data () { |
336 | return { | 468 | return { |
469 | normalizer (node) { | ||
470 | if (node.children == null || node.children == "null") { | ||
471 | delete node.children; | ||
472 | } | ||
473 | return { | ||
474 | id: node.dcode, | ||
475 | label: node.dname, | ||
476 | children: node.children, | ||
477 | }; | ||
478 | }, | ||
337 | isSave: true, | 479 | isSave: true, |
338 | loading: false, | 480 | loading: false, |
339 | mjdw: "1", | 481 | mjdw: "1", | ... | ... |
File moved
File moved
... | @@ -330,7 +330,7 @@ | ... | @@ -330,7 +330,7 @@ |
330 | import ywmix from "@/views/ywbl/mixin/index"; | 330 | import ywmix from "@/views/ywbl/mixin/index"; |
331 | import { Init, saveData } from "@/api/workflow/nydsyqFlow.js"; | 331 | import { Init, saveData } from "@/api/workflow/nydsyqFlow.js"; |
332 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | 332 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; |
333 | import JtcyTable from "@/views/workflow/components/JtcyTable"; | 333 | import JtcyTable from "./JtcyTable"; |
334 | export default { | 334 | export default { |
335 | mixins: [ywmix], | 335 | mixins: [ywmix], |
336 | mounted () { | 336 | mounted () { | ... | ... |
... | @@ -11,7 +11,7 @@ | ... | @@ -11,7 +11,7 @@ |
11 | import { mapGetters } from 'vuex' | 11 | import { mapGetters } from 'vuex' |
12 | import { getSzRecordList } from "@/api/bdcqz.js"; | 12 | import { getSzRecordList } from "@/api/bdcqz.js"; |
13 | import table from "@/utils/mixin/table"; | 13 | import table from "@/utils/mixin/table"; |
14 | import { szxxdatas } from "../../javascript/szxxdata"; | 14 | import { szxxdatas } from "./szxxdata"; |
15 | export default { | 15 | export default { |
16 | components: { | 16 | components: { |
17 | 17 | ... | ... |
src/views/workflow/top/receipt/cfhzd.vue
0 → 100644
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: miaofang | ||
4 | * @LastEditTime: 2023-07-19 09:52:42 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="fm" id="boxaaa"> | ||
8 | <div class="title">不动产登记簿</div> | ||
9 | <div class="title">(回执)</div> | ||
10 | <p class="bian"> | ||
11 | 编号: <span>{{ Receiptdata.sldyList[0].ybdcqzsh||"" }}</span> | ||
12 | </p> | ||
13 | <div class="texts"> | ||
14 | <p class="jsjg">{{ Receiptdata.cfdjList[0].cfjg }}:</p> | ||
15 | <p class="concent"> | ||
16 | <span>{{ sj }}</span> ,你院协助执行通知书订单号为:<font>{{ | ||
17 | Receiptdata.qlxxList[0].ywh||"" | ||
18 | }}</font | ||
19 | >收悉,具体执行情况如下。 | ||
20 | </p> | ||
21 | </div> | ||
22 | |||
23 | <p class="bian">{{ Receiptdata.user.organizationName }}</p> | ||
24 | <p class="bian">{{ sj }}(盖章)</p> | ||
25 | <table class="xxTable"> | ||
26 | <tr> | ||
27 | <td>序号</td> | ||
28 | <td>坐落</td> | ||
29 | <td>控制反馈</td> | ||
30 | <td>控制措施</td> | ||
31 | </tr> | ||
32 | <tr v-for="(item, index) in Receiptdata.sldyList" :key="index"> | ||
33 | <td>{{ index + 1 }}</td> | ||
34 | <td>{{ item.zl }}</td> | ||
35 | <td>已控</td> | ||
36 | <td>{{ item.djlxmc }}</td> | ||
37 | </tr> | ||
38 | </table> | ||
39 | </div> | ||
40 | </template> | ||
41 | |||
42 | |||
43 | <script> | ||
44 | import { BatchInit } from "@/api/workflow/cfdjFlow.js"; | ||
45 | export default { | ||
46 | props: { | ||
47 | Receiptdata: { | ||
48 | type: Object, | ||
49 | default: {}, | ||
50 | }, | ||
51 | }, | ||
52 | data() { | ||
53 | return { | ||
54 | sj: "", | ||
55 | data:false | ||
56 | }; | ||
57 | }, | ||
58 | mounted() { | ||
59 | this.loadData(); | ||
60 | }, | ||
61 | watch: { | ||
62 | Receiptdata: { | ||
63 | handler(newValue, oldValue) { | ||
64 | this.$nextTick(() => { | ||
65 | this.Receiptdata = newValue; | ||
66 | this.loadData(); | ||
67 | }); | ||
68 | }, | ||
69 | }, | ||
70 | }, | ||
71 | methods: { | ||
72 | openPrint () { | ||
73 | // 获取打印回执数据 | ||
74 | var formdata = new FormData(); | ||
75 | formdata.append("bsmSldy", this.currentSelectProps.bsmSldy); | ||
76 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
77 | formdata.append("djlx", this.currentSelectProps.djlx); | ||
78 | BatchInit(formdata).then((res) => { | ||
79 | if (res.code === 200 && res.result) { | ||
80 | this.Receiptdata = res.result | ||
81 | this.shows = true | ||
82 | setTimeout(() => { | ||
83 | this.prinsss() | ||
84 | }, 100) | ||
85 | } else { | ||
86 | this.$message.error(res.message) | ||
87 | } | ||
88 | }) | ||
89 | }, | ||
90 | /** | ||
91 | * @description: loadData | ||
92 | * @author: miaofang | ||
93 | */ | ||
94 | loadData() { | ||
95 | let dateTime = new Date(this.Receiptdata.slsq.slsj); | ||
96 | let y = dateTime.getFullYear(); | ||
97 | let m = dateTime.getMonth() + 1; | ||
98 | m = m < 10 ? "0" + m : m; | ||
99 | let d = dateTime.getDate(); | ||
100 | d = d < 10 ? "0" + d : d; | ||
101 | let h = dateTime.getHours(); | ||
102 | h = h < 10 ? "0" + h : h; | ||
103 | let M = dateTime.getMinutes(); | ||
104 | M = M < 10 ? "0" + M : M; | ||
105 | let s = dateTime.getSeconds(); | ||
106 | s = s < 10 ? "0" + s : s; | ||
107 | this.sj = y + "年" + m + "月" + d + "日"; | ||
108 | }, | ||
109 | }, | ||
110 | }; | ||
111 | </script> | ||
112 | |||
113 | <style lang="scss" scoped> | ||
114 | #boxaaa{ | ||
115 | font { | ||
116 | border-bottom: 1px solid #000; | ||
117 | display: inline-block; | ||
118 | padding: 0 15px; | ||
119 | line-height: 16px; | ||
120 | } | ||
121 | |||
122 | .title { | ||
123 | height: 60px; | ||
124 | display: flex; | ||
125 | font-size: 32px; | ||
126 | color: #000; | ||
127 | justify-content: center; | ||
128 | align-items: center; | ||
129 | } | ||
130 | .bian { | ||
131 | text-align: right; | ||
132 | } | ||
133 | .texts{ | ||
134 | margin-top: 40px; | ||
135 | margin-bottom: 40px; | ||
136 | |||
137 | } | ||
138 | .jsjg { | ||
139 | text-align: left; | ||
140 | } | ||
141 | .concent { | ||
142 | width: 100%; | ||
143 | |||
144 | line-height: 40px; | ||
145 | text-align: left; | ||
146 | text-indent: 2em; | ||
147 | } | ||
148 | p { | ||
149 | font-family: serif; | ||
150 | } | ||
151 | .xxTable { | ||
152 | |||
153 | width: 100%; | ||
154 | border-collapse: collapse; | ||
155 | font-family: serif; | ||
156 | margin-top: 20px; | ||
157 | |||
158 | tr td { | ||
159 | border: 1px solid #000; | ||
160 | text-align: center; | ||
161 | height: 40px; | ||
162 | line-height: 17px; | ||
163 | font-size: 13px; | ||
164 | min-width: 80px; | ||
165 | z-index: 1; | ||
166 | min-width: 80px; | ||
167 | padding: 5px; | ||
168 | } | ||
169 | } | ||
170 | } | ||
171 | .fm { | ||
172 | background: #fff; | ||
173 | font-size: 18px; | ||
174 | margin: auto; | ||
175 | } | ||
176 | |||
177 | </style> |
... | @@ -117,17 +117,14 @@ | ... | @@ -117,17 +117,14 @@ |
117 | import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue"; | 117 | import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue"; |
118 | // 引入左侧菜单 | 118 | // 引入左侧菜单 |
119 | import segmentMenu from "./components/leftmenu/segmentMenu.vue"; | 119 | import segmentMenu from "./components/leftmenu/segmentMenu.vue"; |
120 | // 回执单 | ||
121 | import receipt from "./components/receipt.vue"; | ||
122 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; | 120 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue"; |
123 | import { BatchInit } from "@/api/workflow/cfdjFlow.js"; | 121 | |
124 | export default { | 122 | export default { |
125 | components: { | 123 | components: { |
126 | selectBdc, | 124 | selectBdc, |
127 | NoticeBar, | 125 | NoticeBar, |
128 | ordinaryMenu, | 126 | ordinaryMenu, |
129 | segmentMenu, | 127 | segmentMenu |
130 | receipt, | ||
131 | }, | 128 | }, |
132 | mixins: [WorkFlow, publicFlow], | 129 | mixins: [WorkFlow, publicFlow], |
133 | data () { | 130 | data () { |
... | @@ -176,24 +173,6 @@ | ... | @@ -176,24 +173,6 @@ |
176 | window.removeEventListener("unload", (e) => this.unloadHandler(e)); | 173 | window.removeEventListener("unload", (e) => this.unloadHandler(e)); |
177 | }, | 174 | }, |
178 | methods: { | 175 | methods: { |
179 | openPrint () { | ||
180 | // 获取打印回执数据 | ||
181 | var formdata = new FormData(); | ||
182 | formdata.append("bsmSldy", this.currentSelectProps.bsmSldy); | ||
183 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
184 | formdata.append("djlx", this.currentSelectProps.djlx); | ||
185 | BatchInit(formdata).then((res) => { | ||
186 | if (res.code === 200 && res.result) { | ||
187 | this.Receiptdata = res.result | ||
188 | this.shows = true | ||
189 | setTimeout(() => { | ||
190 | this.prinsss() | ||
191 | }, 100) | ||
192 | } else { | ||
193 | this.$message.error(res.message) | ||
194 | } | ||
195 | }) | ||
196 | }, | ||
197 | prinsss () { | 176 | prinsss () { |
198 | printJS({ | 177 | printJS({ |
199 | printable: "boxaaa", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | 178 | printable: "boxaaa", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | ... | ... |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-02-01 09:54:12 | ||
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 | <cfBdcdyTable :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 cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable"; | ||
166 | import cfdjTable from "@/views/workflow/components/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: { cfBdcdyTable,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> |
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 | <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 | <cfBdcdyTable :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 cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable"; | ||
307 | import dyaqTable from "@/views/workflow/components/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, cfBdcdyTable,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> |
src/views/ywbl/slsqxx/diyaq/slxx.vue
deleted
100644 → 0
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> |
src/views/ywbl/slsqxx/fdcq1/slxx.vue
deleted
100644 → 0
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 "@/views/workflow/components/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> |
src/views/ywbl/slsqxx/fdcq2/slxx.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: 受理信息 | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-31 10:09:01 | ||
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="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.sldy.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="!viewEdit" 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.fdcq2"> | ||
89 | <el-col :span="8"> | ||
90 | <el-form-item label="宗地面积:"> | ||
91 | <div class="flex"> | ||
92 | <el-input :disabled="!viewEdit" v-model="ruleForm.zdjbxx.zdmj"></el-input> | ||
93 | <el-select | ||
94 | disabled | ||
95 | v-model="ruleForm.zdjbxx.mjdw" | ||
96 | style="width: 68px"> | ||
97 | <el-option | ||
98 | v-for="item in dictData['A7']" | ||
99 | :key="item.dcode" | ||
100 | :label="item.dname" | ||
101 | :value="item.dcode"> | ||
102 | </el-option> | ||
103 | </el-select> | ||
104 | </div> | ||
105 | </el-form-item> | ||
106 | </el-col> | ||
107 | <el-col :span="8"> | ||
108 | <el-form-item label="土地使用权人:"> | ||
109 | <el-input :disabled="!viewEdit" v-model="ruleForm.fdcq2.tdsyqr"></el-input> | ||
110 | </el-form-item> | ||
111 | </el-col> | ||
112 | <el-col :span="8"> | ||
113 | <el-form-item label="土地性质:"> | ||
114 | <treeselect | ||
115 | :disabled="!viewEdit" | ||
116 | v-model="ruleForm.fdcq2.tdxz" | ||
117 | noOptionsText="暂无数据" | ||
118 | placeholder="" | ||
119 | :normalizer="normalizer" | ||
120 | :default-expand-level="1" | ||
121 | :show-count="true" | ||
122 | :options="dictData['A9']" /> | ||
123 | </el-form-item> | ||
124 | </el-col> | ||
125 | </el-row> | ||
126 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
127 | <el-col :span="8"> | ||
128 | <el-form-item label="独用土地面积:"> | ||
129 | <div class="flex"> | ||
130 | <el-input | ||
131 | maxlength="12" | ||
132 | v-model="ruleForm.fdcq2.dytdmj" | ||
133 | :disabled="!viewEdit" | ||
134 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
135 | <el-select disabled v-model="mjdw" 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.fdcq2.fttdmj" | ||
152 | :disabled="!viewEdit" | ||
153 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
154 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
155 | <el-option | ||
156 | v-for="item in dictData['A7']" | ||
157 | :key="item.dcode" | ||
158 | :label="item.dname" | ||
159 | :value="item.dcode"> | ||
160 | </el-option> | ||
161 | </el-select> | ||
162 | </div> | ||
163 | </el-form-item> | ||
164 | </el-col> | ||
165 | <el-col :span="8"> | ||
166 | <el-form-item label="房屋性质:"> | ||
167 | <el-select v-model="ruleForm.fdcq2.fwxz" :disabled="!viewEdit"> | ||
168 | <el-option | ||
169 | v-for="item in dictData['A19']" | ||
170 | :key="item.dcode" | ||
171 | :label="item.dname" | ||
172 | :value="item.dcode"> | ||
173 | </el-option> | ||
174 | </el-select> | ||
175 | </el-form-item> | ||
176 | </el-col> | ||
177 | </el-row> | ||
178 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
179 | <el-col :span="8"> | ||
180 | <el-form-item label="房屋用途:"> | ||
181 | <treeselect | ||
182 | v-model="ruleForm.fdcq2.ghyt" | ||
183 | :disabled="!viewEdit" | ||
184 | noOptionsText="" | ||
185 | placeholder="" | ||
186 | :normalizer="normalizer" | ||
187 | :show-count="true" | ||
188 | :options="dictData['A17']" /> | ||
189 | </el-form-item> | ||
190 | </el-col> | ||
191 | <el-col :span="8"> | ||
192 | <el-form-item label="房屋结构:"> | ||
193 | <el-select v-model="ruleForm.fdcq2.fwjg" :disabled="!viewEdit"> | ||
194 | <el-option | ||
195 | v-for="item in dictData['A46']" | ||
196 | :key="item.dcode" | ||
197 | :label="item.dname" | ||
198 | :value="item.dcode"> | ||
199 | </el-option> | ||
200 | </el-select> | ||
201 | </el-form-item> | ||
202 | </el-col> | ||
203 | <el-col :span="8"> | ||
204 | <el-form-item label="竣工时间:"> | ||
205 | <el-date-picker | ||
206 | v-model="ruleForm.fdcq2.jgsj" | ||
207 | class="width100" | ||
208 | type="date" | ||
209 | placeholder="选择日期" | ||
210 | value-format="yyyy-MM-dd" | ||
211 | :disabled="!viewEdit"></el-date-picker> | ||
212 | </el-form-item> | ||
213 | </el-col> | ||
214 | </el-row> | ||
215 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
216 | <el-col :span="8"> | ||
217 | <el-form-item label="所在层:"> | ||
218 | <el-input | ||
219 | maxlength="20" | ||
220 | v-model="ruleForm.fdcq2.szc" | ||
221 | :disabled="!viewEdit"></el-input> | ||
222 | </el-form-item> | ||
223 | </el-col> | ||
224 | <el-col :span="8"> | ||
225 | <el-form-item label="总层数:"> | ||
226 | <el-input | ||
227 | maxlength="4" | ||
228 | :disabled="!viewEdit" | ||
229 | v-model.number="ruleForm.fdcq2.zcs" | ||
230 | oninput="value=value.replace(/[^0-9]/g,'')"></el-input> | ||
231 | </el-form-item> | ||
232 | </el-col> | ||
233 | <el-col :span="8"> | ||
234 | <el-form-item label="房地产交易价格:"> | ||
235 | <div class="flex"> | ||
236 | <el-input | ||
237 | maxlength="11" | ||
238 | v-model="ruleForm.fdcq2.fdcjyjg" | ||
239 | style="width: 500%" | ||
240 | :disabled="!viewEdit" | ||
241 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
242 | <el-select v-model="ruleForm.fdcq2.jedw" :disabled="!viewEdit"> | ||
243 | <el-option | ||
244 | v-for="item in dictData['A57']" | ||
245 | :key="item.dcode" | ||
246 | :label="item.dname" | ||
247 | :value="item.dcode"> | ||
248 | </el-option> | ||
249 | </el-select> | ||
250 | </div> | ||
251 | </el-form-item> | ||
252 | </el-col> | ||
253 | </el-row> | ||
254 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> | ||
255 | <el-col :span="8"> | ||
256 | <el-form-item label="建筑面积:"> | ||
257 | <div class="flex"> | ||
258 | <el-input | ||
259 | maxlength="12" | ||
260 | v-model="ruleForm.fdcq2.jzmj" | ||
261 | :disabled="!viewEdit" | ||
262 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
263 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
264 | <el-option | ||
265 | v-for="item in dictData['A7']" | ||
266 | :key="item.dcode" | ||
267 | :label="item.dname" | ||
268 | :value="item.dcode"> | ||
269 | </el-option> | ||
270 | </el-select> | ||
271 | </div> | ||
272 | </el-form-item> | ||
273 | </el-col> | ||
274 | <el-col :span="8"> | ||
275 | <el-form-item label="专有建筑面积:"> | ||
276 | <div class="flex"> | ||
277 | <el-input | ||
278 | maxlength="12" | ||
279 | v-model="ruleForm.fdcq2.zyjzmj" | ||
280 | :disabled="!viewEdit" | ||
281 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
282 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
283 | <el-option | ||
284 | v-for="item in dictData['A7']" | ||
285 | :key="item.dcode" | ||
286 | :label="item.dname" | ||
287 | :value="item.dcode"> | ||
288 | </el-option> | ||
289 | </el-select> | ||
290 | </div> | ||
291 | </el-form-item> | ||
292 | </el-col> | ||
293 | <el-col :span="8"> | ||
294 | <el-form-item label="分摊建筑面积:"> | ||
295 | <div class="flex"> | ||
296 | <el-input | ||
297 | maxlength="12" | ||
298 | v-model="ruleForm.fdcq2.ftjzmj" | ||
299 | :disabled="!viewEdit" | ||
300 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
301 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
302 | <el-option | ||
303 | v-for="item in dictData['A7']" | ||
304 | :key="item.dcode" | ||
305 | :label="item.dname" | ||
306 | :value="item.dcode"> | ||
307 | </el-option> | ||
308 | </el-select> | ||
309 | </div> | ||
310 | </el-form-item> | ||
311 | </el-col> | ||
312 | </el-row> | ||
313 | <el-row :gutter="10"> | ||
314 | <el-col :span="24"> | ||
315 | <el-form-item label="附记:"> | ||
316 | <el-input | ||
317 | v-model="ruleForm.fdcq2.fj" | ||
318 | type="textarea" | ||
319 | maxlength="500" | ||
320 | show-word-limit | ||
321 | :disabled="!viewEdit"></el-input> | ||
322 | </el-form-item> | ||
323 | </el-col> | ||
324 | </el-row> | ||
325 | <div class="slxx_title title-block"> | ||
326 | 土地用途 | ||
327 | <div class="triangle"></div> | ||
328 | </div> | ||
329 | <tdytTable | ||
330 | :ableOperation="viewEdit" | ||
331 | :tableData="ruleForm.tdytqxList" | ||
332 | @upDateTdytxxList="upDateTdytxxList" /> | ||
333 | <div class="slxx_title title-block"> | ||
334 | 权利人信息 | ||
335 | <div class="triangle"></div> | ||
336 | </div> | ||
337 | <el-row :gutter="10"> | ||
338 | <el-col :span="12" v-if="ruleForm.qlxx"> | ||
339 | <el-form-item label="共有方式:"> | ||
340 | <el-radio-group | ||
341 | :disabled="!viewEdit" | ||
342 | v-model="ruleForm.sldy.gyfs"> | ||
343 | <el-radio label="0">单独所有</el-radio> | ||
344 | <el-radio label="1">共同共有</el-radio> | ||
345 | <el-radio label="2">按份所有</el-radio> | ||
346 | <el-radio label="3">其它共有</el-radio> | ||
347 | </el-radio-group> | ||
348 | </el-form-item> | ||
349 | </el-col> | ||
350 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
351 | <el-form-item label="是否分别持证:"> | ||
352 | <el-radio-group | ||
353 | v-model="ruleForm.sldy.sqfbcz" | ||
354 | :disabled="!viewEdit" | ||
355 | @input="updaterow()"> | ||
356 | <el-radio :label="1">是</el-radio> | ||
357 | <el-radio :label="0">否</el-radio> | ||
358 | </el-radio-group> | ||
359 | </el-form-item> | ||
360 | </el-col> | ||
361 | <el-col | ||
362 | :span="6" | ||
363 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
364 | <el-form-item label="持证人:"> | ||
365 | <el-select | ||
366 | v-model="czr" | ||
367 | placeholder="持证人" | ||
368 | :disabled="!viewEdit"> | ||
369 | <el-option | ||
370 | v-for="(item,index) in czrOptions" | ||
371 | :key="index" | ||
372 | :label="item.sqrmc" | ||
373 | :value="item.id"> | ||
374 | </el-option> | ||
375 | </el-select> | ||
376 | </el-form-item> | ||
377 | </el-col> | ||
378 | </el-row> | ||
379 | <qlrCommonTable | ||
380 | @upDateQlrxxList="upDateQlrxxList" | ||
381 | :tableData="ruleForm.qlrList" | ||
382 | :disabled="viewEdit" | ||
383 | :gyfs="ruleForm.sldy.gyfs" /> | ||
384 | |||
385 | <div v-if="ruleForm.qlxx.djlx == '200'"> | ||
386 | <div class="slxx_title title-block"> | ||
387 | 义务人信息 | ||
388 | <div class="triangle"></div> | ||
389 | </div> | ||
390 | <ywrCommonTable | ||
391 | v-if="ruleForm.qlxx" | ||
392 | @upDateQlrxxList="upDateYwrxxList" | ||
393 | :tableData="ruleForm.ywrList" | ||
394 | :disabled="viewEdit" /> | ||
395 | </div> | ||
396 | <div class="slxx_title title-block"> | ||
397 | 登记原因 | ||
398 | <div class="triangle"></div> | ||
399 | </div> | ||
400 | <el-row :gutter="10"> | ||
401 | <el-col> | ||
402 | <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="fdcq2.djyy"> | ||
403 | <el-input | ||
404 | class="textArea" | ||
405 | type="textarea" | ||
406 | maxlength="500" | ||
407 | show-word-limit | ||
408 | :disabled="!viewEdit" | ||
409 | v-model="ruleForm.fdcq2.djyy"> | ||
410 | </el-input> | ||
411 | </el-form-item> | ||
412 | </el-col> | ||
413 | </el-row> | ||
414 | </div> | ||
415 | <el-row class="btn" v-if="isSave"> | ||
416 | <el-form-item> | ||
417 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
418 | </el-form-item> | ||
419 | </el-row> | ||
420 | </el-form> | ||
421 | </div> | ||
422 | </template> | ||
423 | <script> | ||
424 | import ywmix from "@/views/ywbl/mixin/index"; | ||
425 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
426 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
427 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
428 | import { Init, saveData } from "@/api/workflow/fwsyqFlow.js"; | ||
429 | import { mapGetters } from "vuex"; | ||
430 | export default { | ||
431 | mixins: [ywmix], | ||
432 | mounted () { | ||
433 | let that = this; | ||
434 | this.loading = true | ||
435 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
436 | this.propsParam = this.$attrs; | ||
437 | var formdata = new FormData(); | ||
438 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
439 | formdata.append("djlx", this.propsParam.djlx); | ||
440 | formdata.append("isEdit", this.viewEdit); | ||
441 | Init(formdata).then((res) => { | ||
442 | setTimeout(() => { | ||
443 | this.loading = false | ||
444 | }, 200) | ||
445 | if (res.code === 200 && res.result) { | ||
446 | that.ruleForm = { | ||
447 | ...res.result, | ||
448 | ...res.result.qlxxdatas, | ||
449 | }; | ||
450 | that.ruleForm.qlrList.forEach((item) => { | ||
451 | item.id = item.bsmSqr | ||
452 | if (item.sfczr == '1') { | ||
453 | that.czr = item.bsmSqr | ||
454 | } | ||
455 | }) | ||
456 | that.czrOptions = that.ruleForm.qlrList; | ||
457 | that.isSave = that.viewEdit | ||
458 | } else { | ||
459 | that.isSave = false | ||
460 | that.$confirm(res.message, '提示', { | ||
461 | cancelButtonText: '取消', | ||
462 | showConfirmButton: false, | ||
463 | type: 'warning' | ||
464 | }) | ||
465 | } | ||
466 | }).catch(() => { | ||
467 | this.loading = false | ||
468 | }) | ||
469 | }, | ||
470 | components: { qlrCommonTable, tdytTable, ywrCommonTable }, | ||
471 | computed: { | ||
472 | ...mapGetters(["dictData", "flag"]), | ||
473 | }, | ||
474 | data () { | ||
475 | return { | ||
476 | isSave: true, | ||
477 | loading: false, | ||
478 | mjdw: "1", | ||
479 | // 键名转换,方法默认是label和children进行树状渲染 | ||
480 | normalizer (node) { | ||
481 | //方法 | ||
482 | if (node.children == null || node.children == "null") { | ||
483 | delete node.children; | ||
484 | } | ||
485 | return { | ||
486 | id: node.dcode, | ||
487 | label: node.dname, | ||
488 | }; | ||
489 | }, | ||
490 | disabled: true, | ||
491 | tdytOption: [], | ||
492 | czrOptions: [], | ||
493 | czr: "", | ||
494 | ruleForm: { | ||
495 | flow: { | ||
496 | ywh: "", | ||
497 | }, | ||
498 | qlxx: { | ||
499 | mj: "", | ||
500 | }, | ||
501 | sldy: { | ||
502 | gyfs: "", | ||
503 | }, | ||
504 | slsq: {}, | ||
505 | fdcq2: { | ||
506 | zyjzmj: "", | ||
507 | ftjzmj: "", | ||
508 | }, | ||
509 | zdjbxx: { | ||
510 | ghytmc: "", | ||
511 | }, | ||
512 | }, | ||
513 | //传递参数 | ||
514 | propsParam: this.$attrs, | ||
515 | //表单是否可操作 | ||
516 | viewEdit: true, | ||
517 | rules: { | ||
518 | 'fdcq2.djyy': [ | ||
519 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
520 | ] | ||
521 | } | ||
522 | } | ||
523 | }, | ||
524 | methods: { | ||
525 | /** | ||
526 | * @description: 更新土地用途信息 | ||
527 | * @param {*} val | ||
528 | * @author: renchao | ||
529 | */ | ||
530 | upDateTdytxxList (val) { | ||
531 | this.ruleForm.tdytqxList = _.cloneDeep(val); | ||
532 | }, | ||
533 | /** | ||
534 | * @description: 更新权利人信息 | ||
535 | * @param {*} val | ||
536 | * @author: renchao | ||
537 | */ | ||
538 | upDateQlrxxList (val) { | ||
539 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
540 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
541 | this.czrOptions = this.ruleForm.qlrList; | ||
542 | } | ||
543 | this.num = 0 | ||
544 | this.ruleForm.qlrList.forEach(item => { | ||
545 | if (item.id == this.czr) { | ||
546 | this.num++ | ||
547 | } | ||
548 | }) | ||
549 | if (this.num == 0) { | ||
550 | this.czr = '' | ||
551 | } | ||
552 | }, | ||
553 | // 是否持证人变化 | ||
554 | /** | ||
555 | * @description: 是否持证人变化 | ||
556 | * @param {*} val | ||
557 | * @author: renchao | ||
558 | */ | ||
559 | updaterow () { | ||
560 | this.czr = ""; | ||
561 | }, | ||
562 | /** | ||
563 | * @description: 更新权利人信息 | ||
564 | * @param {*} val | ||
565 | * @author: renchao | ||
566 | */ | ||
567 | upDateYwrxxList (val) { | ||
568 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
569 | }, | ||
570 | /** | ||
571 | * @description: onSubmit | ||
572 | * @author: renchao | ||
573 | */ | ||
574 | onSubmit () { | ||
575 | let that = this; | ||
576 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
577 | if (arr.length > 0) { | ||
578 | this.$message({ | ||
579 | showClose: true, | ||
580 | message: "土地用途不能为空", | ||
581 | type: "error", | ||
582 | }); | ||
583 | return false; | ||
584 | } | ||
585 | if (this.ruleForm.qlrList.length == 0) { | ||
586 | this.$message({ | ||
587 | showClose: true, | ||
588 | message: "请确认权利人信息", | ||
589 | type: "error", | ||
590 | }); | ||
591 | return false; | ||
592 | } | ||
593 | |||
594 | if (this.ruleForm.sldy.gyfs == "0") { | ||
595 | if (this.ruleForm.qlrList.length > 1) { | ||
596 | this.$message({ | ||
597 | showClose: true, | ||
598 | message: "共有方式:单独所有,权利人只能是一个人", | ||
599 | type: "error", | ||
600 | }); | ||
601 | return false; | ||
602 | } | ||
603 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
604 | } else { | ||
605 | if (this.ruleForm.qlrList.length <= 1) { | ||
606 | this.$message({ | ||
607 | showClose: true, | ||
608 | message: | ||
609 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
610 | type: "error", | ||
611 | }); | ||
612 | return false; | ||
613 | } | ||
614 | //是否分别持证 | ||
615 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
616 | //是 | ||
617 | this.ruleForm.qlrList.forEach((item, index) => { | ||
618 | item.sfczr = "1"; | ||
619 | }); | ||
620 | } else { | ||
621 | if (that.czr === '') { | ||
622 | that.$message({ | ||
623 | showClose: true, | ||
624 | message: "请选择持证人", | ||
625 | type: "error", | ||
626 | }); | ||
627 | return false; | ||
628 | } | ||
629 | this.ruleForm.qlrList.forEach((item, index) => { | ||
630 | if (item.id == that.czr) { | ||
631 | item.sfczr = "1"; | ||
632 | } else { | ||
633 | item.sfczr = "0"; | ||
634 | } | ||
635 | }); | ||
636 | } | ||
637 | } | ||
638 | this.$refs['ruleForm'].validate((valid) => { | ||
639 | if (valid) { | ||
640 | that.$store.dispatch("user/refreshPage", false); | ||
641 | saveData(that.ruleForm).then((res) => { | ||
642 | if (res.code === 200) { | ||
643 | that.$message({ | ||
644 | showClose: true, | ||
645 | message: "保存成功!", | ||
646 | type: "success", | ||
647 | }); | ||
648 | that.$store.dispatch("user/refreshPage", true); | ||
649 | } else { | ||
650 | that.$message({ | ||
651 | showClose: true, | ||
652 | message: res.message, | ||
653 | type: "error" | ||
654 | }) | ||
655 | } | ||
656 | }) | ||
657 | } else { | ||
658 | that.$message({ | ||
659 | showClose: true, | ||
660 | message: "请输入登记原因", | ||
661 | type: "error" | ||
662 | }) | ||
663 | return false | ||
664 | } | ||
665 | }) | ||
666 | } | ||
667 | } | ||
668 | } | ||
669 | </script> | ||
670 | <style scoped lang="scss"> | ||
671 | @import "~@/styles/public.scss"; | ||
672 | |||
673 | /deep/.el-form { | ||
674 | display: flex; | ||
675 | flex-direction: column; | ||
676 | height: calc(100vh - 130px); | ||
677 | } | ||
678 | |||
679 | /deep/.el-form-item__label { | ||
680 | padding: 0; | ||
681 | } | ||
682 | |||
683 | /deep/.el-radio { | ||
684 | margin-right: 10px; | ||
685 | } | ||
686 | |||
687 | /deep/.el-select { | ||
688 | width: 100%; | ||
689 | } | ||
690 | |||
691 | /deep/.el-form-item { | ||
692 | margin-bottom: 3px; | ||
693 | } | ||
694 | |||
695 | .marginBot0 { | ||
696 | margin-bottom: 0 !important; | ||
697 | } | ||
698 | |||
699 | .slxx { | ||
700 | box-sizing: border-box; | ||
701 | } | ||
702 | |||
703 | .slxx_con { | ||
704 | flex: 1; | ||
705 | height: 100%; | ||
706 | background-color: #ffffff; | ||
707 | overflow-y: auto; | ||
708 | padding-right: 3px; | ||
709 | overflow-x: hidden; | ||
710 | } | ||
711 | |||
712 | .submit_btn { | ||
713 | height: 50px; | ||
714 | } | ||
715 | |||
716 | .btn { | ||
717 | text-align: center; | ||
718 | padding-top: 10px; | ||
719 | height: 36px; | ||
720 | background-color: #ffffff; | ||
721 | padding: 5px 0; | ||
722 | } | ||
723 | |||
724 | .textArea { | ||
725 | /deep/.el-textarea__inner { | ||
726 | min-height: 90px !important; | ||
727 | } | ||
728 | } | ||
729 | |||
730 | /deep/.el-form-item__label { | ||
731 | padding-bottom: 0px; | ||
732 | } | ||
733 | </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"> | ||
61 | <el-button @click="compare">变化情况对比+</el-button> | ||
62 | </el-col> | ||
63 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
64 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
65 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
66 | <el-radio label="1">是</el-radio> | ||
67 | <el-radio label="0">否</el-radio> | ||
68 | </el-radio-group> | ||
69 | </el-form-item> | ||
70 | </el-col> | ||
71 | </el-row> | ||
72 | <div class="triangle"></div> | ||
73 | |||
74 | </div> | ||
75 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
76 | <el-col :span="8"> | ||
77 | <el-form-item label="不动产单元号:"> | ||
78 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
79 | </el-form-item> | ||
80 | </el-col> | ||
81 | <el-col :span="16"> | ||
82 | <el-form-item label="坐落:"> | ||
83 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
84 | </el-form-item> | ||
85 | </el-col> | ||
86 | </el-row> | ||
87 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> | ||
88 | <el-col :span="8"> | ||
89 | <el-form-item label="土地用途:"> | ||
90 | <el-input disabled v-model="ruleForm.fdcq2.yt"></el-input> | ||
91 | </el-form-item> | ||
92 | </el-col> | ||
93 | <el-col :span="8"> | ||
94 | <el-form-item label="土地使用起止时间:"> | ||
95 | <el-input disabled v-model="ruleForm.fdcq2.tdsyqzsj"></el-input> | ||
96 | </el-form-item> | ||
97 | </el-col> | ||
98 | <el-col :span="8"> | ||
99 | <el-form-item label="土地使用期限:"> | ||
100 | <el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input> | ||
101 | </el-form-item> | ||
102 | </el-col> | ||
103 | </el-row> | ||
104 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
105 | <el-col :span="8"> | ||
106 | <el-form-item label="规划用途名称:"> | ||
107 | <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input> | ||
108 | </el-form-item> | ||
109 | </el-col> | ||
110 | <el-col :span="8"> | ||
111 | <el-form-item label="房屋性质:"> | ||
112 | <el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input> | ||
113 | </el-form-item> | ||
114 | </el-col> | ||
115 | <el-col :span="8"> | ||
116 | <el-form-item label="房屋结构:"> | ||
117 | <el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></el-input> | ||
118 | </el-form-item> | ||
119 | </el-col> | ||
120 | </el-row> | ||
121 | <el-row :gutter="10" v-if="ruleForm.fdcq2"> | ||
122 | <el-col :span="8"> | ||
123 | <el-form-item label="所在层:"> | ||
124 | <el-input disabled v-model="ruleForm.fdcq2.szc"></el-input> | ||
125 | </el-form-item> | ||
126 | </el-col> | ||
127 | <el-col :span="8"> | ||
128 | <el-form-item label="总层数:"> | ||
129 | <el-input | ||
130 | disabled | ||
131 | v-model.number="ruleForm.fdcq2.zcs" | ||
132 | oninput="value=value.replace(/[^0-9]/g,'')"></el-input> | ||
133 | </el-form-item> | ||
134 | </el-col> | ||
135 | <el-col :span="8"> | ||
136 | <el-form-item label="竣工时间:"> | ||
137 | <el-input disabled v-model="ruleForm.fdcq2.jgsj"></el-input> | ||
138 | </el-form-item> | ||
139 | </el-col> | ||
140 | </el-row> | ||
141 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
142 | <el-col :span="8"> | ||
143 | <el-form-item label="建筑面积:"> | ||
144 | <div class="flex"> | ||
145 | <el-input | ||
146 | disabled | ||
147 | v-model="ruleForm.qlxx.mj" | ||
148 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
149 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
150 | <el-option | ||
151 | v-for="item in dictData['A7']" | ||
152 | :key="item.dcode" | ||
153 | :label="item.dname" | ||
154 | :value="item.dcode"> | ||
155 | </el-option> | ||
156 | </el-select> | ||
157 | </div> | ||
158 | </el-form-item> | ||
159 | </el-col> | ||
160 | <el-col :span="8"> | ||
161 | <el-form-item label="专有建筑面积:"> | ||
162 | <div class="flex"> | ||
163 | <el-input | ||
164 | disabled | ||
165 | v-model="ruleForm.fdcq2.zyjzmj" | ||
166 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
167 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
168 | <el-option | ||
169 | v-for="item in dictData['A7']" | ||
170 | :key="item.dcode" | ||
171 | :label="item.dname" | ||
172 | :value="item.dcode"> | ||
173 | </el-option> | ||
174 | </el-select> | ||
175 | </div> | ||
176 | </el-form-item> | ||
177 | </el-col> | ||
178 | <el-col :span="8"> | ||
179 | <el-form-item label="分摊建筑面积:"> | ||
180 | <div class="flex"> | ||
181 | <el-input | ||
182 | disabled | ||
183 | v-model="ruleForm.fdcq2.ftjzmj" | ||
184 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
185 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
186 | <el-option | ||
187 | v-for="item in dictData['A7']" | ||
188 | :key="item.dcode" | ||
189 | :label="item.dname" | ||
190 | :value="item.dcode"> | ||
191 | </el-option> | ||
192 | </el-select> | ||
193 | </div> | ||
194 | </el-form-item> | ||
195 | </el-col> | ||
196 | </el-row> | ||
197 | <div class="slxx_title title-block"> | ||
198 | 土地用途 | ||
199 | <div class="triangle"></div> | ||
200 | </div> | ||
201 | <tdytTable | ||
202 | :ableOperation="viewEdit" | ||
203 | :tableData="ruleForm.tdytqxList" | ||
204 | @upDateTdytxxList="upDateTdytxxList" /> | ||
205 | <div class="slxx_title title-block"> | ||
206 | 权利人信息 | ||
207 | <div class="triangle"></div> | ||
208 | </div> | ||
209 | <el-row :gutter="10"> | ||
210 | <el-col :span="12"> | ||
211 | <el-form-item label="共有方式:"> | ||
212 | <el-radio-group | ||
213 | :disabled="!viewEdit" | ||
214 | v-model="ruleForm.sldy.gyfs"> | ||
215 | <el-radio label="0">单独所有</el-radio> | ||
216 | <el-radio label="1">共同共有</el-radio> | ||
217 | <el-radio label="2">按份所有</el-radio> | ||
218 | <el-radio label="3">其它共有</el-radio> | ||
219 | </el-radio-group> | ||
220 | </el-form-item> | ||
221 | </el-col> | ||
222 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
223 | <el-form-item label="是否分别持证:"> | ||
224 | <el-radio-group | ||
225 | v-model="ruleForm.sldy.sqfbcz" | ||
226 | :disabled="!viewEdit" | ||
227 | @input="updaterow()"> | ||
228 | <el-radio :label="1">是</el-radio> | ||
229 | <el-radio :label="0">否</el-radio> | ||
230 | </el-radio-group> | ||
231 | </el-form-item> | ||
232 | </el-col> | ||
233 | <el-col | ||
234 | :span="6" | ||
235 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
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 | @upDateQlrxxList="upDateQlrxxList" | ||
253 | :disabled="!viewEdit" | ||
254 | :tableData="ruleForm.qlrList" | ||
255 | :gyfs="ruleForm.sldy.gyfs" /> | ||
256 | <div class="slxx_title title-block"> | ||
257 | 登记原因 | ||
258 | <div class="triangle"></div> | ||
259 | </div> | ||
260 | <el-row :gutter="10"> | ||
261 | <el-col> | ||
262 | <el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="fdcq2.djyy"> | ||
263 | <el-input | ||
264 | class="textArea" | ||
265 | type="textarea" | ||
266 | maxlength="500" | ||
267 | show-word-limit | ||
268 | :disabled="!viewEdit" | ||
269 | v-model="ruleForm.fdcq2.djyy"> | ||
270 | </el-input> | ||
271 | </el-form-item> | ||
272 | </el-col> | ||
273 | </el-row> | ||
274 | </div> | ||
275 | <el-row class="btn" v-if="isSave"> | ||
276 | <el-form-item> | ||
277 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
278 | </el-form-item> | ||
279 | </el-row> | ||
280 | </el-form> | ||
281 | </div> | ||
282 | </template> | ||
283 | <script> | ||
284 | import ywmix from "@/views/ywbl/mixin/index"; | ||
285 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
286 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
287 | import { Init, saveData } from "@/api/workflow/fwsyqFlow.js"; | ||
288 | import { mapGetters } from "vuex"; | ||
289 | export default { | ||
290 | mixins: [ywmix], | ||
291 | mounted () { | ||
292 | let that = this | ||
293 | this.loading = true | ||
294 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
295 | this.propsParam = this.$attrs; | ||
296 | var formdata = new FormData(); | ||
297 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
298 | formdata.append("djlx", this.propsParam.djlx); | ||
299 | formdata.append("isEdit", this.viewEdit); | ||
300 | Init(formdata).then((res) => { | ||
301 | setTimeout(() => { | ||
302 | this.loading = false | ||
303 | }, 200) | ||
304 | if (res.code === 200 && res.result) { | ||
305 | that.ruleForm = { | ||
306 | ...res.result, | ||
307 | ...res.result.zdjbxxdatas, | ||
308 | ...res.result.qlxxdatas, | ||
309 | ...res.result.jsydsyqdatas, | ||
310 | }; | ||
311 | that.ruleForm.qlrList.forEach((item) => { | ||
312 | item.id = item.bsmSqr | ||
313 | if (item.sfczr == '1') { | ||
314 | that.czr = item.bsmSqr | ||
315 | } | ||
316 | }) | ||
317 | that.czrOptions = that.ruleForm.qlrList; | ||
318 | that.isSave = that.viewEdit | ||
319 | } else { | ||
320 | that.isSave = false | ||
321 | that.$confirm(res.message, '提示', { | ||
322 | cancelButtonText: '取消', | ||
323 | showConfirmButton: false, | ||
324 | type: 'warning' | ||
325 | }) | ||
326 | } | ||
327 | }).catch(() => { | ||
328 | this.loading = false | ||
329 | this.isSave = false | ||
330 | }) | ||
331 | }, | ||
332 | components: { qlrCommonTable, tdytTable }, | ||
333 | computed: { | ||
334 | ...mapGetters(["dictData", "flag"]), | ||
335 | }, | ||
336 | data () { | ||
337 | return { | ||
338 | isSave: true, | ||
339 | loading: false, | ||
340 | mjdw: "1", | ||
341 | //表单是否可操作 | ||
342 | viewEdit: false, | ||
343 | disabled: true, | ||
344 | tdytOption: [], | ||
345 | czrOptions: [], | ||
346 | czr: "", | ||
347 | ruleForm: { | ||
348 | flow: { | ||
349 | ywh: "", | ||
350 | }, | ||
351 | slry: "", | ||
352 | slsj: "", | ||
353 | qllx: "", | ||
354 | djlx: "", | ||
355 | djqx: "", | ||
356 | sldy: { | ||
357 | gyfs: "", | ||
358 | }, | ||
359 | // 宗地代码 | ||
360 | zddm: "", | ||
361 | bdcdyh: "", | ||
362 | qlxzmc: "", | ||
363 | qlrxx: [], | ||
364 | // 自然幢号 | ||
365 | zrzh: "", | ||
366 | // 户不动产单元号 | ||
367 | hbdcdyh: "", | ||
368 | djzt: "", | ||
369 | // 图幅丘幢号 | ||
370 | tfqzh: "", | ||
371 | zl: "", | ||
372 | // 房屋用途 | ||
373 | fwyt: "", | ||
374 | fwxz: "", | ||
375 | fwjg: "", | ||
376 | // 权利人信息 | ||
377 | // 是否分别持证 | ||
378 | sffbcz: "", | ||
379 | // 持证人 | ||
380 | czr: "", | ||
381 | djyy: "", | ||
382 | // 规划用途名称 | ||
383 | zdjbxx: { | ||
384 | ghytmc: "", | ||
385 | }, | ||
386 | fdcq2: { | ||
387 | fwxzmc: "", | ||
388 | }, | ||
389 | slsq: { | ||
390 | gyfs: "", | ||
391 | }, | ||
392 | }, | ||
393 | //传递参数 | ||
394 | propsParam: {}, | ||
395 | rules: { | ||
396 | 'fdcq2.djyy': [ | ||
397 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
398 | ] | ||
399 | } | ||
400 | } | ||
401 | }, | ||
402 | methods: { | ||
403 | /** | ||
404 | * @description: dataSelectClick | ||
405 | * @author: renchao | ||
406 | */ | ||
407 | dataSelectClick () { | ||
408 | this.$popup( | ||
409 | "房屋所有权", | ||
410 | this.BASE_API.SERVERAPI + "/rest/ywbl/fdcq2/slxxCompareDetai", | ||
411 | { | ||
412 | formData: { | ||
413 | bsmSldy: this.propsParam.bsmSldy, | ||
414 | qllx: this.propsParam.qllx, | ||
415 | }, | ||
416 | } | ||
417 | ); | ||
418 | }, | ||
419 | /** | ||
420 | * @description: 更新土地用途信息 | ||
421 | * @param {*} val | ||
422 | * @author: renchao | ||
423 | */ | ||
424 | upDateTdytxxList (val) { | ||
425 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
426 | this.key++; | ||
427 | }, | ||
428 | /** | ||
429 | * @description: 是否持证人变化 | ||
430 | * @param {*} val | ||
431 | * @author: renchao | ||
432 | */ | ||
433 | updaterow () { | ||
434 | this.czr = ""; | ||
435 | }, | ||
436 | /** | ||
437 | * @description: 更新权利人信息 | ||
438 | * @param {*} val | ||
439 | * @author: renchao | ||
440 | */ | ||
441 | upDateQlrxxList (val) { | ||
442 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
443 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
444 | this.czrOptions = this.ruleForm.qlrList; | ||
445 | } | ||
446 | this.num = 0 | ||
447 | this.ruleForm.qlrList.forEach(item => { | ||
448 | if (item.id == this.czr) { | ||
449 | this.num++ | ||
450 | } | ||
451 | }) | ||
452 | if (this.num == 0) { | ||
453 | this.czr = '' | ||
454 | } | ||
455 | }, | ||
456 | /** | ||
457 | * @description: 更新权利人信息 | ||
458 | * @param {*} val | ||
459 | * @author: renchao | ||
460 | */ | ||
461 | upDateYwrxxList (val) { | ||
462 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
463 | }, | ||
464 | /** | ||
465 | * @description: onSubmit | ||
466 | * @author: renchao | ||
467 | */ | ||
468 | onSubmit () { | ||
469 | let that = this; | ||
470 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
471 | if (arr.length > 0) { | ||
472 | this.$message({ | ||
473 | showClose: true, | ||
474 | message: "土地用途不能为空", | ||
475 | type: "error", | ||
476 | }); | ||
477 | return false; | ||
478 | } | ||
479 | if (this.ruleForm.qlrList.length == 0) { | ||
480 | this.$message({ | ||
481 | showClose: true, | ||
482 | message: "请确认权利人信息", | ||
483 | type: "error", | ||
484 | }); | ||
485 | return false; | ||
486 | } | ||
487 | |||
488 | if (this.ruleForm.sldy.gyfs == "0") { | ||
489 | if (this.ruleForm.qlrList.length > 1) { | ||
490 | this.$message({ | ||
491 | showClose: true, | ||
492 | message: "共有方式:单独所有,权利人只能是一个人", | ||
493 | type: "error", | ||
494 | }); | ||
495 | return false; | ||
496 | } | ||
497 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
498 | } else { | ||
499 | if (this.ruleForm.qlrList.length <= 1) { | ||
500 | this.$message({ | ||
501 | showClose: true, | ||
502 | message: | ||
503 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
504 | type: "error", | ||
505 | }); | ||
506 | return false; | ||
507 | } | ||
508 | //是否分别持证 | ||
509 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
510 | //是 | ||
511 | this.ruleForm.qlrList.forEach((item, index) => { | ||
512 | item.sfczr = "1"; | ||
513 | }); | ||
514 | } else { | ||
515 | if (that.czr === '') { | ||
516 | that.$message({ | ||
517 | showClose: true, | ||
518 | message: "请选择持证人", | ||
519 | type: "error" | ||
520 | }); | ||
521 | return false; | ||
522 | } | ||
523 | this.ruleForm.qlrList.forEach(item => { | ||
524 | if (item.id == that.czr) { | ||
525 | item.sfczr = "1" | ||
526 | } else { | ||
527 | item.sfczr = "0" | ||
528 | } | ||
529 | }) | ||
530 | } | ||
531 | } | ||
532 | this.$refs['ruleForm'].validate((valid) => { | ||
533 | if (valid) { | ||
534 | that.$store.dispatch("user/refreshPage", false); | ||
535 | saveData(that.ruleForm).then((res) => { | ||
536 | if (res.code === 200) { | ||
537 | that.$message({ | ||
538 | showClose: true, | ||
539 | message: "保存成功!", | ||
540 | type: "success", | ||
541 | }); | ||
542 | that.$store.dispatch("user/refreshPage", true); | ||
543 | } else { | ||
544 | that.$message({ | ||
545 | showClose: true, | ||
546 | message: res.message, | ||
547 | type: "error", | ||
548 | }); | ||
549 | } | ||
550 | }) | ||
551 | |||
552 | } else { | ||
553 | that.$message({ | ||
554 | showClose: true, | ||
555 | message: "请输入登记原因", | ||
556 | type: "error" | ||
557 | }) | ||
558 | return false | ||
559 | } | ||
560 | }) | ||
561 | }, | ||
562 | /** | ||
563 | * @description: compare | ||
564 | * @author: renchao | ||
565 | */ | ||
566 | compare () { | ||
567 | this.$popupDialog( | ||
568 | this.ruleForm.qlxx.qllxmc, | ||
569 | "registerBook/comparison", | ||
570 | { | ||
571 | bsmQlxx: this.ruleForm.qlxx.bsmQlxx, | ||
572 | dqqllx: "FDCQ2", | ||
573 | }, | ||
574 | "80%", | ||
575 | true | ||
576 | ); | ||
577 | }, | ||
578 | }, | ||
579 | }; | ||
580 | </script> | ||
581 | <style scoped lang="scss"> | ||
582 | @import "~@/styles/public.scss"; | ||
583 | @import "~@/styles/slxx/slxx.scss"; | ||
584 | /deep/.el-form { | ||
585 | display: flex; | ||
586 | flex-direction: column; | ||
587 | height: calc(100vh - 130px); | ||
588 | } | ||
589 | |||
590 | /deep/.el-form-item__label { | ||
591 | padding: 0; | ||
592 | } | ||
593 | |||
594 | /deep/.el-radio { | ||
595 | margin-right: 10px; | ||
596 | } | ||
597 | |||
598 | /deep/.el-select { | ||
599 | width: 100%; | ||
600 | } | ||
601 | |||
602 | /deep/.el-form-item { | ||
603 | margin-bottom: 3px; | ||
604 | } | ||
605 | |||
606 | .marginBot0 { | ||
607 | margin-bottom: 0 !important; | ||
608 | } | ||
609 | |||
610 | .slxx { | ||
611 | box-sizing: border-box; | ||
612 | } | ||
613 | |||
614 | .slxx_con { | ||
615 | flex: 1; | ||
616 | height: 100%; | ||
617 | background-color: #ffffff; | ||
618 | overflow-y: auto; | ||
619 | padding-right: 3px; | ||
620 | overflow-x: hidden; | ||
621 | } | ||
622 | |||
623 | .submit_btn { | ||
624 | height: 50px; | ||
625 | } | ||
626 | |||
627 | .btn { | ||
628 | text-align: center; | ||
629 | padding-top: 10px; | ||
630 | height: 36px; | ||
631 | background-color: #ffffff; | ||
632 | padding: 5px 0; | ||
633 | } | ||
634 | |||
635 | .textArea { | ||
636 | /deep/.el-textarea__inner { | ||
637 | min-height: 90px !important; | ||
638 | } | ||
639 | } | ||
640 | |||
641 | /deep/.el-form-item__label { | ||
642 | padding-bottom: 0px; | ||
643 | } | ||
644 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-08-24 16:15:50 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="djxxTable" :style="{'max-height': this.timeLineHeight + 'px' }" | ||
8 | style="overflow-y:scroll;"> | ||
9 | <div class="tableBox"> | ||
10 | <div class="title"> | ||
11 | <span>{{ title }}</span> | ||
12 | </div> | ||
13 | <div class="xxTableBox"> | ||
14 | <table class="xxTable"> | ||
15 | <tr> | ||
16 | <td></td> | ||
17 | <td>变更前</td> | ||
18 | <td>变更后</td> | ||
19 | </tr> | ||
20 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
21 | <td> | ||
22 | {{ item.label }} | ||
23 | </td> | ||
24 | <td | ||
25 | v-for="(row, index) in tableData" | ||
26 | :key="index" | ||
27 | :class="[ | ||
28 | row.qszt == '2' ? 'lishi' : '', | ||
29 | row.qszt == '0' ? 'linshi' : '', | ||
30 | row.qlzt == '4' ? 'linshi' : '', | ||
31 | |||
32 | item.prop == 'qszt' && row.qlzt == '3' ? 'linshiIcon' : '', | ||
33 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', | ||
34 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', | ||
35 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '' | ||
36 | ]"> | ||
37 | <div class="icon" v-if="item.prop == 'qszt' &&row.qlzt == '1'"> | ||
38 | 有效 | ||
39 | </div> | ||
40 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '2'"> | ||
41 | 正在补录 | ||
42 | </div> | ||
43 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '3'"> | ||
44 | 正在申请 | ||
45 | </div> | ||
46 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '4'"> | ||
47 | 正在注销 | ||
48 | </div> | ||
49 | |||
50 | <p v-if="!['djyy','fj'].includes(item.prop)"> | ||
51 | <span v-if="item.prop == 'qszt'"> | ||
52 | {{ getQsztName(row[item.prop]) }} | ||
53 | </span> | ||
54 | <span v-else>{{ row[item.prop] }}</span> | ||
55 | </p> | ||
56 | |||
57 | <el-tooltip v-else effect="dark" :content="row[item.prop]" placement="top" popper-class="tooltip-width"> | ||
58 | <span class="ellipsis-line"> | ||
59 | {{ row[item.prop] }} | ||
60 | </span> | ||
61 | </el-tooltip> | ||
62 | </td> | ||
63 | </tr> | ||
64 | </table> | ||
65 | </div> | ||
66 | </div> | ||
67 | </div> | ||
68 | </template> | ||
69 | |||
70 | <script> | ||
71 | import { getFdcqLSInfo } from "@/api/djbDetail.js"; | ||
72 | import { datas } from "@/views/registerBook/qlxxFormData.js"; | ||
73 | |||
74 | export default { | ||
75 | data () { | ||
76 | return { | ||
77 | title: "房地产权登记信息(独幢、层、套、间房屋)", | ||
78 | qsztList: datas.columns().qsztList, | ||
79 | checkList: datas.columns().checkList, | ||
80 | //传递参数 | ||
81 | propsParam: this.$attrs, | ||
82 | //列表数据 | ||
83 | tableData: [], | ||
84 | //空列值个数 | ||
85 | emptycolNum: 1, | ||
86 | //列名称对象 | ||
87 | columns: datas.columns().FDCQ2, | ||
88 | tdColumns: datas.columns().JSYDSYQ | ||
89 | |||
90 | }; | ||
91 | }, | ||
92 | created () { | ||
93 | this.loadData(); | ||
94 | }, | ||
95 | mounted () { | ||
96 | this.timeLineHeight = document.documentElement.clientHeight - 210; | ||
97 | window.onresize = () => { | ||
98 | this.timeLineHeight = document.documentElement.clientHeight - 210; | ||
99 | }; | ||
100 | }, | ||
101 | methods: { | ||
102 | /** | ||
103 | * @description: loadData | ||
104 | * @author: renchao | ||
105 | */ | ||
106 | loadData () { | ||
107 | var formdata = new FormData(); | ||
108 | formdata.append("bsmSldy", this.propsParam.formData.bsmSldy); | ||
109 | formdata.append("qllx", this.propsParam.formData.qllx); | ||
110 | formdata.append("isEdit", this.ableOperation); | ||
111 | getFdcqLSInfo(formdata).then((res) => { | ||
112 | if (res.code === 200) { | ||
113 | this.tableData = res.result; | ||
114 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
115 | this.emptycolNum = | ||
116 | datas.columns().emptycolNum - this.tableData.length; | ||
117 | } else { | ||
118 | this.emptycolNum = 0; | ||
119 | } | ||
120 | } | ||
121 | }); | ||
122 | }, | ||
123 | /** | ||
124 | * @description: checkChange | ||
125 | * @author: renchao | ||
126 | */ | ||
127 | checkChange () { | ||
128 | if (this.checkList.length === 0) { | ||
129 | this.tableData = []; | ||
130 | this.emptycolNum = datas.columns().emptycolNum; | ||
131 | } else { | ||
132 | this.loadData(); | ||
133 | } | ||
134 | }, | ||
135 | /** | ||
136 | * @description: getQsztName | ||
137 | * @param {*} code | ||
138 | * @author: renchao | ||
139 | */ | ||
140 | getQsztName (code) { | ||
141 | let name = ""; | ||
142 | for (let item of this.qsztList) { | ||
143 | if (item.value == code) { | ||
144 | name = item.label; | ||
145 | break; | ||
146 | } | ||
147 | } | ||
148 | return name; | ||
149 | }, | ||
150 | }, | ||
151 | }; | ||
152 | </script> | ||
153 | |||
154 | <style lang="scss" scoped> | ||
155 | @import "~@/views/registerBook/qlxxCommon.scss"; | ||
156 | </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 | <cfBdcdyTable :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 cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable"; | ||
161 | import qjhTable from "@/views/workflow/components/qjhTable"; | ||
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, cfBdcdyTable,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> |
src/views/ywbl/slsqxx/fwsyq/slxx.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-31 10:13:28 | ||
5 | --> | ||
6 | <template> | ||
7 | <!-- 受理信息 --> | ||
8 | <div class="slxx"> | ||
9 | <el-form | ||
10 | :model="ruleForm" | ||
11 | :rules="rules" | ||
12 | ref="ruleForm" | ||
13 | v-Loading="loading" | ||
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="业务号:" prop="ywh"> | ||
25 | <el-input disabled v-model="ruleForm.ywh"></el-input> | ||
26 | </el-form-item> | ||
27 | </el-col> | ||
28 | <el-col :span="8"> | ||
29 | <el-form-item label="受理人员:" prop="slry"> | ||
30 | <el-input disabled v-model="ruleForm.slry"></el-input> | ||
31 | </el-form-item> | ||
32 | </el-col> | ||
33 | <el-col :span="8"> | ||
34 | <el-form-item label="受理时间:" prop="slsj"> | ||
35 | <el-input disabled v-model="ruleForm.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-select | ||
43 | disabled | ||
44 | v-model="ruleForm.qllx" | ||
45 | filterable | ||
46 | clearable | ||
47 | placeholder="请选择权利类型"> | ||
48 | <el-option | ||
49 | v-for="item in dictData['A8']" | ||
50 | :key="item.dcode" | ||
51 | :label="item.dname" | ||
52 | :value="item.dcode"> | ||
53 | </el-option> | ||
54 | </el-select> | ||
55 | </el-form-item> | ||
56 | </el-col> | ||
57 | <el-col :span="8"> | ||
58 | <el-form-item label="登记类型:" prop="djlx"> | ||
59 | <el-select | ||
60 | disabled | ||
61 | v-model="ruleForm.djlx" | ||
62 | filterable | ||
63 | clearable | ||
64 | placeholder="请选择登记类型"> | ||
65 | <el-option | ||
66 | v-for="item in dictData['A21']" | ||
67 | :key="item.dcode" | ||
68 | :label="item.dname" | ||
69 | :value="item.dcode"> | ||
70 | </el-option> | ||
71 | </el-select> | ||
72 | </el-form-item> | ||
73 | </el-col> | ||
74 | <el-col :span="8"> | ||
75 | <el-form-item label="登记情形:" prop="djqx"> | ||
76 | <el-input disabled v-model="ruleForm.djqxmc"></el-input> | ||
77 | </el-form-item> | ||
78 | </el-col> | ||
79 | </el-row> | ||
80 | <div class="slxx_title title-block"> | ||
81 | <el-row> | ||
82 | <el-col :span="20"> | ||
83 | 不动产单元情况 | ||
84 | </el-col> | ||
85 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
86 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
87 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
88 | <el-radio label="1">是</el-radio> | ||
89 | <el-radio label="0">否</el-radio> | ||
90 | </el-radio-group> | ||
91 | </el-form-item> | ||
92 | </el-col> | ||
93 | </el-row> | ||
94 | <div class="triangle"></div> | ||
95 | </div> | ||
96 | <el-row :gutter="10"> | ||
97 | <el-col :span="8"> | ||
98 | <el-form-item label="宗地代码:" prop="zddm"> | ||
99 | <el-input disabled v-model="ruleForm.bdcdyh"></el-input> | ||
100 | </el-form-item> | ||
101 | </el-col> | ||
102 | <el-col :span="8"> | ||
103 | <el-form-item label="不动产单元号:" prop="bdcdyh"> | ||
104 | <el-input disabled v-model="ruleForm.bdcdyh"></el-input> | ||
105 | </el-form-item> | ||
106 | </el-col> | ||
107 | <el-col :span="8"> | ||
108 | <el-form-item label="权利性质:" prop="qlxzmc"> | ||
109 | <el-input disabled v-model="ruleForm.qlxzmc"></el-input> | ||
110 | </el-form-item> | ||
111 | </el-col> | ||
112 | </el-row> | ||
113 | <el-row :gutter="10"> | ||
114 | <el-col :span="8"> | ||
115 | <el-form-item label="自然幢号:" prop="zrzh"> | ||
116 | <el-input disabled v-model="ruleForm.zrzDetail.zrzh"></el-input> | ||
117 | </el-form-item> | ||
118 | </el-col> | ||
119 | <el-col :span="8"> | ||
120 | <el-form-item label="户不动产单元号:" prop="ghytmc"> | ||
121 | <el-input disabled v-model="ruleForm.ghytmc"></el-input> | ||
122 | </el-form-item> | ||
123 | </el-col> | ||
124 | <el-col :span="8"> | ||
125 | <el-form-item label="登记状态:" prop="djzt"> | ||
126 | <el-select disabled v-model="ruleForm.djzt" filterable clearable> | ||
127 | <el-option | ||
128 | v-for="item in djztList" | ||
129 | :key="item.value" | ||
130 | :label="item.label" | ||
131 | :value="item.value"> | ||
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="图幅丘幢号:" prop="tfqzh"> | ||
140 | <el-input disabled v-model="ruleForm.tfqzh"></el-input> | ||
141 | </el-form-item> | ||
142 | </el-col> | ||
143 | |||
144 | <el-col :span="16"> | ||
145 | <el-form-item label="坐落:" prop="zl"> | ||
146 | <el-input disabled v-model="ruleForm.zl"></el-input> | ||
147 | </el-form-item> | ||
148 | </el-col> | ||
149 | </el-row> | ||
150 | <el-row :gutter="10"> | ||
151 | <el-col :span="8"> | ||
152 | <el-form-item label="房屋用途:"> | ||
153 | <el-input disabled v-model="ruleForm.ytmc"></el-input> | ||
154 | </el-form-item> | ||
155 | </el-col> | ||
156 | <el-col :span="8"> | ||
157 | <el-form-item label="房屋性质:"> | ||
158 | <el-input disabled v-model="ruleForm.fwxz"></el-input> | ||
159 | </el-form-item> | ||
160 | </el-col> | ||
161 | <el-col :span="8"> | ||
162 | <el-form-item label="房屋结构:"> | ||
163 | <el-input disabled v-model="ruleForm.fwjg"></el-input> | ||
164 | </el-form-item> | ||
165 | </el-col> | ||
166 | </el-row> | ||
167 | <div class="slxx_title title-block"> | ||
168 | 土地用途 | ||
169 | <div class="triangle"></div> | ||
170 | </div> | ||
171 | <tdytTable | ||
172 | :ableOperation="viewEdit" | ||
173 | :tableData="ruleForm.tdytqxList" | ||
174 | @upDateTdytxxList="upDateTdytxxList" /> | ||
175 | <div class="slxx_title title-block"> | ||
176 | 权利人信息 | ||
177 | <div class="triangle"></div> | ||
178 | </div> | ||
179 | <el-row :gutter="10"> | ||
180 | <el-col :span="14"> | ||
181 | <el-form-item label="共有方式:"> | ||
182 | <el-radio-group :disabled="!viewEdit" v-model="ruleForm.gyfs"> | ||
183 | <el-radio label="1">单独所有</el-radio> | ||
184 | <el-radio label="2">共同共有</el-radio> | ||
185 | <el-radio label="3">按份所有</el-radio> | ||
186 | </el-radio-group> | ||
187 | </el-form-item> | ||
188 | </el-col> | ||
189 | |||
190 | <el-col :span="5" v-show="ruleForm.gyfs != '1'"> | ||
191 | <el-form-item label="是否分别持证:"> | ||
192 | <el-radio-group | ||
193 | v-model="ruleForm.sffbcz" | ||
194 | :disabled="!viewEdit" | ||
195 | @input="updaterow()"> | ||
196 | <el-radio label="1">是</el-radio> | ||
197 | <el-radio label="0">否</el-radio> | ||
198 | </el-radio-group> | ||
199 | </el-form-item> | ||
200 | </el-col> | ||
201 | <el-col | ||
202 | :span="5" | ||
203 | v-show="ruleForm.gyfs != '0' && ruleForm.sffbcz == '0'"> | ||
204 | <el-form-item label="持证人:"> | ||
205 | <el-select | ||
206 | v-model="czr" | ||
207 | placeholder="持证人" | ||
208 | :disabled="!viewEdit"> | ||
209 | <el-option | ||
210 | v-for="(item,index) in czrOptions" | ||
211 | :key="index" | ||
212 | :label="item.sqrmc" | ||
213 | :value="item.id"> | ||
214 | </el-option> | ||
215 | </el-select> | ||
216 | </el-form-item> | ||
217 | </el-col> | ||
218 | </el-row> | ||
219 | <qlrCommonTable | ||
220 | :tableData="ruleForm.qlrList" | ||
221 | @upDateQlrxxList="upDateQlrxxList" | ||
222 | :gyfs="ruleForm.gyfs" | ||
223 | :disabled="viewEdit" /> | ||
224 | <div class="slxx_title title-block"> | ||
225 | 登记原因 | ||
226 | <div class="triangle"></div> | ||
227 | </div> | ||
228 | <el-row :gutter="10"> | ||
229 | <el-col> | ||
230 | <el-form-item label="登记原因:" prop="djyy"> | ||
231 | <el-input | ||
232 | class="textArea" | ||
233 | type="textarea" | ||
234 | maxlength="500" | ||
235 | show-word-limit | ||
236 | :disabled="!viewEdit" | ||
237 | v-model="ruleForm.djyy"> | ||
238 | </el-input> | ||
239 | </el-form-item> | ||
240 | </el-col> | ||
241 | </el-row> | ||
242 | </div> | ||
243 | <el-row class="btn" v-if="isSave"> | ||
244 | <el-form-item> | ||
245 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
246 | </el-form-item> | ||
247 | </el-row> | ||
248 | </el-form> | ||
249 | </div> | ||
250 | </template> | ||
251 | <script> | ||
252 | import ywmix from "@/views/ywbl/mixin/index"; | ||
253 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
254 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
255 | import { Init } from "@/api/workflow/fwsyqFlow.js"; | ||
256 | import { mapGetters } from "vuex"; | ||
257 | export default { | ||
258 | mixins: [ywmix], | ||
259 | mounted () { | ||
260 | let that = this | ||
261 | this.loading = true | ||
262 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
263 | this.propsParam = this.$attrs; | ||
264 | var formdata = new FormData(); | ||
265 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
266 | Init(formdata).then((res) => { | ||
267 | setTimeout(() => { | ||
268 | this.loading = false | ||
269 | }, 200) | ||
270 | if (res.code === 200 && res.result) { | ||
271 | this.ruleForm = { | ||
272 | ...res.result, | ||
273 | ...res.result.zdjbxxdatas, | ||
274 | ...res.result.qlxxdatas, | ||
275 | ...res.result.jsydsyqdatas, | ||
276 | }; | ||
277 | this.ruleForm.qlrList.forEach((item) => { | ||
278 | item.id = item.bsmSqr | ||
279 | if (item.sfczr == '1') { | ||
280 | that.czr = item.bsmSqr | ||
281 | } | ||
282 | }); | ||
283 | this.czrOptions = this.ruleForm.qlrList; | ||
284 | that.isSave = this.viewEdit | ||
285 | } else { | ||
286 | that.isSave = false | ||
287 | that.$confirm(res.message, '提示', { | ||
288 | cancelButtonText: '取消', | ||
289 | showConfirmButton: false, | ||
290 | type: 'warning' | ||
291 | }) | ||
292 | } | ||
293 | }).catch(() => { | ||
294 | this.loading = false | ||
295 | this.isSave = false | ||
296 | }) | ||
297 | }, | ||
298 | components: { qlrCommonTable, tdytTable }, | ||
299 | computed: { | ||
300 | ...mapGetters(["dictData", "flag"]), | ||
301 | }, | ||
302 | data () { | ||
303 | return { | ||
304 | isSave: true, | ||
305 | // 键名转换,方法默认是label和children进行树状渲染 | ||
306 | normalizer (node) { | ||
307 | //方法 | ||
308 | if (node.children == null || node.children == "null") { | ||
309 | delete node.children; | ||
310 | } | ||
311 | return { | ||
312 | id: node.dcode, | ||
313 | label: node.dname, | ||
314 | }; | ||
315 | }, | ||
316 | loading: false, | ||
317 | //表单是否可操作 | ||
318 | viewEdit: false, | ||
319 | disabled: true, | ||
320 | tdytOption: [], | ||
321 | czrOptions: [], | ||
322 | czr: "", | ||
323 | ruleForm: { | ||
324 | ywh: "", | ||
325 | slry: "", | ||
326 | slsj: "", | ||
327 | qllx: "", | ||
328 | djlx: "", | ||
329 | djqx: "", | ||
330 | // 宗地代码 | ||
331 | zddm: "", | ||
332 | bdcdyh: "", | ||
333 | qlxzmc: "", | ||
334 | qlrxx: [], | ||
335 | // 自然幢号 | ||
336 | zrzh: "", | ||
337 | // 户不动产单元号 | ||
338 | ghytmc: "", | ||
339 | djzt: "", | ||
340 | // 图幅丘幢号 | ||
341 | tfqzh: "", | ||
342 | zl: "", | ||
343 | // 房屋用途 | ||
344 | fwyt: "", | ||
345 | fwxz: "", | ||
346 | fwjg: "", | ||
347 | // 权利人信息 | ||
348 | gyfs: "1", | ||
349 | // 是否分别持证 | ||
350 | sffbcz: "", | ||
351 | // 持证人 | ||
352 | czr: "", | ||
353 | djyy: "", | ||
354 | }, | ||
355 | //传递参数 | ||
356 | propsParam: {}, | ||
357 | rules: { | ||
358 | djyy: [ | ||
359 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
360 | ] | ||
361 | } | ||
362 | } | ||
363 | }, | ||
364 | methods: { | ||
365 | /** | ||
366 | * @description: 更新土地用途信息 | ||
367 | * @param {*} val | ||
368 | * @author: renchao | ||
369 | */ | ||
370 | upDateTdytxxList (val) { | ||
371 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
372 | this.czrOptions = this.ruleForm.qlrData; | ||
373 | this.key++; | ||
374 | }, | ||
375 | /** | ||
376 | * @description: 更新权利人信息 | ||
377 | * @param {*} val | ||
378 | * @author: renchao | ||
379 | */ | ||
380 | upDateQlrxxList (val) { | ||
381 | if (!_.isEqual(val, this.ruleForm.qlrList)) { | ||
382 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
383 | this.czrOptions = this.ruleForm.qlrList; | ||
384 | } | ||
385 | this.num = 0 | ||
386 | this.ruleForm.qlrList.forEach(item => { | ||
387 | if (item.id == this.czr) { | ||
388 | this.num++ | ||
389 | } | ||
390 | }) | ||
391 | if (this.num == 0) { | ||
392 | this.czr = '' | ||
393 | } | ||
394 | }, | ||
395 | /** | ||
396 | * @description: 是否持证人变化 | ||
397 | * @param {*} val | ||
398 | * @author: renchao | ||
399 | */ | ||
400 | updaterow () { | ||
401 | this.czr = ""; | ||
402 | }, | ||
403 | /** | ||
404 | * @description: list | ||
405 | * @param {*} bsmSldy | ||
406 | * @author: renchao | ||
407 | */ | ||
408 | list (bsmSldy) { | ||
409 | var formdata = new FormData(); | ||
410 | formdata.append("bsmSldy", bsmSldy); | ||
411 | formdata.append("isEdit", this.viewEdit); | ||
412 | Init(formdata).then((res) => { | ||
413 | if (res.code === 200 && res.result) { | ||
414 | this.ruleForm = { | ||
415 | ...res.result, | ||
416 | ...res.result.zdjbxxdatas, | ||
417 | ...res.result.qlxxdatas, | ||
418 | ...res.result.jsydsyqdatas, | ||
419 | }; | ||
420 | } else { | ||
421 | this.$message.error(res.message); | ||
422 | } | ||
423 | }); | ||
424 | }, | ||
425 | /** | ||
426 | * @description: onSubmit | ||
427 | * @author: renchao | ||
428 | */ | ||
429 | onSubmit () { | ||
430 | let that = this; | ||
431 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
432 | if (arr.length > 0) { | ||
433 | this.$message({ | ||
434 | showClose: true, | ||
435 | message: "土地用途不能为空", | ||
436 | type: "error", | ||
437 | }); | ||
438 | return false; | ||
439 | } | ||
440 | if (this.ruleForm.qlrList.length == 0) { | ||
441 | this.$message({ | ||
442 | showClose: true, | ||
443 | message: "请确认权利人信息", | ||
444 | type: "error", | ||
445 | }); | ||
446 | return false; | ||
447 | } | ||
448 | |||
449 | if (this.ruleForm.gyfs == "0") { | ||
450 | if (this.ruleForm.qlrList.length > 1) { | ||
451 | this.$message({ | ||
452 | showClose: true, | ||
453 | message: "共有方式:单独所有,权利人只能是一个人", | ||
454 | type: "error", | ||
455 | }); | ||
456 | return false; | ||
457 | } | ||
458 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
459 | } else { | ||
460 | if (this.ruleForm.qlrList.length <= 1) { | ||
461 | this.$message({ | ||
462 | showClose: true, | ||
463 | message: | ||
464 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
465 | type: "error", | ||
466 | }); | ||
467 | return false; | ||
468 | } | ||
469 | //是否分别持证 | ||
470 | if (this.ruleForm.sqfbcz == "1") { | ||
471 | //是 | ||
472 | this.ruleForm.qlrList.forEach((item, index) => { | ||
473 | item.sfczr = "1"; | ||
474 | }); | ||
475 | } else { | ||
476 | if (that.czr === '') { | ||
477 | that.$message({ | ||
478 | showClose: true, | ||
479 | message: "请选择持证人", | ||
480 | type: "error" | ||
481 | }) | ||
482 | return false; | ||
483 | } | ||
484 | this.ruleForm.qlrList.forEach((item, index) => { | ||
485 | if (item.id == that.czr) { | ||
486 | item.sfczr = "1" | ||
487 | } else { | ||
488 | item.sfczr = "0" | ||
489 | } | ||
490 | }) | ||
491 | } | ||
492 | } | ||
493 | fristReg(this.ruleForm).then((res) => { | ||
494 | if (res.code === 200 && res.result) { | ||
495 | console.log(res); | ||
496 | //this.ruleForm = { ...res.result, ...res.result.zdjbxxdatas, ...res.result.qlxxdatas, ...res.result.jsydsyqdatas } | ||
497 | } | ||
498 | }); | ||
499 | }, | ||
500 | }, | ||
501 | }; | ||
502 | </script> | ||
503 | <style scoped lang="scss"> | ||
504 | @import "~@/styles/public.scss"; | ||
505 | |||
506 | /deep/.el-form { | ||
507 | display: flex; | ||
508 | flex-direction: column; | ||
509 | height: calc(100vh - 130px); | ||
510 | } | ||
511 | |||
512 | /deep/.el-form-item__label { | ||
513 | padding: 0; | ||
514 | } | ||
515 | |||
516 | /deep/.el-radio { | ||
517 | margin-right: 10px; | ||
518 | } | ||
519 | |||
520 | /deep/.el-select { | ||
521 | width: 100%; | ||
522 | } | ||
523 | |||
524 | /deep/.el-form-item { | ||
525 | margin-bottom: 3px; | ||
526 | } | ||
527 | |||
528 | .marginBot0 { | ||
529 | margin-bottom: 0 !important; | ||
530 | } | ||
531 | |||
532 | .slxx { | ||
533 | box-sizing: border-box; | ||
534 | } | ||
535 | |||
536 | .slxx_con { | ||
537 | flex: 1; | ||
538 | height: 100%; | ||
539 | background-color: #ffffff; | ||
540 | overflow-y: auto; | ||
541 | padding-right: 3px; | ||
542 | overflow-x: hidden; | ||
543 | } | ||
544 | |||
545 | .submit_btn { | ||
546 | height: 50px; | ||
547 | } | ||
548 | |||
549 | .btn { | ||
550 | text-align: center; | ||
551 | padding-top: 10px; | ||
552 | height: 36px; | ||
553 | background-color: #ffffff; | ||
554 | padding: 5px 0; | ||
555 | } | ||
556 | |||
557 | .textArea { | ||
558 | /deep/.el-textarea__inner { | ||
559 | min-height: 90px !important; | ||
560 | } | ||
561 | } | ||
562 | |||
563 | /deep/.el-form-item__label { | ||
564 | padding-bottom: 0px; | ||
565 | } | ||
566 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-31 10:14:06 | ||
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="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="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 | <div class="flex"> | ||
102 | <el-input | ||
103 | maxlength="12" | ||
104 | :disabled="!viewEdit" | ||
105 | v-model="ruleForm.jsydsyq.syqmj" | ||
106 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
107 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
108 | <el-option | ||
109 | v-for="item in dictData['A7']" | ||
110 | :key="item.dcode" | ||
111 | :label="item.dname" | ||
112 | :value="item.dcode"> | ||
113 | </el-option> | ||
114 | </el-select> | ||
115 | </div> | ||
116 | </el-form-item> | ||
117 | </el-col> | ||
118 | <el-col :span="8"> | ||
119 | <el-form-item label="权利设定方式:"> | ||
120 | <el-select v-model="ruleForm.zdjbxx.qlsdfs" :disabled="!viewEdit"> | ||
121 | <el-option | ||
122 | v-for="item in dictData['A10']" | ||
123 | :key="item.dcode" | ||
124 | :label="item.dname" | ||
125 | :value="item.dcode"> | ||
126 | </el-option> | ||
127 | </el-select> | ||
128 | </el-form-item> | ||
129 | </el-col> | ||
130 | <el-col :span="8"> | ||
131 | <el-form-item label="取得价格:"> | ||
132 | <div style="display: flex"> | ||
133 | <el-input | ||
134 | maxlength="11" | ||
135 | :disabled="!viewEdit" | ||
136 | v-model="ruleForm.jsydsyq.qdjg" | ||
137 | style="width: 500%" | ||
138 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
139 | <el-select v-model="ruleForm.jsydsyq.jedw" :disabled="!viewEdit"> | ||
140 | <el-option | ||
141 | v-for="item in dictData['A57']" | ||
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 | |||
151 | <el-col :span="16"> | ||
152 | <el-form-item label="坐落:"> | ||
153 | <el-input maxlength="100" :disabled="!viewEdit" v-model="ruleForm.sldy.zl"></el-input> | ||
154 | </el-form-item> | ||
155 | </el-col> | ||
156 | </el-row> | ||
157 | <el-row :gutter="10"> | ||
158 | <el-col> | ||
159 | <el-form-item label="附记:" prop="fj"> | ||
160 | <el-input | ||
161 | type="textarea" | ||
162 | maxlength="500" | ||
163 | :disabled="!viewEdit" | ||
164 | show-word-limit | ||
165 | v-model="ruleForm.jsydsyq.fj"></el-input> | ||
166 | </el-form-item> | ||
167 | </el-col> | ||
168 | </el-row> | ||
169 | <div class="slxx_title title-block"> | ||
170 | 土地用途 | ||
171 | <div class="triangle"></div> | ||
172 | </div> | ||
173 | <tdytTable | ||
174 | :ableOperation="viewEdit" | ||
175 | :tableData="ruleForm.tdytqxList" | ||
176 | @upDateTdytxxList="upDateTdytxxList" /> | ||
177 | <div class="slxx_title title-block"> | ||
178 | 权利人信息 | ||
179 | <div class="triangle"></div> | ||
180 | </div> | ||
181 | <el-row :gutter="10"> | ||
182 | <el-col :span="12"> | ||
183 | <el-form-item label="共有方式:"> | ||
184 | <el-radio-group | ||
185 | :disabled="!viewEdit" | ||
186 | v-model="ruleForm.sldy.gyfs"> | ||
187 | <el-radio label="0">单独所有</el-radio> | ||
188 | <el-radio label="1">共同共有</el-radio> | ||
189 | <el-radio label="2">按份所有</el-radio> | ||
190 | <el-radio label="3">其它共有</el-radio> | ||
191 | </el-radio-group> | ||
192 | </el-form-item> | ||
193 | </el-col> | ||
194 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
195 | <el-form-item label="是否分别持证:"> | ||
196 | <el-radio-group | ||
197 | v-model="ruleForm.sldy.sqfbcz" | ||
198 | :disabled="!viewEdit" | ||
199 | @input="updaterow()"> | ||
200 | <el-radio :label="1">是</el-radio> | ||
201 | <el-radio :label="0">否</el-radio> | ||
202 | </el-radio-group> | ||
203 | </el-form-item> | ||
204 | </el-col> | ||
205 | <el-col | ||
206 | :span="6" | ||
207 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
208 | <el-form-item label="持证人:"> | ||
209 | <el-select | ||
210 | v-model="czr" | ||
211 | placeholder="持证人" | ||
212 | :disabled="!viewEdit"> | ||
213 | <el-option | ||
214 | v-for="(item, index) in czrOptions" | ||
215 | :key="index" | ||
216 | :label="item.sqrmc" | ||
217 | :value="item.id"> | ||
218 | </el-option> | ||
219 | </el-select> | ||
220 | </el-form-item> | ||
221 | </el-col> | ||
222 | </el-row> | ||
223 | <qlrCommonTable | ||
224 | :tableData="ruleForm.qlrList" | ||
225 | :disabled="viewEdit" | ||
226 | @upDateQlrxxList="upDateQlrxxList" | ||
227 | :key="key" | ||
228 | :gyfs="ruleForm.sldy.gyfs" /> | ||
229 | |||
230 | <div v-if="ruleForm.ywrList && ruleForm.ywrList.length > 0 && ruleForm.qlxx.djlx==200"> | ||
231 | <div class="slxx_title title-block"> | ||
232 | 义务人信息 | ||
233 | <div class="triangle"></div> | ||
234 | </div> | ||
235 | <ywrCommonTable | ||
236 | v-if="ruleForm.ywrList" | ||
237 | :disabled="viewEdit" | ||
238 | :tableData="ruleForm.ywrList" | ||
239 | :key="key" | ||
240 | @upDateQlrxxList="upDateYwrxxList" /> | ||
241 | </div> | ||
242 | |||
243 | <div class="slxx_title title-block"> | ||
244 | 登记原因 | ||
245 | <div class="triangle"></div> | ||
246 | </div> | ||
247 | <el-row :gutter="10"> | ||
248 | <el-col> | ||
249 | <el-form-item label="登记原因:" prop="jsydsyq.djyy"> | ||
250 | <el-input | ||
251 | class="textArea" | ||
252 | type="textarea" | ||
253 | maxlength="500" | ||
254 | show-word-limit | ||
255 | :disabled="!viewEdit" | ||
256 | v-model="ruleForm.jsydsyq.djyy"> | ||
257 | </el-input> | ||
258 | </el-form-item> | ||
259 | </el-col> | ||
260 | </el-row> | ||
261 | </div> | ||
262 | <el-row class="btn" v-if="isSave"> | ||
263 | <el-form-item> | ||
264 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
265 | </el-form-item> | ||
266 | </el-row> | ||
267 | </el-form> | ||
268 | </div> | ||
269 | </template> | ||
270 | <script> | ||
271 | import { mapGetters } from "vuex"; | ||
272 | import ywmix from "@/views/ywbl/mixin/index"; | ||
273 | import { Init, saveData } from "@/api/workflow/jsydsyqFlow.js"; | ||
274 | import tdytTable from "@/views/workflow/components/tdytTable"; | ||
275 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
276 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
277 | export default { | ||
278 | mixins: [ywmix], | ||
279 | mounted () { | ||
280 | let that = this | ||
281 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
282 | this.propsParam = this.$attrs; | ||
283 | var formdata = new FormData(); | ||
284 | this.loading = true | ||
285 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
286 | formdata.append("djlx", this.propsParam.djlx); | ||
287 | formdata.append("isEdit", this.viewEdit); | ||
288 | Init(formdata).then((res) => { | ||
289 | setTimeout(() => { | ||
290 | that.loading = false | ||
291 | }, 200) | ||
292 | if (res.code === 200) { | ||
293 | that.ruleForm = res.result; | ||
294 | that.ruleForm.qlrList.forEach((item) => { | ||
295 | item.id = item.bsmSqr | ||
296 | if (item.sfczr == '1') { | ||
297 | that.czr = item.bsmSqr | ||
298 | } | ||
299 | }) | ||
300 | that.czrOptions = that.ruleForm.qlrList; | ||
301 | that.isSave = that.viewEdit | ||
302 | } else { | ||
303 | that.isSave = false | ||
304 | that.$confirm(res.message, '提示', { | ||
305 | cancelButtonText: '取消', | ||
306 | showConfirmButton: false, | ||
307 | type: 'warning' | ||
308 | }) | ||
309 | } | ||
310 | }).catch(() => { | ||
311 | this.loading = false | ||
312 | this.isSave = false | ||
313 | }) | ||
314 | }, | ||
315 | components: { qlrCommonTable, tdytTable, ywrCommonTable }, | ||
316 | computed: { | ||
317 | ...mapGetters(["dictData", "flag"]), | ||
318 | // 根据流程判断表单是否为只读 | ||
319 | editDisabled () { | ||
320 | if (!this.viewEdit) { | ||
321 | //只读状态 | ||
322 | return true; | ||
323 | } | ||
324 | return false; | ||
325 | }, | ||
326 | }, | ||
327 | data () { | ||
328 | return { | ||
329 | isSave: true, | ||
330 | // 键名转换,方法默认是label和children进行树状渲染 | ||
331 | normalizer (node) { | ||
332 | //方法 | ||
333 | if (node.children == null || node.children == "null") { | ||
334 | delete node.children; | ||
335 | } | ||
336 | return { | ||
337 | id: node.dcode, | ||
338 | label: node.dname, | ||
339 | }; | ||
340 | }, | ||
341 | loading: false, | ||
342 | mjdw: "1", | ||
343 | //表单是否可操作 | ||
344 | viewEdit: true, | ||
345 | czr: "", | ||
346 | key: 0, | ||
347 | disabled: true, | ||
348 | czrOptions: [], | ||
349 | ruleForm: {}, | ||
350 | //传递参数 | ||
351 | propsParam: {}, | ||
352 | rules: { | ||
353 | 'jsydsyq.djyy': [ | ||
354 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
355 | ] | ||
356 | } | ||
357 | } | ||
358 | }, | ||
359 | methods: { | ||
360 | /** | ||
361 | * @description: 更新土地用途信息 | ||
362 | * @param {*} val | ||
363 | * @author: renchao | ||
364 | */ | ||
365 | upDateTdytxxList (val) { | ||
366 | this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val)); | ||
367 | this.key++; | ||
368 | }, | ||
369 | /** | ||
370 | * @description: 更新权利人信息 | ||
371 | * @param {*} val | ||
372 | * @author: renchao | ||
373 | */ | ||
374 | upDateQlrxxList (val) { | ||
375 | this.ruleForm.qlrList && (this.ruleForm.qlrList = _.cloneDeep(val)); | ||
376 | this.czrOptions = this.ruleForm.qlrList; | ||
377 | this.num = 0 | ||
378 | this.ruleForm.qlrList.forEach(item => { | ||
379 | if (item.id == this.czr) { | ||
380 | this.num++ | ||
381 | } | ||
382 | }) | ||
383 | if (this.num == 0) { | ||
384 | this.czr = '' | ||
385 | } | ||
386 | }, | ||
387 | /** | ||
388 | * @description: 是否持证人变化 | ||
389 | * @param {*} val | ||
390 | * @author: renchao | ||
391 | */ | ||
392 | updaterow () { | ||
393 | this.czr = ""; | ||
394 | }, | ||
395 | /** | ||
396 | * @description: 更新义务人信息 | ||
397 | * @param {*} val | ||
398 | * @author: renchao | ||
399 | */ | ||
400 | upDateYwrxxList (val) { | ||
401 | this.ruleForm.ywrList && (this.ruleForm.ywrList = _.cloneDeep(val)); | ||
402 | this.key++; | ||
403 | }, | ||
404 | /** | ||
405 | * @description: onSubmit | ||
406 | * @author: renchao | ||
407 | */ | ||
408 | onSubmit () { | ||
409 | let that = this; | ||
410 | let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt); | ||
411 | if (arr.length > 0) { | ||
412 | this.$message({ | ||
413 | showClose: true, | ||
414 | message: "土地用途不能为空", | ||
415 | type: "error", | ||
416 | }); | ||
417 | return false; | ||
418 | } | ||
419 | if (this.ruleForm.qlrList.length == 0) { | ||
420 | this.$message({ | ||
421 | showClose: true, | ||
422 | message: "请确认权利人信息", | ||
423 | type: "error", | ||
424 | }); | ||
425 | return false; | ||
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 | /** | ||
472 | * @description: saveData | ||
473 | * @author: renchao | ||
474 | */ | ||
475 | this.$refs['ruleForm'].validate((valid) => { | ||
476 | if (valid) { | ||
477 | that.$store.dispatch("user/refreshPage", false); | ||
478 | saveData(that.ruleForm).then((res) => { | ||
479 | if (res.code === 200) { | ||
480 | that.$message({ | ||
481 | showClose: true, | ||
482 | message: "保存成功!", | ||
483 | type: "success" | ||
484 | }) | ||
485 | that.$store.dispatch("user/refreshPage", true); | ||
486 | } else { | ||
487 | that.$message({ | ||
488 | showClose: true, | ||
489 | message: res.message, | ||
490 | type: "error" | ||
491 | }) | ||
492 | } | ||
493 | }) | ||
494 | } else { | ||
495 | this.$message({ | ||
496 | showClose: true, | ||
497 | message: "请输入登记原因", | ||
498 | type: "error" | ||
499 | }) | ||
500 | return false | ||
501 | } | ||
502 | }) | ||
503 | } | ||
504 | } | ||
505 | } | ||
506 | </script> | ||
507 | <style scoped lang="scss"> | ||
508 | @import "~@/styles/public.scss"; | ||
509 | @import "~@/styles/slxx/slxx.scss"; | ||
510 | </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 @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 | <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 | ||
112 | v-model="ruleForm.nydsyq.fbfmc" | ||
113 | :disabled="!viewEdit"></el-input> | ||
114 | </el-form-item> | ||
115 | </el-col> | ||
116 | <el-col :span="8"> | ||
117 | <el-form-item label="发包方代码:"> | ||
118 | <el-input | ||
119 | v-model="ruleForm.nydsyq.fbfdm" | ||
120 | :disabled="!viewEdit"></el-input> | ||
121 | </el-form-item> | ||
122 | </el-col> | ||
123 | <el-col :span="8"> | ||
124 | <el-form-item label="土地所有权性质:"> | ||
125 | <el-select | ||
126 | v-model="ruleForm.nydsyq.tdsyqxzmc" | ||
127 | class="width100" | ||
128 | :disabled="!viewEdit" | ||
129 | filterable | ||
130 | clearable> | ||
131 | <el-option | ||
132 | v-for="item in dictData['A45']" | ||
133 | :key="item.dname" | ||
134 | :label="item.dname" | ||
135 | :value="item.dname"> | ||
136 | </el-option> | ||
137 | </el-select> | ||
138 | </el-form-item> | ||
139 | </el-col> | ||
140 | </el-row> | ||
141 | <el-row :gutter="10"> | ||
142 | <el-col :span="8"> | ||
143 | <el-form-item label="承包期限:"> | ||
144 | <el-input disabled v-model="ruleForm.nydsyq.cbqx"></el-input> | ||
145 | </el-form-item> | ||
146 | </el-col> | ||
147 | <el-col :span="16"> | ||
148 | <el-form-item label="承包起止时间:"> | ||
149 | <el-input disabled v-model="ruleForm.nydsyq.cbqzsj"></el-input> | ||
150 | </el-form-item> | ||
151 | </el-col> | ||
152 | </el-row> | ||
153 | <el-row :gutter="10"> | ||
154 | <el-col :span="8"> | ||
155 | <el-form-item label="水域滩涂类型:"> | ||
156 | <el-select | ||
157 | v-model="ruleForm.nydsyq.syttlx" | ||
158 | :disabled="!viewEdit" | ||
159 | class="width100" | ||
160 | filterable | ||
161 | clearable | ||
162 | @change="changeSyttlx"> | ||
163 | <el-option | ||
164 | v-for="item in dictData['A23']" | ||
165 | :key="item.dcode" | ||
166 | :label="item.dname" | ||
167 | :value="item.dcode"> | ||
168 | </el-option> | ||
169 | </el-select> | ||
170 | </el-form-item> | ||
171 | </el-col> | ||
172 | <el-col :span="8"> | ||
173 | <el-form-item label="养殖业方式:"> | ||
174 | <el-select | ||
175 | v-model="ruleForm.nydsyq.yzyfs" | ||
176 | :disabled="!viewEdit" | ||
177 | class="width100" | ||
178 | filterable | ||
179 | clearable | ||
180 | @change="changeYzyfs"> | ||
181 | <el-option | ||
182 | v-for="item in dictData['A24']" | ||
183 | :key="item.dcode" | ||
184 | :label="item.dname" | ||
185 | :value="item.dcode"> | ||
186 | </el-option> | ||
187 | </el-select> | ||
188 | </el-form-item> | ||
189 | </el-col> | ||
190 | <el-col :span="8"> | ||
191 | <el-form-item label="草原质量:"> | ||
192 | <el-input | ||
193 | v-model="ruleForm.nydsyq.cyzl" | ||
194 | :disabled="!viewEdit"></el-input> | ||
195 | </el-form-item> | ||
196 | </el-col> | ||
197 | </el-row> | ||
198 | <el-row :gutter="10"> | ||
199 | <el-col :span="8"> | ||
200 | <el-form-item label="适宜载畜量:"> | ||
201 | <el-input | ||
202 | v-model="ruleForm.nydsyq.syzcl" | ||
203 | :disabled="!viewEdit" | ||
204 | oninput="value=value.replace(/[^\d.]/g,'')"></el-input> | ||
205 | </el-form-item> | ||
206 | </el-col> | ||
207 | <el-col :span="8"> | ||
208 | <el-form-item label="用地用海分类:"> | ||
209 | <el-select | ||
210 | v-model="ruleForm.nydsyq.ydyhfl" | ||
211 | :disabled="!viewEdit" | ||
212 | class="width100" | ||
213 | filterable | ||
214 | clearable | ||
215 | @change="changeYdyhfl"> | ||
216 | <el-option | ||
217 | v-for="item in dictData['A51']" | ||
218 | :key="item.dcode" | ||
219 | :label="item.dname" | ||
220 | :value="item.dcode"> | ||
221 | </el-option> | ||
222 | </el-select> | ||
223 | </el-form-item> | ||
224 | </el-col> | ||
225 | <el-col :span="8"> | ||
226 | <el-form-item label="土地承包合同:"> | ||
227 | <el-input | ||
228 | v-model="ruleForm.nydsyq.tdcbht" | ||
229 | :disabled="!viewEdit"></el-input> | ||
230 | </el-form-item> | ||
231 | </el-col> | ||
232 | </el-row> | ||
233 | <el-row :gutter="10"> | ||
234 | <el-col> | ||
235 | <el-form-item label="附记:" prop="fj"> | ||
236 | <el-input | ||
237 | type="textarea" | ||
238 | maxlength="500" | ||
239 | show-word-limit | ||
240 | v-model="ruleForm.nydsyq.fj" | ||
241 | :disabled="!viewEdit"></el-input> | ||
242 | </el-form-item> | ||
243 | </el-col> | ||
244 | </el-row> | ||
245 | <div class="slxx_title title-block"> | ||
246 | 权利人信息 | ||
247 | <div class="triangle"></div> | ||
248 | </div> | ||
249 | <el-row :gutter="10"> | ||
250 | <el-col :span="12"> | ||
251 | <el-form-item label="共有方式:"> | ||
252 | <el-radio-group | ||
253 | :disabled="!viewEdit" | ||
254 | v-model="ruleForm.sldy.gyfs"> | ||
255 | <el-radio label="0">单独所有</el-radio> | ||
256 | <el-radio label="1">共同共有</el-radio> | ||
257 | <el-radio label="2">按份所有</el-radio> | ||
258 | <el-radio label="3">其它共有</el-radio> | ||
259 | </el-radio-group> | ||
260 | </el-form-item> | ||
261 | </el-col> | ||
262 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
263 | <el-form-item label="是否分别持证:"> | ||
264 | <el-radio-group | ||
265 | v-model="ruleForm.sldy.sqfbcz" | ||
266 | :disabled="!viewEdit" | ||
267 | @input="updaterow()"> | ||
268 | <el-radio :label="1">是</el-radio> | ||
269 | <el-radio :label="0">否</el-radio> | ||
270 | </el-radio-group> | ||
271 | </el-form-item> | ||
272 | </el-col> | ||
273 | <el-col | ||
274 | :span="6" | ||
275 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
276 | <el-form-item label="持证人:"> | ||
277 | <el-select | ||
278 | v-model="czr" | ||
279 | placeholder="持证人" | ||
280 | :disabled="!viewEdit"> | ||
281 | <el-option | ||
282 | v-for="(item,index) in czrOptions" | ||
283 | :key="index" | ||
284 | :label="item.sqrmc" | ||
285 | :value="item.id"> | ||
286 | </el-option> | ||
287 | </el-select> | ||
288 | </el-form-item> | ||
289 | </el-col> | ||
290 | </el-row> | ||
291 | <qlrCommonTable | ||
292 | :tableData="ruleForm.qlrList" | ||
293 | @upDateQlrxxList="upDateQlrxxList" | ||
294 | :disabled="viewEdit" | ||
295 | :gyfs="ruleForm.sldy.gyfs" /> | ||
296 | <div class="slxx_title title-block"> | ||
297 | 义务人信息 | ||
298 | <div class="triangle"></div> | ||
299 | </div> | ||
300 | <ywrCommonTable | ||
301 | :tableData="ruleForm.ywrList" | ||
302 | @upDateQlrxxList="upDateYwrxxList" | ||
303 | :disabled="viewEdit" /> | ||
304 | <div class="slxx_title title-block"> | ||
305 | 家庭成员 | ||
306 | <div class="triangle"></div> | ||
307 | </div> | ||
308 | <JtcyTable | ||
309 | :tableData="ruleForm.jtcyList" | ||
310 | :disabled="!viewEdit" | ||
311 | @upDateJtcyList="upDateJtcyList" | ||
312 | :gyfs="ruleForm.slywxx.gyfs" /> | ||
313 | <div class="slxx_title title-block"> | ||
314 | 登记原因 | ||
315 | <div class="triangle"></div> | ||
316 | </div> | ||
317 | <el-row :gutter="10"> | ||
318 | <el-col> | ||
319 | <el-form-item label="登记原因:" prop="nydsyq.djyy"> | ||
320 | <el-input | ||
321 | class="textArea" | ||
322 | type="textarea" | ||
323 | maxlength="500" | ||
324 | show-word-limit | ||
325 | :disabled="!viewEdit" | ||
326 | v-model="ruleForm.nydsyq.djyy"> | ||
327 | </el-input> | ||
328 | </el-form-item> | ||
329 | </el-col> | ||
330 | </el-row> | ||
331 | </div> | ||
332 | <el-row class="btn" v-if="isSave"> | ||
333 | <el-form-item> | ||
334 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
335 | </el-form-item> | ||
336 | </el-row> | ||
337 | </el-form> | ||
338 | </div> | ||
339 | </template> | ||
340 | <script> | ||
341 | import { mapGetters } from "vuex"; | ||
342 | import ywmix from "@/views/ywbl/mixin/index"; | ||
343 | import { Init, saveData } from "@/api/workflow/nydsyqFlow.js"; | ||
344 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
345 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
346 | import JtcyTable from "@/views/workflow/components/JtcyTable"; | ||
347 | export default { | ||
348 | mixins: [ywmix], | ||
349 | mounted () { | ||
350 | let that = this | ||
351 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
352 | this.propsParam = this.$attrs; | ||
353 | var formdata = new FormData(); | ||
354 | this.loading = true | ||
355 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
356 | formdata.append("djlx", this.propsParam.djlx); | ||
357 | formdata.append("isEdit", this.viewEdit); | ||
358 | Init(formdata).then((res) => { | ||
359 | setTimeout(() => { | ||
360 | that.loading = false | ||
361 | }, 200) | ||
362 | if (res.code === 200) { | ||
363 | that.ruleForm = res.result; | ||
364 | that.ruleForm.qlrList.forEach((item) => { | ||
365 | item.id = item.bsmSqr | ||
366 | if (item.sfczr == '1') { | ||
367 | that.czr = item.bsmSqr | ||
368 | } | ||
369 | }) | ||
370 | that.czrOptions = that.ruleForm.qlrList | ||
371 | that.isSave = that.viewEdit | ||
372 | } else { | ||
373 | that.isSave = false | ||
374 | that.$confirm(res.message, '提示', { | ||
375 | cancelButtonText: '取消', | ||
376 | showConfirmButton: false, | ||
377 | type: 'warning' | ||
378 | }) | ||
379 | } | ||
380 | }).catch(() => { | ||
381 | this.loading = false | ||
382 | this.isSave = false | ||
383 | }) | ||
384 | }, | ||
385 | components: { qlrCommonTable, JtcyTable, ywrCommonTable }, | ||
386 | computed: { | ||
387 | ...mapGetters(["dictData", "flag"]), | ||
388 | }, | ||
389 | data () { | ||
390 | return { | ||
391 | isSave: true, | ||
392 | loading: false, | ||
393 | // 键名转换,方法默认是label和children进行树状渲染 | ||
394 | normalizer (node) { | ||
395 | //方法 | ||
396 | if (node.children == null || node.children == "null") { | ||
397 | delete node.children; | ||
398 | } | ||
399 | return { | ||
400 | id: node.dcode, | ||
401 | label: node.dname, | ||
402 | }; | ||
403 | }, | ||
404 | //表单是否可操作 | ||
405 | viewEdit: true, | ||
406 | disabled: true, | ||
407 | czrOptions: [], | ||
408 | czr: "", | ||
409 | ruleForm: {}, | ||
410 | //传递参数 | ||
411 | propsParam: {}, | ||
412 | rules: { | ||
413 | 'nydsyq.djyy': [ | ||
414 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
415 | ] | ||
416 | } | ||
417 | } | ||
418 | }, | ||
419 | methods: { | ||
420 | /** | ||
421 | * @description: onSubmit | ||
422 | * @author: renchao | ||
423 | */ | ||
424 | onSubmit () { | ||
425 | let that = this; | ||
426 | if (this.ruleForm.qlrList.length == 0) { | ||
427 | this.$message({ | ||
428 | showClose: true, | ||
429 | message: "请确认权利人信息", | ||
430 | type: "error", | ||
431 | }); | ||
432 | return false; | ||
433 | } | ||
434 | |||
435 | if (this.ruleForm.sldy.gyfs == "0") { | ||
436 | if (this.ruleForm.qlrList.length > 1) { | ||
437 | this.$message({ | ||
438 | showClose: true, | ||
439 | message: "共有方式:单独所有,权利人只能是一个人", | ||
440 | type: "error", | ||
441 | }); | ||
442 | return false; | ||
443 | } | ||
444 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
445 | } else { | ||
446 | if (this.ruleForm.qlrList.length <= 1) { | ||
447 | this.$message({ | ||
448 | showClose: true, | ||
449 | message: | ||
450 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
451 | type: "error", | ||
452 | }); | ||
453 | return false; | ||
454 | } | ||
455 | //是否分别持证 | ||
456 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
457 | //是 | ||
458 | this.ruleForm.qlrList.forEach((item, index) => { | ||
459 | item.sfczr = "1"; | ||
460 | }); | ||
461 | } else { | ||
462 | if (that.czr === '') { | ||
463 | that.$message({ | ||
464 | showClose: true, | ||
465 | message: "请选择持证人", | ||
466 | type: "error" | ||
467 | }); | ||
468 | return false; | ||
469 | } | ||
470 | this.ruleForm.qlrList.forEach((item, index) => { | ||
471 | if (item.id == that.czr) { | ||
472 | item.sfczr = "1" | ||
473 | } else { | ||
474 | item.sfczr = "0" | ||
475 | } | ||
476 | }) | ||
477 | } | ||
478 | } | ||
479 | this.$refs['ruleForm'].validate((valid) => { | ||
480 | if (valid) { | ||
481 | that.$store.dispatch("user/refreshPage", false); | ||
482 | saveData(that.ruleForm).then((res) => { | ||
483 | if (res.code === 200) { | ||
484 | that.$message({ | ||
485 | showClose: true, | ||
486 | message: "保存成功!", | ||
487 | type: "success", | ||
488 | }); | ||
489 | that.$store.dispatch("user/refreshPage", true); | ||
490 | } else { | ||
491 | that.$message({ | ||
492 | showClose: true, | ||
493 | message: res.message, | ||
494 | type: "error", | ||
495 | }); | ||
496 | } | ||
497 | }) | ||
498 | } else { | ||
499 | this.$message({ | ||
500 | showClose: true, | ||
501 | message: "请输入登记原因", | ||
502 | type: "error" | ||
503 | }) | ||
504 | return false | ||
505 | } | ||
506 | }) | ||
507 | }, | ||
508 | /** | ||
509 | * @description: 权利人更新 | ||
510 | * @param {*} val | ||
511 | * @author: renchao | ||
512 | */ | ||
513 | upDateQlrxxList (val) { | ||
514 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
515 | this.czrOptions = this.ruleForm.qlrList; | ||
516 | this.num = 0 | ||
517 | this.ruleForm.qlrList.forEach(item => { | ||
518 | if (item.id == this.czr) { | ||
519 | this.num++ | ||
520 | } | ||
521 | }) | ||
522 | if (this.num == 0) { | ||
523 | this.czr = '' | ||
524 | } | ||
525 | }, | ||
526 | /** | ||
527 | * @description: 是否持证人变化 | ||
528 | * @param {*} val | ||
529 | * @author: renchao | ||
530 | */ | ||
531 | updaterow () { | ||
532 | this.czr = ""; | ||
533 | }, | ||
534 | /** | ||
535 | * @description: 更新义务人信息 | ||
536 | * @param {*} val | ||
537 | * @author: renchao | ||
538 | */ | ||
539 | upDateYwrxxList (val) { | ||
540 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
541 | }, | ||
542 | //家庭成员更新 | ||
543 | /** | ||
544 | * @description: 家庭成员更新 | ||
545 | * @param {*} val | ||
546 | * @author: renchao | ||
547 | */ | ||
548 | upDateJtcyList (val) { | ||
549 | this.ruleForm.jtcyList = _.cloneDeep(val); | ||
550 | }, | ||
551 | //水域滩涂类型变化事件 | ||
552 | /** | ||
553 | * @description: 水域滩涂类型变化事件 | ||
554 | * @param {*} e | ||
555 | * @author: renchao | ||
556 | */ | ||
557 | changeSyttlx (e) { | ||
558 | let itemLx = {}; | ||
559 | itemLx = this.dictData["A23"].find((item) => { | ||
560 | return item.dcode == e; | ||
561 | }); | ||
562 | this.ruleForm.nydsyq.syttlxmc = itemLx.dname; | ||
563 | }, | ||
564 | //养殖业方式变化事件 | ||
565 | /** | ||
566 | * @description: 养殖业方式变化事件 | ||
567 | * @param {*} e | ||
568 | * @author: renchao | ||
569 | */ | ||
570 | changeYzyfs (e) { | ||
571 | let itemLx = {}; | ||
572 | itemLx = this.dictData["A24"].find((item) => { | ||
573 | return item.dcode == e; | ||
574 | }); | ||
575 | this.ruleForm.nydsyq.yzyfsmc = itemLx.dname; | ||
576 | }, | ||
577 | //用地用海变化事件 | ||
578 | /** | ||
579 | * @description: 用地用海变化事件 | ||
580 | * @param {*} e | ||
581 | * @author: renchao | ||
582 | */ | ||
583 | changeYdyhfl (e) { | ||
584 | let itemLx = {}; | ||
585 | itemLx = this.dictData["A51"].find((item) => { | ||
586 | return item.dcode == e; | ||
587 | }); | ||
588 | this.ruleForm.nydsyq.ydyhflmc = itemLx.dname; | ||
589 | }, | ||
590 | }, | ||
591 | }; | ||
592 | </script> | ||
593 | <style scoped lang="scss"> | ||
594 | @import "~@/styles/public.scss"; | ||
595 | @import "~@/styles/slxx/slxx.scss"; | ||
596 | </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> |
src/views/ywbl/slsqxx/tdsyq/slxx.vue
deleted
100644 → 0
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/ywbl/slsqxx/ygdj/slxx.vue
deleted
100644 → 0
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> |
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.slsq.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.slsq.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.slsq.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="16"> | ||
54 | 不动产单元情况 | ||
55 | </el-col> | ||
56 | <el-col :span="4"> | ||
57 | <el-button @click="compare">变化情况对比+</el-button> | ||
58 | </el-col> | ||
59 | <el-col :span="4" v-if="ruleForm.sldy.djlx=='500'"> | ||
60 | <el-form-item label="是否创建证书:" style="height:24px"> | ||
61 | <el-radio-group v-model="ruleForm.sldy.sfxysczs"> | ||
62 | <el-radio label="1">是</el-radio> | ||
63 | <el-radio label="0">否</el-radio> | ||
64 | </el-radio-group> | ||
65 | </el-form-item> | ||
66 | </el-col> | ||
67 | </el-row> | ||
68 | <div class="triangle"></div> | ||
69 | </div> | ||
70 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
71 | <el-col :span="8"> | ||
72 | <el-form-item label="不动产单元号:"> | ||
73 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
74 | </el-form-item> | ||
75 | </el-col> | ||
76 | <el-col :span="16"> | ||
77 | <el-form-item label="坐落:"> | ||
78 | <el-input disabled v-model="ruleForm.sldy.zl"></el-input> | ||
79 | </el-form-item> | ||
80 | </el-col> | ||
81 | </el-row> | ||
82 | <el-row :gutter="10"> | ||
83 | <el-col :span="8"> | ||
84 | <el-form-item label="预告登记种类:"> | ||
85 | <el-input disabled v-model="ruleForm.ygdj.ygdjzlmc"></el-input> | ||
86 | </el-form-item> | ||
87 | </el-col> | ||
88 | <el-col :span="8"> | ||
89 | <el-form-item label="规划用途:"> | ||
90 | <el-input disabled v-model="ruleForm.ygdj.ytmc"></el-input> | ||
91 | </el-form-item> | ||
92 | </el-col> | ||
93 | <el-col :span="8"> | ||
94 | <el-form-item label="房屋性质:"> | ||
95 | <el-input disabled v-model="ruleForm.ygdj.fwxzmc"></el-input> | ||
96 | </el-form-item> | ||
97 | </el-col> | ||
98 | </el-row> | ||
99 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
100 | <el-col :span="8"> | ||
101 | <el-form-item label="房屋结构:"> | ||
102 | <el-input disabled v-model="ruleForm.ygdj.fwjgmc"></el-input> | ||
103 | </el-form-item> | ||
104 | </el-col> | ||
105 | <el-col :span="8"> | ||
106 | <el-form-item label="建筑面积:"> | ||
107 | <el-input disabled v-model="ruleForm.ygdj.jzmj"></el-input> | ||
108 | </el-form-item> | ||
109 | </el-col> | ||
110 | <el-col :span="8"> | ||
111 | <el-form-item label="取得价格:"> | ||
112 | <el-input disabled v-model="ruleForm.ygdj.qdjg"></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 label="所在层:"> | ||
119 | <el-input disabled v-model="ruleForm.ygdj.szc"></el-input> | ||
120 | </el-form-item> | ||
121 | </el-col> | ||
122 | <el-col :span="8"> | ||
123 | <el-form-item label="总层数:"> | ||
124 | <el-input | ||
125 | disabled | ||
126 | v-model.number="ruleForm.ygdj.zcs" | ||
127 | oninput="value=value.replace(/[^0-9]/g,'')"></el-input> | ||
128 | </el-form-item> | ||
129 | </el-col> | ||
130 | </el-row> | ||
131 | <div class="slxx_title title-block"> | ||
132 | 权利人信息 | ||
133 | <div class="triangle"></div> | ||
134 | </div> | ||
135 | <el-row :gutter="10"> | ||
136 | <el-col :span="12" v-if="ruleForm.qlxx"> | ||
137 | <el-form-item label="共有方式:"> | ||
138 | <el-radio-group | ||
139 | :disabled="!viewEdit" | ||
140 | v-model="ruleForm.sldy.gyfs"> | ||
141 | <el-radio label="0">单独所有</el-radio> | ||
142 | <el-radio label="1">共同共有</el-radio> | ||
143 | <el-radio label="2">按份所有</el-radio> | ||
144 | <el-radio label="3">其它共有</el-radio> | ||
145 | </el-radio-group> | ||
146 | </el-form-item> | ||
147 | </el-col> | ||
148 | <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'"> | ||
149 | <el-form-item label="是否分别持证:"> | ||
150 | <el-radio-group | ||
151 | v-model="ruleForm.sldy.sqfbcz" | ||
152 | :disabled="!viewEdit" | ||
153 | @input="updaterow()"> | ||
154 | <el-radio :label="1">是</el-radio> | ||
155 | <el-radio :label="0">否</el-radio> | ||
156 | </el-radio-group> | ||
157 | </el-form-item> | ||
158 | </el-col> | ||
159 | <el-col | ||
160 | :span="6" | ||
161 | v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'"> | ||
162 | <el-form-item label="持证人:"> | ||
163 | <el-select | ||
164 | v-model="czr" | ||
165 | placeholder="持证人" | ||
166 | :disabled="!viewEdit"> | ||
167 | <el-option | ||
168 | v-for="(item,index) in czrOptions" | ||
169 | :key="index" | ||
170 | :label="item.sqrmc" | ||
171 | :value="item.id"> | ||
172 | </el-option> | ||
173 | </el-select> | ||
174 | </el-form-item> | ||
175 | </el-col> | ||
176 | </el-row> | ||
177 | <qlrCommonTable | ||
178 | @upDateQlrxxList="upDateQlrxxList" | ||
179 | :tableData="ruleForm.qlrList" | ||
180 | :disabled="viewEdit" | ||
181 | :gyfs="ruleForm.sldy.gyfs" /> | ||
182 | <div class="slxx_title title-block"> | ||
183 | 义务人信息 | ||
184 | <div class="triangle"></div> | ||
185 | </div> | ||
186 | <ywrCommonTable | ||
187 | @upDateQlrxxList="upDateYwrxxList" | ||
188 | :tableData="ruleForm.ywrList" | ||
189 | :disabled="viewEdit" | ||
190 | :gyfs="ruleForm.sldy.gyfs" /> | ||
191 | <div class="slxx_title title-block"> | ||
192 | 登记原因 | ||
193 | <div class="triangle"></div> | ||
194 | </div> | ||
195 | <el-row :gutter="10"> | ||
196 | <el-col> | ||
197 | <el-form-item label="登记原因:" prop="ygdj.djyy"> | ||
198 | <el-input | ||
199 | class="textArea" | ||
200 | type="textarea" | ||
201 | maxlength="500" | ||
202 | show-word-limit | ||
203 | :disabled="!viewEdit" | ||
204 | v-model="ruleForm.ygdj.djyy"> | ||
205 | </el-input> | ||
206 | </el-form-item> | ||
207 | </el-col> | ||
208 | </el-row> | ||
209 | </div> | ||
210 | <el-row class="btn" v-if="isSave"> | ||
211 | <el-form-item> | ||
212 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
213 | </el-form-item> | ||
214 | </el-row> | ||
215 | </el-form> | ||
216 | </div> | ||
217 | </template> | ||
218 | <script> | ||
219 | import ywmix from "@/views/ywbl/mixin/index"; | ||
220 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
221 | import ywrCommonTable from "@/views/workflow/components/ywrCommonTable"; | ||
222 | import { Init, saveData } from "@/api/workflow/ygdjFlow.js"; | ||
223 | import { mapGetters } from "vuex"; | ||
224 | export default { | ||
225 | mixins: [ywmix], | ||
226 | mounted () { | ||
227 | let that = this | ||
228 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
229 | this.propsParam = this.$attrs; | ||
230 | var formdata = new FormData(); | ||
231 | this.loading = true | ||
232 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
233 | formdata.append("djlx", this.propsParam.djlx); | ||
234 | formdata.append("isEdit", this.viewEdit); | ||
235 | Init(formdata).then((res) => { | ||
236 | setTimeout(() => { | ||
237 | that.loading = false | ||
238 | }, 200) | ||
239 | if (res.code === 200 && res.result) { | ||
240 | that.ruleForm = res.result; | ||
241 | that.ruleForm.qlrList.forEach((item) => { | ||
242 | item.id = item.bsmSqr | ||
243 | if (item.sfczr == '1') { | ||
244 | that.czr = item.bsmSqr | ||
245 | } | ||
246 | }) | ||
247 | that.czrOptions = this.ruleForm.qlrList; | ||
248 | that.isSave = that.viewEdit | ||
249 | } else { | ||
250 | that.isSave = false | ||
251 | that.$confirm(res.message, '提示', { | ||
252 | cancelButtonText: '取消', | ||
253 | showConfirmButton: false, | ||
254 | type: 'warning' | ||
255 | }) | ||
256 | } | ||
257 | }).catch(() => { | ||
258 | that.isSave = false | ||
259 | that.loading = false | ||
260 | }) | ||
261 | }, | ||
262 | components: { qlrCommonTable, ywrCommonTable }, | ||
263 | computed: { | ||
264 | ...mapGetters(["dictData", "flag"]), | ||
265 | }, | ||
266 | data () { | ||
267 | return { | ||
268 | isSave: true, | ||
269 | loading: false, | ||
270 | //表单是否可操作 | ||
271 | viewEdit: true, | ||
272 | disabled: true, | ||
273 | tdytOption: [], | ||
274 | czrOptions: [], | ||
275 | czr: "", | ||
276 | ruleForm: {}, | ||
277 | //传递参数 | ||
278 | propsParam: this.$attrs, | ||
279 | rules: { | ||
280 | 'ygdj.djyy': [ | ||
281 | { required: true, message: '请输入登记原因', trigger: 'blur' } | ||
282 | ] | ||
283 | } | ||
284 | } | ||
285 | }, | ||
286 | methods: { | ||
287 | /** | ||
288 | * @description: onClick | ||
289 | * @author: renchao | ||
290 | */ | ||
291 | onClick () { | ||
292 | this.$popup("房屋信息比对", "ywbl/ygdj/slxxCompareDetai", { | ||
293 | formData: { | ||
294 | bsmSldy: this.propsParam.bsmSldy, | ||
295 | qllx: this.propsParam.qllx, | ||
296 | }, | ||
297 | }); | ||
298 | }, | ||
299 | /** | ||
300 | * @description: 更新权利人信息 | ||
301 | * @param {*} val | ||
302 | * @author: renchao | ||
303 | */ | ||
304 | upDateQlrxxList (val) { | ||
305 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
306 | this.czrOptions = this.ruleForm.qlrList; | ||
307 | this.num = 0 | ||
308 | this.ruleForm.qlrList.forEach(item => { | ||
309 | if (item.id == this.czr) { | ||
310 | this.num++ | ||
311 | } | ||
312 | }) | ||
313 | if (this.num == 0) { | ||
314 | this.czr = '' | ||
315 | } | ||
316 | }, | ||
317 | /** | ||
318 | * @description: 是否持证人变化 | ||
319 | * @param {*} val | ||
320 | * @author: renchao | ||
321 | */ | ||
322 | updaterow () { | ||
323 | this.czr = ""; | ||
324 | }, | ||
325 | /** | ||
326 | * @description: 更新业务人信息 | ||
327 | * @param {*} val | ||
328 | * @author: renchao | ||
329 | */ | ||
330 | upDateYwrxxList (val) { | ||
331 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
332 | }, | ||
333 | |||
334 | /** | ||
335 | * @description: onSubmit | ||
336 | * @author: renchao | ||
337 | */ | ||
338 | onSubmit () { | ||
339 | let that = this; | ||
340 | if (this.ruleForm.qlrList.length == 0) { | ||
341 | this.$message({ | ||
342 | showClose: true, | ||
343 | message: "请确认权利人信息", | ||
344 | type: "error", | ||
345 | }); | ||
346 | return false; | ||
347 | } | ||
348 | |||
349 | if (this.ruleForm.sldy.gyfs == "0") { | ||
350 | if (this.ruleForm.qlrList.length > 1) { | ||
351 | this.$message({ | ||
352 | showClose: true, | ||
353 | message: "共有方式:单独所有,权利人只能是一个人", | ||
354 | type: "error", | ||
355 | }); | ||
356 | return false; | ||
357 | } | ||
358 | this.ruleForm.qlrList[0].sfczr = "1"; | ||
359 | } else { | ||
360 | if (this.ruleForm.qlrList.length <= 1) { | ||
361 | this.$message({ | ||
362 | showClose: true, | ||
363 | message: | ||
364 | "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", | ||
365 | type: "error", | ||
366 | }); | ||
367 | return false; | ||
368 | } | ||
369 | //是否分别持证 | ||
370 | if (this.ruleForm.sldy.sqfbcz == "1") { | ||
371 | //是 | ||
372 | this.ruleForm.qlrList.forEach((item, index) => { | ||
373 | item.sfczr = "1"; | ||
374 | }); | ||
375 | } else { | ||
376 | if (that.czr === '') { | ||
377 | that.$message({ | ||
378 | showClose: true, | ||
379 | message: "请选择持证人", | ||
380 | type: "error" | ||
381 | }); | ||
382 | return false; | ||
383 | } | ||
384 | this.ruleForm.qlrList.forEach((item, index) => { | ||
385 | if (item.id == that.czr) { | ||
386 | item.sfczr = "1" | ||
387 | } else { | ||
388 | item.sfczr = "0" | ||
389 | } | ||
390 | }) | ||
391 | } | ||
392 | } | ||
393 | |||
394 | |||
395 | this.$refs['ruleForm'].validate((valid) => { | ||
396 | if (valid) { | ||
397 | that.$store.dispatch("user/refreshPage", false); | ||
398 | saveData(that.ruleForm).then((res) => { | ||
399 | if (res.code === 200) { | ||
400 | that.$message({ | ||
401 | showClose: true, | ||
402 | message: "保存成功!", | ||
403 | type: "success", | ||
404 | }); | ||
405 | that.$store.dispatch("user/refreshPage", true); | ||
406 | } else { | ||
407 | that.$message({ | ||
408 | showClose: true, | ||
409 | message: res.message, | ||
410 | type: "error", | ||
411 | }); | ||
412 | } | ||
413 | }) | ||
414 | } else { | ||
415 | that.$message({ | ||
416 | showClose: true, | ||
417 | message: "请输入登记原因", | ||
418 | type: "error" | ||
419 | }) | ||
420 | return false | ||
421 | } | ||
422 | }) | ||
423 | |||
424 | }, | ||
425 | /** | ||
426 | * @description: compare | ||
427 | * @author: renchao | ||
428 | */ | ||
429 | compare () { | ||
430 | this.$popupDialog( | ||
431 | this.ruleForm.qlxx.qllxmc, | ||
432 | "registerBook/comparison", | ||
433 | { | ||
434 | bsmQlxx: this.ruleForm.qlxx.bsmQlxx, | ||
435 | dqqllx: "YGDJ", | ||
436 | }, | ||
437 | "80%", | ||
438 | true | ||
439 | ); | ||
440 | }, | ||
441 | }, | ||
442 | }; | ||
443 | </script> | ||
444 | <style scoped lang="scss"> | ||
445 | @import "~@/styles/public.scss"; | ||
446 | |||
447 | /deep/.el-form { | ||
448 | display: flex; | ||
449 | flex-direction: column; | ||
450 | height: calc(100vh - 130px); | ||
451 | } | ||
452 | |||
453 | /deep/.el-form-item__label { | ||
454 | padding: 0; | ||
455 | } | ||
456 | |||
457 | /deep/.el-radio { | ||
458 | margin-right: 10px; | ||
459 | } | ||
460 | |||
461 | /deep/.el-select { | ||
462 | width: 100%; | ||
463 | } | ||
464 | |||
465 | /deep/.el-form-item { | ||
466 | margin-bottom: 3px; | ||
467 | } | ||
468 | |||
469 | .marginBot0 { | ||
470 | margin-bottom: 0 !important; | ||
471 | } | ||
472 | |||
473 | .slxx { | ||
474 | box-sizing: border-box; | ||
475 | } | ||
476 | |||
477 | .slxx_con { | ||
478 | flex: 1; | ||
479 | height: 100%; | ||
480 | background-color: #ffffff; | ||
481 | overflow-y: auto; | ||
482 | padding-right: 3px; | ||
483 | overflow-x: hidden; | ||
484 | } | ||
485 | |||
486 | .submit_btn { | ||
487 | height: 50px; | ||
488 | } | ||
489 | |||
490 | .btn { | ||
491 | text-align: center; | ||
492 | padding-top: 10px; | ||
493 | height: 36px; | ||
494 | background-color: #ffffff; | ||
495 | padding: 5px 0; | ||
496 | } | ||
497 | |||
498 | .textArea { | ||
499 | /deep/.el-textarea__inner { | ||
500 | min-height: 90px !important; | ||
501 | } | ||
502 | } | ||
503 | |||
504 | /deep/.el-form-item__label { | ||
505 | padding-bottom: 0px; | ||
506 | } | ||
507 | </style> |
src/views/ywbl/slsqxx/ygdy/slxx.vue
deleted
100644 → 0
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 | <cfBdcdyTable :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 "@/views/workflow/components/qjhTable"; | ||
308 | import cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable"; | ||
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, cfBdcdyTable }, | ||
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="(ruleForm.sldy.djlx == '300' && !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> |
... | @@ -15,10 +15,10 @@ class data extends filter { | ... | @@ -15,10 +15,10 @@ class data extends filter { |
15 | } | 15 | } |
16 | columns () { | 16 | columns () { |
17 | return [ | 17 | return [ |
18 | { | 18 | // { |
19 | type: 'selection', | 19 | // type: 'selection', |
20 | label: '全选', | 20 | // label: '全选', |
21 | }, | 21 | // }, |
22 | { | 22 | { |
23 | label: '序号', | 23 | label: '序号', |
24 | type: 'index', | 24 | type: 'index', |
... | @@ -32,6 +32,19 @@ class data extends filter { | ... | @@ -32,6 +32,19 @@ class data extends filter { |
32 | } | 32 | } |
33 | }, | 33 | }, |
34 | { | 34 | { |
35 | prop: "bglx", | ||
36 | label: "变化情况", | ||
37 | minWidth: '80', | ||
38 | render: (h, scope) => { | ||
39 | switch (scope.row.bglx) { | ||
40 | case '1': | ||
41 | return <span>变更前</span> | ||
42 | case '2': | ||
43 | return <span>变更后</span> | ||
44 | } | ||
45 | } | ||
46 | }, | ||
47 | { | ||
35 | prop: "status", | 48 | prop: "status", |
36 | label: "状态", | 49 | label: "状态", |
37 | width: '130', | 50 | width: '130', | ... | ... |
-
Please register or sign in to post a comment