|
@@ -1,94 +1,172 @@
|
|
|
<template>
|
|
|
- <div v-if="!isLoading" class="club-edit">
|
|
|
- <el-form ref="formRef" class="club-edit-form" label-width="120px" :model="formData" :rules="formRules">
|
|
|
- <el-form-item label="机构名称:">
|
|
|
- <span>{{ authInfo.authParty }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所在地区:">
|
|
|
- <span>{{ authInfo.area }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="详细地址:">
|
|
|
- <span>{{ authInfo.address }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="经纬度:">
|
|
|
- <span>{{ authInfo.lngAndLat }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="联系方式:" prop="mobile">
|
|
|
- <span>{{ authInfo.mobile }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="机构logo:">
|
|
|
- <el-image
|
|
|
- style="width: 140px; height: 140px"
|
|
|
- :src="authInfo.logo"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="轮播图:">
|
|
|
- <el-image
|
|
|
- v-for="(image,index) in authInfo.bannerList"
|
|
|
- :key="index"
|
|
|
- style="width: 140px; height: 140px;margin-right: 16px;"
|
|
|
- :src="image"
|
|
|
- :preview-src-list="imgList"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
+ <div class="app-container">
|
|
|
+ <div class="audit-content">
|
|
|
+ <div class="grid">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">机构名称:</div>
|
|
|
+ <div class="col">{{ clubInfo.authParty }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">联系电话:</div>
|
|
|
+ <div class="col">{{ clubInfo.mobile }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">所在地区:</div>
|
|
|
+ <div class="col">{{ clubInfo.area }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">详细地址:</div>
|
|
|
+ <div class="col">{{ clubInfo.address }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">所在位置:</div>
|
|
|
+ <div class="col">
|
|
|
+ <div class="map" @click="dialogMapVisible = true">
|
|
|
+ <i class="el-icon-map-location" />
|
|
|
+ <span>点击查看</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">logo:</div>
|
|
|
+ <div class="col">
|
|
|
+ <el-image style="width: 120px; height: 120px" :src="clubInfo.logo" :preview-src-list="[clubInfo.logo]" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">门头照:</div>
|
|
|
+ <div class="col">
|
|
|
+ <template v-for="(image, index) in clubInfo.bannerList">
|
|
|
+ <el-image
|
|
|
+ :key="index"
|
|
|
+ style="width: 120px; height: 120px"
|
|
|
+ :src="image"
|
|
|
+ :preview-src-list="clubInfo.bannerList"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">机构类型:</div>
|
|
|
+ <div class="col">
|
|
|
+ <el-radio-group v-model="clubInfo.clubType">
|
|
|
+ <el-radio
|
|
|
+ v-for="item in clubTypeList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.id"
|
|
|
+ :disabled="clubInfo.clubType !== item.id"
|
|
|
+ >{{ item.name }}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">医美类型:</div>
|
|
|
+ <div class="col">
|
|
|
+ <el-radio-group v-model="clubInfo.medicalType">
|
|
|
+ <el-radio
|
|
|
+ v-for="item in medicalTypeList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.id"
|
|
|
+ :disabled="clubInfo.clubType !== item.id"
|
|
|
+ >{{ item.name }}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">医疗许可证:</div>
|
|
|
+ <div class="col">
|
|
|
+ <el-image
|
|
|
+ style="width: 120px; height: 120px"
|
|
|
+ :src="clubInfo.licenseImage"
|
|
|
+ :preview-src-list="[clubInfo.licenseImage]"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">员工人数:</div>
|
|
|
+ <div class="col">{{ clubInfo.memberCount }}人</div>
|
|
|
+ </div>
|
|
|
|
|
|
- <el-form-item label="自定义属性:">
|
|
|
- <span v-if="authInfo.customFlag">是</span>
|
|
|
- <span v-else>否</span>
|
|
|
- </el-form-item>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">自定义属性:</div>
|
|
|
+ <div class="col">
|
|
|
+ <el-radio-group v-model="clubInfo.customFlag">
|
|
|
+ <el-radio :label="1" :disabled="clubInfo.customFlag !== 1">是</el-radio>
|
|
|
+ <el-radio :label="0" :disabled="clubInfo.customFlag !== 0">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-if="clubInfo.customFlag > 0" class="row">
|
|
|
+ <div class="col">店铺备注:</div>
|
|
|
+ <div class="col">{{ clubInfo.remarks }}人</div>
|
|
|
+ </div>
|
|
|
|
|
|
- <el-form-item v-if="authInfo.customFlag" label="店铺备注:">
|
|
|
- <span v-text="authInfo.remarks" />
|
|
|
- </el-form-item>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col">审核状态:</div>
|
|
|
+ <div class="col">待审核</div>
|
|
|
+ </div>
|
|
|
+ <el-form ref="auditForm" label-width="112px" :model="auditForm" :rules="rules">
|
|
|
+ <el-form-item label="审核:">
|
|
|
+ <el-radio-group v-model="auditForm.auditStatus">
|
|
|
+ <el-radio :label="1">通过</el-radio>
|
|
|
+ <el-radio :label="0">不通过</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="auditForm.auditStatus === 0" label="原因:" prop="invalidReason">
|
|
|
+ <el-input v-model="auditForm.invalidReason" type="textarea" :rows="3" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="info" @click="$_back">返回</el-button>
|
|
|
+ <el-button type="primary" @click="submit">提交</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
|
|
|
- <!-- 审核表单 -->
|
|
|
- <el-form-item label="审核状态:">
|
|
|
- <el-radio-group v-model="formData.auditStatus">
|
|
|
- <el-radio :label="1">通过</el-radio>
|
|
|
- <el-radio :label="0">不通过</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item v-if="formData.auditStatus!==1" prop="invalidReason" label="原因:">
|
|
|
- <el-input v-model="formData.invalidReason" type="textarea" placeholder="请说明原因" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="info" @click="$_back">返回</el-button>
|
|
|
- <el-button type="primary" @click="submit">提交</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
+ <!-- 地图坐标拾取 -->
|
|
|
+ <el-dialog class="map-dialog" title="地图信息" :visible.sync="dialogMapVisible" width="80%">
|
|
|
+ <!-- <location v-if="dialogMapVisible" :init-point="formData.point" @point="handlePointChange" /> -->
|
|
|
+ <map-ui :init-point="clubInfo.lngAndLat" />
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-// import Location from '@/components/location'
|
|
|
+import AMapUI from '@/components/AMapUI'
|
|
|
import { getAuthFormData, auditAuth } from '@/api/auth'
|
|
|
import { mapGetters } from 'vuex'
|
|
|
-
|
|
|
export default {
|
|
|
-
|
|
|
+ components: {
|
|
|
+ [AMapUI.name]: AMapUI
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
isLoading: false,
|
|
|
-
|
|
|
+ dialogMapVisible: false,
|
|
|
+ clubTypeList: [
|
|
|
+ { id: 1, name: '医美' },
|
|
|
+ { id: 2, name: '生美' },
|
|
|
+ { id: 3, name: '项目公司' },
|
|
|
+ { id: 4, name: '个人' },
|
|
|
+ { id: 5, name: '其他' }
|
|
|
+ ],
|
|
|
+ medicalTypeList: [
|
|
|
+ { id: 1, name: '诊所' },
|
|
|
+ { id: 2, name: '门诊' },
|
|
|
+ { id: 3, name: '医院' },
|
|
|
+ { id: 4, name: '其他' }
|
|
|
+ ],
|
|
|
authId: '',
|
|
|
-
|
|
|
- formData: {
|
|
|
- auditBy: '', // 审核人id
|
|
|
- authId: '', // 机构id
|
|
|
- auditStatus: 1, // 审核状态
|
|
|
- invalidReason: '' // 审核信息
|
|
|
- },
|
|
|
-
|
|
|
- formRules: {
|
|
|
- invalidReason: { required: true, message: '不通过原因不能为空', tigger: 'blur' }
|
|
|
- },
|
|
|
-
|
|
|
- authInfo: {
|
|
|
+ clubInfo: {
|
|
|
+ medicalType: 1,
|
|
|
+ clubType: 1,
|
|
|
+ licenseImage: '',
|
|
|
+ memberCount: '',
|
|
|
address: '',
|
|
|
area: '',
|
|
|
authId: '',
|
|
|
authParty: '',
|
|
|
- bannerList: '',
|
|
|
+ bannerList: [],
|
|
|
cityId: '',
|
|
|
lngAndLat: '',
|
|
|
logo: '',
|
|
@@ -98,53 +176,48 @@ export default {
|
|
|
customFlag: 0,
|
|
|
remarks: ''
|
|
|
},
|
|
|
-
|
|
|
- // 预览图片
|
|
|
- imgList: []
|
|
|
+ auditForm: {
|
|
|
+ auditBy: '', // 审核人id
|
|
|
+ authId: '', // 机构id
|
|
|
+ auditStatus: 1, // 审核状态
|
|
|
+ invalidReason: '' // 审核信息
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ invalidReason: { required: true, message: '不通过原因不能为空', tigger: 'blur' }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters(['authUserId'])
|
|
|
},
|
|
|
created() {
|
|
|
- this.authId = this.formData.authId = this.$route.query.authId
|
|
|
+ this.auditForm.authId = this.$route.query.authId
|
|
|
this.getDetail()
|
|
|
},
|
|
|
methods: {
|
|
|
// 数据回显
|
|
|
getDetail() {
|
|
|
- getAuthFormData({ authId: this.authId }).then(res => {
|
|
|
- this.authInfo.address = res.data.address
|
|
|
- this.authInfo.area = res.data.area
|
|
|
- this.authInfo.authId = res.data.authId
|
|
|
- this.authInfo.authParty = res.data.authParty
|
|
|
- this.authInfo.bannerList = this.imgList = res.data.bannerList
|
|
|
- this.authInfo.cityId = res.data.cityId
|
|
|
- this.authInfo.lngAndLat = res.data.lngAndLat
|
|
|
- this.authInfo.logo = res.data.logo
|
|
|
- this.authInfo.mobile = res.data.mobile
|
|
|
- this.authInfo.provinceId = res.data.provinceId
|
|
|
- this.authInfo.townId = res.data.townId
|
|
|
- this.authInfo.customFlag = res.data.customFlag
|
|
|
- this.authInfo.remarks = res.data.remarks
|
|
|
+ getAuthFormData({ authId: this.auditForm.authId }).then((res) => {
|
|
|
+ this.clubInfo = { ...this.clubInfo, ...res.data }
|
|
|
})
|
|
|
},
|
|
|
// 提交审核信息
|
|
|
submit() {
|
|
|
- this.$refs.formRef.validate(valid => {
|
|
|
+ this.$refs.auditForm.validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.isLoading = true
|
|
|
// 指定审核人
|
|
|
- this.formData.auditBy = this.authUserId
|
|
|
+ this.auditForm.auditBy = this.authUserId
|
|
|
// 提交审核信息
|
|
|
- auditAuth(this.formData).then(res => {
|
|
|
- if (res.code !== 0) return
|
|
|
- this.$message.success(res.data)
|
|
|
- this.$store.dispatch('tagsView/delView', this.$route)
|
|
|
- this.$router.back()
|
|
|
- }).finally(() => {
|
|
|
- this.isLoading = false
|
|
|
- })
|
|
|
+ auditAuth(this.auditForm)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success(res.data)
|
|
|
+ this.$store.dispatch('tagsView/delView', this.$route)
|
|
|
+ this.$router.back()
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.isLoading = false
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -153,19 +226,55 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.club-edit {
|
|
|
- margin-bottom: 80px;
|
|
|
-}
|
|
|
+.app-container {
|
|
|
+ .audit-content {
|
|
|
+ max-width: 1000px;
|
|
|
+ margin: 0 auto;
|
|
|
+ margin-top: 25px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .map {
|
|
|
+ cursor: pointer;
|
|
|
+ span {
|
|
|
+ margin-left: 4px;
|
|
|
+ color: #409eff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .grid {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(2, 1fr);
|
|
|
+ // grid-template-rows: repeat(2, 1fr);
|
|
|
+ grid-column-gap: 0px;
|
|
|
+ grid-row-gap: 0px;
|
|
|
+ }
|
|
|
+ .row {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: flex-start;
|
|
|
+ margin-bottom: 25px;
|
|
|
+ .col {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #333;
|
|
|
+ &:first-child {
|
|
|
+ min-width: 100px;
|
|
|
+ text-align: right;
|
|
|
+ margin-right: 8px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-image {
|
|
|
+ margin-left: 12px;
|
|
|
+ &:first-child {
|
|
|
+ margin-left: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
-.club-edit-form {
|
|
|
- width: 600px;
|
|
|
- margin: 0 auto;
|
|
|
- margin-top: 80px;
|
|
|
-}
|
|
|
-.submit-btn {
|
|
|
- text-align: center;
|
|
|
.el-button {
|
|
|
- width: 140px;
|
|
|
+ width: 120px;
|
|
|
}
|
|
|
}
|
|
|
</style>
|