438df8cd by zhaoqian

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/api/zd.js
2 parents b463e8f8 189127cc
1 import request from '@/plugin/axios' 1 import request from "@/plugin/axios";
2 2
3 /** 3 /**
4 * 保存面积分摊表 4 * 保存面积分摊表
...@@ -6,22 +6,21 @@ import request from '@/plugin/axios' ...@@ -6,22 +6,21 @@ import request from '@/plugin/axios'
6 * @constructor 6 * @constructor
7 */ 7 */
8 export function savemjft(data) { 8 export function savemjft(data) {
9 return request({ 9 return request({
10 url: '/zd/qjGygyzdmjft/insertQjGygyzdmjft', 10 url: "/zd/qjGygyzdmjft/insertQjGygyzdmjft",
11 method: 'post', 11 method: "post",
12 data: data, 12 data: data,
13 }) 13 });
14 } 14 }
15
16 /** 15 /**
17 * 新增宗地基本信息 16 * 新增宗地基本信息
18 */ 17 */
19 export function insertQjZdjbxx (data) { 18 export function insertQjZdjbxx(data) {
20 return request({ 19 return request({
21 url: 'zd/qjZdjbxx/insertQjZdjbxx', 20 url: "zd/qjZdjbxx/insertQjZdjbxx",
22 method: 'post', 21 method: "post",
23 data: data, 22 data: data,
24 }) 23 });
25 } 24 }
26 25
27 /** 26 /**
...@@ -36,4 +35,16 @@ export function getBdcdyh (dpdm,dptype) { ...@@ -36,4 +35,16 @@ export function getBdcdyh (dpdm,dptype) {
36 dptype:dptype 35 dptype:dptype
37 } 36 }
38 }) 37 })
39 }
...\ No newline at end of file ...\ No newline at end of file
38 }
39 /**
40 * 查询界址点
41 */
42 export function queryjzd(glBsm) {
43 return request({
44 url: "/zd/qjJzd/getQjJzdListByGlBsm",
45 method: "get",
46 params: {
47 glBsm,
48 },
49 });
50 }
......
1 <template> 1 <template>
2 <div class="tree_item_box"> 2 <div class="tree_item_box">
3 <div 3 <div
4 class="column-start-start linkLine_default" 4 class="column-start-start linkLine_default"
5 v-for="(item,s_index) in list" 5 v-for="(item, s_index) in list"
6 :key="s_index" 6 :key="s_index"
7 :class="{ 7 :class="{
8 'linkLine_first': s_index===0&list.length>1, 8 linkLine_first: (s_index === 0) & (list.length > 1),
9 'linkLine_half_top': s_index===0&&list.length===1, 9 linkLine_half_top: s_index === 0 && list.length === 1,
10 'linkLine_last': (s_index===(list.length-1)&&s_index!==0), 10 linkLine_last: s_index === list.length - 1 && s_index !== 0,
11 'third_layer':!item.children, 11 third_layer: !item.children,
12 'second_layer':item.children 12 second_layer: item.children,
13 }" 13 }"
14 > 14 >
15 <div 15 <div
16 class="row-flex-start basic_banner" 16 class="row-flex-start basic_banner"
17 @click="itemClick(item)" 17 @click="itemClick(item)"
18 :class="{ 18 :class="{
19 'active_color': item.expand 19 active_color: item.expand,
20 }" 20 }"
21 > 21 >
22 <div 22 <div
23 v-if="item.children" 23 v-if="item.children"
24 class="reTree_icon" 24 class="reTree_icon"
25 :style="{height: (size||14*1.2) +'px',width: (size||14*1.2) +'px'}" 25 :style="{
26 :class="{ 26 height: (size || 14 * 1.2) + 'px',
27 'reTree_default_icon': item.children.length===0, 27 width: (size || 14 * 1.2) + 'px',
28 'reTree_collapse_icon': item.expand && item.children.length>0, 28 }"
29 'reTree_expand_icon': !item.expand && item.children.length>0, 29 :class="{
30 }" 30 reTree_default_icon: item.children.length === 0,
31 ></div> 31 reTree_collapse_icon: item.expand && item.children.length > 0,
32 <div 32 reTree_expand_icon: !item.expand && item.children.length > 0,
33 class="layer_text nowrap" 33 }"
34 :class="{ 34 ></div>
35 'active_color': item.expand 35 <div
36 }" 36 class="layer_text nowrap"
37 >{{item.label}}</div> 37 @contextmenu.prevent="openMenu($event, item)"
38 </div> 38 :class="{
39 <line-item 39 active_color: item.expand,
40 :list="item.children" 40 }"
41 v-on="$listeners" 41 >
42 :size="size" 42 {{ item.label }}
43 v-if="item.expand&&item.children&&item.children.length>0" 43 </div>
44 ></line-item> 44 </div>
45 </div> 45 <line-item
46 </div> 46 :list="item.children"
47 v-on="$listeners"
48 :size="size"
49 v-if="item.expand && item.children && item.children.length > 0"
50 ></line-item>
51 </div>
52 </div>
47 </template> 53 </template>
48 <script> 54 <script>
49 export default { 55 export default {
50 name: "line-item", 56 name: "line-item",
51 props: { 57 props: {
52 list: { 58 list: {
53 type: Array, 59 type: Array,
54 default: () => { 60 default: () => {
55 return []; 61 return [];
56 } 62 },
57 }, 63 },
58 size: { 64 size: {
59 type: Number, 65 type: Number,
60 default: 14 66 default: 14,
61 } 67 },
62 }, 68 visible: {
63 methods: { 69 type: Boolean,
64 itemClick(item) { 70 default: false,
65 item.expand = !item.expand; 71 },
66 this.$emit("itemClick", item); 72 },
67 if (!item.children) { 73 methods: {
68 this.$emit("valClick", item); 74 itemClick(item) {
69 } 75 item.expand = !item.expand;
70 } 76 this.$emit("itemClick", item);
71 } 77 if (!item.children) {
78 this.$emit("valClick", item);
79 }
80 },
81 openMenu(e, item) {
82 if (item.isZD!=undefined) {
83 var x = e.pageX;
84 var y = e.pageY;
85 this.$emit("changeIsZD", item.isZD);
86 this.$emit("changeTop", y);
87 this.$emit("changeLeft", x);
88 this.$emit("changeVisible", true);
89 }
90 // this.top = y;
91 // this.left = x;
92 // this.visible = true;
93 },
94 closeMenu() {
95 this.$emit("changeVisible", false);
96 // this.visible = false;
97 },
98 },
99 watch: {
100 visible(value) {
101 if (value) {
102 document.body.addEventListener("click", this.closeMenu);
103 } else {
104 document.body.removeEventListener("click", this.closeMenu);
105 }
106 },
107 },
72 }; 108 };
73 </script> 109 </script>
74 <style lang='less'> 110 <style lang="less">
75 .content { 111 .content {
76 height: 100%; 112 height: 100%;
77 width: 100%; 113 width: 100%;
...@@ -96,132 +132,136 @@ export default { ...@@ -96,132 +132,136 @@ export default {
96 white-space: nowrap; 132 white-space: nowrap;
97 } 133 }
98 .active_color { 134 .active_color {
99 color: #ffffff; 135 color: #ffffff;
100 } 136 }
101 .reTree_icon { 137 .reTree_icon {
102 width: 17px; 138 width: 17px;
103 height: 17px; 139 height: 17px;
104 margin-right: 10px; 140 margin-right: 10px;
105 } 141 }
106 .no_icon { 142 .no_icon {
107 width: 17px; 143 width: 17px;
108 height: 17px; 144 height: 17px;
109 } 145 }
110 .tree_item_box { 146 .tree_item_box {
111 position: relative; 147 position: relative;
112 width: 100%; 148 width: 100%;
113 cursor: pointer; 149 cursor: pointer;
114 } 150 }
115 .basic_layer { 151 .basic_layer {
116 width: 100%; 152 width: 100%;
117 position: relative; 153 position: relative;
118 color: #FFFFFF; 154 color: #ffffff;
119 cursor: pointer; 155 cursor: pointer;
120 .layer_text { 156 .layer_text {
121 flex: 1; 157 flex: 1;
122 } 158 }
123 } 159 }
124 .first_vertical_line { 160 .first_vertical_line {
125 content: ""; 161 content: "";
126 position: absolute; 162 position: absolute;
127 width: 1px; 163 width: 1px;
128 left: 6px; 164 left: 6px;
129 top: 17px; 165 top: 17px;
130 background: #c3c5c8; 166 background: #c3c5c8;
131 } 167 }
132 .basic_banner { 168 .basic_banner {
133 position: relative; 169 position: relative;
134 width: 100%; 170 width: 100%;
135 padding-bottom: 13px; 171 padding-bottom: 13px;
136 } 172 }
137 .second_layer { 173 .second_layer {
138 position: relative; 174 position: relative;
139 width: 100%; 175 width: 100%;
140 cursor: pointer; 176 cursor: pointer;
141 padding-left: 25px; 177 padding-left: 25px;
142 } 178 }
143 .third_layer { 179 .third_layer {
144 position: relative; 180 position: relative;
145 // padding-bottom: 15px; 181 // padding-bottom: 15px;
146 width: 100%; 182 width: 100%;
147 padding-left: 40px; 183 padding-left: 40px;
148 color: #FFFFFF; 184 color: #ffffff;
149 } 185 }
150 186
151 .second_layer::before { 187 .second_layer::before {
152 content: ""; 188 content: "";
153 position: absolute; 189 position: absolute;
154 height: 1px; 190 height: 1px;
155 width: 16px; 191 width: 16px;
156 left: 9px; 192 left: 9px;
157 top: 9px; 193 top: 9px;
158 background: #c3c5c8; 194 background: #c3c5c8;
159 } 195 }
160 .third_layer::before { 196 .third_layer::before {
161 content: ""; 197 content: "";
162 position: absolute; 198 position: absolute;
163 height: 1px; 199 height: 1px;
164 width: 22px; 200 width: 22px;
165 left: 9px; 201 left: 9px;
166 top: 9px; 202 top: 9px;
167 background: #c3c5c8; 203 background: #c3c5c8;
168 } 204 }
169 205
170 .linkLine_default::after { 206 .linkLine_default::after {
171 content: ""; 207 content: "";
172 position: absolute; 208 position: absolute;
173 height: 100%; 209 height: 100%;
174 width: 1px; 210 width: 1px;
175 left: 9px; 211 left: 9px;
176 top: 0px; 212 top: 0px;
177 background: #c3c5c8; 213 background: #c3c5c8;
178 } 214 }
179 .linkLine_first::after { 215 .linkLine_first::after {
180 content: ""; 216 content: "";
181 position: absolute; 217 position: absolute;
182 /* 为了触顶 */ 218 /* 为了触顶 */
183 top: -14px; 219 top: -14px;
184 height: calc(100% + 14px); 220 height: calc(100% + 14px);
185 width: 1px; 221 width: 1px;
186 left: 9px; 222 left: 9px;
187 background: #c3c5c8; 223 background: #c3c5c8;
188 } 224 }
189 // 上半截 225 // 上半截
190 .linkLine_half_top::after { 226 .linkLine_half_top::after {
191 content: ""; 227 content: "";
192 position: absolute; 228 position: absolute;
193 height: 24px; 229 height: 24px;
194 top: -14px; 230 top: -14px;
195 width: 1px; 231 width: 1px;
196 left: 9px; 232 left: 9px;
197 background: #c3c5c8; 233 background: #c3c5c8;
198 } 234 }
199 .linkLine_last::after { 235 .linkLine_last::after {
200 content: ""; 236 content: "";
201 position: absolute; 237 position: absolute;
202 height: 9px; 238 height: 9px;
203 width: 1px; 239 width: 1px;
204 left: 9px; 240 left: 9px;
205 top: 0px; 241 top: 0px;
206 background: #c3c5c8; 242 background: #c3c5c8;
207 } 243 }
208 .reTree_collapse_icon { 244 .reTree_collapse_icon {
209 background: url("../../assets/images/reTree_collapse_.svg") no-repeat center center; 245 background: url("../../assets/images/reTree_collapse_.svg") no-repeat center
210 background-size: contain; 246 center;
247 background-size: contain;
211 } 248 }
212 249
213 .reTree_default_icon { 250 .reTree_default_icon {
214 background: url("../../assets/images/reTree_default_.svg") no-repeat center center; 251 background: url("../../assets/images/reTree_default_.svg") no-repeat center
215 background-size: contain; 252 center;
253 background-size: contain;
216 } 254 }
217 255
218 .reTree_expand_icon { 256 .reTree_expand_icon {
219 background: url("../../assets/images/reTree_expand_.svg") no-repeat center center; 257 background: url("../../assets/images/reTree_expand_.svg") no-repeat center
220 background-size: contain; 258 center;
259 background-size: contain;
221 } 260 }
222 261
223 .reTree_focus_icon { 262 .reTree_focus_icon {
224 background: url("../../assets/images/reTree_focus_.svg") no-repeat center center; 263 background: url("../../assets/images/reTree_focus_.svg") no-repeat center
225 background-size: contain; 264 center;
265 background-size: contain;
226 } 266 }
227 </style>
...\ No newline at end of file ...\ No newline at end of file
267 </style>
......
...@@ -144,20 +144,11 @@ export default { ...@@ -144,20 +144,11 @@ export default {
144 children: [ 144 children: [
145 { 145 {
146 label: "宗地代码1933", 146 label: "宗地代码1933",
147 children: [ 147 isZD:true
148 {
149 id:'011',
150 label: "自然幢号1256",
151 },
152 ],
153 }, 148 },
154 { 149 {
155 label: "宗地代码2100", 150 label: "自然幢2100",
156 children: [ 151 isZD:false
157 {
158 label: "自然幢号1543",
159 },
160 ],
161 }, 152 },
162 ], 153 ],
163 } 154 }
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
2 <div class="main"> 2 <div class="main">
3 <div class="button"> 3 <div class="button">
4 <el-button type="primary" @click="oneExit">编辑</el-button> 4 <el-button type="primary" @click="oneExit">编辑</el-button>
5 <el-button type="primary">保存</el-button> 5 <el-button type="primary" @click="save">保存</el-button>
6 <el-button type="primary" @click="batchExit">批量修改</el-button> 6 <el-button type="primary" @click="batchExit">批量修改</el-button>
7 </div> 7 </div>
8 <div class="table"> 8 <div class="table">
9 <table border="1"> 9 <table border="1">
10 <tr> 10 <tr>
11 <td><input type="checkbox" @click="allcheck"/></td> 11 <td><input type="checkbox" @click="allcheck" v-model="isCheckAll"/></td>
12 <td>界址点号</td> 12 <td>界址点号</td>
13 <td>顺序号</td> 13 <td>顺序号</td>
14 <td>X坐标值</td> 14 <td>X坐标值</td>
...@@ -17,11 +17,13 @@ ...@@ -17,11 +17,13 @@
17 <td>界址点类型</td> 17 <td>界址点类型</td>
18 </tr> 18 </tr>
19 <tr v-for="(item,index) in jzdlist" :key="index"> 19 <tr v-for="(item,index) in jzdlist" :key="index">
20 <td><input type="checkbox" v-model="item.isCheck"/></td> 20 <td><input type="checkbox" v-model="item.isCheck" @change="changeAll"/></td>
21 <td><input type="text" class="formInput" v-model="item.jzdh" readonly="readonly"/></td> 21 <td><input type="text" class="formInput" v-model="item.jzdh" readonly="readonly"/></td>
22 <td><input type="text" class="formInput" v-model="item.sxh" readonly="readonly"/></td> 22 <td><input type="text" class="formInput" v-model="item.sxh" readonly="readonly"/></td>
23 <td><input type="text" class="formInput" v-model="item.xzbz" :readonly="item.iszb"/></td> 23 <td><input type="text" class="formInput" v-model="item.xzbz" :readonly="item.iszb"
24 <td><input tepe="text" class="formInput" v-model="item.yzbz" :readonly="item.iszb"/></td> 24 @keydown="oninput"/></td>
25 <td><input tepe="text" class="formInput" v-model="item.yzbz" :readonly="item.iszb"
26 @keydown="oninput"/></td>
25 <td> 27 <td>
26 <el-select v-model="item.jblx" :disabled="item.jbisdisabled"> 28 <el-select v-model="item.jblx" :disabled="item.jbisdisabled">
27 <el-option 29 <el-option
...@@ -45,16 +47,57 @@ ...@@ -45,16 +47,57 @@
45 </tr> 47 </tr>
46 </table> 48 </table>
47 </div> 49 </div>
50 <div>
51 <el-dialog
52 title="批量修改"
53 :visible.sync="centerDialogVisible"
54 width="30%"
55 center>
56 <div class="plxg">
57 <div>
58 <span class=""> 界标类型:</span>
59 <el-select>
60 <el-option
61 v-for="i in jblx"
62 :key="i.key"
63 :label="i.label"
64 :value="i.value"
65 ></el-option>
66 </el-select>
67 </div>
68 <div>
69 <span>界址点类型:</span>
70 <el-select>
71 <el-option
72 v-for="i in jzdlx"
73 :key="i.key"
74 :label="i.label"
75 :value="i.value"
76 ></el-option>
77 </el-select>
78 </div>
79
80 </div>
81 <span slot="footer" class="dialog-footer">
82 <el-button @click="centerDialogVisible = false">取 消</el-button>
83 <el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
84 </span>
85 </el-dialog>
86 </div>
48 </div> 87 </div>
49 </template> 88 </template>
50 89
51 <script> 90 <script>
91 import {queryjzd} from '../../../api/zd'
92
52 export default { 93 export default {
53 name: "", 94 name: "",
54 components: {}, 95 components: {},
55 props: {}, 96 props: {},
56 data() { 97 data() {
57 return { 98 return {
99 isCheckAll: false,
100 centerDialogVisible: false,
58 jblx: [ 101 jblx: [
59 { 102 {
60 key: '1', 103 key: '1',
...@@ -145,21 +188,56 @@ ...@@ -145,21 +188,56 @@
145 } 188 }
146 }, 189 },
147 created() { 190 created() {
191
148 }, 192 },
149 mounted() { 193 mounted() {
194 // 该标识码继承过来
195 let bsm = '401044005bad0557d5e3787239d8e18e';
196 queryjzd(bsm).then(res => {
197 for (let i = 0; i < res.result.length; i++) {
198 res.result[i]['isCheck'] = false;
199 res.result[i]['iszb'] = 'readonly';
200 res.result[i]['jbisdisabled'] = true;
201 res.result[i]['jzdisdisabled'] = true;
202 }
203 this.jzdlist = res.result;
204 })
150 }, 205 },
151 methods: { 206 methods: {
207 save() {
208 console.log("保存....");
209 for (let item of this.jzdlist) {
210 if (item.isCheck) {
211 item.iszb = 'readonly';
212 item.jbisdisabled = true;
213 item.jzdisdisabled = true;
214 }
215 }
216 },
217 oninput(e) {
218 e.target.value = (e.target.value.match(/^\d*(\.?\d{0,0})/g)[0]) || null
219 },
220 changeAll(e) {
221 if (!e.target.checked) {
222 console.log("11111")
223 this.isCheckAll = false;
224 return
225 }
226 for (let item of this.jzdlist) {
227 if (!item.isCheck) {
228 this.isCheckAll = false;
229 return
230 }
231 }
232 this.isCheckAll = true;
233 },
152 allcheck(value) { 234 allcheck(value) {
153 console.log(value.target.checked)
154 console.log("全选");
155 for (let item of this.jzdlist) { 235 for (let item of this.jzdlist) {
156 item.isCheck = value.target.checked; 236 item.isCheck = value.target.checked;
157 } 237 }
158 }, 238 },
159 oneExit() { 239 oneExit() {
160 console.log("单一修改");
161 for (let item of this.jzdlist) { 240 for (let item of this.jzdlist) {
162 console.log(item)
163 if (item.isCheck) { 241 if (item.isCheck) {
164 item.iszb = false; 242 item.iszb = false;
165 item.jbisdisabled = false; 243 item.jbisdisabled = false;
...@@ -170,6 +248,7 @@ ...@@ -170,6 +248,7 @@
170 }, 248 },
171 batchExit() { 249 batchExit() {
172 console.log("批量修改") 250 console.log("批量修改")
251 this.centerDialogVisible = true;
173 } 252 }
174 }, 253 },
175 computed: {}, 254 computed: {},
...@@ -177,6 +256,9 @@ ...@@ -177,6 +256,9 @@
177 } 256 }
178 </script> 257 </script>
179 <style scoped lang="less"> 258 <style scoped lang="less">
259 /deep/.el-input.is-disabled .el-input__inner{
260 color: #606764;
261 }
180 .main { 262 .main {
181 box-sizing: border-box; 263 box-sizing: border-box;
182 padding: 18px; 264 padding: 18px;
...@@ -206,4 +288,8 @@ ...@@ -206,4 +288,8 @@
206 text-align: center; 288 text-align: center;
207 cursor: text; 289 cursor: text;
208 } 290 }
291
292 .plxg span {
293 width: 300px;
294 }
209 </style> 295 </style>
......