|
@@ -11,36 +11,8 @@
|
|
:model="form"
|
|
:model="form"
|
|
:rules="formRules"
|
|
:rules="formRules"
|
|
label-width="120px">
|
|
label-width="120px">
|
|
- <el-form-item
|
|
|
|
- prop="user_name"
|
|
|
|
- :rules="formRules.required"
|
|
|
|
- label="单位及个人:">
|
|
|
|
- <el-input
|
|
|
|
- v-model="form.user_name"
|
|
|
|
- placeholder="请输入农户姓名"
|
|
|
|
- clearable></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item
|
|
|
|
- prop="user_card"
|
|
|
|
- :rules="formRules.required"
|
|
|
|
- label="身份证号:">
|
|
|
|
- <el-input v-model="form.user_card"
|
|
|
|
- placeholder="请输入身份证号"
|
|
|
|
- clearable></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item
|
|
|
|
- prop="shop_phone"
|
|
|
|
- :rules="formRules.required"
|
|
|
|
- label="手机号:">
|
|
|
|
- <el-input
|
|
|
|
- v-model="form.shop_phone"
|
|
|
|
- placeholder="请输入手机号"
|
|
|
|
- clearable
|
|
|
|
- @input="form.shop_phone = form.shop_phone.replace(/[^\d]$/, '').replace(/^0/, '').replace(/(\d{11})(.*)/, '$1')"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
prop="shop_name"
|
|
prop="shop_name"
|
|
- :rules="formRules.required"
|
|
|
|
label="店铺名称:">
|
|
label="店铺名称:">
|
|
<el-input
|
|
<el-input
|
|
v-model="form.shop_name"
|
|
v-model="form.shop_name"
|
|
@@ -49,7 +21,6 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
prop="shop_img_url"
|
|
prop="shop_img_url"
|
|
- :rules="formRules.uploadImgs"
|
|
|
|
label="店铺图片:">
|
|
label="店铺图片:">
|
|
<el-upload
|
|
<el-upload
|
|
:on-remove="(file) => {handleRemove(file, 'shop_img_url')}"
|
|
:on-remove="(file) => {handleRemove(file, 'shop_img_url')}"
|
|
@@ -67,17 +38,78 @@
|
|
</el-upload>
|
|
</el-upload>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
- prop="country_msg"
|
|
|
|
|
|
+ size="small"
|
|
|
|
+ prop="shop_address">
|
|
|
|
+ <template #label>
|
|
|
|
+ 地址:
|
|
|
|
+ <el-button type="text" @click="jumpQQLBS">(获取维度经度)</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="form.shop_address.address_name"
|
|
|
|
+ placeholder="请输入详细地址"
|
|
|
|
+ clearable></el-input>
|
|
|
|
+ <el-input
|
|
|
|
+ style="margin-top: 10px;"
|
|
|
|
+ v-model="form.shop_address.name"
|
|
|
|
+ placeholder="请输入位置名称"
|
|
|
|
+ clearable></el-input>
|
|
|
|
+ <div class="lon-lat">
|
|
|
|
+ <el-input
|
|
|
|
+ style="width: 48%;"
|
|
|
|
+ v-model.trim="form.shop_address.latitude"
|
|
|
|
+ placeholder="纬度"
|
|
|
|
+ clearable></el-input>
|
|
|
|
+ <el-input
|
|
|
|
+ style="width: 48%;"
|
|
|
|
+ v-model.trim="form.shop_address.longitude"
|
|
|
|
+ placeholder="经度"
|
|
|
|
+ clearable></el-input>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item
|
|
|
|
+ prop="user_name"
|
|
:rules="formRules.required"
|
|
:rules="formRules.required"
|
|
- label="行政村:">
|
|
|
|
|
|
+ label="用户名称:">
|
|
<el-input
|
|
<el-input
|
|
- v-model="form.country_msg"
|
|
|
|
- placeholder="请输入村信息"
|
|
|
|
|
|
+ v-model="form.user_name"
|
|
|
|
+ placeholder="请输入用户名称"
|
|
clearable></el-input>
|
|
clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
- prop="user_wechat_code"
|
|
|
|
|
|
+ prop="user_card"
|
|
|
|
+ :rules="formRules.required"
|
|
|
|
+ label="身份证号:">
|
|
|
|
+ <el-input v-model="form.user_card"
|
|
|
|
+ placeholder="请输入身份证号"
|
|
|
|
+ clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item
|
|
|
|
+ prop="shop_phone"
|
|
|
|
+ :rules="formRules.required"
|
|
|
|
+ label="手机号:">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="form.shop_phone"
|
|
|
|
+ placeholder="请输入手机号"
|
|
|
|
+ clearable
|
|
|
|
+ @input="form.shop_phone = form.shop_phone.replace(/[^\d]$/, '').replace(/^0/, '').replace(/(\d{11})(.*)/, '$1')"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item
|
|
|
|
+ prop="country_msg"
|
|
:rules="formRules.required"
|
|
:rules="formRules.required"
|
|
|
|
+ label="村信息:">
|
|
|
|
+ <el-select
|
|
|
|
+ style="width: 100%;"
|
|
|
|
+ v-model="form.country_msg"
|
|
|
|
+ placeholder="请选择村信息">
|
|
|
|
+ <el-option
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.name"
|
|
|
|
+ v-for="item in countryMsgList"
|
|
|
|
+ :key="item.value"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item
|
|
|
|
+ prop="user_wechat_code"
|
|
label="微信号:">
|
|
label="微信号:">
|
|
<el-input
|
|
<el-input
|
|
v-model="form.user_wechat_code"
|
|
v-model="form.user_wechat_code"
|
|
@@ -86,7 +118,6 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
prop="user_code_url"
|
|
prop="user_code_url"
|
|
- :rules="formRules.uploadImgs"
|
|
|
|
label="个人二维码:">
|
|
label="个人二维码:">
|
|
<el-upload
|
|
<el-upload
|
|
:on-remove="(file) => {handleRemove(file, 'user_code_url')}"
|
|
:on-remove="(file) => {handleRemove(file, 'user_code_url')}"
|
|
@@ -103,47 +134,6 @@
|
|
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过5M</div>
|
|
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过5M</div>
|
|
</el-upload>
|
|
</el-upload>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item
|
|
|
|
- size="small"
|
|
|
|
- prop="shop_address">
|
|
|
|
- <template #label>
|
|
|
|
- 经营地址:
|
|
|
|
- <el-button type="text" @click="jumpQQLBS">(获取维度经度)</el-button>
|
|
|
|
- </template>
|
|
|
|
- <el-input
|
|
|
|
- v-model="form.shop_address.address_name"
|
|
|
|
- placeholder="详细地址"
|
|
|
|
- clearable></el-input>
|
|
|
|
- <el-input
|
|
|
|
- style="margin-top: 10px;"
|
|
|
|
- v-model="form.shop_address.name"
|
|
|
|
- placeholder="位置名称"
|
|
|
|
- clearable></el-input>
|
|
|
|
- <div class="lon-lat">
|
|
|
|
- <el-input
|
|
|
|
- style="width: 48%;"
|
|
|
|
- v-model.trim="form.shop_address.latitude"
|
|
|
|
- placeholder="纬度"
|
|
|
|
- clearable></el-input>
|
|
|
|
- <el-input
|
|
|
|
- style="width: 48%;"
|
|
|
|
- v-model.trim="form.shop_address.longitude"
|
|
|
|
- placeholder="经度"
|
|
|
|
- clearable></el-input>
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item
|
|
|
|
- label="备注:"
|
|
|
|
- prop="shop_remark">
|
|
|
|
- <el-input
|
|
|
|
- type="textarea"
|
|
|
|
- :rows="4"
|
|
|
|
- placeholder="上限200字符"
|
|
|
|
- maxlength="200"
|
|
|
|
- show-word-limit
|
|
|
|
- v-model="form.shop_remark">
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
prop="company_name"
|
|
prop="company_name"
|
|
label="企业名称:">
|
|
label="企业名称:">
|
|
@@ -152,14 +142,6 @@
|
|
placeholder="请输入企业名称"
|
|
placeholder="请输入企业名称"
|
|
clearable></el-input>
|
|
clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item
|
|
|
|
- prop="company_owner_name"
|
|
|
|
- label="企业法人:">
|
|
|
|
- <el-input
|
|
|
|
- v-model="form.company_owner_name"
|
|
|
|
- placeholder="请输入企业法人名称"
|
|
|
|
- clearable></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
prop="company_created_at"
|
|
prop="company_created_at"
|
|
label="企业成立日期:">
|
|
label="企业成立日期:">
|
|
@@ -193,49 +175,32 @@
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
- prop="company_phone"
|
|
|
|
- label="公司电话:">
|
|
|
|
- <el-input
|
|
|
|
- v-model="form.company_phone"
|
|
|
|
- placeholder="请输入公司电话"
|
|
|
|
- clearable
|
|
|
|
- @input="form.company_phone = form.company_phone.replace(/[^\d]$/, '').replace(/^0/, '').replace(/(\d{11})(.*)/, '$1')"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item
|
|
|
|
- prop="company_hangye"
|
|
|
|
- label="从事行业:">
|
|
|
|
- <el-input
|
|
|
|
- v-model="form.company_hangye"
|
|
|
|
- placeholder="请输入从事行业"
|
|
|
|
- clearable></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item
|
|
|
|
- prop="company_hangye"
|
|
|
|
|
|
+ prop="shop_jidi_guimo"
|
|
label="基地规模:">
|
|
label="基地规模:">
|
|
<el-input
|
|
<el-input
|
|
- v-model="form.company_hangye"
|
|
|
|
|
|
+ v-model="form.shop_jidi_guimo"
|
|
placeholder="请输入基地规模"
|
|
placeholder="请输入基地规模"
|
|
clearable></el-input>
|
|
clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
- prop="company_hangye"
|
|
|
|
|
|
+ prop="shop_product_time"
|
|
label="产品上市时间:">
|
|
label="产品上市时间:">
|
|
<el-input
|
|
<el-input
|
|
- v-model="form.company_hangye"
|
|
|
|
|
|
+ v-model="form.shop_product_time"
|
|
placeholder="请输入产品上市时间"
|
|
placeholder="请输入产品上市时间"
|
|
clearable></el-input>
|
|
clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
- prop="shop_img_url"
|
|
|
|
|
|
+ prop="shop_shangbiao"
|
|
label="注册商标:">
|
|
label="注册商标:">
|
|
<el-upload
|
|
<el-upload
|
|
- :on-remove="(file) => {handleRemove(file, 'shop_img_url')}"
|
|
|
|
- :on-success="(file) => {handleAvatarSuccess(file, 'shop_img_url')}"
|
|
|
|
|
|
+ :on-remove="(file) => {handleRemove(file, 'shop_shangbiao')}"
|
|
|
|
+ :on-success="(file) => {handleAvatarSuccess(file, 'shop_shangbiao')}"
|
|
:before-upload="beforeAvatarUpload"
|
|
:before-upload="beforeAvatarUpload"
|
|
:on-exceed="hadnleExceed"
|
|
:on-exceed="hadnleExceed"
|
|
:accept="'image/*'"
|
|
:accept="'image/*'"
|
|
:limit="1"
|
|
:limit="1"
|
|
- :file-list="shop_img_url"
|
|
|
|
|
|
+ :file-list="shop_shangbiao"
|
|
list-type="picture-card"
|
|
list-type="picture-card"
|
|
action="/api/upload/img"
|
|
action="/api/upload/img"
|
|
multiple>
|
|
multiple>
|
|
@@ -243,6 +208,15 @@
|
|
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过5M</div>
|
|
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过5M</div>
|
|
</el-upload>
|
|
</el-upload>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item
|
|
|
|
+ label="备注:"
|
|
|
|
+ prop="shop_remark">
|
|
|
|
+ <el-input
|
|
|
|
+ type="textarea"
|
|
|
|
+ :rows="4"
|
|
|
|
+ v-model="form.shop_remark">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer text-center">
|
|
<div slot="footer" class="dialog-footer text-center">
|
|
<el-button @click="dialog = false">取 消</el-button>
|
|
<el-button @click="dialog = false">取 消</el-button>
|
|
@@ -274,24 +248,45 @@ export default {
|
|
return {
|
|
return {
|
|
dialog: !!this.value,
|
|
dialog: !!this.value,
|
|
form: {
|
|
form: {
|
|
- // 'shop_id': '', // 店铺ID
|
|
|
|
- 'user_name': '', // 用户名称
|
|
|
|
- 'user_card': '', // 身份证
|
|
|
|
- 'shop_phone': '', // 手机号码
|
|
|
|
'shop_name': '', // 店铺名称
|
|
'shop_name': '', // 店铺名称
|
|
'shop_img_url': [], // 店铺图片
|
|
'shop_img_url': [], // 店铺图片
|
|
- 'country_msg': '', // 村信息
|
|
|
|
|
|
+ 'shop_address': {}, // 地址
|
|
|
|
+ 'user_name': '', // 必填 用户名称
|
|
|
|
+ 'user_card': '', // 必填 身份证
|
|
|
|
+ 'shop_phone': '', // 必填 手机号码
|
|
|
|
+ 'country_msg': '', // 必填 村信息
|
|
'user_wechat_code': '', // 微信号
|
|
'user_wechat_code': '', // 微信号
|
|
'user_code_url': [], // 微信二维码
|
|
'user_code_url': [], // 微信二维码
|
|
- 'shop_address': {}, // 地址
|
|
|
|
|
|
+ 'company_name': '', // 公司名称
|
|
|
|
+ 'company_created_at': '', // 企业成立日期
|
|
|
|
+ 'company_hangye': '', // 所属行业
|
|
|
|
+ 'company_jingying_fanwei': '', // 经营范围
|
|
|
|
+ 'shop_jidi_guimo': '', // 基地规模
|
|
|
|
+ 'shop_product_time': '', // 商品上架时间
|
|
|
|
+ 'shop_shangbiao': [], // 商标
|
|
'shop_remark': '' // 备注
|
|
'shop_remark': '' // 备注
|
|
},
|
|
},
|
|
shop_img_url: [],
|
|
shop_img_url: [],
|
|
user_code_url: [],
|
|
user_code_url: [],
|
|
|
|
+ shop_shangbiao: [],
|
|
time: '',
|
|
time: '',
|
|
booLock: false
|
|
booLock: false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ computed: {
|
|
|
|
+ countryMsgList() {
|
|
|
|
+ const temp = this.$store.state.common.objSystemConfig
|
|
|
|
+ if (Object.prototype.toString.call(temp) === '[object Object]' && Array.isArray(temp.country_msg_list)) {
|
|
|
|
+ return temp.country_msg_list.map((item, index) => {
|
|
|
|
+ return {
|
|
|
|
+ name: item,
|
|
|
|
+ value: index
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ return []
|
|
|
|
+ }
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
beforeAvatarUpload(file) {
|
|
beforeAvatarUpload(file) {
|
|
const isLt2M = file.size / 1024 / 1024 < 5
|
|
const isLt2M = file.size / 1024 / 1024 < 5
|
|
@@ -328,21 +323,11 @@ export default {
|
|
const formData = JSON.parse(JSON.stringify(this.form))
|
|
const formData = JSON.parse(JSON.stringify(this.form))
|
|
const postData = {
|
|
const postData = {
|
|
...formData,
|
|
...formData,
|
|
- user_code_url: formData.user_code_url[0],
|
|
|
|
- shop_img_url: formData.shop_img_url[0]
|
|
|
|
- }
|
|
|
|
- if (!formData.shop_address.address_name) {
|
|
|
|
- this.$message.warning('请输入详细地址')
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if (!formData.shop_address.latitude) {
|
|
|
|
- this.$message.warning('请输入纬度')
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if (!formData.shop_address.longitude) {
|
|
|
|
- this.$message.warning('请输入经度')
|
|
|
|
- return
|
|
|
|
|
|
+ user_code_url: Array.isArray(formData.user_code_url) && formData.user_code_url.length > 0 ? formData.user_code_url[0] : '',
|
|
|
|
+ shop_img_url: Array.isArray(formData.shop_img_url) && formData.shop_img_url.length > 0 ? formData.shop_img_url[0] : '',
|
|
|
|
+ shop_shangbiao: Array.isArray(formData.shop_shangbiao) && formData.shop_shangbiao.length > 0 ? formData.shop_shangbiao[0] : ''
|
|
}
|
|
}
|
|
|
|
+
|
|
this.booLock = true
|
|
this.booLock = true
|
|
const data = await this.$fetch(url, postData)
|
|
const data = await this.$fetch(url, postData)
|
|
this.booLock = false
|
|
this.booLock = false
|
|
@@ -361,27 +346,19 @@ export default {
|
|
mounted() {
|
|
mounted() {
|
|
if (this.exData.id) {
|
|
if (this.exData.id) {
|
|
this.$set(this.form, 'shop_id', this.exData.id)
|
|
this.$set(this.form, 'shop_id', this.exData.id)
|
|
- this.shop_img_url = [
|
|
|
|
- {
|
|
|
|
- name: '',
|
|
|
|
- url: this.exData.shop_img_url
|
|
|
|
- }
|
|
|
|
- ]
|
|
|
|
- this.user_code_url = [
|
|
|
|
- {
|
|
|
|
- name: '',
|
|
|
|
- url: this.exData.user_code_url
|
|
|
|
- }
|
|
|
|
- ]
|
|
|
|
for (const key in this.exData) {
|
|
for (const key in this.exData) {
|
|
if (this.form.hasOwnProperty(key)) {
|
|
if (this.form.hasOwnProperty(key)) {
|
|
let value = this.exData[key]
|
|
let value = this.exData[key]
|
|
if ((Array.isArray(value) && value.length >= 1) || (Object.prototype.toString.call(value) === '[object Object]') || (typeof value === 'string' && value) || typeof value === 'number') {
|
|
if ((Array.isArray(value) && value.length >= 1) || (Object.prototype.toString.call(value) === '[object Object]') || (typeof value === 'string' && value) || typeof value === 'number') {
|
|
- if (key === 'user_code_url' || key === 'shop_img_url') {
|
|
|
|
|
|
+ if (key === 'user_code_url' || key === 'shop_img_url' || key === 'shop_shangbiao') {
|
|
value = [value]
|
|
value = [value]
|
|
- }
|
|
|
|
- if (key === 'sort_id') {
|
|
|
|
- value = value.toString()
|
|
|
|
|
|
+
|
|
|
|
+ this[key] = [
|
|
|
|
+ {
|
|
|
|
+ name: '',
|
|
|
|
+ url: value
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
}
|
|
}
|
|
if (key === 'shop_address' && Object.prototype.toString.call(value) !== '[object Object]') {
|
|
if (key === 'shop_address' && Object.prototype.toString.call(value) !== '[object Object]') {
|
|
value = {}
|
|
value = {}
|