bug修改

master
mabo 2021-07-07 15:34:38 +08:00
parent fc393ecd64
commit 1246810c01
19 changed files with 144 additions and 151 deletions

View File

@ -222,7 +222,7 @@ export default {
}); });
window.addEventListener('scroll', this.handleScroll) window.addEventListener('scroll', this.handleScroll)
this.getList(); this.getList();
}, }
}; };
</script> </script>

View File

@ -17,10 +17,10 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
// common: 'http://192.168.0.100:8890', // common: 'http://192.168.0.106:8890',
// buyer: 'http://192.168.0.100:8888', // buyer: 'http://192.168.0.106:8888',
// seller: 'http://192.168.0.100:8889', // seller: 'http://192.168.0.106:8889',
// manager: 'http://192.168.0.100:8887' // manager: 'http://192.168.0.106:8887'
common: 'https://common-api.pickmall.cn', common: 'https://common-api.pickmall.cn',
buyer: 'https://buyer-api.pickmall.cn', buyer: 'https://buyer-api.pickmall.cn',

View File

@ -46,9 +46,7 @@
<thead> <thead>
<tr> <tr>
<th width="50%">商品</th> <th width="50%">商品</th>
<!-- <th width="20%">属性</th> -->
<th width="20%">货号</th> <th width="20%">货号</th>
<!-- <th width="10%">发货仓库</th> -->
<th width="10%">单价</th> <th width="10%">单价</th>
<th width="10%">数量</th> <th width="10%">数量</th>
<th width="10%">小计</th> <th width="10%">小计</th>
@ -82,10 +80,11 @@
<div> <div>
<span>运费</span><span>+{{ order.order.freightPrice | unitPrice("¥") }}</span><br> <span>运费</span><span>+{{ order.order.freightPrice | unitPrice("¥") }}</span><br>
</div> </div>
<div><span>优惠金额</span><span>-{{ order.order.discountPrice | unitPrice("¥") }}</span></div> <div><span>优惠券</span><span>-{{ order.order.priceDetailDTO.couponPrice || 0 | unitPrice("¥") }}</span></div>
<div><span>活动优惠</span><span>-{{ order.order.discountPrice | unitPrice("¥") }}</span></div>
<div> <div>
<span>应付金额</span <span>应付金额</span>
><span class="actrual-price">{{ order.order.flowPrice | unitPrice("¥") }}</span> <span class="actrual-price">{{ order.order.flowPrice | unitPrice("¥") }}</span>
</div> </div>
</div> </div>
</div> </div>
@ -121,7 +120,7 @@ export default {
}); });
window.open(routeUrl.href, '_blank'); window.open(routeUrl.href, '_blank');
}, },
getDetail () { // getDetail () { //
orderDetail(this.$route.query.sn).then(res => { orderDetail(this.$route.query.sn).then(res => {
if (res.success) { if (res.success) {
this.order = res.result; this.order = res.result;

View File

@ -21,10 +21,10 @@ export default {
buyer: "https://buyer-api.pickmall.cn", buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn", seller: "https://store-api.pickmall.cn",
manager: "https://admin-api.pickmall.cn" manager: "https://admin-api.pickmall.cn"
// common: 'http://192.168.0.105:8890', // common: 'http://192.168.0.106:8890',
// buyer: 'http://192.168.0.105:8888', // buyer: 'http://192.168.0.106:8888',
// seller: 'http://192.168.0.105:8889', // seller: 'http://192.168.0.106:8889',
// manager: 'http://192.168.0.105:8887' // manager: 'http://192.168.0.106:8887'
}, },
api_prod: { api_prod: {
common: "https://common-api.pickmall.cn", common: "https://common-api.pickmall.cn",

View File

@ -51,8 +51,6 @@ export default {
} }
} }
}, },
mounted() {
},
methods: { methods: {
changeMenu(name) { // changeMenu(name) { //
console.log(name) console.log(name)
@ -60,14 +58,9 @@ export default {
name: name name: name
}); });
}, },
selectNav(name) { selectNav(name) { //
this.$store.commit("setCurrNav", name); this.$store.commit("setCurrNav", name);
this.setStore("currNav", name); this.setStore("currNav", name);
// if (this.$route.name != "home_index") {
// this.$router.push({
// name: "home_index"
// });
// }
util.initRouter(this); util.initRouter(this);
}, },
} }

View File

