修改省市区

This commit is contained in:
1154079537 2024-04-30 17:57:27 +08:00
parent bef3fb22e9
commit 5ffd91762a
3 changed files with 118 additions and 75 deletions

View File

@ -15,4 +15,8 @@ export const get_stree = (data) => request.get('api/city/get_street', data)
export const get_village = (data) => request.get('api/city/get_village', data) export const get_village = (data) => request.get('api/city/get_village', data)
// 城市
export const get_city = (data) => request.get('api/city/get_city', data) export const get_city = (data) => request.get('api/city/get_city', data)
// 省份
export const get_province = (data) => request.get('api/city/get_province', data)

View File

@ -172,8 +172,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="资质:"> <el-form-item label="资质:">
<div class="demo-image__preview"> <div class="demo-image__preview">
@ -186,7 +184,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注:"> <el-form-item label="备注:">
<el-input readony :value="statusAuditForm.mark" /> <el-input v-mode ="statusAuditForm.mark" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -266,8 +264,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="资质:"> <el-form-item label="资质:">
<div class="demo-image__preview"> <div class="demo-image__preview">
@ -278,8 +274,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注:"> <el-form-item label="备注:">
<el-input readony :value="statusAuditForm.mark" /> <el-input readony :value="statusAuditForm.mark" />
@ -390,11 +384,11 @@ export default {
this.$refs.searchForm.resetFields() this.$refs.searchForm.resetFields()
this.getList(1) this.getList(1)
}, },
statusChange(tab) { // statusChange(tab) {
this.tableFrom.status = tab; // this.tableFrom.status = tab;
this.tableFrom.page = 1; // this.tableFrom.page = 1;
this.getList(""); // this.getList("");
}, // },
// //
onchangeTime(e) { onchangeTime(e) {
this.timeVal = e; this.timeVal = e;
@ -445,7 +439,7 @@ export default {
// //
onchangeIsShow(item) { onchangeIsShow(item) {
this.statusAuditVisible = true; this.statusAuditVisible = true;
this.statusAuditForm = item; this.statusAuditForm = Object.assign(this.statusAuditForm,item)
this.$set(this.statusAuditForm, 'state', 1); this.$set(this.statusAuditForm, 'state', 1);
this.$set(this.statusAuditForm, 'create_mer', 1); this.$set(this.statusAuditForm, 'create_mer', 1);
}, },

View File

@ -52,7 +52,8 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="排序:" prop="sort"> <el-form-item label="排序:" prop="sort">
<el-input-number size="small" v-model="merData.sort" controls-position="right" placeholder="请输入排序" /> <el-input-number size="small" v-model="merData.sort" controls-position="right"
placeholder="请输入排序"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -66,6 +67,13 @@
<el-row> <el-row>
<el-col> <el-col>
<el-form-item label="店铺商圈:"> <el-form-item label="店铺商圈:">
<el-select v-model="merData.province_id" placeholder="请选择省份" class="selWidth"
@change="cityChange($event, 5)" style="width:150px;"
v-if="provinceList && provinceList.length > 0">
<el-option v-for="(item, indx) in provinceList" :key="indx" :value="Number(item.code)"
:label="item.name"/>
</el-select>
<el-select v-model="merData.city_id" placeholder="请选择城市" class="selWidth" <el-select v-model="merData.city_id" placeholder="请选择城市" class="selWidth"
@change="cityChange($event, 1)" style="width:150px;" v-if="cityList && cityList.length > 0"> @change="cityChange($event, 1)" style="width:150px;" v-if="cityList && cityList.length > 0">
<el-option v-for="(item, indx) in cityList" :key="indx" :value="Number(item.code)" <el-option v-for="(item, indx) in cityList" :key="indx" :value="Number(item.code)"
@ -79,13 +87,15 @@
</el-select> </el-select>
<el-select v-model="merData.street_id" placeholder="请选择街道" class="selWidth" <el-select v-model="merData.street_id" placeholder="请选择街道" class="selWidth"
@change="cityChange($event, 3)" style="width:150px;" v-if="streetList && streetList.length > 0"> @change="cityChange($event, 3)" style="width:150px;"
v-if="streetList && streetList.length > 0">
<el-option v-for="(item, indx) in streetList" :key="indx" :value="Number(item.code)" <el-option v-for="(item, indx) in streetList" :key="indx" :value="Number(item.code)"
:label="item.name"/> :label="item.name"/>
</el-select> </el-select>
<el-select v-model="merData.village_id" placeholder="请选择社区" class="selWidth" <el-select v-model="merData.village_id" placeholder="请选择社区" class="selWidth"
@change="cityChange($event, 4)" style="width:150px;" v-if="villageList && villageList.length > 0"> @change="cityChange($event, 4)" style="width:150px;"
v-if="villageList && villageList.length > 0">
<el-option v-for="(item, indx) in villageList" :key="indx" :value="Number(item.id)" <el-option v-for="(item, indx) in villageList" :key="indx" :value="Number(item.id)"
:label="item.name"/> :label="item.name"/>
</el-select> </el-select>
@ -105,7 +115,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="备注:" prop="mark"> <el-form-item label="备注:" prop="mark">
<el-input type="textarea" size="small" v-model="merData.mark" placeholder="请填写备注" class="selWidth" /> <el-input type="textarea" size="small" v-model="merData.mark" placeholder="请填写备注"
class="selWidth"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -138,7 +149,9 @@
<el-input-number :min="0" v-model="merData.commission_rate" size="small" controls-position="right" <el-input-number :min="0" v-model="merData.commission_rate" size="small" controls-position="right"
placeholder="请输入手续费"/>% placeholder="请输入手续费"/>%
</span> </span>
<div class="info info-red">(此处如未设置手续费系统会自动读取商户分类下对应手续费此处已设置则优先以此处设置为准)</div> <div class="info info-red">
(此处如未设置手续费系统会自动读取商户分类下对应手续费此处已设置则优先以此处设置为准)
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -181,7 +194,8 @@
<el-form-item label="商品采集数:"> <el-form-item label="商品采集数:">
<el-input v-model="merData.copy_product_num" size="small" disabled></el-input> <el-input v-model="merData.copy_product_num" size="small" disabled></el-input>
<el-button type="text" @click="modifyCopy" <el-button type="text" @click="modifyCopy"
style="margin-left: 10px;position:absolute;right: -30px;">修改</el-button> style="margin-left: 10px;position:absolute;right: -30px;">修改
</el-button>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -205,7 +219,8 @@
</el-col> </el-col>
<el-col v-if="!isAdd" :span="12"> <el-col v-if="!isAdd" :span="12">
<el-form-item label="联系人:" prop="real_name"> <el-form-item label="联系人:" prop="real_name">
<el-input type="text" size="small" placeholder="请填写联系人" v-model="merData.real_name" class="selWidth" /> <el-input type="text" size="small" placeholder="请填写联系人" v-model="merData.real_name"
class="selWidth"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -224,7 +239,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<div class="info-red" style="margin-left: 120px;">当开启自动分账时每个子商户在微信后台的分账商户号即特约子商户号</div> <div class="info-red" style="margin-left: 120px;">
当开启自动分账时每个子商户在微信后台的分账商户号即特约子商户号
</div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@ -247,8 +264,10 @@ import {
get_area, get_area,
get_stree, get_stree,
get_village, get_village,
get_city get_city,
get_province
} from "@/api/shoplist"; } from "@/api/shoplist";
export default { export default {
props: { props: {
merData: { merData: {
@ -298,6 +317,7 @@ export default {
], ],
mer_phone: [{required: true, validator: validatePhone, trigger: 'blur'}], mer_phone: [{required: true, validator: validatePhone, trigger: 'blur'}],
}, },
provinceList: [],
cityList: [], cityList: [],
areaList: [], areaList: [],
streetList: [], streetList: [],
@ -316,44 +336,72 @@ export default {
}, },
mounted() { mounted() {
setTimeout(() => { setTimeout(() => {
this.getCity(this.merData.city_id, this.merData.area_id, this.merData.street_id); this.getProvince(this.merData.province_id, this.merData.city_id, this.merData.area_id, this.merData.street_id);
this.$forceUpdate(); this.$forceUpdate();
}, 200); }, 200);
}, },
methods: { methods: {
// //
getCity(cityCode, areaCode, streetCode) { getProvince(provinceCode, cityCode, areaCode, streetCode) {
get_city().then(res => { get_province().then(res => {
this.provinceList = res.data;
this.getCity(provinceCode, cityCode, areaCode, streetCode);
});
},
//
getCity(provinceCode, cityCode, areaCode, streetCode) {
if (provinceCode) {
get_city({province_code: provinceCode}).then(res => {
this.cityList = res.data; this.cityList = res.data;
this.getArea(cityCode, areaCode, streetCode); this.getArea(cityCode, areaCode, streetCode);
}); });
}
}, },
// //
getArea(cityCode, areaCode, streetCode) { getArea(cityCode, areaCode, streetCode) {
if (cityCode) {
get_area({city_code: cityCode}).then(res => { get_area({city_code: cityCode}).then(res => {
this.areaList = res.data; this.areaList = res.data;
this.getStreet(areaCode, streetCode); this.getStreet(areaCode, streetCode);
}) })
}
}, },
// //
getStreet(areaCode, streetCode) { getStreet(areaCode, streetCode) {
if (areaCode) {
get_stree({area_code: areaCode}).then(res => { get_stree({area_code: areaCode}).then(res => {
this.streetList = res.data; this.streetList = res.data;
this.getVillage(streetCode); this.getVillage(streetCode);
}) })
}
}, },
// //
getVillage(street_code) { getVillage(street_code) {
if (street_code) {
get_village({street_code}).then(res => { get_village({street_code}).then(res => {
this.villageList = res.data; this.villageList = res.data;
}) })
}
}, },
// 1 2 3 4 // 1 2 3 4
cityChange(code, type) { cityChange(code, type) {
if (type == 5) {
this.getCity(code);
this.merData.city_id = "";
this.merData.area_id = "";
this.merData.street_id = "";
this.merData.village_id = "";
this.cityList = [];
this.areaList = [];
this.streetList = [];
this.villageList = [];
}
if (type == 1) { if (type == 1) {
this.getArea(code); this.getArea(code);
this.merData.area_id = ""; this.merData.area_id = "";
@ -389,9 +437,6 @@ export default {
}, },
/*提交信息*/ /*提交信息*/
onSubmit(id) { onSubmit(id) {
console.log(1)
this.$refs['merDataField'].validate(valid => { this.$refs['merDataField'].validate(valid => {
if (valid) { if (valid) {
this.loading = true; this.loading = true;