|
@@ -10,64 +10,32 @@
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<div class="detail-tab-item" style="padding: 20px">
|
|
|
- <el-form
|
|
|
- ref="form"
|
|
|
- size="small"
|
|
|
- :model="form"
|
|
|
- :rules="rules"
|
|
|
- label-width="140px"
|
|
|
- >
|
|
|
+ <el-form ref="form" size="small" :model="form" :rules="rules" label-width="140px">
|
|
|
<el-row>
|
|
|
<el-col :span="14">
|
|
|
<el-form-item prop="logo" label="商铺LOGO">
|
|
|
- <UploadQiniu
|
|
|
- :file-list="img_list"
|
|
|
- @uploadSuccess="uploadSuccess"
|
|
|
- @handleRemove="uploadRemove"
|
|
|
- />
|
|
|
+ <UploadQiniu :file-list="img_list" @uploadSuccess="uploadSuccess" @handleRemove="uploadRemove" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="商铺编码">
|
|
|
- <el-input
|
|
|
- v-model="form.shopCode"
|
|
|
- disabled
|
|
|
- placeholder="系统自动创建"
|
|
|
- style="width: 300px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="form.shopCode" disabled placeholder="系统自动创建" style="width: 300px"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="商铺名称" prop="name">
|
|
|
- <el-input
|
|
|
- v-model="form.name"
|
|
|
- placeholder="商铺名称"
|
|
|
- style="width: 300px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="form.name" placeholder="商铺名称" style="width: 300px"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="仓库" prop="warehouseId">
|
|
|
<el-button type="primary" @click="warehouse_show = true">
|
|
|
选择仓库
|
|
|
</el-button>
|
|
|
<div style="display: inline-block; margin-left: 10px">
|
|
|
- <el-tag
|
|
|
- v-for="(item, index) in useWarehouseNameArr"
|
|
|
- :key="index"
|
|
|
- closable
|
|
|
- @close="closeTag(index)"
|
|
|
- >
|
|
|
+ <el-tag v-for="(item, index) in useWarehouseNameArr" :key="index" closable @close="closeTag(index)">
|
|
|
{{ item.warehouseName }}
|
|
|
</el-tag>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="商铺类型" prop="shopType">
|
|
|
- <el-select
|
|
|
- v-model="form.shopType"
|
|
|
- placeholder="商铺类型"
|
|
|
- style="width: 300px"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in type_options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- ></el-option>
|
|
|
+ <el-select v-model="form.shopType" placeholder="商铺类型" style="width: 300px">
|
|
|
+ <el-option v-for="item in type_options" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="成本算法" prop="costType">-->
|
|
@@ -127,64 +95,28 @@
|
|
|
|
|
|
<el-form-item label="商铺地址" prop="address">
|
|
|
<div v-if="!!shopId && region.length > 0">
|
|
|
- <RegionSelect
|
|
|
- v-model="region"
|
|
|
- size="small"
|
|
|
- style="width: 300px"
|
|
|
- @getRegion="getRegion"
|
|
|
- @change="regionChange"
|
|
|
- />
|
|
|
+ <RegionSelect v-model="region" size="small" style="width: 300px" @getRegion="getRegion"
|
|
|
+ @change="regionChange" />
|
|
|
</div>
|
|
|
<div v-else>
|
|
|
- <RegionSelect
|
|
|
- v-model="region"
|
|
|
- size="small"
|
|
|
- style="width: 300px"
|
|
|
- @change="regionChange"
|
|
|
- />
|
|
|
+ <RegionSelect v-model="region" size="small" style="width: 300px" @change="regionChange" />
|
|
|
</div>
|
|
|
- <el-input
|
|
|
- v-model="form.address"
|
|
|
- placeholder="详细地址"
|
|
|
- style="width: 300px; margin-top: 10px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="form.address" placeholder="详细地址" style="width: 300px; margin-top: 10px"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="商铺坐标">
|
|
|
+ <el-input v-model="form.latitude" placeholder="经度" style="width: 160px"></el-input>
|
|
|
+ <el-input v-model="form.longitude" placeholder="纬度" style="width: 160px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="商铺坐标">-->
|
|
|
- <!-- <el-input-->
|
|
|
- <!-- v-model="form.latitude"-->
|
|
|
- <!-- readonly-->
|
|
|
- <!-- placeholder="经度"-->
|
|
|
- <!-- style="width: 160px"-->
|
|
|
- <!-- ></el-input>-->
|
|
|
- <!-- <el-input-->
|
|
|
- <!-- v-model="form.longitude"-->
|
|
|
- <!-- readonly-->
|
|
|
- <!-- placeholder="纬度"-->
|
|
|
- <!-- style="width: 160px"-->
|
|
|
- <!-- ></el-input>-->
|
|
|
- <!-- </el-form-item>-->
|
|
|
<el-form-item label="主营">
|
|
|
- <el-input
|
|
|
- v-model="form.describe"
|
|
|
- placeholder="商铺主营"
|
|
|
- style="width: 300px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="form.describe" placeholder="商铺主营" style="width: 300px"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="false" label-width="0">
|
|
|
<div style="width: 800px">
|
|
|
- <baidu-map
|
|
|
- v-if="false"
|
|
|
- class="map"
|
|
|
- style="height: 400px; overflow-y: auto"
|
|
|
- :center="'北京'"
|
|
|
- @click="mapClick"
|
|
|
- >
|
|
|
+ <baidu-map v-if="false" class="map" style="height: 400px; overflow-y: auto" :center="'北京'"
|
|
|
+ @click="mapClick">
|
|
|
<!-- 地区检索-->
|
|
|
- <bm-local-search
|
|
|
- :keyword="mapCenter"
|
|
|
- :auto-viewport="true"
|
|
|
- @searchcomplete="searchcomplete"
|
|
|
- ></bm-local-search>
|
|
|
+ <bm-local-search :keyword="mapCenter" :auto-viewport="true" @searchcomplete="searchcomplete">
|
|
|
+ </bm-local-search>
|
|
|
<!-- 缩放-->
|
|
|
<bm-navigation anchor="BMAP_ANCHOR_TOP_RIGHT"></bm-navigation>
|
|
|
</baidu-map>
|
|
@@ -194,79 +126,42 @@
|
|
|
<el-col :span="10">
|
|
|
<el-form-item label="营业时间" prop="openTime">
|
|
|
<template>
|
|
|
- <el-time-picker
|
|
|
- v-model="startTime"
|
|
|
- format="HH:mm"
|
|
|
- style="width: 130px"
|
|
|
- placeholder="开始时间"
|
|
|
- :disabled="!!form.openTime.isAllDay"
|
|
|
- @change="startTimeChange"
|
|
|
- />
|
|
|
- <el-time-picker
|
|
|
- v-model="endTime"
|
|
|
- style="margin: 0 10px; width: 130px"
|
|
|
- format="HH:mm"
|
|
|
- placeholder="结束时间"
|
|
|
- :disabled="!!form.openTime.isAllDay"
|
|
|
- @change="endTimeChange"
|
|
|
- />
|
|
|
+ <el-time-picker v-model="startTime" format="HH:mm" style="width: 130px" placeholder="开始时间"
|
|
|
+ :disabled="!!form.openTime.isAllDay" @change="startTimeChange" />
|
|
|
+ <el-time-picker v-model="endTime" style="margin: 0 10px; width: 130px" format="HH:mm" placeholder="结束时间"
|
|
|
+ :disabled="!!form.openTime.isAllDay" @change="endTimeChange" />
|
|
|
</template>
|
|
|
|
|
|
<el-checkbox v-model="form.openTime.isAllDay">全天</el-checkbox>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="联系人" prop="contactName">
|
|
|
- <el-input
|
|
|
- v-model="form.contactName"
|
|
|
- placeholder="联系人"
|
|
|
- style="width: 350px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="form.contactName" placeholder="联系人" style="width: 350px"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="联系电话" prop="mobile">
|
|
|
- <el-input
|
|
|
- v-model="form.mobile"
|
|
|
- placeholder="联系电话"
|
|
|
- style="width: 350px"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="form.mobile" placeholder="联系电话" style="width: 350px"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="销售区域" prop="region">
|
|
|
<el-radio-group v-model="is_all_region">
|
|
|
<el-radio :label="5">全国</el-radio>
|
|
|
<el-radio :label="4">部分</el-radio>
|
|
|
</el-radio-group>
|
|
|
- <div
|
|
|
- v-show="is_all_region === 4"
|
|
|
- style="
|
|
|
+ <div v-show="is_all_region === 4" style="
|
|
|
border-top: 1px solid #ddd;
|
|
|
margin-top: 10px;
|
|
|
padding-top: 10px;
|
|
|
- "
|
|
|
- >
|
|
|
- <RegionTree
|
|
|
- :already-region="already_region"
|
|
|
- :checked-key="region_arr"
|
|
|
- @checkChange="selRegion"
|
|
|
- />
|
|
|
+ ">
|
|
|
+ <RegionTree :already-region="already_region" :checked-key="region_arr" @checkChange="selRegion" />
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
- <PartnershipModel
|
|
|
- v-if="show_Partnership"
|
|
|
- :is-show-add="true"
|
|
|
- :is-check="false"
|
|
|
- :dialog-visible="show_Partnership"
|
|
|
- @close="show_Partnership = false"
|
|
|
- @confirm="PartnershipConfirm"
|
|
|
- />
|
|
|
+ <PartnershipModel v-if="show_Partnership" :is-show-add="true" :is-check="false" :dialog-visible="show_Partnership"
|
|
|
+ @close="show_Partnership = false" @confirm="PartnershipConfirm" />
|
|
|
<!-- 选择仓库-->
|
|
|
- <WarehouseModel
|
|
|
- v-if="warehouse_show"
|
|
|
- :is-show="warehouse_show"
|
|
|
- @confirm="selWarehouse"
|
|
|
- @cancel="warehouse_show = false"
|
|
|
- />
|
|
|
+ <WarehouseModel v-if="warehouse_show" :is-show="warehouse_show" @confirm="selWarehouse"
|
|
|
+ @cancel="warehouse_show = false" />
|
|
|
</ContainerTit>
|
|
|
</template>
|
|
|
|
|
@@ -282,8 +177,14 @@
|
|
|
editShop,
|
|
|
addShop,
|
|
|
} from "@/api/Shop";
|
|
|
- import { getPauseSave, delPauseSave, addPauseSave } from "@/api/common";
|
|
|
- import { mapGetters } from "vuex";
|
|
|
+ import {
|
|
|
+ getPauseSave,
|
|
|
+ delPauseSave,
|
|
|
+ addPauseSave
|
|
|
+ } from "@/api/common";
|
|
|
+ import {
|
|
|
+ mapGetters
|
|
|
+ } from "vuex";
|
|
|
export default {
|
|
|
name: "AddShop",
|
|
|
components: {
|
|
@@ -330,8 +231,7 @@
|
|
|
useWarehouseName: [],
|
|
|
is_all_region: 5, // 销售区域是否选择全国,默认全国
|
|
|
loading: false,
|
|
|
- cost_algorithm: [
|
|
|
- {
|
|
|
+ cost_algorithm: [{
|
|
|
label: "移动加权法",
|
|
|
value: 1,
|
|
|
},
|
|
@@ -350,8 +250,7 @@
|
|
|
img_list: [],
|
|
|
shopId: "",
|
|
|
map_center: "北京",
|
|
|
- type_options: [
|
|
|
- {
|
|
|
+ type_options: [{
|
|
|
value: 1,
|
|
|
label: "联营商铺",
|
|
|
},
|
|
@@ -387,51 +286,75 @@
|
|
|
},
|
|
|
isAllCountry: false,
|
|
|
rules: {
|
|
|
- logo: [
|
|
|
- { required: true, message: "请上传商铺LOGO", trigger: "change" },
|
|
|
- ],
|
|
|
- name: [
|
|
|
- { required: true, message: "请输入商铺名称", trigger: "blur" },
|
|
|
- ],
|
|
|
- shopType: [
|
|
|
- { required: true, message: "请选择商铺类型", trigger: "change" },
|
|
|
- ],
|
|
|
- costType: [
|
|
|
- { required: true, message: "请选择成本算法", trigger: "change" },
|
|
|
- ],
|
|
|
- provinceCode: [
|
|
|
- { required: true, message: "请选择商铺地址", trigger: "change" },
|
|
|
- ],
|
|
|
- model: [
|
|
|
- { required: true, message: "请选择经营模式", trigger: "change" },
|
|
|
- ],
|
|
|
- address: [
|
|
|
- { required: true, message: "请输入详细地址", trigger: "blur" },
|
|
|
- ],
|
|
|
+ logo: [{
|
|
|
+ required: true,
|
|
|
+ message: "请上传商铺LOGO",
|
|
|
+ trigger: "change"
|
|
|
+ }, ],
|
|
|
+ name: [{
|
|
|
+ required: true,
|
|
|
+ message: "请输入商铺名称",
|
|
|
+ trigger: "blur"
|
|
|
+ }, ],
|
|
|
+ shopType: [{
|
|
|
+ required: true,
|
|
|
+ message: "请选择商铺类型",
|
|
|
+ trigger: "change"
|
|
|
+ }, ],
|
|
|
+ costType: [{
|
|
|
+ required: true,
|
|
|
+ message: "请选择成本算法",
|
|
|
+ trigger: "change"
|
|
|
+ }, ],
|
|
|
+ provinceCode: [{
|
|
|
+ required: true,
|
|
|
+ message: "请选择商铺地址",
|
|
|
+ trigger: "change"
|
|
|
+ }, ],
|
|
|
+ model: [{
|
|
|
+ required: true,
|
|
|
+ message: "请选择经营模式",
|
|
|
+ trigger: "change"
|
|
|
+ }, ],
|
|
|
+ address: [{
|
|
|
+ required: true,
|
|
|
+ message: "请输入详细地址",
|
|
|
+ trigger: "blur"
|
|
|
+ }, ],
|
|
|
// shopPartnerId: [
|
|
|
// { required: true, message: '请选择商铺负责人', trigger: 'blur' }
|
|
|
// ],
|
|
|
- contactName: [
|
|
|
- { required: true, message: "请选择商铺联系人", trigger: "blur" },
|
|
|
- ],
|
|
|
- mobile: [
|
|
|
- { required: true, message: "请输入联系电话", trigger: "blur" },
|
|
|
- { validator: validatePhone, trigger: "blur" },
|
|
|
- ],
|
|
|
- openTime: [
|
|
|
- { required: true, validator: validateTime, trigger: "change" },
|
|
|
- ],
|
|
|
- region: [
|
|
|
- { required: true, validator: validateRegion, trigger: "change" },
|
|
|
- ],
|
|
|
- warehouseId: [
|
|
|
- {
|
|
|
- type: "array",
|
|
|
+ contactName: [{
|
|
|
+ required: true,
|
|
|
+ message: "请选择商铺联系人",
|
|
|
+ trigger: "blur"
|
|
|
+ }, ],
|
|
|
+ mobile: [{
|
|
|
required: true,
|
|
|
- message: "请选择仓库",
|
|
|
- trigger: "change",
|
|
|
+ message: "请输入联系电话",
|
|
|
+ trigger: "blur"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ validator: validatePhone,
|
|
|
+ trigger: "blur"
|
|
|
},
|
|
|
],
|
|
|
+ openTime: [{
|
|
|
+ required: true,
|
|
|
+ validator: validateTime,
|
|
|
+ trigger: "change"
|
|
|
+ }, ],
|
|
|
+ region: [{
|
|
|
+ required: true,
|
|
|
+ validator: validateRegion,
|
|
|
+ trigger: "change"
|
|
|
+ }, ],
|
|
|
+ warehouseId: [{
|
|
|
+ type: "array",
|
|
|
+ required: true,
|
|
|
+ message: "请选择仓库",
|
|
|
+ trigger: "change",
|
|
|
+ }, ],
|
|
|
},
|
|
|
brand: "",
|
|
|
};
|
|
@@ -546,7 +469,13 @@
|
|
|
this.form.longitude = points.lng;
|
|
|
},
|
|
|
// 地图组件点击事件
|
|
|
- mapClick({ type, target, point, pixel, overlay }) {
|
|
|
+ mapClick({
|
|
|
+ type,
|
|
|
+ target,
|
|
|
+ point,
|
|
|
+ pixel,
|
|
|
+ overlay
|
|
|
+ }) {
|
|
|
this.form.latitude = point.lat;
|
|
|
this.form.longitude = point.lng;
|
|
|
if (overlay && overlay.z.title) {
|
|
@@ -582,7 +511,9 @@
|
|
|
|
|
|
// 商铺详情
|
|
|
async getShopInfo() {
|
|
|
- const { data } = await getShopInfo(this.shopId);
|
|
|
+ const {
|
|
|
+ data
|
|
|
+ } = await getShopInfo(this.shopId);
|
|
|
|
|
|
this.form = {
|
|
|
...data,
|
|
@@ -594,12 +525,10 @@
|
|
|
this.endTime = new Date(
|
|
|
"1970/01/01" + " " + data.openTime.end + ":00"
|
|
|
);
|
|
|
- this.img_list = [
|
|
|
- {
|
|
|
- name: "",
|
|
|
- url: data.logo,
|
|
|
- },
|
|
|
- ];
|
|
|
+ this.img_list = [{
|
|
|
+ name: "",
|
|
|
+ url: data.logo,
|
|
|
+ }, ];
|
|
|
if (JSON.stringify(data.salesArea) === '["0-0-0"]') {
|
|
|
this.is_all_region = 5;
|
|
|
} else {
|
|
@@ -624,7 +553,9 @@
|
|
|
},
|
|
|
// 获取暂存数据
|
|
|
async getTempShopData() {
|
|
|
- const { data } = await getPauseSave({
|
|
|
+ const {
|
|
|
+ data
|
|
|
+ } = await getPauseSave({
|
|
|
key: this.$route.name,
|
|
|
});
|
|
|
|
|
@@ -637,21 +568,19 @@
|
|
|
"1970/01/01" + " " + data.openTime.end + ":00"
|
|
|
);
|
|
|
if (data.logo !== "") {
|
|
|
- this.img_list = [
|
|
|
- {
|
|
|
- name: "",
|
|
|
- url: data.logo,
|
|
|
- },
|
|
|
- ];
|
|
|
+ this.img_list = [{
|
|
|
+ name: "",
|
|
|
+ url: data.logo,
|
|
|
+ }, ];
|
|
|
}
|
|
|
- this.useWarehouseNameArr = data.useWarehouseName
|
|
|
- ? data.useWarehouseName.map((item, index) => {
|
|
|
- return {
|
|
|
- warehouseName: item,
|
|
|
- id: parseInt(this.form.warehouseId[index]),
|
|
|
- };
|
|
|
- })
|
|
|
- : [];
|
|
|
+ this.useWarehouseNameArr = data.useWarehouseName ?
|
|
|
+ data.useWarehouseName.map((item, index) => {
|
|
|
+ return {
|
|
|
+ warehouseName: item,
|
|
|
+ id: parseInt(this.form.warehouseId[index]),
|
|
|
+ };
|
|
|
+ }) :
|
|
|
+ [];
|
|
|
this.is_all_region = data.is_all_region || 4;
|
|
|
this.region_arr = data.salesArea;
|
|
|
this.form.openTime.isAllDay = data.openTime.isAllDay === 1;
|