@ -3,9 +3,7 @@
width: 180px; width: 180px;
display: flex; display: flex;
} }
.ivu-menu-vertical .ivu-menu-item-group-title {
padding-left: 5px;
}
.ivu-btn-text:hover { .ivu-btn-text:hover {
background-color: rgba(255,255,255,.2) !important; background-color: rgba(255,255,255,.2) !important;
} }
@ -21,3 +19,8 @@
.ivu-menu-dark.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu), .ivu-menu-dark.ivu-menu-vertical .ivu-menu-submenu-title-active:not(.ivu-menu-submenu){ .ivu-menu-dark.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu), .ivu-menu-dark.ivu-menu-vertical .ivu-menu-submenu-title-active:not(.ivu-menu-submenu){
color: #ed3f14; color: #ed3f14;
} }
/deep/.ivu-menu-vertical .ivu-menu-item-group-title {
height: 40px;
line-height: 40px;
padding-left: 20px;
}

View File

@ -30,26 +30,22 @@
</Card> </Card>
<!-- 添加用户模态框 --> <!-- 添加用户模态框 -->
<Modal v-model="addFlag" title="添加用户"> <Modal v-model="addFlag" title="添加会员">
<Form ref="addMemberForm" :model="addMemberForm" :rules="addRule" :label-width="100"> <Form ref="addMemberForm" :model="addMemberForm" :rules="addRule" :label-width="100">
<FormItem label="手机号码" prop="mobile" style="width: 90%;"> <FormItem label="手机号码" prop="mobile" style="width: 90%;">
<Input v-model="addMemberForm.mobile" maxlength="11" placeholder="请输入手机号码" /> <Input v-model="addMemberForm.mobile" maxlength="11" placeholder="请输入手机号码" />
</FormItem> </FormItem>
<FormItem label="会员名称" prop="uname" style="width: 90%"> <FormItem label="会员名称" prop="username" style="width: 90%">
<Input v-model="addMemberForm.username" maxlength="15" placeholder="请输入会员名称" /> <Input v-model="addMemberForm.username" maxlength="15" placeholder="请输入会员名称" />
</FormItem> </FormItem>
<FormItem label="会员密码" prop="pwd" style="width: 90%"> <FormItem label="会员密码" prop="password" style="width: 90%">
<Input type="password" password v-model="addMemberForm.password" maxlength="20" placeholder="请输入会员密码" /> <Input type="password" password v-model="addMemberForm.password" maxlength="20" placeholder="请输入会员密码" />
</FormItem> </FormItem>
</Form> </Form>
<div slot="footer"> <div slot="footer">
<Button @click=" <Button @click="addFlag = false">
() => {
addFlag = false;
}
">
取消 取消
</Button> </Button>
<Button type="primary" :loading="handleAddLoading" @click="addMemberSubmit"> <Button type="primary" :loading="handleAddLoading" @click="addMemberSubmit">
@ -163,8 +159,8 @@ export default {
message: "请输入正确的手机号", message: "请输入正确的手机号",
}, },
], ],
uname: [{ required: true, message: "请输入会员名称" }], username: [{ required: true, message: "请输入会员名称" }],
pwd: [{ required: true, message: "请输入密码" }], password: [{ required: true, message: "请输入密码" }],
}, },
ruleValidate: {}, // ruleValidate: {}, //
submitLoading: false, // submitLoading: false, //
@ -421,11 +417,7 @@ export default {
}, },
addMember() { addMember() {
this.addFlag = true; this.addFlag = true;
this.addMemberForm = { this.$refs.addMemberForm.resetFields()
mobile: "",
username: "",
password: "",
};
}, },
/** /**
* 查询查看会员详情 * 查询查看会员详情
@ -460,6 +452,7 @@ export default {
if (valid) { if (valid) {
API_Member.addMember(this.addMemberForm).then((res) => { API_Member.addMember(this.addMemberForm).then((res) => {
if (res.result) { if (res.result) {
this.$refs.addMemberForm.resetFields()
this.getData(); this.getData();
this.$Message.success("添加成功!"); this.$Message.success("添加成功!");
this.addFlag = false; this.addFlag = false;

View File

@ -26,10 +26,10 @@
<!-- <Button @click="upAll" >批量上架</Button> --> <!-- <Button @click="upAll" >批量上架</Button> -->
</Row> </Row>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-select-cancel="cancelSelect" @on-selection-change="changeSelect"> <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-select-cancel="cancelSelect" @on-selection-change="changeSelect">
<template slot-scope="{ row,index }" slot="action"> <template slot-scope="{ row }" slot="action">
<Button v-if="!checked && row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'" type="primary" size="small" style="margin-right: 10px" @click="edit(row)"> <Button v-if="!checked && row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'" type="success" :class="{'mr_10' : !checked && row.promotionStatus === 'START' || row.promotionStatus === 'NEW'}" size="small" @click="edit(row)">
</Button> </Button>
<Button v-if="!checked && row.promotionStatus === 'START' || row.promotionStatus === 'NEW'" type="error" size="small" style="margin-right: 10px" @click="remove(row)"> <Button v-if="!checked && row.promotionStatus === 'START' || row.promotionStatus === 'NEW'" type="error" size="small" @click="remove(row)">
</Button> </Button>
</template> </template>
</Table> </Table>
@ -215,7 +215,7 @@ export default {
slot: "action", slot: "action",
align: "center", align: "center",
fixed: "right", fixed: "right",
maxWidth: 140, width: 130,
}, },
], ],
data: [], // data: [], //

View File

@ -68,7 +68,7 @@
</div> </div>
<div v-if="rangeTimeType == 1"> <div v-if="rangeTimeType == 1">
<DatePicker type="datetimerange" v-model="form.rangeTime" format="yyyy-MM-dd HH:mm:ss" placeholder="请选择" <DatePicker type="datetimerange" v-model="form.rangeTime" format="yyyy-MM-dd HH:mm:ss" placeholder="请选择"
:options="options" style="width: 260px"> :options="options" style="width: 260px">
</DatePicker> </DatePicker>
</div> </div>
<div class="effectiveDays" v-if="rangeTimeType == 0"> <div class="effectiveDays" v-if="rangeTimeType == 0">
@ -100,8 +100,8 @@
<FormItem v-if="form.scopeType == 'PORTION_GOODS_CATEGORY'"> <FormItem v-if="form.scopeType == 'PORTION_GOODS_CATEGORY'">
<Cascader @on-change="getGoodsCategory" :data="goodsCategoryList" style="width:300px;" <Cascader :data="goodsCategoryList" style="width:260px;"
v-model="form.scopeIdGoods"></Cascader> v-model="form.scopeIdGoods"></Cascader>
</FormItem> </FormItem>
<div> <div>
@ -127,7 +127,7 @@ import {regular} from "@/utils";
import skuSelect from "@/views/lili-dialog"; import skuSelect from "@/views/lili-dialog";
export default { export default {
name: "addCoupon", name: "edit-platform-coupon",
components: { components: {
skuSelect, skuSelect,
}, },
@ -140,6 +140,14 @@ export default {
}, },
deep: true, deep: true,
}, },
$route(e) { //
this.id = e.query.id;
if (this.id) {
this.getCoupon()
} else {
this.$refs.form.resetFiles()
}
}
}, },
data() { data() {
const checkPrice = (rule, value, callback) => { const checkPrice = (rule, value, callback) => {
@ -165,7 +173,7 @@ export default {
} }
}; };
return { return {
rangeTimeType: 1, rangeTimeType: 1, //
modalType: 0, // modalType: 0, //
form: { form: {
/** 店铺承担比例 */ /** 店铺承担比例 */
@ -289,7 +297,7 @@ export default {
}, },
}; };
}, },
async mounted() { async mounted () {
await this.getCagetoryList(); await this.getCagetoryList();
// id // id
if (this.id) { if (this.id) {
@ -495,7 +503,7 @@ export default {
async getCagetoryList() { async getCagetoryList() {
// //
let data = await getCategoryTree(); let data = await getCategoryTree();
this.goodsCategoryList = this.filterCategory(data.result); this.goodsCategoryList = data.result;
// //
this.goodsCategoryList = this.goodsCategoryList.map((item) => { this.goodsCategoryList = this.goodsCategoryList.map((item) => {
@ -523,18 +531,7 @@ export default {
} }
return {value: item.id, label: item.name, children: item.children}; return {value: item.id, label: item.name, children: item.children};
}); });
}, console.log(this.goodsCategoryList);
filterCategory(list) {
// children
list.forEach((item) => {
if (item.children.length == 0) {
delete item.children;
} else {
this.filterCategory(item.children);
}
});
return list;
}, },
filterCategoryId(list, idArr) { filterCategoryId(list, idArr) {
// id // id

View File

@ -7,7 +7,7 @@
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"> <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom">
<template slot-scope="{ row,index }" slot="action"> <template slot-scope="{ row,index }" slot="action">
<Button type="primary" <Button type="info"
size="small" style="margin-right: 10px" @click="info(row)">查看 size="small" style="margin-right: 10px" @click="info(row)">查看
</Button> </Button>
<Button v-if="!checked && row.promotionStatus === 'START' || row.promotionStatus === 'NEW'" type="error" <Button v-if="!checked && row.promotionStatus === 'START' || row.promotionStatus === 'NEW'" type="error"

View File

@ -8,7 +8,7 @@
<!-- 遮罩层 --> <!-- 遮罩层 -->
<div v-if="isRead" class="mask"></div> <div v-if="isRead" class="mask"></div>
<div> <div>
<FormItem label="会员名称" required prop="memberName"> <FormItem label="会员名称" prop="memberName">
<div class="item"> <div class="item">
<Input disabled v-model="shopForm.memberName" /> <Input disabled v-model="shopForm.memberName" />
<Button @click="selectMember()" v-if="!$route.query.shopId"></Button> <Button @click="selectMember()" v-if="!$route.query.shopId"></Button>
@ -44,7 +44,7 @@
<FormItem label="店铺所在地" prop="storeAddressPath"> <FormItem label="店铺所在地" prop="storeAddressPath">
<Input disabled v-model="shopForm.storeAddressPath" style="width: 350px" /> <Input disabled v-model="shopForm.storeAddressPath" style="width: 350px" />
</FormItem> </FormItem>
<FormItem label="店铺详细地址" required prop="storeAddressDetail"> <FormItem label="店铺详细地址" prop="storeAddressDetail">
<Input v-model="shopForm.storeAddressDetail" clearable style="width: 350px" /> <Input v-model="shopForm.storeAddressDetail" clearable style="width: 350px" />
</FormItem> </FormItem>
@ -91,60 +91,60 @@
<div v-if="isRead" class="mask"></div> <div v-if="isRead" class="mask"></div>
<Divider orientation="left">公司信息</Divider> <Divider orientation="left">公司信息</Divider>
<div> <div>
<FormItem label="公司名称" required prop="companyName"> <FormItem label="公司名称" prop="companyName">
<Input v-model="shopForm.companyName" clearable style="width: 350px" /> <Input v-model="shopForm.companyName" clearable style="width: 350px" />
</FormItem> </FormItem>
<FormItem label="公司电话" required prop="companyPhone"> <FormItem label="公司电话" prop="companyPhone">
<Input v-model="shopForm.companyPhone" clearable style="width: 350px" /> <Input v-model="shopForm.companyPhone" clearable style="width: 350px" />
</FormItem> </FormItem>
<FormItem label="公司所在地" required> <FormItem label="公司所在地" >
<Input v-model="shopForm.companyAddressPath" disabled style="width: 260px" v-if="showRegion == false" /> <Input v-model="shopForm.companyAddressPath" disabled style="width: 260px" v-if="showRegion == false" />
<Button v-if="showRegion == false" @click="regionClick" :loading="submitLoading" type="primary" icon="ios-create-outline" style="margin-left: 8px"> <Button v-if="showRegion == false" @click="regionClick" :loading="submitLoading" type="primary" icon="ios-create-outline" style="margin-left: 8px">
</Button> </Button>
<region style="width: 350px" @selected="selectedRegion" v-if="showRegion == true" /> <region style="width: 350px" @selected="selectedRegion" v-if="showRegion == true" />
</FormItem> </FormItem>
<FormItem label="公司详细地址" required prop="companyAddress"> <FormItem label="公司详细地址" prop="companyAddress">
<Input v-model="shopForm.companyAddress" clearable style="width: 350px" /> <Input v-model="shopForm.companyAddress" clearable style="width: 350px" />
</FormItem> </FormItem>
<FormItem label="员工总数" required prop="employeeNum"> <FormItem label="员工总数" prop="employeeNum">
<InputNumber style="width: 150px" :min="1" :max="9999999" v-model="shopForm.employeeNum"> <InputNumber style="width: 150px" :min="1" :max="9999999" v-model="shopForm.employeeNum">
</InputNumber> </InputNumber>
</FormItem> </FormItem>
<FormItem label="注册资金" required prop="registeredCapital"> <FormItem label="注册资金" prop="registeredCapital">
<InputNumber style="width: 150px" :min="1" :max="9999999" v-model="shopForm.registeredCapital"> <InputNumber style="width: 150px" :min="1" :max="9999999" v-model="shopForm.registeredCapital">
</InputNumber> </InputNumber>
<span style="margin-left: 10px"></span> <span style="margin-left: 10px"></span>
</FormItem> </FormItem>
<FormItem label="联系人姓名" required prop="linkName"> <FormItem label="联系人姓名" prop="linkName">
<Input v-model="shopForm.linkName" clearable style="width: 200px" /> <Input v-model="shopForm.linkName" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="联系人手机" required prop="linkPhone"> <FormItem label="联系人手机" prop="linkPhone">
<Input v-model="shopForm.linkPhone" maxlength="11" clearable style="width: 200px" /> <Input v-model="shopForm.linkPhone" maxlength="11" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="电子邮箱" required prop="companyEmail"> <FormItem label="电子邮箱" prop="companyEmail">
<Input v-model="shopForm.companyEmail" clearable style="width: 200px" /> <Input v-model="shopForm.companyEmail" clearable style="width: 200px" />
</FormItem> </FormItem>
<Divider orientation="left">营业执照信息</Divider> <Divider orientation="left">营业执照信息</Divider>
<FormItem label="营业执照号" required prop="licenseNum"> <FormItem label="营业执照号" prop="licenseNum">
<Input v-model="shopForm.licenseNum" clearable style="width: 200px" /> <Input v-model="shopForm.licenseNum" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="法定经营范围" required prop="scope"> <FormItem label="法定经营范围" prop="scope">
<Input v-model="shopForm.scope" clearable style="width: 200px" /> <Input v-model="shopForm.scope" clearable style="width: 200px" />
</FormItem> </FormItem>
<Divider orientation="left">法人信息</Divider> <Divider orientation="left">法人信息</Divider>
<FormItem label="法人姓名" required prop="legalName"> <FormItem label="法人姓名" prop="legalName">
<Input v-model="shopForm.legalName" clearable style="width: 200px" /> <Input v-model="shopForm.legalName" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="法人证件号" required prop="legalId"> <FormItem label="法人证件号" prop="legalId">
<Input v-model="shopForm.legalId" clearable style="width: 200px" /> <Input v-model="shopForm.legalId" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="法人身份证照片" required ref="legalPhoto"> <FormItem label="法人身份证照片" ref="legalPhoto">
<Avatar style="height: 100px;width: 100px" v-if="shopForm.legalPhoto" shape="square" icon="ios-person" size="default" :src="shopForm.legalPhoto" /> <Avatar style="height: 100px;width: 100px" v-if="shopForm.legalPhoto" shape="square" icon="ios-person" size="default" :src="shopForm.legalPhoto" />
<div> <div>
<Button @click="handleCLickImg('legalPhoto')" type="primary">选择图片</Button> <Button @click="handleCLickImg('legalPhoto')" type="primary">选择图片</Button>
@ -152,20 +152,20 @@
</FormItem> </FormItem>
<Divider orientation="left">结算银行信息</Divider> <Divider orientation="left">结算银行信息</Divider>
<FormItem label="银行开户名" required prop="settlementBankAccountName"> <FormItem label="银行开户名" prop="settlementBankAccountName">
<Input v-model="shopForm.settlementBankAccountName" clearable style="width: 200px" /> <Input v-model="shopForm.settlementBankAccountName" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="银行账号" required prop="settlementBankAccountNum"> <FormItem label="银行账号" prop="settlementBankAccountNum">
<Input v-model="shopForm.settlementBankAccountNum" clearable style="width: 200px" /> <Input v-model="shopForm.settlementBankAccountNum" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="银行支行名称" required prop="settlementBankBranchName"> <FormItem label="银行支行名称" prop="settlementBankBranchName">
<Input v-model="shopForm.settlementBankBranchName" clearable style="width: 200px" /> <Input v-model="shopForm.settlementBankBranchName" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="支行联行号" required prop="settlementBankJointName"> <FormItem label="支行联行号" prop="settlementBankJointName">
<Input v-model="shopForm.settlementBankJointName" clearable style="width: 200px" /> <Input v-model="shopForm.settlementBankJointName" clearable style="width: 200px" />
</FormItem> </FormItem>
<FormItem label="许可证电子版" required> <FormItem label="许可证电子版" >
<Avatar style="height: 100px;width: 100px" v-if="shopForm.licencePhoto" shape="square" icon="ios-person" size="default" :src="shopForm.licencePhoto" /> <Avatar style="height: 100px;width: 100px" v-if="shopForm.licencePhoto" shape="square" icon="ios-person" size="default" :src="shopForm.licencePhoto" />
<div> <div>
<Button @click="handleCLickImg('licencePhoto')" type="primary">选择图片</Button> <Button @click="handleCLickImg('licencePhoto')" type="primary">选择图片</Button>
@ -262,28 +262,28 @@ export default {
shopValidate: { shopValidate: {
// //
memberName: [ memberName: [
{ required: true, message: "会员不能为空", trigger: "blur" }, { required: true, message: "会员不能为空" },
], ],
storeName: [ storeName: [
{ required: true, message: "店铺名称不能为空", trigger: "blur" }, { required: true, message: "店铺名称不能为空" },
], ],
companyAddress: [ companyAddress: [
{ required: true, message: "公司地址不能为空", trigger: "blur" }, { required: true, message: "公司地址不能为空" },
], ],
storeAddressDetail: [ storeAddressDetail: [
{ required: true, message: "店铺详细地址不能为空", trigger: "blur" }, { required: true, message: "店铺详细地址不能为空" },
], ],
storeDesc: [ storeDesc: [
{ required: true, message: "店铺简介不能为空", trigger: "blur" }, { required: true, message: "店铺简介不能为空" },
], ],
storeCenter: [ storeCenter: [
{ required: true, message: "店铺未定位", trigger: "change" }, { required: true, message: "店铺未定位" },
], ],
companyName: [ companyName: [
{ required: true, message: "公司名称不能为空", trigger: "blur" }, { required: true, message: "公司名称不能为空", },
], ],
companyPhone: [ companyPhone: [
{ required: true, message: "公司电话不能为空", trigger: "blur" }, { required: true, message: "公司电话不能为空", },
], ],
employeeNum: [ employeeNum: [
{ {
@ -302,10 +302,10 @@ export default {
}, },
], ],
linkName: [ linkName: [
{ required: true, message: "联系人姓名不能为空", trigger: "blur" }, { required: true, message: "联系人姓名不能为空", },
], ],
linkPhone: [ linkPhone: [
{ required: true, message: "联系人手机号不能为空", trigger: "blur" }, { required: true, message: "联系人手机号不能为空", },
{ {
type: "string", type: "string",
pattern: /^1[3|4|5|6|7|8][0-9]{9}$/, pattern: /^1[3|4|5|6|7|8][0-9]{9}$/,
@ -314,32 +314,32 @@ export default {
}, },
], ],
companyEmail: [ companyEmail: [
{ required: true, message: "邮箱不能为空", trigger: "blur" }, { required: true, message: "邮箱不能为空", },
{ type: "email", message: "邮箱格式错误", trigger: "blur" }, { type: "email", message: "邮箱格式错误", },
], ],
licenseNum: [ licenseNum: [
{ required: true, message: "营业执照号不能为空", trigger: "blur" }, { required: true, message: "营业执照号不能为空", },
], ],
scope: [ scope: [
{ required: true, message: "法定经营范围不能为空", trigger: "blur" }, { required: true, message: "法定经营范围不能为空", },
], ],
legalName: [ legalName: [
{ required: true, message: "法人姓名不能为空", trigger: "blur" }, { required: true, message: "法人姓名不能为空", },
], ],
legalId: [ legalId: [
{ required: true, message: "法人证件号不能为空", trigger: "blur" }, { required: true, message: "法人证件号不能为空", },
], ],
settlementBankAccountName: [ settlementBankAccountName: [
{ required: true, message: "银行开户名不能为空", trigger: "blur" }, { required: true, message: "银行开户名不能为空", },
], ],
settlementBankAccountNum: [ settlementBankAccountNum: [
{ required: true, message: "银行账号不能为空", trigger: "blur" }, { required: true, message: "银行账号不能为空", },
], ],
settlementBankBranchName: [ settlementBankBranchName: [
{ required: true, message: "银行支行名称不能为空", trigger: "blur" }, { required: true, message: "银行支行名称不能为空", },
], ],
settlementBankJointName: [ settlementBankJointName: [
{ required: true, message: "支行联行号不能为空", trigger: "blur" }, { required: true, message: "支行联行号不能为空", },
], ],
salesConsigneeMobile: [ salesConsigneeMobile: [
{ {

View File

@ -18,14 +18,14 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
common: 'https://common-api.pickmall.cn', // common: 'https://common-api.pickmall.cn',
buyer: 'https://buyer-api.pickmall.cn', // buyer: 'https://buyer-api.pickmall.cn',
seller: 'https://store-api.pickmall.cn', // seller: 'https://store-api.pickmall.cn',
manager: 'https://admin-api.pickmall.cn', // manager: 'https://admin-api.pickmall.cn',
// common: 'http://192.168.0.109:8890', common: 'http://192.168.0.106:8890',
// buyer: 'http://192.168.0.109:8888', buyer: 'http://192.168.0.106:8888',
// seller: 'http://192.168.0.109:8889', seller: 'http://192.168.0.106:8889',
// manager: 'http://192.168.0.109:8887' manager: 'http://192.168.0.106:8887'
}, },
api_prod: { api_prod: {

View File

@ -77,10 +77,6 @@
} }
} }
/*平铺*/
div.base-info-item > div {
margin-left: 5%;
}
div.base-info-item { div.base-info-item {
h4 { h4 {
@ -94,13 +90,15 @@ div.base-info-item {
line-height: 40px; line-height: 40px;
text-align: left; text-align: left;
} }
>div{
padding-left: 5%;
}
.form-item-view { .form-item-view {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
justify-content: space-between; justify-content: space-between;
padding-left: 80px; // padding-left: 80px;
.layout { .layout {
margin-bottom: 20px; margin-bottom: 20px;

View File

@ -74,7 +74,7 @@
</template> </template>
</div> </div>
<div class="content-goods-publish" v-show="activestep === 1"> <div class="content-goods-publish" style="min-width:1350px;" v-show="activestep === 1">
<Form ref="baseInfoForm" :model="baseInfoForm" :label-width="120" :rules="baseInfoFormRule"> <Form ref="baseInfoForm" :model="baseInfoForm" :label-width="120" :rules="baseInfoFormRule">
<div class="base-info-item"> <div class="base-info-item">
<h4>基本信息</h4> <h4>基本信息</h4>
@ -255,18 +255,24 @@
<img v-if="previewPicture !== ''" :src="previewPicture"/> <img v-if="previewPicture !== ''" :src="previewPicture"/>
</div> </div>
<Divider/> <Divider/>
<div class="sku-upload-list" v-for="(img, __index) in selectedSku.images" :key="__index"> <vuedraggable
<template v-if="img.status === 'finished'"> :list="selectedSku.images"
<img :src="img.url"/> :animation="200"
<div class="sku-upload-list-cover"> style="display:inline-block;"
<Icon type="ios-eye-outline" @click="handleView(img.url)"></Icon> >
<Icon type="ios-trash-outline" @click="handleRemove(img, __index)"></Icon> <div class="sku-upload-list" v-for="(img, __index) in selectedSku.images" :key="__index">
</div> <template v-if="img.status === 'finished'">
</template> <img :src="img.url"/>
<template v-else> <div class="sku-upload-list-cover">
<Progress v-if="img.showProgress" :percent="img.percentage" hide-info></Progress> <Icon type="ios-eye-outline" @click="handleView(img.url)"></Icon>
</template> <Icon type="ios-trash-outline" @click="handleRemove(img, __index)"></Icon>
</div> </div>
</template>
<template v-else>
<Progress v-if="img.showProgress" :percent="img.percentage" hide-info></Progress>
</template>
</div>
</vuedraggable>
<Upload ref="uploadSku" :show-upload-list="false" :default-file-list="row.images" <Upload ref="uploadSku" :show-upload-list="false" :default-file-list="row.images"
:on-success="handleSuccess" :format="['jpg', 'jpeg', 'png']" :on-success="handleSuccess" :format="['jpg', 'jpeg', 'png']"
:on-format-error="handleFormatError" :on-exceeded-size="handleMaxSize" :on-format-error="handleFormatError" :on-exceeded-size="handleMaxSize"
@ -297,6 +303,7 @@
<Tree <Tree
ref="tree" ref="tree"
:data="shopCategory" :data="shopCategory"
style="text-align:left;"
show-checkbox show-checkbox
@on-select-change="selectTree" @on-select-change="selectTree"
@on-check-change="changeSelect" @on-check-change="changeSelect"
@ -305,7 +312,7 @@
</FormItem> </FormItem>
</div> </div>
<FormItem class="form-item-view-el" label="商品描述" prop="intro"> <FormItem class="form-item-view-el" label="商品描述" prop="intro">
<editor id="intro" v-model="baseInfoForm.intro"></editor> <editor id="intro" showExpand v-model="baseInfoForm.intro"></editor>
</FormItem> </FormItem>
<FormItem class="form-item-view-el" label="移动端描述" prop="skuList"> <FormItem class="form-item-view-el" label="移动端描述" prop="skuList">
<editor id="mobileIntr" v-model="baseInfoForm.mobileIntro"></editor> <editor id="mobileIntr" v-model="baseInfoForm.mobileIntro"></editor>

View File

@ -3,9 +3,7 @@
width: 180px; width: 180px;
display: flex; display: flex;
} }
.ivu-menu-vertical .ivu-menu-item-group-title {
padding-left: 5px;
}
.ivu-btn-text:hover { .ivu-btn-text:hover {
background-color: rgba(255,255,255,.2) !important; background-color: rgba(255,255,255,.2) !important;
} }
@ -21,3 +19,8 @@
.ivu-menu-dark.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu), .ivu-menu-dark.ivu-menu-vertical .ivu-menu-submenu-title-active:not(.ivu-menu-submenu){ .ivu-menu-dark.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu), .ivu-menu-dark.ivu-menu-vertical .ivu-menu-submenu-title-active:not(.ivu-menu-submenu){
color: #ed3f14; color: #ed3f14;
} }
/deep/.ivu-menu-vertical .ivu-menu-item-group-title {
height: 40px;
line-height: 40px;
padding-left: 20px;
}

View File

@ -90,7 +90,6 @@ export default {
initEditor() { initEditor() {
let that = this; let that = this;
this.editor = new E(`#${this.id}`); this.editor = new E(`#${this.id}`);
// //
this.editor.config.onchange = (html) => { this.editor.config.onchange = (html) => {
if (this.openXss) { if (this.openXss) {
@ -195,6 +194,7 @@ export default {
}); });
}, },
setData(value) { setData(value) {
//
if (!this.editor) { if (!this.editor) {
this.initEditor(); this.initEditor();
} }
@ -204,15 +204,14 @@ export default {
this.$emit("input", this.data); this.$emit("input", this.data);
this.$emit("on-change", this.data); this.$emit("on-change", this.data);
} }
}, }
}, },
watch: { watch: {
value: { value: {
immediate: true, immediate: true,
handler: function (val) { handler: function (val) {
this.setData(val); this.setData(val);
} },
}, },
}, },
mounted() { mounted() {
@ -231,6 +230,10 @@ export default {
color: #333; color: #333;
} }
} }
.w-e-toolbar {
//
flex-wrap: wrap;
}
.e-code { .e-code {
top: 6px; top: 6px;
left: 976px; left: 976px;

View File

@ -79,13 +79,11 @@ export default {
{ {
title: "活动名称", title: "活动名称",
key: "promotionName", key: "promotionName",
minWidth: 100,
fixed: "left", fixed: "left",
}, },
{ {
title: "优惠券名称", title: "优惠券名称",
key: "couponName", key: "couponName",
minWidth: 100,
tooltip: true, tooltip: true,
}, },
{ {
@ -107,18 +105,16 @@ export default {
{ {
title: "领取数量/总数量", title: "领取数量/总数量",
key: "publishNum", key: "publishNum",
width: 130,
render: (h, params) => { render: (h, params) => {
return h( return h(
"div", "div",
params.row.receivedNum + "/" + params.row.publishNum params.row.receivedNum + "/" + (params.row.publishNum === 0 ? '无限制' : params.row.publishNum)
); );
}, },
}, },
{ {
title: "优惠券类型", title: "优惠券类型",
key: "couponType", key: "couponType",
width: 120,
render: (h, params) => { render: (h, params) => {
let text = "未知"; let text = "未知";
if (params.row.couponType === "DISCOUNT") { if (params.row.couponType === "DISCOUNT") {
@ -195,8 +191,7 @@ export default {
text text
), ),
]); ]);
}, }
minWidth: 70,
}, },
{ {
title: "操作", title: "操作",

View File

@ -180,11 +180,11 @@ export default {
], ],
publishNum: [ publishNum: [
{ required: true, message: "请输入发放数量" }, { required: true, message: "请输入发放数量" },
{ pattern: regular.integer, message: "请输入正整数" }, { pattern: regular.Integer, message: "请输入正整数" },
], ],
couponLimitNum: [ couponLimitNum: [
{ required: true, message: "请输入领取限制" }, { required: true, message: "请输入领取限制" },
{ pattern: regular.integer, message: "请输入正整数" }, { pattern: regular.Integer, message: "请输入正整数" },
], ],
description: [{ required: true, message: "请输入范围描述" }], description: [{ required: true, message: "请输入范围描述" }],
}, },

View File

@ -277,6 +277,7 @@ export default {
// liveform // liveform
if (result.success) { if (result.success) {
console.log(result);
let data = result.result; let data = result.result;
for (let key in data) { for (let key in data) {
this.liveForm[key] = data[key]; this.liveForm[key] = data[key];
@ -494,11 +495,12 @@ export default {
this.$refs["liveForm"].validate((valid) => { this.$refs["liveForm"].validate((valid) => {
if (valid) { if (valid) {
// //
if (this.$route.query.id && this.liveData.length != 0) { if (this.$route.query.id) {
this.spinShow = true; this.spinShow = true;
this.liveForm.commodityList = JSON.stringify( this.liveForm.commodityList = JSON.stringify(
this.liveForm.commodityList this.liveForm.commodityList
); );
delete this.liveForm.updateTime
// //
editLive(this.liveForm).then((res) => { editLive(this.liveForm).then((res) => {
if (res.success) { if (res.success) {