a1831b0f by 任超

feat:楼盘表

1 parent b5b2b3f7
Showing 57 changed files with 3362 additions and 90 deletions
1 export default { 1 export default {
2 SERVERAPI: '/service-bdcdj9', 2 SERVERAPI: '/service-bdcdj-Tian',
3 SERVERCAI: 'service-cai' 3 SERVERCAI: '/service-bdcdj-Tian'
4 } 4 }
...\ No newline at end of file ...\ No newline at end of file
......
1 {
2 "exprotTextAttr": "[属性描述]\n格式版本号=1.0\n数据产生单位=国土资源信息中心\n数据产生日期=2013-06-06\n坐标系=80国家大地坐标系\n几度分带=3\n投影类型=高斯克吕格\n计量单位=米\n带号=36\n精度=0.01\n转换参数=0,0,0,0,0,0,0\n"
3 }
...\ No newline at end of file ...\ No newline at end of file
1 {
2 "pointSymbol": {
3 "bufferSymbol": {
4 "type": "simple-marker",
5 "style": "circle",
6 "color": "black",
7 "size": "8px",
8 "outline": {
9 "color": [ 255, 255, 0 ],
10 "width": 1
11 }
12 }
13 },
14 "lineSymbol": {
15
16 },
17 "fillSymbol": {
18 "defaultSymbol": {
19 "type": "simple-fill",
20 "color": [ 0,233, 245, 0.4 ],
21 "style": "solid",
22 "outline": {
23 "color": "#00e9f5",
24 "width": 1
25 }
26 },
27 "highlightSymbol": {
28 "type": "simple-fill",
29 "color": [ 245,3, 37, 0.4 ],
30 "style": "solid",
31 "outline": {
32 "color": "#f50325",
33 "width": 1
34 }
35 },
36 "importSymbol": {
37 "type": "simple-fill",
38 "color": [ 245,3, 37, 0.4 ],
39 "style": "none",
40 "outline": {
41 "color": "#006cff",
42 "width": 2
43 }
44 },
45 "bufferSymbol": {
46 "type": "simple-fill",
47 "color": [ 86,81, 81, 0.5 ],
48 "style": "solid",
49 "outline": {
50 "color": [45,44,44,1],
51 "width": 2
52 }
53 },
54 "bufferGeoSymbol": {
55 "type": "simple-fill",
56 "color": [ 86,81, 81, 0.5 ],
57 "style": "solid",
58 "outline": {
59 "color": [45,44,44,1],
60 "width": 0
61 }
62 }
63 }
64 }
...\ No newline at end of file ...\ No newline at end of file
1 [{
2 "label":"专题树",
3 "id":"1",
4 "type":"layerGroup",
5 "alpha":100,
6 "children":[
7 {
8 "label":"西安市阎良区",
9 "id":"1-1",
10 "type":"layerGroup",
11 "alpha":100,
12 "children":[{
13 "label":"行政区划",
14 "id":"1-1-1",
15 "type":"layerGroup",
16 "alpha":100,
17 "children":[
18 {
19 "label":"行政区界限",
20 "id":"1-1-1-1",
21 "type":"layer",
22 "layerId":20,
23 "children":null
24 },
25 {
26 "label":"行政区",
27 "id":"1-1-1-2",
28 "type":"layer",
29 "layerId":19,
30 "children":null
31 }
32 ]
33 },
34 {
35 "label":"地籍分区",
36 "id":"1-1-2",
37 "type":"layerGroup",
38 "alpha":100,
39 "children":[
40 {
41 "label":"地籍区",
42 "id":"1-1-2-1",
43 "type":"layer",
44 "layerId":13,
45 "children":null
46 },
47 {
48 "label":"地籍子区",
49 "id":"1-1-2-2",
50 "type":"layer",
51 "layerId":14,
52 "children":null
53 }
54 ]
55 },
56 {
57 "label":"不动产单元",
58 "id":"1-1-3",
59 "type":"layerGroup",
60 "alpha":100,
61 "children":[
62 {
63 "label":"线状定着物",
64 "id":"1-1-3-1",
65 "type":"layer",
66 "layerId":7,
67 "children":null
68 },
69 {
70 "label":"宗海",
71 "id":"1-1-3-2",
72 "type":"layer",
73 "layerId":9,
74 "children":null
75 },
76 {
77 "label":"宗地",
78 "id":"1-1-3-3",
79 "type":"layer",
80 "layerId":8,
81 "children":null
82 },
83 {
84 "label":"林权",
85 "id":"1-1-3-4",
86 "type":"layer",
87 "layerId":5,
88 "children":null
89 },
90 {
91 "label":"构筑物",
92 "id":"1-1-3-5",
93 "type":"layer",
94 "layerId":2,
95 "children":null
96 },
97 {
98 "label":"面状定着物",
99 "id":"1-1-3-6",
100 "type":"layer",
101 "layerId":6,
102 "children":null
103 },
104 {
105 "label":"界址线",
106 "id":"1-1-3-7",
107 "type":"layer",
108 "layerId":4,
109 "children":null
110 },
111 {
112 "label":"点状定着物",
113 "id":"1-1-3-8",
114 "type":"layer",
115 "layerId":1,
116 "children":null
117 },
118 {
119 "label":"自然幢",
120 "id":"1-1-3-9",
121 "type":"layer",
122 "layerId":10,
123 "children":null
124 },
125 {
126 "label":"界址点",
127 "id":"1-1-3-10",
128 "type":"layer",
129 "layerId":4,
130 "children":null
131 }
132 ]
133 },
134 {
135 "label":"自然地理",
136 "id":"1-1-4",
137 "type":"layerGroup",
138 "alpha":100,
139 "children":[
140 {
141 "label":"辅助面",
142 "id":"1-1-4-1",
143 "type":"layer",
144 "layerId":15,
145 "children":null
146 },
147 {
148 "label":"植被",
149 "id":"1-1-4-2",
150 "type":"layer",
151 "layerId":17,
152 "children":null
153 },
154 {
155 "label":"水系",
156 "id":"1-1-4-3",
157 "type":"layer",
158 "layerId":16,
159 "children":null
160 }
161 ]
162 }
163 ]
164 }]
165 }]
...\ No newline at end of file ...\ No newline at end of file
1 [{
2 "layerName": "ZDJBXX",
3 "layerLabel": "宗地",
4 "layerUrl": "https://192.168.2.146:6443/arcgis/rest/services/qj/backupService/MapServer",
5 "id":8,
6 "fieldAliases": {
7 "BSM": "标识码",
8 "YSDM": "要素代码",
9 "ZDDM": "宗地代码",
10 "BDCDYH": "不动产单元号",
11 "ZDTZM": "宗地特征码",
12 "ZL": "坐落",
13 "ZDMJ": "宗地面积",
14 "MJDW": "面积单位",
15 "YT": "用途",
16 "DJ": "等级",
17 "JG": "价格",
18 "QLLX": "权利类型",
19 "QLXZ": "权利性质",
20 "QLSDFS": "权利设定方式",
21 "RJL": "容积率",
22 "JZMD": "建筑密度",
23 "JZXG": "建筑限高",
24 "ZDSZD": "宗地四至-东",
25 "ZDSZN": "宗地四至-南",
26 "ZDSZX": "宗地四至-西",
27 "ZDSZB": "宗地四至-北",
28 "TFH": "图幅号",
29 "DJH": "地籍号",
30 "DAH": "档案号",
31 "BZ": "备注",
32 "ZT": "状态",
33 "YWZT": "业务状态",
34 "XMMC": "项目名称",
35 "BGRQ": "变更日期",
36 "TDZH": "土地证号"
37 }
38 },
39 {
40 "layerName": "ZRZ",
41 "layerLabel": "自然幢",
42 "layerUrl": "https://192.168.2.146:6443/arcgis/rest/services/qj/backupService/MapServer",
43 "id": 10,
44 "fieldAliases": {
45 "YSDM": "要素代码",
46 "BDCDYH": "不动产单元号",
47 "ZDDM": "宗地代码",
48 "ZRZH": "自然幢号",
49 "XMMC": "项目名称",
50 "JZWMC": "建筑物名称",
51 "JGRQ": "竣工日期",
52 "JZWGD": "建筑物高度",
53 "ZZDMJ": "幢占地面积",
54 "ZYDMJ": "幢用地面积",
55 "YCJZMJ": "预测建筑面积",
56 "SCJZMJ": "实测建筑面积",
57 "ZCS": "总层数",
58 "DSCS": "地上层数",
59 "DXCS": "地下层数",
60 "DXSD": "地下深度",
61 "GHYT": "规划用途",
62 "FWJG": "房屋结构",
63 "ZTS": "总套数",
64 "JZWJBYT": "建筑物基本用途",
65 "DAH": "档案号",
66 "BZ": "备注",
67 "ZT": "状态",
68 "YWZT": "业务状态",
69 "BSM": "标识码"
70 }
71 },
72 {
73 "layerName": "DJQ",
74 "layerLabel": "地籍区",
75 "layerUrl": "https://192.168.2.146:6443/arcgis/rest/services/qj/backupService/MapServer",
76 "id": 13,
77 "fieldAliases": {
78 "BSM": "标识码",
79 "YSDM": "要素代码",
80 "DJQDM": "地籍区代码",
81 "DJQMC": "地籍区名称"
82 }
83 },
84 {
85 "layerName": "DJZQ",
86 "layerLabel": "地籍子区",
87 "layerUrl": "https://192.168.2.146:6443/arcgis/rest/services/qj/backupService/MapServer",
88 "id": 14,
89 "fieldAliases": {
90 "BSM": "标识码",
91 "YSDM": "要素代码",
92 "DJZQDM": "地籍子区代码",
93 "DJZQMC": "地籍子区名称"
94 }
95 },
96 {
97 "layerName": "XJZQ",
98 "layerLabel": "行政区",
99 "layerUrl": "https://192.168.2.146:6443/arcgis/rest/services/qj/backupService/MapServer",
100 "id": 19,
101 "fieldAliases": {
102 "BSM": "标识码",
103 "YSDM": "要素代码",
104 "XZQDM": "行政区代码",
105 "XZQMC": "行政区名称",
106 "XZQMJ": "行政区面积"
107 }
108 },
109 {
110 "layerName":"JZD",
111 "layerLabel":"界址点",
112 "layerUrl":"https://192.168.2.146:6443/arcgis/rest/services/qj/backupService/MapServer",
113 "id":3
114 },
115 {
116 "layerName":"JZX",
117 "layerLabel":"界址线",
118 "layerUrl":"https://192.168.2.146:6443/arcgis/rest/services/qj/backupService/MapServer",
119 "id":4
120 }
121 ]
...\ No newline at end of file ...\ No newline at end of file
...@@ -8,7 +8,7 @@ import SERVER from './config' ...@@ -8,7 +8,7 @@ import SERVER from './config'
8 // } 8 // }
9 export function getMenuInfo () { 9 export function getMenuInfo () {
10 return request({ 10 return request({
11 url: SERVER.SERVERCAI + '/rest/user/getUserAuthorizationMenus', 11 url: SERVER.SERVERAPI + '/rest/user/getUserAuthorizationMenus',
12 method: 'get', 12 method: 'get',
13 }) 13 })
14 } 14 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -3,10 +3,11 @@ import SERVER from './config' ...@@ -3,10 +3,11 @@ import SERVER from './config'
3 /* 3 /*
4 业务办理-获取收藏业务集合 4 业务办理-获取收藏业务集合
5 */ 5 */
6 export function getCollectBiz () { 6 export function getCollectBiz (headers) {
7 return request({ 7 return request({
8 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getCollectBiz', 8 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getCollectBiz',
9 method: 'post' 9 method: 'post',
10 headers
10 }) 11 })
11 } 12 }
12 13
...@@ -16,16 +17,20 @@ export function getCollectBiz () { ...@@ -16,16 +17,20 @@ export function getCollectBiz () {
16 export function getleftMenu () { 17 export function getleftMenu () {
17 return request({ 18 return request({
18 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getleftMenu', 19 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getleftMenu',
19 method: 'post' 20 method: 'post',
21 headers: {
22 showLoading: false
23 }
20 }) 24 })
21 } 25 }
22 /* 26 /*
23 业务办理-获取下个节点内容 27 业务办理-获取下个节点内容
24 */ 28 */
25 export function getNextNode (bsmSqyw) { 29 export function getNextNode (bsmSqyw, headers) {
26 return request({ 30 return request({
27 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getNextNode?parentid=' + bsmSqyw, 31 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getNextNode?parentid=' + bsmSqyw,
28 method: 'post', 32 method: 'post',
33 headers
29 }) 34 })
30 } 35 }
31 36
...@@ -36,8 +41,7 @@ export function selectScBdcdy (data) { ...@@ -36,8 +41,7 @@ export function selectScBdcdy (data) {
36 return request({ 41 return request({
37 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectScBdcdy', 42 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectScBdcdy',
38 method: 'post', 43 method: 'post',
39 data, 44 data
40 showLoading: true
41 }) 45 })
42 } 46 }
43 47
...@@ -54,12 +58,12 @@ export function selectScBdcdy (data) { ...@@ -54,12 +58,12 @@ export function selectScBdcdy (data) {
54 // } 58 // }
55 59
56 // 待办箱列表查询接口 60 // 待办箱列表查询接口
57 export function searchTaskToDo (data) { 61 export function searchTaskToDo (data, headers) {
58 return request({ 62 return request({
59 url: SERVER.SERVERAPI + '/rest/workBox/search/searchTaskToDo', 63 url: SERVER.SERVERAPI + '/rest/workBox/search/searchTaskToDo',
60 method: 'post', 64 method: 'post',
61 data, 65 data,
62 showLoading: true 66 headers
63 }) 67 })
64 } 68 }
65 // 待办箱/不动产单元删除接口 69 // 待办箱/不动产单元删除接口
...@@ -95,12 +99,12 @@ export function searchTaskDone (data) { ...@@ -95,12 +99,12 @@ export function searchTaskDone (data) {
95 /* 99 /*
96 业务办理-选择权利信息-根据条件进行列表查询 100 业务办理-选择权利信息-根据条件进行列表查询
97 */ 101 */
98 export function selectQlxx (data) { 102 export function selectQlxx (data, headers) {
99 return request({ 103 return request({
100 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectQlxx', 104 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectQlxx',
101 method: 'post', 105 method: 'post',
102 data, 106 data,
103 showLoading: true 107 headers
104 }) 108 })
105 } 109 }
106 /* 110 /*
......
1 <template>
2 <div class="temp">
3 <el-row class="qlxzModule" v-for="(items, index) in countList" :key="items.id">
4 <template v-for="(childItem, childIndex) in items.list">
5 <el-col :span="2" class="btnCol" :key="childIndex + '1'" :class="childIndex > 0 ? 'childYT noTopBorder' : ''">
6 <el-button v-show="childIndex < 1" type="primary" class="changeBtn addMinus outAdd"
7 @click="handleClick(index, 'add')">+</el-button>
8 <el-button v-show="childIndex < 1" type="primary" class="changeBtn addMinus outMinus"
9 @click="handleClick(index, 'minus')">-</el-button>
10 <div :class="items.hasNotBorder ? 'itemShow whiteItem' : 'whiteItem'" v-if="items.isInside"></div>
11 </el-col>
12 <el-col :span="2" class="btnCol" :key="childIndex + '8'" :class="childIndex > 0 ? 'childYT' : ''">
13 <!-- <template v-if="childIndex>0"> -->
14 <span class="qlxz" v-show="childIndex < 1">权利性质</span><br />
15 <el-button type="primary" class="changeBtn addMinus inAdd" @click="handleInClick(index, childIndex, 'add')">+
16 </el-button>
17 <el-button type="primary" class="changeBtn addMinus inMinus"
18 @click="handleInClick(index, childIndex, 'minus')">-</el-button>
19 <!-- </template> -->
20 </el-col>
21 <el-col :span="5" :key="childIndex + '7'" :class="childIndex > 0 ? 'childYT' : ''">
22 <ul>
23 <li>批准用途</li>
24 <li>实际用途</li>
25 <li>土地使用起始时间<i class="requisite">*</i></li>
26 </ul>
27 </el-col>
28 <el-col :span="5" :key="childIndex + '6'" :class="childIndex > 0 ? 'childYT' : ''">
29 <ul>
30 <li>
31 <el-select-tree v-if="show" :default-expand-all="defaultExpandAll" :multiple="multiple"
32 :placeholder="placeholder" :disabled="disabled" :data="$store.state.tdytList" :props="treeProps"
33 :check-strictly="checkStrictly" :clearable="clearable" v-model="childItem.pzytdm"></el-select-tree>
34 </li>
35 <li>
36 <el-select-tree v-if="show" :default-expand-all="defaultExpandAll" :multiple="multiple"
37 :placeholder="placeholder" :disabled="disabled" :data="$store.state.tdytList" :props="treeProps"
38 :check-strictly="checkStrictly" :clearable="clearable" v-model="childItem.sjytdm"></el-select-tree>
39 </li>
40 <li>
41 <el-date-picker v-model="childItem.tdsyqssj" :picker-options="childItem.pickerStart" type="date"
42 value-format="yyyy-MM-dd" placeholder="选择日期" @input="startTime(index, childIndex)">
43 </el-date-picker>
44 </li>
45 </ul>
46 </el-col>
47 <el-col :span="5" :key="childIndex + '5'" :class="childIndex > 0 ? 'childYT' : ''">
48 <ul>
49 <li>地类编码</li>
50 <li>地类编码</li>
51 <li>土地使用结束时间<i class="requisite">*</i></li>
52 </ul>
53 </el-col>
54 <el-col :span="5" :key="childIndex + '4'" :class="childIndex > 0 ? 'childYT' : ''">
55 <ul>
56 <li>
57 <input type="text" style="top: -1px;" v-model="childItem.pzytdm" class="formInput" />
58 </li>
59 <li>
60 <input type="text" v-model="childItem.sjytdm" class="formInput" />
61 </li>
62 <li>
63 <el-date-picker v-model="childItem.tdsyjssj" type="date" value-format="yyyy-MM-dd"
64 :picker-options="childItem.pickerEnd" placeholder="选择日期" @input="endTime(index, childIndex)">
65 </el-date-picker>
66 </li>
67 </ul>
68 </el-col>
69 </template>
70
71 <div class="title">
72 <el-select class="formSelect" v-model="items.qlxzdm">
73 <el-option v-for="item in $store.state.qlxzList" :key="item.dm" :label="item.mc" :value="item.dm">
74 </el-option>
75 </el-select>
76 </div>
77 </el-row>
78 </div>
79 </template>
80
81 <script>
82 // import { getDdicByMC } from "@api/common";
83 export default {
84 props: {
85 // widtd: {
86 // type: String,
87 default: "70%",
88 ,
89 a () {
90 return {
91 //树型结构
92 how: true,
93 arable: true,
94 aultExpandAll: true,
95 tiple: false,
96 ceholder: "请选择",
97 abled: false,
98 ckStrictly: true,
99 eProps: {
100 lue: "dm",
101 ildren: "children",
102 bel: "mc",
103
104 ntList: [
105
106 id: Math.random(),
107 isInside: false,
108 hasNotBorder: false,
109 bsm: "", //权利性质标识码
110 lbsm: "", //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
111 lxzdm: "",
112 zhqlxzlx: "", //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
113 list: [
114 {
115 pzdjbsm: "",
116 pzdjmc: "",
117 pzytdm: "",
118 pzytmc: "",
119 pzytmj: 0,
120 qlxzbsm: "",
121 sjdjbsm: "",
122 sjdjmc: "",
123 sjytdm: "",
124 sjytmc: "",
125 jytmj: 0,
126 syqx: "",
127 tdsyjssj: "",
128 tdsyqssj: "",
129 pickerStart: {},
130 pickerEnd: {},
131 tdzh: "",
132 },
133
134
135
136 Num: 0,
137
138
139 ed () { },
140 hods: {
141 外层操作
142 ndleClick (ind, type) {
143 outsideObj = {
144 Math.random(),
145 Inside: false,
146 sNotBorder: false,
147 "", //权利性质标识码
148 bsm: "", //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
149 xzdm: "",
150 zhqlxzlx: "", //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
151 list: [
152 {
153 pzdjbsm: "",
154 pzdjmc: "",
155 pzytdm: "",
156 pzytmc: "",
157 pzytmj: 0,
158 qlxzbsm: "",
159 sjdjbsm: "",
160 sjdjmc: "",
161 sjytdm: "",
162 sjytmc: "",
163 sjytmj: 0,
164 syqx: "",
165 tdsyjssj: "",
166 tdsyqssj: "",
167 tdzh: "",
168
169
170 };
171 (type === "add") {
172 is.countList.push(outsideObj);
173 is.outNum++;
174 lse {
175 .countList.forEach((item, index) => {
176 f (index == ind && this.countList.length > 1) {
177 this.countList.splice(index, 1);
178 }
179 });
180 this.outNum--;
181
182 Click (index, childIndex, type) {
183 eObj = {
184 ",
185 ,
186 "",
187 "",
188 : 0,
189 m: "",
190 m: "",
191 "",
192 : "",
193 : "",
194 : 0,
195 "",
196 jssj: "",
197 sj: "",
198 : "",
199 e === "add") {
200 ountList[index].list.splice(childIndex + 1, 0, insideObj);
201
202 ountList[index].list.forEach((item, childInd) => {
203 (childIndex == childInd && this.countList[index].list.length > 1) {
204 this.countList[index].list.splice(childIndex, 1);
205 }
206 });
207
208 s.hasBorderOrNot();
209 是否显示边框
210 orderOrNot () {
211 s.countList.forEach((item, index) => {
212 (index == this.countList.length - 1) {
213 m.hasNotBorder = true;
214 {
215 sNotBorder =
216 sInside && !this.countList[index + 1].isInside ? true : false;
217 aList () {
218 this.countList;
219 时间判断
220 tTime (index, childIndex) {
221 tartTime = this.countList[index].list[childIndex].tdsyqssj;
222 endTime = this.countList[index].list[childIndex].tdsyjssj;
223 s.countList[index].list[childIndex].pickerEnd = {
224 bledDate: (time) => {
225 f (Object.keys(startTime).length > 0) {
226 return new Date(startTime).getTime() > time.getTime();
227 lse {
228 rn time.getTime() < Date.now();
229 t.keys(startTime).length > 0 && Object.keys(endTime).length > 0) {
230 ear = new Date(startTime).getFullYear();
231 ear = new Date(endTime).getFullYear();
232 ime (index, childIndex, e) {
233 onsole.log(e, 'eeeeee');
234 let startTime = this.countList[index].list[childIndex].tdsyqssj;
235 let endTime = this.countList[index].list[childIndex].tdsyjssj;
236 this.countList[index].list[childIndex].pickerStart = {
237 disabledDate: (time) => {
238 if (Object.keys(endTime).length > 0) {
239 return new Date(endTime).getTime() < time.getTime();
240 } else {
241 return time.getTime() > Date.now();
242 }
243 }
244 }
245 if (Object.keys(startTime).length > 0 && Object.keys(endTime).length > 0) {
246 let startYear = new Date(startTime).getFullYear();
247 let endYear = new Date(endTime).getFullYear();
248 }
249 },
250 },
251 };
252 </script>
253 <style lang="scss">
254 .temp {
255 width: 100%;
256
257 .qlxzModule {
258 height: auto;
259 position: relative;
260 border-bottom: 1px solid #e6e6e6;
261
262 .el-col {
263 // height: 100%;
264 border-right: 1px solid #E6E6E6;
265 position: relative;
266 text-align: right;
267 padding-right: 10px;
268
269 .qlxz {
270 line-height: 34px;
271 }
272
273 ul {
274 margin-top: 34px;
275
276 li {
277 height: 37px;
278 line-height: 37px;
279 text-decoration: none;
280 border-bottom: 1px solid #e6e6e6;
281
282 .el-select {
283 width: 100%;
284 }
285
286 .el-input {
287 width: 100%;
288 }
289
290 .el-input__inner {
291 height: 34px;
292 }
293
294 input {
295 position: relative;
296 top: -2px;
297 height: 35px;
298 width: calc(100% - 1px) !important;
299 }
300 }
301
302 li:last-child {
303 border-bottom: none;
304 }
305 }
306
307 .whiteItem {
308 background-color: #fff;
309 position: absolute;
310 width: 100%;
311 height: 2px;
312 bottom: -1px;
313 left: 0;
314 }
315
316 .itemShow {
317 bottom: 2px;
318 }
319 }
320
321 .childYT {
322 height: 114px;
323 border-top: 1px solid #E6E6E6;
324
325 ul {
326 margin-top: 0;
327
328 li {
329 .el-input__inner {
330 height: 29px;
331 }
332 }
333 }
334
335 .changeBtn {
336 margin-top: -48px;
337 }
338
339 .el-button+.el-button {
340 margin-top: 4px;
341 }
342 }
343
344 .noTopBorder {
345 border-top: 0;
346 }
347
348 .noRightBorder {
349 border-right: 0;
350 }
351
352 .el-col:nth-last-child(2) {
353 border-right: none;
354 }
355
356 .title {
357 width: 83.33333%;
358 height: 34px;
359 line-height: 34px;
360 background-color: #fff;
361 border-bottom: 1px solid #E6E6E6;
362 position: absolute;
363 right: 0;
364 top: 0;
365
366 .formSelect {
367 top: -1px;
368 width: 100%;
369
370 .el-input__inner {
371 height: 32px;
372 }
373 }
374 }
375 }
376
377 .btnCol {
378 position: relative;
379 height: 146px;
380
381 .changeBtn {
382 width: 46px;
383 height: 46px;
384 font-size: 30px;
385 padding: 4px 6px;
386 position: absolute;
387 top: 50%;
388 left: 50%;
389 margin-top: -38px;
390 margin-left: -23px;
391 }
392
393 .el-button+.el-button {
394 margin-left: -23px;
395 margin-top: 16px;
396 }
397 }
398
399 .el-row:nth-last-child(1) {
400 border-bottom: none;
401 }
402
403 /deep/.el-select-tree {
404 width: 100%;
405
406 .el-input__inner {
407 height: 30px !important;
408 }
409 }
410 }
411 </style>
1 <template>
2 <el-dialog v-dialogDrag :close-on-click-modal="false" title="户重新落宗" :visible.sync="isVisible" width="50%"
3 @close="close" :modal-append-to-body="false">
4 <div class="content">
5 <table>
6 <tr>
7 <td class="label">宗地:</td>
8 <td class="input">
9 <el-input placeholder="请选择宗地" v-model="zdxx" :disabled="true"></el-input>
10 </td>
11 <td>
12 <el-button type="primary" @click="xzzdVisible = true">选择宗地</el-button>
13 </td>
14 </tr>
15 <tr>
16 <td class="label">自然幢:</td>
17 <td class="input">
18 <el-select v-model="hcxlzData.zrzbsm" filterable placeholder="请选择" @change="zrzChange">
19 <el-option v-for="(item, index) in zrzList" :key="index" :label="item.label"
20 :value="item.bsm">
21 </el-option>
22 </el-select>
23 </td>
24 </tr>
25 <tr>
26 <td class="label">逻辑幢:</td>
27 <td class="input">
28 <el-select v-model="hcxlzData.ljzbsm" filterable placeholder="请选择" @change="ljzChange">
29 <el-option v-for="(item, index) in ljzList" :key="index" :label="item.ljzmc"
30 :value="item.bsm">
31 </el-option>
32 </el-select>
33 </td>
34 </tr>
35 <tr>
36 <td class="label">幢单元:</td>
37 <td class="input">
38 <el-select v-model="hcxlzData.zdybsm" filterable placeholder="请选择">
39 <el-option v-for="(item, index) in zdyList" :key="index" :label="item.zdymc"
40 :value="item.bsm">
41 </el-option>
42 </el-select>
43 </td>
44 </tr>
45 </table>
46 </div>
47 <div class="footer">
48 <el-button type="primary" @click="save">保存</el-button>
49 <el-button type="primary" @click="close">取消</el-button>
50 </div>
51 <!-- <zd-query-data :isCxlz=true :centerDialogVisible="xzzdVisible" @close="xzzdClose" @getData="getZdxx"
52 :isZdClose="true"></zd-query-data> -->
53 </el-dialog>
54 </template>
55
56 <script>
57 // import zdQueryData from '@/components/zdQueryData/zdQueryData'
58 // import { zdXlcd, hzl } from '@api/zd'
59 import { Message } from 'element-ui'
60 export default {
61 name: "hCxlz",
62 components: { zdQueryData },
63 data () {
64 return {
65 zd: {},
66 zrz: {},
67 ljz: {},
68 zdy: {},
69 xzzdVisible: false,
70 isVisible: false,
71 zdxx: '', // 宗地信息
72 hcxlzData: {
73 bsms: [],
74 zrzbsm: '',
75 ljzbsm: '',
76 zdybsm: ''
77 },
78 total: 1,
79 zrzList: [],
80 ljzList: [],
81 zdyList: []
82 }
83 },
84 props: {
85 hCxlzVisble: {
86 type: Boolean,
87 default: false
88 },
89 bsms: {
90 type: Array
91 }
92 },
93 mounted () {
94 this.hcxlzData.bsms = this.bsms;
95 },
96 methods: {
97 ljzChange: function () {
98 const item = this.ljzList.find(i => i.bsm == this.hcxlzData.ljzbsm)
99 this.hcxlzData.zdybsm = ''
100 this.zdyList = item.list;
101 this.zdyList.push({
102 zdymc: '空',
103 bsm: ''
104 })
105 },
106 zrzChange: function () {
107 const item = this.zrzList.find(i => i.bsm === this.hcxlzData.zrzbsm);
108 this.hcxlzData.ljzbsm = '';
109 this.hcxlzData.zdybsm = '';
110 this.ljzList = item.ljzList;
111 this.ljzList.push({
112 ljzmc: '空',
113 bsm: ''
114 })
115 this.zdyList = item.zdyList;
116 this.zdyList.push({
117 zdymc: '空',
118 bsm: ''
119 })
120 },
121 getZrz: function (bsm) {
122 zdXlcd(bsm).then(res => {
123 if (res.success) {
124 this.zrzList = res.result;
125 this.xzzdClose();
126 } else {
127 Message.error(res.message)
128 }
129 })
130 },
131 getZdxx: function (val) {
132 this.zd = val
133 this.zdxx = val.xmmc + "(" + val.zddm + ")";
134 },
135 xzzdClose: function () {
136 this.xzzdVisible = false;
137 },
138 result: function () {
139 this.hcxlzData = {
140 zrzbsm: '',
141 ljzbsm: '',
142 zdybsm: ''
143 };
144 this.hcxlzData.bsms = this.bsms;
145 },
146 save () {
147 if (this.hcxlzData.zrzbsm === '') {
148 Message.error("请选择自然幢");
149 return;
150 }
151 hzl(this.hcxlzData).then(res => {
152 if (res.success) {
153 this.$router.push({
154 path: '/zrz',
155 query: {
156 bsm: this.hcxlzData.zrzbsm,
157 source: 2,
158 auth: '0,1,2'
159 }
160 })
161 } else {
162 Message.error(res.message)
163 }
164 });
165 },
166 close () {
167 this.$emit('close', false);
168 this.result();
169 },
170 },
171 watch: {
172 hCxlzVisble: function (val) {
173 this.isVisible = val
174 },
175 zd: function (val) {
176 this.hcxlzData.zrzbsm = '';
177 this.hcxlzData.zdybsm = '';
178 this.hcxlzData.ljzbsm = '';
179 this.getZrz(val.zdbsm)
180 }
181 }
182 }
183 </script>
184
185 <style scoped lang="scss">
186 .input-suffix {
187 input {
188 width: 210px;
189 height: 30px;
190 border-radius: 3px;
191 border-color: #BBB;
192 }
193 }
194
195 .content {
196 text-align: center;
197 }
198
199 table {
200 border-collapse: separate;
201 border-spacing: 10px;
202 display: inline-block;
203 text-align: center;
204
205 .label {
206 width: 60px;
207 font-size: 15px;
208 text-align: justify;
209 text-align-last: justify
210 }
211
212 .input {
213 width: 300px;
214
215 .el-select {
216 width: 300px;
217 }
218 }
219 }
220
221 .footer {
222 margin-top: 20px;
223 text-align: center;
224 }
225 </style>
1 
2 export default {
3 methods:{
4 downloadTxt(text, fileName){
5 let element = document.createElement('a')
6 element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text))
7 element.setAttribute('download', fileName)
8 element.style.display = 'none'
9 element.click()
10 },
11 createTextContent(jzdInfo){
12 var textContent = "";
13 for(var i = 0;i < jzdInfo.length;i++){
14 textContent += jzdInfo[i].jzdh +","+jzdInfo[i].sxh+"," +
15 jzdInfo[i].x+","+jzdInfo[i].y+"\n"
16 }
17 return textContent;
18 },
19
20 }
21 }
...\ No newline at end of file ...\ No newline at end of file
1 import service from './src/index';
2
3 export default {
4 install (Vue) {
5 Vue.prototype.$loading = service;
6 },
7 service
8 };
1 import Vue from 'vue';
2 import loadingVue from './loading.vue';
3 import { addClass, removeClass, getStyle } from 'element-ui/src/utils/dom';
4 import { PopupManager } from 'element-ui/src/utils/popup';
5 import afterLeave from 'element-ui/src/utils/after-leave';
6 import merge from 'element-ui/src/utils/merge';
7
8 const LoadingConstructor = Vue.extend(loadingVue);
9
10 const defaults = {
11 text: null,
12 fullscreen: true,
13 body: false,
14 lock: false,
15 customClass: ''
16 };
17
18 let fullscreenLoading;
19
20 LoadingConstructor.prototype.originalPosition = '';
21 LoadingConstructor.prototype.originalOverflow = '';
22
23 LoadingConstructor.prototype.close = function() {
24 if (this.fullscreen) {
25 fullscreenLoading = undefined;
26 }
27 afterLeave(this, _ => {
28 const target = this.fullscreen || this.body
29 ? document.body
30 : this.target;
31 removeClass(target, 'el-loading-parent--relative');
32 removeClass(target, 'el-loading-parent--hidden');
33 if (this.$el && this.$el.parentNode) {
34 this.$el.parentNode.removeChild(this.$el);
35 }
36 this.$destroy();
37 }, 300);
38 this.visible = false;
39 };
40
41 const addStyle = (options, parent, instance) => {
42 let maskStyle = {};
43 if (options.fullscreen) {
44 instance.originalPosition = getStyle(document.body, 'position');
45 instance.originalOverflow = getStyle(document.body, 'overflow');
46 maskStyle.zIndex = PopupManager.nextZIndex();
47 } else if (options.body) {
48 instance.originalPosition = getStyle(document.body, 'position');
49 ['top', 'left'].forEach(property => {
50 let scroll = property === 'top' ? 'scrollTop' : 'scrollLeft';
51 maskStyle[property] = options.target.getBoundingClientRect()[property] +
52 document.body[scroll] +
53 document.documentElement[scroll] +
54 'px';
55 });
56 ['height', 'width'].forEach(property => {
57 maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px';
58 });
59 } else {
60 instance.originalPosition = getStyle(parent, 'position');
61 }
62 Object.keys(maskStyle).forEach(property => {
63 instance.$el.style[property] = maskStyle[property];
64 });
65 };
66
67 const Loading = (options = {}) => {
68 if (Vue.prototype.$isServer) return;
69 options = merge({}, defaults, options);
70 if (typeof options.target === 'string') {
71 options.target = document.querySelector(options.target);
72 }
73 options.target = options.target || document.body;
74 if (options.target !== document.body) {
75 options.fullscreen = false;
76 } else {
77 options.body = true;
78 }
79 if (options.fullscreen && fullscreenLoading) {
80 return fullscreenLoading;
81 }
82
83 let parent = options.body ? document.body : options.target;
84 let instance = new LoadingConstructor({
85 el: document.createElement('div'),
86 data: options
87 });
88
89 addStyle(options, parent, instance);
90 if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed' && instance.originalPosition !== 'sticky') {
91 addClass(parent, 'el-loading-parent--relative');
92 }
93 if (options.fullscreen && options.lock) {
94 addClass(parent, 'el-loading-parent--hidden');
95 }
96 parent.appendChild(instance.$el);
97 Vue.nextTick(() => {
98 instance.visible = true;
99 });
100 if (options.fullscreen) {
101 fullscreenLoading = instance;
102 }
103 return instance;
104 };
105
106 export default Loading;
1 <template>
2 <transition name="el-loading-fade" @after-leave="handleAfterLeave">
3 <div v-show="visible" class="el-loading-mask" :style="{ backgroundColor: background || '' }"
4 :class="[customClass, { 'is-fullscreen': fullscreen }]">
5 <div class="el-loading-spinner">
6 <!-- <svg v-if="!spinner" class="circular" viewBox="25 25 50 50">
7 <circle class="path" cx="50" cy="50" r="20" fill="none" />
8 </svg>
9 <i v-else :class="spinner"></i> -->
10 <img class="img" src="../../../image/progress.gif" alt="">
11 <p v-if="text" class="el-loading-text">{{ text }}</p>
12 </div>
13 </div>
14 </transition>
15 </template>
16
17 <script>
18 export default {
19 data () {
20 return {
21 text: null,
22 spinner: null,
23 background: null,
24 fullscreen: true,
25 visible: false,
26 customClass: ''
27 };
28 },
29
30 methods: {
31 handleAfterLeave () {
32 this.$emit('after-leave');
33 },
34 setText (text) {
35 this.text = text;
36 }
37 }
38 };
39 </script>
40 <style scoped lang="scss">
41 .el-loading-spinner {
42 margin-top: -100px !important;
43
44 .img {
45 width: 80px;
46 height: 80px;
47 }
48 }
49 </style>
...\ No newline at end of file ...\ No newline at end of file
1 <template>
2 <div>
3 <el-dialog v-dialogDrag :close-on-click-modal="false" title="移动户" :visible.sync="isVisible" width="50%"
4 @close="close" :modal-append-to-body="false">
5 <div>
6 <div class="bottom-radio">
7 <el-radio-group v-model="moveHdata.sxzylx">
8 <el-radio label="up">向上</el-radio>
9 <el-radio label="down">向下</el-radio>
10 <el-radio label="left">向左</el-radio>
11 <el-radio label="right">向右</el-radio>
12 </el-radio-group>
13 </div>
14 <div class="bottom-buttom">
15 <el-button type="primary" @click="save">确认</el-button>
16 <el-button type="primary" @click="cacel">取消</el-button>
17 </div>
18 </div>
19 </el-dialog>
20 </div>
21 </template>
22
23 <script>
24 // import { moveH } from '@api/lpb'
25 import { Message } from 'element-ui'
26
27 export default {
28 name: "moveH",
29 data () {
30 return {
31 isVisible: false,
32 moveHdata: {
33 hbsm: "",
34 sxzylx: "",
35 type: ""
36 }
37 }
38 },
39 props: {
40 moveHvisible: {
41 type: Boolean,
42 default: false
43 },
44 hbsm: {
45 type: String
46 },
47 type: {
48 type: String
49 }
50 },
51 methods: {
52 loading: function () {
53 this.$emit('loading')
54 },
55 save () {
56 this.moveHdata.hbsm = this.hbsm
57 this.moveHdata.type = this.type
58 // moveH(this.moveHdata).then(res => {
59 // console.log(res)
60 // if (res.success) {
61 // this.loading();
62 // this.close();
63 // Message.success("移动成功")
64 // } else {
65 // Message.error(res.message)
66 // }
67 // })
68 },
69 cacel () {
70 this.close()
71 },
72 close () {
73 this.$emit('close');
74 }
75 },
76 watch: {
77 moveHvisible (val) {
78 this.isVisible = val
79 }
80 }
81 }
82 </script>
83
84 <style scoped lang="scss">
85 .bottom-radio {
86 text-align: center;
87 }
88
89 .el-radio {
90 padding: 20px;
91 }
92
93 .bottom-buttom {
94 margin-top: 20px;
95 text-align: center;
96 }
97 </style>
1 <template>
2 <div>
3 <el-dialog v-dialogDrag :close-on-click-modal="false" title="批量层" :visible.sync="isVisible" width="50%"
4 @close="close" :modal-append-to-body="false">
5 <div>
6 <table border="1">
7 <tr>
8 <td class="tdright">层建筑面积(㎡)</td>
9 <td>
10 <el-input v-model="qlcData.cjzmj"
11 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
12 </td>
13 <td class="tdright">
14 层套内建筑面积(㎡)
15 </td>
16 <td>
17 <el-input v-model="qlcData.ctnjzmj"
18 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
19 </td>
20 </tr>
21 <tr>
22 <td class="tdright">层阳台面积(㎡)</td>
23 <td>
24 <el-input v-model="qlcData.cytmj" class=""
25 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
26 </td>
27 <td class="tdright">
28 层半墙面积(㎡)
29 </td>
30 <td>
31 <el-input v-model="qlcData.cbqmj" class=""
32 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
33 </td>
34 </tr>
35 <tr>
36 <td class="tdright">层共有建筑面积(㎡)</td>
37 <td>
38 <el-input v-model="qlcData.cgyjzmj" class=""
39 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
40 </td>
41 <td class="tdright">
42 层分摊建筑面积(㎡)
43 </td>
44 <td>
45 <el-input v-model="qlcData.cftjzmj" class=""
46 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"
47 placeholder="层分摊建筑面积(㎡)"></el-input>
48 </td>
49 </tr>
50 <tr>
51 <td class="tdright">层高(m)</td>
52 <td>
53 <el-input v-model="qlcData.cg" class=""
54 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null" placeholder="层高(m)">
55 </el-input>
56 </td>
57 <td class="tdright">
58 水平投影面积(㎡)
59 </td>
60 <td>
61 <el-input v-model="qlcData.sptymj" class=""
62 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null" placeholder="水平投影面积(㎡)">
63 </el-input>
64 </td>
65 </tr>
66 </table>
67 </div>
68 <div class="shop">
69 <el-button type="primary" @click="save">保存</el-button>
70 <el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
71 <el-button type="primary" @click="cancel">取消</el-button>
72 </div>
73 </el-dialog>
74 </div>
75 </template>
76
77 <script>
78 // import { updatePlc } from '@api/zrz'
79 export default {
80 name: "plC",
81 data () {
82 return {
83 isVisible: false,
84 qlcData: {
85 cbqmj: '', // 层半墙面积
86 cftjzmj: '', // 层分摊建筑面积
87 cg: '', // 层高
88 cgyjzmj: '', // 层共有建筑面积
89 cjzmj: '', // 层建筑面积
90 ctnjzmj: '', // 层套内建筑面积
91 cytmj: '', // 层阳台面积
92 sptymj: '' // 水平投影面积
93 }
94 }
95 },
96 props: {
97 bsms: {
98 type: Array,
99 },
100 plcVisible: {
101 type: Boolean,
102 default: function () {
103 return false
104 }
105 }
106 },
107 methods: {
108 lodding: function () {
109 this.$emit('lodding')
110 },
111 save: function () {
112 this.qlcData['bsms'] = this.bsms
113 // updatePlc(this.qlcData).then(res => {
114 // if (res.success) {
115 // Message.success("保存成功")
116 // this.lodding()
117 // this.close()
118 // } else {
119 // Message.error(res.message)
120 // }
121 // })
122 },
123 close: function () {
124 this.$emit('close')
125 this.isVisible = false
126 this.result()
127 },
128 cancel: function () {
129 this.$emit('close')
130 this.isVisible = false
131 },
132 result: function () {
133 this.qlcData = {
134 cbqmj: '', // 层半墙面积
135 cftjzmj: '', // 层分摊建筑面积
136 cg: '', // 层高
137 cgyjzmj: '', // 层共有建筑面积
138 cjzmj: '', // 层建筑面积
139 ctnjzmj: '', // 层套内建筑面积
140 cytmj: '', // 层阳台面积
141 sptymj: '' // 水平投影面积
142 }
143 }
144 },
145 watch: {
146 plcVisible (val) {
147 this.isVisible = val
148 }
149 }
150 }
151 </script>
152
153 <style scoped>
154 table {
155 margin-top: 10px;
156 background-color: #fff;
157 font-size: 14px;
158 width: 100%;
159 }
160
161 td {
162 text-align: center;
163 height: 36px;
164 min-width: 50px;
165 }
166
167 table:hover {
168 cursor: pointer;
169 }
170
171 .inputtitle {
172 line-height: 41px;
173 width: 95%;
174 border: none;
175 height: 98%;
176 outline: none;
177 }
178
179
180 .shop {
181 margin-top: 20px;
182 text-align: center;
183 }
184 </style>
1 <template>
2 <div class="">
3 <el-dialog v-dialogDrag :close-on-click-modal="false" title="批量室号" :visible.sync="isVisible" width="50%"
4 @close="close" :modal-append-to-body="false">
5 <div>
6 <table border="1">
7 <tr>
8 <th>室号前缀</th>
9 <th>幢单元号</th>
10 <th>分割符A</th>
11 <th>层号前自动补0</th>
12 <th>层号</th>
13 <th>分割符B</th>
14 <th>户号前自动补零</th>
15 <th>户号</th>
16 <th>室号后缀</th>
17 </tr>
18 <tr>
19 <td>
20 <el-input v-model="plshData.shqz"></el-input>
21 </td>
22 <td>
23 <el-checkbox v-model="plshData.selectDyh"></el-checkbox>
24 </td>
25 <td>
26 <el-input v-model="plshData.fgfA"></el-input>
27 </td>
28 <td>
29 <el-checkbox v-model="plshData.chqbl"></el-checkbox>
30 </td>
31 <td>
32 <el-select v-model="plshData.c">
33 <el-option v-for="i in cs" :key="i.key" :label="i.label" :value="i.value"></el-option>
34 </el-select>
35 </td>
36 <td>
37 <el-input v-model="plshData.fgfB"></el-input>
38 </td>
39 <td>
40 <el-checkbox v-model="plshData.hhqbl"></el-checkbox>
41 </td>
42 <td>
43 </td>
44 <td>
45 <el-input v-model="plshData.shhz"></el-input>
46 </td>
47 </tr>
48 </table>
49 <div class="gz">
50 <span>室号规则:{{ gz }}</span>
51 </div>
52 <div class="xlgz">
53 <span>
54 样例1:1011 <span>(1单元01层01室)</span>([单元号][层号],勾选“层号自动补0”)
55 <br />
56 样例2:1131室<span>(1单元13层01室)</span>([单元号][层号][后缀],后缀填写'室')
57 <br />
58 样例3:101<span>(1层01室)</span>([层号],勾选“户号自动补0”)
59 <br />
60 样例4:1-011<span>(1单元-01层01室)</span>([单元号][分隔符A][层号],勾选“层号自动补0”)
61 <br />
62 样例5:1-12-1<span>(1单元12层01室)</span>([单元号][分隔符A][层号][分隔符B])
63 <br />
64 样例6:1-12<span>(1层12室)</span>([层号][分隔符B])
65 </span>
66 </div>
67 </div>
68 <div class="shop">
69 <el-button type="primary" @click="save">保存</el-button>
70 <el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
71 <el-button type="primary" @click="cancel">取消</el-button>
72 </div>
73 </el-dialog>
74 </div>
75 </template>
76
77 <script>
78 // import { updateSh } from '@api/zrz'
79 import { Message } from 'element-ui'
80
81 export default {
82 name: "plSh",
83 props: {
84 plShVisible: {
85 type: Boolean,
86 default: false
87 },
88 bsms: {
89 type: Array
90 }
91 },
92 data () {
93 return {
94 isVisible: false,
95 plshData: {
96 shqz: '',
97 selectDyh: false,
98 fgfA: '',
99 chqbl: false,
100 c: '',
101 fgfB: '',
102 hhqbl: false,
103 shhz: ''
104 },
105 cs: [
106 {
107 key: '1',
108 label: '名义层',
109 value: '1'
110 }, {
111 key: '2',
112 label: '实际层',
113 value: '2'
114 }, {
115 key: '3',
116 label: '空',
117 value: '3'
118 }
119 ]
120 }
121 },
122 methods: {
123 test: function () {
124 for (let key in this.plshData) {
125 if (key === 'chqbl') {
126 continue;
127 }
128 if (this.plshData[key] !== '' && this.plshData[key] !== '3' && this.plshData[key] !== false) {
129 return true;
130 }
131 }
132 return false;
133 },
134 lodding: function () {
135 this.$emit('lodding')
136 },
137 close: function () {
138 this.$emit("close")
139 this.isVisible = false
140 this.result();
141 },
142 result: function () {
143 this.plshData = {
144 shqz: '',
145 selectDyh: false,
146 fgfA: '',
147 chqbl: false,
148 hhqbl: false,
149 c: '',
150 fgfB: '',
151 shhz: ''
152 }
153 },
154 save: function () {
155 if (!this.test()) {
156 this.$message.info("请选择")
157 return;
158 }
159 this.plshData['bsms'] = this.bsms
160 // updateSh(this.plshData).then(res => {
161 // if (res.success) {
162 // this.lodding();
163 // this.close();
164
165 // } else {
166 // Message.error(res.message)
167 // }
168 // })
169 },
170 cancel: function () {
171 this.close()
172 }
173 },
174 computed: {
175 gz: function () {
176 let gz = "";
177 if (this.plshData.shqz !== "") {
178 gz += this.plshData.shqz
179 }
180 if (this.plshData.selectDyh) {
181 gz += "[单元号]"
182 }
183 if (this.plshData.fgfA !== "") {
184 gz += this.plshData.fgfA
185 }
186 if (+this.plshData.c === 1) {
187 gz += "[名义层]"
188 } else if (+this.plshData.c === 2) {
189 gz += "[实际层]"
190 }
191 if (this.plshData.fgfB !== "") {
192 gz += this.plshData.fgfB
193 }
194 gz += "[户号]";
195 if (this.plshData.shhz !== "") {
196 gz += this.plshData.shhz
197 }
198 return gz;
199 }
200 },
201 watch: {
202 plShVisible: function (val) {
203 this.isVisible = val
204 }
205 }
206 }
207 </script>
208
209 <style scoped lang="scss">
210 table {
211 margin-top: 10px;
212 background-color: #fff;
213 font-size: 14px;
214 width: 100%;
215
216 :hover {
217 cursor: pointer;
218 }
219 }
220
221 th {
222 height: 36px;
223 }
224
225 td {
226 text-align: center;
227 height: 36px;
228 min-width: 60px;
229 }
230
231 .xl {
232 color: blue;
233 float: right;
234 }
235
236 .xl:hover {
237 cursor: pointer;
238 }
239
240 .inputtitle {
241 line-height: 38px;
242 width: 90%;
243 border: none;
244 outline: none;
245 }
246
247 .shop {
248 text-align: center;
249 margin-top: 20px;
250 }
251
252 .gz {
253 color: #b2b2b2;
254 font-size: 14px;
255 margin-top: 40px;
256 }
257
258 .xlgz {
259 span {
260 font-size: 16px;
261 line-height: 22px;
262
263 span {
264 color: red;
265 }
266 }
267 }
268 </style>
1 <template>
2 <div>
3 <el-dialog v-dialogDrag :close-on-click-modal="false" title="批量坐落" :visible.sync="isVisible" width="60%"
4 @close="close" :modal-append-to-body="false">
5 <div>
6 <table border="1">
7 <tr>
8 <th>前缀</th>
9 <th>宗地</th>
10 <th>自然幢</th>
11 <th>逻辑幢</th>
12 <th>幢单元</th>
13 <th></th>
14 <th></th>
15 <th>后缀</th>
16 </tr>
17 <tr>
18 <td>
19 <el-input v-model="plzlData.qz"></el-input>
20 </td>
21 <td>
22 <el-select v-model="plzlData.zd">
23 <el-option v-for="i in zdgz" :key="i.label" :label="i.label" :value="i.value"
24 :disabled="i.disabled">
25 </el-option>
26 </el-select>
27 </td>
28 <td>
29 <el-select v-model="plzlData.zrz">
30 <el-option v-for="i in zrzgz" :key="i.label" :label="i.label" :value="i.value"
31 :disabled="i.disabled">
32 </el-option>
33 </el-select>
34 </td>
35 <td>
36 <el-select v-model="plzlData.ljz">
37 <el-option v-for="i in ljzgz" :key="i.label" :label="i.label" :value="i.value">
38
39 </el-option>
40 </el-select>
41 </td>
42 <td>
43 <el-select v-model="plzlData.zdy">
44 <el-option v-for="i in zdygz" :key="i.label" :label="i.label" :value="i.value">
45
46 </el-option>
47 </el-select>
48 </td>
49 <td>
50 <el-select v-model="plzlData.c">
51 <el-option v-for="i in cgz" :key="i.label" :label="i.label" :value="i.value">
52
53 </el-option>
54 </el-select>
55 </td>
56 <td>
57 <el-select v-model="plzlData.h">
58 <el-option v-for="i in hgz" :key="i.label" :label="i.label" :value="i.value">
59
60 </el-option>
61 </el-select>
62 </td>
63 <td>
64 <el-input v-model="plzlData.hz"></el-input>
65 </td>
66 </tr>
67 </table>
68 <div class="gz">
69 <span>户坐落规则:{{ gz }}</span>
70 </div>
71 </div>
72 <div class="shop">
73 <el-button type="primary" @click="save">保存</el-button>
74 <el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
75 <el-button type="primary" @click="close">取消</el-button>
76 </div>
77 </el-dialog>
78 </div>
79 </template>
80
81 <script>
82 // import { updateZl } from '@api/zrz'
83 import { Message } from 'element-ui'
84
85 export default {
86 name: "plZl",
87 props: {
88 plZlVisible: {
89 type: Boolean,
90 default: false
91 },
92 bsms: {
93 type: Array
94 }
95 },
96 data () {
97 return {
98 isVisible: false,
99 plzlData: {
100 qz: '',
101 zd: '3',
102 zrz: '3',
103 ljz: '3',
104 zdy: '3',
105 c: '3',
106 h: '3',
107 hz: ''
108 },
109 zdgz: [
110 {
111 label: '宗地坐落',
112 value: '1',
113 disabled: false
114 }, {
115 label: "宗地名称",
116 value: '2',
117 disabled: false
118 }, {
119 label: "空",
120 value: '3',
121 disabled: false
122 }
123 ],
124 zrzgz: [
125 {
126 label: '自然幢坐落',
127 value: '1',
128 disabled: false
129 }, {
130 label: "自然幢名称",
131 value: '2',
132 disabled: false
133 }, {
134 label: "空",
135 value: '3'
136 }
137 ],
138 ljzgz: [
139 {
140 label: '逻辑幢名称',
141 value: '1'
142 }, {
143 label: "逻辑幢号",
144 value: '2'
145 }, {
146 label: "空",
147 value: '3'
148 }
149 ],
150 zdygz: [
151 {
152 label: '幢单元名称',
153 value: '1'
154 }, {
155 label: "幢单元号",
156 value: '2'
157 }, {
158 label: "空",
159 value: '3'
160 }
161 ],
162 cgz: [
163 {
164 key: '1',
165 label: '名义层',
166 value: '1'
167 }, {
168 key: '2',
169 label: '实际层',
170 value: '2'
171 }, {
172 label: "空",
173 value: '3'
174 }
175 ],
176 hgz: [
177 {
178 key: '1',
179 label: '室号',
180 value: '1'
181 }, {
182 key: '2',
183 label: '户号',
184 value: '2'
185 }, {
186 label: "空",
187 value: '3'
188 }
189 ]
190 }
191 },
192 methods: {
193 lodding: function () {
194 this.$emit('lodding')
195 },
196 save: function () {
197 if (!this.test()) {
198 this.$message.info("请选择")
199 return;
200 }
201 this.plzlData['bsms'] = this.bsms;
202 // updateZl(this.plzlData).then(res => {
203 // if (res.success) {
204 // this.lodding()
205 // this.close();
206 // } else {
207 // Message.error(res.message)
208 // }
209 // })
210 },
211 test: function () {
212 for (let key in this.plzlData) {
213 if (this.plzlData[key] !== '' && this.plzlData[key] !== '3') {
214 return true;
215 }
216 }
217 return false;
218 },
219 cancel: function () {
220 this.close();
221 },
222 close: function () {
223 this.$emit("close")
224 this.isVisible = false
225 this.result();
226 },
227 result: function () {
228 this.plzlData = {
229 qz: '',
230 zd: '',
231 zrz: '',
232 ljz: '',
233 zdy: '',
234 c: '',
235 h: '',
236 hz: ''
237 }
238 }
239 },
240 computed: {
241 gz: function () {
242 // [前缀][宗地][自然幢][单元][室号][室号][后缀]
243 let gz = "";
244 if (this.plzlData.qz !== '') {
245 gz += this.plzlData.qz
246 }
247 if (+this.plzlData.zd === 1) {
248 gz += "[宗地坐落]";
249 } else if (+this.plzlData.zd === 2) {
250 gz += "[宗地名称]";
251 }
252
253 if (+this.plzlData.zrz === 1) {
254 gz += "[自然幢坐落]"
255 } else if (+this.plzlData.zrz === 2) {
256 gz += "[自然幢名称]";
257 }
258 if (+this.plzlData.ljz === 1) {
259 gz += "[逻辑幢名称]"
260 } else if (+this.plzlData.ljz === 2) {
261 gz += "[逻辑幢号]"
262 }
263 if (+this.plzlData.zdy === 1) {
264 gz += "[幢单元名称]";
265 } else if (+this.plzlData.zdy === 2) {
266 gz += "[幢单元号]"
267 }
268 if (+this.plzlData.c === 1) {
269 gz += "[名义层]"
270 } else if (+this.plzlData.c === 2) {
271 gz += "[实际层]"
272 }
273 if (+this.plzlData.h === 1) {
274 gz += "[室号]"
275 } else if (+this.plzlData.h === 2) {
276 gz += "[户号]"
277 }
278 if (this.plzlData.hz !== "") {
279 gz += this.plzlData.hz
280 }
281 if (gz === "") {
282 gz += "无"
283 }
284 return gz;
285 }
286 },
287 watch: {
288 plZlVisible: function (val) {
289 this.isVisible = val
290 },
291 plzlData: {
292 handler (val) {
293 this.zrzgz[0].disabled = +val.zd === 1;
294 this.zdgz[0].disabled = +val.zrz === 1;
295 },
296 deep: true
297 }
298 }
299 }
300 </script>
301
302 <style scoped lang="scss">
303 table {
304 margin-top: 10px;
305 background-color: #fff;
306 font-size: 14px;
307 width: 100%;
308
309 :hover {
310 cursor: pointer;
311 }
312 }
313
314 th {
315 height: 36px;
316 }
317
318 td {
319 text-align: center;
320 height: 36px;
321 min-width: 60px;
322 }
323
324 .xl {
325 color: blue;
326 float: right;
327 }
328
329 .xl:hover {
330 cursor: pointer;
331 }
332
333 .inputtitle {
334 line-height: 38px;
335 width: 90%;
336 border: none;
337 outline: none;
338 }
339
340 .shop {
341 text-align: center;
342 margin-top: 20px;
343 }
344
345 .gz {
346 color: #b2b2b2;
347 font-size: 12px;
348 margin-top: 40px;
349 }
350
351 .xlgz {
352 span {
353 font-size: 16px;
354 line-height: 22px;
355
356 span {
357 color: red;
358 }
359 }
360 }
361 </style>
...@@ -2,13 +2,13 @@ import Vue from 'vue' ...@@ -2,13 +2,13 @@ import Vue from 'vue'
2 import Popup from './index.vue' 2 import Popup from './index.vue'
3 3
4 const PopupBox = Vue.extend(Popup) 4 const PopupBox = Vue.extend(Popup)
5 Popup.install = function (data) { 5 Popup.install = function (title, editItem, data) {
6 data.title = title
7 data.editItem = editItem
6 let instance = new PopupBox({ 8 let instance = new PopupBox({
7 data 9 data
8 }).$mount() 10 }).$mount()
9
10 document.body.appendChild(instance.$el) 11 document.body.appendChild(instance.$el)
11
12 Vue.nextTick(() => { 12 Vue.nextTick(() => {
13 instance.isShow = true 13 instance.isShow = true
14 }) 14 })
......
1 <template> 1 <template>
2 <transition name="fade" mode="out-in" v-if="isShow"> 2 <transition name="dialog-fade" mode="out-in" v-if="isShow">
3 <div class="ls-mask" v-loading="loading"> 3 <div class="ls-mask" v-loading="loading">
4 <div class="ls-mask-window" :style="{ 'width': width, 'height': height }"> 4 <div class="ls-mask-window" :style="{ 'width': width, 'height': height }">
5 <div class="ls-head"> 5 <div class="ls-head">
...@@ -25,19 +25,19 @@ export default { ...@@ -25,19 +25,19 @@ export default {
25 name: 'index', 25 name: 'index',
26 data () { 26 data () {
27 return { 27 return {
28 btnShow: false,
29 title: '标题', 28 title: '标题',
29 editItem: "",
30 formData: undefined,//父组件传递的参数 负责传给子组件
31 btnShow: false,
32 cancel: function () { },
33 confirm: function () { },
30 cancelText: '取消', 34 cancelText: '取消',
31 confirmText: '确认', 35 confirmText: '确认',
32 isSync: false, 36 isSync: false,
33 isShow: false, 37 isShow: false,
34 cancel: function () { },
35 confirm: function () { },
36 editItem: "",
37 titleStyle: 'center', 38 titleStyle: 'center',
38 width: "75%", 39 width: "75%",
39 height: "auto", 40 height: "auto",
40 formData: undefined,//父组件传递的参数 负责传给子组件
41 contentHeight: "", 41 contentHeight: "",
42 iconClass: "", 42 iconClass: "",
43 key: 0 43 key: 0
...@@ -95,6 +95,12 @@ export default { ...@@ -95,6 +95,12 @@ export default {
95 r(require(`@/views/${view}.vue`)) 95 r(require(`@/views/${view}.vue`))
96 ); 96 );
97 } 97 }
98 },
99 destroyed () {
100 // if appendToBody is true, remove DOM node after destroy
101 if (this.appendToBody && this.$el && this.$el.parentNode) {
102 this.$el.parentNode.removeChild(this.$el);
103 }
98 } 104 }
99 } 105 }
100 </script> 106 </script>
......
...@@ -2,10 +2,7 @@ ...@@ -2,10 +2,7 @@
2 1.在main.js中引入 import Popup from './components/tanchuang/index' 2 1.在main.js中引入 import Popup from './components/tanchuang/index'
3 Vue.prototype.$popup = Popup.install 3 Vue.prototype.$popup = Popup.install
4 2.用法以及参数: 4 2.用法以及参数:
5 this.$popup({ 5 this.$popup('提示','ywbl/dbx/aa',{
6 title: '提示', // 弹窗标题
7 titleStyle:"", //标题存在的位置 center left
8 editItem: 'ywbl/dbx/aa', // 子组件的路径 相当于你平时img取的路径
9 formData:this.formData, //父组件传给子组件的参数 6 formData:this.formData, //父组件传给子组件的参数
10 cancel: function () {}, //取消事件的回调 7 cancel: function () {}, //取消事件的回调
11 confirm: function () {}, //确认事件的回调 8 confirm: function () {}, //确认事件的回调
......
1 import {loadModules} from 'esri-loader'
2
3 export default {
4 methods: {
5
6 identify(url,layerIds,geometry,callBackFunction,returnGeometry,layerOption,tolerance,mapExtent){
7 var self = this;
8 loadModules([
9 "esri/tasks/IdentifyTask",
10 "esri/tasks/support/IdentifyParameters"
11 ]).then(([
12 IdentifyTask,
13 IdentifyParameters
14 ]) => {
15 var identifyTask = new IdentifyTask({
16 url:url
17 }),
18 identifyParameters = new IdentifyParameters();
19 identifyParameters.geometry = geometry;
20 if(layerIds){
21 identifyParameters.layerIds = layerIds;
22 }
23 identifyParameters.layerOption = layerOption ? layerOption : "all";
24 identifyParameters.tolerance = tolerance ? tolerance : 3;
25 identifyParameters.mapExtent = mapExtent ? mapExtent : geometry.extent;
26 identifyParameters.returnGeometry = returnGeometry ? returnGeometry : false;
27 //identifyParameters.returnFieldName = true;
28 identifyParameters.spatialReference = geometry.spatialReference;
29 identifyTask.execute(identifyParameters).then(result => {
30 if(callBackFunction && typeof callBackFunction == 'function'){
31 callBackFunction(result);
32 }
33 });
34 }).catch(err => {
35 throw(err);
36 });
37
38 }
39 }
40 }
...\ No newline at end of file ...\ No newline at end of file
1 import {maps} from '@/libs/map/mapUtils'
2 import {loadModules} from 'esri-loader'
3
4 export default {
5 data() {
6 return {
7 drawAction:null,
8 graphicLayer:null,
9 creatEvent:null,
10 }
11 },
12 methods: {
13 initDraw(type,viewId,creationMode,callBackFunction){
14 var self = this;
15 loadModules([
16 "esri/widgets/Sketch",
17 "esri/layers/GraphicsLayer"
18 ]).then(([
19 Sketch,
20 GraphicsLayer
21 ]) => {
22 var view = maps[viewId];
23 if(!self.drawAction){
24 self.graphicLayer = new GraphicsLayer({
25 id:"_drawLayer"
26 })
27 self.drawAction = new Sketch({
28 view: view,
29 layer:self.graphicLayer,
30 creationMode: "single"
31 });
32 }else {
33 // this.drawAction.cancel();
34 if(creationMode){
35 self.drawAction.creationMode = creationMode;
36 }
37 // graphicLayer = view.map.findLayerById("_drawLayer");
38 }
39 self.drawAction.create(type);
40 if(self.creatEvent){
41 self.creatEvent.remove();
42 }
43 self.creatEvent = self.drawAction.on("create", function(event) {
44 if (event.state === "complete") {
45 self.graphicLayer.remove(event.graphic);
46 if(callBackFunction && typeof callBackFunction == 'function'){
47 callBackFunction(event.graphic.geometry);
48 }
49
50 }
51 })
52 }).catch(err=>{
53 throw(err);
54 });
55 },
56 destroyeDraw() {
57 if(this.drawAction){
58 this.drawAction.cancel();
59 }
60 }
61 }
62 }
...\ No newline at end of file ...\ No newline at end of file
1 /*
2 * 空间图层数据添加、修改、删除
3 * */
4 import {loadModules} from "esri-loader"
5
6 export default {
7 methods:{
8 addGraphic(url,graphic,callBackFunction){
9 loadModules([
10 "esri/layers/FeatureLayer",
11 "esri/Graphic",
12 "esri/geometry/Point",
13 "esri/geometry/Polygon",
14 "esri/geometry/Polyline"
15 ]).then(([
16 FeatureLayer,
17 Graphic,
18 Point,
19 Polygon,
20 Polyline
21 ])=>{
22 var featureLayer = new FeatureLayer({
23 url:url
24 })
25 var saveGraphics = [];
26 if(!Array.isArray(graphic)){
27 graphic = [graphic];
28 }
29 for(var i = 0;i < graphic.length;i++){
30 var geo = null;
31 if(!graphic[i].geometry){
32 geo = null;
33 }else if(graphic[i].geometry.type == 'point'){
34 geo = new Point(graphic[i].geometry);
35 }else if(graphic[i].geometry.type == 'polyline'){
36 geo = new Polyline(graphic[i].geometry);
37 }else if(graphic[i].geometry.type == 'polygon'){
38 geo = new Polygon(graphic[i].geometry);
39 }
40 var saveGraphic = new Graphic({
41 attributes:graphic[i].attributes,
42 geometry:geo
43 });
44 saveGraphics.push(saveGraphic);
45 }
46 console.log(saveGraphic)
47 featureLayer.applyEdits({
48 addFeatures:saveGraphics,
49 // updateFeatures
50 }).then(function (res){
51 if(callBackFunction && typeof callBackFunction == 'function'){
52 console.log(res);
53 callBackFunction(res);
54 }
55 })
56 }).catch( err => {
57 throw (err);
58 })
59 },
60 updateGraphic(url,graphic,callBackFunction){
61 loadModules([
62 "esri/layers/FeatureLayer",
63 "esri/Graphic",
64 "esri/geometry/Point",
65 "esri/geometry/Polygon",
66 "esri/geometry/Polyline"
67 ]).then(([
68 FeatureLayer,
69 Graphic,
70 Point,
71 Polygon,
72 Polyline
73 ])=>{
74 var featureLayer = new FeatureLayer({
75 url:url
76 })
77 var updGraphics = [];
78 if(!Array.isArray(graphic)){
79 graphic = [graphic];
80 }
81 for(var i = 0;i < graphic.length;i++){
82 var geo = null;
83 if(!graphic[i].geometry){
84 geo = new Polygon();
85 }else if(graphic[i].geometry.type == 'point'){
86 geo = new Point(graphic[i].geometry);
87 }else if(graphic[i].geometry.type == 'polyline'){
88 geo = new Polyline(graphic[i].geometry);
89 }else if(graphic[i].geometry.type == 'polygon'){
90 geo = new Polygon(graphic[i].geometry);
91 }
92 var updGraphic = new Graphic({
93 attributes:graphic[i].attributes,
94 geometry:geo
95 });
96 updGraphics.push(updGraphic);
97 }
98
99 featureLayer.applyEdits({
100 updateFeatures:updGraphics
101 }).then(function (res){
102 if(callBackFunction && typeof callBackFunction == 'function'){
103 callBackFunction(res);
104 }
105 })
106 }).catch( err => {
107 throw (err);
108 })
109 },
110 delGraphic(url,graphic,callBackFunction){
111 loadModules([
112 "esri/layers/FeatureLayer",
113 "esri/Graphic",
114 "esri/geometry/Point",
115 "esri/geometry/Polygon",
116 "esri/geometry/Polyline"
117 ]).then(([
118 FeatureLayer,
119 Graphic,
120 Point,
121 Polygon,
122 Polyline
123 ])=>{
124 var featureLayer = new FeatureLayer({
125 url:url
126 })
127 var delGraphics = [];
128 if(!Array.isArray(graphic)){
129 graphic = [graphic];
130 }
131 for(var i = 0;i < graphic.length;i++){
132 var geo = null;
133 if(!graphic[i].geometry){
134 geo = null;
135 }else if(graphic[i].geometry.type == 'point'){
136 geo = new Point(graphic[i].geometry);
137 }else if(graphic[i].geometry.type == 'polyline'){
138 geo = new Polyline(graphic[i].geometry);
139 }else if(graphic[i].geometry.type == 'polygon'){
140 geo = new Polygon(graphic[i].geometry);
141 }
142 var delGraphic = new Graphic({
143 attributes:graphic[i].attributes,
144 geometry:geo
145 });
146 delGraphics.push(delGraphic);
147 }
148
149
150 featureLayer.applyEdits({
151 deleteFeatures:delGraphics
152 }).then(function (res){
153 console.log(res);
154 if(callBackFunction && typeof callBackFunction == 'function'){
155 callBackFunction(res);
156 }
157 })
158 }).catch( err => {
159 throw (err);
160 })
161 }
162 }
163 }
...\ No newline at end of file ...\ No newline at end of file
1 import {loadModules} from 'esri-loader'
2
3 export default {
4
5 methods:{
6 findByPro(url,layerIds,searchFields,searchText,returnGeometry,callBackFunction){
7 loadModules([
8 "esri/tasks/FindTask",
9 "esri/tasks/support/FindParameters"
10 ]).then(([
11 FindTask,
12 FindParameters
13 ]) => {
14 var findTask = new FindTask({
15 url:url
16 }),
17 findParameters = new FindParameters();
18 findParameters.returnGeometry = returnGeometry ? returnGeometry : false;
19 findParameters.layerIds = layerIds;
20 findParameters.searchFields = searchFields;
21 findParameters.searchText = searchText;
22 findParameters.outSpatialReference = {wkid:3857};
23 findTask.execute(findParameters).then(function (result) {
24 if(callBackFunction){
25 callBackFunction(result);
26 }
27 });
28 }).catch(err => {
29 throw (err);
30 })
31
32 }
33
34 }
35 }
...\ No newline at end of file ...\ No newline at end of file
1
2 import {loadCss,loadScript} from "esri-loader"
3
4 export function init(){
5 // loadScript({url:"http://192.168.2.38/4.16/init.js"});
6 // loadCss("http://192.168.2.38/4.16/esri/themes/light/main.css");
7 loadScript({ url:"http://192.168.2.146/arcgis_js_api/library/4.17/init.js"});
8 loadCss("http://192.168.2.146/arcgis_js_api/library/esri/css/main.css");
9 }
10 init();
...\ No newline at end of file ...\ No newline at end of file
1
2 var maps = {}
3
4
5 export {maps};
...\ No newline at end of file ...\ No newline at end of file
1 import {loadModules} from 'esri-loader'
2 import {maps} from '@/libs/map/mapUtils'
3 export default{
4 data(){
5 return{
6 //activeWidget:null,
7 areaActive:null,
8 distanceActive:null
9 }
10 },
11 methods: {
12 measure(viewId,type){
13 var view = maps[viewId];
14 var self = this;
15 loadModules([
16 "esri/widgets/DistanceMeasurement2D",
17 "esri/widgets/AreaMeasurement2D"
18 ]).then(([
19 DistanceMeasurement2D,
20 AreaMeasurement2D
21 ]) => {
22 switch (type) {
23 case "distance":
24 if(!self.distanceActive){
25 self.distanceActive = new DistanceMeasurement2D({
26 view: view
27 });
28 }
29 // skip the initial 'new measurement' button
30 self.distanceActive.viewModel.start();
31 break;
32 case "area":
33 if(!self.areaActive){
34 self.areaActive = new AreaMeasurement2D({
35 view: view
36 });
37 }
38
39
40 // skip the initial 'new measurement' button
41 self.areaActive.viewModel.start();
42 break;
43 case null:
44 if (self.distanceActive) {
45 self.distanceActive.viewModel.clear();
46 // self.distanceActive = null;
47 }
48 if (self.areaActive) {
49 self.areaActive.viewModel.clear();
50 // self.areaActive = null;
51 }
52 break;
53 }
54
55 }).catch(err => {
56 throw(err);
57 });
58
59 }
60
61 }
62 }
...\ No newline at end of file ...\ No newline at end of file
1
2 import {loadModules} from 'esri-loader'
3
4 export default{
5
6 methods: {
7 queryByWhere(url,queryWhere,geometry,returnGeometry,outFields ,outSpatialReference ,callBackFunction){
8 var self = this;
9 loadModules([
10 "esri/tasks/QueryTask",
11 "esri/tasks/support/Query"
12 ]).then(([
13 QueryTask,
14 Query
15 ]) => {
16 var queryTask = new QueryTask({
17 url: url
18 }),
19 query = new Query(),
20 where = "";
21 if (queryWhere){
22 var parames = self.parseObj2Arr(queryWhere);
23 //var isFrist = false;
24 for(var i = 0;i < parames.length; i++ ){
25 if(i == 0){
26
27 }else {
28 where += " and ";
29 }
30 if(Array.isArray(parames[i].value)){
31 where += parames[i].name + " in (" + parames[i].value.toString() + ")";
32 }else if(typeof parames[i].value == 'number'){
33 where += parames[i].name + " =" + parames[i].value ;
34 }else{
35 where += parames[i].name + " like " + "'%" + parames[i].value +"%'";
36 }
37 }
38 } else {
39 where = "1=1";
40 }
41
42 query.where = where;
43 if(geometry){
44 query.geometry = geometry;
45 }
46 query.outSpatialReference = outSpatialReference ? outSpatialReference : {wkid:3857}
47 query.returnGeometry = returnGeometry ? true : false;
48 query.outFields = outFields ? outFields : ["*"];
49 queryTask.execute(query).then(function(results){
50 if(callBackFunction && typeof callBackFunction == 'function'){
51 callBackFunction(results);
52 }
53 });
54 }).catch( err => {
55 throw(err);
56 })
57 },
58 parseObj2Arr(object){
59 var arr = [];
60 for(var key in object){
61 var obj = {};
62 obj.name = key;
63 obj.value = object[key];
64 arr.push(obj);
65 }
66 return arr;
67 }
68 },
69 }
1 import {open,openShp} from "shapefile"
2
3 export default{
4
5 methods: {
6
7 readShpByFile(file,callBackFunction){
8 var reader = new FileReader();
9 reader.readAsBinaryString(file);
10 reader.οnlοad=function(){
11 var fileData = this.result ; //fileData就是读取到的文件的二进制数据
12 openShp(fileData).then(source => source.read()
13 .then(function log(result) {
14 if (result.done) return;
15 if(callBackFunction && typeof callBackFunction == 'function'){
16 callBackFunction(result.value);
17 }
18 return source.read().then(log);
19 }))
20 .catch(error => console.error(error.stack));
21 }
22 },
23 readShpByUrl(url,callBackFunction){
24 open(url).then(source => source.read()
25 .then(function log(result) {
26 if (result.done) return;
27 if(callBackFunction && typeof callBackFunction == 'function'){
28 callBackFunction(result.value);
29 }
30 return source.read().then(log);
31 }))
32 .catch(error => console.error(error.stack));
33 }
34 },
35 readShpByZip(zipUrl,callBackFunction){
36
37 }
38
39 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -24,18 +24,19 @@ const service = axios.create({ ...@@ -24,18 +24,19 @@ const service = axios.create({
24 // request interceptor 24 // request interceptor
25 service.interceptors.request.use( 25 service.interceptors.request.use(
26 config => { 26 config => {
27 if (config.showLoading) { 27 if (config.headers.showLoading !== false) {
28 startLoadingAddCount(config.loadingTarget); 28 startLoadingAddCount(config.headers.loadingTarget ? config.headers.loadingTarget : '正在加载中...',
29 config.headers.target ? config.headers.target : 'body');
29 } 30 }
30 config.headers.Authorization = 31 config.headers.Authorization =
31 // 'bearer AT-231-XqviE9StKRPLMwmnSoVBLP-YzTupyBI5'
32 'bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6' 32 'bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6'
33 config.headers.Accept = 'application/json' 33 config.headers.Accept = 'application/json'
34 return config 34 return config
35 }, 35 },
36 error => { 36 error => {
37 if (error.showLoading) { 37 if (error.headers.showLoading !== false) {
38 endLoadingSubCount(config.loadingTarget); 38 endLoadingSubCount(config.headers.loadingTarget ? config.headers.loadingTarget : '正在加载中...',
39 config.headers.target ? config.headers.target : 'body');
39 } 40 }
40 Message.error('请求超时!'); 41 Message.error('请求超时!');
41 return Promise.reject(error) 42 return Promise.reject(error)
...@@ -45,7 +46,7 @@ service.interceptors.request.use( ...@@ -45,7 +46,7 @@ service.interceptors.request.use(
45 // response interceptor 46 // response interceptor
46 service.interceptors.response.use( 47 service.interceptors.response.use(
47 response => { 48 response => {
48 if (response.config.showLoading) { 49 if (response.config.headers.showLoading !== false) {
49 endLoadingSubCount(); 50 endLoadingSubCount();
50 } 51 }
51 /** 52 /**
...@@ -67,7 +68,7 @@ service.interceptors.response.use( ...@@ -67,7 +68,7 @@ service.interceptors.response.use(
67 type: 'error', 68 type: 'error',
68 duration: 5 * 1000 69 duration: 5 * 1000
69 }) 70 })
70 if (error.config.showLoading) { 71 if (error.config.headers.showLoading !== false) {
71 endLoadingSubCount(); 72 endLoadingSubCount();
72 } 73 }
73 return Promise.reject(error); 74 return Promise.reject(error);
...@@ -103,6 +104,6 @@ function handleErrorData (errMes) { ...@@ -103,6 +104,6 @@ function handleErrorData (errMes) {
103 } 104 }
104 } 105 }
105 } 106 }
106
107 export default service 107 export default service
108 108
109
......
1 import { Loading } from 'element-ui' 1 // import { Loading } from 'element-ui'
2 import Loading from '@/components/loading/index.js';
2 // 定义 loading 3 // 定义 loading
3 let loading 4 let loading
4 5
5 // loading开始 方法 6 // loading开始 方法
6 function startLoading (LoadingText = '拼命加载中...') { 7 function startLoading (LoadingText = '正在加载中...', target = "body") {
7 // element-ui loading 服务调用方式
8 loading = Loading.service({ 8 loading = Loading.service({
9 text: LoadingText, 9 text: LoadingText,
10 spinner: 'el-icon-loading', // 自定义图标 10 spinner: 'el-icon-loading',
11 background: 'rgba(0, 0, 0, 0.8)' 11 background: 'rgba(255, 255, 255, 0.5)',
12 target: target
12 }) 13 })
13 } 14 }
14 15
...@@ -23,9 +24,9 @@ let loadingCount = 0 ...@@ -23,9 +24,9 @@ let loadingCount = 0
23 * 调用一次startLoadingAddCount() 方法 开启Loading 并 loadingCount + 1 24 * 调用一次startLoadingAddCount() 方法 开启Loading 并 loadingCount + 1
24 * 调用一次endLoadingSubCount() 方法 loadingCount - 1 直到为0 关闭loading 25 * 调用一次endLoadingSubCount() 方法 loadingCount - 1 直到为0 关闭loading
25 */ 26 */
26 export function startLoadingAddCount (LoadingText) { 27 export function startLoadingAddCount (LoadingText, target) {
27 if (loadingCount === 0) { 28 if (loadingCount === 0) {
28 startLoading(LoadingText) 29 startLoading(LoadingText, target)
29 } 30 }
30 loadingCount++ 31 loadingCount++
31 } 32 }
......
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>
1 <template>
2 <el-tabs v-model="activeName" @tab-click="handleClick">
3 <el-tab-pane label="户基本信息表" name="hjbxx">
4 <hbj ref="hbj" :bsm="hbsm"></hbj>
5 </el-tab-pane>
6 <el-tab-pane label="登记簿" name="djb">
7 <!-- <djb v-if="djbVisible" :style="{ 'height': formHeight + 'px' }"></djb> -->
8 </el-tab-pane>
9 <el-tab-pane label="附件材料" name="fjcl">
10 <!-- <fjcl v-if="fjclVisible" ref="fjcl" :lpbParent="true" :style="{ 'height': formHeight + 'px' }"
11 :is-disabled="isDisabled"></fjcl> -->
12 </el-tab-pane>
13 </el-tabs>
14 </template>
15
16 <script>
17 import hbj from "../index"
18 // import djb from "../../../../../zd/djb/index";
19 // import fjcl from "../../../../../zd/fjcl/fjcl"
20 // import { queryStatus } from "@api/search"
21 export default {
22 name: "index",
23 components: {
24 hbj, djb, fjcl
25 },
26 props: {
27 bsm: String, //户标识码
28 },
29 data () {
30 return {
31 isDisabled: false,
32 hbsm: this.$store.state.hbsm,
33 activeName: "hjbxx",
34 djbVisible: false,
35 fjclVisible: false,
36 formHeight: 0,
37 }
38 },
39 mounted () {
40 this.formHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 260
41 },
42 methods: {
43 loadingStatus () {
44 let bsm = this.$store.state.hbsm;
45 // queryStatus(bsm).then(res => {
46 // if (res.success) {
47 // let qszt = res.result.qszt;
48 // this.isDisabled = +qszt !== 0;
49 // }
50 // })
51 },
52 handleClick (tab, event) {
53 this.loadingStatus()
54 // console.log(tab, event);
55 switch (tab.name) {
56 case 'djb':
57 this.djbVisible = true;
58 break;
59 case 'fjcl':
60 this.fjclVisible = true;
61 break;
62 default:
63 break;
64 }
65 },
66 },
67 watch: {}
68 }
69 </script>
70
71 <style scoped lang="scss">
72 .el-tabs {
73 /deep/.el-tabs__nav-scroll {
74 margin-left: -35px;
75 }
76 }
77 </style>
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
...@@ -116,7 +116,7 @@ export default { ...@@ -116,7 +116,7 @@ export default {
116 processZoomOut (zoomStep = 0.1) { 116 processZoomOut (zoomStep = 0.1) {
117 const newZoom = Math.floor(this.defaultZoom * 100 - zoomStep * 100) / 100 117 const newZoom = Math.floor(this.defaultZoom * 100 - zoomStep * 100) / 100
118 if (newZoom < 0.2) { 118 if (newZoom < 0.2) {
119 throw new Error('[Process Designer Warn ]: The zoom ratio cannot be less than 0.2') 119 throw new Error('[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2')
120 } 120 }
121 this.defaultZoom = newZoom 121 this.defaultZoom = newZoom
122 this.bpmnViewer.get('canvas').zoom(this.defaultZoom) 122 this.bpmnViewer.get('canvas').zoom(this.defaultZoom)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 <div class="containerFrame"> 21 <div class="containerFrame">
22 <!-- 左侧菜单栏 --> 22 <!-- 左侧菜单栏 -->
23 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> 23 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
24 <div class="title" @click="unitClick(-1)" v-if="showBatch">{{batchButtonName}}</div> 24 <div class="title" @click="unitClick(-1)" v-if="showBatch">{{ batchButtonName }}</div>
25 <div v-if="this.isShowdrawer"> 25 <div v-if="this.isShowdrawer">
26 <div class="title"> 26 <div class="title">
27 申请单元列表({{ unitData.length }}) 27 申请单元列表({{ unitData.length }})
...@@ -162,7 +162,7 @@ export default { ...@@ -162,7 +162,7 @@ export default {
162 .then(() => { 162 .then(() => {
163 var formdata = new FormData(); 163 var formdata = new FormData();
164 formdata.append("bsmSldyList", item.bsmSldy.split(",")); 164 formdata.append("bsmSldyList", item.bsmSldy.split(","));
165 formdata.append("bsmSlsq",this.bsmSlsq); 165 formdata.append("bsmSlsq", this.bsmSlsq);
166 deleteFlow(formdata).then((res) => { 166 deleteFlow(formdata).then((res) => {
167 if (res.code == 200) { 167 if (res.code == 200) {
168 this.$message.success("删除成功"); 168 this.$message.success("删除成功");
...@@ -226,7 +226,7 @@ export default { ...@@ -226,7 +226,7 @@ export default {
226 operation (index, item) { 226 operation (index, item) {
227 //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 227 //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿
228 //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout 228 //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
229 let that = this; 229 let that = this;
230 switch (item.value) { 230 switch (item.value) {
231 case "B0": 231 case "B0":
232 // let type = queueDjywmc(this.$route.query.sqywbm) 232 // let type = queueDjywmc(this.$route.query.sqywbm)
...@@ -235,10 +235,7 @@ export default { ...@@ -235,10 +235,7 @@ export default {
235 case "B1": 235 case "B1":
236 getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => { 236 getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => {
237 let { result } = res 237 let { result } = res
238 this.$popup({ 238 this.$popup("流程图", "workflow/components/processViewer", {
239 title: "流程图",
240 height: '500px',
241 editItem: "workflow/components/processViewer",
242 formData: { 239 formData: {
243 xml: result.xml, 240 xml: result.xml,
244 finishedInfo: { 241 finishedInfo: {
...@@ -383,16 +380,16 @@ export default { ...@@ -383,16 +380,16 @@ export default {
383 type: "warning", //提示类型 success/info/warning/error 380 type: "warning", //提示类型 success/info/warning/error
384 }).then(function () { 381 }).then(function () {
385 record(formdata).then((res) => { 382 record(formdata).then((res) => {
386 if (res.code === 200) { 383 if (res.code === 200) {
387 if(res.result.length===1){ 384 if (res.result.length === 1) {
388 res.result[0].state? that.$alert("登簿成功!"): that.$alert(res.result[0].msg);; 385 res.result[0].state ? that.$alert("登簿成功!") : that.$alert(res.result[0].msg);;
389 } 386 }
390 else{ 387 else {
391 that.$alert('<div>'+res.result[0].ywh+','+res.result[0].msg+'</div>', '登簿明细', { 388 that.$alert('<div>' + res.result[0].ywh + ',' + res.result[0].msg + '</div>', '登簿明细', {
392 dangerouslyUseHTMLString: true 389 dangerouslyUseHTMLString: true
393 }); 390 });
394 } 391 }
395 }else{ 392 } else {
396 that.$alert(res.message); 393 that.$alert(res.message);
397 } 394 }
398 }); 395 });
...@@ -407,14 +404,14 @@ export default { ...@@ -407,14 +404,14 @@ export default {
407 formdata.append("bestepid", this.bestepid); 404 formdata.append("bestepid", this.bestepid);
408 leftMenu(formdata).then((res) => { 405 leftMenu(formdata).then((res) => {
409 if (res.code === 200) { 406 if (res.code === 200) {
410 if(res.result){ 407 if (res.result) {
411 this.unitData = res.result; 408 this.unitData = res.result;
412 this.currentSelectProps = res.result[0]; 409 this.currentSelectProps = res.result[0];
413 this.judgeBatchShow(); 410 this.judgeBatchShow();
414 if(this.showBatch){ 411 if (this.showBatch) {
415 //满足批量查封/批量抵押按钮出现 即先展示批量表单 412 //满足批量查封/批量抵押按钮出现 即先展示批量表单
416 this.unitClick(-1); 413 this.unitClick(-1);
417 }else{ 414 } else {
418 //默认选择单元列表第一个 415 //默认选择单元列表第一个
419 this.unitClick(0); 416 this.unitClick(0);
420 } 417 }
...@@ -424,16 +421,16 @@ export default { ...@@ -424,16 +421,16 @@ export default {
424 }, 421 },
425 //申请单元点击事件 422 //申请单元点击事件
426 unitClick (index) { 423 unitClick (index) {
427 424
428 if(index >= 0){ 425 if (index >= 0) {
429 this.currentSelectProps = this.unitData[index]; 426 this.currentSelectProps = this.unitData[index];
430 this.currentSelectProps.batchOperation = false; 427 this.currentSelectProps.batchOperation = false;
431 }else{ 428 } else {
432 this.currentSelectProps.batchOperation = true; 429 this.currentSelectProps.batchOperation = true;
433 } 430 }
434 getStepFormInfo(this.currentSelectProps).then((res) => { 431 getStepFormInfo(this.currentSelectProps).then((res) => {
435 if (res.code === 200) { 432 if (res.code === 200) {
436 this.fresh += 1; 433 this.fresh += 1;
437 //获取单元对应的所有表单信息 434 //获取单元对应的所有表单信息
438 this.tabList = res.result; 435 this.tabList = res.result;
439 //默认加载第一个表单信息 436 //默认加载第一个表单信息
...@@ -455,11 +452,11 @@ export default { ...@@ -455,11 +452,11 @@ export default {
455 // } 452 // }
456 }, 453 },
457 //批量按钮判断 454 //批量按钮判断
458 judgeBatchShow() { 455 judgeBatchShow () {
459 this.showBatch = false; 456 this.showBatch = false;
460 let qllx = this.$route.query.sqywbm.substring(0,3); 457 let qllx = this.$route.query.sqywbm.substring(0, 3);
461 if(this.unitData.length > 1){ 458 if (this.unitData.length > 1) {
462 switch(qllx){ 459 switch (qllx) {
463 case 'B39': 460 case 'B39':
464 this.showBatch = true; 461 this.showBatch = true;
465 this.batchButtonName = '批量查封'; 462 this.batchButtonName = '批量查封';
...@@ -467,7 +464,7 @@ export default { ...@@ -467,7 +464,7 @@ export default {
467 case 'A37': 464 case 'A37':
468 this.showBatch = true; 465 this.showBatch = true;
469 this.batchButtonName = '批量抵押'; 466 this.batchButtonName = '批量抵押';
470 break; 467 break;
471 } 468 }
472 } 469 }
473 }, 470 },
...@@ -516,7 +513,7 @@ export default { ...@@ -516,7 +513,7 @@ export default {
516 window.close(); 513 window.close();
517 this.$emit("input", false); 514 this.$emit("input", false);
518 }, 1000); 515 }, 1000);
519 }else{ 516 } else {
520 instance.confirmButtonLoading = false; 517 instance.confirmButtonLoading = false;
521 instance.confirmButtonText = "确定"; 518 instance.confirmButtonText = "确定";
522 this.$message.error(res.message); 519 this.$message.error(res.message);
......
...@@ -6,8 +6,7 @@ ...@@ -6,8 +6,7 @@
6 <el-row> 6 <el-row>
7 <el-col :span="5"> 7 <el-col :span="5">
8 <el-form-item label="业务来源"> 8 <el-form-item label="业务来源">
9 <el-select v-model="queryForm.ywly" class="width100" @change="queryClick()" filterable clearable 9 <el-select v-model="queryForm.ywly" class="width100" filterable clearable placeholder="请选择业务来源">
10 placeholder="请选择业务来源">
11 <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 10 <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode">
12 </el-option> 11 </el-option>
13 </el-select> 12 </el-select>
...@@ -15,8 +14,7 @@ ...@@ -15,8 +14,7 @@
15 </el-col> 14 </el-col>
16 <el-col :span="5"> 15 <el-col :span="5">
17 <el-form-item label="权利类型"> 16 <el-form-item label="权利类型">
18 <el-select v-model="queryForm.qllx" class="width100" @change="queryClick()" filterable clearable 17 <el-select v-model="queryForm.qllx" class="width100" filterable clearable placeholder="请选择权利类型">
19 placeholder="请选择权利类型">
20 <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 18 <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
21 </el-option> 19 </el-option>
22 </el-select> 20 </el-select>
...@@ -24,8 +22,7 @@ ...@@ -24,8 +22,7 @@
24 </el-col> 22 </el-col>
25 <el-col :span="5"> 23 <el-col :span="5">
26 <el-form-item label="登记类型"> 24 <el-form-item label="登记类型">
27 <el-select v-model="queryForm.djlx" class="width100" @change="queryClick()" filterable clearable 25 <el-select v-model="queryForm.djlx" class="width100" filterable clearable placeholder="请选择登记类型">
28 placeholder="请选择登记类型">
29 <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 26 <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
30 </el-option> 27 </el-option>
31 </el-select> 28 </el-select>
...@@ -33,15 +30,15 @@ ...@@ -33,15 +30,15 @@
33 </el-col> 30 </el-col>
34 <el-col :span="5"> 31 <el-col :span="5">
35 <el-form-item label="业务号"> 32 <el-form-item label="业务号">
36 <el-input placeholder="请输入业务号" v-model="queryForm.ywh" @clear="queryClick()" clearable class="width100"> 33 <el-input placeholder="请输入业务号" v-model="queryForm.ywh" @clear="queryClick" clearable class="width100">
37 </el-input> 34 </el-input>
38 </el-form-item> 35 </el-form-item>
39 </el-col> 36 </el-col>
40 37
41 <el-col :span="4" class="btnColRight"> 38 <el-col :span="4" class="btnColRight">
42 <el-form-item> 39 <el-form-item>
43 <el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button> 40 <el-button type="primary" native-type="submit" @click="queryClick">查询</el-button>
44 <el-button @click="moreQueryClick()">高级查询</el-button> 41 <el-button @click="moreQueryClick">高级查询</el-button>
45 </el-form-item> 42 </el-form-item>
46 </el-col> 43 </el-col>
47 </el-row> 44 </el-row>
...@@ -58,7 +55,7 @@ ...@@ -58,7 +55,7 @@
58 </el-row> 55 </el-row>
59 </el-form> 56 </el-form>
60 </div> 57 </div>
61 <div class="from-clues-content"> 58 <div class="from-clues-content" id="dbx">
62 <lb-table :page-size="pageData.size" border @sort-change="handleSort" :current-page.sync="pageData.currentPage" 59 <lb-table :page-size="pageData.size" border @sort-change="handleSort" :current-page.sync="pageData.currentPage"
63 :heightNum="300" :total="tableData.total" @size-change="handleSizeChange" 60 :heightNum="300" :total="tableData.total" @size-change="handleSizeChange"
64 @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data"> 61 @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
...@@ -117,7 +114,7 @@ export default { ...@@ -117,7 +114,7 @@ export default {
117 }, 114 },
118 // 列表渲染接口 115 // 列表渲染接口
119 fetchData () { 116 fetchData () {
120 searchTaskToDo({ ...this.queryForm, ...this.pageData }).then(res => { 117 searchTaskToDo({ ...this.queryForm, ...this.pageData }, { 'target': '#dbx' }).then(res => {
121 if (res.code === 200) { 118 if (res.code === 200) {
122 let { total, records } = res.result 119 let { total, records } = res.result
123 records.forEach(item => { 120 records.forEach(item => {
...@@ -136,7 +133,6 @@ export default { ...@@ -136,7 +133,6 @@ export default {
136 queryClick () { 133 queryClick () {
137 this.fetchData() 134 this.fetchData()
138 }, 135 },
139
140 handelItem (index) { 136 handelItem (index) {
141 console.log(index); 137 console.log(index);
142 this.searchList.splice(index, 1) 138 this.searchList.splice(index, 1)
......
1 <template> 1 <template>
2 <div class="from-clues"> 2 <div class="from-clues" id="bdcql">
3 <!-- 表单部分 --> 3 <!-- 表单部分 -->
4 <div class="from-clues-header"> 4 <div class="from-clues-header">
5 <el-form :model="queryForm" ref="queryForm" label-width="100px"> 5 <el-form :model="queryForm" ref="queryForm" label-width="100px">
...@@ -87,7 +87,7 @@ export default { ...@@ -87,7 +87,7 @@ export default {
87 }, 87 },
88 fetchData () { 88 fetchData () {
89 this.queryForm.sqywbm = this.djywbm; 89 this.queryForm.sqywbm = this.djywbm;
90 selectQlxx({ ...this.queryForm, ...this.pageData }) 90 selectQlxx({ ...this.queryForm, ...this.pageData }, { 'target': '#bdcql' })
91 .then((res) => { 91 .then((res) => {
92 if (res.code === 200) { 92 if (res.code === 200) {
93 let { total, records } = res.result; 93 let { total, records } = res.result;
......
1 <template> 1 <template>
2 <div class="ywsq"> 2 <div class="ywsq" id="ywsq">
3 <div class="ywsq-left"> 3 <div class="ywsq-left">
4 <p v-for="(item, index) in leftList" @click="handleleftTitle(index)" :key="index" 4 <p v-for="(item, index) in leftList" @click="handleleftTitle(index)" :key="index"
5 :class="{ 'active': n == index }">{{ item }}</p> 5 :class="{ 'active': n == index }">{{ item }}</p>
...@@ -98,7 +98,7 @@ export default { ...@@ -98,7 +98,7 @@ export default {
98 }, 98 },
99 methods: { 99 methods: {
100 getDataList () { 100 getDataList () {
101 getCollectBiz().then(res => { 101 getCollectBiz({ 'target': '#ywsq' }).then(res => {
102 let { result } = res 102 let { result } = res
103 this.ywList = result 103 this.ywList = result
104 this.ywList.forEach(item => { 104 this.ywList.forEach(item => {
...@@ -145,7 +145,7 @@ export default { ...@@ -145,7 +145,7 @@ export default {
145 }, 145 },
146 // 获取下个节点类型 146 // 获取下个节点类型
147 getNextNode (bsmSqyw, type) { 147 getNextNode (bsmSqyw, type) {
148 getNextNode(bsmSqyw).then(res => { 148 getNextNode(bsmSqyw, { 'target': '#ywsq' }).then(res => {
149 if (res.result.djqx) this.djqxList = res.result.djqx 149 if (res.result.djqx) this.djqxList = res.result.djqx
150 if (res.result.djlx) this.djlxList = res.result.djlx 150 if (res.result.djlx) this.djlxList = res.result.djlx
151 if (type) { 151 if (type) {
......
...@@ -82,7 +82,7 @@ module.exports = { ...@@ -82,7 +82,7 @@ module.exports = {
82 } 82 }
83 ]) 83 ])
84 84
85 // when there are many pages, it will cause too many meaningless requests 85 // when there are many pages, it will cause too many meaningscss requests
86 config.plugins.delete('prefetch') 86 config.plugins.delete('prefetch')
87 config.module 87 config.module
88 .rule('svg') 88 .rule('svg')
......