Commit 7584b74bc369fbc71ab6eb6dcc7c1e81c554b77f

Authored by “DataPlanet”
2 parents 8eed5287 a9069005

Merge branch 'master' of http://39.98.150.180/frontend-uniapp/Civil-Affairs-Bureau-WeChar

Showing 67 changed files with 4448 additions and 827 deletions
.DS_Store
No preview for this file type
.gitignore
  1 +unpackage/
1 2 node_modules/
2 3 dist/
3 4 uploadfiles/
... ...
apis/.DS_Store
No preview for this file type
apis/modules/ly.js
1 1 import request from '../../service/request.js'
2 2 import utils from '../../service/utils.js'
3   -export default {
  3 +export default {
  4 + // 修改界桩
  5 + removeplie(data){
  6 + return request.put('/areBoundary/plie',data)
  7 + },
  8 + // 添加界桩
  9 + addplie(data){
  10 + return request.post('/areBoundary/plie',data)
  11 + },
  12 + // 获取地名类别
  13 + getregional(data){
  14 + return request.get('/arePlaceName/regional/list',data)
  15 + },
  16 + // 获取处理地名类别
  17 + gettreeselect(data){
  18 + return request.get('/arePlaceName/regional/treeselect',data)
  19 + },
  20 + // 添加国家地理
  21 + toponym(data){
  22 + return request.post('/arePlaceName/toponym',data)
  23 + },
  24 + // 获取国家地理
  25 + gettoponym(data){
  26 + return request.get('/arePlaceName/toponym/list',data)
  27 + },
4 28 // 申报巡检
5 29 addpatrol(data){
6 30 return request.post('/areBoundary/patrol',data)
... ... @@ -13,6 +37,10 @@ export default {
13 37 getpolicyDocument(data){
14 38 return request.get('/arePlaceName/policyDocument/list',data)
15 39 },
  40 + // 政策文件详情
  41 + getpolicyDocumentone(data){
  42 + return request.get('/arePlaceName/policyDocument/'+data)
  43 + },
16 44 // 行政区
17 45 getplie(data){
18 46 return request.get('/areBoundary/plie/list',data)
... ...
apis/modules/oauth.js
... ... @@ -27,6 +27,10 @@ export default {
27 27 getfbgl(data){
28 28 return request.get("/funeral/related/list",data)
29 29 },
  30 + // 获取殡葬文化、普法、办事、详情
  31 + getfbgldata(data){
  32 + return request.get("/funeral/related/"+data)
  33 + },
30 34 // 获取殡葬服务机构列表
31 35 getjg(){
32 36 return request.get('/funeral/agencies/list?pageNum=1&pageSize=10');
... ...
common/config.js
1 1  
2 2 let BASE_URL='http://8.130.38.56:8536';
3 3  
4   -// let BASE_URL='http://10.0.0.2:2023';
  4 +// let BASE_URL='http://192.168.179.221:8536';
5 5  
6 6  
7 7 export default BASE_URL
... ...
components/TabBar/TabBar.vue
1 1 <template>
2 2 <view class="page-total">
3 3 <view class="tab-list">
  4 + <!-- 普通用户 -->
4 5 <view class="list" v-for="(item,index) in TabBarList" v-if="qxshow"
5 6 @click="onTabBar(item,item.index)"
6 7 :key="index">
... ... @@ -8,8 +9,16 @@
8 9 <image :src="item.img" mode="widthFix" v-show="tabBarShow != item.index"></image>
9 10 <text :class="{'action':tabBarShow===item.index}">{{item.name}}</text>
10 11 </view>
11   -
12   - <view class="list" v-for="(item,index) in TabBarList1" v-if="!qxshow"
  12 + <!-- 司机收敛工 -->
  13 + <view class="list" v-for="(item,index) in TabBarList1" v-if="sjshow"
  14 + @click="onTabBar(item,item.index)"
  15 + :key="index">
  16 + <image :src="item.acImg" mode="widthFix" v-show="tabBarShow === item.index"></image>
  17 + <image :src="item.img" mode="widthFix" v-show="tabBarShow != item.index"></image>
  18 + <text :class="{'action':tabBarShow===item.index}">{{item.name}}</text>
  19 + </view>
  20 + <!-- 登记底部 -->
  21 + <view class="list" v-for="(item,index) in TabBarList2" v-if="ddshow"
13 22 @click="onTabBar(item,item.index)"
14 23 :key="index">
15 24 <image :src="item.acImg" mode="widthFix" v-show="tabBarShow === item.index"></image>
... ... @@ -46,10 +55,26 @@
46 55 acImg: '/static/tabBar/tab_08.png'
47 56 }
48 57 ],
  58 + TabBarList2:[
  59 + // {
  60 + // index: 3,
  61 + // name: '我的',
  62 + // img: '/static/tabBar/tab_07.png',
  63 + // acImg: '/static/tabBar/tab_08.png'
  64 + // },
  65 + {
  66 + index: 4,
  67 + name: '报丧登记',
  68 + img: '/static/tabBar/tab_07.png',
  69 + acImg: '/static/tabBar/tab_08.png'
  70 + }
  71 + ],
49 72 codeheight: 0,
50 73 isOverall: 0,
51 74 phoneModel: '',
52 75 qxshow:true,
  76 + ddshow:false,
  77 + sjshow:false
53 78 };
54 79 },
55 80 props:{
... ... @@ -61,11 +86,20 @@
61 86 mounted() {
62 87 try {
63 88 console.log("角色",uni.getStorageSync('userjs'));
64   - if(uni.getStorageSync('userjs') != '普通用户'){
65   - this.qxshow = false
  89 + if(uni.getStorageSync('userjs') != '普通用户' && uni.getStorageSync('userjs') != '调度员'){
  90 + this.sjshow = true
  91 + }else{
  92 + this.sjshow = false
66 93 }
67 94 if(uni.getStorageSync('userjs') == '普通用户'){
68 95 this.qxshow = true
  96 + }else{
  97 + this.qxshow = false
  98 + }
  99 + if(uni.getStorageSync('userjs') == '调度员'){
  100 + this.ddshow = true
  101 + }else{
  102 + this.ddshow = false
69 103 }
70 104 const res = uni.getSystemInfoSync();
71 105 let that = this;
... ... @@ -118,6 +152,14 @@
118 152 url:'/pages/my/my'
119 153 })
120 154 break;
  155 + case 4:
  156 + uni.navigateTo({
  157 + url:'/pages/funeralreport/funeralreport'
  158 + })
  159 + // wx.switchTab({
  160 + // url:'/pages/funeralreport/funeralreport'
  161 + // })
  162 + break;
121 163 }
122 164 }
123 165 }
... ...
manifest.json
1 1 {
2 2 "name" : "数字民政服务平台",
3   - "appid" : "__UNI__15B0592",
  3 + "appid" : "__UNI__E8DBEA9",
4 4 "description" : "",
5 5 "versionName" : "1.0.2",
6 6 "versionCode" : "100",
... ...
pages.json
... ... @@ -140,12 +140,12 @@
140 140 }, {
141 141 "path": "pages/map1/map",
142 142 "style": {
143   - "navigationStyle": "custom"
  143 + "navigationBarTitleText": "地名查询服务"
144 144 }
145 145 }, {
146 146 "path": "pages/mapstakeline/mapstakeline",
147 147 "style": {
148   - "navigationStyle": "custom"
  148 + "navigationBarTitleText": "界桩界线管护"
149 149 }
150 150 }, {
151 151 "path": "pages/mapstakelinedetail/mapstakelinedetail",
... ... @@ -155,7 +155,8 @@
155 155 }, {
156 156 "path": "pages/maptask/maptask",
157 157 "style": {
158   - "navigationStyle": "custom"
  158 + "navigationBarTitleText": "我的任务",
  159 + "enablePullDownRefresh": false
159 160 }
160 161 }, {
161 162 "path": "pages/maptaskdetail/maptaskdetail",
... ... @@ -444,6 +445,33 @@
444 445 "style": {
445 446 "navigationStyle": "custom"
446 447 }
  448 + },
  449 + {
  450 + "path" : "pages/declaration/newDeclaration",
  451 + "style" :
  452 + {
  453 + "navigationStyle": "custom",
  454 + "navigationBarTitleText" : "",
  455 + "enablePullDownRefresh" : false
  456 + }
  457 + },
  458 + {
  459 + "path" : "pages/declaration/newDeclarationdetail",
  460 + "style" :
  461 + {
  462 + "navigationBarTitleText" : "",
  463 + "navigationStyle": "custom",
  464 + "enablePullDownRefresh" : false
  465 + }
  466 + },
  467 + {
  468 + "path" : "pages/mapstakelinedetail/addmapstakelinedetail",
  469 + "style" :
  470 + {
  471 + "navigationBarTitleText" : "",
  472 + "enablePullDownRefresh" : false,
  473 + "navigationStyle": "custom"
  474 + }
447 475 }
448 476 ],
449 477 "globalStyle": {
... ...
pages/.DS_Store 0 → 100644
No preview for this file type
pages/declaration/declaration.vue
... ... @@ -19,7 +19,7 @@
19 19 <view class="serve-title">行政区划</view>
20 20 <view class="serve-right">
21 21 <picker @change="e=> bindPickerChange1(e,3)" :value="index" :range="array3">
22   - <view class="uni-input">{{community.adminArea?community.adminArea:'请选择'}}
  22 + <view :class="community.adminArea?'uni-input1':'uni-input2'">{{community.adminArea?community.adminArea:'请选择'}}
23 23 </view>
24 24 </picker>
25 25 <image src="../../static/down3.png"></image>
... ... @@ -33,7 +33,7 @@
33 33 <view class="serve-title">地名类别</view>
34 34 <view class="serve-right">
35 35 <picker @change="e=> bindPickerChange1(e,1)" :value="index" :range="array1">
36   - <view class="uni-input">
  36 + <view :class="community.placeNameCategory?'uni-input1':'uni-input2'">
37 37 {{community.placeNameCategory?community.placeNameCategory:'请选择'}}
38 38 </view>
39 39 </picker>
... ... @@ -48,7 +48,7 @@
48 48 <view class="serve-title">类型</view>
49 49 <view class="serve-right">
50 50 <picker @change="e=> bindPickerChange1(e,2)" :value="index" :range="array2">
51   - <view class="uni-input">{{community.types?community.types:'请选择'}}
  51 + <view :class="community.types?'uni-input1':'uni-input2'">{{community.types?community.types:'请选择'}}
52 52 </view>
53 53 </picker>
54 54 <image src="../../static/down3.png"></image>
... ... @@ -63,7 +63,7 @@
63 63 <view>
64 64 <input id="communityName" @input="oninput" v-module="community.communityName"
65 65 placeholder="请输入" style="text-align: right;"
66   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  66 + placeholder-style="color: #909090;font-size: 26rpx;" />
67 67 </view>
68 68 </view>
69 69 </view>
... ... @@ -75,7 +75,7 @@
75 75 <view>
76 76 <input id="originalName" @input="oninput" v-module="community.originalName"
77 77 placeholder="请输入" style="text-align: right;"
78   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  78 + placeholder-style="color: #909090;font-size: 26rpx;" />
79 79 </view>
80 80 </view>
81 81 </view>
... ... @@ -87,7 +87,7 @@
87 87 <view>
88 88 <input id="historyName" @input="oninput" v-module="community.historyName"
89 89 placeholder="请输入" style="text-align: right;"
90   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  90 + placeholder-style="color: #909090;font-size: 26rpx;" />
91 91 </view>
92 92 </view>
93 93 </view>
... ... @@ -99,7 +99,7 @@
99 99 <view>
100 100 <input id="totalArea" @input="oninput" v-module="community.totalArea"
101 101 placeholder="请输入" style="text-align: right;"
102   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  102 + placeholder-style="color: #909090;font-size: 26rpx;" />
103 103 </view>
104 104 </view>
105 105 </view>
... ... @@ -111,7 +111,7 @@
111 111 <view>
112 112 <input id="villageCommunity" @input="oninput" v-module="community.villageCommunity"
113 113 placeholder="请输入" style="text-align: right;"
114   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  114 + placeholder-style="color: #909090;font-size: 26rpx;" />
115 115 </view>
116 116 </view>
117 117 </view>
... ... @@ -123,7 +123,7 @@
123 123 <view>
124 124 <input id="buildingCount" @input="oninput" v-module="community.buildingCount"
125 125 placeholder="请输入" style="text-align: right;"
126   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  126 + placeholder-style="color: #909090;font-size: 26rpx;" />
127 127 </view>
128 128 </view>
129 129 </view>
... ... @@ -133,7 +133,7 @@
133 133 <view class="serve">
134 134 <view class="serve-title">详细地址</view>
135 135 <view class="serve-right" @tap="openaddress(1)">
136   - <view class="uni-input">{{community.address?community.address:'请选择'}}</view>
  136 + <view :class="community.address?'uni-input1':'uni-input2'">{{community.address?community.address:'请选择'}}</view>
137 137 </view>
138 138 </view>
139 139 </view>
... ... @@ -143,7 +143,7 @@
143 143 <view class="serve">
144 144 <view class="serve-title">有效起始时间</view>
145 145 <view class="serve-right" @tap="opentime(1)">
146   - <view class="uni-input">{{community.validStartDate?community.validStartDate:'请选择'}}
  146 + <view :class="community.validStartDate?'uni-input1':'uni-input2'">{{community.validStartDate?community.validStartDate:'请选择'}}
147 147 </view>
148 148 </view>
149 149 </view>
... ... @@ -154,7 +154,7 @@
154 154 <view class="serve">
155 155 <view class="serve-title">有效终止日期</view>
156 156 <view class="serve-right" @tap="opentime(2)">
157   - <view class="uni-input">{{community.validEndDate?community.validEndDate:'请选择'}}
  157 + <view :class="community.validEndDate?'uni-input1':'uni-input2'">{{community.validEndDate?community.validEndDate:'请选择'}}
158 158 </view>
159 159 </view>
160 160 </view>
... ... @@ -167,7 +167,7 @@
167 167 <view>
168 168 <input id="totalUnits" @input="oninput" v-module="community.totalUnits"
169 169 placeholder="请输入" style="text-align: right;"
170   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  170 + placeholder-style="color: #909090;font-size: 26rpx;" />
171 171 </view>
172 172 </view>
173 173 </view>
... ... @@ -179,7 +179,7 @@
179 179 <view>
180 180 <input id="developer" @input="oninput" v-module="community.developer"
181 181 placeholder="请输入" style="text-align: right;"
182   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  182 + placeholder-style="color: #909090;font-size: 26rpx;" />
183 183 </view>
184 184 </view>
185 185 </view>
... ... @@ -192,7 +192,7 @@
192 192 <input id="romanLettersSpell" @input="oninput"
193 193 v-module="community.romanLettersSpell" placeholder="请输入"
194 194 style="text-align: right;"
195   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  195 + placeholder-style="color: #909090;font-size: 26rpx;" />
196 196 </view>
197 197 </view>
198 198 </view>
... ... @@ -202,7 +202,7 @@
202 202 <view class="serve">
203 203 <view class="serve-title">设立时间</view>
204 204 <view class="serve-right" @tap="opentime(3)">
205   - <view class="uni-input">{{community.establishTime?community.establishTime:'请选择'}}
  205 + <view :class="community.establishTime?'uni-input1':'uni-input2'">{{community.establishTime?community.establishTime:'请选择'}}
206 206 </view>
207 207 </view>
208 208 </view>
... ... @@ -216,7 +216,7 @@
216 216 <input id="originOfPlaceNames" @input="oninput"
217 217 v-module="community.originOfPlaceNames" placeholder="请输入"
218 218 style="text-align: right;"
219   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  219 + placeholder-style="color: #909090;font-size: 26rpx;" />
220 220 </view>
221 221 </view>
222 222 </view>
... ... @@ -229,7 +229,7 @@
229 229 <input id="meaningOfPlaceNames" @input="oninput"
230 230 v-module="community.meaningOfPlaceNames" placeholder="请输入"
231 231 style="text-align: right;"
232   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  232 + placeholder-style="color: #909090;font-size: 26rpx;" />
233 233 </view>
234 234 </view>
235 235 </view>
... ... @@ -242,7 +242,7 @@
242 242 <input id="historicalEvolution" @input="oninput"
243 243 v-module="community.historicalEvolution" placeholder="请输入"
244 244 style="text-align: right;"
245   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  245 + placeholder-style="color: #909090;font-size: 26rpx;" />
246 246 </view>
247 247 </view>
248 248 </view>
... ... @@ -254,7 +254,7 @@
254 254 <view>
255 255 <input id="postalCode" @input="oninput" v-module="community.postalCode"
256 256 placeholder="请输入" style="text-align: right;"
257   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  257 + placeholder-style="color: #909090;font-size: 26rpx;" />
258 258 </view>
259 259 </view>
260 260 </view>
... ... @@ -267,7 +267,7 @@
267 267 <input id="administrativeRegion" @input="oninput"
268 268 v-module="community.administrativeRegion" placeholder="请输入"
269 269 style="text-align: right;"
270   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  270 + placeholder-style="color: #909090;font-size: 26rpx;" />
271 271 </view>
272 272 </view>
273 273 </view>
... ... @@ -281,7 +281,7 @@
281 281 <view class="serve-title">行政区划</view>
282 282 <view class="serve-right">
283 283 <picker @change="e=> bindPickerChange1(e,4)" :value="index" :range="array3">
284   - <view class="uni-input">{{street.adminArea?street.adminArea:'请选择'}}
  284 + <view :class="street.adminAre?'uni-input1':'uni-input2'">{{street.adminArea?street.adminArea:'请选择'}}
285 285 </view>
286 286 </picker>
287 287 <image src="../../static/down3.png"></image>
... ... @@ -296,7 +296,7 @@
296 296 <view>
297 297 <input id="standardName" @input="oninput1" v-module="street.standardName"
298 298 placeholder="请输入" style="text-align: right;"
299   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  299 + placeholder-style="color: #909090;font-size: 26rpx;" />
300 300 </view>
301 301 </view>
302 302 </view>
... ... @@ -308,7 +308,7 @@
308 308 <view>
309 309 <input id="originalName" @input="oninput1" v-module="street.originalName"
310 310 placeholder="请输入" style="text-align: right;"
311   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  311 + placeholder-style="color: #909090;font-size: 26rpx;" />
312 312 </view>
313 313 </view>
314 314 </view>
... ... @@ -320,7 +320,7 @@
320 320 <view>
321 321 <input id="nameHistory" @input="oninput1" v-module="street.nameHistory"
322 322 placeholder="请输入" style="text-align: right;"
323   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  323 + placeholder-style="color: #909090;font-size: 26rpx;" />
324 324 </view>
325 325 </view>
326 326 </view>
... ... @@ -332,7 +332,7 @@
332 332 <view>
333 333 <input id="nameMeaning" @input="oninput1" v-module="street.nameMeaning"
334 334 placeholder="请输入" style="text-align: right;"
335   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  335 + placeholder-style="color: #909090;font-size: 26rpx;" />
336 336 </view>
337 337 </view>
338 338 </view>
... ... @@ -344,7 +344,7 @@
344 344 <view>
345 345 <input id="length" @input="oninput1" v-module="street.length" placeholder="请输入"
346 346 style="text-align: right;"
347   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  347 + placeholder-style="color: #909090;font-size: 26rpx;" />
348 348 </view>
349 349 </view>
350 350 </view>
... ... @@ -356,7 +356,7 @@
356 356 <view>
357 357 <input id="width" @input="oninput1" v-module="street.width" placeholder="请输入"
358 358 style="text-align: right;"
359   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  359 + placeholder-style="color: #909090;font-size: 26rpx;" />
360 360 </view>
361 361 </view>
362 362 </view>
... ... @@ -369,7 +369,7 @@
369 369 <input id="streetRegistration" @input="oninput1"
370 370 v-module="street.streetRegistration" placeholder="请输入"
371 371 style="text-align: right;"
372   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  372 + placeholder-style="color: #909090;font-size: 26rpx;" />
373 373 </view>
374 374 </view>
375 375 </view>
... ... @@ -379,7 +379,7 @@
379 379 <view class="serve">
380 380 <view class="serve-title">有效起始时间</view>
381 381 <view class="serve-right" @tap="opentime(4)">
382   - <view class="uni-input">{{street.validStartDate?street.validStartDate:'请选择'}}</view>
  382 + <view :class="street.validStartDate?'uni-input1':'uni-input2'">{{street.validStartDate?street.validStartDate:'请选择'}}</view>
383 383 </view>
384 384 </view>
385 385 </view>
... ... @@ -389,7 +389,7 @@
389 389 <view class="serve">
390 390 <view class="serve-title">有效终止日期</view>
391 391 <view class="serve-right" @tap="opentime(5)">
392   - <view class="uni-input">{{street.validEndDate?street.validEndDate:'请选择'}}</view>
  392 + <view :class="street.validEndDate?'uni-input1':'uni-input2'">{{street.validEndDate?street.validEndDate:'请选择'}}</view>
393 393 </view>
394 394 </view>
395 395 </view>
... ... @@ -399,7 +399,7 @@
399 399 <view class="serve">
400 400 <view class="serve-title">开始位置</view>
401 401 <view class="serve-right" @tap="openaddress(2)">
402   - <view class="uni-input">{{street.startLocation?street.startLocation:'请选择'}}</view>
  402 + <view :class="street.startLocation?'uni-input1':'uni-input2'">{{street.startLocation?street.startLocation:'请选择'}}</view>
403 403 </view>
404 404 </view>
405 405 </view>
... ... @@ -409,7 +409,7 @@
409 409 <view class="serve">
410 410 <view class="serve-title">结束位置</view>
411 411 <view class="serve-right" @tap="openaddress(3)">
412   - <view class="uni-input">{{street.endLocation?street.endLocation:'请选择'}}</view>
  412 + <view :class="street.endLocation?'uni-input1':'uni-input2'">{{street.endLocation?street.endLocation:'请选择'}}</view>
413 413 </view>
414 414 </view>
415 415 </view>
... ... @@ -422,7 +422,7 @@
422 422 <view class="serve-title">行政区划</view>
423 423 <view class="serve-right">
424 424 <picker @change="e=> bindPickerChange1(e,5)" :value="index" :range="array3">
425   - <view class="uni-input">{{build.adminArea?build.adminArea:'请选择'}}
  425 + <view :class="build.adminArea?'uni-input1':'uni-input2'">{{build.adminArea?build.adminArea:'请选择'}}
426 426 </view>
427 427 </picker>
428 428 <image src="../../static/down3.png"></image>
... ... @@ -437,7 +437,7 @@
437 437 <view>
438 438 <input id="tallBuildName" @input="oninput2" v-module="build.tallBuildName"
439 439 placeholder="请输入" style="text-align: right;"
440   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  440 + placeholder-style="color: #909090;font-size: 26rpx;" />
441 441 </view>
442 442 </view>
443 443 </view>
... ... @@ -449,7 +449,7 @@
449 449 <view>
450 450 <input id="originalName" @input="oninput2" v-module="build.originalName"
451 451 placeholder="请输入" style="text-align: right;"
452   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  452 + placeholder-style="color: #909090;font-size: 26rpx;" />
453 453 </view>
454 454 </view>
455 455 </view>
... ... @@ -461,7 +461,7 @@
461 461 <view>
462 462 <input id="layerNumber" @input="oninput2" v-module="build.layerNumber"
463 463 placeholder="请输入" style="text-align: right;"
464   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  464 + placeholder-style="color: #909090;font-size: 26rpx;" />
465 465 </view>
466 466 </view>
467 467 </view>
... ... @@ -473,7 +473,7 @@
473 473 <view>
474 474 <input id="occupiesArea" @input="oninput2" v-module="build.occupiesArea"
475 475 placeholder="请输入" style="text-align: right;"
476   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  476 + placeholder-style="color: #909090;font-size: 26rpx;" />
477 477 </view>
478 478 </view>
479 479 </view>
... ... @@ -483,7 +483,7 @@
483 483 <view class="serve">
484 484 <view class="serve-title">详细地址</view>
485 485 <view class="serve-right" @tap="openaddress(4)">
486   - <view class="uni-input">{{build.locationPoint?build.locationPoint:'请选择'}}</view>
  486 + <view :class="build.locationPoint?'uni-input1':'uni-input2'">{{build.locationPoint?build.locationPoint:'请选择'}}</view>
487 487 </view>
488 488 </view>
489 489 </view>
... ... @@ -493,7 +493,7 @@
493 493 <view class="serve">
494 494 <view class="serve-title">有效起始时间</view>
495 495 <view class="serve-right" @tap="opentime(6)">
496   - <view class="uni-input">{{build.validStartDate?build.validStartDate:'请选择'}}</view>
  496 + <view :class="build.validStartDate?'uni-input1':'uni-input2'">{{build.validStartDate?build.validStartDate:'请选择'}}</view>
497 497 </view>
498 498 </view>
499 499 </view>
... ... @@ -503,7 +503,7 @@
503 503 <view class="serve">
504 504 <view class="serve-title">有效终止日期</view>
505 505 <view class="serve-right" @tap="opentime(7)">
506   - <view class="uni-input">{{build.validEndDate?build.validEndDate:'请选择'}}</view>
  506 + <view :class="build.validEndDate?'uni-input1':'uni-input2'">{{build.validEndDate?build.validEndDate:'请选择'}}</view>
507 507 </view>
508 508 </view>
509 509 </view>
... ... @@ -515,7 +515,7 @@
515 515 <view>
516 516 <input id="developer" @input="oninput2" v-module="build.developer" placeholder="请输入"
517 517 style="text-align: right;"
518   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  518 + placeholder-style="color: #909090;font-size: 26rpx;" />
519 519 </view>
520 520 </view>
521 521 </view>
... ... @@ -527,7 +527,7 @@
527 527 <view>
528 528 <input id="describeContent" @input="oninput2" v-module="build.describeContent"
529 529 placeholder="请输入" style="text-align: right;"
530   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  530 + placeholder-style="color: #909090;font-size: 26rpx;" />
531 531 </view>
532 532 </view>
533 533 </view>
... ... @@ -542,7 +542,7 @@
542 542 <view>
543 543 <input id="addressName" @input="oninput3" v-module="applicatio.addressName"
544 544 placeholder="请输入" style="text-align: right;"
545   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  545 + placeholder-style="color: #909090;font-size: 26rpx;" />
546 546 </view>
547 547 </view>
548 548 </view>
... ... @@ -554,7 +554,7 @@
554 554 <view>
555 555 <input id="applicationName" @input="oninput3" v-module="applicatio.applicationName"
556 556 placeholder="请输入" style="text-align: right;"
557   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  557 + placeholder-style="color: #909090;font-size: 26rpx;" />
558 558 </view>
559 559 </view>
560 560 </view>
... ... @@ -567,7 +567,7 @@
567 567 <input id="applicationPhone" @input="oninput3"
568 568 v-module="applicatio.applicationPhone" placeholder="请输入"
569 569 style="text-align: right;"
570   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  570 + placeholder-style="color: #909090;font-size: 26rpx;" />
571 571 </view>
572 572 </view>
573 573 </view>
... ... @@ -578,7 +578,7 @@
578 578 <view class="serve">
579 579 <view class="serve-title">详细地址</view>
580 580 <view class="serve-right" @tap="openaddress(5)">
581   - <view class="uni-input">{{applicatio.address?applicatio.address:'请选择'}}</view>
  581 + <view :class="applicatio.address?'uni-input1':'uni-input2'">{{applicatio.address?applicatio.address:'请选择'}}</view>
582 582 </view>
583 583 </view>
584 584 </view>
... ... @@ -590,7 +590,7 @@
590 590 <view>
591 591 <input id="remark" @input="oninput3" v-module="applicatio.remark" placeholder="请输入"
592 592 style="text-align: right;"
593   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  593 + placeholder-style="color: #909090;font-size: 26rpx;" />
594 594 </view>
595 595 </view>
596 596 </view>
... ... @@ -600,11 +600,39 @@
600 600 <view class="info-box">
601 601 <view class="info-box-list">
602 602 <view class="serve">
  603 + <view class="serve-title">申报类型</view>
  604 + <view class="serve-right">
  605 + <picker @change="e=> bindPickerChange1(e,6)" :value="index" :range="array4">
  606 + <view :class="array4type?'uni-input1':'uni-input2'">{{array4type?array4type:'请选择'}}
  607 + </view>
  608 + </picker>
  609 + <image src="../../static/down3.png"></image>
  610 + </view>
  611 + </view>
  612 + </view>
  613 + </view>
  614 + <view class="info-box" v-if="array4type == '单个申报'">
  615 + <view class="info-box-list">
  616 + <view class="serve">
  617 + <view class="serve-title">类型</view>
  618 + <view class="serve-right">
  619 + <picker @change="e=> bindPickerChange1(e,7)" :value="index" :range="array5">
  620 + <view :class="doorplate.cellType?'uni-input1':'uni-input2'">{{doorplate.cellType?doorplate.cellType:'请选择'}}
  621 + </view>
  622 + </picker>
  623 + <image src="../../static/down3.png"></image>
  624 + </view>
  625 + </view>
  626 + </view>
  627 + </view>
  628 + <view class="info-box">
  629 + <view class="info-box-list">
  630 + <view class="serve">
603 631 <view class="serve-title">小区名称</view>
604 632 <view>
605 633 <input id="communityName" @input="oninput4" v-module="doorplate.communityName"
606 634 placeholder="请输入" style="text-align: right;"
607   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  635 + placeholder-style="color: #909090;font-size: 26rpx;" />
608 636 </view>
609 637 </view>
610 638 </view>
... ... @@ -616,7 +644,7 @@
616 644 <view>
617 645 <input id="formerName" @input="oninput4" v-module="doorplate.formerName"
618 646 placeholder="请输入" style="text-align: right;"
619   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  647 + placeholder-style="color: #909090;font-size: 26rpx;" />
620 648 </view>
621 649 </view>
622 650 </view>
... ... @@ -629,13 +657,13 @@
629 657 <input id="historicalPlaceNames" @input="oninput4"
630 658 v-module="doorplate.historicalPlaceNames" placeholder="请输入"
631 659 style="text-align: right;"
632   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  660 + placeholder-style="color: #909090;font-size: 26rpx;" />
633 661 </view>
634 662 </view>
635 663 </view>
636 664 </view>
637 665 </view>
638   - <view v-if="OrderType==5" class="message-list">
  666 + <view v-if="OrderType==5 && array4type == '批量申报'" class="message-list">
639 667 <view class="info-box">
640 668 <view class="info-box-list">
641 669 <view class="info-box-width" style="width: 100%;">
... ... @@ -648,6 +676,19 @@
648 676 </view>
649 677 </view>
650 678 </view>
  679 + <view v-if="OrderType==3" class="message-list">
  680 + <view class="info-box">
  681 + <view class="info-box-list">
  682 + <view class="info-box-width" style="width: 100%;">
  683 + <view class="info-box-small">资料附件(建筑物平面dwg格式、国土地)</view>
  684 + <view style="margin-top: 20rpx;width: 100%;">
  685 + <sczl @onchangfileJsonfile="onchangfileJsonfile"></sczl>
  686 + </view>
  687 + <!-- <view class="info-box-list-img"><image src="../../static/img.png"></image></view> -->
  688 + </view>
  689 + </view>
  690 + </view>
  691 + </view>
651 692 <view class="page-footer">
652 693 <view class="footer-buy">
653 694 <view class="cart-add" @click="mapdoorplatesuccess">
... ... @@ -686,6 +727,7 @@
686 727 applyId: uni.getStorageSync('USERS_KEY').userId,
687 728 createdUser: uni.getStorageSync('USERS_KEY').userId,
688 729 communityName: null, //小区名称
  730 + cellType:null,//门牌类型
689 731 formerName: null, //曾用名
690 732 historicalPlaceNames: null, //历史地名
691 733 doorNumberFile: null, //门牌文件
... ... @@ -716,6 +758,7 @@
716 758 validEndDate: null, //有效终止日期
717 759 locationPoint: null, //地理位置
718 760 status: '待审核', //审核状态
  761 + imageData:null
719 762 },
720 763 street: {
721 764 applyId: uni.getStorageSync('USERS_KEY').userId,
... ... @@ -775,6 +818,9 @@
775 818 array1: ['农村牧场点', '工矿点', '农村居民点', '城镇居民点'],
776 819 array2: ['农林牧场', '工矿点', '农村', '城镇'],
777 820 array3: getApp().globalData.list1,
  821 + array4: ['单个申报','批量申报'],
  822 + array5: ['临街门牌', '大门牌', '楼栋牌', '单元牌', '户牌'],
  823 + array4type:null,
778 824 };
779 825 },
780 826 onPageScroll(e) {
... ... @@ -793,11 +839,11 @@
793 839 } else if (this.OrderType == 2) {
794 840 this.nvConfig.title = '街路巷申报'
795 841 } else if (this.OrderType == 3) {
796   - this.nvConfig.title = '高层建筑申报'
  842 + this.nvConfig.title = '建筑名称备案'
797 843 } else if (this.OrderType == 4) {
798   - this.nvConfig.title = '地名申报'
  844 + this.nvConfig.title = '地名命名申报'
799 845 } else if (this.OrderType == 5) {
800   - this.nvConfig.title = '开发商小区门牌号申报'
  846 + this.nvConfig.title = '门楼牌需求申报'
801 847 }
802 848 },
803 849 methods: {
... ... @@ -887,8 +933,11 @@
887 933 this.street.adminArea = this.array3[e.detail.value]
888 934 } else if (e1 == 5) {
889 935 this.build.adminArea = this.array3[e.detail.value]
  936 + }else if (e1 == 6) {
  937 + this.array4type = this.array4[e.detail.value]
  938 + }else if (e1 == 7) {
  939 + this.doorplate.cellType = this.array5[e.detail.value]
890 940 }
891   - console.log(this.community)
892 941 },
893 942 mapdoorplatesuccess() {
894 943 if (this.OrderType == 1) {
... ... @@ -930,6 +979,18 @@
930 979 })
931 980 return
932 981 } else if (this.OrderType == 3) {
  982 + console.log('this.filelist', this.filelist)
  983 + let box1 = ''
  984 + for (let i = 0; i < this.filelist.length; i++) {
  985 + console.log('this.filelist[i]',this.filelist[i])
  986 + if(i == 0) {
  987 + box1 = this.filelist[i].url
  988 + } else {
  989 + box1 =box1+','+ this.filelist[i].url
  990 + }
  991 + }
  992 + console.log('box1',box1)
  993 + this.build.imageData = box1
933 994 console.log('this.build', this.build)
934 995 // return
935 996 this.API.addbuild(this.build).then(res => {
... ... @@ -968,18 +1029,22 @@
968 1029 })
969 1030 return
970 1031 } else if (this.OrderType == 5) {
971   - console.log('this.filelist', this.filelist)
972   - let box1 = ''
973   - for (let i = 0; i < this.filelist.length; i++) {
974   - console.log('this.filelist[i]',this.filelist[i])
975   - if(i == 0) {
976   - box1 = this.filelist[i].url
977   - } else {
978   - box1 =box1+','+ this.filelist[i].url
  1032 +
  1033 + if(this.array4type == '批量申报') {
  1034 + console.log('this.filelist', this.filelist)
  1035 + let box1 = ''
  1036 + for (let i = 0; i < this.filelist.length; i++) {
  1037 + console.log('this.filelist[i]',this.filelist[i])
  1038 + if(i == 0) {
  1039 + box1 = this.filelist[i].url
  1040 + } else {
  1041 + box1 =box1+','+ this.filelist[i].url
  1042 + }
979 1043 }
  1044 + console.log('box1',box1)
  1045 + this.doorplate.doorNumberFile = box1
980 1046 }
981   - console.log('box1',box1)
982   - this.doorplate.doorNumberFile = box1
  1047 +
983 1048 // return
984 1049 this.API.adddoorplate(this.doorplate).then(res => {
985 1050 console.log(res);
... ... @@ -1033,6 +1098,19 @@
1033 1098 </script>
1034 1099  
1035 1100 <style scoped lang="scss">
  1101 + .uni-input1 {
  1102 + color:#3d3d3d;
  1103 + // font-weight: bold;
  1104 +
  1105 + }
  1106 + .uni-input2 {
  1107 + color: #909090;
  1108 +
  1109 + }
  1110 + input {
  1111 + color: #3d3d3d;
  1112 + font-size: 26rpx;
  1113 + }
1036 1114 .listBox {
1037 1115 position: relative;
1038 1116 z-index: 1;
... ... @@ -1177,13 +1255,13 @@
1177 1255 width: 100%;
1178 1256  
1179 1257 .serve-title {
1180   - font-size: 25rpx;
  1258 + font-size: 26rpx;
1181 1259 color: #909090;
1182 1260 }
1183 1261  
1184 1262 .serve-right {
1185   - font-size: 25rpx;
1186   - font-weight: bold;
  1263 + font-size: 26rpx;
  1264 + // font-weight: bold;
1187 1265 display: flex;
1188 1266 align-items: center;
1189 1267 justify-content: flex-end;
... ...
pages/declaration/declaration1.vue
... ... @@ -23,7 +23,7 @@
23 23 placeholder-style="color:#3d3d3d;font-weight: bold;" />
24 24 </view> -->
25 25 <view class="serve-right">
26   - <view class="uni-input">{{from.pileId?from.pileId:'-'}}
  26 + <view :class="from.pileId?'uni-input1':'uni-input2'">{{from.pileId?from.pileId:'-'}}
27 27 </view>
28 28 </view>
29 29 </view>
... ... @@ -35,7 +35,7 @@
35 35 <view class="serve-title">巡检状态</view>
36 36 <view class="serve-right">
37 37 <picker @change="e=> bindPickerChange1(e,3)" :value="index" :range="array1">
38   - <view class="uni-input">{{from.patrolStatus?from.patrolStatus:'请选择'}}
  38 + <view :class="from.patrolStatus?'uni-input1':'uni-input2'">{{from.patrolStatus?from.patrolStatus:'请选择'}}
39 39 </view>
40 40 </picker>
41 41 <image src="../../static/down3.png"></image>
... ... @@ -52,7 +52,7 @@
52 52 <view>
53 53 <input id="patrolContent" @input="oninput" v-module="from.patrolContent"
54 54 placeholder="请输入" style="text-align: right;"
55   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  55 + placeholder-style="color: #909090;font-size: 26rpx;" />
56 56 </view>
57 57 </view>
58 58 </view>
... ... @@ -257,6 +257,19 @@
257 257 </script>
258 258  
259 259 <style scoped lang="scss">
  260 + .uni-input1 {
  261 + color:#3d3d3d;
  262 + // font-weight: bold;
  263 +
  264 + }
  265 + .uni-input2 {
  266 + color: #909090;
  267 +
  268 + }
  269 + input {
  270 + color: #3d3d3d;
  271 + font-size: 26rpx;
  272 + }
260 273 .listBox {
261 274 position: relative;
262 275 z-index: 1;
... ... @@ -401,13 +414,13 @@
401 414 width: 100%;
402 415  
403 416 .serve-title {
404   - font-size: 25rpx;
  417 + font-size: 26rpx;
405 418 color: #909090;
406 419 }
407 420  
408 421 .serve-right {
409   - font-size: 25rpx;
410   - font-weight: bold;
  422 + font-size: 26rpx;
  423 + // font-weight: bold;
411 424 display: flex;
412 425 align-items: center;
413 426 justify-content: flex-end;
... ...
pages/declaration/declarationList.vue
1 1 <template>
2 2 <view>
3 3 <view v-if="list.length>0">
4   - <view class="top-box" v-for="(item,index) in list" :key="index" @click="gopath('/pages/declaration/declarationListdetail?type= '+type+'&cent='+JSON.stringify(item))">
  4 + <view class="top-box" v-for="(item,index) in list" :key="index" @click="gopath(type == '7'?'/pages/declaration/newDeclarationdetail?cent='+JSON.stringify(item):'/pages/declaration/declarationListdetail?type= '+type+'&cent='+JSON.stringify(item))">
5 5 <view>{{item.name}}<span style="margin-left: 20rpx;" :style="item.status=='已通过'?'color: #00D970;':item.status=='未通过'?'color: #FC4444;':'color: #547DFF;'">{{item.status?item.status:'待审核'}}</span></view>
6 6 <view class="top-box-img">
7 7 <image src="../../static/right2.png" mode="widthFix"></image>
... ... @@ -82,6 +82,14 @@
82 82 console.log(res);
83 83 this.list = res.rows
84 84 })
  85 + }else if(this.type == '7') {
  86 + this.API.gettoponym(this.from).then(res=>{
  87 + console.log(res);
  88 + for (let i = 0; i < res.rows.length; i++) {
  89 + res.rows[i].name = res.rows[i].standardName
  90 + }
  91 + this.list = res.rows
  92 + })
85 93 }
86 94  
87 95 },
... ...
pages/declaration/declarationListdetail.vue
... ... @@ -271,8 +271,23 @@
271 271 <view class="info-box-small">描述</view>
272 272 </view>
273 273 </view>
274   -
  274 + <view class="info-box-list">
  275 + <view class="info-box-width" style="width: 100%;">
  276 + <view>资料附件</view>
  277 + <view style="margin-top: 20rpx;">
  278 + <view v-for="(item,index) in info.imageData"
  279 + :key="index"
  280 + style="background-color: #F9FAFF;border: 1px solid #EAEDF5;border-radius: 10rpx;display: flex;justify-content: space-between;padding: 15rpx;margin-bottom: 15rpx;font-size: 25rpx;">
  281 + <view
  282 + style="width:80%;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;">
  283 + 资料附件{{index+1}}</view>
  284 + </view>
  285 +
  286 + </view>
  287 + </view>
  288 + </view>
275 289 </view>
  290 +
276 291 </view>
277 292 </view>
278 293 <view class="content" v-else-if="type == 4">
... ... @@ -348,9 +363,13 @@
348 363 {{info.historicalPlaceNames?info.historicalPlaceNames:'-'}}</view>
349 364 <view class="info-box-small">历史地名</view>
350 365 </view>
351   -
  366 + <view class="info-box-width" style="width: 100%;" v-if="info.cellType">
  367 + <view class="info-box-overflow">
  368 + {{info.cellType?info.cellType:'-'}}</view>
  369 + <view class="info-box-small">类型</view>
  370 + </view>
352 371 </view>
353   - <view class="info-box-list">
  372 + <view class="info-box-list" v-if="info.doorNumberFile">
354 373 <view class="info-box-width" style="width: 100%;">
355 374 <view>门牌文件</view>
356 375 <view style="margin-top: 20rpx;">
... ... @@ -496,7 +515,9 @@
496 515 if (this.type == 5) {
497 516 this.info.doorNumberFile = this.info.doorNumberFile.split(',')
498 517 }
499   -
  518 + if (this.type == 3) {
  519 + this.info.imageData = this.info.imageData.split(',')
  520 + }
500 521 },
501 522 methods: {
502 523 downfile(e) {
... ...
pages/declaration/list - 副本.vue 0 → 100644
  1 +<template>
  2 + <view>
  3 + <view class="bg"><image src="../../static/bg.jpg" mode="widthFix"></image></view>
  4 + <view style="display: flex;padding: 30rpx;width: 100%;box-sizing: border-box;flex-wrap: wrap;justify-content: space-between;">
  5 + <view @click="gopath('/pages/declaration/declaration?type=1')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;">
  6 + <view style="width: 50%;margin: 0 auto;">
  7 + <image style="height: 120rpx;width: 100%;" src="../../static/ly/image7.png" mode="aspectFit"></image>
  8 + </view>
  9 + <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
  10 + 居民小区申报
  11 + </view>
  12 + </view>
  13 + <view @click="gopath('/pages/declaration/declaration?type=2')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;">
  14 + <view style="width: 50%;margin: 0 auto;">
  15 + <image style="height: 120rpx;width: 100%;" src="../../static/ly/image8.png" mode="aspectFit"></image>
  16 + </view>
  17 + <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
  18 + 街路巷申报
  19 + </view>
  20 + </view>
  21 + <view @click="gopath('/pages/declaration/declaration?type=3')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
  22 + <view style="width: 50%;margin: 0 auto;">
  23 + <image style="height: 120rpx;width: 100%;" src="../../static/ly/image5.png" mode="aspectFit"></image>
  24 + </view>
  25 + <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
  26 + 建筑名称备案
  27 + </view>
  28 + </view>
  29 + <view @click="gopath('/pages/declaration/newDeclaration')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
  30 + <view style="width: 50%;margin: 0 auto;">
  31 + <image style="height: 120rpx;width: 100%;" src="../../static/ly/image6.png" mode="aspectFit"></image>
  32 + </view>
  33 + <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
  34 + 地名命名申报
  35 + </view>
  36 + </view>
  37 +
  38 + </view>
  39 + <view style="padding: 30rpx;width: 100%;box-sizing: border-box;">
  40 + <view @click="gopath('/pages/declaration/declaration?type=5')" style="width: 100%;background: rgba(255,255,255,0.63);border-radius: 30rpx;padding: 20rpx 0;">
  41 + <view style="width: 60%;margin: 0 auto;display: flex;align-items: center;">
  42 + <view style="width: 30%;margin: 0 auto;">
  43 + <image style="height: 120rpx;width: 100%;" src="../../static/ly/image11.png" mode="aspectFit"></image>
  44 + </view>
  45 + <view style="color: #3D3D3D;text-align: center;font-size: 25rpx;">
  46 + 开发商小区门牌号申报
  47 + </view>
  48 + </view>
  49 + </view>
  50 +
  51 + </view>
  52 + <view class="bottom">
  53 + <view class="bottom-two">
  54 + <view class="bottom-two-list" @click="gopath('/pages/mapstakeline/mapstakeline')">
  55 + <view class="bottom-two-list-img"><image src="../../static/map1.png"></image></view>
  56 + <view class="bottom-two-list-text">界桩界线管护</view>
  57 + </view>
  58 + <view class="bottom-two-list" @click="gopath('/pages/mapdoorplate/mapdoorplate')">
  59 + <view class="bottom-two-list-img"><image src="../../static/map2.png"></image></view>
  60 + <view class="bottom-two-list-text">路门牌上报</view>
  61 + </view>
  62 + </view>
  63 + <view class="bottom-my" style="margin-top: 20rpx;" @click="gopath('/pages/maptask/maptask')">
  64 + <view class="bottom-my-img"><image src="../../static/map3.png"></image></view>
  65 + <view class="bottom-my-text">我的任务</view>
  66 + </view>
  67 + </view>
  68 + </view>
  69 +</template>
  70 +
  71 +<script>
  72 + export default {
  73 + data() {
  74 + return {
  75 +
  76 + }
  77 + },
  78 + methods: {
  79 + gopath(e) {
  80 + uni.navigateTo({
  81 + url: e
  82 + })
  83 + },
  84 + }
  85 + }
  86 +</script>
  87 +
  88 +<style scoped lang="scss">
  89 +.bg {
  90 + width: 100%;
  91 + height: 100vh;
  92 + position: fixed;
  93 + z-index: -1;
  94 + image {
  95 + width: 100%;
  96 + height: 100vh;
  97 + }
  98 +}
  99 +.bottom {
  100 + padding: 20rpx 20rpx;
  101 + margin: 20rpx 30rpx;
  102 + width: 94%;
  103 + position: fixed;
  104 + bottom: 30rpx;
  105 + background: rgba(255,255,255,0.63);
  106 + border-radius: 30rpx;
  107 + .bottom-two {
  108 + display: flex;
  109 + justify-content: space-between;
  110 +
  111 + .bottom-two-list {
  112 + position: relative;
  113 + .bottom-two-list-img {
  114 + image {
  115 + width: 320rpx;
  116 + height: 69rpx;
  117 + box-shadow: 5rpx 10rpx 20rpx 0 #b7c8ff;
  118 + border-radius: 100rpx;
  119 + }
  120 + }
  121 + .bottom-two-list-text {
  122 + position: absolute;
  123 + top: 33%;
  124 + left: 25%;
  125 + transform: translate(-33%, -25%);
  126 + color: #fff;
  127 + font-size: 28rpx;
  128 + }
  129 + }
  130 + }
  131 + .bottom-my {
  132 + position: relative;
  133 + .bottom-my-img {
  134 + image {
  135 + width: 710rpx;
  136 + height: 69rpx;
  137 + box-shadow: 5rpx 10rpx 20rpx 0 #b5f4d5;
  138 + border-radius: 100rpx;
  139 + }
  140 + }
  141 + .bottom-my-text {
  142 + position: absolute;
  143 + top: 25%;
  144 + left: 8%;
  145 + transform: translate(-25%, -8%);
  146 + color: #fff;
  147 + font-size: 28rpx;
  148 + }
  149 + }
  150 +}
  151 +</style>
... ...
pages/declaration/list.vue
... ... @@ -2,20 +2,21 @@
2 2 <view>
3 3 <view class="bg"><image src="../../static/bg.jpg" mode="widthFix"></image></view>
4 4 <view style="display: flex;padding: 30rpx;width: 100%;box-sizing: border-box;flex-wrap: wrap;justify-content: space-between;">
5   - <view @click="gopath('/pages/declaration/declaration?type=1')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;">
  5 + <view @click="gopath('/pages/declaration/declaration?type=5')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;">
6 6 <view style="width: 50%;margin: 0 auto;">
7   - <image style="height: 120rpx;width: 100%;" src="../../static/ly/image7.png" mode="aspectFit"></image>
  7 + <image style="height: 120rpx;width: 100%;" src="../../static/ly/image11.png" mode="aspectFit"></image>
8 8 </view>
9 9 <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
10   - 居民小区申报
  10 + <!-- 地名标志牌需求申报 -->
  11 + 门楼牌申报
11 12 </view>
12 13 </view>
13   - <view @click="gopath('/pages/declaration/declaration?type=2')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;">
  14 + <view @click="gopath('/pages/mapdoorplate/mapdoorplate')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;">
14 15 <view style="width: 50%;margin: 0 auto;">
15 16 <image style="height: 120rpx;width: 100%;" src="../../static/ly/image8.png" mode="aspectFit"></image>
16 17 </view>
17 18 <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
18   - 街路巷申报
  19 + 地名标志牌申报
19 20 </view>
20 21 </view>
21 22 <view @click="gopath('/pages/declaration/declaration?type=3')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
... ... @@ -23,48 +24,73 @@
23 24 <image style="height: 120rpx;width: 100%;" src="../../static/ly/image5.png" mode="aspectFit"></image>
24 25 </view>
25 26 <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
26   - 高层建筑申报
  27 + 建筑物备案
27 28 </view>
28 29 </view>
29   - <view @click="gopath('/pages/declaration/declaration?type=4')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
  30 + <view @click="gopath('/pages/declaration/newDeclaration')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
30 31 <view style="width: 50%;margin: 0 auto;">
31 32 <image style="height: 120rpx;width: 100%;" src="../../static/ly/image6.png" mode="aspectFit"></image>
32 33 </view>
33 34 <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
34   - 地名申报
  35 + 地名命名申报
35 36 </view>
  37 + </view>
  38 +
  39 + <view @click="gopath('/pages/mapstakeline/mapstakeline')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
  40 + <view style="width: 50%;margin: 0 auto;">
  41 + <image style="height: 120rpx;width: 100%;" src="/static/new/3.png" mode="aspectFit"></image>
  42 + </view>
  43 + <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
  44 + 界桩界线管护
  45 + </view>
  46 + </view>
  47 + <view @click="gopath('/pages/map1/map')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
  48 + <view style="width: 50%;margin: 0 auto;">
  49 + <image style="height: 120rpx;width: 100%;" src="/static/new/image 2.png" mode="aspectFit"></image>
  50 + </view>
  51 + <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
  52 + 地名查询服务
  53 + </view>
  54 + </view>
  55 + <view @click="gopath('/pages/maptask/maptask')" style="width: 49%;padding: 50rpx 30rpx;background: rgba(255,255,255,0.63);border-radius: 30rpx;margin-top:20rpx;">
  56 + <view style="width: 50%;margin: 0 auto;">
  57 + <image style="height: 120rpx;width: 100%;" src="/static/new/image 1.png" mode="aspectFit"></image>
  58 + </view>
  59 + <view style="width: 100%;color: #3D3D3D;text-align: center;font-size: 25rpx;margin-top: 10rpx;">
  60 + 我的任务
  61 + </view>
36 62 </view>
37 63  
38 64 </view>
39   - <view style="padding: 30rpx;width: 100%;box-sizing: border-box;">
  65 +<!-- <view style="padding: 30rpx;width: 100%;box-sizing: border-box;">
40 66 <view @click="gopath('/pages/declaration/declaration?type=5')" style="width: 100%;background: rgba(255,255,255,0.63);border-radius: 30rpx;padding: 20rpx 0;">
41 67 <view style="width: 60%;margin: 0 auto;display: flex;align-items: center;">
42 68 <view style="width: 30%;margin: 0 auto;">
43 69 <image style="height: 120rpx;width: 100%;" src="../../static/ly/image11.png" mode="aspectFit"></image>
44 70 </view>
45 71 <view style="color: #3D3D3D;text-align: center;font-size: 25rpx;">
46   - 开发商小区门牌号申报
  72 + 门楼牌需求申报
47 73 </view>
48 74 </view>
49 75 </view>
50 76  
51   - </view>
52   - <view class="bottom">
  77 + </view> -->
  78 + <!-- <view class="bottom">
53 79 <view class="bottom-two">
54 80 <view class="bottom-two-list" @click="gopath('/pages/mapstakeline/mapstakeline')">
55 81 <view class="bottom-two-list-img"><image src="../../static/map1.png"></image></view>
56 82 <view class="bottom-two-list-text">界桩界线管护</view>
57 83 </view>
58   - <view class="bottom-two-list" @click="gopath('/pages/mapdoorplate/mapdoorplate')">
  84 + <view class="bottom-two-list" @click="gopath('/pages/map1/map')">
59 85 <view class="bottom-two-list-img"><image src="../../static/map2.png"></image></view>
60   - <view class="bottom-two-list-text">路门牌上报</view>
  86 + <view class="bottom-two-list-text">地名查询服务</view>
61 87 </view>
62 88 </view>
63 89 <view class="bottom-my" style="margin-top: 20rpx;" @click="gopath('/pages/maptask/maptask')">
64 90 <view class="bottom-my-img"><image src="../../static/map3.png"></image></view>
65 91 <view class="bottom-my-text">我的任务</view>
66 92 </view>
67   - </view>
  93 + </view> -->
68 94 </view>
69 95 </template>
70 96  
... ...
pages/declaration/newDeclaration.vue 0 → 100644
  1 +<template>
  2 + <view class="page">
  3 + <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
  4 + <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
  5 + <view class="content">
  6 + <view class="top-box" @click="gopath('/pages/declaration/declarationList?type='+7)">
  7 + <view>上报历史</view>
  8 + <view class="top-box-img">
  9 + <image src="../../static/right2.png"></image>
  10 + </view>
  11 + </view>
  12 + <view class="titleall-left">
  13 + <view class="titleall-left-line"></view>我要上报
  14 + </view>
  15 + <view class="message-list">
  16 + <view v-for="(item,index) in textlist" :key="index">
  17 + <view class="info-box" v-if="item.type == '7'">
  18 + <view class="info-box-list">
  19 + <view class="serve">
  20 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  21 + <view class="serve-right">
  22 + <picker range-key="name" mode="multiSelector" @columnchange="columnChange"
  23 + @change="e=> bindPickerChange2(e,index)" :range="array1" :value="idx">
  24 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  25 + </view>
  26 + </picker>
  27 + <image src="../../static/down3.png"></image>
  28 + </view>
  29 + </view>
  30 + </view>
  31 + </view>
  32 + <view class="info-box" v-else-if="item.type == '1'">
  33 + <view class="info-box-list">
  34 + <view class="serve">
  35 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  36 + <view>
  37 + <u-input placeholder="请输入" border="none" v-model="item.cent"
  38 + inputAlign="right" fontSize="13px" color="#3d3d3d" placeholderStyle="color: #909090;font-size: 26rpx;"></u-input>
  39 + </view>
  40 + </view>
  41 + </view>
  42 + </view>
  43 + <view class="info-box" v-else-if="item.type == '2'">
  44 + <view class="info-box-list">
  45 + <view class="serve">
  46 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  47 + <view class="serve-right">
  48 + <picker @change="e=> bindPickerChange1(e,index,'array3')" :range="array3">
  49 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  50 + </view>
  51 + </picker>
  52 + <image src="../../static/down3.png"></image>
  53 + </view>
  54 + </view>
  55 + </view>
  56 + </view>
  57 + <view v-else-if="item.type == '3'">
  58 + <view class="info-box" >
  59 + <view class="info-box-list">
  60 + <view class="serve">
  61 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  62 + <view class="serve-right" @tap="openaddress(index)">
  63 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}</view>
  64 + <image src="../../static/down3.png"></image>
  65 + </view>
  66 + </view>
  67 + </view>
  68 + </view>
  69 + <view class="info-box" v-if="item.latitude">
  70 + <view class="info-box-list">
  71 + <view class="serve">
  72 + <view class="serve-title">纬度<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  73 + <view class="serve-right" @tap="openaddress(index)">
  74 + <view :class="item.latitude?'uni-input1':'uni-input2'">{{item.latitude?item.latitude:'请选择'}}</view>
  75 + <image src="../../static/down3.png"></image>
  76 + </view>
  77 + </view>
  78 + </view>
  79 + </view>
  80 + <view class="info-box" v-if="item.longitude">
  81 + <view class="info-box-list">
  82 + <view class="serve">
  83 + <view class="serve-title">经度<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  84 + <view class="serve-right" @tap="openaddress(index)">
  85 + <view :class="item.longitude?'uni-input1':'uni-input2'">{{item.longitude?item.longitude:'请选择'}}</view>
  86 + <image src="../../static/down3.png"></image>
  87 + </view>
  88 + </view>
  89 + </view>
  90 + </view>
  91 + </view>
  92 +
  93 + <view class="info-box" v-else-if="item.type == '4'">
  94 + <view class="info-box-list">
  95 + <view class="serve">
  96 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  97 + <view class="serve-right" @tap="opentime(index)">
  98 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  99 + </view>
  100 + <image src="../../static/down3.png"></image>
  101 + </view>
  102 + </view>
  103 + </view>
  104 + </view>
  105 + <view class="info-box" v-else-if="item.type == '5'">
  106 + <view class="info-box-list">
  107 + <view class="info-box-width" style="width: 100%;">
  108 + <view class="info-box-small">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  109 + <view style="margin-top: 20rpx;">
  110 + <textarea style="border: solid 1px #eee;border-radius: 18rpx;padding: 20rpx;font-weight: 500;font-size: 26rpx;" placeholder-style="color: #909090;font-size: 26rpx;font-weight: 100;" placeholder="请输入" :class="item.cent?'uni-input1':'uni-input2'" v-model="item.cent"></textarea>
  111 + <!-- <u-textarea count :value="item.cent" placeholder="请输入" placeholderStyle="color: #909090;font-size: 26rpx;font-weight: 500;"></u-textarea> -->
  112 + </view>
  113 + </view>
  114 + </view>
  115 + </view>
  116 + <view class="info-box" v-else-if="item.type == '6'">
  117 + <view class="info-box-list">
  118 + <view class="serve">
  119 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  120 + <view class="serve-right">
  121 + <picker @change="e=> bindPickerChange1(e,index,'array2')" :range="array2">
  122 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  123 + </view>
  124 + </picker>
  125 + <image src="../../static/down3.png"></image>
  126 + </view>
  127 + </view>
  128 + </view>
  129 + </view>
  130 + <view class="info-box" v-else-if="item.type == '8'">
  131 + <view class="info-box-list">
  132 + <view class="serve">
  133 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  134 + <view class="serve-right">
  135 + <picker @change="e=> bindPickerChange1(e,index,'array4')" :range="array4">
  136 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  137 + </view>
  138 + </picker>
  139 + <image src="../../static/down3.png"></image>
  140 + </view>
  141 + </view>
  142 + </view>
  143 + </view>
  144 + </view>
  145 + <view v-for="(item,index) in newtextlist" :key="index">
  146 + <view class="info-box" v-if="item.type == '7'">
  147 + <view class="info-box-list">
  148 + <view class="serve">
  149 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  150 + <view class="serve-right">
  151 + <picker range-key="name" mode="multiSelector" @columnchange="columnChange"
  152 + @change="e=> bindPickerChange2(e,index)" :range="array1" :value="idx">
  153 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  154 + </view>
  155 + </picker>
  156 + <image src="../../static/down3.png"></image>
  157 + </view>
  158 + </view>
  159 + </view>
  160 + </view>
  161 + <view class="info-box" v-else-if="item.type == '1'">
  162 + <view class="info-box-list">
  163 + <view class="serve">
  164 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  165 + <view>
  166 + <u-input placeholder="请输入" border="none" v-model="item.cent"
  167 + inputAlign="right" fontSize="13px" color="#3d3d3d" placeholderStyle="color: #909090;font-size: 26rpx;"></u-input>
  168 + </view>
  169 + </view>
  170 + </view>
  171 + </view>
  172 + <view class="info-box" v-else-if="item.type == '2'">
  173 + <view class="info-box-list">
  174 + <view class="serve">
  175 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  176 + <view class="serve-right">
  177 + <picker @change="e=> bindPickerChange1(e,index,'array3')" :range="array3">
  178 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  179 + </view>
  180 + </picker>
  181 + <image src="../../static/down3.png"></image>
  182 + </view>
  183 + </view>
  184 + </view>
  185 + </view>
  186 + <view v-else-if="item.type == '3'">
  187 + <view class="info-box" >
  188 + <view class="info-box-list">
  189 + <view class="serve">
  190 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  191 + <view class="serve-right" @tap="openaddress(index)">
  192 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}</view>
  193 + <image src="../../static/down3.png"></image>
  194 + </view>
  195 + </view>
  196 + </view>
  197 + </view>
  198 + <view class="info-box" v-if="item.latitude">
  199 + <view class="info-box-list">
  200 + <view class="serve">
  201 + <view class="serve-title">纬度<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  202 + <view class="serve-right" @tap="openaddress(index)">
  203 + <view :class="item.latitude?'uni-input1':'uni-input2'">{{item.latitude?item.latitude:'请选择'}}</view>
  204 + <image src="../../static/down3.png"></image>
  205 + </view>
  206 + </view>
  207 + </view>
  208 + </view>
  209 + <view class="info-box" v-if="item.longitude">
  210 + <view class="info-box-list">
  211 + <view class="serve">
  212 + <view class="serve-title">经度<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  213 + <view class="serve-right" @tap="openaddress(index)">
  214 + <view :class="item.longitude?'uni-input1':'uni-input2'">{{item.longitude?item.longitude:'请选择'}}</view>
  215 + <image src="../../static/down3.png"></image>
  216 + </view>
  217 + </view>
  218 + </view>
  219 + </view>
  220 + </view>
  221 +
  222 + <view class="info-box" v-else-if="item.type == '4'">
  223 + <view class="info-box-list">
  224 + <view class="serve">
  225 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  226 + <view class="serve-right" @tap="opentime(index)">
  227 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  228 + </view>
  229 + <image src="../../static/down3.png"></image>
  230 + </view>
  231 + </view>
  232 + </view>
  233 + </view>
  234 + <view class="info-box" v-else-if="item.type == '5'">
  235 + <view class="info-box-list">
  236 + <view class="info-box-width" style="width: 100%;">
  237 + <view class="info-box-small">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  238 + <view style="margin-top: 20rpx;">
  239 + <textarea style="border: solid 1px #eee;border-radius: 18rpx;padding: 20rpx;font-weight: 500;font-size: 26rpx;" placeholder-style="color: #909090;font-size: 26rpx;font-weight: 100;" placeholder="请输入" :class="item.cent?'uni-input1':'uni-input2'" v-model="item.cent"></textarea>
  240 + <!-- <u-textarea count :value="item.cent" placeholder="请输入" placeholderStyle="color: #909090;font-size: 26rpx;font-weight: 500;"></u-textarea> -->
  241 + </view>
  242 + </view>
  243 + </view>
  244 + </view>
  245 + <view class="info-box" v-else-if="item.type == '6'">
  246 + <view class="info-box-list">
  247 + <view class="serve">
  248 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  249 + <view class="serve-right">
  250 + <picker @change="e=> bindPickerChange1(e,index,'array2')" :range="array2">
  251 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  252 + </view>
  253 + </picker>
  254 + <image src="../../static/down3.png"></image>
  255 + </view>
  256 + </view>
  257 + </view>
  258 + </view>
  259 + <view class="info-box" v-else-if="item.type == '8'">
  260 + <view class="info-box-list">
  261 + <view class="serve">
  262 + <view class="serve-title">{{item.name}}<span v-if="item.isbx" style="color: red;margin-left: 6rpx;">*</span></view>
  263 + <view class="serve-right">
  264 + <picker @change="e=> bindPickerChange3(e,index,'array5')" :range="array5">
  265 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  266 + </view>
  267 + </picker>
  268 + <image src="../../static/down3.png"></image>
  269 + </view>
  270 + </view>
  271 + </view>
  272 + </view>
  273 + </view>
  274 + </view>
  275 +<!-- <view class="message-list">
  276 + <view class="info-box">
  277 + <view class="info-box-list">
  278 + <view class="info-box-width" style="width: 100%;">
  279 + <view class="info-box-small">多媒体信息</view>
  280 + <view style="margin-top: 20rpx;width: 100%;">
  281 + <sczl :imagelist="mtbox.imgcent" :wjlist="mtbox.filecent" @onchangfileJsonimg="e=>{onchangfileJsonimg(e)}" @onchangfileJsonfile="e=>{onchangfileJsonfile(e)}"></sczl>
  282 +
  283 +
  284 + </view>
  285 + </view>
  286 + </view>
  287 + </view>
  288 + </view> -->
  289 + <view class="page-footer">
  290 + <view class="footer-buy">
  291 + <view class="cart-add" @click="mapdoorplatesuccess">
  292 + <image src="../../static/btn5.png"></image>
  293 + <text>立即上报</text>
  294 + </view>
  295 + </view>
  296 + </view>
  297 +
  298 + </view>
  299 + </view>
  300 + <uni-calendar ref="calendar" :insert="false" @confirm="confirm" />
  301 + </view>
  302 +</template>
  303 +
  304 +<script>
  305 + import service from '@/service/service.js'
  306 + import BASE_URL from "@/common/config.js"
  307 + import sczl from "@/components/sczl.vue"
  308 + export default {
  309 + data() {
  310 + return {
  311 + newtextlist:[],
  312 + mtbox:{
  313 + imgcent:[],
  314 + filecent:[],
  315 + },
  316 + idx: [0,0,0,0],
  317 + array1: [],
  318 + array2: ['可公开', '不宜公开','大洋怪重', '不属于地名'],
  319 + array4: ['现今地名', '历史地名','本地名删除'],
  320 + array5: ['冷泉', '热泉'],
  321 + time: null,
  322 + array3: getApp().globalData.list1,
  323 + BASE_URL,
  324 + nvConfig: {
  325 + title: "地名命名申报",
  326 + bgColor: "#ffffff",
  327 + color: "#000000",
  328 + fixedAssist: {
  329 + hide: true,
  330 + },
  331 + },
  332 + lbbox:[],
  333 + textlist: [{
  334 + name: '行政区划',
  335 + type: '2',
  336 + isbx:true,
  337 + cent: '',
  338 + from:'adminArea'
  339 + },
  340 + {
  341 + name: '地名类别',
  342 + type: '7',
  343 + isbx:true,
  344 + cent: '',
  345 + from:'placeNameCategory'
  346 + },
  347 + {
  348 + name: '标准名称',
  349 + type: '1',
  350 + isbx:true,
  351 + cent: '',
  352 + from:'standardName'
  353 + },
  354 + {
  355 + name: '地名代码',
  356 + type: '1',
  357 + isbx:false,
  358 + cent: '',
  359 + from:'toponymicCode'
  360 + },
  361 + {
  362 + name: '是否可公开',
  363 + type: '6',
  364 + isbx:false,
  365 + cent: '',
  366 + from:'whetherPublic'
  367 + },
  368 + {
  369 + name: '罗马字母拼写',
  370 + type: '1',
  371 + isbx:true,
  372 + cent: '',
  373 + from:'romanLettersSpell'
  374 + },
  375 + {
  376 + name: '通名罗马字母拼写',
  377 + type: '1',
  378 + isbx:false,
  379 + cent: '',
  380 + from:'commonRomanAlphabetSpelling'
  381 + },
  382 + {
  383 + name: '少数民族语拼写',
  384 + type: '1',
  385 + isbx:false,
  386 + cent: '',
  387 + from:'minoritySpelling'
  388 + },
  389 + {
  390 + name: '地名语种',
  391 + type: '1',
  392 + isbx:false,
  393 + cent: '',
  394 + from:'language'
  395 + },
  396 + {
  397 + name: '别名',
  398 + type: '1',
  399 + isbx:false,
  400 + cent: '',
  401 + from:'alias'
  402 + },
  403 + {
  404 + name: '简称',
  405 + type: '1',
  406 + isbx:false,
  407 + cent: '',
  408 + from:'abbreviation'
  409 + },
  410 + {
  411 + name: '使用时间',
  412 + type: '8',
  413 + isbx:true,
  414 + cent: '',
  415 + from:'usageTime'
  416 + },
  417 + {
  418 + name: '曾用名',
  419 + type: '1',
  420 + isbx:false,
  421 + cent: '',
  422 + from:'formerName'
  423 + },
  424 + {
  425 + name: '设立时间',
  426 + type: '4',
  427 + isbx:true,
  428 + cent: '',
  429 + from:'establishTime'
  430 + },
  431 + {
  432 + name: '废止时间',
  433 + type: '4',
  434 + isbx:false,
  435 + cent: '',
  436 + from:'annulmentTime'
  437 + },
  438 + {
  439 + name: '地理位置',
  440 + type: '3',
  441 + isbx:true,
  442 + cent: '',
  443 + from:'mapCoordinates'
  444 + },
  445 + {
  446 + name: '地名来历',
  447 + type: '5',
  448 + isbx:true,
  449 + cent: '',
  450 + from:'originOfPlaceNames'
  451 + },
  452 + {
  453 + name: '地名含义',
  454 + type: '5',
  455 + isbx:true,
  456 + cent: '',
  457 + from:'meaningOfPlaceNames'
  458 + },
  459 + {
  460 + name: '历史沿革',
  461 + type: '5',
  462 + isbx:true,
  463 + cent: '',
  464 + from:'historicalEvolution'
  465 + },
  466 + {
  467 + name: '备注',
  468 + type: '5',
  469 + isbx:false,
  470 + cent: '',
  471 + from:'remark'
  472 + },
  473 + ]
  474 + };
  475 + },
  476 + components: {
  477 + sczl
  478 + },
  479 + computed: {
  480 + pageTop() {
  481 + return parseInt(88 * uni.getSystemInfoSync().windowWidth / 750) + uni.getSystemInfoSync().statusBarHeight
  482 + }
  483 + },
  484 + onLoad(e) {
  485 + this.gain()
  486 +
  487 +
  488 + },
  489 + methods: {
  490 + gain() {
  491 + this.API.gettreeselect().then(res => {
  492 + console.log(res.data[0].children);
  493 +
  494 + let box1 = []
  495 + let box2 = []
  496 + let box3 = []
  497 + let box4 = []
  498 + for (let i = 0; i < res.data[0].children.length; i++) {
  499 + let list1 = res.data[0].children[i]
  500 +
  501 + let cent1 = {
  502 + id: list1.id,
  503 + name: list1.label
  504 + }
  505 + box1.push(cent1)
  506 + if(list1.children) {
  507 + for (let n = 0; n < list1.children.length; n++) {
  508 + let list2 = list1.children[n]
  509 + let cent2 = {
  510 + id: list2.id,
  511 + name: list2.label,
  512 + pid: list1.id,
  513 + }
  514 + box2.push(cent2)
  515 + if(list2.children) {
  516 + for (let x = 0; x < list2.children.length; x++) {
  517 + let list3 = list2.children[x]
  518 + let cent3 = {
  519 + id: list3.id,
  520 + name: list3.label,
  521 + pid: list2.id,
  522 + }
  523 + box3.push(cent3)
  524 + if(list3.children) {
  525 + for (let y = 0; y < list3.children.length; y++) {
  526 + let list4 = list3.children[y]
  527 + let cent4 = {
  528 + id: list4.id,
  529 + name: list4.label,
  530 + pid: list3.id,
  531 + }
  532 + box4.push(cent4)
  533 + }
  534 + }
  535 + }
  536 + }
  537 + }
  538 + } else {
  539 +
  540 + }
  541 + }
  542 + this.lbbox = [box1,box2,box3,box4]
  543 + console.log(this.lbbox);
  544 + this.updatelist(0,0)
  545 + })
  546 + // this.API.getregional().then(res => {
  547 + // console.log(res);
  548 + // })
  549 + },
  550 + gopath(e) {
  551 + uni.navigateTo({
  552 + url: e
  553 + })
  554 + },
  555 + onchangfileJsonimg(e,){
  556 + console.log(e);
  557 + this.mtbox.imgcent = e
  558 + },
  559 + onchangfileJsonfile(e) {
  560 + console.log(e);
  561 + this.mtbox.filecent = e
  562 + },
  563 + confirm(e) {
  564 + this.textlist[this.time].cent = e.fulldate
  565 + },
  566 + opentime(e) {
  567 + this.$refs.calendar.open();
  568 + this.time = e
  569 + },
  570 + mapdoorplatesuccess() {
  571 + console.log(this.textlist,this.textlist.length)
  572 + let from = {}
  573 + // for (let i = 0; i < this.textlist.length; i++) {
  574 + // if(this.textlist[i].isbx) {
  575 + // if(this.textlist[i].cent) {
  576 +
  577 + // } else {
  578 + // uni.showToast({
  579 + // icon:'none',
  580 + // title:'请填写' + this.textlist[i].name
  581 + // })
  582 + // return
  583 + // }
  584 + // } else {
  585 +
  586 + // }
  587 + // }
  588 + // for (let i = 0; i < this.newtextlist.length; i++) {
  589 + // if(this.newtextlist[i].isbx) {
  590 + // if(this.newtextlist[i].cent) {
  591 +
  592 + // } else {
  593 + // uni.showToast({
  594 + // icon:'none',
  595 + // title:'请填写' + this.newtextlist[i].name
  596 + // })
  597 + // return
  598 + // }
  599 + // } else {
  600 +
  601 + // }
  602 + // }
  603 + for (let i = 0; i < this.textlist.length; i++) {
  604 +
  605 + if(this.textlist[i].from == 'mapCoordinates') {
  606 + from[this.textlist[i].from] = this.textlist[i].cent
  607 + from.eastLongitude = this.textlist[i].longitude
  608 + from.northLatitude = this.textlist[i].latitude
  609 + } else {
  610 + from[this.textlist[i].from] = this.textlist[i].cent
  611 + }
  612 + }
  613 + console.log(from,from.length)
  614 + from.createdUser=uni.getStorageSync('USERS_KEY').userId
  615 + from.status='待审核'
  616 + from.remarksField5 = JSON.stringify(this.newtextlist)
  617 + this.API.toponym(from).then(res => {
  618 + console.log(res);
  619 + if (res.code == 200) {
  620 + uni.showToast({
  621 + icon: 'success',
  622 + title: "添加成功",
  623 + })
  624 + setTimeout(() => {
  625 + uni.redirectTo({
  626 + url: '/pages/mapdoorplatesuccess/mapdoorplatesuccess',
  627 + })
  628 + }, 800)
  629 +
  630 + }
  631 + })
  632 + },
  633 + bindPickerChange2: function(e, e1) {
  634 + console.log('picker发送选择改变,携带值为', e, e1,this.array1)
  635 + let box1 = this.array1[0]
  636 + let box2 = this.array1[1]
  637 + let box3 = this.array1[2]
  638 + let box4 = this.array1[3]
  639 + this.textlist[e1].cent = box4[e.detail.value[3]]?box4[e.detail.value[3]].name:box3[e.detail.value[2]]?box3[e.detail.value[2]].name:box2[e.detail.value[1]]?box2[e.detail.value[1]].name:box1[e.detail.value[0]].name
  640 + if(this.textlist[e1].cent == '泉') {
  641 + this.array5 = ['冷泉', '热泉']
  642 + this.newtextlist = [
  643 + {
  644 + name: '类型',
  645 + type: '8',
  646 + isbx:true,
  647 + cent: '',
  648 + from:'name0'
  649 + },
  650 + {
  651 + name: '最高水位(米)',
  652 + type: '1',
  653 + isbx:false,
  654 + cent: '',
  655 + from:'name1'
  656 + },
  657 + {
  658 + name: '最低水位(米)',
  659 + type: '1',
  660 + isbx:false,
  661 + cent: '',
  662 + from:'name2'
  663 + },
  664 + {
  665 + name: '最大输出量(立方米)',
  666 + type: '1',
  667 + isbx:false,
  668 + cent: '',
  669 + from:'name3'
  670 + },
  671 + {
  672 + name: '日出水量(立方米)',
  673 + type: '1',
  674 + isbx:false,
  675 + cent: '',
  676 + from:'name4'
  677 + },
  678 + {
  679 + name: '涌水高度(米)',
  680 + type: '1',
  681 + isbx:false,
  682 + cent: '',
  683 + from:'name5'
  684 + },
  685 + {
  686 + name: '年均水温(摄氏度)',
  687 + type: '1',
  688 + isbx:false,
  689 + cent: '',
  690 + from:'name6'
  691 + },
  692 + ]
  693 + } else if(this.textlist[e1].cent == '瀑布') {
  694 + this.newtextlist = [
  695 + {
  696 + name: '最大落差(米)',
  697 + type: '1',
  698 + isbx:true,
  699 + cent: '',
  700 + from:'name0'
  701 + },
  702 + {
  703 + name: '最大宽度(米)',
  704 + type: '1',
  705 + isbx:true,
  706 + cent: '',
  707 + from:'name0'
  708 + },
  709 + {
  710 + name: '流量(立方米/秒)',
  711 + type: '1',
  712 + isbx:false,
  713 + cent: '',
  714 + from:'name0'
  715 + },
  716 + {
  717 + name: '上游水源',
  718 + type: '1',
  719 + isbx:false,
  720 + cent: '',
  721 + from:'name0'
  722 + },
  723 + ]
  724 + }else if(this.textlist[e1].cent == '') {
  725 +
  726 + }else if(this.textlist[e1].cent == '') {
  727 +
  728 + }
  729 +
  730 + this.newtextlist.push(
  731 + {
  732 + name: '所在(跨) 行政区',
  733 + type: '1',
  734 + isbx:true,
  735 + cent: '',
  736 + from:'name'+this.newtextlist.length
  737 + },
  738 + )
  739 + this.newtextlist.push(
  740 + {
  741 + name: '其他信息',
  742 + type: '5',
  743 + isbx:false,
  744 + cent: '',
  745 + from:'name'+this.newtextlist.length
  746 + },
  747 + )
  748 + console.log(this.newtextlist)
  749 + },
  750 + bindPickerChange1: function(e, e1,e2) {
  751 + console.log('picker发送选择改变,携带值为', e, e1,e2)
  752 + this.textlist[e1].cent = this[e2][e.detail.value]
  753 + },
  754 + bindPickerChange3: function(e, e1,e2) {
  755 + console.log('picker发送选择改变,携带值为', e, e1,e2)
  756 + this.newtextlist[e1].cent = this[e2][e.detail.value]
  757 + },
  758 + openaddress(e) {
  759 + let that = this
  760 + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
  761 + wx.chooseLocation({
  762 + success: function(res) {
  763 + that.textlist[e].cent = res.address
  764 + that.textlist[e].latitude = res.latitude
  765 + that.textlist[e].longitude = res.longitude
  766 + console.log(res)
  767 + },
  768 + fail(err) {
  769 + console.log(err)
  770 + }
  771 + });
  772 + },
  773 + // picker的列发生变化时
  774 + columnChange(e) {
  775 + // column列索引(0-第一列) value是列中数组索引
  776 + this.updatelist(parseInt(e.target.column), parseInt(e.target.value))
  777 + },
  778 + updatelist(col, idx) {
  779 + console.log(col,idx)
  780 + let data = this.lbbox
  781 + let list = this.array1 // 视图渲染
  782 + list[0] = data[0] // picker的第一列数据
  783 + // 当第一列变化时
  784 + if (col == 0) {
  785 + // 更新第二列的数据
  786 + list[1] = list[0][idx]?data[1].filter(ele => ele.pid == list[0][idx].id):[]
  787 + // 更新第三列的数据
  788 + list[2] = list[1][0]?data[2].filter(ele => ele.pid == list[1][0].id):[]
  789 + list[3] = list[2][0]?data[3].filter(ele => ele.pid == list[2][0].id):[]
  790 + this.idx = [idx, 0, 0,0]
  791 + }
  792 + // 当第二列变化时
  793 + if (col == 1) {
  794 + // 只用更新第三列数据
  795 + list[2] = list[1][idx]?data[2].filter(ele => ele.pid == list[1][idx].id):[]
  796 + list[3] = list[2][0]?data[3].filter(ele => ele.pid == list[2][0].id):[]
  797 + this.idx = [this.idx[0], idx, 0,0]
  798 + }
  799 + // 当第三列变化时
  800 + if (col == 2) {
  801 + // 只用更新第三列数据
  802 + list[3] = list[2][idx]?data[3].filter(ele => ele.pid == list[2][idx].id):[]
  803 + this.idx = [this.idx[0],this.idx[1],idx,0]
  804 + }
  805 + // 更新list,更新picker视图
  806 + this.array1 = list
  807 + }
  808 + }
  809 + }
  810 +</script>
  811 +
  812 +<style scoped lang="scss">
  813 + .uni-input1 {
  814 + color:#3d3d3d;
  815 + // font-weight: bold;
  816 +
  817 + }
  818 + .uni-input2 {
  819 + color: #909090;
  820 +
  821 + }
  822 + .listBox {
  823 + position: relative;
  824 + z-index: 1;
  825 + }
  826 +
  827 + .content {
  828 + width: 100%;
  829 + padding-bottom: 120rpx;
  830 + }
  831 +
  832 + .titleall-left {
  833 + font-size: 28rpx;
  834 + font-weight: bold;
  835 + display: flex;
  836 + align-items: center;
  837 + margin: 30rpx;
  838 +
  839 + .titleall-left-line {
  840 + width: 10rpx;
  841 + height: 25rpx;
  842 + border-radius: 18rpx;
  843 + background-color: #547DFF;
  844 + margin-right: 20rpx;
  845 + box-shadow: inset 0rpx 4rpx 9rpx 0rpx rgba(255, 255, 255, 0.34), 5rpx 7rpx 9rpx 0rpx rgba(80, 161, 255, 0.33);
  846 + }
  847 + }
  848 +
  849 + .top-box {
  850 + display: flex;
  851 + justify-content: space-between;
  852 + margin: 30rpx;
  853 + font-size: 28rpx;
  854 + font-weight: bold;
  855 + background-color: #fff;
  856 + border-radius: 21rpx;
  857 + padding: 30rpx;
  858 +
  859 + .top-box-img {
  860 + image {
  861 + width: 40rpx;
  862 + height: 40rpx;
  863 + }
  864 + }
  865 + }
  866 +
  867 + .titleall-box {
  868 + display: flex;
  869 + justify-content: space-between;
  870 + padding: 40rpx 20rpx 20rpx 0;
  871 +
  872 + .titleall-left {
  873 + font-size: 32rpx;
  874 + font-weight: bold;
  875 + display: flex;
  876 + align-items: center;
  877 +
  878 + .titleall-left-line {
  879 + width: 14rpx;
  880 + height: 36rpx;
  881 + border-radius: 0 10rpx 10rpx 0;
  882 + background-color: #667FFF;
  883 + box-shadow: 0 0 10rpx 5rpx #d1d9ff;
  884 + margin-right: 20rpx;
  885 + }
  886 +
  887 + text {
  888 + font-size: 28rpx;
  889 + color: #999999;
  890 + }
  891 + }
  892 + }
  893 +
  894 + .message-list {
  895 + // background-color: #FFFFFF;
  896 + // border-radius: 20rpx;
  897 + font-size: 25rpx;
  898 + margin: 25rpx;
  899 +
  900 + .info-box {
  901 + padding: 0 40rpx;
  902 + background: #FFFFFF;
  903 + border-radius: 21rpx;
  904 + margin-bottom: 15rpx;
  905 +
  906 + .info-box-list {
  907 + display: flex;
  908 + align-items: center;
  909 + border-bottom: 2rpx solid #ececec;
  910 + padding-top: 20rpx;
  911 + padding-bottom: 20rpx;
  912 +
  913 + .width100 {
  914 + width: 100% !important;
  915 + }
  916 +
  917 + .info-box-width {
  918 + width: 50%;
  919 + font-size: 30rpx;
  920 + font-weight: bold;
  921 +
  922 + .info-box-small {
  923 + font-size: 26rpx;
  924 + color: #a8a8a8;
  925 + font-weight: 500;
  926 + margin-top: 10rpx;
  927 + }
  928 +
  929 + .info-box-list-img {
  930 + margin-top: 30rpx;
  931 +
  932 + image {
  933 + width: 180rpx;
  934 + height: 180rpx;
  935 + border-radius: 20rpx;
  936 + }
  937 + }
  938 +
  939 + .input-text {
  940 + font-size: 30rpx;
  941 + }
  942 +
  943 + .inputtext {
  944 + color: #3d3d3d;
  945 + }
  946 +
  947 + .textarea {
  948 + background-color: #F7F7F7;
  949 + border-radius: 20rpx;
  950 + width: 100%;
  951 + margin-top: 20rpx;
  952 + padding: 20rpx;
  953 + font-size: 28rpx;
  954 + font-weight: normal;
  955 + min-height: 80rpx;
  956 + }
  957 + }
  958 +
  959 + .serve {
  960 + display: flex;
  961 + justify-content: space-between;
  962 + align-items: center;
  963 + width: 100%;
  964 +
  965 + .serve-title {
  966 + font-size: 26rpx;
  967 + color: #909090;
  968 + }
  969 +
  970 + .serve-right {
  971 + font-size: 26rpx;
  972 + // font-weight: bold;
  973 + display: flex;
  974 + align-items: center;
  975 + justify-content: flex-end;
  976 +
  977 + text {
  978 + color: #FC4444;
  979 + }
  980 +
  981 + image {
  982 + width: 20rpx;
  983 + height: 20rpx;
  984 + margin-left: 10rpx;
  985 + }
  986 + }
  987 + }
  988 + }
  989 +
  990 + .info-box-list:last-child {
  991 + border-bottom: 0;
  992 + }
  993 + }
  994 + }
  995 +
  996 + /* 底部 */
  997 + .page-footer {
  998 + margin: 30rpx;
  999 + display: flex;
  1000 + height: 100rpx;
  1001 +
  1002 + .footer-buy {
  1003 + height: 100%;
  1004 + width: 100%;
  1005 +
  1006 + .cart-add {
  1007 + display: flex;
  1008 + align-items: center;
  1009 + justify-content: center;
  1010 + margin-top: 60rpx;
  1011 +
  1012 + image {
  1013 + position: absolute;
  1014 + z-index: 0;
  1015 + width: 95%;
  1016 + height: 83rpx;
  1017 + box-shadow: 5rpx 10rpx 20rpx 0 #b7c8ff;
  1018 + border-radius: 100rpx;
  1019 + }
  1020 +
  1021 + text {
  1022 + font-size: 30rpx;
  1023 + font-weight: bold;
  1024 + color: #fff;
  1025 + position: absolute;
  1026 + z-index: 1;
  1027 + }
  1028 + }
  1029 + }
  1030 + }
  1031 +</style>
0 1032 \ No newline at end of file
... ...
pages/declaration/newDeclarationdetail.vue 0 → 100644
  1 +<template>
  2 + <view class="page">
  3 + <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
  4 + <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
  5 + <view class="content" >
  6 + <view class="message-list">
  7 + <view class="titleall-box">
  8 + <view class="titleall-left">
  9 + <view class="titleall-left-line"></view>基本信息
  10 + </view>
  11 + </view>
  12 + <view class="newinfo-box">
  13 + <view class="info-box-list">
  14 + <view :class="item.type=='5'?'width100 info-box-width':'info-box-width'" v-for="(item,index) in textlist" :key="index">
  15 + <view class="info-box-overflow">{{item.cent?item.cent:'-'}}</view>
  16 + <view class="info-box-small">{{item.name}}</view>
  17 + </view>
  18 + </view>
  19 + </view>
  20 + </view>
  21 +
  22 + </view>
  23 + <view class="content" v-if="newtextlist.length>0">
  24 + <view class="message-list">
  25 + <view class="titleall-box">
  26 + <view class="titleall-left">
  27 + <view class="titleall-left-line"></view>基本信息
  28 + </view>
  29 + </view>
  30 + <view class="newinfo-box">
  31 + <view class="info-box-list">
  32 + <view :class="item.type=='5'?'width100 info-box-width':'info-box-width'" v-for="(item,index) in newtextlist" :key="index">
  33 + <view class="info-box-overflow">{{item.cent?item.cent:'-'}}</view>
  34 + <view class="info-box-small">{{item.name}}</view>
  35 + </view>
  36 + </view>
  37 + </view>
  38 + </view>
  39 +
  40 + </view>
  41 + <view class="content" v-if="info.remarksField1">
  42 + <view class="message-list">
  43 + <view class="titleall-box">
  44 + <view class="titleall-left">
  45 + <view class="titleall-left-line"></view>驳回原因
  46 + </view>
  47 + </view>
  48 + <view class="info-box">
  49 + <view class="info-box-list">
  50 + <view class="info-box-width" style="width: 100%;">
  51 + <view class="info-box-overflow">
  52 + {{info.remarksField1?info.remarksField1:'-'}}</view>
  53 +
  54 + </view>
  55 +
  56 + </view>
  57 + </view>
  58 + </view>
  59 + </view>
  60 + <view class="skip-btn" v-if="info.remarksField2">
  61 + <view class="buy-at" @click="downfile(info.remarksField2)">
  62 + <image src="../../static/btn7.png"></image>
  63 + <text>批复文件下载</text>
  64 + </view>
  65 + </view>
  66 + </view>
  67 + </view>
  68 +</template>
  69 +
  70 +<script>
  71 + import BASE_URL from "@/common/config.js"
  72 + export default {
  73 + data() {
  74 + return {
  75 + textlist: [{
  76 + name: '行政区划',
  77 + type: '2',
  78 + isbx:true,
  79 + cent: '',
  80 + from:'adminArea'
  81 + },
  82 + {
  83 + name: '地名类别',
  84 + type: '7',
  85 + isbx:true,
  86 + cent: '',
  87 + from:'placeNameCategory'
  88 + },
  89 + {
  90 + name: '标准名称',
  91 + type: '1',
  92 + isbx:true,
  93 + cent: '',
  94 + from:'standardName'
  95 + },
  96 + {
  97 + name: '地名代码',
  98 + type: '1',
  99 + isbx:false,
  100 + cent: '',
  101 + from:'toponymicCode'
  102 + },
  103 + {
  104 + name: '是否可公开',
  105 + type: '6',
  106 + isbx:false,
  107 + cent: '',
  108 + from:'whetherPublic'
  109 + },
  110 + {
  111 + name: '罗马字母拼写',
  112 + type: '1',
  113 + isbx:true,
  114 + cent: '',
  115 + from:'romanLettersSpell'
  116 + },
  117 + {
  118 + name: '通名罗马字母拼写',
  119 + type: '1',
  120 + isbx:false,
  121 + cent: '',
  122 + from:'commonRomanAlphabetSpelling'
  123 + },
  124 + {
  125 + name: '少数民族语拼写',
  126 + type: '1',
  127 + isbx:false,
  128 + cent: '',
  129 + from:'minoritySpelling'
  130 + },
  131 + {
  132 + name: '地名语种',
  133 + type: '1',
  134 + isbx:false,
  135 + cent: '',
  136 + from:'language'
  137 + },
  138 + {
  139 + name: '别名',
  140 + type: '1',
  141 + isbx:false,
  142 + cent: '',
  143 + from:'alias'
  144 + },
  145 + {
  146 + name: '简称',
  147 + type: '1',
  148 + isbx:false,
  149 + cent: '',
  150 + from:'abbreviation'
  151 + },
  152 + {
  153 + name: '使用时间',
  154 + type: '8',
  155 + isbx:true,
  156 + cent: '',
  157 + from:'usageTime'
  158 + },
  159 + {
  160 + name: '曾用名',
  161 + type: '1',
  162 + isbx:false,
  163 + cent: '',
  164 + from:'formerName'
  165 + },
  166 + {
  167 + name: '设立时间',
  168 + type: '4',
  169 + isbx:true,
  170 + cent: '',
  171 + from:'establishTime'
  172 + },
  173 + {
  174 + name: '废止时间',
  175 + type: '4',
  176 + isbx:false,
  177 + cent: '',
  178 + from:'annulmentTime'
  179 + },
  180 + {
  181 + name: '地理位置',
  182 + type: '3',
  183 + isbx:true,
  184 + cent: '',
  185 + from:'mapCoordinates'
  186 + },
  187 + {
  188 + name: '地名来历',
  189 + type: '5',
  190 + isbx:true,
  191 + cent: '',
  192 + from:'originOfPlaceNames'
  193 + },
  194 + {
  195 + name: '地名含义',
  196 + type: '5',
  197 + isbx:true,
  198 + cent: '',
  199 + from:'meaningOfPlaceNames'
  200 + },
  201 + {
  202 + name: '历史沿革',
  203 + type: '5',
  204 + isbx:true,
  205 + cent: '',
  206 + from:'historicalEvolution'
  207 + },
  208 + {
  209 + name: '备注',
  210 + type: '5',
  211 + isbx:false,
  212 + cent: '',
  213 + from:'remark'
  214 + },
  215 + ],
  216 + type: null,
  217 + BASE_URL,
  218 + info: {},
  219 + nvConfig: {
  220 + title: "HC52454【单立桩】",
  221 + bgColor: "#ffffff",
  222 + color: "#000000",
  223 + fixedAssist: {
  224 + hide: true,
  225 + },
  226 + },
  227 + markers: [],
  228 + address: {
  229 + // 纬度
  230 + latitude: 29.99599,
  231 + // 经度
  232 + longitude: 104.13412
  233 + },
  234 + newtextlist:[]
  235 + };
  236 + },
  237 + onPageScroll(e) {
  238 + this.$refs.nv.pageScroll(e)
  239 + },
  240 + computed: {
  241 + pageTop() {
  242 + return parseInt(88 * uni.getSystemInfoSync().windowWidth / 750) + uni.getSystemInfoSync().statusBarHeight
  243 + }
  244 + },
  245 + onLoad(params) {
  246 + this.info = JSON.parse(params.cent)
  247 + this.nvConfig.title = this.info.name
  248 + let from = params.cent?JSON.parse(params.cent):''
  249 + console.log(from)
  250 + if(from) {
  251 + for (let i = 0; i < this.textlist.length; i++) {
  252 + if(this.textlist[i].from == 'mapCoordinates') {
  253 + this.textlist[i].cent =from[this.textlist[i].from]
  254 + this.textlist[i].longitude = from.eastLongitude
  255 + this.textlist[i].latitude = from.northLatitude
  256 + } else {
  257 + this.textlist[i].cent = from[this.textlist[i].from]
  258 + }
  259 + }
  260 + if(from.remarksField5) {
  261 + this.newtextlist = JSON.parse(from.remarksField5)
  262 + }
  263 +
  264 + }
  265 + },
  266 + methods: {
  267 + downfile(e) {
  268 +
  269 + let that = this
  270 + console.log(that.BASE_URL + e)
  271 + let c1 = e.split('.')
  272 + console.log(c1)
  273 + uni.downloadFile({
  274 + url: that.BASE_URL+e,
  275 + header: {
  276 + 'content-type': "application/json",
  277 + },
  278 + // filePath: wx.env.USER_DATA_PATH + e,
  279 + success: (res) => {
  280 + console.log(res)
  281 + if (res.statusCode === 200) {
  282 + const savedFilePath = res.tempFilePath
  283 + uni.openDocument({
  284 + filePath: savedFilePath,
  285 + fileType: c1[1], //注意:文件为pdf,类型为pdf
  286 + showMenu: true,
  287 + success: (response) => {
  288 + console.log(response)
  289 + },
  290 + fail: (err) => {
  291 + console.log(err)
  292 + wx.hideLoading()
  293 + }
  294 + })
  295 + } else {
  296 + wx.hideLoading()
  297 + }
  298 + },
  299 + fail: (err) => {
  300 + console.log(err)
  301 + wx.hideLoading()
  302 +
  303 + },
  304 + complete: () => {
  305 + wx.hideLoading()
  306 + }
  307 + })
  308 + }
  309 + }
  310 + }
  311 +</script>
  312 +
  313 +<style scoped lang="scss">
  314 + .newinfo-box {
  315 + padding: 0 40rpx;
  316 + border-radius: 20rpx;
  317 + margin-bottom: 30rpx;
  318 + .width100 {
  319 + width: 100% !important;
  320 + }
  321 + .info-box-list {
  322 + display: flex;
  323 + justify-content: space-between;
  324 + align-items: center;
  325 + flex-wrap: wrap;
  326 + .info-box-width {
  327 + width: 45%;
  328 + font-size: 30rpx;
  329 + font-weight: bold;
  330 + border-bottom: 2rpx solid #ececec;
  331 + padding-top: 30rpx;
  332 + padding-bottom: 30rpx;
  333 + .info-box-overflow {
  334 + width: 95%;
  335 + display: -webkit-box;
  336 + -webkit-box-orient: vertical;
  337 + -webkit-line-clamp: 1;
  338 + overflow: hidden;
  339 + }
  340 +
  341 + .info-box-small {
  342 + font-size: 26rpx;
  343 + color: #a8a8a8;
  344 + font-weight: 500;
  345 + margin-top: 10rpx;
  346 + }
  347 +
  348 + .info-box-list-img {
  349 + margin-top: 30rpx;
  350 +
  351 + image {
  352 + width: 180rpx;
  353 + height: 180rpx;
  354 + border-radius: 20rpx;
  355 + }
  356 + }
  357 +
  358 + .info-box-list-sm {
  359 + background-color: #F7F7F7;
  360 + border-radius: 20rpx;
  361 + font-size: 28rpx;
  362 + color: #909090;
  363 + font-weight: 500;
  364 + width: 100%;
  365 + padding: 20rpx;
  366 + margin-top: 20rpx;
  367 + }
  368 +
  369 + .green {
  370 + color: #00D970;
  371 + }
  372 + }
  373 +
  374 + .serve {
  375 + display: flex;
  376 + justify-content: space-between;
  377 + width: 100%;
  378 +
  379 + .serve-title {
  380 + font-size: 30rpx;
  381 + font-weight: bold;
  382 + }
  383 +
  384 + .serve-right {
  385 + font-size: 28rpx;
  386 + text-align: right;
  387 + color: #909090;
  388 +
  389 + .serve-right-top {
  390 + margin-bottom: 20rpx;
  391 + }
  392 + }
  393 + }
  394 + }
  395 + }
  396 + .listBox {
  397 + position: relative;
  398 + z-index: 1;
  399 + }
  400 +
  401 + .content {
  402 + width: 100%;
  403 + // padding-bottom: 120rpx;
  404 + }
  405 +
  406 + .topimg {
  407 + margin: 25rpx;
  408 +
  409 + image {
  410 + width: 100%;
  411 + border-radius: 20rpx;
  412 + }
  413 + }
  414 +
  415 + .titleall-box {
  416 + display: flex;
  417 + justify-content: space-between;
  418 + padding: 40rpx 20rpx 20rpx 0;
  419 +
  420 + .titleall-left {
  421 + font-size: 32rpx;
  422 + font-weight: bold;
  423 + display: flex;
  424 + align-items: center;
  425 +
  426 + .titleall-left-line {
  427 + width: 14rpx;
  428 + height: 36rpx;
  429 + border-radius: 0 10rpx 10rpx 0;
  430 + background-color: #667FFF;
  431 + box-shadow: 0 0 10rpx 5rpx #d1d9ff;
  432 + margin-right: 20rpx;
  433 + }
  434 + }
  435 + }
  436 +
  437 + .message-list {
  438 + background-color: #FFFFFF;
  439 + border-radius: 20rpx;
  440 + font-size: 26rpx;
  441 + margin: 25rpx;
  442 +
  443 + .info-box {
  444 + padding: 0 40rpx;
  445 + border-radius: 20rpx;
  446 + margin-bottom: 30rpx;
  447 +
  448 + .info-box-list {
  449 + display: flex;
  450 + align-items: center;
  451 + border-bottom: 2rpx solid #ececec;
  452 + padding-top: 30rpx;
  453 + padding-bottom: 30rpx;
  454 +
  455 + .width100 {
  456 + width: 100% !important;
  457 + }
  458 +
  459 + .info-box-width {
  460 + width: 50%;
  461 + font-size: 30rpx;
  462 + font-weight: bold;
  463 +
  464 + .info-box-overflow {
  465 + width: 95%;
  466 + display: -webkit-box;
  467 + -webkit-box-orient: vertical;
  468 + -webkit-line-clamp: 1;
  469 + overflow: hidden;
  470 + }
  471 +
  472 + .info-box-small {
  473 + font-size: 26rpx;
  474 + color: #a8a8a8;
  475 + font-weight: 500;
  476 + margin-top: 10rpx;
  477 + }
  478 +
  479 + .info-box-list-img {
  480 + margin-top: 30rpx;
  481 +
  482 + image {
  483 + width: 180rpx;
  484 + height: 180rpx;
  485 + border-radius: 20rpx;
  486 + }
  487 + }
  488 +
  489 + .info-box-list-sm {
  490 + background-color: #F7F7F7;
  491 + border-radius: 20rpx;
  492 + font-size: 28rpx;
  493 + color: #909090;
  494 + font-weight: 500;
  495 + width: 100%;
  496 + padding: 20rpx;
  497 + margin-top: 20rpx;
  498 + }
  499 +
  500 + .green {
  501 + color: #00D970;
  502 + }
  503 + }
  504 +
  505 + .serve {
  506 + display: flex;
  507 + justify-content: space-between;
  508 + width: 100%;
  509 +
  510 + .serve-title {
  511 + font-size: 30rpx;
  512 + font-weight: bold;
  513 + }
  514 +
  515 + .serve-right {
  516 + font-size: 28rpx;
  517 + text-align: right;
  518 + color: #909090;
  519 +
  520 + .serve-right-top {
  521 + margin-bottom: 20rpx;
  522 + }
  523 + }
  524 + }
  525 + }
  526 +
  527 + .info-box-list:last-child {
  528 + border-bottom: 0;
  529 + }
  530 + }
  531 + }
  532 +
  533 + .skip-btn {
  534 + display: flex;
  535 + align-items: center;
  536 + justify-content: center;
  537 + width: 100%;
  538 + height: 100rpx;
  539 + margin-top: 70rpx;
  540 + position: fixed;
  541 + bottom: 30rpx;
  542 +
  543 + .cart-add {
  544 + display: flex;
  545 + align-items: center;
  546 + justify-content: center;
  547 + width: 38%;
  548 +
  549 + image {
  550 + width: 253rpx;
  551 + height: 80rpx;
  552 + box-shadow: 5rpx 10rpx 20rpx 0 #efefef;
  553 + border-radius: 100rpx;
  554 + }
  555 +
  556 + text {
  557 + font-size: 30rpx;
  558 + font-weight: bold;
  559 + color: #262626;
  560 + position: absolute;
  561 + z-index: 1;
  562 + }
  563 + }
  564 +
  565 + .buy-at {
  566 + display: flex;
  567 + align-items: center;
  568 + justify-content: center;
  569 + width: 58%;
  570 +
  571 + image {
  572 + width: 415rpx;
  573 + height: 80rpx;
  574 + box-shadow: 5rpx 10rpx 20rpx 0 #b7c8ff;
  575 + border-radius: 100rpx;
  576 + }
  577 +
  578 + text {
  579 + font-size: 30rpx;
  580 + font-weight: bold;
  581 + color: #FFFFFF;
  582 + position: absolute;
  583 + z-index: 1;
  584 + }
  585 + }
  586 + }
  587 +</style>
0 588 \ No newline at end of file
... ...
pages/funeral/funeral.vue
... ... @@ -110,29 +110,8 @@
110 110 },
111 111 onLoad() {
112 112 uni.hideTabBar();
113   - this.getGps();
114 113 },
115 114 methods: {
116   - // 获取gps定位
117   - getGps(){
118   - var info = {
119   - request:{
120   - "Action":"GetVehicleTrackData",
121   - "UserId":"user",
122   - "Pwd":"6B18CFA67F76F079B0BFFBD773DC4494",
123   - "PlateNum":"川Zyb907",
124   - "ColorCode":"0",
125   - "BeginTime":"20231010090000",
126   - "EndTime":"20231010150000",
127   - "MinSpeed":"1",
128   - "NeedAddress":"0",
129   - }
130   - }
131   - info.request = JSON.stringify(info.request)
132   - this.API.getGps(info).then(res=>{
133   - console.log("gps",res);
134   - })
135   - },
136 115 home() {
137 116 uni.navigateTo({
138 117 url: '/pages/home/home'
... ...
pages/funeralcremation/funeralcremation.vue
... ... @@ -172,11 +172,12 @@
172 172 onLoad(params) {
173 173 this.OrderType = params.type;
174 174 var now = new Date();
175   - this.nowdate = now
176   - this.from.scheduledCremationDate = now
  175 + this.nowdate = this.timestampToTime(now)
  176 + this.from.scheduledCremationDate = this.timestampToTime(now)
  177 + console.log("时间",this.from.scheduledCremationDate);
177 178 // this.gethhsjsl(this.parseTime(now));
178 179 this.getbsinfo();
179   - this.zxhhllist(now);
  180 + this.zxhhllist(this.timestampToTime(now));
180 181 },
181 182 onReady() {
182 183 this.$nextTick(() => {
... ... @@ -208,8 +209,20 @@
208 209 }, 2000);
209 210 },
210 211 methods:{
  212 + timestampToTime(timestamp) {
  213 + timestamp = timestamp ? timestamp : null;
  214 + let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
  215 + let Y = date.getFullYear() + '-';
  216 + let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  217 + let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
  218 + let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
  219 + let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
  220 + let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  221 + return Y + M + D;
  222 + },
211 223 // 火化炉列表获取
212 224 zxhhllist(date){
  225 + console.log("初始化时间",date);
213 226 this.API.zxhhllist().then(res=>{
214 227 console.log("火化炉",res);
215 228 this.columns = [];
... ... @@ -280,7 +293,7 @@
280 293 gethhsjsl(times){
281 294 this.API.gethhsjsl().then(res=>{
282 295 console.log("获取预约时间和数量",res);
283   - console.log("时间",times);
  296 + console.log("时间111",times);
284 297 this.sjlist = []
285 298 for(let i = 0;i < res.data.length;i++){
286 299 if(res.data[i].DateStr == times){
... ... @@ -327,10 +340,14 @@
327 340 console.log("火化炉id",this.hhlid);
328 341 this.zxhqhhltimelist(this.nowdate);
329 342 this.hhlshow = false;
  343 + this.sjlist = []
330 344 this.from.cremationFurnaceInfo = e.value[0];
331 345 },
332 346 // 最新获取时间火化炉时间
333 347 zxhqhhltimelist(time){
  348 + // time = time + ''
  349 + var reg = /[\t\r\f\n\s]*/g;
  350 + time = time.replace(reg,'');
334 351 var infos = {
335 352 furnaceId:this.hhlid,
336 353 useStatus:"2",
... ... @@ -339,17 +356,30 @@
339 356 this.API.gethhsjsl(infos).then(res=>{
340 357 console.log("最新时间列表",res);
341 358 this.sjlist = []
  359 + console.log("选择的时间",time);
  360 +
342 361 for(let i = 0;i < res.data.length;i++){
  362 + console.log("时间是否正确",res.data[i].dateStr == time,res.data[i].dateStr,typeof(time),typeof(res.data[i].dateStr));
  363 + // if(res.data[i].dateStr === time){
  364 + // for(let s = 0;s < res.data[i].timeAndTotalList.length;s++){
  365 + // var info = {
  366 + // time:"",
  367 + // status:false
  368 + // }
  369 + // info.time = res.data[i].timeAndTotalList[s].timePeriod;
  370 + // if(s == 0){
  371 + // info.status = true
  372 + // this.from.scheduledCremationTime = res.data[i].timeAndTotalList[s].timePeriod;
  373 + // }
  374 + // this.sjlist.push(info)
  375 + // }
  376 + // }
343 377 for(let s = 0;s < res.data[i].timeAndTotalList.length;s++){
344 378 var info = {
345 379 time:"",
346 380 status:false
347 381 }
348 382 info.time = res.data[i].timeAndTotalList[s].timePeriod;
349   - // if(s == 0){
350   - // info.status = true
351   - // this.from.scheduledCremationTime = res.data[i].timeAndTotalList[s].timePeriod;
352   - // }
353 383 this.sjlist.push(info)
354 384 }
355 385 }
... ... @@ -380,6 +410,7 @@
380 410 return
381 411 }
382 412 this.from.obituaryOrderNumber = this.bspersoninfo.obituaryOrderNumber
  413 + this.from.furnaceId = this.hhlid
383 414 console.log("from",this.from);
384 415 // return
385 416 this.API.hhlyy(this.from).then(res=>{
... ...
pages/funeralculture/funeralculture.vue
... ... @@ -9,7 +9,7 @@
9 9 <view class="name">
10 10 <text>{{item.title}}</text>
11 11 </view>
12   - <view class="edit" @click="tzdetail(item)">
  12 + <view class="edit" @click="tzdetail(item.id)">
13 13 <image src="../../static/right2.png"></image>
14 14 </view>
15 15 </view>
... ... @@ -48,7 +48,7 @@
48 48 computed:{
49 49 pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
50 50 },
51   - onShow() {
  51 + onLoad() {
52 52 this.getfbgl();
53 53 },
54 54 methods: {
... ...
pages/funeralguide/funeralguide.vue
... ... @@ -9,7 +9,7 @@
9 9 <view class="name">
10 10 <text>{{item.title}}</text>
11 11 </view>
12   - <view class="edit" @click="tzdetail(item)">
  12 + <view class="edit" @click="tzdetail(item.id)">
13 13 <image src="../../static/right2.png"></image>
14 14 </view>
15 15 </view>
... ... @@ -48,7 +48,7 @@
48 48 computed:{
49 49 pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
50 50 },
51   - onShow() {
  51 + onLoad() {
52 52 this.getfbgl();
53 53 },
54 54 methods: {
... ...
pages/funerallaw/funerallaw.vue
... ... @@ -9,7 +9,7 @@
9 9 <view class="name">
10 10 <text>{{item.title}}</text>
11 11 </view>
12   - <view class="edit" @click="tzdetail(item)">
  12 + <view class="edit" @click="tzdetail(item.id)">
13 13 <image src="../../static/right2.png"></image>
14 14 </view>
15 15 </view>
... ... @@ -48,7 +48,7 @@
48 48 computed:{
49 49 pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
50 50 },
51   - onShow() {
  51 + onLoad() {
52 52 this.getfbgl();
53 53 },
54 54 methods: {
... ... @@ -71,7 +71,7 @@
71 71 tzdetail(item){
72 72 console.log("ress",item);
73 73 uni.navigateTo({
74   - url:'/pages/xxdetail/xxdetail?info=' + JSON.stringify(item)
  74 + url:'/pages/xxdetail/xxdetail?info=' + item
75 75 })
76 76 }
77 77 },
... ...
pages/funeralproblem/funeralproblem.vue
... ... @@ -9,7 +9,7 @@
9 9 <view class="name">
10 10 <text>{{item.title}}</text>
11 11 </view>
12   - <view class="edit" @click="tzdetail(item)">
  12 + <view class="edit" @click="tzdetail(item.id)">
13 13 <image src="../../static/right2.png"></image>
14 14 </view>
15 15 </view>
... ... @@ -48,7 +48,7 @@
48 48 computed:{
49 49 pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
50 50 },
51   - onShow() {
  51 + onLoad() {
52 52 this.getfbgl();
53 53 },
54 54 methods: {
... ...
pages/funeralreport/funeralreport.vue
... ... @@ -42,46 +42,89 @@
42 42 </view>
43 43  
44 44 <view class="message-list">
45   - <view class="titleall-box">
46   - <view class="titleall-left"><view class="titleall-left-line"></view>预约人信息<text style="color: red;">(必填)</text></view>
  45 + <view class="titleall-box">
  46 + <view class="titleall-left"><view class="titleall-left-line"></view>联系人信息<text style="color: red;">(必填)</text></view>
  47 + </view>
  48 + <view class="info-box">
  49 + <view class="info-box-list">
  50 + <view class="info-box-width">
  51 + <view><input class="input-text" v-model="from.contactName" type="text" placeholder="请输入" placeholder-class="inputtext" /></view>
  52 + <view class="info-box-small">联系人姓名</view>
  53 + </view>
  54 + <view class="info-box-width">
  55 + <view><input v-model="from.contactPhone" class="input-text" type="text" placeholder="请输入" placeholder-class="inputtext" /></view>
  56 + <view class="info-box-small">联系人电话</view>
  57 + </view>
  58 + </view>
  59 + </view>
47 60 </view>
48   - <view class="info-box">
49   - <view class="info-box-list">
50   - <view class="info-box-width">
51   - <view><input class="input-text" v-model="from.contactName" type="text" placeholder="请输入" placeholder-class="inputtext" /></view>
52   - <view class="info-box-small">预约人姓名</view>
  61 + <!-- -->
  62 + <view class="message-list">
  63 + <view class="titleall-box">
  64 + <view class="titleall-left"><view class="titleall-left-line"></view>遗体接运信息<text style="color: red;">(必填)</text></view>
  65 + </view>
  66 + <view class="info-box">
  67 + <view class="info-box-list">
  68 + <view class="info-box-width width100">
  69 + <!-- <view @click="areashow = true">{{area}}</view> -->
  70 + <view>
  71 + <input v-model="area" class="input-text" type="text" placeholder="请输入详细地址" placeholder-class="inputtext" />
  72 + </view>
  73 + <view class="info-box-small">接运地点</view>
  74 + </view>
53 75 </view>
54   - <view class="info-box-width">
55   - <view><input v-model="from.contactPhone" class="input-text" type="text" placeholder="请输入" placeholder-class="inputtext" /></view>
56   - <view class="info-box-small">预约人电话</view>
  76 + <u-picker :show="areashow" :columns="areacolumns" @confirm="areaconfirm" @close="areaclose"></u-picker>
  77 + <view class="info-box-list">
  78 + <view class="info-box-width width100">
  79 + <view @click="timeshow = true">
  80 + <label>{{accessTime}}</label>
  81 + </view>
  82 + <view class="info-box-small">接运时间</view>
  83 + </view>
  84 + </view>
  85 + <view class="info-box-list">
  86 + <view class="info-box-width width100">
  87 + <view>
  88 + <input v-model="remarks" class="input-text" type="text" placeholder="请输入" placeholder-class="inputtext" />
  89 + </view>
  90 + <view class="info-box-small">备注</view>
  91 + </view>
57 92 </view>
58 93 </view>
59 94 </view>
60   - </view>
  95 + <u-datetime-picker
  96 + :show="timeshow1"
  97 + mode="datetime"
  98 + v-model="accessTimeby"
  99 + @confirm="xztime"
  100 + @cancel="qxtime"
  101 + ></u-datetime-picker>
  102 + <!-- -->
61 103 <u-calendar :show="jytimeshow" @confirm="jytimeconfirm" @close="jytimeclose"></u-calendar>
62 104 <view class="message-list">
63   - <view class="titleall-box">
64   - <view class="titleall-left"><view class="titleall-left-line"></view>死亡相关<text style="color: red;">(必填)</text></view>
65   - </view>
66   - <view class="info-box">
67   - <view class="info-box-list">
68   - <view class="info-box-width">
69   - <view><input v-model="from.deathCase" class="input-text" type="text" placeholder="请输入" placeholder-class="inputtext" /></view>
70   - <view class="info-box-small">死亡原因</view>
71   - </view>
72   - <view class="info-box-width" @click="timeshow = true">
73   - <view>{{from.deathdate}}</view>
74   - <view class="info-box-small">死亡日期</view>
  105 + <view class="titleall-box">
  106 + <view class="titleall-left"><view class="titleall-left-line"></view>死亡因数<text style="color: red;">(必填)</text></view>
  107 + </view>
  108 + <view class="info-box">
  109 + <view class="info-box-list">
  110 + <view class="info-box-width">
  111 + <view @click="swyyshow = true"><input disabled v-model="from.deathCase" class="input-text" type="text" placeholder="请选择" placeholder-class="inputtext" /></view>
  112 + <view class="info-box-small">死亡原因</view>
  113 + </view>
  114 + <view class="info-box-width" @click="timeshow = true">
  115 + <view>{{from.deathdate}}</view>
  116 + <view class="info-box-small">死亡日期</view>
  117 + </view>
75 118 </view>
  119 + <u-picker :show="swyyshow" @confirm="swyyconfirm" @close="swyyclose" :columns="swyycolumns"></u-picker>
76 120 </view>
77 121 </view>
78   - </view>
79 122 <u-calendar minDate="2023-11-01" maxDate="3050-12-01" :show="timeshow" @confirm="timeconfirm" @close="timeclose"></u-calendar>
80 123 <view class="message-list">
81   - <view class="titleall-box">
82   - <view class="titleall-left"><view class="titleall-left-line"></view>家属信息<text>(选填)</text></view>
83   - </view>
84   - <view class="info-box">
  124 + <view class="titleall-box">
  125 + <view class="titleall-left"><view class="titleall-left-line"></view>家属信息<text>(选填)</text></view>
  126 + </view>
  127 + <view class="info-box">
85 128 <view class="info-box-list">
86 129 <view class="info-box-width">
87 130 <view><input v-model="from.relativeName" class="input-text" type="text" placeholder="请输入" placeholder-class="inputtext" /></view>
... ... @@ -121,15 +164,15 @@
121 164 <view><image src="../../static/btn2.png"></image></view>
122 165 <view class="cart-add-text"><image src="../../static/phone.png"></image><text>联系电话</text></view>
123 166 </view>
124   - <view class="buy-at" @click="funeralreportmove">
  167 + <view class="buy-at" @click="funeralresult">
125 168 <image src="../../static/btn1.png"></image>
126   - <text>下一步</text>
  169 + <text>提交</text>
127 170 </view>
128 171 </view>
129 172 </view>
130   -
131 173 </view>
132 174 </view>
  175 + <u-toast ref="uToast"></u-toast>
133 176 </view>
134 177 </template>
135 178  
... ... @@ -141,7 +184,7 @@
141 184 BASE_URL,
142 185 fileList: [],
143 186 nvConfig:{
144   - title:"填写基本信息",
  187 + title:"报丧登记",
145 188 bgColor:"#ffffff",
146 189 color:"#000000",
147 190 fixedAssist:{
... ... @@ -169,7 +212,13 @@
169 212 relativeIdCardNumber:"",
170 213 relativeAddress:"",
171 214  
172   - provelmage:""
  215 + provelmage:"",
  216 +
  217 + accessLocation:"",
  218 + accessTime:"",
  219 + obituaryType:"",
  220 + remarks:"",
  221 + userId:"",
173 222 },
174 223 xbshow:false,
175 224 xbcolumns: [
... ... @@ -181,6 +230,28 @@
181 230 ],
182 231 timeshow:false,
183 232 jytimeshow:false,
  233 + swyycolumns:[
  234 + ['自然死亡','疾病死亡','意外死亡']
  235 + ],
  236 + swyyshow:false,
  237 +
  238 +
  239 + //
  240 + timeshow1:false,
  241 + accessLocation:"",
  242 + area:"",
  243 + xxarea:"",
  244 + areashow:false,
  245 + areacolumns:[
  246 + ['地区1', '地区2']
  247 + ],
  248 +
  249 + accessTime:"请选择",
  250 + accessTimeby:2,
  251 + timeshow:false,
  252 + remarks:"",
  253 + info:{}
  254 + //
184 255 };
185 256 },
186 257 onPageScroll(e) {this.$refs.nv.pageScroll(e)},
... ... @@ -188,8 +259,74 @@
188 259 pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
189 260 },
190 261 onLoad(params) {
  262 + const timestamp = Date.now();
  263 + this.accessTime = this.timestampToTime(timestamp);
  264 +
191 265 },
192 266 methods:{
  267 + //
  268 + xztime(value){
  269 + this.timeshow1 = false
  270 + var that = this;
  271 + let selectTime =this.timestampToTime(value.value);
  272 + that.accessTime = selectTime;
  273 + },
  274 + qxtime(){
  275 + this.timeshow1 = false
  276 + },
  277 + timeclose(){
  278 + this.timeshow1 = false
  279 + },
  280 + timestampToTime(timestamp) {
  281 + timestamp = timestamp ? timestamp : null;
  282 + let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
  283 + let Y = date.getFullYear() + '-';
  284 + let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  285 + let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
  286 + let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
  287 + let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
  288 + let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  289 + return Y + M + D + h + m + s;
  290 + },
  291 + funeralresult(){
  292 + this.from.accessLocation = this.area
  293 + this.from.accessTime = this.accessTime
  294 + // this.info.obituaryType = "网上报丧"
  295 + if(uni.getStorageSync('dh') == 2){
  296 + this.from.obituaryType = "电话报丧"
  297 + }else{
  298 + this.from.obituaryType = "网上报丧"
  299 + }
  300 + this.from.remarks = this.remarks
  301 + this.from.userId = uni.getStorageSync("USERS_KEY").userId
  302 + // console.log(this.from);
  303 + if(this.from.deceasedName == '' || this.from.deceasedAge == '' || this.from.idCardNumber == '' || this.from.ethnicity == '' || this.from.contactName == '' || this.from.contactPhone == '' || this.from.deathCase == '' || this.from.deathdate == '请选择' || this.sex == '请选择' || this.area != '请输入详细地址' || this.accessTime != "请选择" || this.remarks != ''){
  304 + uni.showToast({
  305 + icon:"error",
  306 + title:"请填写完整必填信息"
  307 + })
  308 + }else{
  309 + // console.log(1123);
  310 + this.API.tjwsyy(this.info).then(res=>{
  311 + console.log("网上报丧",res);
  312 + })
  313 + uni.navigateTo({
  314 + url: '/pages/funeralresult/funeralresult',
  315 + })
  316 + }
  317 + },
  318 + // 地区选择确认回调
  319 + areaconfirm(e){
  320 + this.areashow = false
  321 + this.area = e.value[0];
  322 + },
  323 + areaclose(){
  324 + this.areashow = false
  325 + },
  326 + timeclose(){
  327 + this.timeshow = false
  328 + },
  329 + //
193 330 // 上传图片
194 331 async afterRead(event) {
195 332 console.log(event);
... ... @@ -217,8 +354,9 @@
217 354 this.fileList.splice(event.index, 1)
218 355 },
219 356 funeralreportmove(){
  357 + // this.from.deceasedSex = this.sex
220 358 var info = JSON.stringify(this.from)
221   - console.log("提交的数据",this.from);
  359 + console.log("提交的数据",this.from,this.sex);
222 360 // return
223 361 // deceasedName deceasedAge idCardNumber ethnicity contactName contactPhone deathCase deathdate sex
224 362 if(this.from.deceasedName == '' || this.from.deceasedAge == '' || this.from.idCardNumber == '' || this.from.ethnicity == '' || this.from.contactName == '' || this.from.contactPhone == '' || this.from.deathCase == '' || this.from.deathdate == '请选择' || this.sex == '请选择'){
... ... @@ -240,6 +378,7 @@
240 378 xbconfirm(e){
241 379 this.xbshow = false
242 380 this.sex = e.value[0]
  381 + this.from.deceasedSex = e.value[0]
243 382 console.log("性别选择",e);
244 383 },
245 384 // 性别取消选择
... ... @@ -263,6 +402,17 @@
263 402 timeclose(){
264 403 this.timeshow = false
265 404 },
  405 + // 死亡原因确认
  406 + swyyconfirm(e){
  407 + console.log("e",e);
  408 + this.from.deathCase = e.value[0]
  409 + this.swyyshow = false
  410 + },
  411 + // 死亡原因取消
  412 + swyyclose(){
  413 + this.swyyshow = false
  414 + }
  415 +
266 416 }
267 417 }
268 418 </script>
... ...
pages/funeralreportmove/funeralreportmove.vue
... ... @@ -3,49 +3,46 @@
3 3 <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
4 4 <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
5 5 <view class="content">
6   -
7 6 <view class="message-list">
8   - <view class="titleall-box">
9   - <view class="titleall-left"><view class="titleall-left-line"></view>遗体接运信息<text style="color: red;">(必填)</text></view>
10   - </view>
11   - <view class="info-box">
12   - <view class="info-box-list">
13   - <view class="info-box-width width100">
14   - <!-- <view @click="areashow = true">{{area}}</view> -->
15   - <view>
16   - <input v-model="area" class="input-text" type="text" placeholder="请输入详细地址" placeholder-class="inputtext" />
  7 + <view class="titleall-box">
  8 + <view class="titleall-left"><view class="titleall-left-line"></view>遗体接运信息<text style="color: red;">(必填)</text></view>
  9 + </view>
  10 + <view class="info-box">
  11 + <view class="info-box-list">
  12 + <view class="info-box-width width100">
  13 + <!-- <view @click="areashow = true">{{area}}</view> -->
  14 + <view>
  15 + <input v-model="area" class="input-text" type="text" placeholder="请输入详细地址" placeholder-class="inputtext" />
  16 + </view>
  17 + <view class="info-box-small">接运地点</view>
17 18 </view>
18   - <view class="info-box-small">接运地点</view>
19 19 </view>
20   - </view>
21   - <u-picker :show="areashow" :columns="areacolumns" @confirm="areaconfirm" @close="areaclose"></u-picker>
22   - <view class="info-box-list">
23   - <view class="info-box-width width100">
24   - <view @click="timeshow = true">
25   - {{accessTime}}
  20 + <u-picker :show="areashow" :columns="areacolumns" @confirm="areaconfirm" @close="areaclose"></u-picker>
  21 + <view class="info-box-list">
  22 + <view class="info-box-width width100">
  23 + <view @click="timeshow = true">
  24 + <label>{{accessTime}}</label>
  25 + </view>
  26 + <view class="info-box-small">接运时间</view>
26 27 </view>
27   - <view class="info-box-small">接运时间</view>
28 28 </view>
29   - </view>
30   - <view class="info-box-list">
31   - <view class="info-box-width width100">
32   - <view>
33   - <input v-model="remarks" class="input-text" type="text" placeholder="请输入" placeholder-class="inputtext" />
  29 + <view class="info-box-list">
  30 + <view class="info-box-width width100">
  31 + <view>
  32 + <input v-model="remarks" class="input-text" type="text" placeholder="请输入" placeholder-class="inputtext" />
  33 + </view>
  34 + <view class="info-box-small">备注</view>
34 35 </view>
35   - <view class="info-box-small">备注</view>
36 36 </view>
37 37 </view>
38   -
39   - </view>
40 38 </view>
41 39 <u-datetime-picker
42 40 :show="timeshow"
43 41 mode="datetime"
44   - v-model="accessTime"
  42 + v-model="accessTimeby"
45 43 @confirm="xztime"
46 44 @cancel="qxtime"
47 45 ></u-datetime-picker>
48   - <!-- <u-calendar minDate="2023-11-01" maxDate="3050-12-01" :show="timeshow" @confirm="timeconfirm" @close="timeclose"></u-calendar> -->
49 46 <view class="page-footer">
50 47 <view class="footer-buy">
51 48 <view class="cart-add">
... ... @@ -86,6 +83,7 @@
86 83 ],
87 84  
88 85 accessTime:"请选择",
  86 + accessTimeby:2,
89 87 timeshow:false,
90 88 remarks:"",
91 89 info:{}
... ... @@ -108,8 +106,9 @@
108 106 methods:{
109 107 xztime(value){
110 108 this.timeshow = false
111   - console.log("value",value);
112   - this.accessTime = this.timestampToTime(value.value)
  109 + var that = this;
  110 + let selectTime =this.timestampToTime(value.value);
  111 + that.accessTime = selectTime;
113 112 },
114 113 qxtime(){
115 114 this.timeshow = false
... ... @@ -164,12 +163,7 @@
164 163 areaclose(){
165 164 this.areashow = false
166 165 },
167   - // 时间选择
168   - timeconfirm(e){
169   - console.log(e);
170   - this.accessTime = e[0]
171   - this.timeshow = false;
172   - },
  166 +
173 167 timeclose(){
174 168 this.timeshow = false
175 169 },
... ...
pages/hcxx/hcxx.scss
... ... @@ -4,6 +4,7 @@
4 4 }
5 5 .content {
6 6 width: 100%;
  7 + position: relative;
7 8 }
8 9 /* 订单列表 */
9 10 .order-list{
... ... @@ -14,7 +15,11 @@
14 15 min-height: 400rpx;
15 16 background-color: #FFFFFF;
16 17 border-radius: 20rpx;
  18 + // border-top-left-radius: 20rpx;
  19 + // border-top-right-radius: 20rpx;
17 20 margin: 25rpx;
  21 + box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  22 + // padding-bottom: 10rpx;
18 23 .title-status{
19 24 display: flex;
20 25 align-items: center;
... ... @@ -24,6 +29,8 @@
24 29 .title{
25 30 display: flex;
26 31 align-items: center;
  32 + width: 800rpx;
  33 + // border: 1px solid red;
27 34 text{
28 35 font-size: 26rpx;
29 36 color: #A7A7A7;
... ... @@ -61,7 +68,7 @@
61 68 font-size: 26rpx;
62 69 color: #A7A7A7;
63 70 .goods-name-title {
64   - font-size: 30rpx;
  71 + font-size: 27rpx;
65 72 color: #3d3d3d;
66 73 font-weight: bold;
67 74 margin-bottom: 40rpx;
... ...
pages/hcxx/hcxx.vue
1 1 <template>
2   - <view class="page">
3   - <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
  2 + <view class="page" style="position: relative;">
  3 + <!-- <pyh-nv ref="nv" :config="nvConfig"></pyh-nv> -->
4 4 <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
5 5 <view class="content">
6   - <view class="order-tab">
7   - <view class="tab" :class="{'action':OrderType==0}" @click="onOrderTab(0)">
8   - <text>派遣中</text>
9   - <text class="line"></text>
10   - </view>
11   - <view class="tab" :class="{'action':OrderType==1}" @click="onOrderTab(1)">
12   - <text>已完成</text>
13   - <text class="line"></text>
14   - </view>
15   - </view>
16   - <!-- 订单列表 -->
17   - <view class="order-list" style="margin-top: 110rpx;">
18   - <view class="list" v-for="(item,index) in list" @click="onOrderList" :key="index">
19   - <view class="title-status">
20   - <view class="title">
21   - <text>逝者编号:{{item.funeralCallWebDeathInfoPo.orderNumber}}</text>
22   - <image src="../../static/right1.png"></image>
23   - </view>
  6 + <view class="order-tab">
  7 + <view class="tab" :class="{'action':OrderType==0}" @click="onOrderTab(0)">
  8 + <text>接运中</text>
  9 + <text class="line"></text>
  10 + </view>
  11 + <view class="tab" :class="{'action':OrderType==1}" @click="onOrderTab(1)">
  12 + <text>已完成</text>
  13 + <text class="line"></text>
24 14 </view>
25   - <view class="goods-list">
26   - <view class="goods">
27   - <view class="item">
28   - <view class="goods-name">
29   - <view class="goods-name-title">逝者姓名:{{item.funeralCallWebDeathInfoPo.deceasedName}}</view>
30   - <view class="goods-name-title">联系电话:{{item.funeralCallWebDeathInfoPo.contactPhone}}</view>
31   - <view class="goods-name-title">逝者地址:{{item.funeralCallWebDeathInfoPo.accessLocation}}</view>
32   - <view>报丧时间:{{item.funeralCallWebDeathInfoPo.createdTime}}</view>
  15 + </view>
  16 + <!-- 订单列表 -->
  17 + <view class="order-list" style="margin-top: -50rpx;max-height: 59vh;overflow: scroll;">
  18 + <view class="list" v-for="(item,index) in list" @click="onOrderList" :key="index">
  19 + <view class="title-status">
  20 + <view class="title">
  21 + <text>报丧编号:{{item.funeralCallWebDeathInfoPo.orderNumber}}</text>
  22 + <image src="../../static/right1.png"></image>
  23 + </view>
  24 + <view class="status-btn" v-if="OrderType == 1">
  25 + <view><text class="red"></text><text class="red big"></text></view>
  26 + <view class="btn">
  27 + <!-- <image src="../../static/btn.png" mode="widthFix"></image> -->
  28 + <text style="color: #fe7400;">已回车</text>
33 29 </view>
34 30 </view>
35 31 </view>
36   - </view>
37   - <view class="status-btn" v-if="OrderType == 0">
38   - <view><text class="red"></text><text class="red big"></text></view>
39   - <view class="btn" @click="tz(item)">
40   - <image src="../../static/btn.png" mode="widthFix"></image>
41   - <text>查看详情</text>
  32 + <view class="goods-list">
  33 + <view class="goods">
  34 + <view class="item">
  35 + <view class="goods-name">
  36 + <view class="goods-name-title">逝者姓名:{{item.funeralCallWebDeathInfoPo.deceasedName}}</view>
  37 + <view class="goods-name-title">联系电话:{{item.funeralCallWebDeathInfoPo.contactPhone}}</view>
  38 + <view class="goods-name-title">逝者地址:{{item.funeralCallWebDeathInfoPo.accessLocation}}</view>
  39 + <view>报丧时间:{{item.funeralCallWebDeathInfoPo.createdTime}}</view>
  40 + </view>
  41 + </view>
  42 + </view>
42 43 </view>
43   - </view>
44   - <view class="status-btn" v-if="OrderType == 1">
45   - <view><text class="red"></text><text class="red big"></text></view>
46   - <view class="btn">
47   - <image src="../../static/btn.png" mode="widthFix"></image>
48   - <text>已回车</text>
  44 + <view class="status-btn" v-if="OrderType == 0">
  45 + <view><text class="red"></text><text class="red big"></text></view>
  46 + <view class="btn" @click="tz(item)">
  47 + <image src="../../static/btn.png" mode="widthFix"></image>
  48 + <text>查看详情</text>
  49 + </view>
49 50 </view>
  51 +
50 52 </view>
51 53 </view>
52   - </view>
53   - </view>
  54 + </view>
54 55 </view>
55 56 </view>
56 57 </template>
... ... @@ -61,7 +62,7 @@
61 62 return {
62 63 OrderType: 0,
63 64 nvConfig:{
64   - title:"调度信息",
  65 + title:"接运信息",
65 66 bgColor:"#ffffff",
66 67 color:"#000000",
67 68 fixedAssist:{
... ... @@ -79,6 +80,10 @@
79 80 this.OrderType = 0;
80 81 this.carddxx();
81 82 },
  83 + mounted() {
  84 + this.OrderType = 0;
  85 + this.carddxx();
  86 + },
82 87 methods:{
83 88 // 获取调度信息
84 89 carddxx(){
... ... @@ -155,16 +160,19 @@
155 160 /* 订单tab */
156 161 .order-tab{
157 162 position: fixed;
  163 + position: absolute;
158 164 left: 0;
159   - top: 88rpx;
  165 + top: 0;
  166 + margin-top: -7vh;
160 167 /* #ifdef MP-WEIXIN */
161   - top: calc(100rpx + var(--status-bar-height));
  168 + // top: calc(100rpx + var(--status-bar-height));
162 169 /* #endif */
163 170 z-index: 10;
164 171 display: flex;
165 172 align-items: center;
166 173 width: 100%;
167 174 height: 100rpx;
  175 + // border: 1px solid red;
168 176 background-color: #FFFFFF;
169 177 .tab{
170 178 position: relative;
... ...
pages/home/home.scss
... ... @@ -47,9 +47,7 @@
47 47 float:left;
48 48 height: 250rpx;
49 49 image{
50   - // width: 80rpx;
51 50 height: 80rpx;
52   - // margin-top: 100rpx;
53 51 }
54 52 .text{
55 53 font-size: 28rpx;
... ... @@ -61,10 +59,10 @@
61 59 }
62 60  
63 61 .xw{
64   - background-color: rgba(255, 255, 255, 0.6);
  62 + background-color: rgba(255, 255, 255, 1);
65 63 margin:20rpx;
66 64 z-index: 10000000;
67   - padding: 20rpx;
  65 + padding: 10rpx;
68 66 border-radius: 20rpx;
69 67 .title{
70 68 height: 50rpx;
... ... @@ -91,37 +89,17 @@
91 89 }
92 90 }
93 91 .content{
94   - padding: 20rpx;
  92 + padding: 20rpx;
  93 + display: flex;
95 94 .box_item{
96   - background-color: #fff;
97   - display: flex;
98 95 padding: 20rpx;
99 96 border-radius: 20rpx;
100   - height: 200rpx;
101   - .box_left{
102   - display: flex;
103   - flex-direction: column;
104   - justify-content: space-between;
105   - width: 60%;
106   - .f1{
107   - font-size: 35rpx;
108   - font-weight: 600;
109   - display: block;
110   - margin-bottom: 20rpx;
111   - }
112   - .f2{
113   - color: #ababab;
114   - }
115   - }
116   - .box_right{
117   - width: 40%;
118   - .images{
119   - background-color: #ababab;
120   - height: 160rpx;
121   - border-radius: 20rpx;
122   - background-image: url("http://antis14.sherkxuan.cn/assets/images/a1.png");
123   - background-size: 100% 100%;
124   - }
  97 + height: 200rpx;
  98 + width: 25%;
  99 + text-align: center;
  100 + .text{
  101 + font-size: 20rpx;
  102 + font-weight: 600;
125 103 }
126 104 }
127 105 }
... ...
pages/home/home.vue
... ... @@ -21,7 +21,7 @@
21 21 </view>
22 22 <view class="list" @click="minor">
23 23 <view><image src="/static/new/2.png" mode="heightFix"></image></view>
24   - <view class="text">未成年保护</view>
  24 + <view class="text">个案登记</view>
25 25 </view>
26 26 <view class="list" @click="map">
27 27 <view><image src="/static/new/3.png" mode="heightFix"></image></view>
... ... @@ -29,16 +29,15 @@
29 29 </view>
30 30 <view class="list" @click="funeral">
31 31 <view><image src="/static/new/4.png" mode="heightFix"></image></view>
32   - <view class="text">殡葬服务</view>
  32 + <view class="text">殡葬</view>
33 33 </view>
34   - <view class="list" @click="lmpsb">
  34 + <!-- <view class="list" @click="toponym">
35 35 <view><image src="/static/new/image 1.png" mode="heightFix"></image></view>
36   - <!-- <view class="text">路门牌上报</view> -->
37   - <view class="text">个案接报登记</view>
  36 + <view class="text">地名申报</view>
38 37 </view>
39   - <view class="list" @click="toponym">
  38 + <view class="list" @click="lmpsb">
40 39 <view><image src="/static/new/image 2.png" mode="heightFix"></image></view>
41   - <view class="text">地名申报</view>
  40 + <view class="text">地名查询</view>
42 41 </view>
43 42 <view class="list" @click="gopath('/pages/policy/policy')">
44 43 <view><image src="/static/new/image 3.png" mode="heightFix"></image></view>
... ... @@ -47,35 +46,106 @@
47 46 <view class="list" @click="journalism">
48 47 <view><image src="/static/new/image 4.png" mode="heightFix"></image></view>
49 48 <view class="text">新闻资讯</view>
50   - </view>
  49 + </view> -->
51 50 </view>
52 51 </view>
53 52 </view>
54   - <!-- 新闻 -->
55   - <view class="xw">
  53 + <!-- 服务 -->
  54 + <view class="xw" style="padding-top: 20rpx;padding-left: 20rpx;">
56 55 <view class="title">
57 56 <view class="box1">
58 57 <image src="../../static/new/矩形 331.png" mode=""></image>
59   - <span>新闻资讯</span>
60   - </view>
61   - <view class="box2">
62   - <span>查看更多 ></span>
  58 + <span>殡葬服务</span>
63 59 </view>
64 60 </view>
65   - <view class="content" @click="xwtz">
66   - <view class="box_item">
67   - <view class="box_left">
68   - <span class="f1">眉山仁寿城北小学激发学生爱国主义热情</span>
69   - <span class="f2">500人阅读</span>
70   - </view>
71   - <view class="box_right">
72   - <view class="images">
73   - <!-- <image src="../../static/xw.png" mode="widthFix"></image> -->
74   - </view>
75   - </view>
  61 + <view class="content">
  62 + <view class="box_item" @click="funeralculture">
  63 + <view>
  64 + <image src="/static/nav/nav_ico7.png" style="width: 90%;" mode="widthFix"></image>
  65 + </view>
  66 + <view class="text">文化宣传</view>
  67 + </view>
  68 + <view class="box_item" @click="funerallaw">
  69 + <view>
  70 + <image src="/static/nav/nav_ico8.png" style="width: 90%;" mode="widthFix"></image>
  71 + </view>
  72 + <view class="text">普法宣传</view>
  73 + </view>
  74 + <view class="box_item" @click="funeralguide">
  75 + <view>
  76 + <image src="/static/nav/nav_ico9.png" style="width: 90%;" mode="widthFix"></image>
  77 + </view>
  78 + <view class="text">办事指南</view>
  79 + </view>
  80 + <view class="box_item" @click="funeralproblem">
  81 + <view>
  82 + <image src="/static/nav/nav_ico10.png" style="width: 90%;" mode="widthFix"></image>
  83 + </view>
  84 + <view class="text">常见问题</view>
76 85 </view>
77 86 </view>
  87 + </view>
  88 +
  89 + <view class="xw" style="padding-top: 20rpx;padding-left: 20rpx;">
  90 + <view class="title">
  91 + <view class="box1">
  92 + <image src="../../static/new/矩形 331.png" mode=""></image>
  93 + <span>区域服务</span>
  94 + </view>
  95 + </view>
  96 + <view class="content" style="margin-bottom:40rpx;">
  97 + <view class="box_item" @click="gopath('/pages/declaration/declaration?type=5')">
  98 + <view style="margin-bottom: 20rpx;">
  99 + <image src="/static/ly/image11.png" style="width: 60%;height: 90rpx;" mode=""></image>
  100 + </view>
  101 + <view class="text">门楼牌申报</view>
  102 + </view>
  103 + <view class="box_item" @click="gopath('/pages/mapdoorplate/mapdoorplate')">
  104 + <view style="margin-bottom: 20rpx;">
  105 + <image src="/static/ly/image8.png" style="width: 60%;height: 90rpx;" mode=""></image>
  106 + </view>
  107 + <view class="text">地名标志牌申报</view>
  108 + </view>
  109 + <view class="box_item" @click="gopath('/pages/declaration/declaration?type=3')">
  110 + <view style="margin-bottom: 20rpx;">
  111 + <image src="/static/ly/image5.png" style="width: 60%;height: 90rpx;" mode=""></image>
  112 + </view>
  113 + <view class="text">建筑物备案</view>
  114 + </view>
  115 + <view class="box_item" @click="gopath('/pages/declaration/newDeclaration')">
  116 + <view style="margin-bottom: 20rpx;">
  117 + <image src="/static/ly/image6.png" style="width: 60%;height: 90rpx;" mode=""></image>
  118 + </view>
  119 + <view class="text">地名命名申报</view>
  120 + </view>
  121 + </view>
  122 + <view class="content" style="margin-top: -70rpx;z-index: 10000;padding: 0 20rpx;">
  123 + <view class="box_item" @click="lmpsb">
  124 + <view style="margin-bottom: 20rpx;">
  125 + <image src="/static/new/image 2.png" style="width: 60%;height: 90rpx;" mode=""></image>
  126 + </view>
  127 + <view class="text">地名查询服务</view>
  128 + </view>
  129 + </view>
78 130 </view>
  131 +
  132 + <view class="xw" style="">
  133 + <view class="title">
  134 + <view class="box1">
  135 + <image src="../../static/new/矩形 331.png" mode=""></image>
  136 + <span>未保服务</span>
  137 + </view>
  138 + </view>
  139 + <view class="content">
  140 + <view class="box_item" @click="minor">
  141 + <view style="margin-bottom: 20rpx;">
  142 + <image src="/static/new/2.png" style="height: 100rpx;" mode="heightFix"></image>
  143 + </view>
  144 + <view class="text">个案登记</view>
  145 + </view>
  146 + </view>
  147 + </view>
  148 +
79 149 </view>
80 150 </view>
81 151  
... ... @@ -120,7 +190,35 @@
120 190 onLoad() {
121 191 uni.hideTabBar();
122 192 },
123   - methods: {
  193 + methods: {
  194 + //
  195 + funeralculture() {
  196 + uni.navigateTo({
  197 + url: '/pages/funeralculture/funeralculture'
  198 + })
  199 + },
  200 + funerallaw() {
  201 + uni.navigateTo({
  202 + url: '/pages/funerallaw/funerallaw'
  203 + })
  204 + },
  205 + funeralguide() {
  206 + uni.navigateTo({
  207 + url: '/pages/funeralguide/funeralguide'
  208 + })
  209 + },
  210 + funeralproblem() {
  211 + uni.navigateTo({
  212 + url: '/pages/funeralproblem/funeralproblem'
  213 + })
  214 + },
  215 + //
  216 + gopath(e) {
  217 + uni.navigateTo({
  218 + url: e
  219 + })
  220 + },
  221 + //
124 222 gopath(e) {
125 223 uni.navigateTo({
126 224 url: e
... ... @@ -128,7 +226,7 @@
128 226 },
129 227 toponym() {
130 228 uni.navigateTo({
131   - url:"/pages/toponym/toponym"
  229 + url:"/pages/declaration/newDeclaration"
132 230 })
133 231 },
134 232 tzyl(){
... ... @@ -140,29 +238,68 @@
140 238 lmpsb(){
141 239 uni.navigateTo({
142 240 // url:'/pages/mapdoorplate/mapdoorplate'
143   - url: '/pages/receiptRegistration/receiptRegistration'
  241 + url:'/pages/map1/map'
  242 + // url: '/pages/receiptRegistration/receiptRegistration'
144 243 })
145 244 },
146   - minor() {
147   - uni.navigateTo({
148   - url: '/pages/minor/minor'
  245 + minor() {
  246 + uni.navigateTo({
  247 + // url:'/pages/mapdoorplate/mapdoorplate'
  248 + url: '/pages/receiptRegistration/receiptRegistration'
149 249 })
  250 + // uni.navigateTo({
  251 + // url: '/pages/minor/minor'
  252 + // })
150 253 },
151 254 journalism() {
152 255 uni.navigateTo({
153 256 url: '/pages/journalism/journalism'
154 257 })
  258 + },
  259 + // 获取用户信息
  260 + hquserinfo(){
  261 + var info = {
  262 + userId:uni.getStorageSync("USERS_KEY").userId,
  263 + }
  264 + this.API.hquserinfo(info).then(res=>{
  265 + console.log("获取用户信息",res);
  266 + this.user.nickName = res.data.nickName;
  267 + this.user.avatar = res.data.avatar
  268 + this.user.deptId = res.data.deptId
  269 + console.log("信息",this.user);
  270 + })
155 271 },
156 272 funeral() {
157   - if(uni.getStorageSync('userjs') != '普通用户'){
158   - uni.switchTab({
159   - url: '/pages/my/my'
160   - })
161   - }else{
162   - uni.switchTab({
163   - url: '/pages/funeral/funeral'
164   - })
165   - }
  273 + var info = {
  274 + userId:uni.getStorageSync("USERS_KEY").userId,
  275 + }
  276 + this.API.hquserinfo(info).then(res=>{
  277 + console.log("获取用户信息",res);
  278 + console.log("信息1",res.data.roles[0].roleName,uni.getStorageSync('userjs'));
  279 + if(res.data.roles[0].roleName != uni.getStorageSync('userjs')){
  280 + uni.reLaunch({
  281 + url: '/pages/login/login'
  282 + });
  283 + return
  284 + }
  285 + if(uni.getStorageSync('userjs') == null || uni.getStorageSync('userjs') == undefined){
  286 + uni.reLaunch({
  287 + url: '/pages/login/login'
  288 + });
  289 + return
  290 + }
  291 +
  292 + if(uni.getStorageSync('userjs') != '普通用户'){
  293 + uni.switchTab({
  294 + url: '/pages/my/my'
  295 + })
  296 + }else{
  297 + uni.switchTab({
  298 + url: '/pages/funeral/funeral'
  299 + })
  300 + }
  301 + })
  302 +
166 303 },
167 304 map() {
168 305 uni.navigateTo({
... ...
pages/map1/home.scss 0 → 100644
  1 +.page{
  2 + position: relative;
  3 + width: 100%;
  4 + overflow: hidden;
  5 +}
  6 +
  7 +.cent {
  8 + position: fixed;
  9 + bottom: 0;
  10 + width: 100%;
  11 + .list {
  12 + flex-wrap: wrap;
  13 + .on {
  14 + border: 2rpx solid sandybrown;
  15 + border-radius: 18rpx;
  16 + }
  17 + .item {
  18 + width: 20%;
  19 + height: 100rpx;
  20 + text-align: center;
  21 + font-size: 22rpx;
  22 + font-weight: 500;
  23 + color: #676767;
  24 + background: #FFFFFF;
  25 + // box-sizing: border-box;
  26 + padding: 20rpx 0rpx;
  27 + margin-left: 4%;
  28 + margin-bottom: 20rpx;
  29 + border-radius: 18rpx;
  30 + }
  31 + }
  32 + .list1 {
  33 + background: #FFFFFF;
  34 + padding: 0 30rpx;
  35 + .item {
  36 + width: 100%;
  37 + align-items: center;
  38 + padding: 20rpx 0;
  39 + border-top: 2rpx solid #EEEEEE;
  40 + font-size: 24rpx;
  41 + font-weight: 500;
  42 + color: #676767;
  43 + }
  44 + }
  45 +}
0 46 \ No newline at end of file
... ...
pages/map1/map - 副本.vue 0 → 100644
  1 +<template>
  2 + <view class="page">
  3 + <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
  4 + <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
  5 + <view class="content">
  6 + <!-- <view class="bg"><image src="../../static/img/1.png" mode="widthFix"></image></view> -->
  7 + <view class="map-content">
  8 + <view v-if="isshow1">
  9 + <view class="map-list">
  10 + <view class="map-list-title">区域</view>
  11 + <view class="map-list-icon">
  12 + <view class="map-icon-bg map-icon-bg-all active">全部</view>
  13 + <view class="map-icon-bg">老城区</view>
  14 + <view class="map-icon-bg">城南新区</view>
  15 + <view class="map-icon-bg">城北新区</view>
  16 + </view>
  17 + </view>
  18 + <view class="map-list">
  19 + <view class="map-list-title">街道</view>
  20 + <view class="map-list-icon">
  21 + <view class="map-icon-bg-all active">全部</view>
  22 + <view class="map-icon-bg">文林街道</view>
  23 + <view class="map-icon-bg">普宁街道</view>
  24 + <view class="map-icon-bg">怀仁街道</view>
  25 + <view class="map-icon-more">展开<image src="../../static/down1.png"></image></view>
  26 + </view>
  27 + </view>
  28 + <view class="map-list">
  29 + <view class="map-list-title">镇</view>
  30 + <view class="map-list-icon">
  31 + <view class="map-icon-bg-all active">全部</view>
  32 + <view class="map-icon-bg">文宫镇</view>
  33 + <view class="map-icon-bg">禾加镇</view>
  34 + <view class="map-icon-bg">龙马镇</view>
  35 + <view class="map-icon-more">展开<image src="../../static/down1.png"></image></view>
  36 + </view>
  37 + </view>
  38 + <view class="map-list">
  39 + <view class="map-list-title">乡</view>
  40 + <view class="map-list-icon">
  41 + <view class="map-icon-bg-all active">全部</view>
  42 + <view class="map-icon-bg">青岗乡</view>
  43 + <view class="map-icon-bg">谢安乡</view>
  44 + <view class="map-icon-bg">贵平乡</view>
  45 + <view class="map-icon-more">展开<image src="../../static/down1.png"></image></view>
  46 + </view>
  47 + </view>
  48 + </view>
  49 + <view class="search">
  50 + <view class="search-icon"><image src="../../static/search.png"></image><text>|</text></view>
  51 + <!-- <view class="search-text">
  52 + <text>单位信息</text><image src="../../static/down2.png"></image>
  53 + </view> -->
  54 + <view class="search-input"><input type="text" placeholder="请输入关键词查询" v-model="query.unitName" placeholder-class="inputtext" /></view>
  55 + <view class="search-btn" @click="getlist"><image src="../../static/search1.png"></image></view>
  56 + </view>
  57 + </view>
  58 + <view class="map" style="width: 100%;height: 100%;">
  59 + <map :min-scale="9" id="customMap" :scale="15" :style="'width: 100%;'+ 'height:'+screenHeight" :markers="markers" layer-style="1" subkey="PTOBZ-QDQEG-DK3QM-QMYWN-I5WDZ-CCB6S"
  60 + :latitude="address.latitude" :longitude="address.longitude">
  61 + </map>
  62 + </view>
  63 +
  64 + </view>
  65 +</view>
  66 +</view>
  67 +</template>
  68 +
  69 +<script>
  70 + export default {
  71 + data() {
  72 + return {
  73 + markers:[],
  74 + isshow1:false,
  75 + address: {
  76 + // 纬度
  77 + latitude: 29.99599,
  78 + // 经度
  79 + longitude: 104.13412
  80 + },
  81 + nvConfig:{
  82 + title:"单位查询",
  83 + bgColor:"#ffffff",
  84 + color:"#000000",
  85 + fixedAssist:{
  86 + hide:true,
  87 + },
  88 + transparent:{
  89 + initColor:"#000",
  90 + },
  91 + },
  92 + screenHeight:'',
  93 + list:[],
  94 + query:{
  95 + unitName:''
  96 + }
  97 + }
  98 + },
  99 + onPageScroll(e) {this.$refs.nv.pageScroll(e)},
  100 + computed:{
  101 + pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
  102 + },
  103 + onReady() {
  104 + uni.hideTabBar();
  105 + },
  106 + onLoad() {
  107 + var that = this;
  108 + uni.getSystemInfo({
  109 + success: function(res) {
  110 + that.screenHeight = res.safeArea.height + 'px'
  111 + }
  112 + })
  113 + this.GetLocation()
  114 +
  115 + },
  116 + methods:{
  117 + // 添加门店标记
  118 + addMarkers(list) {
  119 + const positions = []
  120 + list.forEach((item, index) => {
  121 + let box = item.locationPoint.split(',')
  122 + positions.push({
  123 + latitude: box[1],
  124 + longitude: box[0],
  125 + title: item.unitName,
  126 + })
  127 + })
  128 + const newMarkers = []
  129 + positions.forEach((p, i) => {
  130 + // console.log(i)
  131 + newMarkers.push(
  132 + Object.assign({}, {
  133 + id: i + 1,
  134 +
  135 + joinCluster: false, // 指定了该参数才会参与聚合
  136 + label: {
  137 + padding: 10,
  138 + height: 30,
  139 + borderRadius: 10,
  140 + bgColor: '#0098ae',
  141 + color:'#fff',
  142 + content: `${p.title}`
  143 + }
  144 + }, p)
  145 + )
  146 + })
  147 + this.markers = newMarkers
  148 + const markers = newMarkers
  149 + this._mapContext.addMarkers({
  150 + markers,
  151 + clear: false,
  152 + complete(res) {
  153 + console.log('addMarkers', res)
  154 + }
  155 + })
  156 + },
  157 + // 获取单位列表
  158 + getlist(){
  159 + this.API.getunitlist(this.query).then(res=>{
  160 + console.log("单位列表",res);
  161 + this.addMarkers(res.rows)
  162 + })
  163 + },
  164 + //获取定位
  165 + GetLocation () {
  166 + let that = this
  167 + // 获取用户是否开启 授权获取当前的地理位置、速度的权限。
  168 + uni.getSetting({
  169 + success (res) {
  170 + console.log(res)
  171 + // 如果没有授权
  172 + if (!res.authSetting['scope.userLocation']) {
  173 + // 则拉起授权窗口
  174 + uni.authorize({
  175 + scope: 'scope.userLocation',
  176 + success () {
  177 + //点击允许后--就一直会进入成功授权的回调 就可以使用获取的方法了
  178 + uni.getLocation({
  179 + type: 'wgs84',
  180 + success: function (e) {
  181 + console.log('这是当前位置信息', e)
  182 + that.address.latitude = e.latitude;
  183 + that.address.longitude = e.longitude;
  184 + }
  185 + })
  186 + },
  187 + fail (error) {
  188 + //点击了拒绝授权后--就一直会进入失败回调函数--此时就可以在这里重新拉起授权窗口
  189 + console.log('拒绝授权', error)
  190 +
  191 + uni.showModal({
  192 + title: '提示',
  193 + content: '若点击不授权,将无法使用位置功能',
  194 + cancelText: '不授权',
  195 + cancelColor: '#999',
  196 + confirmText: '授权',
  197 + confirmColor: '#f94218',
  198 + success (res) {
  199 + console.log(res)
  200 + if (res.confirm) {
  201 + // 选择弹框内授权
  202 + uni.openSetting({
  203 + success (res) {
  204 + console.log(res.authSetting,'12121')
  205 + uni.getLocation({
  206 + type: 'wgs84',
  207 + success: function (e) {
  208 + console.log('777', error)
  209 + that.address.latitude = e.latitude;
  210 + that.address.longitude = e.longitude;
  211 + },
  212 + fail (error) {
  213 + console.log('失败', error)
  214 + }
  215 + })
  216 + }
  217 + })
  218 + } else if (res.cancel) {
  219 + console.log('用户点击不授权')
  220 + }
  221 + }
  222 + })
  223 + }
  224 + })
  225 + } else {
  226 + uni.getLocation({
  227 + type: 'wgs84',
  228 + success: function (e) {
  229 + console.log('这是当前位置信息', e)
  230 + that.address.latitude = e.latitude;
  231 + that.address.longitude = e.longitude;
  232 + },
  233 + fail (error) {
  234 + console.log('失败', error)
  235 + }
  236 + })
  237 + }
  238 + },
  239 + complete(re) {
  240 + console.log('获取数据', re)
  241 + that.getlist()
  242 + }
  243 + })
  244 + },
  245 + mapstakeline() {
  246 + uni.navigateTo({
  247 + url: '/pages/mapstakeline/mapstakeline'
  248 + })
  249 + },
  250 + maptask() {
  251 + uni.navigateTo({
  252 + url: '/pages/maptask/maptask'
  253 + })
  254 + },
  255 + mapdoorplate() {
  256 + uni.navigateTo({
  257 + url: '/pages/mapdoorplate/mapdoorplate'
  258 + })
  259 + },
  260 + }
  261 + }
  262 +</script>
  263 +
  264 +<style scoped lang="scss">
  265 + @import 'map.scss';
  266 +</style>
... ...
pages/map1/map.vue
1   -<template>
  1 +<template>
2 2 <view class="page">
3   - <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
4   - <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
5   - <view class="content">
6   - <!-- <view class="bg"><image src="../../static/img/1.png" mode="widthFix"></image></view> -->
7   - <view class="map-content">
8   - <view v-if="isshow1">
9   - <view class="map-list">
10   - <view class="map-list-title">区域</view>
11   - <view class="map-list-icon">
12   - <view class="map-icon-bg map-icon-bg-all active">全部</view>
13   - <view class="map-icon-bg">老城区</view>
14   - <view class="map-icon-bg">城南新区</view>
15   - <view class="map-icon-bg">城北新区</view>
16   - </view>
17   - </view>
18   - <view class="map-list">
19   - <view class="map-list-title">街道</view>
20   - <view class="map-list-icon">
21   - <view class="map-icon-bg-all active">全部</view>
22   - <view class="map-icon-bg">文林街道</view>
23   - <view class="map-icon-bg">普宁街道</view>
24   - <view class="map-icon-bg">怀仁街道</view>
25   - <view class="map-icon-more">展开<image src="../../static/down1.png"></image></view>
26   - </view>
  3 + <view class="main">
  4 + <view class="map" style="width: 100%;height: 100%;">
  5 + <map id="customMap" :scale="scaleNum" :style="'width: 100%;'+ 'height:'+screenHeight" :markers="markers" layer-style="1" subkey="PTOBZ-QDQEG-DK3QM-QMYWN-I5WDZ-CCB6S"
  6 + :latitude="address.latitude" :longitude="address.longitude" @regionchange="mapTouchEnd" @labeltap="mapMarkerChange" ></map>
  7 + </view>
  8 + </view>
  9 + <view class="cent" >
  10 + <view class=" list" style="display: flex;">
  11 + <view v-for="(item,index) in icon" :key='index' class="item" :class="type==item.text?'on':''" @click="changmap(item)">
  12 + <view style="height: 60%;">
  13 + <image style="height: 100%;" :src="item.icon" mode="heightFix"></image>
  14 + <!-- <image src="../../static/imgs/index/icon23.png" mode="heightFix"></image> -->
27 15 </view>
28   - <view class="map-list">
29   - <view class="map-list-title">镇</view>
30   - <view class="map-list-icon">
31   - <view class="map-icon-bg-all active">全部</view>
32   - <view class="map-icon-bg">文宫镇</view>
33   - <view class="map-icon-bg">禾加镇</view>
34   - <view class="map-icon-bg">龙马镇</view>
35   - <view class="map-icon-more">展开<image src="../../static/down1.png"></image></view>
  16 + <view style="height: 10%;"></view>
  17 + <view>{{item.text}}</view>
  18 + </view>
  19 + </view>
  20 + <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltoupper="upper"
  21 + @scrolltolower="lower" @scroll="scroll">
  22 + <view class="list1">
  23 + <view v-for="(item,index) in list" :key='index' class="item" style="display: flex;justify-content: space-between;">
  24 + <view style="width: 75%;">
  25 + <view style="font-weight: bold;font-size: 26rpx;margin-bottom: 10rpx;">{{item.title}}</view>
  26 + <view>{{item.address}}</view>
36 27 </view>
37   - </view>
38   - <view class="map-list">
39   - <view class="map-list-title">乡</view>
40   - <view class="map-list-icon">
41   - <view class="map-icon-bg-all active">全部</view>
42   - <view class="map-icon-bg">青岗乡</view>
43   - <view class="map-icon-bg">谢安乡</view>
44   - <view class="map-icon-bg">贵平乡</view>
45   - <view class="map-icon-more">展开<image src="../../static/down1.png"></image></view>
  28 + <view @click="NavigationMap(item)">
  29 + <u-icon name="map-fill" color="#2979ff" size="20"></u-icon>
  30 + <!-- <uni-icons type="paperplane-filled" size="20" color="sandybrown"></uni-icons> -->
46 31 </view>
47 32 </view>
48 33 </view>
49   - <view class="search">
50   - <view class="search-icon"><image src="../../static/search.png"></image><text>|</text></view>
51   - <!-- <view class="search-text">
52   - <text>单位信息</text><image src="../../static/down2.png"></image>
53   - </view> -->
54   - <view class="search-input"><input type="text" placeholder="请输入关键词查询" v-model="query.unitName" placeholder-class="inputtext" /></view>
55   - <view class="search-btn" @click="getlist"><image src="../../static/search1.png"></image></view>
56   - </view>
57   - </view>
58   - <view class="map" style="width: 100%;height: 100%;">
59   - <map :min-scale="9" id="customMap" :scale="15" :style="'width: 100%;'+ 'height:'+screenHeight" :markers="markers" layer-style="1" subkey="PTOBZ-QDQEG-DK3QM-QMYWN-I5WDZ-CCB6S"
60   - :latitude="address.latitude" :longitude="address.longitude">
61   - </map>
62   - </view>
63   -
  34 + </scroll-view>
  35 + </view>
64 36 </view>
65   -</view>
66   -</view>
67   -</template>
68   -
69   -<script>
70   - export default {
71   - data() {
  37 +</template>
  38 +
  39 +<script>
  40 + import utils from '../../service/utils.js'
  41 + import service from '../../service/service.js'
  42 + export default {
  43 +
  44 + data() {
72 45 return {
73   - markers:[],
74   - isshow1:false,
  46 + icon:[
  47 + // {
  48 + // text:'商业街区',
  49 + // icon:'../../static/imgs/index/icon23.png',
  50 + // },
  51 + {
  52 + text:'加油站',
  53 + icon:'../../static/imgs/index/icon24.png',
  54 + },
  55 + {
  56 + text:'停车场',
  57 + icon:'../../static/imgs/index/icon25.png',
  58 + },
  59 + {
  60 + text:'洗车场',
  61 + icon:'../../static/imgs/index/icon26.png',
  62 + },
  63 + {
  64 + text:'充电站',
  65 + icon:'../../static/imgs/index/icon27.png',
  66 + },
  67 + {
  68 + text:'医院',
  69 + icon:'../../static/imgs/index/icon28.png',
  70 + },
  71 + {
  72 + text:'体育场',
  73 + icon:'../../static/imgs/index/icon29.png',
  74 + },
  75 + {
  76 + text:'厕所',
  77 + icon:'../../static/imgs/index/icon30.png',
  78 + },
  79 + // {
  80 + // text:'文化馆',
  81 + // icon:'../../static/imgs/index/icon32.png',
  82 + // },
  83 + // {
  84 + // text:'图书馆',
  85 + // icon:'../../static/imgs/index/icon33.png',
  86 + // },
  87 + // {
  88 + // text:'博物馆',
  89 + // icon:'../../static/imgs/index/icon34.png',
  90 + // },
  91 + ],
  92 + screenHeight:'',
  93 + scrollTop: 0,
  94 + old: {
  95 + scrollTop: 0
  96 + },
75 97 address: {
76 98 // 纬度
77 99 latitude: 29.99599,
78 100 // 经度
79 101 longitude: 104.13412
80 102 },
81   - nvConfig:{
82   - title:"单位查询",
83   - bgColor:"#ffffff",
84   - color:"#000000",
85   - fixedAssist:{
86   - hide:true,
87   - },
88   - transparent:{
89   - initColor:"#000",
90   - },
91   - },
92   - screenHeight:'',
93   - list:[],
94   - query:{
95   - unitName:''
96   - }
97   - }
98   - },
99   - onPageScroll(e) {this.$refs.nv.pageScroll(e)},
100   - computed:{
101   - pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
  103 + _mapContext: undefined,
  104 + markers: [],
  105 + list: [],
  106 + // 缩放比例
  107 + scaleNum: 14,
  108 + mescroll: null, // mescroll实例对象 (此行可删,mixins已默认)
  109 + type:'商业街区'
  110 + }
102 111 },
103 112 onReady() {
104   - uni.hideTabBar();
  113 + // 获取地图实例
  114 + this.markers = []
  115 + this._mapContext = uni.createMapContext("customMap", this);
  116 + console.log('这是地图实力信息', this._mapContext)
  117 + // this.GetLocation()
  118 +
105 119 },
106   - onLoad() {
107   - var that = this;
  120 + onLoad(e) {
  121 + console.log(e.type)
  122 +
  123 + if(e.type) {
  124 + this.GetStoreData(e.type)
  125 + this.type = e.type
  126 + } else {
  127 + this.type = '加油站'
  128 + this.GetStoreData('加油站')
  129 + }
  130 + let that = this
108 131 uni.getSystemInfo({
109 132 success: function(res) {
  133 + console.log('App Launch1111')
  134 + console.log(res.safeArea.height)
110 135 that.screenHeight = res.safeArea.height + 'px'
111   - }
112   - })
113   - this.GetLocation()
  136 + },
114 137  
  138 + })
115 139 },
116   - methods:{
117   - // 添加门店标记
  140 + methods: {
  141 + NavigationMap(e) {
  142 + console.log(e)
  143 + uni.openLocation({
  144 + longitude: parseFloat(e.location.lng),
  145 + latitude: parseFloat(e.location.lat),
  146 + success(e) {
  147 + console.log('拉起导航成功', e)
  148 + },
  149 + fail(error) {
  150 + uni.showToast({
  151 + title: error,
  152 + icon: 'none'
  153 + })
  154 + },
  155 + complete(com) {
  156 + console.log('拉起导航complete', com)
  157 + }
  158 + })
  159 + },
  160 + upper: function(e) {
  161 + // console.log(e)
  162 + },
  163 + lower: function(e) {
  164 + // console.log(e)
  165 + },
  166 + scroll: function(e) {
  167 + // console.log(e)
  168 + this.old.scrollTop = e.detail.scrollTop
  169 + },
  170 + changmap(e) {
  171 + this.type = e.text
  172 + this.markers = []
  173 + this.list = []
  174 + this._mapContext.addMarkers({
  175 + clear: true,
  176 + markers: [],
  177 + success: (res) => {
  178 + console.log('removeMarkers', res)
  179 + },
  180 + })
  181 + this.GetStoreData(e.text)
  182 + },
  183 + mapTouchEnd(e) {
  184 + console.log('回调参数', e)
  185 + },
  186 +
  187 + async mapMarkerChange(e) {
  188 + console.log('标记点', e)
  189 + },
118 190 addMarkers(list) {
119 191 const positions = []
120 192 list.forEach((item, index) => {
121   - let box = item.locationPoint.split(',')
122 193 positions.push({
123   - latitude: box[1],
124   - longitude: box[0],
125   - title: item.unitName,
  194 + latitude: item.location.lat,
  195 + longitude: item.location.lng,
  196 + title: item.title,
  197 + // distance: item.distance,
  198 + // type:item.type==1?'整租':item.type==2?'合租':''
126 199 })
127 200 })
128 201 const newMarkers = []
129 202 positions.forEach((p, i) => {
130   - // console.log(i)
131 203 newMarkers.push(
132 204 Object.assign({}, {
133   - id: i + 1,
134   -
  205 + id: i,
  206 + // iconPath: this.IMG_URL + '/imgs/marks.png',
  207 + width: 20,
  208 + height: 30,
135 209 joinCluster: false, // 指定了该参数才会参与聚合
136   - label: {
137   - padding: 10,
138   - height: 30,
139   - borderRadius: 10,
140   - bgColor: '#0098ae',
141   - color:'#fff',
142   - content: `${p.title}`
143   - }
  210 + // label: {
  211 + // padding: 10,
  212 + // height: 30,
  213 + // borderWidth: 1,
  214 + // borderRadius: 10,
  215 + // bgColor: '#ffffff',
  216 + // color:'#3d3d3d',
  217 + // content: `${p.title}`
  218 + // }
144 219 }, p)
145 220 )
146 221 })
147   - this.markers = newMarkers
148   - const markers = newMarkers
  222 + this.markers = [...this.markers ,...newMarkers]
  223 + const markers = [...this.markers ,...newMarkers]
  224 +
  225 + this.$forceUpdate()
  226 +
149 227 this._mapContext.addMarkers({
150 228 markers,
151 229 clear: false,
152 230 complete(res) {
153   - console.log('addMarkers', res)
  231 + // console.log('addMarkers', res)
154 232 }
155 233 })
156 234 },
157   - // 获取单位列表
158   - getlist(){
159   - this.API.getunitlist(this.query).then(res=>{
160   - console.log("单位列表",res);
161   - this.addMarkers(res.rows)
162   - })
163   - },
164   - //获取定位
165   - GetLocation () {
166   - let that = this
167   - // 获取用户是否开启 授权获取当前的地理位置、速度的权限。
168   - uni.getSetting({
169   - success (res) {
170   - console.log(res)
171   - // 如果没有授权
172   - if (!res.authSetting['scope.userLocation']) {
173   - // 则拉起授权窗口
174   - uni.authorize({
175   - scope: 'scope.userLocation',
176   - success () {
177   - //点击允许后--就一直会进入成功授权的回调 就可以使用获取的方法了
178   - uni.getLocation({
179   - type: 'wgs84',
180   - success: function (e) {
181   - console.log('这是当前位置信息', e)
182   - that.address.latitude = e.latitude;
183   - that.address.longitude = e.longitude;
184   - }
185   - })
186   - },
187   - fail (error) {
188   - //点击了拒绝授权后--就一直会进入失败回调函数--此时就可以在这里重新拉起授权窗口
189   - console.log('拒绝授权', error)
190   -
191   - uni.showModal({
192   - title: '提示',
193   - content: '若点击不授权,将无法使用位置功能',
194   - cancelText: '不授权',
195   - cancelColor: '#999',
196   - confirmText: '授权',
197   - confirmColor: '#f94218',
198   - success (res) {
199   - console.log(res)
200   - if (res.confirm) {
201   - // 选择弹框内授权
202   - uni.openSetting({
203   - success (res) {
204   - console.log(res.authSetting,'12121')
205   - uni.getLocation({
206   - type: 'wgs84',
207   - success: function (e) {
208   - console.log('777', error)
209   - that.address.latitude = e.latitude;
210   - that.address.longitude = e.longitude;
211   - },
212   - fail (error) {
213   - console.log('失败', error)
214   - }
215   - })
216   - }
217   - })
218   - } else if (res.cancel) {
219   - console.log('用户点击不授权')
220   - }
221   - }
  235 +
  236 + // 获取门店列表
  237 + async GetStoreData(e) {
  238 + let that = this
  239 + wx.request({
  240 + //地图WebserviceAPI地点搜索接口请求路径及参数(具体使用方法请参考开发文档)
  241 + url: 'https://apis.map.qq.com/ws/place/v1/search?page_index=1&page_size=20&boundary=region(仁寿县,0)&key=JSMBZ-IH4WB-AHOU5-JIQ4B-RONK3-FRBL4&keyword='+e,
  242 + success(res){
  243 + // console.log(res.data.data)
  244 + that.addMarkers(res.data.data)
  245 + that.list = res.data.data
  246 + // console.log(res.data.count)
  247 + if(res.data.count > 20) {
  248 + // console.log(res.data.count/20)
  249 + // console.log(Math.ceil(res.data.count/20))
  250 + let c1 = Math.ceil(res.data.count/20)
  251 + for (let i = 1; i <= c1; i++) {
  252 + // console.log(i)
  253 + if(i == 1) {
  254 +
  255 + } else if(i == 2) {
  256 + wx.request({
  257 + //地图WebserviceAPI地点搜索接口请求路径及参数(具体使用方法请参考开发文档)
  258 + url: 'https://apis.map.qq.com/ws/place/v1/search?page_size=20&boundary=region(资中县,0)&key=JSMBZ-IH4WB-AHOU5-JIQ4B-RONK3-FRBL4&keyword=' + e + '&page_index=' + i,
  259 + success(res){
  260 + // console.log(res.data.data)
  261 + that.addMarkers(res.data.data)
  262 + that.list =[...that.list,...res.data.data]
  263 + }
222 264 })
  265 + } else {
  266 +
223 267 }
224   - })
  268 + }
  269 +
225 270 } else {
226   - uni.getLocation({
227   - type: 'wgs84',
228   - success: function (e) {
229   - console.log('这是当前位置信息', e)
230   - that.address.latitude = e.latitude;
231   - that.address.longitude = e.longitude;
232   - },
233   - fail (error) {
234   - console.log('失败', error)
235   - }
236   - })
  271 + console.log('不够')
237 272 }
238   - },
239   - complete(re) {
240   - console.log('获取数据', re)
241   - that.getlist()
242   - }
  273 + }
243 274 })
  275 + // this.API.GetArticleList({...this.model,...this.addressqq}).then(res => {
  276 + // console.log('获取门店列表', res)
  277 + // for (let i = 0; i < res.data.list.length; i++) {
  278 + // console.log(res.data.list[i].distance )
  279 + // res.data.list[i].distance = this.WAY.kmUnit(res.data.list[i].distance)
  280 + // console.log(res.data.list[i].distance )
  281 + // }
  282 + // this.addMarkers(res.data.list)
  283 + // this.list = res.data.list
  284 + // })
244 285 },
245   - mapstakeline() {
246   - uni.navigateTo({
247   - url: '/pages/mapstakeline/mapstakeline'
248   - })
  286 + downCallback() {
  287 + this.mescroll.endSuccess();
249 288 },
250   - maptask() {
251   - uni.navigateTo({
252   - url: '/pages/maptask/maptask'
253   - })
  289 + upCallback(page) {
  290 + setTimeout(() => {
  291 + this.mescroll.endByPage(10, 20);
  292 + }, 2000)
254 293 },
255   - mapdoorplate() {
  294 + ConfirmOrder(e) {
256 295 uni.navigateTo({
257   - url: '/pages/mapdoorplate/mapdoorplate'
  296 + url: '/pages/houseCent/houseCent?id='+ e
258 297 })
259 298 },
260   - }
261   - }
262   -</script>
263   -
264   -<style scoped lang="scss">
265   - @import 'map.scss';
266   -</style>
  299 + }
  300 + };
  301 +</script>
  302 +
  303 +<style scoped lang="scss">
  304 + @import 'home.scss';
  305 + .scroll-Y {
  306 + height: 400rpx;
  307 + background: #ffffff;
  308 + }
  309 + .manpCenter {
  310 + width: 60rpx;
  311 + height: 60rpx;
  312 + position: absolute;
  313 + // z-index: 111 !important;
  314 + left: calc(50% - 24rpx);
  315 + top: calc(50% - 77rpx); // 按道理是-38.5rpx,但是会比实际偏上一点,设置-77rpx视觉上比较符合实际
  316 + }
  317 +
  318 + .titleSetting {
  319 + box-shadow: 2px 2px 10px #e0e0e0;
  320 + text-align: center;
  321 + font-size: 20rpx;
  322 + color: black;
  323 + line-height: 28rpx;
  324 + background-color: white;
  325 + height: 28rpx;
  326 + padding: 10rpx 15rpx 10rpx 15rpx;
  327 + position: absolute;
  328 + // z-index: 111 !important;
  329 + left: calc(50% - 80rpx);
  330 + top: calc(50% - 130rpx); // 按道理是-38.5rpx,但是会比实际偏上一点,设置-77rpx视觉上比较符合实际
  331 + }
  332 +
  333 + .centerview1 {
  334 +
  335 + margin: 0 auto;
  336 + width: 100%;
  337 + border: 1px solid #f2e2ac;
  338 + border-radius: 10px;
  339 + background: linear-gradient(270deg, #878787 0%, #282828 100%);
  340 + text-align: center;
  341 + z-index: 99999999999;
  342 + height: 40px;
  343 + line-height: 40px;
  344 + color: white;
  345 + animation: scaleDrawC 2s;
  346 + transform-origin: 50% 50%;
  347 + -webkit-animation-name: scaleDrawC !important;
  348 + /*关键帧名称*/
  349 + -webkit-animation-timing-function: ease-in-out;
  350 + /*动画的速度曲线*/
  351 + -webkit-animation-iteration-count: infinite;
  352 + /*动画播放的次数*/
  353 + -webkit-animation-duration: 2s;
  354 + }
  355 +</style>
... ...
pages/mapdoorplate/mapdoorplate.vue
... ... @@ -19,7 +19,7 @@
19 19 <view class="serve-title">路门牌情况</view>
20 20 <view class="serve-right">
21 21 <picker @change="bindPickerChange" :value="index" :range="array">
22   - <view class="uni-input">{{sign.roadStatus?sign.roadStatus:'请选择'}}
  22 + <view :class="sign.roadStatus?'uni-input1':'uni-input2'">{{sign.roadStatus?sign.roadStatus:'请选择'}}
23 23 </view>
24 24 </picker>
25 25 <image src="../../static/down3.png"></image>
... ... @@ -34,7 +34,7 @@
34 34 <view>
35 35 <input id="name" @input="oninput" v-module="sign.name"
36 36 placeholder="请输入" style="text-align: right;"
37   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  37 + placeholder-style="color: #909090;font-size: 26rpx;" />
38 38 </view>
39 39 </view>
40 40 </view>
... ... @@ -46,7 +46,7 @@
46 46 <view>
47 47 <input id="contactName" @input="oninput" v-module="sign.contactName"
48 48 placeholder="请输入" style="text-align: right;"
49   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  49 + placeholder-style="color: #909090;font-size: 26rpx;" />
50 50 </view>
51 51 </view>
52 52 </view>
... ... @@ -58,7 +58,7 @@
58 58 <view>
59 59 <input id="phone" @input="oninput" v-module="sign.phone"
60 60 placeholder="请输入" style="text-align: right;"
61   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  61 + placeholder-style="color: #909090;font-size: 26rpx;" />
62 62 </view>
63 63 </view>
64 64 </view>
... ... @@ -68,7 +68,8 @@
68 68 <view class="serve">
69 69 <view class="serve-title">详细地址</view>
70 70 <view class="serve-right" @tap="openaddress">
71   - <view class="uni-input">{{sign.address?sign.address:'请选择'}}</view>
  71 + <view :class="sign.roadStatus?'uni-input1':'uni-input2'">{{sign.address?sign.address:'请选择'}}</view>
  72 + <image src="../../static/down3.png"></image>
72 73 </view>
73 74 </view>
74 75 </view>
... ... @@ -80,7 +81,7 @@
80 81 <view>
81 82 <input id="remark" @input="oninput" v-module="sign.remark"
82 83 placeholder="请输入" style="text-align: right;"
83   - placeholder-style="color:#3d3d3d;font-weight: bold;" />
  84 + placeholder-style="color: #909090;font-size: 26rpx;" />
84 85 </view>
85 86 </view>
86 87 </view>
... ... @@ -126,7 +127,7 @@
126 127 fileList: [],
127 128 OrderType: 0,
128 129 nvConfig: {
129   - title: "路门牌上报",
  130 + title: "地名标志牌需求申报",
130 131 bgColor: "#ffffff",
131 132 color: "#000000",
132 133 fixedAssist: {
... ... @@ -138,7 +139,7 @@
138 139 applyId: uni.getStorageSync('USERS_KEY').userId,
139 140 createdUser: uni.getStorageSync('USERS_KEY').userId,
140 141 roadStatus: null, //请选择路门牌情况
141   - status: '待审核', //审核状态
  142 + status: '待处理', //审核状态
142 143 name: null, //名称
143 144 phone: null, //联系电话
144 145 address: null, //详细地址
... ... @@ -149,7 +150,7 @@
149 150 inspectionImage:null,//图片
150 151 },
151 152  
152   - array:['正常','需维修', '需更换'] ,
  153 + array:['新申报','报修', '查询'] ,
153 154  
154 155 };
155 156 },
... ... @@ -251,6 +252,19 @@
251 252 </script>
252 253  
253 254 <style scoped lang="scss">
  255 + .uni-input1 {
  256 + color:#3d3d3d;
  257 + // font-weight: bold;
  258 +
  259 + }
  260 + .uni-input2 {
  261 + color: #909090;
  262 +
  263 + }
  264 + input {
  265 + color: #3d3d3d;
  266 + font-size: 26rpx;
  267 + }
254 268 .listBox {
255 269 position: relative;
256 270 z-index: 1;
... ... @@ -395,13 +409,13 @@
395 409 width: 100%;
396 410  
397 411 .serve-title {
398   - font-size: 25rpx;
  412 + font-size: 26rpx;
399 413 color: #909090;
400 414 }
401 415  
402 416 .serve-right {
403   - font-size: 25rpx;
404   - font-weight: bold;
  417 + font-size: 26rpx;
  418 + // font-weight: bold;
405 419 display: flex;
406 420 align-items: center;
407 421 justify-content: flex-end;
... ...
pages/mapstakeline/mapstakeline.scss
  1 +.skip-btn{
  2 + display: flex;
  3 + align-items: center;
  4 + justify-content: center;
  5 + width: 100%;
  6 + height: 100rpx;
  7 + margin-top: 70rpx;
  8 + position: fixed;
  9 + bottom: 30rpx;
  10 + .cart-add{
  11 + display: flex;
  12 + align-items: center;
  13 + justify-content: center;
  14 + width: 38%;
  15 + image {
  16 + width: 253rpx;
  17 + height: 80rpx;
  18 + box-shadow: 5rpx 10rpx 20rpx 0 #efefef;
  19 + border-radius: 100rpx;
  20 + }
  21 + text{
  22 + font-size: 30rpx;
  23 + font-weight: bold;
  24 + color: #262626;
  25 + position: absolute;
  26 + z-index: 1;
  27 + }
  28 + }
  29 + .buy-at{
  30 + display: flex;
  31 + align-items: center;
  32 + justify-content: center;
  33 + width: 58%;
  34 + image {
  35 + width: 415rpx;
  36 + height: 80rpx;
  37 + box-shadow: 5rpx 10rpx 20rpx 0 #b7c8ff;
  38 + border-radius: 100rpx;
  39 + }
  40 + text{
  41 + font-size: 30rpx;
  42 + font-weight: bold;
  43 + color: #FFFFFF;
  44 + position: absolute;
  45 + z-index: 1;
  46 + }
  47 + }
  48 +}
1 49 .listBox{
2 50 position: relative;
3 51 z-index: 1;
4 52 }
5 53 .content {
6 54 width: 100%;
7   - padding-top: 100rpx;
  55 + // padding-top: 100rpx;
8 56 }
9 57 .coupon-tab {
10 58 position: fixed;
... ... @@ -51,13 +99,14 @@
51 99 .topimg {
52 100 margin-bottom: 25rpx;
53 101 width: 100%;
  102 + background: #fff;
54 103 image {
55 104 width: 100%;
56 105 border-radius: 20rpx;
57 106 }
58 107 }
59 108 .user-list{
60   - padding: 25rpx;
  109 +
61 110 .list{
62 111 position: relative;
63 112 display: flex;
... ...
pages/mapstakeline/mapstakeline.vue
1   -<template>
  1 +<template>
2 2 <view class="page">
3   - <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
4   -<!-- <view class="coupon-tab" :style="{'padding-top':(pageTop+'px')}">
  3 + <!-- <pyh-nv ref="nv" :config="nvConfig"></pyh-nv> -->
  4 + <!-- <view class="coupon-tab" :style="{'padding-top':(pageTop+'px')}">
5 5 <view class="tab" :class="{'action':TabShow===0}" @click="onCouponTab(0)">
6 6 <text>全部</text>
7 7 <text class="line"></text>
... ... @@ -20,34 +20,58 @@
20 20 </view>
21 21 </view> -->
22 22 <!-- <view class="listBox" :style="{'padding-top':(pageTop+'px')}"> -->
23   - <view class="content">
24   - <!-- 列表 -->
25   - <view class="user-list">
26   - <view class="topimg">
27   - <map style="width: 100%;" :min-scale="9" id="customMap" :scale="15" :markers="markers" layer-style="1" subkey="PTOBZ-QDQEG-DK3QM-QMYWN-I5WDZ-CCB6S"
  23 + <view class="content">
  24 + <!-- 列表 -->
  25 + <view class="user-list">
  26 + <view class="topimg" style="padding: 25rpx;">
  27 + <u-input placeholder="请输入" v-model="text">
  28 + <template slot="suffix">
  29 + <u-button @tap="getCode" text="搜索" type="primary" size="mini" ></u-button>
  30 + </template>
  31 +
  32 + </u-input>
  33 +
  34 + <!-- <map style="width: 100%;" :min-scale="9" id="customMap" :scale="15" :markers="markers" layer-style="1" subkey="PTOBZ-QDQEG-DK3QM-QMYWN-I5WDZ-CCB6S"
28 35 :latitude="address.latitude" :longitude="address.longitude">
29   - </map>
30   - </view>
31   - <view class="list" @click="mapstakelinedetail(item)" v-for="(item,index) in list" :key="index">
32   - <view class="title">
33   - <view>{{item.markerNumber}}【{{item.markerType}}】</view>
34   - <text>位置:{{item.location}}</text>
  36 + </map> -->
  37 + </view>
  38 + <view style="padding: 0 25rpx;">
  39 + <view class="list" @click="mapstakelinedetail(item)" v-for="(item,index) in list" :key="index">
  40 + <view class="title">
  41 + <view>{{item.markerNumber}}【{{item.markerSpecification||'-'}}】</view>
  42 + <text>位置:{{item.location}}</text>
  43 + </view>
  44 + <!-- <view class="more-content">
  45 + <view class="more-content-img"><text class="more-content-text">正常</text><image src="../../static/right.png"></image></view>
  46 + </view> -->
  47 + </view>
35 48 </view>
36   - <!-- <view class="more-content">
37   - <view class="more-content-img"><text class="more-content-text">正常</text><image src="../../static/right.png"></image></view>
38   - </view> -->
39 49 </view>
40 50 </view>
41   - </view>
42   - </view>
43   - </view>
44   -</template>
45   -
46   -<script>
47   - export default {
48   - data() {
  51 +<!-- <view class="page-footer">
  52 + <view class="footer-buy">
  53 + <view class="cart-add" @click="mapdoorplatesuccess">
  54 + <image src="../../static/btn5.png"></image>
  55 + <text>添加界桩</text>
  56 + </view>
  57 + </view>
  58 + </view> -->
  59 +<!-- <view class="skip-btn">
  60 + <view class="cart-add" @click="gopath('/pages/mapstakelinedetail/addmapstakelinedetail')">
  61 + <image src="../../static/btn3.png"></image>
  62 + <text>添加界桩</text>
  63 + </view>
  64 + </view> -->
  65 + </view>
  66 +
  67 +</template>
  68 +
  69 +<script>
  70 + export default {
  71 + data() {
49 72 return {
50   - markers:[],
  73 + text:'',
  74 + markers: [],
51 75 address: {
52 76 // 纬度
53 77 latitude: 29.99599,
... ... @@ -55,36 +79,51 @@
55 79 longitude: 104.13412
56 80 },
57 81 TabShow: 0,
58   - nvConfig:{
59   - title:"界桩界线管护",
60   - bgColor:"#ffffff",
61   - color:"#000000",
62   - fixedAssist:{
63   - hide:true,
  82 + nvConfig: {
  83 + title: "界桩界线管护",
  84 + bgColor: "#ffffff",
  85 + color: "#000000",
  86 + fixedAssist: {
  87 + hide: true,
64 88 },
65 89 },
66   - list:[],
67   - pages:{
68   - pageNum:1,
69   - pageSize:10
70   - }
71   - }
  90 + list: [],
  91 + pages: {
  92 + pageNum: 1,
  93 + pageSize: 10,
  94 + markerNumber:''
  95 + }
  96 + }
  97 + },
  98 + onPageScroll(e) {
  99 + // this.$refs.nv.pageScroll(e)
72 100 },
73   - onPageScroll(e) {this.$refs.nv.pageScroll(e)},
74   - computed:{
75   - pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
  101 + computed: {
  102 + pageTop() {
  103 + return parseInt(88 * uni.getSystemInfoSync().windowWidth / 750) + uni.getSystemInfoSync().statusBarHeight
  104 + }
76 105 },
77   - onLoad() {
  106 + onShow() {
78 107 this.getlist();
79 108 },
80   - methods:{
  109 + methods: {
  110 + gopath(e) {
  111 + uni.navigateTo({
  112 + url: e
  113 + })
  114 + },
  115 + getCode(e) {
  116 + console.log(this.text)
  117 + this.pages.markerNumber = this.text
  118 + this.getlist();
  119 + },
81 120 addMarkers(list) {
82 121 const positions = []
83 122 list.forEach((item, index) => {
84   -
  123 +
85 124 positions.push({
86 125 latitude: item.latitude,
87   - longitude:item.longitude,
  126 + longitude: item.longitude,
88 127 title: item.markerNumber,
89 128 })
90 129 })
... ... @@ -94,14 +133,14 @@
94 133 newMarkers.push(
95 134 Object.assign({}, {
96 135 id: i,
97   -
  136 +
98 137 joinCluster: false, // 指定了该参数才会参与聚合
99 138 label: {
100 139 padding: 10,
101 140 height: 30,
102 141 borderRadius: 10,
103 142 bgColor: '#0098ae',
104   - color:'#fff',
  143 + color: '#fff',
105 144 content: `${p.title}`
106 145 }
107 146 }, p)
... ... @@ -118,25 +157,64 @@
118 157 })
119 158 },
120 159 // 获取我的任务的列表
121   - getlist(){
122   - this.API.getplie(this.pages).then(res=>{
123   - console.log("界桩",res);
  160 + getlist() {
  161 + this.API.getplie(this.pages).then(res => {
  162 + console.log("界桩", res);
124 163 this.list = res.rows
125   - this.addMarkers(this.list)
  164 + // this.addMarkers(this.list)
126 165 })
127 166 },
128   - onCouponTab(type){
  167 + onCouponTab(type) {
129 168 this.TabShow = type;
130 169 },
131 170 mapstakelinedetail(e) {
132 171 uni.navigateTo({
133   - url: '/pages/mapstakelinedetail/mapstakelinedetail?cent='+JSON.stringify(e)
  172 + url: '/pages/mapstakelinedetail/mapstakelinedetail?cent=' + JSON.stringify(e)
134 173 })
135 174 },
136   - }
137   - }
138   -</script>
139   -
140   -<style scoped lang="scss">
141   - @import 'mapstakeline.scss';
142   -</style>
  175 + }
  176 + }
  177 +</script>
  178 +
  179 +<style scoped lang="scss">
  180 + @import 'mapstakeline.scss';
  181 +
  182 + /* 底部 */
  183 + .page-footer {
  184 + position: fixed;
  185 + bottom: 40rpx;
  186 + // margin: 30rpx;
  187 + display: flex;
  188 + height: 100rpx;
  189 + width: 100%;
  190 +
  191 + .footer-buy {
  192 + height: 100%;
  193 + width: 100%;
  194 +
  195 + .cart-add {
  196 + display: flex;
  197 + align-items: center;
  198 + justify-content: center;
  199 + margin-top: 60rpx;
  200 +
  201 + image {
  202 + position: absolute;
  203 + z-index: 0;
  204 + width: 95%;
  205 + height: 83rpx;
  206 + box-shadow: 5rpx 10rpx 20rpx 0 #b7c8ff;
  207 + border-radius: 100rpx;
  208 + }
  209 +
  210 + text {
  211 + font-size: 30rpx;
  212 + font-weight: bold;
  213 + color: #fff;
  214 + position: absolute;
  215 + z-index: 1;
  216 + }
  217 + }
  218 + }
  219 + }
  220 +</style>
143 221 \ No newline at end of file
... ...
pages/mapstakelinedetail/addmapstakelinedetail.vue 0 → 100644
  1 +<template>
  2 + <view class="page">
  3 + <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
  4 + <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
  5 + <view class="content">
  6 + <view class="message-list">
  7 + <view v-for="(item,index) in textlist" :key="index">
  8 + <view class="info-box" v-if="item.type == '7'">
  9 + <view class="info-box-list">
  10 + <view class="serve">
  11 + <view class="serve-title">{{item.name}}<span v-if="item.isbx"
  12 + style="color: red;margin-left: 6rpx;">*</span></view>
  13 + <view class="serve-right">
  14 + <picker range-key="name" mode="multiSelector" @columnchange="columnChange"
  15 + @change="e=> bindPickerChange2(e,index)" :range="array1" :value="idx">
  16 + <view :class="item.cent?'uni-input1':'uni-input2'">
  17 + {{item.cent?item.cent:'请选择'}}
  18 + </view>
  19 + </picker>
  20 + <image src="../../static/down3.png"></image>
  21 + </view>
  22 + </view>
  23 + </view>
  24 + </view>
  25 + <view class="info-box" v-else-if="item.type == '1'">
  26 + <view class="info-box-list">
  27 + <view class="serve">
  28 + <view class="serve-title">{{item.name}}<span v-if="item.isbx"
  29 + style="color: red;margin-left: 6rpx;">*</span></view>
  30 + <view>
  31 + <u-input placeholder="请输入" border="none" v-model="item.cent" inputAlign="right"
  32 + fontSize="13px" color="#3d3d3d"
  33 + placeholderStyle="color: #909090;font-size: 26rpx;"></u-input>
  34 + </view>
  35 + </view>
  36 + </view>
  37 + </view>
  38 + <view class="info-box" v-else-if="item.type == '2'">
  39 + <view class="info-box-list">
  40 + <view class="serve">
  41 + <view class="serve-title">{{item.name}}<span v-if="item.isbx"
  42 + style="color: red;margin-left: 6rpx;">*</span></view>
  43 + <view class="serve-right">
  44 + <picker @change="e=> bindPickerChange1(e,index,'array3')" :range="array3">
  45 + <view :class="item.cent?'uni-input1':'uni-input2'">
  46 + {{item.cent?item.cent:'请选择'}}
  47 + </view>
  48 + </picker>
  49 + <image src="../../static/down3.png"></image>
  50 + </view>
  51 + </view>
  52 + </view>
  53 + </view>
  54 + <view v-else-if="item.type == '3'">
  55 + <view class="info-box">
  56 + <view class="info-box-list">
  57 + <view class="serve">
  58 + <view class="serve-title">{{item.name}}<span v-if="item.isbx"
  59 + style="color: red;margin-left: 6rpx;">*</span></view>
  60 + <view class="serve-right" @tap="openaddress(index)">
  61 + <view :class="item.cent?'uni-input1':'uni-input2'">
  62 + {{item.cent?item.cent:'请选择'}}
  63 + </view>
  64 + <image src="../../static/down3.png"></image>
  65 + </view>
  66 + </view>
  67 + </view>
  68 + </view>
  69 + <view class="info-box" v-if="item.latitude">
  70 + <view class="info-box-list">
  71 + <view class="serve">
  72 + <view class="serve-title">纬度<span v-if="item.isbx"
  73 + style="color: red;margin-left: 6rpx;">*</span></view>
  74 + <view class="serve-right" @tap="openaddress(index)">
  75 + <view :class="item.latitude?'uni-input1':'uni-input2'">
  76 + {{item.latitude?item.latitude:'请选择'}}
  77 + </view>
  78 + <image src="../../static/down3.png"></image>
  79 + </view>
  80 + </view>
  81 + </view>
  82 + </view>
  83 + <view class="info-box" v-if="item.longitude">
  84 + <view class="info-box-list">
  85 + <view class="serve">
  86 + <view class="serve-title">经度<span v-if="item.isbx"
  87 + style="color: red;margin-left: 6rpx;">*</span></view>
  88 + <view class="serve-right" @tap="openaddress(index)">
  89 + <view :class="item.longitude?'uni-input1':'uni-input2'">
  90 + {{item.longitude?item.longitude:'请选择'}}
  91 + </view>
  92 + <image src="../../static/down3.png"></image>
  93 + </view>
  94 + </view>
  95 + </view>
  96 + </view>
  97 + </view>
  98 +
  99 + <view class="info-box" v-else-if="item.type == '4'">
  100 + <view class="info-box-list">
  101 + <view class="serve">
  102 + <view class="serve-title">{{item.name}}<span v-if="item.isbx"
  103 + style="color: red;margin-left: 6rpx;">*</span></view>
  104 + <view class="serve-right" @tap="opentime(index)">
  105 + <view :class="item.cent?'uni-input1':'uni-input2'">{{item.cent?item.cent:'请选择'}}
  106 + </view>
  107 + <image src="../../static/down3.png"></image>
  108 + </view>
  109 + </view>
  110 + </view>
  111 + </view>
  112 + <view class="info-box" v-else-if="item.type == '5'">
  113 + <view class="info-box-list">
  114 + <view class="info-box-width" style="width: 100%;">
  115 + <view class="info-box-small">{{item.name}}<span v-if="item.isbx"
  116 + style="color: red;margin-left: 6rpx;">*</span></view>
  117 + <view style="margin-top: 20rpx;">
  118 + <textarea
  119 + style="border: solid 1px #eee;border-radius: 18rpx;padding: 20rpx;font-weight: 500;font-size: 26rpx;"
  120 + placeholder-style="color: #909090;font-size: 26rpx;font-weight: 100;"
  121 + placeholder="请输入" :class="item.cent?'uni-input1':'uni-input2'"
  122 + v-model="item.cent"></textarea>
  123 + <!-- <u-textarea count :value="item.cent" placeholder="请输入" placeholderStyle="color: #909090;font-size: 26rpx;font-weight: 500;"></u-textarea> -->
  124 + </view>
  125 + </view>
  126 + </view>
  127 + </view>
  128 + <view class="info-box" v-else-if="item.type == '6'">
  129 + <view class="info-box-list">
  130 + <view class="serve">
  131 + <view class="serve-title">{{item.name}}<span v-if="item.isbx"
  132 + style="color: red;margin-left: 6rpx;">*</span></view>
  133 + <view class="serve-right">
  134 + <picker @change="e=> bindPickerChange1(e,index,'markerTypelist2')" :range="markerTypelist2">
  135 + <view :class="item.cent?'uni-input1':'uni-input2'">
  136 + {{item.cent?item.cent:'请选择'}}
  137 + </view>
  138 + </picker>
  139 + <image src="../../static/down3.png"></image>
  140 + </view>
  141 + </view>
  142 + </view>
  143 + </view>
  144 + <view class="info-box" v-else-if="item.type == '8'">
  145 + <view class="info-box-list">
  146 + <view class="serve">
  147 + <view class="serve-title">{{item.name}}<span v-if="item.isbx"
  148 + style="color: red;margin-left: 6rpx;">*</span></view>
  149 + <view class="serve-right">
  150 + <picker @change="e=> bindPickerChange1(e,index,'markerTypelist1')"
  151 + :range="markerTypelist1">
  152 + <view :class="item.cent?'uni-input1':'uni-input2'">
  153 + {{item.cent?item.cent:'请选择'}}
  154 + </view>
  155 + </picker>
  156 + <image src="../../static/down3.png"></image>
  157 + </view>
  158 + </view>
  159 + </view>
  160 + </view>
  161 + </view>
  162 + </view>
  163 + <view class="message-list">
  164 + <view class="info-box">
  165 + <view class="info-box-list">
  166 + <view class="info-box-width" style="width: 100%;">
  167 + <view class="info-box-small">图片</view>
  168 + <view style="margin-top: 20rpx;width: 100%;">
  169 + <u-upload name="1" multiple :fileList="fileList" @delete="deletePic"
  170 + @afterRead="afterRead" :previewFullImage="true" :maxCount="1"></u-upload>
  171 + </view>
  172 + </view>
  173 + </view>
  174 + </view>
  175 + </view>
  176 + <!-- <view class="message-list">
  177 + <view class="info-box">
  178 + <view class="info-box-list">
  179 + <view class="info-box-width" style="width: 100%;">
  180 + <view class="info-box-small">多媒体信息</view>
  181 + <view style="margin-top: 20rpx;width: 100%;">
  182 + <sczl :imagelist="mtbox.imgcent" :wjlist="mtbox.filecent" @onchangfileJsonimg="e=>{onchangfileJsonimg(e)}" @onchangfileJsonfile="e=>{onchangfileJsonfile(e)}"></sczl>
  183 +
  184 +
  185 + </view>
  186 + </view>
  187 + </view>
  188 + </view>
  189 + </view> -->
  190 + <view class="page-footer">
  191 + <view class="footer-buy">
  192 + <view class="cart-add" @click="mapdoorplatesuccess">
  193 + <image src="../../static/btn5.png"></image>
  194 + <text>保存</text>
  195 + </view>
  196 + </view>
  197 + </view>
  198 +
  199 + </view>
  200 + </view>
  201 + <uni-calendar ref="calendar" :insert="false" @confirm="confirm" />
  202 + </view>
  203 +</template>
  204 +
  205 +<script>
  206 + import service from '@/service/service.js'
  207 + import BASE_URL from "@/common/config.js"
  208 + import sczl from "@/components/sczl.vue"
  209 + export default {
  210 + data() {
  211 + return {
  212 + fileList: [],
  213 + markerTypelist1: ['石材','钢材'],
  214 + markerTypelist2: ['小型', '中型', '大型'],
  215 + mtbox: {
  216 + imgcent: [],
  217 + filecent: [],
  218 + },
  219 + idx: [0, 0, 0, 0],
  220 + array1: [],
  221 + array2: ['可公开', '不宜公开', '大洋怪重', '不属于地名'],
  222 + array4: ['现今地名', '历史地名', '本地名删除'],
  223 + time: null,
  224 + array3: getApp().globalData.list1,
  225 + BASE_URL,
  226 + nvConfig: {
  227 + title: "修改界桩",
  228 + bgColor: "#ffffff",
  229 + color: "#000000",
  230 + fixedAssist: {
  231 + hide: true,
  232 + },
  233 + },
  234 + lbbox: [],
  235 + textlist: [{
  236 + name: '界线名称',
  237 + type: '1',
  238 + isbx: false,
  239 + cent: '',
  240 + from: 'boundaryName'
  241 + },
  242 + {
  243 + name: '界桩编号',
  244 + type: '1',
  245 + isbx: false,
  246 + cent: '',
  247 + from: 'markerNumber'
  248 + },
  249 + {
  250 + name: '界桩规格',
  251 + type: '6',
  252 + isbx: false,
  253 + cent: '',
  254 + from: 'markerSpecification'
  255 + },
  256 + {
  257 + name: '界桩材质',
  258 + type: '8',
  259 + isbx: false,
  260 + cent: '',
  261 + from: 'unit'
  262 + },
  263 + {
  264 + name: '高程',
  265 + type: '1',
  266 + isbx: false,
  267 + cent: '',
  268 + from: 'elevation'
  269 + },
  270 + {
  271 + name: '所在地',
  272 + type: '3',
  273 + isbx: false,
  274 + cent: '',
  275 + from: 'location'
  276 + },
  277 + {
  278 + name: '录入时间',
  279 + type: '4',
  280 + isbx: false,
  281 + cent: '',
  282 + from: 'enteredTime'
  283 + },
  284 + {
  285 + name: '录入人姓名',
  286 + type: '1',
  287 + isbx: false,
  288 + cent: '',
  289 + from: 'enteredUser'
  290 + },
  291 + ]
  292 + };
  293 + },
  294 + components: {
  295 + sczl
  296 + },
  297 + computed: {
  298 + pageTop() {
  299 + return parseInt(88 * uni.getSystemInfoSync().windowWidth / 750) + uni.getSystemInfoSync().statusBarHeight
  300 + }
  301 + },
  302 + onLoad(params) {
  303 + let from = params.cent?JSON.parse(params.cent):''
  304 + console.log(from)
  305 + this.from = params.cent?JSON.parse(params.cent):''
  306 + if(from) {
  307 + for (let i = 0; i < this.textlist.length; i++) {
  308 + if(this.textlist[i].from == 'location') {
  309 + this.textlist[i].cent =from[this.textlist[i].from]
  310 + this.textlist[i].longitude = from.longitude
  311 + this.textlist[i].latitude = from.latitude
  312 + } else {
  313 + this.textlist[i].cent = from[this.textlist[i].from]
  314 + }
  315 + }
  316 + this.fileList.push({
  317 + name: from.imageInfo,
  318 + fileId: from.imageInfo,
  319 + url: this.BASE_URL + from.imageInfo
  320 + })
  321 + }
  322 + },
  323 + methods: {
  324 + async afterRead(event) {
  325 + for (let i = 0; i < event.file.length; i++) {
  326 + var res = await this.uploadImg(event.file[i].url)
  327 + // console.log(res)
  328 + res = JSON.parse(res.data)
  329 + this.fileList.push({
  330 + name: res.fileName,
  331 + fileId: res.newFileName,
  332 + url: this.BASE_URL + res.fileName
  333 + })
  334 + }
  335 + },
  336 + uploadImg(url) {
  337 + return new Promise((r, e) => {
  338 + uni.uploadFile({
  339 + url: this.BASE_URL + "/common/upload",
  340 + filePath: url,
  341 + name: "file",
  342 + success: (d) => r(d)
  343 + })
  344 + })
  345 + },
  346 + deletePic(event) {
  347 + this.fileList.splice(event.index, 1)
  348 + },
  349 + gopath(e) {
  350 + uni.navigateTo({
  351 + url: e
  352 + })
  353 + },
  354 + onchangfileJsonimg(e, ) {
  355 + console.log(e);
  356 + this.mtbox.imgcent = e
  357 + },
  358 + onchangfileJsonfile(e) {
  359 + console.log(e);
  360 + this.mtbox.filecent = e
  361 + },
  362 + confirm(e) {
  363 + this.textlist[this.time].cent = e.fulldate
  364 + },
  365 + opentime(e) {
  366 + this.$refs.calendar.open();
  367 + this.time = e
  368 + },
  369 + mapdoorplatesuccess() {
  370 + console.log(this.from)
  371 + for (let i = 0; i < this.textlist.length; i++) {
  372 + if(this.textlist[i].from == 'location') {
  373 + this.from[this.textlist[i].from] = this.textlist[i].cent
  374 + this.from.longitude = this.textlist[i].longitude
  375 + this.from.latitude = this.textlist[i].latitude
  376 + } else {
  377 + this.from[this.textlist[i].from] = this.textlist[i].cent
  378 + }
  379 + }
  380 + if(this.fileList.length>0) {
  381 + this.from.imageInfo = this.fileList[0].name
  382 + }
  383 + console.log(this.from)
  384 + // return
  385 + this.API.removeplie(this.from).then(res => {
  386 + console.log(res);
  387 + if (res.code == 200) {
  388 + uni.showToast({
  389 + icon: 'success',
  390 + title: "修改成功",
  391 + })
  392 + setTimeout(() => {
  393 + uni.navigateTo({
  394 + url: '/pages/mapstakelinedetail/mapstakelinedetail?cent=' + JSON.stringify(this.from)
  395 + })
  396 + // uni.navigateBack({
  397 + // delta: 2
  398 + // });
  399 + }, 800)
  400 +
  401 + }
  402 + })
  403 + },
  404 + bindPickerChange2: function(e, e1) {
  405 + console.log('picker发送选择改变,携带值为', e, e1, this.array1)
  406 + let box1 = this.array1[0]
  407 + let box2 = this.array1[1]
  408 + let box3 = this.array1[2]
  409 + let box4 = this.array1[3]
  410 + this.textlist[e1].cent = box4[e.detail.value[3]] ? box4[e.detail.value[3]].name : box3[e.detail.value[
  411 + 2]] ? box3[e.detail.value[2]].name : box2[e.detail.value[1]] ? box2[e.detail.value[1]].name :
  412 + box1[e.detail.value[0]].name
  413 + },
  414 + bindPickerChange1: function(e, e1, e2) {
  415 + console.log('picker发送选择改变,携带值为', e, e1, e2)
  416 + this.textlist[e1].cent = this[e2][e.detail.value]
  417 + },
  418 + openaddress(e) {
  419 + let that = this
  420 + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
  421 + wx.chooseLocation({
  422 + success: function(res) {
  423 + that.textlist[e].cent = res.address
  424 + that.textlist[e].latitude = res.latitude
  425 + that.textlist[e].longitude = res.longitude
  426 + console.log(res)
  427 + },
  428 + fail(err) {
  429 + console.log(err)
  430 + }
  431 + });
  432 + },
  433 + // picker的列发生变化时
  434 + columnChange(e) {
  435 + // column列索引(0-第一列) value是列中数组索引
  436 + this.updatelist(parseInt(e.target.column), parseInt(e.target.value))
  437 + },
  438 + updatelist(col, idx) {
  439 + console.log(col, idx)
  440 + let data = this.lbbox
  441 + let list = this.array1 // 视图渲染
  442 + list[0] = data[0] // picker的第一列数据
  443 + // 当第一列变化时
  444 + if (col == 0) {
  445 + // 更新第二列的数据
  446 + list[1] = list[0][idx] ? data[1].filter(ele => ele.pid == list[0][idx].id) : []
  447 + // 更新第三列的数据
  448 + list[2] = list[1][0] ? data[2].filter(ele => ele.pid == list[1][0].id) : []
  449 + list[3] = list[2][0] ? data[3].filter(ele => ele.pid == list[2][0].id) : []
  450 + this.idx = [idx, 0, 0, 0]
  451 + }
  452 + // 当第二列变化时
  453 + if (col == 1) {
  454 + // 只用更新第三列数据
  455 + list[2] = list[1][idx] ? data[2].filter(ele => ele.pid == list[1][idx].id) : []
  456 + list[3] = list[2][0] ? data[3].filter(ele => ele.pid == list[2][0].id) : []
  457 + this.idx = [this.idx[0], idx, 0, 0]
  458 + }
  459 + // 当第三列变化时
  460 + if (col == 2) {
  461 + // 只用更新第三列数据
  462 + list[3] = list[2][idx] ? data[3].filter(ele => ele.pid == list[2][idx].id) : []
  463 + this.idx = [this.idx[0], this.idx[1], idx, 0]
  464 + }
  465 + // 更新list,更新picker视图
  466 + this.array1 = list
  467 + }
  468 + }
  469 + }
  470 +</script>
  471 +
  472 +<style scoped lang="scss">
  473 + .uni-input1 {
  474 + color: #3d3d3d;
  475 + // font-weight: bold;
  476 +
  477 + }
  478 +
  479 + .uni-input2 {
  480 + color: #909090;
  481 +
  482 + }
  483 +
  484 + .listBox {
  485 + position: relative;
  486 + z-index: 1;
  487 + }
  488 +
  489 + .content {
  490 + width: 100%;
  491 + padding-bottom: 120rpx;
  492 + }
  493 +
  494 + .titleall-left {
  495 + font-size: 28rpx;
  496 + font-weight: bold;
  497 + display: flex;
  498 + align-items: center;
  499 + margin: 30rpx;
  500 +
  501 + .titleall-left-line {
  502 + width: 10rpx;
  503 + height: 25rpx;
  504 + border-radius: 18rpx;
  505 + background-color: #547DFF;
  506 + margin-right: 20rpx;
  507 + box-shadow: inset 0rpx 4rpx 9rpx 0rpx rgba(255, 255, 255, 0.34), 5rpx 7rpx 9rpx 0rpx rgba(80, 161, 255, 0.33);
  508 + }
  509 + }
  510 +
  511 + .top-box {
  512 + display: flex;
  513 + justify-content: space-between;
  514 + margin: 30rpx;
  515 + font-size: 28rpx;
  516 + font-weight: bold;
  517 + background-color: #fff;
  518 + border-radius: 21rpx;
  519 + padding: 30rpx;
  520 +
  521 + .top-box-img {
  522 + image {
  523 + width: 40rpx;
  524 + height: 40rpx;
  525 + }
  526 + }
  527 + }
  528 +
  529 + .titleall-box {
  530 + display: flex;
  531 + justify-content: space-between;
  532 + padding: 40rpx 20rpx 20rpx 0;
  533 +
  534 + .titleall-left {
  535 + font-size: 32rpx;
  536 + font-weight: bold;
  537 + display: flex;
  538 + align-items: center;
  539 +
  540 + .titleall-left-line {
  541 + width: 14rpx;
  542 + height: 36rpx;
  543 + border-radius: 0 10rpx 10rpx 0;
  544 + background-color: #667FFF;
  545 + box-shadow: 0 0 10rpx 5rpx #d1d9ff;
  546 + margin-right: 20rpx;
  547 + }
  548 +
  549 + text {
  550 + font-size: 28rpx;
  551 + color: #999999;
  552 + }
  553 + }
  554 + }
  555 +
  556 + .message-list {
  557 + // background-color: #FFFFFF;
  558 + // border-radius: 20rpx;
  559 + font-size: 25rpx;
  560 + margin: 25rpx;
  561 +
  562 + .info-box {
  563 + padding: 0 40rpx;
  564 + background: #FFFFFF;
  565 + border-radius: 21rpx;
  566 + margin-bottom: 15rpx;
  567 +
  568 + .info-box-list {
  569 + display: flex;
  570 + align-items: center;
  571 + border-bottom: 2rpx solid #ececec;
  572 + padding-top: 20rpx;
  573 + padding-bottom: 20rpx;
  574 +
  575 + .width100 {
  576 + width: 100% !important;
  577 + }
  578 +
  579 + .info-box-width {
  580 + width: 50%;
  581 + font-size: 30rpx;
  582 + font-weight: bold;
  583 +
  584 + .info-box-small {
  585 + font-size: 26rpx;
  586 + color: #a8a8a8;
  587 + font-weight: 500;
  588 + margin-top: 10rpx;
  589 + }
  590 +
  591 + .info-box-list-img {
  592 + margin-top: 30rpx;
  593 +
  594 + image {
  595 + width: 180rpx;
  596 + height: 180rpx;
  597 + border-radius: 20rpx;
  598 + }
  599 + }
  600 +
  601 + .input-text {
  602 + font-size: 30rpx;
  603 + }
  604 +
  605 + .inputtext {
  606 + color: #3d3d3d;
  607 + }
  608 +
  609 + .textarea {
  610 + background-color: #F7F7F7;
  611 + border-radius: 20rpx;
  612 + width: 100%;
  613 + margin-top: 20rpx;
  614 + padding: 20rpx;
  615 + font-size: 28rpx;
  616 + font-weight: normal;
  617 + min-height: 80rpx;
  618 + }
  619 + }
  620 +
  621 + .serve {
  622 + display: flex;
  623 + justify-content: space-between;
  624 + align-items: center;
  625 + width: 100%;
  626 +
  627 + .serve-title {
  628 + font-size: 26rpx;
  629 + color: #909090;
  630 + }
  631 +
  632 + .serve-right {
  633 + font-size: 26rpx;
  634 + // font-weight: bold;
  635 + display: flex;
  636 + align-items: center;
  637 + justify-content: flex-end;
  638 +
  639 + text {
  640 + color: #FC4444;
  641 + }
  642 +
  643 + image {
  644 + width: 20rpx;
  645 + height: 20rpx;
  646 + margin-left: 10rpx;
  647 + }
  648 + }
  649 + }
  650 + }
  651 +
  652 + .info-box-list:last-child {
  653 + border-bottom: 0;
  654 + }
  655 + }
  656 + }
  657 +
  658 + /* 底部 */
  659 + .page-footer {
  660 + margin: 30rpx;
  661 + display: flex;
  662 + height: 100rpx;
  663 +
  664 + .footer-buy {
  665 + height: 100%;
  666 + width: 100%;
  667 +
  668 + .cart-add {
  669 + display: flex;
  670 + align-items: center;
  671 + justify-content: center;
  672 + margin-top: 60rpx;
  673 +
  674 + image {
  675 + position: absolute;
  676 + z-index: 0;
  677 + width: 95%;
  678 + height: 83rpx;
  679 + box-shadow: 5rpx 10rpx 20rpx 0 #b7c8ff;
  680 + border-radius: 100rpx;
  681 + }
  682 +
  683 + text {
  684 + font-size: 30rpx;
  685 + font-weight: bold;
  686 + color: #fff;
  687 + position: absolute;
  688 + z-index: 1;
  689 + }
  690 + }
  691 + }
  692 + }
  693 +</style>
0 694 \ No newline at end of file
... ...
pages/mapstakelinedetail/mapstakelinedetail.vue
... ... @@ -20,13 +20,17 @@
20 20 <view class="info-box">
21 21 <view class="info-box-list">
22 22 <view class="info-box-width">
23   - <view>{{info.markerNumber}}</view>
  23 + <view>{{info.markerNumber || '-'}}</view>
24 24 <view class="info-box-small">界桩编号</view>
25 25 </view>
26 26 <view class="info-box-width">
  27 + <view>{{info.boundaryName || '-'}}</view>
  28 + <view class="info-box-small">界线名称</view>
  29 + </view>
  30 + <!-- <view class="info-box-width">
27 31 <view>北纬{{info.latitude}},东经{{info.longitude}}</view>
28 32 <view class="info-box-small">经纬度</view>
29   - </view>
  33 + </view> -->
30 34 </view>
31 35 <view class="info-box-list">
32 36 <view class="info-box-width">
... ... @@ -34,14 +38,24 @@
34 38 <view class="info-box-small">高程</view>
35 39 </view>
36 40 <view class="info-box-width">
37   - <view>{{info.location}}</view>
  41 + <view>{{info.location || '-'}}</view>
38 42 <view class="info-box-small">位置</view>
39 43 </view>
40 44 </view>
41 45 <view class="info-box-list">
42 46 <view class="info-box-width">
43   - <view>{{info.markerType}}</view>
44   - <view class="info-box-small">类型</view>
  47 + <view>{{info.longitude?info.longitude:'-'}}</view>
  48 + <view class="info-box-small">东经</view>
  49 + </view>
  50 + <view class="info-box-width">
  51 + <view>{{info.latitude?info.latitude:'-'}}</view>
  52 + <view class="info-box-small">北纬</view>
  53 + </view>
  54 + </view>
  55 + <view class="info-box-list">
  56 + <view class="info-box-width">
  57 + <view>{{info.markerSpecification?info.markerSpecification:'-'}}</view>
  58 + <view class="info-box-small">规格</view>
45 59 </view>
46 60 <view class="info-box-width">
47 61 <view>{{info.unit?info.unit:'-'}}</view>
... ... @@ -54,8 +68,8 @@
54 68 <view class="info-box-small">设立时间</view>
55 69 </view>
56 70 <view class="info-box-width">
57   - <view>{{info.updatedTime?info.updatedTime:'-'}}</view>
58   - <view class="info-box-small">最近更新时间</view>
  71 + <view>{{info.enteredUser?info.enteredUser:'-'}}</view>
  72 + <view class="info-box-small">录入人姓名</view>
59 73 </view>
60 74 </view>
61 75 <view class="info-box-list" v-if="info.imageInfo">
... ... @@ -133,16 +147,16 @@
133 147  
134 148 </view>
135 149  
136   -<!-- <view class="skip-btn">
137   - <view class="cart-add">
  150 + <view class="skip-btn">
  151 + <view class="cart-add" @click="gopath('/pages/mapstakelinedetail/addmapstakelinedetail?cent='+JSON.stringify(info))">
138 152 <image src="../../static/btn3.png"></image>
139 153 <text>资料修改</text>
140 154 </view>
141   - <view class="buy-at">
  155 + <!-- <view class="buy-at">
142 156 <image src="../../static/btn1.png"></image>
143 157 <text>界桩巡检情况上报</text>
144   - </view>
145   - </view> -->
  158 + </view> -->
  159 + </view>
146 160  
147 161 </view>
148 162 </view>
... ... @@ -199,6 +213,11 @@
199 213  
200 214 },
201 215 methods: {
  216 + gopath(e) {
  217 + uni.navigateTo({
  218 + url: e
  219 + })
  220 + },
202 221 getlist() {
203 222 this.API.getpatrol(this.pages).then(res=>{
204 223 console.log("巡检",res);
... ...
pages/maptask/maptask.scss
... ... @@ -4,28 +4,20 @@
4 4 }
5 5 .content {
6 6 width: 100%;
7   - padding-top: 100rpx;
  7 +
8 8 }
9 9 .coupon-tab {
10   - position: fixed;
11   - left: 0;
12   - top: 0;
13   - z-index: 10;
14 10 display: flex;
15 11 align-items: center;
16 12 width: 100%;
17   - height: 190rpx;
18   - /* #ifdef MP-WEIXIN */
19   - height: 220rpx;
20   - /* #endif */
21 13 background-color: #ffffff;
  14 +
22 15 .tab {
23 16 position: relative;
24 17 display: flex;
25 18 align-items: center;
26 19 justify-content: center;
27 20 width: 33%;
28   - height: 100%;
29 21 text {
30 22 font-size: 28rpx;
31 23 color: #7C7C7C;
... ...
pages/maptask/maptask.vue
1   -<template>
  1 +<template>
2 2 <view class="page">
3   - <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
4   - <view class="coupon-tab" :style="{'padding-top':(pageTop+'px')}">
  3 + <view class="coupon-tab" >
5 4 <view class="tab" :class="{'action':TabShow===0}" @click="onCouponTab(0)">
6   - <text>全部</text>
  5 + <text style="margin-bottom: 20rpx;">全部</text>
7 6 <text class="line"></text>
8 7 </view>
9 8 <view class="tab" :class="{'action':TabShow===1}" @click="onCouponTab(1)">
10   - <text>未处理</text>
  9 + <text style="margin-bottom: 20rpx;">未处理</text>
11 10 <text class="line"></text>
12 11 </view>
13 12 <view class="tab" :class="{'action':TabShow===2}" @click="onCouponTab(2)">
14   - <text>已处理</text>
  13 + <text style="margin-bottom: 20rpx;">已处理</text>
15 14 <text class="line"></text>
16 15 </view>
17 16 </view>
18   - <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
19   - <view class="content">
20   - <!-- 列表 -->
21   - <view class="user-list">
22   - <view class="list" v-for="item in list" @click="maptaskdetail(item)">
23   - <view class="title">
24   - <view >{{item.taskName}}</view>
25   - <!-- <text>{{item.taskStatus}}</text> -->
26   - </view>
27   - <view class="more-content">
28   - <view class="more-content-img"><text class="more-content-text">{{item.taskStatus}}</text><image src="../../static/right.png"></image></view>
  17 + <view class="listBox" >
  18 + <view class="content" >
  19 + <!-- 列表 -->
  20 + <view class="user-list">
  21 + <view class="list" v-for="item in list" @click="maptaskdetail(item)">
  22 + <view class="title">
  23 + <view>{{item.taskName}}</view>
  24 + <!-- <text>{{item.taskStatus}}</text> -->
  25 + </view>
  26 + <view class="more-content">
  27 + <view class="more-content-img"><text class="more-content-text" :style="item.taskStatus=='已处理'?'background: #00D970;':''">{{item.taskStatus}}</text>
  28 + <image src="../../static/right.png"></image>
  29 + </view>
  30 + </view>
  31 + </view>
29 32 </view>
30 33 </view>
31 34 </view>
32   - </view>
33   - </view>
34   - </view>
35   -</template>
36   -
37   -<script>
38   - export default {
39   - data() {
  35 + </view>
  36 +</template>
  37 +
  38 +<script>
  39 + export default {
  40 + data() {
40 41 return {
41 42 TabShow: 0,
42   - nvConfig:{
43   - title:"我的任务",
44   - bgColor:"#ffffff",
45   - color:"#000000",
46   - fixedAssist:{
47   - hide:true,
  43 + nvConfig: {
  44 + title: "我的任务",
  45 + bgColor: "#ffffff",
  46 + color: "#000000",
  47 + fixedAssist: {
  48 + hide: true,
48 49 },
49 50 },
50   - list:[],
51   - pages:{
52   - pageNum:1,
53   - pageSize:10,
54   - taskStatus:'',
55   - toUser:uni.getStorageSync('USERS_KEY').phonenumber
56   - }
57   - }
  51 + list: [],
  52 + pages: {
  53 + pageNum: 1,
  54 + pageSize: 10,
  55 + taskStatus: '',
  56 + toUser: uni.getStorageSync('USERS_KEY').phonenumber
  57 + }
  58 + }
  59 + },
  60 + onPageScroll(e) {
  61 + this.$refs.nv.pageScroll(e)
58 62 },
59   - onPageScroll(e) {this.$refs.nv.pageScroll(e)},
60   - computed:{
61   - pageTop(){return parseInt(88*uni.getSystemInfoSync().windowWidth/750) + uni.getSystemInfoSync().statusBarHeight}
  63 + computed: {
  64 + pageTop() {
  65 + return parseInt(88 * uni.getSystemInfoSync().windowWidth / 750) + uni.getSystemInfoSync().statusBarHeight
  66 + }
62 67 },
63 68 onShow() {
64 69 this.getwdrwlist();
65 70 },
66   - methods:{
  71 + methods: {
67 72 // 获取我的任务的列表
68   - getwdrwlist(){
69   - this.API.getwdrwlist(this.pages).then(res=>{
70   - console.log("我的任务列表",res);
  73 + getwdrwlist() {
  74 + this.API.getwdrwlist(this.pages).then(res => {
  75 + console.log("我的任务列表", res);
71 76 this.list = res.rows
72 77 })
73 78 },
74   - onCouponTab(type){
  79 + onCouponTab(type) {
75 80 this.TabShow = type;
76   - if(type == 0){
  81 + if (type == 0) {
77 82 this.pages.taskStatus = ''
78 83 }
79   - if(type == 1){
  84 + if (type == 1) {
80 85 this.pages.taskStatus = '未处理'
81 86 }
82   - if(type == 2){
  87 + if (type == 2) {
83 88 this.pages.taskStatus = '已处理'
84 89 }
85 90  
... ... @@ -91,10 +96,10 @@
91 96 url: '/pages/maptaskdetail/maptaskdetail?info=' + info
92 97 })
93 98 },
94   - }
95   - }
96   -</script>
97   -
98   -<style scoped lang="scss">
99   - @import 'maptask.scss';
100   -</style>
  99 + }
  100 + }
  101 +</script>
  102 +
  103 +<style scoped lang="scss">
  104 + @import 'maptask.scss';
  105 +</style>
101 106 \ No newline at end of file
... ...
pages/maptaskdetail/maptaskdetail.scss
... ... @@ -160,8 +160,8 @@
160 160 width: 94%;
161 161 position: fixed;
162 162 bottom: 30rpx;
163   - background: rgba(255,255,255,0.63);
164   - border-radius: 30rpx;
  163 + // background: rgba(255,255,255,0.63);
  164 + // border-radius: 30rpx;
165 165 .bottom-two {
166 166 display: flex;
167 167 justify-content: space-between;
... ...
pages/my/my.vue
... ... @@ -10,7 +10,7 @@
10 10 <view class="my-top">
11 11 <view class="user-info">
12 12 <view class="portrait" @click="tzmy">
13   - <image :src="Baseapi + user.avatar"></image>
  13 + <image :src="user.avatar"></image>
14 14 </view>
15 15 <view class="info">
16 16 <view class="nickname">
... ... @@ -18,56 +18,27 @@
18 18 </view>
19 19 <view class="rank">
20 20 <image src="../../static/id.png"></image>
21   - <text>{{user.roleIds}}</text>
22   - <!-- <image class="rank-img" src="../../static/copy.png"></image> -->
  21 + <text>{{user.userId}}</text>
23 22 </view>
24 23 </view>
25 24 </view>
26 25 </view>
27   -
28   - <!-- <view class="order-content">
29   - <view class="titleall-box">
30   - <view class="titleall-left"><view class="titleall-left-line"></view>商城订单</view>
31   - <view class="titleall-right" @click="onSkipOrder(0)">全部订单<image src="../../static/right1.png"></image></view>
32   - </view>
33   - <view class="order-info">
34   - <view class="list" @click="onSkipOrder(1)">
35   - <view class="icon">
36   - <image src="../../static/my1.png"></image>
37   - </view>
38   - <view class="title">
39   - <text>待付款</text>
40   - </view>
41   - </view>
42   - <view class="list" @click="onSkipOrder(2)">
43   - <view class="icon">
44   - <image src="../../static/my2.png"></image>
45   - </view>
46   - <view class="title">
47   - <text>已付款</text>
48   - </view>
49   - </view>
50   - <view class="list" @click="onSkipOrder(2)">
51   - <view class="icon">
52   - <image src="../../static/my3.png"></image>
53   - </view>
54   - <view class="title">
55   - <text>已完成</text>
  26 + <view class="message-list">
  27 + <!-- 司机列表 -->
  28 + <view class="" v-if="sjshow">
  29 + <view class="titleall-box" style="margin-bottom: -20rpx;">
  30 + <view class="titleall-left"><view class="titleall-left-line"></view>服务</view>
56 31 </view>
  32 + <hcxx v-if="sjshow"></hcxx>
57 33 </view>
58   - <view class="list" @click="onSkipOrder(3)">
59   - <view class="icon">
60   - <image src="../../static/my4.png"></image>
61   - </view>
62   - <view class="title">
63   - <text>待评价</text>
  34 + <!-- 收敛工列表 -->
  35 + <view class="" v-if="slgshow">
  36 + <view class="titleall-box" style="margin-bottom: -40rpx;">
  37 + <view class="titleall-left"><view class="titleall-left-line"></view>服务</view>
64 38 </view>
  39 + <slgxx v-if="slgshow"></slgxx>
65 40 </view>
66   - </view>
67   - </view> -->
68   -
69   - <view class="message-list">
70   - <view class="titleall-box">
  41 + <view class="titleall-box" v-if="!sjshow && !slgshow">
71 42 <view class="titleall-left"><view class="titleall-left-line"></view>我的服务</view>
72 43 </view>
73 44 <view class="list" @click="mydeath" v-if="ptyhshow || ddyshow">
... ... @@ -115,64 +86,24 @@
115 86 <text class="iconfont icon-more"></text>
116 87 </view>
117 88 </view>
118   - <view class="list" @click="hcxx" v-if="sjshow">
119   - <view class="icon-data">
120   - <view class="icon">
121   - <image src="/static/my-icon6.png" mode=""></image>
122   - </view>
123   - <view class="data">
124   - <view class="title">
125   - <text>司机消息</text>
126   - </view>
127   - </view>
128   - </view>
129   - <view class="more">
130   - <text class="iconfont icon-more"></text>
131   - </view>
132   - </view>
133   - <view class="list" @click="slgxx" v-if="slgshow">
134   - <view class="icon-data">
135   - <view class="icon">
136   - <image src="/static/my-icon6.png" mode=""></image>
137   - </view>
138   - <view class="data">
139   - <view class="title">
140   - <text>收敛工消息</text>
141   - </view>
142   - </view>
143   - </view>
144   - <view class="more">
145   - <text class="iconfont icon-more"></text>
146   - </view>
147   - </view>
148   - <view class="list" @click="dhbs" v-if="ddyshow">
149   - <view class="icon-data">
150   - <view class="icon">
151   - <image src="/static/my-icon6.png" mode=""></image>
152   - </view>
153   - <view class="data">
154   - <view class="title">
155   - <text>电话报丧</text>
156   - </view>
157   - </view>
158   - </view>
159   - <view class="more">
160   - <text class="iconfont icon-more"></text>
161   - </view>
162   - </view>
163 89 </view>
164 90 </view>
165 91 </view>
166 92 <!-- tabbar -->
167   - <TabBar :tabBarShow="3"></TabBar>
  93 + <TabBar :tabBarShow="3" v-if="!sjshow && !slgshow"></TabBar>
168 94 </view>
169 95 </template>
170 96  
171 97 <script>
172 98 import TabBar from '../../components/TabBar/TabBar.vue';
  99 + import hcxx from '../hcxx/hcxx.vue'
  100 + // url: '/pages/slgxx/slgxx'
  101 + import slgxx from '../slgxx/slgxx.vue'
173 102 export default {
174 103 components: {
175   - TabBar
  104 + TabBar,
  105 + hcxx,
  106 + slgxx
176 107 },
177 108 data() {
178 109 return {
... ... @@ -193,7 +124,7 @@
193 124 },
194 125 user:{
195 126 nickName:"",
196   - deptId:"",
  127 + userId:"",
197 128 avatar:""
198 129 },
199 130 sjshow:false,
... ... @@ -245,7 +176,7 @@
245 176 console.log("获取用户信息",res);
246 177 this.user.nickName = res.data.nickName;
247 178 this.user.avatar = res.data.avatar
248   - this.user.deptId = res.data.deptId
  179 + this.user.userId = res.data.userId
249 180 console.log("信息",this.user);
250 181 })
251 182 },
... ...
pages/mydeathdetail/mydeathdetail.vue
... ... @@ -7,10 +7,11 @@
7 7 <view class="top">
8 8 <view class="topphone">
9 9 <view class="topphonebg"><image src="../../static/btn.png"></image></view>
10   - <view class="topphonetext"><image src="../../static/phone1.png"></image>联系电话</view>
  10 + <view @click="lxdh" class="topphonetext"><image src="../../static/phone1.png"></image>联系电话</view>
11 11 </view>
12 12 <!-- <view class="topimg"><image src="../../static/img/05.jpg" mode="widthFix"></image></view> -->
13   - <map v-if="mapshow" style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" :markers="covers">
  13 + <!-- <map v-if="mapshow" style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" :markers="covers"> -->
  14 + <map v-if="mapshow" style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" scale="18" :polyline="polyline">
14 15 </map>
15 16 </view>
16 17  
... ... @@ -137,6 +138,14 @@
137 138 longitude: 116.39742,
138 139 iconPath: '../../../static/location.png'
139 140 }],
  141 +
  142 + polyline: [{
  143 + points: [],
  144 + color: "#31c27c",
  145 + width: 10,
  146 + arrowLine: true,
  147 + borderWidth: 2 //线的边框宽度,还有很多参数,请看文档
  148 + }]
140 149 };
141 150 },
142 151 onPageScroll(e) {this.$refs.nv.pageScroll(e)},
... ... @@ -150,6 +159,20 @@
150 159 // this.OrderType = params.type;
151 160 },
152 161 methods:{
  162 + lxdh(){
  163 + uni.showModal({
  164 + title: '联系电话',
  165 + content: '028-36241643',
  166 + success: function(res) {
  167 + if (res.confirm) {
  168 + console.log('点击了确认')
  169 + } else {
  170 + console.log('点击了取消')
  171 + }
  172 + }
  173 + })
  174 +
  175 + },
153 176 /**
154 177 * 返回点击
155 178 */
... ... @@ -182,7 +205,11 @@
182 205 this.API.getbsdetail(id).then(res=>{
183 206 console.log(11111);
184 207 console.log("用户订单",res);
185   - this.getGps(res.data.vehicleNumber);
  208 + if(res.data.vehicleNumber != null){
  209 + this.getGps(res.data.vehicleNumber);
  210 + }else{
  211 + this.mapshow = false
  212 + }
186 213 this.number = res.data.funeralOrderDetailsInfoPo.quantityNumber
187 214 this.price = res.data.funeralOrderDetailsInfoPo.unitPrice
188 215 this.API.getspjcxx(res.data.funeralOrderDetailsInfoPo.productId).then(res1=>{
... ... @@ -209,6 +236,17 @@
209 236 "EndTime":"20231010150000",
210 237 "MinSpeed":"1",
211 238 "NeedAddress":"0",
  239 +
  240 + // "Action":"GetVehicleGpsInfo",
  241 + // "UserId":"user",
  242 + // "Pwd":"6B18CFA67F76F079B0BFFBD773DC4494",
  243 + // "Vehicles":[
  244 + // {
  245 + // "PlateNum":vehicleNumber,
  246 + // "ColorCode":"1"
  247 + // }
  248 + // ],
  249 + // "NeedAddress":0
212 250 }
213 251 }
214 252 info.request.BeginTime = BeginTime;
... ... @@ -224,6 +262,23 @@
224 262 this.longitude = res.Data[len].Longitude
225 263 this.covers[0].latitude = res.Data[len].Latitude
226 264 this.covers[0].longitude = res.Data[len].Longitude
  265 +
  266 + // this.latitude = data[0][1]
  267 + // this.longitude = data[0][0]
  268 + let points = []
  269 + res.Data.forEach(item => {
  270 + points.push({
  271 + latitude: item.Latitude,
  272 + longitude: item.Longitude
  273 + })
  274 + })
  275 + this.polyline = [{
  276 + points: points,
  277 + color: "#31c27c",
  278 + width: 4,
  279 + arrowLine: true,
  280 + // borderWidth: 2 //线的边框宽度,还有很多参数,请看文档
  281 + }]
227 282 }
228 283  
229 284 })
... ...
pages/myinfo/myinfo.vue
... ... @@ -82,7 +82,7 @@
82 82 this.fileList.push({
83 83 name:"1",
84 84 fileId:res.newFileName,
85   - url: this.BASE_URL + res.data.avatar
  85 + url: res.data.avatar
86 86 })
87 87 this.nickName = res.data.nickName;
88 88 })
... ... @@ -96,7 +96,7 @@
96 96 var info = {
97 97 userId:uni.getStorageSync("USERS_KEY").userId,
98 98 nickName:this.nickName,
99   - avtar:this.fileList[0].url
  99 + avatar:this.fileList[0].url
100 100 }
101 101 this.API.xguserinfo(info).then(res=>{
102 102 console.log("修改用户信息",res);
... ...
pages/myreservation/myreservation.vue
... ... @@ -37,9 +37,9 @@
37 37 <view class="goods-name-title" v-if="OrderType== 0">火化预约</view>
38 38 <view class="goods-name-title" v-if="OrderType== 1">礼堂预约</view>
39 39 <view class="goods-name-title" v-if="OrderType== 2">骨灰寄存</view>
40   - <view v-if="OrderType== 0">预约时间:{{item.scheduledCremationDate}}</view>
41   - <view v-if="OrderType== 1">预约时间:{{item.scheduledStartTime}}</view>
42   - <view v-if="OrderType== 2">预约时间:{{item.storageStartTime}}</view>
  40 + <view v-if="OrderType== 0">预约时间:{{item.createdTime}}</view>
  41 + <view v-if="OrderType== 1">预约时间:{{item.createdTime}}</view>
  42 + <view v-if="OrderType== 2">预约时间:{{item.createdTime}}</view>
43 43  
44 44 </view>
45 45 </view>
... ...
pages/myreservationdetail/myreservationdetail.vue
... ... @@ -5,12 +5,14 @@
5 5 <view class="content">
6 6  
7 7 <view class="top">
  8 + <map v-if="mapshow" style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" scale="18" :polyline="polyline">
  9 + </map>
8 10 <view class="topphone">
9 11 <view class="topphonebg"><image src="../../static/btn.png"></image></view>
10   - <view class="topphonetext"><image src="../../static/phone1.png"></image>联系电话</view>
  12 + <view @click="lxdh" class="topphonetext"><image src="../../static/phone1.png"></image>联系电话</view>
11 13 </view>
12   - <map v-if="mapshow" style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" :markers="covers">
13   - </map>
  14 + <!-- <map v-if="mapshow" style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude" :markers="covers"> -->
  15 +
14 16 <!-- <view class="topimg"><image src="../../static/img/05.jpg" mode="widthFix"></image></view> -->
15 17 </view>
16 18  
... ... @@ -135,6 +137,14 @@
135 137 longitude: 116.39742,
136 138 iconPath: '../../../static/location.png'
137 139 }],
  140 +
  141 + polyline: [{
  142 + points: [],
  143 + color: "#31c27c",
  144 + width: 10,
  145 + arrowLine: true,
  146 + borderWidth: 2 //线的边框宽度,还有很多参数,请看文档
  147 + }]
138 148 };
139 149 },
140 150 onPageScroll(e) {this.$refs.nv.pageScroll(e)},
... ... @@ -147,6 +157,20 @@
147 157 // this.OrderType = params.type;
148 158 },
149 159 methods:{
  160 + lxdh(){
  161 + uni.showModal({
  162 + title: '联系电话',
  163 + content: '028-36241643',
  164 + success: function(res) {
  165 + if (res.confirm) {
  166 + console.log('点击了确认')
  167 + } else {
  168 + console.log('点击了取消')
  169 + }
  170 + }
  171 + })
  172 +
  173 + },
150 174 /**
151 175 * 返回点击
152 176 */
... ... @@ -179,12 +203,18 @@
179 203 this.API.getbsdetail(id).then(res=>{
180 204 console.log(11111);
181 205 console.log("用户订单",res);
182   - this.getGps(res.data.vehicleNumber);
  206 + // this.getGps(res.data.vehicleNumber);
  207 + if(res.data.vehicleNumber != ''){
  208 + this.getGps(res.data.vehicleNumber);
  209 + }else{
  210 + this.mapshow = false
  211 + }
183 212 this.info = res.data
184   - this.number = res.data.funeralOrderDetailsInfoPo.quantityNumber
185   - this.price = res.data.funeralOrderDetailsInfoPo.unitPrice
  213 + // this.number = res.data.funeralOrderDetailsInfoPo.quantityNumber
  214 + // this.price = res.data.funeralOrderDetailsInfoPo.unitPrice
186 215 this.hhtime = res.data.funeralCremationScheduledInfoPo.scheduledCremationTime
187 216 this.hhdate = res.data.funeralCremationScheduledInfoPo.scheduledCremationDate
  217 + console.log("火化时间日期",this.hhtime,this.hhdate);
188 218 })
189 219 },
190 220 // 获取gps定位
... ... @@ -199,12 +229,24 @@
199 229 "Action":"GetVehicleTrackData",
200 230 "UserId":"user",
201 231 "Pwd":"6B18CFA67F76F079B0BFFBD773DC4494",
  232 + // "PlateNum":"川ZVN180",
202 233 "PlateNum":vehicleNumber,
203 234 "ColorCode":"0",
204 235 "BeginTime":"20231010090000",
205 236 "EndTime":"20231010150000",
206 237 "MinSpeed":"1",
207 238 "NeedAddress":"0",
  239 +
  240 + // "Action":"GetVehicleGpsInfo",
  241 + // "UserId":"user",
  242 + // "Pwd":"6B18CFA67F76F079B0BFFBD773DC4494",
  243 + // "Vehicles":[
  244 + // {
  245 + // "PlateNum":vehicleNumber,
  246 + // "ColorCode":"1"
  247 + // }
  248 + // ],
  249 + // "NeedAddress":0
208 250 }
209 251 }
210 252 info.request.BeginTime = BeginTime;
... ... @@ -220,6 +262,21 @@
220 262 this.longitude = res.Data[len].Longitude
221 263 this.covers[0].latitude = res.Data[len].Latitude
222 264 this.covers[0].longitude = res.Data[len].Longitude
  265 +
  266 + let points = []
  267 + res.Data.forEach(item => {
  268 + points.push({
  269 + latitude: item.Latitude,
  270 + longitude: item.Longitude
  271 + })
  272 + })
  273 + this.polyline = [{
  274 + points: points,
  275 + color: "#31c27c",
  276 + width: 4,
  277 + arrowLine: true,
  278 + // borderWidth: 2 //线的边框宽度,还有很多参数,请看文档
  279 + }]
223 280 }
224 281  
225 282 })
... ...
pages/policy/policy.vue
1 1 <template>
2 2 <view>
3 3 <view v-if="list.length>0">
4   - <view class="content" @click="xwtz('/pages/policy/policydetail?cent='+JSON.stringify(item))" v-for="(item,index) in list" :key="index">
  4 + <view class="content" @click="xwtz('/pages/policy/policydetail?id='+item.id)" v-for="(item,index) in list" :key="index">
5 5 <view class="box_item">
6 6 <view class="box_left">
7 7 <span class="f1">{{item.title}}</span>
... ...
pages/policy/policydetail.vue
... ... @@ -56,14 +56,21 @@
56 56 }
57 57 },
58 58 onLoad(params) {
59   - console.log(11111)
60   -
61   - this.info = JSON.parse(params.cent)
62   - this.nvConfig.title = this.info.title
63   - console.log(this.info)
  59 + console.log(params.id)
  60 + this.gain(params.id)
  61 + // this.info = JSON.parse(params.cent)
  62 + // this.nvConfig.title = this.info.title
  63 + // console.log(this.info)
64 64 // this.OrderType = params.type;
65 65 },
66 66 methods: {
  67 + gain(e) {
  68 + this.API.getpolicyDocumentone(e).then(res => {
  69 + console.log(res);
  70 + this.info = res.data
  71 + this.nvConfig.title = this.info.title
  72 + })
  73 + },
67 74 downfile(e) {
68 75  
69 76 let that = this
... ...
pages/slgxx/slgxx.scss
... ... @@ -15,6 +15,8 @@
15 15 background-color: #FFFFFF;
16 16 border-radius: 20rpx;
17 17 margin: 25rpx;
  18 + // border: 1px solid #d4d5d8;
  19 + box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
18 20 .title-status{
19 21 display: flex;
20 22 align-items: center;
... ... @@ -24,6 +26,7 @@
24 26 .title{
25 27 display: flex;
26 28 align-items: center;
  29 + width: 800rpx;
27 30 text{
28 31 font-size: 26rpx;
29 32 color: #A7A7A7;
... ... @@ -61,7 +64,7 @@
61 64 font-size: 26rpx;
62 65 color: #A7A7A7;
63 66 .goods-name-title {
64   - font-size: 30rpx;
  67 + font-size: 27rpx;
65 68 color: #3d3d3d;
66 69 font-weight: bold;
67 70 margin-bottom: 40rpx;
... ...
pages/slgxx/slgxx.vue
1 1 <template>
2   - <view class="page">
3   - <pyh-nv ref="nv" :config="nvConfig"></pyh-nv>
  2 + <view class="page" style="position: relative;">
  3 + <!-- <pyh-nv ref="nv" :config="nvConfig"></pyh-nv> -->
4 4 <view class="listBox" :style="{'padding-top':(pageTop+'px')}">
5 5 <view class="content">
6 6 <view class="order-tab">
7 7 <view class="tab" :class="{'action':OrderType==0}" @click="onOrderTab(0)">
8   - <text>派遣中</text>
  8 + <text>待确认</text>
9 9 <text class="line"></text>
10 10 </view>
11 11 <view class="tab" :class="{'action':OrderType==1}" @click="onOrderTab(1)">
12   - <text>已完成</text>
  12 + <text>已确认</text>
13 13 <text class="line"></text>
14 14 </view>
15 15 </view>
16 16 <!-- 订单列表 -->
17   - <view class="order-list" style="margin-top: 110rpx;">
  17 + <view class="order-list" style="margin-top: -50rpx;max-height: 59vh;overflow: scroll;">
18 18 <view class="list" v-for="(item,index) in list" @click="onOrderList" :key="index">
19 19 <view class="title-status">
20 20 <view class="title">
21 21 <text>逝者编号:{{item.funeralCallWebDeathInfoPo.orderNumber}}</text>
22 22 <image src="../../static/right1.png"></image>
23 23 </view>
  24 + <view class="status-btn" v-if="OrderType == 1">
  25 + <view><text class="red"></text><text class="red big"></text></view>
  26 + <view class="btn">
  27 + <!-- <image src="../../static/btn.png" mode="widthFix"></image> -->
  28 + <text style="color: #fe7400;">已确认</text>
  29 + </view>
  30 + </view>
24 31 </view>
25 32 <view class="goods-list">
26 33 <view class="goods">
... ... @@ -41,13 +48,7 @@
41 48 <text>查看详情</text>
42 49 </view>
43 50 </view>
44   - <view class="status-btn" v-if="OrderType == 1">
45   - <view><text class="red"></text><text class="red big"></text></view>
46   - <view class="btn">
47   - <image src="../../static/btn.png" mode="widthFix"></image>
48   - <text>已确认</text>
49   - </view>
50   - </view>
  51 +
51 52 </view>
52 53 </view>
53 54 </view>
... ... @@ -79,6 +80,10 @@
79 80 this.OrderType = 0;
80 81 this.pqslgdd();
81 82 },
  83 + mounted() {
  84 + this.OrderType = 0;
  85 + this.pqslgdd();
  86 + },
82 87 methods:{
83 88 // 获取调度信息
84 89 pqslgdd(){
... ... @@ -155,8 +160,10 @@
155 160 /* 订单tab */
156 161 .order-tab{
157 162 position: fixed;
  163 + position: absolute;
158 164 left: 0;
159   - top: 88rpx;
  165 + top: 0;
  166 + margin-top: -7vh;
160 167 /* #ifdef MP-WEIXIN */
161 168 top: calc(100rpx + var(--status-bar-height));
162 169 /* #endif */
... ...
pages/xxdetail/xxdetail.vue
... ... @@ -49,11 +49,20 @@
49 49 },
50 50 onLoad(item) {
51 51 console.log("res",item);
52   - this.info = JSON.parse(item.info)
53   - this.nvConfig.title = this.info.title + "详情页"
  52 +
  53 + this.gain(item.info)
  54 + // this.info = JSON.parse(item.info)
  55 + // this.nvConfig.title = this.info.title + "详情页"
54 56 },
55 57 methods: {
56   -
  58 + gain(e) {
  59 + this.API.getfbgldata(e).then(res => {
  60 + console.log(res);
  61 + this.info = res.data
  62 + // this.info = JSON.parse(item.info)
  63 + this.nvConfig.title = this.info.title + "详情页"
  64 + })
  65 + },
57 66 }
58 67 }
59 68 </script>
... ...
static/.DS_Store 0 → 100644
No preview for this file type
static/imgs/index/icon23.png 0 → 100644

3.57 KB

static/imgs/index/icon24.png 0 → 100644

2.09 KB

static/imgs/index/icon25.png 0 → 100644

3.51 KB

static/imgs/index/icon26.png 0 → 100644

2.68 KB

static/imgs/index/icon27.png 0 → 100644

1.99 KB

static/imgs/index/icon28.png 0 → 100644

1.92 KB

static/imgs/index/icon29.png 0 → 100644

1.59 KB

static/imgs/index/icon30.png 0 → 100644

1.8 KB

static/imgs/index/icon31.png 0 → 100644

3.68 KB

static/imgs/index/icon32.png 0 → 100644

2.27 KB

static/imgs/index/icon33.png 0 → 100644

1.46 KB

static/imgs/index/icon34.png 0 → 100644

1.99 KB

static/xj.png 0 → 100644

6.07 KB

uni_modules/.DS_Store 0 → 100644
No preview for this file type
unpackage/.DS_Store 0 → 100644
No preview for this file type