|
@@ -2,83 +2,48 @@
|
|
|
<div class="club-edit">
|
|
|
<el-form ref="submitForm" class="club-edit-form" label-width="120px" :model="formData" :rules="rules">
|
|
|
<el-form-item label="机构名称:" prop="name">
|
|
|
- <el-input v-model="formData.name" placeholder="请输入机构名称" disabled />
|
|
|
+ <span>{{ formData.name }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="所在地区:" prop="address">
|
|
|
- <el-cascader
|
|
|
- ref="cascader"
|
|
|
- v-model="formData.address"
|
|
|
- disabled
|
|
|
- :class="{ display: cascaderDisplay }"
|
|
|
- clearable
|
|
|
- :props="cascaderProps"
|
|
|
- style="width: 100%"
|
|
|
- :placeholder="cascaderPlaceholder"
|
|
|
- @change="handleChange"
|
|
|
- />
|
|
|
+ <span>{{ cascaderPlaceholder }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="详细地址:" prop="fullAddress">
|
|
|
- <el-input v-model="formData.fullAddress" placeholder="请输入详细地址" disabled />
|
|
|
+ <span>{{ formData.fullAddress }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="经纬度:" prop="point">
|
|
|
- <el-input v-model="formData.point" placeholder="请输入经纬度 (格式:纬度,经度,可通过右侧地图小按钮获取)" disabled>
|
|
|
- <el-button slot="append" icon="el-icon-map-location" />
|
|
|
- </el-input>
|
|
|
+ <span>{{ formData.point }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="联系方式:" prop="mobile">
|
|
|
- <el-input v-model="formData.mobile" placeholder="请输入联系方式" disabled />
|
|
|
+ <span>{{ formData.mobile }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="机构logo:" prop="logoImage">
|
|
|
- <el-input v-show="false" v-model="formData.logoImage" disabled />
|
|
|
- <upload-image
|
|
|
- tip="建议尺寸:242px * 242px"
|
|
|
- :image-list="logoList"
|
|
|
- :before-upload="beforeLogoUpload"
|
|
|
- @success="uploadLogoSuccess"
|
|
|
- @remove="handleLogoRemove"
|
|
|
- />
|
|
|
+ <el-image :src="formData.logoImage" fit="cover" style="width:120px;height:120px;" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="轮播图:" prop="banner">
|
|
|
- <el-input v-show="false" v-model="formData.banner" disabled />
|
|
|
- <upload-image
|
|
|
- tip="至少上传一张,最多6张;建议尺寸:542px * 542px"
|
|
|
- :image-list="bannerList"
|
|
|
- :before-upload="beforeBannerUpload"
|
|
|
- :limit="1"
|
|
|
- @success="uploadBannerSuccess"
|
|
|
- @remove="handleBannerRemove"
|
|
|
- />
|
|
|
+ <template v-for="(image, index) in bannerList">
|
|
|
+ <el-image :key="index" :src="image" fit="cover" :preview-src-list="bannerList" class="thumbnail" />
|
|
|
+ </template>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-// import Location from '@/components/location'
|
|
|
-import AMapUI from '@/components/AMapUI'
|
|
|
-import UploadImage from '@/components/UploadImage'
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import { saveBrandAuth, getAuthFormData } from '@/api/auth'
|
|
|
-import { getAddress } from '@/api/common'
|
|
|
import { isPoint } from '@/utils/validate'
|
|
|
|
|
|
export default {
|
|
|
- components: {
|
|
|
- // Location
|
|
|
- [AMapUI.name]: AMapUI,
|
|
|
- UploadImage
|
|
|
- },
|
|
|
data() {
|
|
|
var validatePoint = (rule, value, callback) => {
|
|
|
if (value === '') {
|
|
|
callback(new Error('经纬度坐标不能为空'))
|
|
|
} else {
|
|
|
if (isPoint(value)) {
|
|
|
- this.$refs.ruleForm.validateField('point')
|
|
|
+ callback()
|
|
|
} else {
|
|
|
- callback('经纬度坐标格式不正确,(例如:114.095294,22.536004)')
|
|
|
+ callback(new Error('经纬度坐标格式不正确,(例如:114.095294,22.536004)'))
|
|
|
}
|
|
|
- callback()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -120,18 +85,6 @@ export default {
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters(['authUserId', 'proxyInfo']),
|
|
|
- // 级联选择器
|
|
|
- cascaderProps() {
|
|
|
- return {
|
|
|
- lazy: true,
|
|
|
- lazyLoad: async(node, resolve) => {
|
|
|
- const { level, value = 0 } = node
|
|
|
- const result = await getAddress({ parentId: value, type: level })
|
|
|
- const nodes = result.data.map(item => ({ value: item.id, label: item.name, leaf: level >= 2 }))
|
|
|
- resolve(nodes)
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
cascaderDisplay() {
|
|
|
return this.formData.address.length > 0
|
|
|
},
|
|
@@ -148,14 +101,6 @@ export default {
|
|
|
this.initFormData()
|
|
|
},
|
|
|
methods: {
|
|
|
- // 获取地址
|
|
|
- initAddress() {
|
|
|
- return getAddress({
|
|
|
- parentId: 19,
|
|
|
- type: 1
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
// 地图标记变化
|
|
|
markerChange(point) {
|
|
|
this.formData.point = `${point.lng},${point.lat}`
|
|
@@ -172,10 +117,7 @@ export default {
|
|
|
this.formData.mobile = res.data.mobile
|
|
|
this.formData.logoImage = res.data.logo
|
|
|
this.formData.banner = res.data.bannerList.length || ''
|
|
|
-
|
|
|
- this.logoList = [{ name: '', url: res.data.logo }]
|
|
|
- this.bannerList = res.data.bannerList.map(item => ({ name: '', url: item }))
|
|
|
-
|
|
|
+ this.bannerList = res.data.bannerList
|
|
|
this.formData.address = [res.data.provinceId, res.data.cityId, res.data.townId]
|
|
|
// this.formData.address = '广东省/深圳市/福田区'
|
|
|
this.area = res.data.area
|
|
@@ -276,9 +218,10 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-#allmap {
|
|
|
- width: 100%;
|
|
|
- height: 600px;
|
|
|
+.thumbnail{
|
|
|
+ width:160px;
|
|
|
+ height:160px;
|
|
|
+ margin-right: 16px;
|
|
|
}
|
|
|
|
|
|
.club-edit {
|
|
@@ -286,7 +229,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.club-edit-form {
|
|
|
- width: 600px;
|
|
|
+ width: 660px;
|
|
|
margin: 0 auto;
|
|
|
margin-top: 80px;
|
|
|
}
|