4373acf5
wesley88
1
|
1
2
3
|
<template>
<div>
<el-form :model="ruleForm" :rules="rulesHetong" ref="heForm" label-width="130px" class="demo-ruleForm">
|
118fc86d
wesley88
1
|
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="商铺名称" prop="shopName">
<el-input v-model="ruleForm.shopName" placeholder="请输入" maxlength="20"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商铺类型" prop="shopType">
<el-select v-model="ruleForm.shopType" placeholder="请选择" style="width: 100%;">
<el-option label="移动铺位" value="1"></el-option>
<el-option label="固定铺位" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="测绘面积" prop="surveyingArea">
<el-input v-model.number="ruleForm.surveyingArea" placeholder="请输入" maxlength="10" @input="validateNumber('surveyingArea', $event)">
<template slot="append">M<sup>2</sup></template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产权面积" prop="propertyArea">
<el-input v-model.number="ruleForm.propertyArea" placeholder="请输入" maxlength="10" @input="validateNumber('propertyArea', $event)">
<template slot="append">M<sup>2</sup></template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="实际使用面积" prop="actualUsableArea">
<el-input v-model.number="ruleForm.actualUsableArea" placeholder="请输入" maxlength="10" @input="validateNumber('actualUsableArea', $event)">
<template slot="append">M<sup>2</sup></template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属区域" prop="belongingRegion">
<el-select v-model="ruleForm.belongingRegion" placeholder="请选择" style="width: 100%;">
<el-option v-for="(item,index) in regionOptions"
:key="index" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
|
c3f8e431
wesley88
1
|
53
54
55
56
57
58
59
60
61
62
|
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="所属绿道段" prop="belongingGreenwaySection">
<el-select v-model="ruleForm.belongingGreenwaySection" placeholder="请选择"
style="margin-top:5px;width: 100%;" @change="lvdaoSel">
<el-option :label="item.name" :value="item.code" v-for="(item,index) in lvdaoList"
:key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
|
87726dd1
杨鑫
'最新'
|
63
|
|
c3f8e431
wesley88
1
|
64
65
66
67
68
69
70
|
<el-col :span="12">
<el-form-item label="门牌号" prop="houseNumber">
<el-input v-model="ruleForm.houseNumber" placeholder="请输入"
maxlength="20"></el-input>
</el-form-item>
</el-col>
</el-row>
|
118fc86d
wesley88
1
|
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="归属部门" prop="belongingDepartment">
<el-input v-model="ruleForm.belongingDepartment" placeholder="请输入" maxlength="20">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="负责人" prop="head">
<el-input v-model="ruleForm.head" placeholder="请输入" maxlength="10">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="联系人" prop="contacts">
|
cf438595
wesley88
1
|
90
|
<el-input v-model="ruleForm.contacts" placeholder="请输入" maxlength="50">
|
118fc86d
wesley88
1
|
91
92
93
94
95
96
97
98
99
100
|
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系方式" prop="telephone">
<el-input v-model="ruleForm.telephone" placeholder="请输入" maxlength="20">
</el-input>
</el-form-item>
</el-col>
</el-row>
|
d64cd58f
wesley88
上传验收小程序
|
101
|
<el-form-item label="详细位置" prop="detailedLocation">
|
c3f8e431
wesley88
1
|
102
|
<el-input :disabled="true" v-model="ruleForm.detailedLocation" placeholder="请地图标点选择位置" maxlength="100">
|
d64cd58f
wesley88
上传验收小程序
|
103
104
105
106
|
</el-input>
</el-form-item>
<el-form-item label="地图标点" prop="mapPunctuation">
<div style="width: 100%;height: 300px;">
|
118fc86d
wesley88
1
|
107
|
<newmap :isonloed="info.id?true:false" :lat="lat" :lng="lng" @updatecenter="updatecenter"></newmap>
|
d64cd58f
wesley88
上传验收小程序
|
108
109
110
111
112
113
|
</div>
</el-form-item>
<el-form-item label="商铺描述" prop="shopDescription">
<el-input maxlength="200" show-word-limit rows="4" v-model="ruleForm.shopDescription" placeholder="请输入"
type="textarea" />
</el-form-item>
|
118fc86d
wesley88
1
|
114
115
|
<el-form-item label="建筑图纸" prop="architecturalDrawings">
<upimg :cmpOption="{disabled:false,isSetCover:false}" filePath="sp" inputtype="architecturalDrawings" :value="ruleForm.architecturalDrawings"
|
d64cd58f
wesley88
上传验收小程序
|
116
117
|
@changimg="e=>changimg(e,'architecturalDrawings')"></upimg>
</el-form-item>
|
118fc86d
wesley88
1
|
118
|
<el-form-item label="宣传图" prop="displayMainImage">
|
d64cd58f
wesley88
上传验收小程序
|
119
|
<upimg filePath="sp" inputtype="displayMainImage" :value="ruleForm.displayMainImage"
|
98bc35a2
wesley88
1
|
120
|
@changimg="e=>changimg(e,'displayMainImage')" @changfmindex="changfmindex"></upimg>
|
0c5d2ce8
wesley88
1
|
121
|
</el-form-item>
|
118fc86d
wesley88
1
|
122
|
<el-form-item label="其他视频" prop="otherImageVideos">
|
a182f238
wesley88
1
|
123
|
<upfile filePath="sp" inputtype="otherImageVideos" :value="ruleForm.otherImageVideos" @changimg="e=>changimg(e,'otherImageVideos')"></upfile>
|
118fc86d
wesley88
1
|
124
|
</el-form-item>
|
4373acf5
wesley88
1
|
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
<el-row :gutter="20">
<el-col :span="12">
<el-form-item>
<div style="margin-top: 20px">
<el-button @click="add()" style="background-color: #3F9B6A;color: #fff;">确定</el-button>
<el-button @click="close()" class="buttonHover"
style="color: #606266;border: 1px solid #DBDBDB;background-color: #fff;">取消</el-button>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import MapMark from "@/components/MapContainer/MapMark";
import upimg from "@/components/ImageUpload/index"
|
d64cd58f
wesley88
上传验收小程序
|
143
|
import upfile from "@/components/fujianUpload/fujianList"
|
4373acf5
wesley88
1
|
144
145
146
147
148
149
150
151
152
153
|
import {
uploadUrl
} from '@/utils/request'
import {
miniioupload
} from '../../api/commodityLease.js'
import {
gongyuan,
lvdaoduan,
addList,
|
d64cd58f
wesley88
上传验收小程序
|
154
|
editList
|
4373acf5
wesley88
1
|
155
|
} from '../../api/information.js';
|
d64cd58f
wesley88
上传验收小程序
|
156
|
import newmap from "@/components/newmap/index";
|
4373acf5
wesley88
1
|
157
158
|
export default {
components: {
|
d64cd58f
wesley88
上传验收小程序
|
159
|
upfile,
|
4373acf5
wesley88
1
|
160
|
upimg,
|
d64cd58f
wesley88
上传验收小程序
|
161
162
|
MapMark,
newmap
|
4373acf5
wesley88
1
|
163
|
},
|
118fc86d
wesley88
1
|
164
165
166
167
168
|
computed: {
regionOptions() {
return this.$store.state.app.regionOptions;
}
},
|
4373acf5
wesley88
1
|
169
170
|
data() {
return {
|
118fc86d
wesley88
1
|
171
172
|
lat: 30.67,
lng: 104.06,
|
4373acf5
wesley88
1
|
173
174
|
uploadFileUrl: uploadUrl, // 请求地址
ruleForm: {
|
d64cd58f
wesley88
上传验收小程序
|
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
shopName: '', // 商铺名称
venueNumber: '', // 场地编号
houseNumber: '', // 门牌号
architecturalForm: '', // 建筑形式
actualUsableArea: '', // 实际使用面积
belongingRegion: '', // 所属区域
belongingDepartment: '', // 归属部门
head: '', // 负责人
detailedLocation: '', // 详细位置
mapPunctuation: '', // 地图标点
architecturalDrawings: '', // 建筑图纸
shopDescription: '', // 商铺描述
displayMainImage: '', // 展示主图
otherImageVideos: '', // 其他图片视频
|
118fc86d
wesley88
1
|
189
|
rentalStatus: '', // 租赁状态
|
d64cd58f
wesley88
上传验收小程序
|
190
191
192
193
|
publishStatus: '', // 发布状态
leaseExpirationDate: '', // 租赁到期时间
createDate: '', // 创建时间
createUser: '', // 创建人
|
a182f238
wesley88
1
|
194
195
|
// updateDate: '', // 修改时间
// updateUser: '', // 修改人
|
d64cd58f
wesley88
上传验收小程序
|
196
|
businessNature: '', // 经营性质
|
118fc86d
wesley88
1
|
197
|
telephone: '', // 联系电话
|
d64cd58f
wesley88
上传验收小程序
|
198
199
200
201
|
identityCard: '', // 身份证号码
belongingGreenwaySection: '', // 所属绿道段
belongingParkTrail: '', // 所属公园/步道
floorSpace: '', // 建筑面积
|
118fc86d
wesley88
1
|
202
203
204
205
206
207
|
contractNumber: '', // 合同编号
shopType: '1', // 商铺类型
surveyingArea: '', // 测绘面积
propertyArea: '', // 产权面积
contacts: '', // 联系人
planningDrawings: '' // 规划图纸
|
4373acf5
wesley88
1
|
208
209
210
211
212
213
214
|
},
rulesHetong: {
shopName: [{
required: true,
message: '请输入商铺名称',
trigger: 'blur'
}, ],
|
118fc86d
wesley88
1
|
215
|
shopType: [{
|
4373acf5
wesley88
1
|
216
|
required: true,
|
118fc86d
wesley88
1
|
217
|
message: '请选择商铺类型',
|
4373acf5
wesley88
1
|
218
219
|
trigger: 'blur'
}, ],
|
c3f8e431
wesley88
1
|
220
221
222
223
224
|
belongingGreenwaySection: [{
required: true,
message: '请填写所属绿道段',
trigger: 'blur'
}, ],
|
4373acf5
wesley88
1
|
225
226
227
228
229
|
belongingRegion: [{
required: true,
message: '请选择所属区域',
trigger: 'change'
}],
|
4373acf5
wesley88
1
|
230
231
|
detailedLocation: [{
required: true,
|
c3f8e431
wesley88
1
|
232
|
message: '请地图标点选择位置',
|
4373acf5
wesley88
1
|
233
234
|
trigger: 'blur'
}, ],
|
118fc86d
wesley88
1
|
235
236
237
238
239
240
241
242
243
244
|
mapPunctuation: [{
required: true,
message: '请选择地图标点',
trigger: 'change'
}],
displayMainImage: [{
required: true,
message: '请上传宣传图',
trigger: 'change'
}]
|
4373acf5
wesley88
1
|
245
246
247
248
249
|
},
uploadFiles: [],
filesLength: 1,
lvdaoList: [],
gongyuanList: [],
|
d64cd58f
wesley88
上传验收小程序
|
250
251
|
parentMessage: {},
edit: true
|
4373acf5
wesley88
1
|
252
253
254
255
256
257
258
259
260
261
262
263
|
};
},
props: {
info: {
type: Object,
default: {}
}
},
async created() {
console.error(this.info)
if (this.info.id) {
this.ruleForm = this.info
|
118fc86d
wesley88
1
|
264
|
if (this.ruleForm.mapPunctuation) {
|
a182f238
wesley88
1
|
265
266
|
this.lat = Number(this.ruleForm.mapPunctuation.split(',')[0])
this.lng = Number(this.ruleForm.mapPunctuation.split(',')[1])
|
118fc86d
wesley88
1
|
267
|
}
|
4373acf5
wesley88
1
|
268
269
270
271
272
|
}
const lvdao = await lvdaoduan()
this.lvdaoList = lvdao.data
},
methods: {
|
118fc86d
wesley88
1
|
273
274
275
276
277
278
279
|
validateNumber(field, value) {
// 使用正则表达式确保输入的是数字,并且可以包含最多两位小数
const regex = /^\d+(\.\d{1,2})?$/;
if (!regex.test(value)) {
this.ruleForm[field] = value.replace(/[^\d.]/g, '').replace(/(\.\d{2}).*$/, '$1');
}
},
|
d64cd58f
wesley88
上传验收小程序
|
280
|
updatecenter(e) {
|
118fc86d
wesley88
1
|
281
|
console.error('-----------', e)
|
d64cd58f
wesley88
上传验收小程序
|
282
|
this.ruleForm.detailedLocation = e.address
|
a182f238
wesley88
1
|
283
284
|
this.lat = e.lat
this.lng = e.lng
|
d64cd58f
wesley88
上传验收小程序
|
285
|
},
|
98bc35a2
wesley88
1
|
286
287
288
|
changfmindex(e) {
console.error(e)
},
|
d64cd58f
wesley88
上传验收小程序
|
289
290
|
changimg(e, type) {
this.ruleForm[type] = e
|
a182f238
wesley88
1
|
291
|
console.error(this.ruleForm[type])
|
d64cd58f
wesley88
上传验收小程序
|
292
|
},
|
4373acf5
wesley88
1
|
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
|
//获取当前时间
updateCurrentTime() {
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},
//获取地图点击的经纬度
getChildDate(mapData) {
this.mapData = mapData
},
lvdaoSel(vaule) {
this.ruleForm.belongingParkTrail = ''
this.gongyuan(vaule)
},
async gongyuan(value) {
const gongyaun = await gongyuan()
this.gongyuanList = gongyaun.data.filter(item => item.superior == value);
},
add() {
|
d64cd58f
wesley88
上传验收小程序
|
319
320
321
|
console.log({
...this.ruleForm
})
|
118fc86d
wesley88
1
|
322
323
324
325
|
if(this.lat) {
this.ruleForm.mapPunctuation = this.lat + ',' + this.lng
}
|
d64cd58f
wesley88
上传验收小程序
|
326
|
// return
|
4373acf5
wesley88
1
|
327
328
329
330
|
if (this.ruleForm.id) {
this.$refs.heForm.validate((valid) => {
console.log(valid)
if (valid) {
|
4373acf5
wesley88
1
|
331
|
this.ruleForm.updateDate = this.updateCurrentTime()
|
118fc86d
wesley88
1
|
332
|
this.ruleForm.updateUser = localStorage.getItem('roleName')
|
4373acf5
wesley88
1
|
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
|
editList(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message({
message: '修改成功',
type: 'success'
})
this.$emit('removeonaction', '1')
} else {
this.$message({
message: res.msg,
type: 'error'
})
}
})
} else {
this.$message({
message: '请填写完整信息',
type: 'error'
})
return false;
}
})
} else {
this.$refs.heForm.validate((valid) => {
console.log(valid)
if (valid) {
|
4373acf5
wesley88
1
|
361
|
this.ruleForm.createDate = this.updateCurrentTime()
|
4373acf5
wesley88
1
|
362
363
|
this.ruleForm.rentalStatus = 0
this.ruleForm.publishStatus = 0
|
118fc86d
wesley88
1
|
364
|
this.ruleForm.createUser = localStorage.getItem('roleName')
|
4373acf5
wesley88
1
|
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
|
addList(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message({
message: '添加成功',
type: 'success'
})
this.$emit('removeonaction', '1')
} else {
this.$message({
message: res.msg,
type: 'error'
})
}
})
} else {
this.$message({
message: '请填写完整信息',
type: 'error'
})
return false;
}
})
}
},
close() {
this.$emit('removeonaction', '1')
},
|
0c5d2ce8
wesley88
1
|
393
394
|
hefuRemove(e) {
// this.ruleForm[e] = ''
|
4373acf5
wesley88
1
|
395
|
},
|
0c5d2ce8
wesley88
1
|
396
|
hefuSuccess(response, e) {
|
4373acf5
wesley88
1
|
397
|
console.error(response)
|
0c5d2ce8
wesley88
1
|
398
399
|
console.error(e)
this.ruleForm[e] = ''
|
4373acf5
wesley88
1
|
400
401
|
let fd = new FormData()
fd.append('file', response.raw)
|
0c5d2ce8
wesley88
1
|
402
|
fd.append('filePath', 'sp')
|
4373acf5
wesley88
1
|
403
404
|
miniioupload(fd).then(res => {
console.error(res)
|
0c5d2ce8
wesley88
1
|
405
|
this.ruleForm[e] = res.data
|
4373acf5
wesley88
1
|
406
|
})
|
0c5d2ce8
wesley88
1
|
407
|
}
|
4373acf5
wesley88
1
|
408
409
410
411
412
413
|
},
};
</script>
<style lang="scss">
|
4373acf5
wesley88
1
|
414
415
416
417
418
419
420
421
422
423
|
.el-dialog__header {
background-color: #F2F3F5;
text-align: left;
}
.el-dialog__title {
line-height: 30px;
font-size: 15px;
color: #303133;
}
|
0c5d2ce8
wesley88
1
|
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
|
.avatar-uploader .el-upload {
border: 1px dashed #3F9B6A;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #3F9B6A;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
|
4373acf5
wesley88
1
|
451
|
</style>
|