Merge branch 'master' into ma

# Conflicts:
#	buyer/src/components/goodsDetail/ShowGoodsDetail.vue
#	buyer/src/config/index.js
#	seller/src/views/goods/goods-seller/goodsOperation.vue
master
mabo 2021-07-07 16:14:23 +08:00
commit c835616ad2
21 changed files with 150 additions and 158 deletions

View File

@ -29,6 +29,9 @@
{{ skuDetail.goodsName }} {{ skuDetail.goodsName }}
</p> </p>
</div> </div>
<div class="sell-point">
{{skuDetail.sellingPoint}}
</div>
<!-- 限时秒杀 --> <!-- 限时秒杀 -->
<Promotion v-if="promotionMap['SECKILL']" :time="promotionMap['SECKILL'].endTime"></Promotion> <Promotion v-if="promotionMap['SECKILL']" :time="promotionMap['SECKILL'].endTime"></Promotion>
<!-- 商品详细 价格优惠券促销 --> <!-- 商品详细 价格优惠券促销 -->
@ -655,5 +658,10 @@ export default {
} }
} }
} }
.sell-point {
font-size: 12px;
color: red;
margin-bottom: 5px;
}
/******************商品图片及购买详情结束******************/ /******************商品图片及购买详情结束******************/
</style> </style>

View File

@ -92,7 +92,7 @@
<span class="ml_10">{{item.groupName}}</span> <span class="ml_10">{{item.groupName}}</span>
<table class="mb_10" cellpadding='0' cellspacing="0" > <table class="mb_10" cellpadding='0' cellspacing="0" >
<tr v-for="param in item.goodsParamsItemDTOList" :key="param.paramId"> <tr v-for="param in item.goodsParamsItemDTOList" :key="param.paramId">
<td style="text-align:right">{{param.paramName}}</td><td>{{param.paramValue}}</td> <td style="text-align: center">{{param.paramName}}</td><td>{{param.paramValue}}</td>
</tr> </tr>
</table> </table>
</div> </div>
@ -222,7 +222,7 @@ export default {
}); });
window.addEventListener('scroll', this.handleScroll) window.addEventListener('scroll', this.handleScroll)
this.getList(); this.getList();
}, }
}; };
</script> </script>
@ -491,16 +491,15 @@ export default {
table{ table{
border-color:#efefef; border-color:#efefef;
color: #999; color: #999;
width: 40%; min-width: 30%;
margin-left: 10px; margin-left: 30px;
margin-bottom: 10px;
font-size: 12px; font-size: 12px;
tr{ tr{
td:nth-child(1){ td:nth-child(1){
width: 70px; width: 100px;
} }
td:nth-child(2){ td:nth-child(2){
padding-left: 10px; padding-left: 20px;
} }
} }
td{ td{
@ -509,7 +508,6 @@ table{
} }
.goods-params { .goods-params {
display: flex; display: flex;
align-items: center;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
margin-left: 30px; margin-left: 30px;
span{color:#999} span{color:#999}

View File

@ -17,15 +17,15 @@ export default {
* @description api请求基础路径 * @description api请求基础路径
*/ */
api_dev: { api_dev: {
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'
// 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'
}, },
api_prod: { api_prod: {
common: 'https://common-api.pickmall.cn', common: 'https://common-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

@ -17,14 +17,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: {
common: "https://common-api.pickmall.cn", common: "https://common-api.pickmall.cn",

View File

@ -1,5 +1,3 @@
<template> <template>
<div class="ivu-shrinkable-menu"> <div class="ivu-shrinkable-menu">
<!-- 一级菜单 --> <!-- 一级菜单 -->
@ -38,6 +36,9 @@ export default {
navList() { navList() {
return this.$store.state.app.navList; return this.$store.state.app.navList;
}, },
currNav() {
return this.$store.state.app.currNav;
}
}, },
watch: { watch: {
// //
@ -45,29 +46,17 @@ export default {
handler: function (val, oldVal) { handler: function (val, oldVal) {
console.log(val); console.log(val);
} }
},
menuList: {
handler: function (val, oldVal) {
} }
}
},
mounted() {
}, },
methods: { methods: {
changeMenu(name) { // changeMenu(name) { //
console.log(name)
this.$router.push({ this.$router.push({
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

@ -141,12 +141,14 @@
this.modalVisible = true; this.modalVisible = true;
}, },
edit(v) { edit(v) {
console.log(v);
this.modalType = 1; this.modalType = 1;
this.modalTitle = "编辑"; this.modalTitle = "编辑";
this.formAdd.id = v.id; this.formAdd.id = v.id;
this.formAdd.articleCategoryName = v.articleCategoryName; this.formAdd.articleCategoryName = v.articleCategoryName;
this.formAdd.level = v.level; this.formAdd.level = v.level;
this.formAdd.parentId = v.parentId; this.formAdd.parentId = v.parentId;
this.formAdd.sort = v.sort;
this.showParent = false; this.showParent = false;
this.modalVisible = true; this.modalVisible = true;
}, },

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

@ -100,7 +100,7 @@
<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>
@ -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: {
/** 店铺承担比例 */ /** 店铺承担比例 */
@ -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

@ -22,10 +22,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.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

@ -1,7 +1,6 @@
<style lang="scss" scoped> <style lang="scss" scoped>
@import "./styles/menu.scss"; @import "./styles/menu.scss";
</style> </style>
<template> <template>
<div class="ivu-shrinkable-menu"> <div class="ivu-shrinkable-menu">
<!-- 一级菜单 --> <!-- 一级菜单 -->
@ -40,6 +39,9 @@ export default {
navList() { navList() {
return this.$store.state.app.navList; return this.$store.state.app.navList;
}, },
currNav() {
return this.$store.state.app.currNav;
}
}, },
methods: { methods: {
changeMenu(name) { // changeMenu(name) { //
@ -47,7 +49,7 @@ 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);
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

@ -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) {