|
@@ -42,7 +42,7 @@
|
|
|
<view class="content-item">
|
|
|
<u-form-item prop="storeAddress" required label="所在地区" right>
|
|
|
<view class="item-r">
|
|
|
- <u--input placeholder="请选择所在地区" border="surround" v-model="storeInfo.storeAddress"
|
|
|
+ <u--input placeholder="请选择所在地区" border="surround" v-model="storeAddress"
|
|
|
@focus="handlerChange"></u--input>
|
|
|
</view>
|
|
|
<view class="icon-right-box">
|
|
@@ -65,6 +65,51 @@
|
|
|
</u-form-item>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ <!-- 商家信息 -->
|
|
|
+ <view class="content-box">
|
|
|
+ <view class="content-item">
|
|
|
+ <u-form-item prop="mainBusiness" required label="主营业务" right>
|
|
|
+ <view class="item-r">
|
|
|
+ <u--input placeholder="请选择主营业务" border="surround" v-model="mainBusinessName"
|
|
|
+ @focus="handlerChangeMainBusiness"></u--input>
|
|
|
+ </view>
|
|
|
+ <view class="icon-right-box">
|
|
|
+ <u-icon name="arrow-right" color="#c5c5c5" size="20"></u-icon>
|
|
|
+ </view>
|
|
|
+ </u-form-item>
|
|
|
+ </view>
|
|
|
+ <view class="content-item">
|
|
|
+ <u-form-item prop="ancillaryBusiness" required label="辅营业务" right>
|
|
|
+ <view class="item-r">
|
|
|
+
|
|
|
+ <!-- #ifndef APP-NVUE -->
|
|
|
+ <u-input placeholder="请选择辅营业务" v-model="ancillaryBusinessName.join(',')" clearable
|
|
|
+ @clear="ancillaryBusinessClear">
|
|
|
+ <!-- #endif -->
|
|
|
+ <!-- #ifdef APP-NVUE -->
|
|
|
+ <u--input placeholder="sadasd">
|
|
|
+ <!-- #endif -->
|
|
|
+ <template slot="suffix">
|
|
|
+ <u-icon @click="handlerChangeAncillaryBusiness" name="arrow-right"
|
|
|
+ color="#c5c5c5" size="20"></u-icon>
|
|
|
+ </template>
|
|
|
+ <!-- #ifndef APP-NVUE -->
|
|
|
+ </u-input>
|
|
|
+ <!-- #endif -->
|
|
|
+ </view>
|
|
|
+ </u-form-item>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <view class="content-item">
|
|
|
+ <u-form-item prop="opening" required label="营业时间" right>
|
|
|
+ <view class="item-r">
|
|
|
+ <u--input placeholder="请输入营业时间" border="surround" v-model="storeInfo.opening"></u--input>
|
|
|
+ </view>
|
|
|
+ </u-form-item>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
<view class="content-box">
|
|
|
<u-form-item prop="storeImage">
|
|
@@ -82,9 +127,10 @@
|
|
|
</u-form>
|
|
|
<button class="btn" @click="handlerSkipNext">下一步</button>
|
|
|
|
|
|
- <!-- 地区 -->
|
|
|
- <u-picker :show="show" ref="uPicker" :columns="cityList" @confirm="confirm" @change="changeHandler"
|
|
|
+ <!-- 选择器 -->
|
|
|
+ <u-picker :show="show" ref="uPicker" :columns="list" keyName="name" @confirm="confirm" @change="changeHandler"
|
|
|
@cancel="show = false"></u-picker>
|
|
|
+
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -92,6 +138,10 @@
|
|
|
import ImgsUpload from './components/ImgsUpload.vue';
|
|
|
// 导入城市js文件
|
|
|
import cityData from '@/utils/city';
|
|
|
+ import {
|
|
|
+ getParentCategoriesData,
|
|
|
+ getRootCategoriesData
|
|
|
+ } from '@/api/merchant/merchantAuth';
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
@@ -99,20 +149,34 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ storeAddress: "",
|
|
|
+ mainBusinessName: "", // 主营业务,
|
|
|
+ ancillaryBusinessName: [], // 辅营业务
|
|
|
storeInfo: {
|
|
|
- storeAddress: '',
|
|
|
+ region: '',
|
|
|
storeAddressDetail: '',
|
|
|
legalRepresentativeName: '',
|
|
|
mobileNumber: '',
|
|
|
storeName: '',
|
|
|
storeImage: '',
|
|
|
- storeInnerImage: '',
|
|
|
+ storeInnerImage: [],
|
|
|
email: "",
|
|
|
longitude: '',
|
|
|
- latitude: ''
|
|
|
-
|
|
|
+ latitude: '',
|
|
|
+ opening: '',
|
|
|
+ city: "",
|
|
|
+ province: "",
|
|
|
+ district: "",
|
|
|
+ mainBusiness: "", // 主营业务,
|
|
|
+ ancillaryBusiness: [], // 辅营业务
|
|
|
},
|
|
|
rules: {
|
|
|
+ opening: {
|
|
|
+ type: 'string',
|
|
|
+ required: true,
|
|
|
+ message: '请输入营业时间',
|
|
|
+ trigger: ['blur', 'change'],
|
|
|
+ },
|
|
|
legalRepresentativeName: {
|
|
|
type: 'string',
|
|
|
required: true,
|
|
@@ -157,7 +221,17 @@
|
|
|
trigger: ['change', 'blur'],
|
|
|
},
|
|
|
],
|
|
|
- storeAddress: [{
|
|
|
+ region: [{
|
|
|
+ required: true,
|
|
|
+ message: '请选择所在地区',
|
|
|
+ trigger: ['change'],
|
|
|
+ }, ],
|
|
|
+ mainBusiness: [{
|
|
|
+ required: true,
|
|
|
+ message: '请选择所在地区',
|
|
|
+ trigger: ['change'],
|
|
|
+ }, ],
|
|
|
+ ancillaryBusiness: [{
|
|
|
required: true,
|
|
|
message: '请选择所在地区',
|
|
|
trigger: ['change'],
|
|
@@ -165,10 +239,15 @@
|
|
|
},
|
|
|
show: false, //显示选择器
|
|
|
// 打开选择器显示默认城市
|
|
|
- cityList: [],
|
|
|
+ cityList: [], // 选择地区数组
|
|
|
cityLevel1: [],
|
|
|
cityLevel2: [],
|
|
|
cityLevel3: [],
|
|
|
+
|
|
|
+ list: [], // 数组控制器
|
|
|
+ mainBusinessList: [], // 主营业务下拉数组
|
|
|
+ ancillaryBusinessList: [], // 辅营业务数组
|
|
|
+
|
|
|
};
|
|
|
},
|
|
|
onReady() {
|
|
@@ -177,8 +256,32 @@
|
|
|
},
|
|
|
onShow() {
|
|
|
this.initCityData();
|
|
|
+ this.request()
|
|
|
+ console.log(this.mainBusinessList, this.ancillaryBusinessList)
|
|
|
},
|
|
|
methods: {
|
|
|
+
|
|
|
+ async request() {
|
|
|
+ const res = await getParentCategoriesData({
|
|
|
+ type: "0"
|
|
|
+ })
|
|
|
+ this.mainBusinessList = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ name: item.name,
|
|
|
+ id: item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ const res1 = await getRootCategoriesData({
|
|
|
+ type: "0"
|
|
|
+ })
|
|
|
+ this.ancillaryBusinessList = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ name: item.name,
|
|
|
+ id: item.id,
|
|
|
+ status: 1
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
// 手动选择城市
|
|
|
manualGetLocation() {
|
|
|
uni.chooseLocation({
|
|
@@ -189,10 +292,11 @@
|
|
|
latitude
|
|
|
} = res;
|
|
|
console.log(this.stereInfo, "this")
|
|
|
- this.storeInfo.longitude = longitude.toFixed(5);
|
|
|
- this.storeInfo.latitude = latitude.toFixed(5);
|
|
|
+ this.storeInfo.longitude = parseFloat(longitude.toFixed(5))
|
|
|
+ this.storeInfo.latitude = parseFloat(latitude.toFixed(5));
|
|
|
this.storeInfo.storeAddressDetail = res.address
|
|
|
|
|
|
+
|
|
|
},
|
|
|
fail: err => {},
|
|
|
});
|
|
@@ -201,16 +305,25 @@
|
|
|
// 遍历城市js
|
|
|
cityData.forEach((item1, index1) => {
|
|
|
let temp2 = [];
|
|
|
- this.cityLevel1.push(item1.provinceName);
|
|
|
+ this.cityLevel1.push({
|
|
|
+ name: item1.provinceName,
|
|
|
+ id: item1.provinceCode
|
|
|
+ });
|
|
|
|
|
|
let temp4 = [];
|
|
|
let temp3 = [];
|
|
|
// 遍历市
|
|
|
item1.cities.forEach((item2, index2) => {
|
|
|
- temp2.push(item2.cityName);
|
|
|
+ temp2.push({
|
|
|
+ name: item2.cityName,
|
|
|
+ id: item2.cityCode
|
|
|
+ });
|
|
|
// 遍历区
|
|
|
item2.counties.forEach((item3, index3) => {
|
|
|
- temp3.push(item3.countyName);
|
|
|
+ temp3.push({
|
|
|
+ name: item3.countyName,
|
|
|
+ id: item3.countyCode
|
|
|
+ });
|
|
|
});
|
|
|
temp4[index2] = temp3;
|
|
|
temp3 = [];
|
|
@@ -220,37 +333,74 @@
|
|
|
});
|
|
|
// 选择器默认城市
|
|
|
this.cityList.push(this.cityLevel1, this.cityLevel2[0], this.cityLevel3[0][0]);
|
|
|
+ console.log(this.cityList, "this.cityList")
|
|
|
},
|
|
|
// 选中时执行
|
|
|
changeHandler(e) {
|
|
|
- const {
|
|
|
- columnIndex,
|
|
|
- index,
|
|
|
- indexs,
|
|
|
- value,
|
|
|
- values,
|
|
|
- // 微信小程序无法将picker实例传出来,只能通过ref操作
|
|
|
- picker = this.$refs.uPicker,
|
|
|
- } = e;
|
|
|
- if (columnIndex === 0) {
|
|
|
- // 选择第一列数据时 设置第二列关联数据
|
|
|
- picker.setColumnValues(1, this.cityLevel2[index]);
|
|
|
- // 设置第三列关联数据
|
|
|
- picker.setColumnValues(2, this.cityLevel3[index][columnIndex]);
|
|
|
- } else if (columnIndex === 1) {
|
|
|
- // 选择第二列数据时 设置第三列关联数据
|
|
|
- picker.setColumnValues(2, this.cityLevel3[indexs[0]][index]);
|
|
|
+ if (this.list.length > 1) {
|
|
|
+ const {
|
|
|
+ columnIndex,
|
|
|
+ index,
|
|
|
+ indexs,
|
|
|
+ value,
|
|
|
+ values,
|
|
|
+ // 微信小程序无法将picker实例传出来,只能通过ref操作
|
|
|
+ picker = this.$refs.uPicker,
|
|
|
+ } = e;
|
|
|
+ if (columnIndex === 0) {
|
|
|
+ // 选择第一列数据时 设置第二列关联数据
|
|
|
+ picker.setColumnValues(1, this.cityLevel2[index]);
|
|
|
+ // 设置第三列关联数据
|
|
|
+ picker.setColumnValues(2, this.cityLevel3[index][columnIndex]);
|
|
|
+ } else if (columnIndex === 1) {
|
|
|
+ // 选择第二列数据时 设置第三列关联数据
|
|
|
+ picker.setColumnValues(2, this.cityLevel3[indexs[0]][index]);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
},
|
|
|
// 单击确认按钮时执行
|
|
|
confirm(e) {
|
|
|
- this.storeInfo.storeAddress = e.value.join('');
|
|
|
- // 隐藏城市选择器
|
|
|
+ if (e.value.length > 1) {
|
|
|
+ this.storeInfo.province = parseInt(e.value[0].id, 10)
|
|
|
+ this.storeInfo.city = parseInt(e.value[1].id, 10)
|
|
|
+ this.storeInfo.district = parseInt(e.value[2].id, 10)
|
|
|
+ this.storeInfo.region = parseInt(e.value[2].id, 10)
|
|
|
+ this.storeAddress = e.value.map(item => item.name).join('')
|
|
|
+ // 隐藏城市选择器
|
|
|
+ } else {
|
|
|
+ if (e.value[0].status && e.value[0].status == 1) {
|
|
|
+ this.ancillaryBusinessName.push(e.value[0].name)
|
|
|
+ this.storeInfo.ancillaryBusiness.push(e.value[0].id)
|
|
|
+ } else {
|
|
|
+ this.mainBusinessName = e.value[0].name
|
|
|
+ this.storeInfo.mainBusiness = e.value[0].id
|
|
|
+ }
|
|
|
+ }
|
|
|
this.show = false;
|
|
|
},
|
|
|
+ // 点击选择地区
|
|
|
handlerChange() {
|
|
|
+ this.list = this.cityList
|
|
|
+ this.show = true;
|
|
|
+ },
|
|
|
+ //点击选择主营业务
|
|
|
+ handlerChangeMainBusiness() {
|
|
|
+ this.list = [this.mainBusinessList]
|
|
|
this.show = true;
|
|
|
},
|
|
|
+ //点击选择辅营业务
|
|
|
+ handlerChangeAncillaryBusiness() {
|
|
|
+ console.log("asdsd")
|
|
|
+ this.list = [this.ancillaryBusinessList]
|
|
|
+ console.log(this.list)
|
|
|
+ this.show = true;
|
|
|
+ },
|
|
|
+ //点击清空按钮
|
|
|
+ ancillaryBusinessClear() {
|
|
|
+ this.ancillaryBusinessName = []
|
|
|
+ this.storeInfo.ancillaryBusiness = []
|
|
|
+ },
|
|
|
handlerSkipNext() {
|
|
|
this.$refs.uForm.validate().then(res => {
|
|
|
this.$store.commit('SET_STOREINFO', this.storeInfo);
|
|
@@ -266,9 +416,15 @@
|
|
|
if (data == 1) {
|
|
|
this.storeInfo.storeImage = val[0];
|
|
|
} else if (data == 2) {
|
|
|
- this.storeInfo.storeInnerImage = val[0];
|
|
|
+ this.storeInfo.storeInnerImage = val.map((item) => {
|
|
|
+ return {
|
|
|
+ url: item,
|
|
|
+ media: "IMAGE"
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
+ // 点击选择主营业务
|
|
|
},
|
|
|
};
|
|
|
</script>
|