35ac0856 by renchao@pashanhoo.com

Merge branch 'dev'

2 parents 83105fa5 a31b350b
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-28 09:34:54
5 -->
6 <template>
7 <div class="clmlmx-box">
8 <div class="title">申请材料目录</div>
9 <lb-table :column="column" :key="key" :heightNumSetting="true" :pagination="false" :data="formData.data">
10 </lb-table>
11 <div class="text-center">
12 <el-button @click="$popupCacel">取消</el-button>
13 </div>
14 </div>
15 </template>
16 <script>
17 import store from '@/store/index.js'
18 import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
19 export default {
20 props: {
21 formData: {
22 type: Object,
23 default: () => {
24 return {}
25 }
26 }
27 },
28 data () {
29 return {
30 column: [
31 {
32 width: "50",
33 label: '序号',
34 type: 'index'
35 },
36 {
37 prop: "isrequired",
38 label: "是否必选",
39 width: "80",
40 render: (h, scope) => {
41 if (scope.row.sfxjcl === "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 prop: "sjmc",
59 label: "材料名称",
60 },
61 {
62 prop: "sjlx",
63 label: "材料类型",
64 width: "80",
65 render: (h, scope) => {
66 return (
67 <div>
68 <span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
69 </div>
70 );
71 },
72 },
73 {
74 prop: "sjsl",
75 label: "份数",
76 width: "50"
77 },
78 {
79 prop: "smzt",
80 label: "扫描状态",
81 width: "80",
82 render: (h, scope) => {
83 if (scope.row.children && scope.row.children.length > 0) {
84 return (
85 <div>
86 <span>已扫描</span>
87 </div>
88 );
89 } else {
90 return (
91 <div>
92 <span>未扫描</span>
93 </div>
94 );
95 }
96 },
97 },
98 {
99 label: "扫描页数",
100 width: "80",
101 render: (h, scope) => {
102 if (scope.row.children && scope.row.children.length > 0) {
103 return (
104 <div>
105 <span>{scope.row.children.length}</span>
106 </div>
107 );
108 } else {
109 return (
110 <div>
111 <span>0</span>
112 </div>
113 );
114 }
115 },
116 },
117 {
118 label: "操作",
119 width: "80",
120 render: (h, scope) => {
121 return (
122 <div>
123 <el-button
124 type="text"
125 disabled={scope.$index == 0}
126 onClick={() => {
127 this.moveUpward(scope.$index, scope.row);
128 }}
129 >
130 上移
131 </el-button>
132 <el-button
133 type="text"
134 disabled={scope.$index + 1 == this.tableData.length}
135 onClick={() => {
136 this.moveDown(scope.$index, scope.row);
137 }}
138 >
139 下移
140 </el-button>
141 </div>
142 );
143 },
144 },
145 ],
146 key: 0,
147 tableData: []
148 }
149 },
150 created () {
151 console.log(this.formData.data, 'formData');
152 },
153 methods: {
154 // 材料目录明细初始化
155 /**
156 * @description: 材料目录明细初始化
157 * @author: renchao
158 */
159 clmlInitList () {
160 return new Promise(resolve => {
161 this.unitData = this.$parent.unitData;
162 var formdata = new FormData();
163 formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
164 formdata.append("bsmSlsq", this.$route.query.bsmSlsq);
165 formdata.append("clfl", 2);
166 InitClml(formdata).then((res) => {
167 if (res.code == 200) {
168 resolve(res.code)
169 if (res.result && res.result.length > 0) {
170 this.data = res.result;
171 } else {
172 this.data = []
173 }
174 } else {
175 this.$message.error(res.message)
176 }
177 })
178 })
179 },
180 // 上移
181 /**
182 * @description: 上移
183 * @param {*} index
184 * @param {*} row
185 * @author: renchao
186 */
187 moveUpward (index, row) {
188 let obj = {
189 xh: row.xh,
190 bsmSlsq: row.bsmSlsq,
191 moveDirection: "UP",
192 };
193 // 接口待调
194 /**
195 * @description: 接口待调
196 * @param {*} obj
197 * @author: renchao
198 */
199 moveClml(obj).then(async (res) => {
200 if (res.code == 200) {
201 let res = await this.clmlInitList()
202 if (res == 200) {
203 this.$message({
204 message: '上移成功',
205 type: 'success'
206 })
207 this.$parent.setTableData(this.data)
208 }
209 } else {
210 this.$message.error(res.message);
211 }
212 })
213 },
214 // 下移
215 /**
216 * @description: 下移
217 * @param {*} index
218 * @param {*} row
219 * @author: renchao
220 */
221 moveDown (index, row) {
222 let obj = {
223 xh: row.xh,
224 bsmSlsq: row.bsmSlsq,
225 moveDirection: "DOWN",
226 }
227 // 接口待调
228 /**
229 * @description: 接口待调
230 * @param {*} obj
231 * @author: renchao
232 */
233 moveClml(obj).then(async (res) => {
234 if (res.code == 200) {
235 let res = await this.clmlInitList()
236 if (res == 200) {
237 this.$message({
238 message: '下移成功',
239 type: 'success'
240 })
241 }
242 } else {
243 this.$message.error(res.message);
244 }
245 })
246 },
247 // 材料目录删除
248 /**
249 * @description: 材料目录删除
250 * @param {*} index
251 * @param {*} row
252 * @author: renchao
253 */
254 handleDelete (index, row) {
255 let that = this
256 this.$confirm('此操作将永久删除该 是否继续?', '提示', {
257 confirmButtonText: '确定',
258 cancelButtonText: '取消',
259 type: 'warning'
260 }).then(() => {
261 deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => {
262 if (res.code == 200) {
263 let res = await that.clmlInitList()
264 if (res == 200) {
265 that.$message({
266 message: "删除成功",
267 type: "success",
268 })
269 // this.$parent.setTableData(this.data)
270 }
271 }
272 })
273 }).catch(() => {
274 this.$message({
275 type: 'info',
276 message: '已取消删除'
277 })
278 })
279 },
280 // 字典
281 /**
282 * @description: 字典
283 * @param {*} val
284 * @param {*} code
285 * @author: renchao
286 */
287 dicStatus (val, code) {
288 let data = store.getters.dictData[code],
289 name = "暂无";
290 if (data) {
291 data.map((item) => {
292 if (item.dcode == val) {
293 name = item.dname;
294 }
295 });
296 return name;
297 }
298 }
299 }
300 }
301 </script>
302 <style scoped lang='scss'>
303 @import "~@/styles/mixin.scss";
304 .clmlmx-box {
305 margin: 0 auto;
306
307 .title {
308 text-align: center;
309 height: 60px;
310 line-height: 60px;
311 border: 1px solid #dfe6ec;
312 font-size: 20px;
313 background: #81d3f81a;
314 margin-bottom: -1px;
315 }
316 }
317 </style>
1 export function deleteCollectBiz (bsmSqyw) {
2 return request({
3 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/deleteCollectBiz?bsmSqyw=' + bsmSqyw,
4 method: 'post'
5 })
6 }
...@@ -220,14 +220,15 @@ class data extends filter { ...@@ -220,14 +220,15 @@ class data extends filter {
220 label: "房地产交易价格(万元)", 220 label: "房地产交易价格(万元)",
221 }, 221 },
222 { 222 {
223 prop: "zh",
224 label: "幢号",
225 },
226 {
227 prop: "xmmc", 223 prop: "xmmc",
228 label: "项目名称", 224 label: "项目名称",
229 }, 225 },
230 { 226 {
227 prop: "zh",
228 label: "幢号",
229 },
230
231 {
231 prop: "zcs", 232 prop: "zcs",
232 label: "总层数", 233 label: "总层数",
233 }, 234 },
......
...@@ -54,11 +54,10 @@ class data extends filter { ...@@ -54,11 +54,10 @@ class data extends filter {
54 { 54 {
55 prop: "createtime", 55 prop: "createtime",
56 label: "创建时间", 56 label: "创建时间",
57 // width: '180',
58 }, 57 },
59 { 58 {
60 label: '操作', 59 label: '操作',
61 width: '130', 60 width: '100',
62 render: (h, scope) => { 61 render: (h, scope) => {
63 return ( 62 return (
64 <div> 63 <div>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-28 09:35:31
5 -->
6 <template>
7 <div class="clxx">
8 <div class="left">
9 <div v-for="item in menuList" :key="item.id" :class="['item', checkedId == item.id ? 'active' : '']"
10 @click="menuClick(item)">
11 {{ item.label }}
12 </div>
13 </div>
14 <div class="right">
15 <!-- 材料目录明细 -->
16 <div class="clmlmx-box" v-if="checkedId == '1'">
17 <div class="title">申请材料目录</div>
18 <lb-table :column="column" :key="key" :heightNum="150" :pagination="false" :data="tableData">
19 </lb-table>
20 </div>
21 <!-- 材料预览 -->
22 <div class="clyl-box" v-else>
23 <div class="menu-tree">
24 <div class="item">
25 材料目录({{tableData.length}})
26 <div>
27 <div v-for="(item,index) in tableData" :key="item.bsmSj"
28 :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)">
29 <span v-if="item.isrequired==1" class="required">必选</span>
30 {{ item.sjmc }}
31 <span class="cl_number">({{item.children.length}})</span>
32 </div>
33 </div>
34 </div>
35 </div>
36 <image-preview ref='imageRef' v-if="tableData.length>0" :ableOperation="ableOperation" :previewImg="previewImg" @updateList="updateList"
37 @nextPriview="nextPriview"
38 @prevPriview="prevPriview" />
39 </div>
40 </div>
41 <clxxAddDialog v-model="isDialog" />
42 </div>
43 </template>
44 <script>
45 import { mapGetters } from "vuex";
46 import clxxAddDialog from "../dialog/clxxAddDialog.vue";
47 import imagePreview from '@/views/components/imagePreview.vue'
48 import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
49 export default {
50 components: { clxxAddDialog, imagePreview },
51 data () {
52 return {
53 //表单是否可操作
54 ableOperation: true,
55 isDialog: false,
56 menuList: [
57 {
58 id: "1",
59 label: "材料目录明细",
60 },
61 {
62 id: "2",
63 label: "材料预览",
64 },
65 ],
66 iclass: "",
67 // 材料目录选中
68 treeCheckIndex: 0,
69 treeCheckId: "",
70 checkedId: "1",
71 column: [
72 {
73 width: "50",
74 renderHeader: (h, scope) => {
75 return (
76 <div>
77 {
78 this.ableOperation ? '序号' :
79 <i
80 class="el-icon-plus pointer"
81 onClick={() => {
82 this.handleAdd()
83 }}
84 ></i>
85 }
86 </div>
87 )
88 },
89 render: (h, scope) => {
90 // 新建的材料,可删除
91 // v-show='scope.row.sfxjcl == 1'
92 return (
93 <div>
94 {
95 this.ableOperation ? <span>{scope.$index + 1}</span> :
96 <i
97 class="el-icon-minus pointer"
98
99 onClick={() => {
100 this.handleDelete(scope.$index, scope.row);
101 }}
102 ></i>
103 }
104 </div>
105 )
106 }
107 },
108 {
109 prop: "isrequired",
110 label: "是否必选",
111 width: "50",
112 render: (h, scope) => {
113 if (scope.row.sfxjcl === "1") {
114 return (
115 <div>
116 <span>可选</span>
117 </div>
118 );
119 }
120 else {
121 return (
122 <div>
123 <span>必选</span>
124 </div>
125 );
126 }
127 },
128 },
129 {
130 prop: "sjmc",
131 label: "材料名称",
132 },
133 {
134 prop: "sjlx",
135 label: "材料类型",
136 width: "80",
137 render: (h, scope) => {
138 return (
139 <div>
140 <span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
141 </div>
142 );
143 },
144 },
145 {
146 prop: "sjsl",
147 label: "份数",
148 width: "50"
149 },
150 {
151 prop: "smzt",
152 label: "扫描状态",
153 width: "80",
154 render: (h, scope) => {
155 if (scope.row.children.length > 0) {
156 return (
157 <div>
158 <span>已扫描</span>
159 </div>
160 );
161 } else {
162 return (
163 <div>
164 <span>未扫描</span>
165 </div>
166 );
167 }
168 },
169 },
170 {
171 prop: "ys",
172 label: "扫描页数",
173 width: "50"
174 },
175 {
176 label: "操作",
177 width: "80",
178 render: (h, scope) => {
179 return (
180 <div>
181 <el-button
182 type="text"
183 disabled={scope.$index == 0}
184 onClick={() => {
185 this.moveUpward(scope.$index, scope.row);
186 }}
187 >
188 上移
189 </el-button>
190 <el-button
191 type="text"
192 disabled={scope.$index + 1 == this.tableData.length}
193 onClick={() => {
194 this.moveDown(scope.$index, scope.row);
195 }}
196 >
197 下移
198 </el-button>
199 </div>
200 );
201 },
202 },
203 ],
204 key: 0,
205 tableData: [],
206 previewImg: {
207 // 收件标识码
208 bsmSj: '',
209 bsmSlsq: this.$parent.bsmSlsq,
210 index: 0,
211 selectedIndex: 0,
212 imgList: []
213 }
214 }
215 },
216 computed: {
217 ...mapGetters(["dictData"])
218 },
219 created () {
220 this.ableOperation = this.$parent.currentSelectTab.ableOperation
221 this.clmlInitList()
222 },
223 methods: {
224 // 自动预览
225 /**
226 * @description: 自动预览
227 * @author: renchao
228 */
229 nextPriview () {
230 if (this.treeCheckIndex < this.tableData.length) {
231 this.treeCheckIndex++
232 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
233 this.previewImg.index = 0
234 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
235 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
236 }
237 },
238 /**
239 * @description: prevPriview
240 * @author: renchao
241 */
242 prevPriview () {
243 if (this.treeCheckIndex >= 1) {
244 this.treeCheckIndex--
245 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
246 this.previewImg.index = this.previewImg.imgList.length
247 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
248 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
249 }
250 },
251 // 材料目录明细初始化
252 /**
253 * @description: 材料目录明细初始化
254 * @author: renchao
255 */
256 clmlInitList () {
257 return new Promise(resolve => {
258 this.unitData = this.$parent.unitData;
259 var formdata = new FormData();
260 formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
261 formdata.append("bsmSlsq", this.$parent.bsmSlsq);
262 formdata.append("clfl", 2);
263 InitClml(formdata).then((res) => {
264 if (res.result.code == 200) {
265 resolve(res.code)
266 if (res.result.result && res.result.result.length > 0) {
267 this.tableData = res.result.result;
268 this.treeCheckId = this.tableData[0].bsmSj;
269 this.title = this.tableData[0].sjmc;
270 this.titleYs = 1;
271 this.titleNum = this.tableData[0].children.length;
272
273 this.previewImg.imgList = this.tableData[0]?.children;
274 this.previewImg.bsmSj = this.tableData[0]?.bsmSj;
275 }
276 } else {
277 this.$message.error(res.result.message)
278 }
279 })
280 })
281 },
282 /**
283 * @description: updateList
284 * @param {*} val
285 * @author: renchao
286 */
287 updateList (val) {
288 let that = this
289 if (val != null) { //删除最后一张图片时 val=null
290 this.tableData.forEach(item => {
291 if (item.bsmSj === val.bsmSj) {
292 item.children = val.children
293 }
294 })
295 this.previewImg.imgList = _.cloneDeep(val.children)
296 if (this.previewImg.index == this.previewImg.imgList.length) {
297 this.previewImg.index = this.previewImg.index - 1
298 }
299 } else {
300 this.previewImg.imgList = []
301 this.tableData.forEach((item, index) => {
302 if (this.treeCheckId == item.bsmSj) {
303 item.children = []
304 that.treeCheckIndex = index
305 }
306 })
307 }
308
309 },
310 // 左侧菜单点击
311 /**
312 * @description: 左侧菜单点击
313 * @param {*} item
314 * @author: renchao
315 */
316 menuClick (item) {
317 this.checkedId = item.id
318 },
319 // 添加材料目录
320 /**
321 * @description: 添加材料目录
322 * @author: renchao
323 */
324 handleAdd () {
325 this.isDialog = true;
326 },
327 // 上移
328 /**
329 * @description: 上移
330 * @param {*} index
331 * @param {*} row
332 * @author: renchao
333 */
334 moveUpward (index, row) {
335 let obj = {
336 xh: row.xh,
337 bsmSlsq: row.bsmSlsq,
338 moveDirection: "UP",
339 };
340 // 接口待调
341 moveClml(obj).then(async (res) => {
342 if (res.code == 200) {
343 let res = await this.clmlInitList()
344 if (res == 200) this.$message({
345 message: '上移成功',
346 type: 'success'
347 })
348 } else {
349 this.$message.error(res.message);
350 }
351 })
352 },
353 // 下移
354 /**
355 * @description: 下移
356 * @param {*} index
357 * @param {*} row
358 * @author: renchao
359 */
360 moveDown (index, row) {
361 let obj = {
362 xh: row.xh,
363 bsmSlsq: row.bsmSlsq,
364 moveDirection: "DOWN",
365 }
366 // 接口待调
367 moveClml(obj).then(async (res) => {
368 if (res.code == 200) {
369 let res = await this.clmlInitList()
370 if (res == 200) this.$message({
371 message: '下移成功',
372 type: 'success'
373 })
374 } else {
375 this.$message.error(res.message);
376 }
377 })
378 },
379 // 新增弹窗保存
380 /**
381 * @description: 新增弹窗保存
382 * @param {*} data
383 * @author: renchao
384 */
385 addSave (data) {
386 let obj = {
387 bsmSlsq: this.$parent.bsmSlsq,
388 isrequired: "1",
389 sjmc: data.clmc,
390 sjsl: 0,
391 smzt: '',
392 ys: 0,
393 sjlx: data.cllx,
394 sfxjcl: "1", // 是否必选
395 };
396 saveClml(obj).then(async (res) => {
397 if (res.code == 200) {
398 let res = await this.clmlInitList()
399 if (res == 200) this.$message({
400 message: "新增成功",
401 type: "success",
402 })
403 }
404 });
405 },
406 // 材料目录删除
407 /**
408 * @description: 材料目录删除
409 * @param {*} index
410 * @param {*} row
411 * @author: renchao
412 */
413 handleDelete (index, row) {
414 let that = this
415 this.$confirm('此操作将永久删除该 是否继续?', '提示', {
416 confirmButtonText: '确定',
417 cancelButtonText: '取消',
418 type: 'warning'
419 }).then(() => {
420 deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => {
421 if (res.code == 200) {
422 let res = await that.clmlInitList()
423 if (res == 200) that.$message({
424 message: "删除成功",
425 type: "success",
426 })
427 }
428 })
429 }).catch(() => {
430 this.$message({
431 type: 'info',
432 message: '已取消删除'
433 })
434 })
435 },
436 // 材料目录点击选中
437 /**
438 * @description: 材料目录点击选中
439 * @param {*} item
440 * @param {*} index
441 * @author: renchao
442 */
443 treeClick (item, index) {
444 this.previewImg.index = 0
445 this.treeCheckId = item?.bsmSj
446 this.treeCheckIndex = index
447 this.previewImg.imgList = item.children ? item.children : []
448 this.previewImg.bsmSj = item?.bsmSj
449 },
450 // 小图片点击
451 /**
452 * @description: 小图片点击
453 * @param {*} item
454 * @param {*} index
455 * @author: renchao
456 */
457 imgClick (item, index) {
458 this.showImg = item;
459 this.titleYs = index + 1;
460 },
461 // 字典
462 /**
463 * @description: 字典
464 * @param {*} val
465 * @param {*} code
466 * @author: renchao
467 */
468 dicStatus (val, code) {
469 let data = this.$store.getters.dictData[code],
470 name = "暂无";
471 if (data) {
472 data.map((item) => {
473 if (item.dcode == val) {
474 name = item.dname;
475 }
476 });
477 return name;
478 }
479 },
480 },
481 };
482 </script>
483 <style scoped lang='scss'>
484 @import "~@/styles/mixin.scss";
485
486 .active {
487 background: $light-blue !important;
488 color: #fff;
489 }
490
491 .required {
492 font-size: 12px;
493 color: $pink;
494 float: left;
495 }
496
497 .cl_number {
498 float: right;
499 }
500
501 .clxx {
502 width: 100%;
503 display: flex;
504 padding-left: 5px;
505 height: calc(100vh - 125px);
506
507 .left {
508 display: flex;
509 flex-direction: column;
510 justify-content: space-between;
511
512 .item {
513 width: 28px;
514 height: 49%;
515 @include flex-center;
516 background-color: #e4e7ed;
517 border-bottom-right-radius: 10px;
518 padding: 5px;
519 cursor: pointer;
520 transition: all 0.3s;
521
522 &:hover {
523 @extend .active;
524 }
525 }
526 }
527
528 .right {
529 width: 100%;
530 height: 100%;
531
532 .clmlmx-box {
533 margin: 0 auto;
534
535 .title {
536 text-align: center;
537 height: 60px;
538 line-height: 60px;
539 border: 1px solid #dfe6ec;
540 font-size: 20px;
541 background: #81d3f81a;
542 margin-bottom: -1px;
543 }
544 }
545
546 .clyl-box {
547 width: 100%;
548 height: 100%;
549 display: flex;
550
551 .menu-tree {
552 width: 20%;
553 min-width: 160px;
554 height: 100%;
555 margin-right: 10px;
556 border-right: 1px dotted #d9d9d9;
557 padding: 0 15px;
558
559 .item {
560 line-height: 30px;
561 padding-top: 5px;
562 border-bottom: 1px solid #e8e8e8;
563 font-size: 16px;
564 text-align: center;
565 color: $light-blue;
566
567 .itemIcon {
568 float: right;
569 line-height: 60px;
570 cursor: pointer;
571 }
572
573 .child {
574 line-height: 32px;
575 border-bottom: 1px solid #e8e8e8;
576 padding-left: 10px;
577 color: #6b6b6b;
578 cursor: pointer;
579 box-sizing: border-box;
580 border-radius: 6px;
581 line-height: 20px;
582 transition: all 0.3s;
583 padding: 8px 0;
584 }
585
586 .child:hover {
587 color: $light-blue;
588 transform: scale(1.1);
589 }
590
591 .checked {
592 border: 1px solid $light-blue;
593 color: $light-blue;
594 }
595 }
596 }
597
598 .clyl-img {
599 width: 75%;
600 height: 100%;
601 background: #f3f4f7;
602 margin: 0 auto;
603 position: relative;
604 }
605 }
606 }
607 }
608 </style>
...@@ -9,398 +9,458 @@ ...@@ -9,398 +9,458 @@
9 <!-- 材料预览 --> 9 <!-- 材料预览 -->
10 <div class="clyl-box"> 10 <div class="clyl-box">
11 <div class="menu-tree"> 11 <div class="menu-tree">
12 <el-button type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细</el-button> 12 <el-button
13 type="primary"
14 native-type="submit"
15 @click="viewDetail"
16 style="width: 100%; margin-top: 10px"
17 >查看明细</el-button
18 >
13 <div class="item"> 19 <div class="item">
14 材料目录({{tableData.length}}) 20 材料目录({{ tableData.length }})
15 <div style="margin-top:10px"> 21 <div style="margin-top: 10px">
16 <div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div> 22 <div
17 <div v-for="(item,index) in tableData" :key="item.bsmSj" 23 style="
18 :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)"> 24 text-align: center;
19 <span v-if="item.isrequired==1" class="required">必选</span> 25 line-height: 20px;
26 color: black;
27 font-size: 14px;
28 "
29 v-if="tableData.length == 0"
30 >
31 暂无数据
32 </div>
33 <div
34 v-for="(item, index) in tableData"
35 :key="item.bsmSj"
36 :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']"
37 @click="treeClick(item, index)"
38 >
39 <span v-if="item.isrequired == 1" class="required">必选</span>
20 {{ item.sjmc }} 40 {{ item.sjmc }}
21 <span class="cl_number">({{item.children ? item.children.length : 0}})</span> 41 <span class="cl_number"
42 >({{ item.children ? item.children.length : 0 }})</span
43 >
22 </div> 44 </div>
23 </div> 45 </div>
24 </div> 46 </div>
25 <el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()" 47 <el-button
26 v-if="ableOperation">新增</el-button> 48 type="primary"
49 native-type="submit"
50 style="width: 100%"
51 @click="handleAdd()"
52 v-if="ableOperation"
53 >新增</el-button
54 >
27 </div> 55 </div>
28 <image-preview ref='imageRef' v-if="tableData.length>0" :previewImg="previewImg" :ableOperation="ableOperation" @updateList="updateList" 56 <image-preview
57 ref="imageRef"
58 v-if="tableData.length > 0"
59 :previewImg="previewImg"
60 :ableOperation="ableOperation"
61 @updateList="updateList"
29 @nextPriview="nextPriview" 62 @nextPriview="nextPriview"
30 @prevPriview="prevPriview" /> 63 @prevPriview="prevPriview"
64 />
31 </div> 65 </div>
32 </div> 66 </div>
33 <clxxAddDialog v-model="isDialog" /> 67 <clxxAddDialog v-model="isDialog" />
34 </div> 68 </div>
35 </template> 69 </template>
36 <script> 70 <script>
37 import { mapGetters } from "vuex"; 71 import { mapGetters } from "vuex";
38 import clxxAddDialog from "../dialog/clxxAddDialog.vue"; 72 import clxxAddDialog from "../dialog/clxxAddDialog.vue";
39 import clxxDetailDialog from "../dialog/clxxDetailDialog.vue"; 73 import clxxDetailDialog from "../dialog/clxxDetailDialog.vue";
40 import imagePreview from '@/views/components/imagePreview.vue' 74 import imagePreview from "@/views/components/imagePreview.vue";
41 import { InitClml, saveClml } from "@/api/clxx.js"; 75 import { InitClml, saveClml } from "@/api/clxx.js";
42 export default { 76 export default {
43 components: { clxxAddDialog, imagePreview, clxxDetailDialog }, 77 components: { clxxAddDialog, imagePreview, clxxDetailDialog },
44 data () { 78 data() {
45 return { 79 return {
46 //表单是否可操作 80 //表单是否可操作
47 ableOperation: true, 81 ableOperation: true,
48 isDialog: false, 82 isDialog: false,
49 iclass: "", 83 iclass: "",
50 // 材料目录选中 84 // 材料目录选中
51 treeCheckIndex: 0, 85 treeCheckIndex: 0,
52 treeCheckId: "", 86 treeCheckId: "",
53 key: 0, 87 key: 0,
54 tableData: [], 88 tableData: [],
55 previewImg: { 89 previewImg: {
56 // 收件标识码 90 // 收件标识码
57 bsmSj: '', 91 bsmSj: "",
58 bsmSlsq: this.$parent.bsmSlsq, 92 bsmSlsq: this.$parent.bsmSlsq,
59 index: 0, 93 index: 0,
60 selectedIndex: 0, 94 selectedIndex: 0,
61 imgList: [] 95 imgList: [],
62 } 96 },
63 } 97 };
64 }, 98 },
65 computed: { 99 computed: {
66 ...mapGetters(["dictData"]) 100 ...mapGetters(["dictData"]),
67 }, 101 },
68 created () { 102 created() {
69 this.clmlInitList(1) 103 this.clmlInitList(1);
70 }, 104 },
71 computed: { 105 computed: {
72 ...mapGetters(['workFresh']) 106 ...mapGetters(["workFresh"]),
107 },
108 watch: {
109 workFresh: {
110 handler(newVal, oldVal) {
111 if (newVal) this.clmlInitList(1);
112 },
73 }, 113 },
74 watch: { 114 },
75 workFresh: { 115 mounted() {
76 handler (newVal, oldVal) { 116 console.log(
77 if (newVal) this.clmlInitList(1) 117 "bestepid: this.$route.query.bestepid,",
78 } 118 this.$route.query.bestepid
119 );
120 console.log(
121 "bestepid: this.$route.query.sqywbm,",
122 this.$route.query.sqywbm
123 );
124 this.ableOperation = this.$parent.ableOperation;
125 },
126 methods: {
127 // 自动预览
128 /**
129 * @description: 自动预览
130 * @author: renchao
131 */
132 nextPriview() {
133 if (this.treeCheckIndex < this.tableData.length) {
134 this.treeCheckIndex++;
135 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj;
136 this.previewImg.index = 0;
137 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children;
138 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj;
79 } 139 }
80 }, 140 },
81 mounted () { 141 /**
82 this.ableOperation = this.$parent.ableOperation 142 * @description: prevPriview
143 * @author: renchao
144 */
145 prevPriview() {
146 if (this.treeCheckIndex >= 1) {
147 this.treeCheckIndex--;
148 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj;
149 this.previewImg.index = this.previewImg.imgList.length;
150 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children;
151 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj;
152 }
83 }, 153 },
84 methods: { 154 // 材料目录明细初始化
85 // 自动预览 155 /**
86 /** 156 * @description: 材料目录明细初始化
87 * @description: 自动预览 157 * @param {*} type
88 * @author: renchao 158 * @author: renchao
89 */ 159 */
90 nextPriview () { 160 clmlInitList(type) {
91 if (this.treeCheckIndex < this.tableData.length) { 161 //type 1:列表初始化 2:新增材料
92 this.treeCheckIndex++ 162 return new Promise((resolve) => {
93 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj 163 this.unitData = this.$parent.unitData;
94 this.previewImg.index = 0 164 var formdata = new FormData();
95 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children 165
96 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj 166 formdata.append("bsmSlsq", this.$parent.bsmSlsq);
97 } 167 if (this.$route.query.sqywbm == "DJBBL") {
98 }, 168 formdata.append("bsmSldy", this.$parent.bsmRepair);
99 /** 169 formdata.append("clfl", 3);
100 * @description: prevPriview 170 } else {
101 * @author: renchao
102 */
103 prevPriview () {
104 if (this.treeCheckIndex >= 1) {
105 this.treeCheckIndex--
106 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
107 this.previewImg.index = this.previewImg.imgList.length
108 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
109 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
110 }
111 },
112 // 材料目录明细初始化
113 /**
114 * @description: 材料目录明细初始化
115 * @param {*} type
116 * @author: renchao
117 */
118 clmlInitList (type) {
119 //type 1:列表初始化 2:新增材料
120 return new Promise(resolve => {
121 this.unitData = this.$parent.unitData;
122 var formdata = new FormData();
123 formdata.append("bsmSldy", this.unitData[0]?.bsmSldy); 171 formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
124 formdata.append("bsmSlsq", this.$parent.bsmSlsq);
125 formdata.append("clfl", 2); 172 formdata.append("clfl", 2);
126 InitClml(formdata).then((res) => { 173 }
127 if (res.code == 200) { 174
128 resolve(res.code) 175 InitClml(formdata).then((res) => {
129 if (res.result && res.result.length > 0) { 176 if (res.code == 200) {
130 this.tableData = res.result; 177 resolve(res.code);
131 if (type == 1) { 178 if (res.result && res.result.length > 0) {
132 this.treeClick(this.tableData[0], 0); 179 this.tableData = res.result;
133 } else { 180 if (type == 1) {
134 //新增材料后刷新列表焦点置于新增的对象上 181 this.treeClick(this.tableData[0], 0);
135 this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1); 182 } else {
136 } 183 //新增材料后刷新列表焦点置于新增的对象上
184 this.treeClick(
185 this.tableData[this.tableData.length - 1],
186 this.tableData.length - 1
187 );
137 } 188 }
138 } else {
139 this.$message.error(res.message)
140 }
141 })
142 })
143 },
144 /**
145 * @description: setChecked
146 * @param {*} item
147 * @author: renchao
148 */
149 setChecked (item) {
150 this.treeCheckId = item.bsmSj;
151 this.title = item.sjmc;
152 this.titleYs = 1;
153 this.titleNum = item.children.length;
154 this.previewImg.imgList = item.children;
155 this.previewImg.bsmSj = item.bsmSj;
156 },
157 /**
158 * @description: updateList
159 * @param {*} val
160 * @author: renchao
161 */
162 updateList (val) {
163 let that = this
164 if (val.children.length != 0) { //删除最后一张图片时 val=null
165 this.tableData.forEach(item => {
166 if (item.bsmSj === val.bsmSj) {
167 item.children = val.children
168 } 189 }
169 }) 190 } else {
170 this.previewImg.imgList = _.cloneDeep(val.children) 191 this.$message.error(res.message);
171 if (this.previewImg.index == this.previewImg.imgList.length) {
172 this.previewImg.index = this.previewImg.index - 1
173 } 192 }
174 } else { 193 });
175 this.previewImg.imgList = [] 194 });
176 this.tableData.forEach((item, index) => { 195 },
177 if (this.treeCheckId == item.bsmSj) { 196 /**
178 item.children = [] 197 * @description: setChecked
179 that.treeCheckIndex = index 198 * @param {*} item
180 } 199 * @author: renchao
181 }) 200 */
201 setChecked(item) {
202 this.treeCheckId = item.bsmSj;
203 this.title = item.sjmc;
204 this.titleYs = 1;
205 this.titleNum = item.children.length;
206 this.previewImg.imgList = item.children;
207 this.previewImg.bsmSj = item.bsmSj;
208 },
209 /**
210 * @description: updateList
211 * @param {*} val
212 * @author: renchao
213 */
214 updateList(val) {
215 let that = this;
216 if (val.children.length != 0) {
217 //删除最后一张图片时 val=null
218 this.tableData.forEach((item) => {
219 if (item.bsmSj === val.bsmSj) {
220 item.children = val.children;
221 }
222 });
223 this.previewImg.imgList = _.cloneDeep(val.children);
224 if (this.previewImg.index == this.previewImg.imgList.length) {
225 this.previewImg.index = this.previewImg.index - 1;
182 } 226 }
183 }, 227 } else {
184 // 添加材料目录 228 this.previewImg.imgList = [];
185 /** 229 this.tableData.forEach((item, index) => {
186 * @description: 添加材料目录 230 if (this.treeCheckId == item.bsmSj) {
187 * @author: renchao 231 item.children = [];
188 */ 232 that.treeCheckIndex = index;
189 handleAdd () { 233 }
190 this.isDialog = true; 234 });
191 }, 235 }
192 // 新增弹窗保存 236 },
193 /** 237 // 添加材料目录
194 * @description: 新增弹窗保存 238 /**
195 * @param {*} data 239 * @description: 添加材料目录
196 * @author: renchao 240 * @author: renchao
197 */ 241 */
198 addSave (data) { 242 handleAdd() {
199 let obj = { 243 this.isDialog = true;
200 bsmSlsq: this.$parent.bsmSlsq, 244 },
201 isrequired: "1", 245 // 新增弹窗保存
202 sjmc: data.clmc, 246 /**
203 sjsl: 0, 247 * @description: 新增弹窗保存
204 smzt: '', 248 * @param {*} data
205 ys: 0, 249 * @author: renchao
206 sjlx: data.cllx, 250 */
207 sfxjcl: "1", // 是否必选 251 addSave(data) {
208 }; 252 let obj = {
209 saveClml(obj).then(async (res) => { 253 bsmSlsq: this.$parent.bsmSlsq,
210 if (res.code == 200) { 254 isrequired: "1",
211 let res = await this.clmlInitList(2) 255 sjmc: data.clmc,
212 if (res == 200) this.$message({ 256 sjsl: 0,
257 smzt: "",
258 ys: 0,
259 sjlx: data.cllx,
260 sfxjcl: "1", // 是否必选
261 };
262 saveClml(obj).then(async (res) => {
263 if (res.code == 200) {
264 let res = await this.clmlInitList(2);
265 if (res == 200)
266 this.$message({
213 message: "新增成功", 267 message: "新增成功",
214 type: "success", 268 type: "success",
215 }) 269 });
270 }
271 });
272 },
273 // 材料目录点击选中
274 /**
275 * @description: 材料目录点击选中
276 * @param {*} item
277 * @param {*} index
278 * @author: renchao
279 */
280 treeClick(item, index) {
281 this.previewImg.index = 0;
282 this.treeCheckId = item?.bsmSj;
283 this.treeCheckIndex = index;
284 this.previewImg.imgList = item.children ? item.children : [];
285 this.previewImg.bsmSj = item?.bsmSj;
286 },
287 // 小图片点击
288 /**
289 * @description: 小图片点击
290 * @param {*} item
291 * @param {*} index
292 * @author: renchao
293 */
294 imgClick(item, index) {
295 this.showImg = item;
296 this.titleYs = index + 1;
297 },
298 // 字典
299 /**
300 * @description: 字典
301 * @param {*} val
302 * @param {*} code
303 * @author: renchao
304 */
305 dicStatus(val, code) {
306 let data = this.$store.getters.dictData[code],
307 name = "暂无";
308 if (data) {
309 data.map((item) => {
310 if (item.dcode == val) {
311 name = item.dname;
216 } 312 }
217 }); 313 });
218 }, 314 return name;
219 // 材料目录点击选中 315 }
220 /** 316 },
221 * @description: 材料目录点击选中 317 //查看明细
222 * @param {*} item 318 viewDetail() {
223 * @param {*} index 319 this.$store.dispatch("user/reWorkFresh", false);
224 * @author: renchao 320 this.$popupDialog(
225 */ 321 "查看明细",
226 treeClick (item, index) { 322 "workflow/components/dialog/clxxDetailDialog",
227 this.previewImg.index = 0 323 {
228 this.treeCheckId = item?.bsmSj
229 this.treeCheckIndex = index
230 this.previewImg.imgList = item.children ? item.children : []
231 this.previewImg.bsmSj = item?.bsmSj
232 },
233 // 小图片点击
234 /**
235 * @description: 小图片点击
236 * @param {*} item
237 * @param {*} index
238 * @author: renchao
239 */
240 imgClick (item, index) {
241 this.showImg = item;
242 this.titleYs = index + 1;
243 },
244 // 字典
245 /**
246 * @description: 字典
247 * @param {*} val
248 * @param {*} code
249 * @author: renchao
250 */
251 dicStatus (val, code) {
252 let data = this.$store.getters.dictData[code],
253 name = "暂无";
254 if (data) {
255 data.map((item) => {
256 if (item.dcode == val) {
257 name = item.dname
258 }
259 });
260 return name
261 }
262 },
263 //查看明细
264 viewDetail () {
265 this.$store.dispatch('user/reWorkFresh', false)
266 this.$popupDialog("查看明细", "workflow/components/dialog/clxxDetailDialog", {
267 data: this.tableData, 324 data: this.tableData,
268 unitData: this.$parent.unitData, 325 unitData: this.$parent.unitData,
269 ableOperation: this.$parent.ableOperation 326 ableOperation: this.$parent.ableOperation,
270 }, "60%", true) 327 },
271 }, 328 "60%",
272 //设置tableData 329 true
273 setTableData (tableData) { 330 );
274 this.$nextTick(res => { 331 },
275 this.tableData = tableData; 332 //设置tableData
276 }) 333 setTableData(tableData) {
277 }, 334 this.$nextTick((res) => {
335 this.tableData = tableData;
336 });
278 }, 337 },
279 }; 338 },
339 };
280 </script> 340 </script>
281 <style scoped lang='scss'> 341 <style scoped lang="scss">
282 @import "~@/styles/mixin.scss"; 342 @import "~@/styles/mixin.scss";
283 343
284 .active { 344 .active {
285 background: $light-blue !important; 345 background: $light-blue !important;
286 color: #fff; 346 color: #fff;
287 } 347 }
288 348
289 .required { 349 .required {
290 font-size: 12px; 350 font-size: 12px;
291 color: $pink; 351 color: $pink;
292 float: left; 352 float: left;
293 } 353 }
294 354
295 .cl_number { 355 .cl_number {
296 float: right; 356 float: right;
297 } 357 }
298 358
299 .clxx { 359 .clxx {
300 width: 100%; 360 width: 100%;
361 display: flex;
362 padding-left: 5px;
363 height: calc(100vh - 125px);
364
365 .left {
301 display: flex; 366 display: flex;
302 padding-left: 5px; 367 flex-direction: column;
303 height: calc(100vh - 125px); 368 justify-content: space-between;
304 369
305 .left { 370 .item {
306 display: flex; 371 width: 28px;
307 flex-direction: column; 372 height: 49%;
308 justify-content: space-between; 373 @include flex-center;
374 background-color: #e4e7ed;
375 border-bottom-right-radius: 10px;
376 padding: 5px;
377 cursor: pointer;
378 transition: all 0.3s;
309 379
310 .item { 380 &:hover {
311 width: 28px; 381 @extend .active;
312 height: 49%; 382 }
313 @include flex-center; 383 }
314 background-color: #e4e7ed; 384 }
315 border-bottom-right-radius: 10px;
316 padding: 5px;
317 cursor: pointer;
318 transition: all 0.3s;
319 385
320 &:hover { 386 .right {
321 @extend .active; 387 width: 100%;
322 } 388 height: 100%;
389
390 .clmlmx-box {
391 margin: 0 auto;
392
393 .title {
394 text-align: center;
395 height: 60px;
396 line-height: 60px;
397 border: 1px solid #dfe6ec;
398 font-size: 20px;
399 background: #81d3f81a;
400 margin-bottom: -1px;
323 } 401 }
324 } 402 }
325 403
326 .right { 404 .clyl-box {
327 width: 100%; 405 width: 100%;
328 height: 100%; 406 height: 100%;
407 display: flex;
329 408
330 .clmlmx-box { 409 .menu-tree {
331 margin: 0 auto; 410 width: 20%;
411 min-width: 160px;
412 height: 100%;
413 margin-right: 10px;
414 border-right: 1px dotted #d9d9d9;
415 padding: 0 15px;
332 416
333 .title { 417 .item {
418 line-height: 30px;
419 padding-top: 5px;
420 border-bottom: 1px solid #e8e8e8;
421 font-size: 16px;
334 text-align: center; 422 text-align: center;
335 height: 60px; 423 color: $light-blue;
336 line-height: 60px;
337 border: 1px solid #dfe6ec;
338 font-size: 20px;
339 background: #81d3f81a;
340 margin-bottom: -1px;
341 }
342 }
343
344 .clyl-box {
345 width: 100%;
346 height: 100%;
347 display: flex;
348 424
349 .menu-tree { 425 .itemIcon {
350 width: 20%; 426 float: right;
351 min-width: 160px; 427 line-height: 60px;
352 height: 100%; 428 cursor: pointer;
353 margin-right: 10px; 429 }
354 border-right: 1px dotted #d9d9d9;
355 padding: 0 15px;
356 430
357 .item { 431 .child {
358 line-height: 30px; 432 line-height: 32px;
359 padding-top: 5px;
360 border-bottom: 1px solid #e8e8e8; 433 border-bottom: 1px solid #e8e8e8;
361 font-size: 16px; 434 padding-left: 10px;
362 text-align: center; 435 color: #6b6b6b;
363 color: $light-blue; 436 cursor: pointer;
364 437 box-sizing: border-box;
365 .itemIcon { 438 border-radius: 6px;
366 float: right; 439 line-height: 20px;
367 line-height: 60px; 440 transition: all 0.3s;
368 cursor: pointer; 441 padding: 8px 0;
369 } 442 }
370
371 .child {
372 line-height: 32px;
373 border-bottom: 1px solid #e8e8e8;
374 padding-left: 10px;
375 color: #6b6b6b;
376 cursor: pointer;
377 box-sizing: border-box;
378 border-radius: 6px;
379 line-height: 20px;
380 transition: all 0.3s;
381 padding: 8px 0;
382 }
383 443
384 .child:hover { 444 .child:hover {
385 color: $light-blue; 445 color: $light-blue;
386 transform: scale(1.1); 446 transform: scale(1.1);
387 } 447 }
388 448
389 .checked { 449 .checked {
390 border: 1px solid $light-blue; 450 border: 1px solid $light-blue;
391 color: $light-blue; 451 color: $light-blue;
392 }
393 } 452 }
394 } 453 }
454 }
395 455
396 .clyl-img { 456 .clyl-img {
397 width: 75%; 457 width: 75%;
398 height: 100%; 458 height: 100%;
399 background: #f3f4f7; 459 background: #f3f4f7;
400 margin: 0 auto; 460 margin: 0 auto;
401 position: relative; 461 position: relative;
402 }
403 } 462 }
404 } 463 }
405 } 464 }
465 }
406 </style> 466 </style>
......
...@@ -62,66 +62,38 @@ ...@@ -62,66 +62,38 @@
62 </el-form-item> 62 </el-form-item>
63 </el-col> 63 </el-col>
64 </el-row> 64 </el-row>
65 <el-row :gutter="10" v-if="ruleForm.fdcq2"> 65 <el-row :gutter="10" v-if="ruleForm.fdcq1">
66 <el-col :span="8"> 66 <el-col :span="8">
67 <el-form-item label="土地使用期限:"> 67 <el-form-item label="独用土地面积:">
68 <el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input> 68 <el-input disabled v-model="ruleForm.fdcq1.dytdmj"></el-input>
69 </el-form-item> 69 </el-form-item>
70 </el-col> 70 </el-col>
71 <el-col :span="8"> 71 <el-col :span="8">
72 <el-form-item label="规划用途名称:"> 72 <el-form-item label="分摊土地面积:">
73 <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input> 73 <el-input disabled v-model="ruleForm.fdcq1.fttdmj"></el-input>
74 </el-form-item> 74 </el-form-item>
75 </el-col> 75 </el-col>
76 <el-col :span="8"> 76 <el-col :span="8">
77 <el-form-item label="房屋性质:"> 77 <el-form-item label="房地产交易价格:">
78 <el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input> 78 <el-input disabled v-model="ruleForm.fdcq1.fdcjyjg"></el-input>
79 </el-form-item>
80 </el-col>
81 </el-row>
82 <el-row :gutter="10" v-if="ruleForm.qlxx">
83 <el-col :span="8">
84 <el-form-item label="房屋结构:">
85 <el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></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.fdcq2.szc"></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.zcs"></el-input>
96 </el-form-item>
97 </el-col>
98 </el-row>
99 <el-row :gutter="10" v-if="ruleForm.fdcq2">
100 <el-col :span="8">
101 <el-form-item label="竣工时间:">
102 <el-input disabled v-model="ruleForm.fdcq2.jgsj"></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.qlxx.mj"></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.zyjzmj"></el-input>
113 </el-form-item> 79 </el-form-item>
114 </el-col> 80 </el-col>
115 </el-row> 81 </el-row>
116 <el-row :gutter="10"> 82 <el-row :gutter="10">
117 83 <el-col :span="24">
118 <el-col :span="8"> 84 <el-form-item label="附记:">
119 <el-form-item label="分摊建筑面积:"> 85 <el-input disabled v-model="ruleForm.fdcq1.fj"></el-input>
120 <el-input disabled v-model="ruleForm.fdcq2.ftjzmj"></el-input>
121 </el-form-item> 86 </el-form-item>
122 </el-col> 87 </el-col>
123 </el-row> 88 </el-row>
124 <div class="slxx_title title-block"> 89 <div class="slxx_title title-block">
90 房屋多幢明细
91 <div class="triangle"></div>
92 <fdcqxmTable
93 :ableOperation="ableOperation"
94 :tableData="ruleForm.fdcqxm"
95 @upDateTdytxxList="upDateTdytxxList" />
96 <div class="slxx_title title-block">
125 土地用途 97 土地用途
126 <div class="triangle"></div> 98 <div class="triangle"></div>
127 </div> 99 </div>
...@@ -175,7 +147,7 @@ ...@@ -175,7 +147,7 @@
175 <qlrCommonTable @upDateQlrxxList="upDateQlrxxList" :tableData="ruleForm.qlrList" :disabled="!ableOperation" 147 <qlrCommonTable @upDateQlrxxList="upDateQlrxxList" :tableData="ruleForm.qlrList" :disabled="!ableOperation"
176 :gyfs="ruleForm.slsq.gyfs" /> 148 :gyfs="ruleForm.slsq.gyfs" />
177 149
178 <div v-if="ruleForm.ywrList && ruleForm.slsq.djlx == '200'"> 150 <div v-if="ruleForm.ywrList && ruleForm.qlxx.djlx == '200'">
179 <div class="slxx_title title-block"> 151 <div class="slxx_title title-block">
180 义务人信息 152 义务人信息
181 <div class="triangle"></div> 153 <div class="triangle"></div>
...@@ -191,12 +163,13 @@ ...@@ -191,12 +163,13 @@
191 <el-col> 163 <el-col>
192 <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="djyy"> 164 <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="djyy">
193 <el-input class="textArea" type="textarea" :disabled="!ableOperation" 165 <el-input class="textArea" type="textarea" :disabled="!ableOperation"
194 v-model="ruleForm.fdcq2.djyy"> 166 v-model="ruleForm.fdcq1.djyy">
195 </el-input> 167 </el-input>
196 </el-form-item> 168 </el-form-item>
197 </el-col> 169 </el-col>
198 </el-row> 170 </el-row>
199 </div> 171 </div>
172 </div>
200 <el-row class="btn" v-if="ableOperation"> 173 <el-row class="btn" v-if="ableOperation">
201 <el-form-item> 174 <el-form-item>
202 <el-button type="primary" @click="onSubmit">保存</el-button> 175 <el-button type="primary" @click="onSubmit">保存</el-button>
...@@ -208,6 +181,7 @@ ...@@ -208,6 +181,7 @@
208 <script> 181 <script>
209 import ywmix from "@/views/ywbl/mixin/index" 182 import ywmix from "@/views/ywbl/mixin/index"
210 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; 183 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
184 import fdcqxmTable from "@/views/workflow/components/fdcqxmTable";
211 import tdytTable from "@/views/workflow/components/tdytTable"; 185 import tdytTable from "@/views/workflow/components/tdytTable";
212 import { Init, saveData } from "@/api/workflow/fwsyq1Flow.js"; 186 import { Init, saveData } from "@/api/workflow/fwsyq1Flow.js";
213 import { mapGetters } from "vuex"; 187 import { mapGetters } from "vuex";
...@@ -231,7 +205,7 @@ ...@@ -231,7 +205,7 @@
231 } 205 }
232 }); 206 });
233 }, 207 },
234 components: { qlrCommonTable, tdytTable }, 208 components: { qlrCommonTable, tdytTable ,fdcqxmTable},
235 computed: { 209 computed: {
236 ...mapGetters(["dictData", "flag"]), 210 ...mapGetters(["dictData", "flag"]),
237 }, 211 },
...@@ -253,7 +227,7 @@ ...@@ -253,7 +227,7 @@
253 slsq: { 227 slsq: {
254 228
255 }, 229 },
256 fdcq2: { 230 fdcq1: {
257 zyjzmj: '', 231 zyjzmj: '',
258 ftjzmj: '' 232 ftjzmj: ''
259 }, 233 },
......
1 <!-- 1 <!--
2 * @Description: 房屋多幢受理信息 2 * @Description: 房屋多幢受理信息
3 * @Autor: ssq 3 * @Autor: ssq
4 * @LastEditTime: 2023-08-03 09:02:02 4 * @LastEditTime: 2023-08-03 14:37:14
5 --> 5 -->
6 <template> 6 <template>
7 <div class="slxx"> 7 <div class="slxx">
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
11 ref="ruleForm" 11 ref="ruleForm"
12 :label-position="flag ? 'top' : ''" 12 :label-position="flag ? 'top' : ''"
13 :inline="flag" 13 :inline="flag"
14 label-width="120px" 14 label-width="140px"
15 > 15 >
16 <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> 16 <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
17 <div class="slxx_title title-block"> 17 <div class="slxx_title title-block">
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
52 </el-form-item> 52 </el-form-item>
53 </el-col> 53 </el-col>
54 </el-row> 54 </el-row>
55 <!-- <div class="slxx_title title-block"> 55 <div class="slxx_title title-block">
56 不动产单元情况 56 不动产单元情况
57 <div class="triangle"></div> 57 <div class="triangle"></div>
58 </div> 58 </div>
...@@ -68,64 +68,86 @@ ...@@ -68,64 +68,86 @@
68 </el-form-item> 68 </el-form-item>
69 </el-col> 69 </el-col>
70 </el-row> 70 </el-row>
71 <el-row :gutter="10" v-if="ruleForm.fdcq2"> 71 <el-row :gutter="10">
72 <el-col :span="8"> 72 <el-col :span="8">
73 <el-form-item label="土地使用期限:"> 73 <el-form-item label="发包方:">
74 <el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input> 74 <el-input v-model="ruleForm.lq.fbf"></el-input>
75 </el-form-item> 75 </el-form-item>
76 </el-col> 76 </el-col>
77 <el-col :span="8"> 77 <el-col :span="8">
78 <el-form-item label="规划用途名称:"> 78 <el-form-item label="发包方代码:">
79 <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input> 79 <el-input v-model="ruleForm.lq.fbfdm"></el-input>
80 </el-form-item> 80 </el-form-item>
81 </el-col> 81 </el-col>
82 <el-col :span="8"> 82 <el-col :span="8">
83 <el-form-item label="房屋性质:"> 83 <el-form-item label="使用权(承包)面积:">
84 <el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input> 84 <el-input v-model="ruleForm.lq.syqmj"></el-input>
85 </el-form-item> 85 </el-form-item>
86 </el-col> 86 </el-col>
87 </el-row> 87 </el-row>
88 <el-row :gutter="10" v-if="ruleForm.qlxx"> 88 <el-row :gutter="10">
89 <el-col :span="8">
90 <el-form-item label="林地所有权性质:">
91 <el-input v-model="ruleForm.lq.ldsyqxz"></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.sllb"></el-input>
97 </el-form-item>
98 </el-col>
99 <el-col :span="8">
100 <el-form-item label="主要树种:">
101 <el-input v-model="ruleForm.lq.zysz"></el-input>
102 </el-form-item>
103 </el-col>
104 </el-row>
105 <el-row :gutter="10">
89 <el-col :span="8"> 106 <el-col :span="8">
90 <el-form-item label="房屋结构:"> 107 <el-form-item label="株数:">
91 <el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></el-input> 108 <el-input v-model="ruleForm.lq.zs"></el-input>
92 </el-form-item> 109 </el-form-item>
93 </el-col> 110 </el-col>
94 <el-col :span="8"> 111 <el-col :span="8">
95 <el-form-item label="所在层:"> 112 <el-form-item label="林种:">
96 <el-input disabled v-model="ruleForm.fdcq2.szc"></el-input> 113 <el-input v-model="ruleForm.lq.lz"></el-input>
97 </el-form-item> 114 </el-form-item>
98 </el-col> 115 </el-col>
99 <el-col :span="8"> 116 <el-col :span="8">
100 <el-form-item label="总层数:"> 117 <el-form-item label="起源:">
101 <el-input disabled v-model="ruleForm.fdcq2.zcs"></el-input> 118 <el-input v-model="ruleForm.lq.qy"></el-input>
102 </el-form-item> 119 </el-form-item>
103 </el-col> 120 </el-col>
104 </el-row> 121 </el-row>
105 <el-row :gutter="10" v-if="ruleForm.fdcq2"> 122 <el-row :gutter="10">
106 <el-col :span="8"> 123 <el-col :span="8">
107 <el-form-item label="竣工时间:"> 124 <el-form-item label="造林年度:">
108 <el-input disabled v-model="ruleForm.fdcq2.jgsj"></el-input> 125 <el-input v-model="ruleForm.lq.zlnd"></el-input>
109 </el-form-item> 126 </el-form-item>
110 </el-col> 127 </el-col>
111 <el-col :span="8"> 128 <el-col :span="8">
112 <el-form-item label="建筑面积:"> 129 <el-form-item label="林班:">
113 <el-input disabled v-model="ruleForm.qlxx.mj"></el-input> 130 <el-input v-model="ruleForm.lq.lb"></el-input>
114 </el-form-item> 131 </el-form-item>
115 </el-col> 132 </el-col>
116 <el-col :span="8"> 133 <el-col :span="8">
117 <el-form-item label="专有建筑面积:"> 134 <el-form-item label="小班:">
118 <el-input disabled v-model="ruleForm.fdcq2.zyjzmj"></el-input> 135 <el-input v-model="ruleForm.lq.xb"></el-input>
119 </el-form-item> 136 </el-form-item>
120 </el-col> 137 </el-col>
121 </el-row> 138 </el-row>
122 <el-row :gutter="10"> 139 <el-row :gutter="10">
123 <el-col :span="8"> 140 <el-col :span="8">
124 <el-form-item label="分摊建筑面积:"> 141 <el-form-item label="小地名:">
125 <el-input disabled v-model="ruleForm.fdcq2.ftjzmj"></el-input> 142 <el-input v-model="ruleForm.lq.xdm"></el-input>
126 </el-form-item> 143 </el-form-item>
127 </el-col> 144 </el-col>
128 </el-row> --> 145 <el-col :span="8">
146 <el-form-item label="附记:">
147 <el-input v-model="ruleForm.lq.fj"></el-input>
148 </el-form-item>
149 </el-col>
150 </el-row>
129 <div class="slxx_title title-block"> 151 <div class="slxx_title title-block">
130 土地用途 152 土地用途
131 <div class="triangle"></div> 153 <div class="triangle"></div>
...@@ -214,19 +236,19 @@ ...@@ -214,19 +236,19 @@
214 登记原因 236 登记原因
215 <div class="triangle"></div> 237 <div class="triangle"></div>
216 </div> 238 </div>
217 <!-- <el-row :gutter="10"> 239 <el-row :gutter="10">
218 <el-col> 240 <el-col>
219 <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="djyy"> 241 <el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="djyy">
220 <el-input 242 <el-input
221 class="textArea" 243 class="textArea"
222 type="textarea" 244 type="textarea"
223 :disabled="!ableOperation" 245 :disabled="!ableOperation"
224 v-model="ruleForm.fdcq2.djyy" 246 v-model="ruleForm.lq.djyy"
225 > 247 >
226 </el-input> 248 </el-input>
227 </el-form-item> 249 </el-form-item>
228 </el-col> 250 </el-col>
229 </el-row> --> 251 </el-row>
230 </div> 252 </div>
231 <el-row class="btn" v-if="ableOperation"> 253 <el-row class="btn" v-if="ableOperation">
232 <el-form-item> 254 <el-form-item>
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-14 16:59:31 4 * @LastEditTime: 2023-08-04 09:52:09
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -113,7 +113,7 @@ class data extends filter { ...@@ -113,7 +113,7 @@ class data extends filter {
113 }, 113 },
114 { 114 {
115 label: '操作', 115 label: '操作',
116 width: '130', 116 width: '100',
117 render: (h, scope) => { 117 render: (h, scope) => {
118 return ( 118 return (
119 <div> 119 <div>
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-14 16:59:35 4 * @LastEditTime: 2023-08-04 09:54:32
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -40,17 +40,6 @@ class data extends filter { ...@@ -40,17 +40,6 @@ class data extends filter {
40 <div> 40 <div>
41 <a style='color:#3498db;' v-show={scope.row.djblzt == 1}>{this.yWstatus(scope.row)}</a> 41 <a style='color:#3498db;' v-show={scope.row.djblzt == 1}>{this.yWstatus(scope.row)}</a>
42 <span v-show={scope.row.djblzt != 1}>{this.yWstatus(scope.row)}</span> 42 <span v-show={scope.row.djblzt != 1}>{this.yWstatus(scope.row)}</span>
43 {/* <a style='color:#3498db;' v-show={scope.row.djblzt == 1} >正在办理</a>
44 <span v-show={scope.row.zjgcdyzt == 1}>,在建工程抵押</span>
45 <span v-show={scope.row.ycfzt == 1}>,已预查封</span>
46 <span v-show={scope.row.ycfzt == 1}>,已预查封</span>
47 <span v-show={scope.row.cfzt == 1}>,已查封</span>
48 <span v-show={scope.row.diyizt == 1}>,已地役</span>
49 <span v-show={scope.row.yyzt == 1}>,异议中</span>
50 <span v-show={scope.row.xzzt == 1}>,已限制</span>
51 <span v-show={scope.row.ygmmzt == 1}>,已预告买卖</span>
52 <span v-show={scope.row.ygdyzt == 1}>,已预告抵押</span>
53 <span v-show={scope.row.dyzt == 1}>,已抵押</span> */}
54 </div> 43 </div>
55 ) 44 )
56 } 45 }
...@@ -61,6 +50,8 @@ class data extends filter { ...@@ -61,6 +50,8 @@ class data extends filter {
61 }, 50 },
62 { 51 {
63 prop: "qllxmc", 52 prop: "qllxmc",
53 width: '100',
54 showOverflowTooltip: true,
64 label: "权利类型", 55 label: "权利类型",
65 }, 56 },
66 { 57 {
...@@ -70,6 +61,8 @@ class data extends filter { ...@@ -70,6 +61,8 @@ class data extends filter {
70 { 61 {
71 prop: "zrzh", 62 prop: "zrzh",
72 label: "自然幢号", 63 label: "自然幢号",
64 width: '90',
65 showOverflowTooltip: true,
73 }, 66 },
74 { 67 {
75 prop: "jzwmc", 68 prop: "jzwmc",
...@@ -98,6 +91,7 @@ class data extends filter { ...@@ -98,6 +91,7 @@ class data extends filter {
98 }, 91 },
99 { 92 {
100 label: "土地/房屋用途", 93 label: "土地/房屋用途",
94 minWidth: '170',
101 render: (h, scope) => { 95 render: (h, scope) => {
102 return ( 96 return (
103 <div> 97 <div>
...@@ -119,13 +113,13 @@ class data extends filter { ...@@ -119,13 +113,13 @@ class data extends filter {
119 { 113 {
120 prop: "zl", 114 prop: "zl",
121 label: "自然幢坐落", 115 label: "自然幢坐落",
122 minWidth: '130' 116 minWidth: '120',
117 showOverflowTooltip: true
123 }, 118 },
124 { 119 {
125 label: '操作', 120 label: '操作',
126 width: '160', 121 width: '110',
127 align: 'center', 122 align: 'center',
128 fixed: 'right',
129 render: (h, scope) => { 123 render: (h, scope) => {
130 return ( 124 return (
131 <div> 125 <div>
......
...@@ -112,7 +112,7 @@ class data extends filter { ...@@ -112,7 +112,7 @@ class data extends filter {
112 }, 112 },
113 { 113 {
114 label: '操作', 114 label: '操作',
115 width: '130', 115 width: '100',
116 render: (h, scope) => { 116 render: (h, scope) => {
117 return ( 117 return (
118 <div> 118 <div>
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-14 16:59:53 4 * @LastEditTime: 2023-08-04 09:47:56
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -104,9 +104,8 @@ class data extends filter { ...@@ -104,9 +104,8 @@ class data extends filter {
104 }, 104 },
105 { 105 {
106 label: '操作', 106 label: '操作',
107 width: '160', 107 width: '110',
108 align: 'center', 108 align: 'center',
109 fixed: 'right',
110 render: (h, scope) => { 109 render: (h, scope) => {
111 return ( 110 return (
112 <div> 111 <div>
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-14 17:00:21 4 * @LastEditTime: 2023-08-04 09:52:38
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -112,7 +112,7 @@ class data extends filter { ...@@ -112,7 +112,7 @@ class data extends filter {
112 }, 112 },
113 { 113 {
114 label: '操作', 114 label: '操作',
115 width: '130', 115 width: '100',
116 render: (h, scope) => { 116 render: (h, scope) => {
117 return ( 117 return (
118 <div> 118 <div>
......
...@@ -128,8 +128,7 @@ class data extends filter { ...@@ -128,8 +128,7 @@ class data extends filter {
128 }, 128 },
129 { 129 {
130 label: '操作', 130 label: '操作',
131 width: '130', 131 width: '110',
132 fixed: "right",
133 render: (h, scope) => { 132 render: (h, scope) => {
134 return ( 133 return (
135 <div> 134 <div>
......