3258bdc0 by jiaozeping@pashanhoo.com

1

1 parent 457e9f87
1 <template>
2 <div class="h content-form">
3 <el-form ref="form" :model="form" label-width="160px">
4 <table border="1" width="100%" cellspacing="0" cellpadding="0" class="hTable">
5 <tbody>
6 <tr height="30">
7 <td colspan="12" align="center">
8 <font size="4">层基本信息</font>
9 </td>
10 </tr>
11 <tr height="30">
12 <td colspan="2" align="center" class="tdright">层号</td>
13 <td colspan="4">
14 <el-input v-model="form.ch"></el-input>
15 </td>
16 <td colspan="2" align="center" class="tdright">自然幢号</td>
17 <td colspan="4">
18 <el-input v-model="form.zrzh"></el-input>
19 </td>
20 </tr>
21 <tr height="30">
22 <td colspan="2" align="center" class="tdright">实际层</td>
23 <td colspan="4">
24 <el-input v-model="form.sjc"></el-input>
25 </td>
26 <td colspan="2" align="center" class="tdright">名义层</td>
27 <td colspan="4">
28 <el-input v-model="form.myc"></el-input>
29 </td>
30 </tr>
31
32
33 <tr height="30">
34 <td colspan="2" align="center" class="tdright">层建筑面积(㎡)</td>
35 <td colspan="4">
36 <el-input v-model="form.cjzmj"></el-input>
37 </td>
38 <td colspan="2" align="center" class="tdright">层套内建筑面积(㎡)</td>
39 <td colspan="4">
40 <el-input v-model="form.ctnjzmj"></el-input>
41 </td>
42 </tr>
43
44 <tr height="30">
45 <td colspan="2" align="center" class="tdright">层阳台面积(㎡)</td>
46 <td colspan="4">
47 <el-input v-model="form.cytmj"></el-input>
48 </td>
49 <td colspan="2" align="center" class="tdright">层半墙面积(㎡)</td>
50 <td colspan="4">
51 <el-input v-model="form.cbqmj"></el-input>
52 </td>
53 </tr>
54
55 <tr height="30">
56 <td colspan="2" align="center" class="tdright">层共有建筑面积(㎡)</td>
57 <td colspan="4">
58 <el-input v-model="form.cgyjzmj"></el-input>
59 </td>
60 <td colspan="2" align="center" class="tdright">层分摊建筑面积(㎡)</td>
61 <td colspan="4">
62 <el-input v-model="form.cftjzmj"></el-input>
63 </td>
64 </tr>
65
66 <tr height="30">
67 <td colspan="2" align="center" class="tdright">层高</td>
68 <td colspan="4">
69 <el-input v-model="form.cg"></el-input>
70 </td>
71 <td colspan="2" align="center" class="tdright">水平投影面积</td>
72 <td colspan="4">
73 <el-input v-model="form.sptymj"></el-input>
74 </td>
75 </tr>
76 <tr height="30">
77 </tr>
78
79 </tbody>
80 </table>
81 </el-form>
82 </div>
83
84 </template>
85
86 <script>
87 // import { getQjCDetailById, updateQjC } from "@api/c";
88 export default {
89 name: 'c',
90 components: {},
91 props: {
92 cbsm: {
93 type: String,
94 default: '',
95 }
96 },
97 data () {
98 return {
99 form: {
100 zrzbsm: '',
101 ch: '', //层号
102 zrzh: '', //自然幢号
103 sjc: '', //实际层
104 myc: '', //名义层
105 cjzmj: '', //层建筑面积
106 ctnjzmj: '', //层套内建筑面积
107 cytmj: '', //层阳台面积
108 cbqmj: '', //层半墙面积
109 cgyjzmj: '', //层共有建筑面积
110 cftjzmj: '', //层分摊建筑面积
111 cg: '', //层高
112 sptymj: '', //水平投影面积
113 },
114 value: '',
115 }
116 },
117 methods: {
118 onSave () {
119 this.form.zrzbsm = this.$route.query.bsm;
120 //编辑层信息接口调用 TODO
121 // updateQjC(this.form).then((res) => {
122 // if (res.code === 200) {
123 // this.$message.success("保存成功")
124 // }
125 // })
126 },
127 getCinfo (bsm) {
128 this.reset();
129 //获取层信息接口调用 TODO
130 // getQjCDetailById(bsm).then((res) => {
131 // if (res.code === 200) {
132 // this.form = res.result;
133 // this.form.zrzh = this.$store.state.zrzh;
134 // }
135 // })
136 },
137 reset () {
138 this.form = {
139 zrzbsm: '',
140 ch: '', //层号
141 zrzh: '', //自然幢号
142 sjc: '', //实际层
143 myc: '', //名义层
144 cjzmj: '', //层建筑面积
145 ctnjzmj: '', //层套内建筑面积
146 cytmj: '', //层阳台面积
147 cbqmj: '', //层半墙面积
148 cgyjzmj: '', //层共有建筑面积
149 cftjzmj: '', //层分摊建筑面积
150 cg: '', //层高
151 sptymj: '', //水平投影面积
152 }
153 }
154 },
155 mounted () {
156 this.getCinfo(this.cbsm);
157 },
158 watch: {
159 cbsm: {
160 handler: function (item) {
161 console.log(item, "item")
162 console.log(this.$parent.$parent.menuType, "this.$parent.$parent.menuType")
163 if (item != '' && this.$parent.$parent.menuType == 'c') {
164 this.getCinfo(item)
165 }
166 },
167 immediate: true
168 },
169 }
170 }
171 </script>
172 <style rel="stylesheet/scss" lang="scss" scoped>
173 .h {
174 min-height: 200px;
175 width: 100%;
176 margin: 0 auto;
177
178 /deep/.el-input__inner {
179 width: 100%;
180 border: 0;
181 }
182
183 /deep/textarea {
184 width: 100%;
185 border: 0;
186 }
187
188
189 .el-form-item {
190 font-weight: bold;
191 font-size: xx-large
192 }
193
194 table {
195 background: #fff;
196 table-layout: fixed;
197 }
198
199 td {
200 //bgcolor:#F1F4FC;
201 bgcolor: #fff;
202 width: 8.33%
203 }
204
205 .el-select {
206 display: block;
207 }
208 }
209
210 table {
211 font-size: 14px;
212 }
213
214 .hTable {
215 margin-top: 10px;
216 }
217 </style>
...\ No newline at end of file ...\ No newline at end of file
1 <template>
2 <div class="addCh">
3 <el-table class="addChTable" :data="tableData" style="width: 100%" border>
4 <el-table-column prop="cz" width="60" align="center">
5 <template slot-scope="scope">
6 <span class="cp" @click="handleRowClick(scope.row, scope.$index)">
7 <i class="iconfont iconicon-test1" style="color:#FA6400;font-size:30px" @click="deleteYtInfo(index)"
8 v-if="scope.row.cz == '+'"></i>
9 <i class="iconfont iconicon-test" style="color:#FA6400;font-size:30px" @click="deleteYtInfo(index)"
10 v-if="scope.row.cz == '-'"></i>
11 </span>
12 </template>
13 </el-table-column>
14 <el-table-column prop="zrzmc" label="自然幢" align="center">
15 </el-table-column>
16 <el-table-column prop="ljzmc" label="逻辑幢" align="center">
17 </el-table-column>
18 <el-table-column prop="zdymc" label="幢单元" align="center">
19 </el-table-column>
20 <el-table-column prop="qsc" label="起始层" align="center">
21 <template slot-scope="scope">
22 <el-input v-model="scope.row.qsc" type="number"></el-input>
23 </template>
24 </el-table-column>
25 <el-table-column prop="jsc" label="结束层" align="center">
26 <template slot-scope="scope">
27 <el-input v-model="scope.row.jsc" type="number"></el-input>
28 </template>
29 </el-table-column>
30 <el-table-column prop="hs" label="每层户数" align="center">
31 <template slot-scope="scope">
32 <el-input v-model="scope.row.hs" type="number"></el-input>
33 </template>
34 </el-table-column>
35 </el-table>
36 </div>
37 </template>
38
39 <script>
40 // import { insertChInfo } from "@api/lpb";
41 export default {
42 name: "",
43 components: {},
44 props: {
45 treeData: {},
46 dialogVisible: {
47 type: Boolean,
48 default: false,
49 },
50 scyclx: {
51 type: String,
52 default: "1",
53 },
54 },
55 data () {
56 return {
57 ljzBsm: null,
58 zdyBsm: null,
59 zrzBsm: null,
60 tableData: [],
61 formData: {
62 cz: "+",
63 ljzbsm: "",
64 ljzmc: "",
65 zdymc: "",
66 zdybsm: "",
67 zrzbsm: "",
68 scyclx: "1",
69 qsc: "",
70 jsc: "",
71 hs: "",
72 },
73 };
74 },
75 created () { },
76 mounted () {
77 console.log(this.treeData, "treeData");
78 },
79 methods: {
80 //行操作
81 handleRowClick (row, index) {
82 if (row.cz == "+") {
83 let temp = JSON.parse(JSON.stringify(this.formData));
84 temp.qsc = '';
85 temp.jsc = '';
86 temp.hs = '';
87 temp.cz = "-";
88 this.tableData.push(temp);
89 } else {
90 this.tableData.splice(index, 1);
91 }
92 },
93 onSave (bsm) {
94 console.log(this.tableData)
95 let totalHs = 0;
96 for (let k = 0; k < this.tableData.length; k++) {
97 if (this.tableData[k].qsc === "" || this.tableData[k].jsc === "" || this.tableData[k].hs === "") {
98 this.$message.warning("表单不完整,请填写完整")
99 return false
100 }
101 if (this.tableData[k].qsc - this.tableData[k].jsc > 0) {
102 this.$message.warning("存在结束层大于起始层,请重写填写")
103 return false
104 }
105 totalHs = totalHs + (this.tableData[k].jsc - this.tableData[k].qsc + 1) * this.tableData[k].hs;
106 }
107 if (totalHs >= 5000) {
108 this.$message.warning("单次添加户数累积超过5000户,请分次添加!")
109 return false
110 }
111 // insertChInfo(this.tableData).then((res) => {
112 // if (res.code === 200) {
113 // this.$message.success("保存成功");
114 // //更新树结构数据
115 // console.log(this);
116 // this.$parent.$parent.getLpbMenuTree(bsm);
117 // this.$parent.$parent.getlpbData();
118 // //关闭弹框
119 // this.$parent.$parent.closeDaialog();
120 // } else {
121 // this.$message({
122 // message: res.message,
123 // type: "warning",
124 // })
125 // }
126 // });
127 },
128 //重置数据
129 reset () {
130 this.tableData[0].qsc = "";
131 this.tableData[0].jsc = "";
132 this.tableData[0].hs = "";
133 },
134 },
135 computed: {},
136 watch: {
137 treeData: {
138 handler (n) {
139 this.formData = {
140 cz: "+",
141 ljzbsm: "",
142 zdybsm: "",
143 zrzbsm: "",
144 scyclx: this.scyclx,
145 qsc: "",
146 jsc: "",
147 hs: "",
148 };
149 //给自然幢,逻辑幢,幢单元的bsm和mc赋值
150 switch (n.type) {
151 case "zrz":
152 this.formData.zrzbsm = n.bsm;
153 this.formData.zrzmc = n.mc;
154 break;
155 case "ljz":
156 this.formData.zrzbsm = n.zrzbsm;
157 this.formData.ljzbsm = n.bsm;
158 this.formData.zrzmc = n.zrzmc;
159 this.formData.ljzmc = n.mc;
160 break;
161 case "zdy":
162 this.formData.zrzbsm = n.zrzbsm;
163 this.formData.ljzbsm = n.ljzbsm;
164 this.formData.zdybsm = n.bsm;
165 this.formData.zrzmc = n.zrzmc;
166 this.formData.ljzmc = n.ljzmc;
167 this.formData.zdymc = n.mc;
168 break;
169 default:
170 break;
171 }
172 this.tableData = [];
173 this.tableData.push(this.formData);
174 },
175 //深度监听,第一次接收到父组件传值就触发事件
176 immediate: true,
177 deep: true,
178 },
179 scyclx: {
180 handler (n) {
181 this.$nextTick(() => {
182 this.formData.scyclx = this.scyclx;
183 })
184 }
185 }
186 },
187 };
188 </script>
189 <style lang="scss">
190 .addCh {
191 .addChTable {
192 .el-input__inner {
193 height: 20px;
194 margin: 0;
195 line-height: 20px;
196 outline: none;
197 border: none;
198 color: #606764;
199 overflow: visible;
200 cursor: text;
201 text-align: center;
202 }
203 }
204
205 .cp {
206 cursor: pointer;
207 position: relative;
208 top: 4px;
209 }
210
211 .el-table .cell {
212 line-height: 34px;
213 }
214
215 .el-table .cell,
216 .el-table--border td:first-child .cell,
217 .el-table--border th:first-child .cell {
218 padding-left: 5px;
219 }
220
221 .el-table td,
222 .el-table th {
223 padding: 4px 0;
224 }
225 }
226 </style>
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <el-radio-button label="0">预测</el-radio-button> 7 <el-radio-button label="0">预测</el-radio-button>
8 <el-radio-button label="1">实测</el-radio-button> 8 <el-radio-button label="1">实测</el-radio-button>
9 </el-radio-group> 9 </el-radio-group>
10 <el-input maxlength="28" v-model="bdcdyh" :style="{ width: inputWidth + 'px' }" class="searchInput" 10 <el-input maxlength="28" v-model="" :style="{ width: inputWidth + 'px' }" class="searchInput"
11 placeholder="输入不动产单元号或室号"><i slot="suffix" class="el-input__icon el-icon-search" @click="inputChange"></i> 11 placeholder="输入不动产单元号或室号"><i slot="suffix" class="el-input__icon el-icon-search" @click="inputChange"></i>
12 </el-input> 12 </el-input>
13 </el-col> 13 </el-col>
...@@ -118,10 +118,6 @@ ...@@ -118,10 +118,6 @@
118 118
119 <script> 119 <script>
120 import { Message } from "element-ui" 120 import { Message } from "element-ui"
121 import addLjz from "./ljz/index";
122 import addZdy from "./zdy/index";
123 import addCh from "./ch/index";
124 import editCinfo from "./c/index";
125 import lpbContent from "./lpbContent/index"; 121 import lpbContent from "./lpbContent/index";
126 122
127 export default { 123 export default {
...@@ -133,19 +129,13 @@ export default { ...@@ -133,19 +129,13 @@ export default {
133 } 129 }
134 }, 130 },
135 components: { 131 components: {
136 addLjz, 132 lpbContent
137 addZdy,
138 addCh,
139 lpbContent,
140 editCinfo
141 }, 133 },
142 data () { 134 data () {
143 return { 135 return {
144 bsms: [], 136 bsms: [],
145 dialogVisible: false, 137 dialogVisible: false,
146 scyclx: "0", //1是实测 0是预测 138 scyclx: "0", //1是实测 0是预测
147 bdcdyh: "",
148 islpb: true,
149 pd: [], //创建楼盘的树结构数据 139 pd: [], //创建楼盘的树结构数据
150 menuType: "", 140 menuType: "",
151 treeData: {}, 141 treeData: {},
...@@ -216,14 +206,7 @@ export default { ...@@ -216,14 +206,7 @@ export default {
216 time: "", 206 time: "",
217 dyztBsmList: {}, //单元状态bsmList 207 dyztBsmList: {}, //单元状态bsmList
218 bjztFlag: true, 208 bjztFlag: true,
219 taskTitle: '添加',
220 curBsm: '',
221 qsztList: [], 209 qsztList: [],
222 uploadVisible: false, //批量上传弹框
223 fileData: {
224 glbsmList: [],
225 dylx: 'h'
226 }
227 }; 210 };
228 }, 211 },
229 created () { 212 created () {
...@@ -326,18 +309,6 @@ export default { ...@@ -326,18 +309,6 @@ export default {
326 this.bsms = data; 309 this.bsms = data;
327 } 310 }
328 }, 311 },
329 inputChange () {
330 console.log(this.bdcdyh, 'this.bdcdyh');
331 if (this.bdcdyh != "") {
332 // console.log("查询" + this.bdcdyh);
333 this.$refs.lpbContent.lpbDataMap(this.bdcdyh);
334 } else {
335 this.$message({
336 message: "请输入内容后查询",
337 type: "warning",
338 });
339 }
340 },
341 //调用楼盘表信息查询和图例统计接口 312 //调用楼盘表信息查询和图例统计接口
342 getlpbData () { 313 getlpbData () {
343 this.$refs.lpbContent.loadingData(this.$store.state.zrzbsm, this.scyclx); 314 this.$refs.lpbContent.loadingData(this.$store.state.zrzbsm, this.scyclx);
...@@ -364,32 +335,6 @@ export default { ...@@ -364,32 +335,6 @@ export default {
364 }) 335 })
365 }, 336 },
366 337
367 open (hasGenerateCount, unGenerateCount) {
368
369 this.$confirm('未生成单元号有' + unGenerateCount + '户,已经生成单元号有' + hasGenerateCount + '户,是否覆盖全部重新生成?', '确认信息', {
370 distinguishCancelAndClose: true,
371 confirmButtonText: '覆盖全部生成',
372 cancelButtonText: '跳过已生成单元号户'
373 })
374 .then(() => {
375 batchGeneratorBdcdyh(this.$store.state.zrzh, this.pd[0].bsm, 2).then(
376 (res) => {
377 if (res.code === 200) {
378 this.$message.success("生成完成!");
379 }
380 });
381 })
382 .catch(action => {
383 if (action === 'cancel') {
384 batchGeneratorBdcdyh(this.$store.state.zrzh, this.pd[0].bsm, 1).then(
385 (res) => {
386 if (res.code === 200) {
387 this.$message.success("生成完成!");
388 }
389 });
390 }
391 });
392 },
393 338
394 //获取各项单元状态统计数据 339 //获取各项单元状态统计数据
395 getDyztBsmList () { 340 getDyztBsmList () {
...@@ -516,10 +461,6 @@ export default { ...@@ -516,10 +461,6 @@ export default {
516 selectedZt (n) { 461 selectedZt (n) {
517 this.legendToggleFlag = true; 462 this.legendToggleFlag = true;
518 }, 463 },
519 bsms (n) {
520 this.fileData.glbsmList = n;
521 console.log(this.fileData, 'filedata');
522 }
523 }, 464 },
524 }; 465 };
525 </script> 466 </script>
......
1 <template>
2 <div class="h content-form">
3 <el-form ref="form" :model="form" label-width="160px">
4 <table border="1" width="100%" cellspacing="0" cellpadding="0" class="hTable">
5 <tbody>
6 <tr height="30">
7 <td colspan="12" align="center">
8 <font size="4">逻辑幢基本信息</font>
9 </td>
10 </tr>
11 <tr height="30">
12 <td colspan="2" align="center" class="tdright"><i class="requisite">*</i>逻辑幢号</td>
13 <td colspan="4">
14 <input class="formInput" ref="ljzh" @blur="inputBlur($event)" v-model="form.ljzh" />
15 </td>
16 <td colspan="2" align="center" class="tdright">自然幢号</td>
17 <td colspan="4">
18 <el-input v-model="form.zrzh" maxlength="24" disabled></el-input>
19 </td>
20 </tr>
21 <tr height="30">
22 <td colspan="2" align="center" class="tdright"><i class="requisite">*</i>逻辑幢名称</td>
23 <td colspan="4">
24 <input class="formInput" ref="ljzmc" @blur="inputBlur($event)" v-model="form.ljzmc" />
25 </td>
26 <td colspan="2" align="center" class="tdright">建筑物状态</td>
27 <td colspan="4">
28 <el-input v-model="form.jzwzt"></el-input>
29 </td>
30 </tr>
31
32 <tr height="30">
33 <td colspan="2" align="center" class="tdright">门牌号</td>
34 <td colspan="4">
35 <el-input v-model="form.mph"></el-input>
36 </td>
37 <td colspan="2" align="center" class="tdright">竣工日期</td>
38 <td colspan="4">
39 <el-date-picker v-model="form.jgrq" type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
40 </el-date-picker>
41 </td>
42 </tr>
43
44 <tr height="30">
45 <td colspan="2" align="center" class="tdright">预测建筑面积(㎡)</td>
46 <td colspan="4">
47 <el-input v-model="form.ycjzmj" oninput="value = (value.match(/^\d{0,9}(\.?\d{0,3})/g)[0]) || null">
48 </el-input>
49 </td>
50 <td colspan="2" align="center" class="tdright">实测建筑面积(㎡)</td>
51 <td colspan="4">
52 <el-input v-model="form.scjzmj" oninput="value = (value.match(/^\d{0,9}(\.?\d{0,3})/g)[0]) || null">
53 </el-input>
54 </td>
55 </tr>
56
57 <tr height="30">
58 <td colspan="2" align="center" class="tdright">预测地下面积(㎡)</td>
59 <td colspan="4">
60 <el-input v-model="form.ycdxmj" oninput="value = (value.match(/^\d{0,9}(\.?\d{0,3})/g)[0]) || null">
61 </el-input>
62 </td>
63 <td colspan="2" align="center" class="tdright">实测地下面积(㎡)</td>
64 <td colspan="4">
65 <el-input v-model="form.scdxmj" oninput="value = (value.match(/^\d{0,9}(\.?\d{0,3})/g)[0]) || null">
66 </el-input>
67 </td>
68 </tr>
69
70 <tr height="30">
71 <td colspan="2" align="center" class="tdright">预测其他面积(㎡)</td>
72 <td colspan="4">
73 <el-input v-model="form.ycqtmj" oninput="value = (value.match(/^\d{0,9}(\.?\d{0,3})/g)[0]) || null">
74 </el-input>
75 </td>
76 <td colspan="2" align="center" class="tdright">实测其他面积(㎡)</td>
77 <td colspan="4">
78 <el-input v-model="form.scqymj" oninput="value = (value.match(/^\d{0,9}(\.?\d{0,3})/g)[0]) || null">
79 </el-input>
80 </td>
81 </tr>
82
83 <tr height="30" v-for="(item1, index) in form.ytList" :key="'yt' + index">
84 <td colspan="2" v-if="index === 0" :rowspan="ytTitleRowspan" align="center" class="tdright">
85 <i class="iconfont iconicon-test1" style="margin-right: 8px;color:#66b1ff;font-size:30px"
86 @click="addYtInfo"></i>
87 <span style="position:relative;top:-6px"><i class="requisite">*</i>房屋用途</span>
88 </td>
89 <td colspan="1" align="center">
90 <i class="iconfont iconicon-test" style="color:#FA6400;font-size:30px" @click="deleteYtInfo(index)"></i>
91 </td>
92 <td colspan="9">
93 <el-select-tree style="width:100%" ref="yt" v-if="show" :default-expand-all="defaultExpandAll"
94 :multiple="multiple" :placeholder="placeholder" :data="$store.state.fwytList" :props="treeProps"
95 :check-strictly="checkStrictly" :clearable="clearable" v-model="item1.fwytzdbsm"></el-select-tree>
96 </td>
97 </tr>
98
99 <tr height="30" v-for="(item1, index) in form.fwjgList" :key="'jg' + index">
100 <td colspan="2" v-if="index === 0" :rowspan="fwjgTitleRowspan" align="center" class="tdright">
101 <i class="iconfont iconicon-test1" style="margin-right: 8px;color:#66b1ff;font-size:30px"
102 @click="addFwjgInfo"></i>
103 <span style="position:relative;top:-6px"><i class="requisite">*</i>房屋结构</span>
104 </td>
105 <td colspan="1" align="center">
106 <i class="iconfont iconicon-test" style="color:#FA6400;font-size:30px" @click="deleteFwjgInfo(index)"></i>
107 </td>
108 <td colspan="9">
109 <el-select-tree style="width:100%" ref="fwjg" v-if="show" :default-expand-all="defaultExpandAll"
110 :multiple="multiple" :placeholder="placeholder" :data="$store.state.jgOptions" :props="treeProps"
111 :check-strictly="checkStrictly" :clearable="clearable" v-model="item1.fwjgzdbsm"></el-select-tree>
112 </td>
113 </tr>
114
115 <tr height="30">
116 <td colspan="2" align="center" class="tdright">地下层数</td>
117 <td colspan="4">
118 <el-input v-model="form.dxcs"></el-input>
119 </td>
120 <td colspan="2" align="center" class="tdright">地上层数</td>
121 <td colspan="4">
122 <el-input v-model="form.dscs"></el-input>
123 </td>
124 </tr>
125
126 <tr height="30">
127 <td colspan="2" align="center" class="tdright">总层数</td>
128 <td colspan="10">
129 <el-input v-model="form.zcs"></el-input>
130 </td>
131 </tr>
132
133 <tr height="30">
134 <td colspan="2" rowspan="2" class="tdright">
135 <span>备注</span>
136 </td>
137 <td colspan="10" rowspan="2">
138 <el-input v-model="form.bz" type="textarea"></el-input>
139 </td>
140 </tr>
141 <tr height="30"></tr>
142 </tbody>
143 </table>
144 </el-form>
145 </div>
146 </template>
147
148 <script>
149 // import { insertLjzInfo } from "@api/lpb";
150 // import { getQjLjzDetailById, updateQjLjz } from "@api/ljz";
151 // import { formdate } from "@libs/function";
152 export default {
153 name: "ljz",
154 components: {},
155 props: {
156 ljzbsm: {
157 type: String,
158 default: '',
159 }
160 },
161 data () {
162 return {
163 //树型结构
164 show: true,
165 clearable: true,
166 defaultExpandAll: true,
167 multiple: false,
168 placeholder: '请选择',
169 disabled: false,
170 checkStrictly: true,
171 treeProps: {
172 value: 'bsm',
173 children: 'children',
174 label: 'mc'
175 },
176
177 rules: [],
178
179 form: {
180 zrzbsm: "",
181 ljzh: "", //逻辑幢号
182 zrzh: "", //自然幢号
183 ljzmc: "", //逻辑幢顺序号
184 bdcdyh: "", //不动产单元号
185 mph: "", //门牌号
186 jgrq: "", //竣工日期
187 ycjzmj: "", //预测建筑面积
188 scjzmj: "", //实测建筑面积
189 ycdxmj: "", //预测地下面积
190 scdxmj: "", //实测地下面积
191 ycqtmj: "", //预测其他面积
192 scqymj: "", //实测其他面积
193 ytList: [
194 {
195 glbsm: "", //关联标识码
196 fwytzdbsm: "", //房屋用途字典标识码
197 sx: "", //顺序
198 },
199 ],
200 fwjgList: [
201 {
202 fwjgzdbsm: "", //房屋结构字典标识码
203 glbsm: "", //关联标识码
204 sx: "", //顺序
205 },
206 ],
207 dxcs: "", //地下层数
208 dscs: "", //地上层数
209 zcs: "", //总层数
210 jzwzt: "", //建筑物状态
211 },
212 value: "",
213 ytTitleRowspan: 1, //用途的单元格垂直合并数量
214 fwjgTitleRowspan: 1, //房屋结构的单元格垂直合并数量
215 };
216 },
217 methods: {
218 inputBlur (e) {
219 if (e.target.value != '') {
220 e.target.style.border = ""
221 } else {
222 e.target.style.border = "1px solid red";
223 e.target.style.boxSizing = 'border-box';
224 }
225 },
226
227 addYtInfo () {
228 this.form.ytList.push({
229 glbsm: "",
230 fwytzdbsm: "",
231 sx: "",
232 });
233 this.ytTitleRowspan = this.form.ytList.length;
234 },
235 deleteYtInfo (index) {
236 if (this.form.ytList.length <= 1) {
237 this.$message({
238 message: "不能删除,最少含有一条房屋用途信息",
239 type: "warning",
240 });
241 } else {
242 this.form.ytList.splice(index, 1);
243 this.ytTitleRowspan = this.form.ytList.length;
244 }
245 },
246 addFwjgInfo () {
247 this.form.fwjgList.push({
248 fwjgzdbsm: "", //房屋结构字典标识码
249 glbsm: "", //关联标识码
250 sx: "", //顺序
251 });
252 this.fwjgTitleRowspan = this.form.fwjgList.length;
253 },
254 //重置数据
255 reset () {
256 this.form = {
257 // zrzbsm: "",
258 ljzh: "", //逻辑幢号
259 zrzh: this.$store.state.zrzh, //自然幢号
260 ljzmc: "", //逻辑幢顺序号
261 bdcdyh: "", //不动产单元号
262 mph: "", //门牌号
263 jgrq: "", //竣工日期
264 ycjzmj: "", //预测建筑面积
265 scjzmj: "", //实测建筑面积
266 ycdxmj: "", //预测地下面积
267 scdxmj: "", //实测地下面积
268 ycqtmj: "", //预测其他面积
269 scqymj: "", //实测其他面积
270 ytList: [
271 {
272 glbsm: "", //关联标识码
273 fwytzdbsm: "", //房屋用途字典标识码
274 sx: "", //顺序
275 },
276 ],
277 fwjgList: [
278 {
279 fwjgzdbsm: "", //房屋结构字典标识码
280 glbsm: "", //关联标识码
281 sx: "", //顺序
282 },
283 ],
284 dxcs: "", //地下层数
285 dscs: "", //地上层数
286 zcs: "", //总层数
287 jzwzt: "", //建筑物状态
288 };
289 this.ytTitleRowspan = 1; //用途的单元格垂直合并数量
290 this.fwjgTitleRowspan = 1; //用途的单元格垂直合并数量
291 },
292 deleteFwjgInfo (index) {
293 if (this.form.fwjgList.length <= 1) {
294 this.$message({
295 message: "不能删除,最少含有一条房屋结构信息",
296 type: "warning",
297 });
298 } else {
299 this.form.fwjgList.splice(index, 1);
300 this.fwjgTitleRowspan = this.form.fwjgList.length;
301 }
302 },
303 onSave (data, bsm) {
304 this.rules = [
305 {
306 data: this.form.ljzh,
307 name: '自然幢号',
308 dom: this.$refs.ljzh,
309 rule: /^\s*$/g, //非空
310 },
311 {
312 data: this.form.ljzmc,
313 name: '不动产单元号',
314 dom: this.$refs.ljzmc,
315 rule: /^\s*$/g, //非空
316 },
317 ];
318 this.form.ytList.forEach((item, index) => {
319 this.rules.push(
320 {
321 data: item.fwytzdbsm,
322 name: '用途',
323 dom: this.$refs.yt[index],
324 rule: /^\s*$/g, //非空
325 },
326 )
327 });
328 this.form.fwjgList.forEach((item, index) => {
329 this.rules.push(
330 {
331 data: item.fwjgzdbsm,
332 name: '房屋结构',
333 dom: this.$refs.fwjg[index],
334 rule: /^\s*$/g, //非空
335 },
336 )
337 });
338
339 //自然幢标识码
340 this.form.zrzbsm = bsm;
341 let flag = true;
342 this.rules.forEach(item => {
343 if (item.rule.test(item.data) || item.data == null) {
344 if (item.dom.$el) {
345 item.dom.$el.style.border = '1px solid red';
346 item.dom.$el.style.boxSizing = 'border-box';
347 } else {
348 item.dom.style.border = '1px solid red';
349 item.dom.style.boxSizing = 'border-box';
350 }
351 flag = false;
352 return false
353 }
354 })
355 this.$nextTick(() => {
356 if (flag) {
357 if (this.ljzbsm == '') {
358 // insertLjzInfo(this.form).then((res) => {
359 // if (res.code === 200) {
360 // this.$message.success("保存成功");
361 // //更新树结构数据
362 // console.log(this);
363 // this.$parent.$parent.getLpbMenuTree(bsm);
364 // //关闭弹框
365 // this.$parent.$parent.closeDaialog();
366 // } else {
367 // this.$message.error(res.message);
368 // }
369 // });
370 } else {
371 //逻辑幢更新接口调用 TODO
372 console.log('保存');
373 updateQjLjz(this.form).then((res) => {
374 if (res.code === 200) {
375 this.$message.success("修改成功")
376 }
377 })
378 }
379 }
380 })
381
382 },
383 onSubmit () {
384 // console.log(this.form);
385 },
386 //根据逻辑幢bsm查询逻辑幢信息
387 getLjzInfo (bsm) {
388 //逻辑幢信息查询接口调用 bsm为逻辑幢bsm
389 getQjLjzDetailById(bsm).then((res) => {
390 if (res.code === 200) {
391 this.form = res.result;
392 this.form.zrzh = this.$store.state.zrzh;
393 this.form.fwjgList = [
394 {
395 fwjgzdbsm: "", //房屋结构字典标识码
396 glbsm: "", //关联标识码
397 sx: "", //顺序
398 },
399 ];
400 this.form.ytList = [
401 {
402 glbsm: "", //关联标识码
403 fwytzdbsm: "", //房屋用途字典标识码
404 sx: "", //顺序
405 },
406 ];
407 if (this.form.qjfwjg.length > 0) {
408 this.form.fwjgList = [];
409 for (let i = 0; i < this.form.qjfwjg.length; i++) {
410 this.form.fwjgList.push({
411 fwjgzdbsm: this.form.qjfwjg[i].fwjgzdbsm, //房屋结构字典标识码
412 glbsm: this.form.qjfwjg[i].glbsm, //关联标识码
413 sx: this.form.qjfwjg[i].sx, //顺序
414 })
415 }
416 }
417 if (this.form.qjfwyt.length > 0) {
418 this.form.ytList = [];
419 for (let i = 0; i < this.form.qjfwyt.length; i++) {
420 this.form.ytList.push({
421 fwytzdbsm: this.form.qjfwyt[i].fwytzdbsm, //房屋结构字典标识码
422 glbsm: this.form.qjfwyt[i].glbsm, //关联标识码
423 sx: this.form.qjfwyt[i].sx, //顺序
424 })
425 }
426 }
427 console.log(JSON.stringify(this.form) + ":this.form")
428 }
429 })
430 this.$forceUpdate();
431 }
432 },
433 created () {
434 },
435 mounted () {
436 this.form.zrzh = this.$store.state.zrzh;
437 },
438 watch: {
439
440 "form.ljzh": function (val) {
441 if (val != '') {
442 this.$refs.ljzh.style.border = '';
443 }
444 },
445
446 "form.ljzmc": function (val) {
447 if (val != '') {
448 this.$refs.ljzmc.style.border = '';
449 }
450 },
451
452 "form.ytList": {
453 handler: function (newVal, oldVal) {
454 newVal.forEach((item, ind) => {
455 if (item.fwytzdbsm != '') {
456 this.$refs.yt[ind].$el.style.border = ""
457 }
458 })
459 },
460 deep: true
461 },
462 "form.fwjgList": {
463 handler: function (newVal, oldVal) {
464 newVal.forEach((item, ind) => {
465 if (item.fwjgzdbsm != '') {
466 this.$refs.fwjg[ind].$el.style.border = ""
467 }
468 })
469 },
470 deep: true
471 },
472
473 ljzbsm: {
474 handler: function (item) {
475 console.log(item, 'item');
476 if (item != '' && this.$parent.$parent.menuType == 'ljz') {
477 this.getLjzInfo(this.ljzbsm)
478 }
479 },
480 immediate: true
481 },
482 }
483 };
484 </script>
485 <style rel="stylesheet/scss" lang="scss" scoped>
486 .h {
487 min-height: 200px;
488 width: 100%;
489 margin: 0 auto;
490
491 /deep/.el-input__inner {
492 width: 100%;
493 border: 0;
494 }
495
496 /deep/textarea {
497 width: 100%;
498 border: 0;
499 }
500
501 .el-form-item {
502 font-weight: bold;
503 font-size: xx-large;
504 }
505
506 table {
507 background: #fff;
508 table-layout: fixed;
509 }
510
511 td {
512 //bgcolor:#F1F4FC;
513 background-color: #fff;
514 width: 8.33%;
515 height: 36px
516 }
517
518 .el-select {
519 display: block;
520 }
521 }
522
523 table {
524 font-size: 14px;
525 }
526
527 .hTable {
528 margin-top: 10px;
529 }
530 </style>
...@@ -286,19 +286,6 @@ export default { ...@@ -286,19 +286,6 @@ export default {
286 .sort(this.compare("place")) 286 .sort(this.compare("place"))
287 .reverse(); 287 .reverse();
288 this.lpbData = res.result == null ? this.lpbData : res.result; 288 this.lpbData = res.result == null ? this.lpbData : res.result;
289 //给实预测楼盘表对象赋值,默认加载预测楼盘表数据
290 // if (scyclx == 0) {
291 // this.yclpbData = res.result == null ? this.yclpbData : res.result;
292 // this.lpbData = this.yclpbData;
293 // } else {
294 // this.sclpbData = res.result == null ? this.sclpbData : res.result;
295 // }
296 // if (actual) {
297 // this.lpbData = res.result == null ? this.yclpbData : res.result;
298 // }
299 // if (this.lpbParent == 'isFwsxbg') {
300 // this.lpbData = this.$parent.scyclx == '0' ? this.yclpbData : this.sclpbData;
301 // }
302 this.$nextTick(() => { 289 this.$nextTick(() => {
303 //渲染楼盘表 290 //渲染楼盘表
304 this.dataChange(); 291 this.dataChange();
...@@ -482,12 +469,6 @@ export default { ...@@ -482,12 +469,6 @@ export default {
482 this.$nextTick(function () { 469 this.$nextTick(function () {
483 this.$refs.hbj.$refs.hbj.getHInfo(this.hbsm); 470 this.$refs.hbj.$refs.hbj.getHInfo(this.hbsm);
484 }); 471 });
485 // if (this.isHbfg) {
486
487 // }else{
488 // this.hbsmList.push(bsm); // 将户bsm放进hbsmList
489 // this.$parent.getHbsm(bsm, true);
490 // }
491 }, 472 },
492 //删除多重数组中的某一项 473 //删除多重数组中的某一项
493 deleteArrOption (arr, item) { 474 deleteArrOption (arr, item) {
......
1 <template>
2 <div class="zdy-content">
3 <el-form :model="form" :rules="rules" ref="form" label-width="110px" size="small">
4
5 <table border="1" width="100%" cellspacing="0" cellpadding="0" class="hTable">
6 <tbody>
7 <tr height="30">
8 <td colspan="12" align="center">
9 <font size="4">幢单元基本信息</font>
10 </td>
11 </tr>
12 <tr height="30">
13 <td colspan="2" align="center" class="tdright">幢单元号</td>
14 <td colspan="4">
15 <el-input v-model="form.zdyh"></el-input>
16 </td>
17 <td colspan="2" align="center" class="tdright"><i class="requisite">*</i>幢单元名称</td>
18 <td colspan="4">
19 <el-input v-model="form.zdymc" ref="zdymc"></el-input>
20 </td>
21 </tr>
22 <tr height="30">
23 <td colspan="2" align="center" class="tdright">地上层数</td>
24 <td colspan="4">
25 <el-input v-model="form.dscs"></el-input>
26 </td>
27 <td colspan="2" align="center" class="tdright">地下层数</td>
28 <td colspan="4">
29 <el-input v-model="form.dxcs"></el-input>
30 </td>
31 </tr>
32 <tr height="30">
33 <td colspan="2" align="center" class="tdright">总层数</td>
34 <td colspan="4">
35 <el-input v-model="form.zcs"></el-input>
36 </td>
37 <td colspan="2" align="center" class="tdright">备注</td>
38 <td colspan="4">
39 <el-input v-model="form.bz"></el-input>
40 </td>
41 </tr>
42 </tbody>
43 </table>
44 </el-form>
45 </div>
46 </template>
47
48 <script>
49
50 // import { insertZdyInfo } from "@api/lpb"
51 // import { getQjZdyDetailById, updateQjZdy } from "@api/zdy"
52 export default {
53 name: "index",
54 components: {},
55 props: {
56 zdybsm: {
57 type: String,
58 default: '',
59 }
60 },
61 data () {
62 return {
63 form: {
64 zdyh: '',
65 zdymc: '',
66 dscs: '',
67 dxcs: '',
68 zcs: '',
69 bz: '',
70 },
71 rules: {
72 zdyh: [
73 { required: true, message: '幢单元号不能为空', trigger: 'blur' },
74 { min: 5, max: 50, message: '长度最少 5 个字符', trigger: 'blur' }
75 ],
76 zdymc: [
77 { required: true, message: '名称不能为空', trigger: 'change' }
78 ],
79 dscs: [
80 { required: true, message: '地上层数不能为空', trigger: 'blur' },
81 { type: 'number', message: '必须是数字', trigger: 'blur' }
82 ],
83 dxcs: [
84 { required: true, message: '地下层数不能为空', trigger: 'blur' },
85 { type: 'number', message: '必须是数字' }
86 ],
87 zcs: [
88 { required: true, message: '名称不能为空', trigger: 'change' }
89 ]
90 }
91 }
92 },
93 methods: {
94 //在自然幢节点上添加幢单元只需传zrzbsm,ljzbsm为'';在逻辑幢上添加幢单元时需要同时传入zrzbsm和ljzbsm
95 submitForm (formName, zrzbsm, ljzbsm) {
96 this.form.zrzbsm = zrzbsm;
97 this.form.ljzbsm = zrzbsm == ljzbsm ? '' : ljzbsm;
98 if (this.form.zdymc == '') {
99 this.$message.warning("请完善表单后再继续操作");
100 this.$refs.zdymc.$el.style.border = '1px solid red';
101 } else {
102 //判断zdybsm是否为空,不为空的时候是编辑,为空的时候是新增
103 if (this.zdybsm == '') {
104 this.$refs[formName].validate((valid) => {
105 if (valid) {
106 // insertZdyInfo(this.form).then((res) => {
107 // if (res.code === 200) {
108 // this.$message.success("保存成功!")
109 // //更新树结构数据
110 // this.$parent.$parent.getLpbMenuTree(zrzbsm);
111 // //关闭弹框
112 // this.$parent.$parent.closeDaialog()
113 // }
114 // return true;
115 // })
116 } else {
117 console.log('error submit!!');
118 return false;
119 }
120 });
121 } else {
122 //编辑幢单元接口
123 updateQjZdy(this.form).then((res) => {
124 if (res.code === 200) {
125 this.$message.success("保存成功")
126 }
127 })
128 }
129 }
130 },
131 getZdyInfo (bsm) {
132 //查询幢单元信息接口
133 getQjZdyDetailById(bsm).then((res) => {
134 if (res.code === 200) {
135 this.form = res.result;
136 }
137 })
138
139 },
140 reset () {
141 this.form = {
142 zdyh: '',
143 zdymc: '',
144 dscs: '',
145 dxcs: '',
146 zcs: '',
147 bz: '',
148 }
149 }
150 },
151 watch: {
152 zdybsm: {
153 handler: function (item) {
154 if (item != '' && this.$parent.$parent.menuType == 'zdy') {
155 this.getZdyInfo(item)
156 }
157 },
158 immediate: true
159 },
160 "form.zdymc": {
161 handler: function (item) {
162 if (item != '') {
163 this.$refs.zdymc.$el.style.border = '';
164 }
165 },
166 immediate: true
167 },
168 }
169 }
170 </script>
171
172 <style scoped lang="scss">
173 /deep/.el-input__inner {
174 width: 100%;
175 border: 0;
176 }
177
178 table {
179 background: #fff;
180 table-layout: fixed;
181 }
182 </style>
...\ No newline at end of file ...\ No newline at end of file