Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui
This commit is contained in:
commit
ebf4d6d3eb
@ -619,7 +619,6 @@ table {
|
|||||||
|
|
||||||
|
|
||||||
.div-express-log {
|
.div-express-log {
|
||||||
max-height: 300px;
|
|
||||||
border: solid 1px #e7e7e7;
|
border: solid 1px #e7e7e7;
|
||||||
background: #fafafa;
|
background: #fafafa;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
@ -192,9 +192,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</TabPane>
|
</TabPane>
|
||||||
<TabPane label="TA收货地址" name="address">
|
<TabPane label="TA收货地址" name="address">
|
||||||
<Row class="operation padding-row">
|
|
||||||
<Button @click="addMemberAddress" type="primary">新增</Button>
|
|
||||||
</Row>
|
|
||||||
<Table
|
<Table
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
border
|
border
|
||||||
@ -398,7 +395,6 @@
|
|||||||
],
|
],
|
||||||
consigneeAddressPath: [{required: true, message: "收货人地址不能为空"}],
|
consigneeAddressPath: [{required: true, message: "收货人地址不能为空"}],
|
||||||
detail: [{required: true, message: "收货人详细地址不能为空"}],
|
detail: [{required: true, message: "收货人详细地址不能为空"}],
|
||||||
alias: [{required: true, message: "收货人地址别名不能为空"}],
|
|
||||||
},//会员地址操作表单校验
|
},//会员地址操作表单校验
|
||||||
//历史积分表格
|
//历史积分表格
|
||||||
pointsColumns: [
|
pointsColumns: [
|
||||||
@ -669,58 +665,6 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "操作",
|
|
||||||
key: "action",
|
|
||||||
align: "center",
|
|
||||||
width: 120,
|
|
||||||
fixed: "right",
|
|
||||||
render: (h, params) => {
|
|
||||||
return h("div", {
|
|
||||||
style: {
|
|
||||||
display: "flex",
|
|
||||||
justifyContent: "center"
|
|
||||||
}
|
|
||||||
}, [
|
|
||||||
h(
|
|
||||||
"Button",
|
|
||||||
{
|
|
||||||
props: {
|
|
||||||
type: "error",
|
|
||||||
size: "small",
|
|
||||||
},
|
|
||||||
style: {
|
|
||||||
marginRight: "5px",
|
|
||||||
},
|
|
||||||
on: {
|
|
||||||
click: () => {
|
|
||||||
this.memberAddressRemove(params.row);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"删除"
|
|
||||||
),
|
|
||||||
h(
|
|
||||||
"Button",
|
|
||||||
{
|
|
||||||
props: {
|
|
||||||
type: "info",
|
|
||||||
size: "small",
|
|
||||||
},
|
|
||||||
style: {
|
|
||||||
marginRight: "5px",
|
|
||||||
},
|
|
||||||
on: {
|
|
||||||
click: () => {
|
|
||||||
this.editAddress(params.row);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"编辑"
|
|
||||||
),
|
|
||||||
]);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
],
|
],
|
||||||
addressData: [],//历史积分数据
|
addressData: [],//历史积分数据
|
||||||
@ -954,25 +898,6 @@
|
|||||||
});
|
});
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
//新增TA的收货地址
|
|
||||||
addMemberAddress() {
|
|
||||||
this.addressModalTitle = "新增会员地址";
|
|
||||||
this.addressModalVisible = true
|
|
||||||
this.addressForm = {
|
|
||||||
id: "",
|
|
||||||
isDefault: 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
//修改TA的收货地址
|
|
||||||
editAddress(v) {
|
|
||||||
this.addressModalTitle = "修改会员地址";
|
|
||||||
this.addressForm = JSON.parse(JSON.stringify(v));
|
|
||||||
this.addressForm.isDefault = v.isDefault?1:0;
|
|
||||||
// this.$set(this, "addressForm", v);
|
|
||||||
delete this.addressForm.updateTime;
|
|
||||||
this.addressModalVisible = true
|
|
||||||
},
|
|
||||||
//新增或者修改表单提交
|
//新增或者修改表单提交
|
||||||
addressSubmit() {
|
addressSubmit() {
|
||||||
this.addressForm.memberId = this.id
|
this.addressForm.memberId = this.id
|
||||||
|
@ -73,6 +73,7 @@ export default {
|
|||||||
WALLET: "余额支付",
|
WALLET: "余额支付",
|
||||||
},
|
},
|
||||||
supportForm: "", // 支持的支付方式
|
supportForm: "", // 支持的支付方式
|
||||||
|
checkSupport: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: ["res", "type"],
|
props: ["res", "type"],
|
||||||
@ -96,7 +97,7 @@ export default {
|
|||||||
this.setupSetting();
|
this.setupSetting();
|
||||||
},
|
},
|
||||||
onCancel: () => {
|
onCancel: () => {
|
||||||
val.splice(val.length - 1, 1);
|
this.formValidate = JSON.parse(JSON.stringify(this.checkSupport));
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -105,6 +106,7 @@ export default {
|
|||||||
setSetting(this.type, { paymentSupportItems: this.formValidate }).then(
|
setSetting(this.type, { paymentSupportItems: this.formValidate }).then(
|
||||||
(res) => {
|
(res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
this.checkSupport = JSON.parse(JSON.stringify(this.formValidate));
|
||||||
this.$Message.success("保存成功!");
|
this.$Message.success("保存成功!");
|
||||||
this.$Modal.remove();
|
this.$Modal.remove();
|
||||||
} else {
|
} else {
|
||||||
@ -117,12 +119,13 @@ export default {
|
|||||||
// 实例化数据
|
// 实例化数据
|
||||||
async init() {
|
async init() {
|
||||||
this.formValidate = JSON.parse(this.res).paymentSupportItems;
|
this.formValidate = JSON.parse(this.res).paymentSupportItems;
|
||||||
|
this.checkSupport = JSON.parse(JSON.stringify(this.formValidate));
|
||||||
console.log(this.formValidate);
|
console.log(this.formValidate);
|
||||||
|
|
||||||
await getPaymentSupportForm().then((res) => {
|
await getPaymentSupportForm().then((res) => {
|
||||||
// res.result.payments = ["H5", "PC"];
|
// res.result.payments = ["H5", "PC"];
|
||||||
this.supportForm = res.result;
|
this.supportForm = res.result;
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -28,18 +28,26 @@
|
|||||||
<FormItem label="APIv3密钥" prop="apiKey3">
|
<FormItem label="APIv3密钥" prop="apiKey3">
|
||||||
<Input maxlength="300" v-model="formValidate.apiKey3" />
|
<Input maxlength="300" v-model="formValidate.apiKey3" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="apiclient_cert_p12" class="label-item" prop="apiclient_cert_p12">
|
|
||||||
<Input maxlength="300" v-model="formValidate.apiclient_cert_p12" />
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="apiclient_cert_pem" prop="apiclient_cert_pem">
|
|
||||||
<Input maxlength="300" v-model="formValidate.apiclient_cert_pem" />
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="apiclient_key" prop="apiclient_key">
|
|
||||||
<Input maxlength="300" v-model="formValidate.apiclient_key" />
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="API证书-证书序列号" prop="serialNumber">
|
<FormItem label="API证书-证书序列号" prop="serialNumber">
|
||||||
<Input maxlength="300" v-model="formValidate.serialNumber" />
|
<Input maxlength="300" v-model="formValidate.serialNumber" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
<FormItem class="form-item-view-el" label="apiclient_key" prop="apiclient_key">
|
||||||
|
<Input v-model="formValidate.apiclientKey" :rows="6" maxlength="2500" show-word-limit type="textarea" placeholder="Enter something..." />
|
||||||
|
</FormItem>
|
||||||
|
<FormItem label="加签方式" prop="publicType">
|
||||||
|
<RadioGroup type="button" button-style="solid" v-model="formValidate.publicType" @change="handlePublicTypeChange">
|
||||||
|
<Radio label="CERT">平台证书</Radio>
|
||||||
|
<Radio label="KEY">微信支付公钥</Radio>
|
||||||
|
</RadioGroup>
|
||||||
|
<span class="desc">商户接收APIv3的请求应答、回调时验签使用,以下两种方式只能使用一种</span>
|
||||||
|
</FormItem>
|
||||||
|
<!-- 当加签方式选择“KEY”时展示 -->
|
||||||
|
<FormItem v-if="formValidate.publicType === 'KEY'" label="公钥证书ID" prop="publicId">
|
||||||
|
<Input maxlength="300" v-model="formValidate.publicId" />
|
||||||
|
</FormItem>
|
||||||
|
<FormItem v-if="formValidate.publicType === 'KEY'" class="form-item-view-el" label="公钥证书" prop="publicKey">
|
||||||
|
<Input v-model="formValidate.publicKey" :rows="6" maxlength="2500" show-word-limit type="textarea" placeholder="Enter something..." />
|
||||||
|
</FormItem>
|
||||||
<FormItem label="支付回调域名" prop="callbackUrl">
|
<FormItem label="支付回调域名" prop="callbackUrl">
|
||||||
<Input maxlength="300" v-model="formValidate.callbackUrl" />
|
<Input maxlength="300" v-model="formValidate.callbackUrl" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
@ -97,7 +105,7 @@ export default {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
|
|
||||||
<Form ref="formValidate" :label-width="150" label-position="right" :model="formValidate">
|
<Form ref="formValidate" :label-width="150" label-position="right" :model="formValidate" :rules="ruleValidate">
|
||||||
<FormItem label="提现审核是否开启">
|
<FormItem label="提现审核是否开启">
|
||||||
<i-switch v-model="formValidate.apply" style="margin-top:7px;"><span slot="open">开</span>
|
<i-switch v-model="formValidate.apply" style="margin-top:7px;"><span slot="open">开</span>
|
||||||
<span slot="close">关</span>
|
<span slot="close">关</span>
|
||||||
@ -36,12 +36,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
result:"",
|
result:"",
|
||||||
formValidate: { // 表单数据
|
ruleValidate: {}, // 验证规则
|
||||||
apply: true,
|
formValidate: {},// 表单数据
|
||||||
minPrice: "",
|
|
||||||
type: "",
|
|
||||||
wechatAppId: "",
|
|
||||||
},
|
|
||||||
|
|
||||||
switchTitle: "提现审核是否开启", // 切换title
|
switchTitle: "提现审核是否开启", // 切换title
|
||||||
};
|
};
|
||||||
@ -72,7 +68,29 @@ export default {
|
|||||||
// 实例化数据
|
// 实例化数据
|
||||||
init() {
|
init() {
|
||||||
this.result = JSON.parse(this.res);
|
this.result = JSON.parse(this.res);
|
||||||
|
Object.keys(this.result).map((item) => {
|
||||||
|
this.result[item] += "";
|
||||||
|
});
|
||||||
this.$set(this, "formValidate", { ...this.result });
|
this.$set(this, "formValidate", { ...this.result });
|
||||||
|
Object.keys(this.formValidate).forEach((item) => {
|
||||||
|
this.ruleValidate[item] = [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请填写必填项",
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (value < 0) {
|
||||||
|
callback(new Error("不能输入负数!"));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -203,6 +203,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<AutoComplete ref="input" v-model="val.value"
|
<AutoComplete ref="input" v-model="val.value"
|
||||||
|
:disabled="containsSameSkuItem"
|
||||||
:filter-method="filterMethod"
|
:filter-method="filterMethod"
|
||||||
:maxlength="30" placeholder="请输入规格值" style="width: 180px"
|
:maxlength="30" placeholder="请输入规格值" style="width: 180px"
|
||||||
@on-focus="changeSkuVals(val, item.name)"
|
@on-focus="changeSkuVals(val, item.name)"
|
||||||
@ -257,6 +258,7 @@
|
|||||||
|
|
||||||
<FormItem v-if="item.spec_values.length < 10 && item.spec_values.length >= 1 && item.spec_values[0].value !== ''" class="sku-item-content-val flex" label="" style="line-height: 32px;">
|
<FormItem v-if="item.spec_values.length < 10 && item.spec_values.length >= 1 && item.spec_values[0].value !== ''" class="sku-item-content-val flex" label="" style="line-height: 32px;">
|
||||||
<AutoComplete ref="input" v-model="newSkuValues[$index]"
|
<AutoComplete ref="input" v-model="newSkuValues[$index]"
|
||||||
|
:disabled="containsSameSkuItem"
|
||||||
:filter-method="filterMethod"
|
:filter-method="filterMethod"
|
||||||
:maxlength="30" placeholder="自定义规格值" style="width: 180px"
|
:maxlength="30" placeholder="自定义规格值" style="width: 180px"
|
||||||
@on-blur="addSpec($index, item)"
|
@on-blur="addSpec($index, item)"
|
||||||
@ -630,6 +632,10 @@ export default {
|
|||||||
skuTableColumn: [],
|
skuTableColumn: [],
|
||||||
/** 表格数据 */
|
/** 表格数据 */
|
||||||
skuTableData: [],
|
skuTableData: [],
|
||||||
|
// 持久化的sku数据
|
||||||
|
skuTableDataCopy: [],
|
||||||
|
// 持久化的sku数据
|
||||||
|
skuInfoCopy: [],
|
||||||
/** 默认的规格参数 */
|
/** 默认的规格参数 */
|
||||||
skuData: [],
|
skuData: [],
|
||||||
/** 默认的规格值 */
|
/** 默认的规格值 */
|
||||||
@ -671,6 +677,9 @@ export default {
|
|||||||
shopCategory: [],
|
shopCategory: [],
|
||||||
/** 商品单位列表 */
|
/** 商品单位列表 */
|
||||||
goodsUnitList: [],
|
goodsUnitList: [],
|
||||||
|
containsSameSkuItem: false,
|
||||||
|
containsSameSkuValue: false,
|
||||||
|
containsSameSkuNewValue: false,
|
||||||
// 展示商品视频
|
// 展示商品视频
|
||||||
showGoodsVideo: false,
|
showGoodsVideo: false,
|
||||||
ignoreColumn: [
|
ignoreColumn: [
|
||||||
@ -729,17 +738,6 @@ export default {
|
|||||||
desc: "视频大小不能超过10MB",
|
desc: "视频大小不能超过10MB",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onAddSku(index) {
|
|
||||||
if (!this.newSkuValues[index]) {
|
|
||||||
this.$Message.error('请输入规格值')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.skuInfo[index].spec_values.push({
|
|
||||||
name: this.newSkuValues[index].name,
|
|
||||||
value: this.newSkuValues[index],
|
|
||||||
images: this.openImage ? [] : this.baseInfoForm.goodsGalleryFiles
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 图片选择后回调
|
// 图片选择后回调
|
||||||
callbackSelected(val) {
|
callbackSelected(val) {
|
||||||
this.picModelFlag = false;
|
this.picModelFlag = false;
|
||||||
@ -1246,6 +1244,14 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 添加规格项 */
|
/** 添加规格项 */
|
||||||
addSkuItem() {
|
addSkuItem() {
|
||||||
|
if (this.containsSameSkuItem) {
|
||||||
|
this.$Message.error("存在重复规格项!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.containsSameSkuValue) {
|
||||||
|
this.$Message.error("存在重复规格值!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (this.skuInfo.length >= 5) {
|
if (this.skuInfo.length >= 5) {
|
||||||
this.$Message.error("规格项不能大于5个!");
|
this.$Message.error("规格项不能大于5个!");
|
||||||
return;
|
return;
|
||||||
@ -1269,8 +1275,10 @@ export default {
|
|||||||
editSkuItem(val, index, item) {
|
editSkuItem(val, index, item) {
|
||||||
if (this.skuTableData.find((i) => i[val])) {
|
if (this.skuTableData.find((i) => i[val])) {
|
||||||
this.$Message.error("已存在相同规格项!");
|
this.$Message.error("已存在相同规格项!");
|
||||||
|
this.containsSameSkuItem = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this.containsSameSkuItem = false;
|
||||||
if (this.zz(0, val) > 20) {
|
if (this.zz(0, val) > 20) {
|
||||||
this.$Message.error("规格值最多十个字符长度!");
|
this.$Message.error("规格值最多十个字符长度!");
|
||||||
// val = val.toString().slice(0, 4);
|
// val = val.toString().slice(0, 4);
|
||||||
@ -1283,6 +1291,11 @@ export default {
|
|||||||
delete e[this.currentSkuItem];
|
delete e[this.currentSkuItem];
|
||||||
return e;
|
return e;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.skuInfo[index].name = val;
|
||||||
|
this.skuInfo[index].spec_values.forEach((e) => {
|
||||||
|
e.name = val;
|
||||||
|
});
|
||||||
this.currentSkuItem = val;
|
this.currentSkuItem = val;
|
||||||
this.renderTableData(this.skuTableData);
|
this.renderTableData(this.skuTableData);
|
||||||
},
|
},
|
||||||
@ -1322,8 +1335,13 @@ export default {
|
|||||||
skuValueChange(val, index, item, $index) {
|
skuValueChange(val, index, item, $index) {
|
||||||
if (this.skuTableData.find((i) => i[val.name] === val.value)) {
|
if (this.skuTableData.find((i) => i[val.name] === val.value)) {
|
||||||
this.$Message.error("已存在相同规格值!");
|
this.$Message.error("已存在相同规格值!");
|
||||||
|
|
||||||
|
this.skuInfo = cloneObj(this.skuInfoCopy);
|
||||||
|
this.skuTableData = cloneObj(this.skuTableDataCopy);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.containsSameSkuValue = false;
|
||||||
if (val.value === '') {
|
if (val.value === '') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1343,6 +1361,8 @@ export default {
|
|||||||
return e;
|
return e;
|
||||||
});
|
});
|
||||||
this.currentSkuVal = val.value;
|
this.currentSkuVal = val.value;
|
||||||
|
this.skuTableDataCopy = cloneObj(this.skuTableData);
|
||||||
|
this.skuInfoCopy = cloneObj(this.skuInfo);
|
||||||
this.renderTableData(this.skuTableData);
|
this.renderTableData(this.skuTableData);
|
||||||
},
|
},
|
||||||
// 获取焦点时,取得规格名对应的规格值
|
// 获取焦点时,取得规格名对应的规格值
|
||||||
@ -1366,6 +1386,12 @@ export default {
|
|||||||
(e) => e[spec.name] !== this.lastEditSkuValue
|
(e) => e[spec.name] !== this.lastEditSkuValue
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 判断是否存在重复规格值
|
||||||
|
if (!this.skuTableData.find((i) => i[val.name] === val.value)) {
|
||||||
|
this.skuTableDataCopy = cloneObj(this.skuTableData);
|
||||||
|
this.skuInfoCopy = cloneObj(this.skuInfo);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/** 移除当前规格项 进行数据变化*/
|
/** 移除当前规格项 进行数据变化*/
|
||||||
handleCloseSkuItem($index, item) {
|
handleCloseSkuItem($index, item) {
|
||||||
@ -1456,6 +1482,21 @@ export default {
|
|||||||
this.$Message.error("请输入规格值");
|
this.$Message.error("请输入规格值");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.containsSameSkuItem) {
|
||||||
|
this.$Message.error("存在重复规格项!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.spec_values.find((i) => i.value === this.newSkuValues[$index])) {
|
||||||
|
this.newSkuValues[$index] = "";
|
||||||
|
this.skuInfo = cloneObj(this.skuInfoCopy);
|
||||||
|
this.skuTableData = cloneObj(this.skuTableDataCopy);
|
||||||
|
this.$Message.error("存在重复规格值!");
|
||||||
|
this.containsSameSkuNewValue = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.validateEmpty(item.spec_values)) {
|
if (this.validateEmpty(item.spec_values)) {
|
||||||
if (item.spec_values.length >= 10) {
|
if (item.spec_values.length >= 10) {
|
||||||
this.$Message.error("规格值不能大于10个!");
|
this.$Message.error("规格值不能大于10个!");
|
||||||
@ -1514,6 +1555,9 @@ export default {
|
|||||||
}
|
}
|
||||||
this.baseInfoForm.regeneratorSkuFlag = true;
|
this.baseInfoForm.regeneratorSkuFlag = true;
|
||||||
this.newSkuValues[$index] = "";
|
this.newSkuValues[$index] = "";
|
||||||
|
|
||||||
|
this.skuTableDataCopy = cloneObj(this.skuTableData);
|
||||||
|
this.skuInfoCopy = cloneObj(this.skuInfo);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleClearSku() {
|
handleClearSku() {
|
||||||
@ -1780,6 +1824,14 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 添加商品 **/
|
/** 添加商品 **/
|
||||||
save() {
|
save() {
|
||||||
|
if (this.containsSameSkuItem) {
|
||||||
|
this.$Message.error("存在重复规格项!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.containsSameSkuValue) {
|
||||||
|
this.$Message.error("存在重复规格值!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.submitLoading = true;
|
this.submitLoading = true;
|
||||||
this.$refs["baseInfoForm"].validate((valid) => {
|
this.$refs["baseInfoForm"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
@ -442,7 +442,7 @@
|
|||||||
<Form :model="faceSheetForm" ref="faceSheetForm" v-if="facesheetFlag" :rules="faceSheetFormValidate">
|
<Form :model="faceSheetForm" ref="faceSheetForm" v-if="facesheetFlag" :rules="faceSheetFormValidate">
|
||||||
<FormItem label="物流公司" prop="logisticsId" style="position: relative" :label-width="90">
|
<FormItem label="物流公司" prop="logisticsId" style="position: relative" :label-width="90">
|
||||||
<Select v-model="faceSheetForm.logisticsId" placeholder="请选择" style="width: 250px">
|
<Select v-model="faceSheetForm.logisticsId" placeholder="请选择" style="width: 250px">
|
||||||
<Option v-for="(item, i) in checkedLogistics" :key="i" :value="item.id">{{ item.name }}
|
<Option v-for="(item, i) in checkedLogistics" :key="i" :value="item.logisticsId">{{ item.name }}
|
||||||
</Option>
|
</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
@ -451,7 +451,7 @@
|
|||||||
:rules="orderDeliverFormValidate" style="position: relative">
|
:rules="orderDeliverFormValidate" style="position: relative">
|
||||||
<FormItem label="物流公司" prop="logisticsId">
|
<FormItem label="物流公司" prop="logisticsId">
|
||||||
<Select v-model="orderDeliveryForm.logisticsId" placeholder="请选择" style="width: 250px">
|
<Select v-model="orderDeliveryForm.logisticsId" placeholder="请选择" style="width: 250px">
|
||||||
<Option v-for="(item, i) in checkedLogistics" :key="i" :value="item.id">{{ item.name }}
|
<Option v-for="(item, i) in checkedLogistics" :key="i" :value="item.logisticsId">{{ item.name }}
|
||||||
</Option>
|
</Option>
|
||||||
</Select>
|
</Select>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
@ -571,8 +571,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template slot="numSlot" slot-scope="{ row, index }">
|
<template slot="numSlot" slot-scope="{ row, index }">
|
||||||
<InputNumber :min="0" :max="row.___num - row.deliverNumber" v-model="data[index].canNum">
|
<InputNumber v-model="row.canNum" :disabled="!selectGroupShipGoods.find(item=>item.id === row.id)"
|
||||||
</InputNumber>
|
:max="row.___num - row.deliverNumber - row.returnNum" :min="0"
|
||||||
|
@on-change="changeNum($event,index)"></InputNumber>
|
||||||
</template>
|
</template>
|
||||||
</Table>
|
</Table>
|
||||||
<div slot="footer">
|
<div slot="footer">
|
||||||
@ -872,6 +873,16 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
changeNum(number, index) {
|
||||||
|
const current = this.data[index]
|
||||||
|
if (this.selectGroupShipGoods.length) {
|
||||||
|
this.selectGroupShipGoods.forEach(item => {
|
||||||
|
if (item.skuId === current.skuId) {
|
||||||
|
item.canNum = number
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
// 分包裹发货
|
// 分包裹发货
|
||||||
confirmShipGroupGoods () {
|
confirmShipGroupGoods () {
|
||||||
this.$refs.groupOrderDeliveryForm.validate(async (valid) => {
|
this.$refs.groupOrderDeliveryForm.validate(async (valid) => {
|
||||||
@ -1145,7 +1156,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
toPrints () {
|
toPrints () {
|
||||||
if (this.form.logisticsId != null && this.form.logisticsId != '') {
|
if (this.faceSheetForm.logisticsId != null && this.faceSheetForm.logisticsId != '') {
|
||||||
this.orderDeliverModal = false;
|
this.orderDeliverModal = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1155,9 +1166,11 @@ export default {
|
|||||||
this.$refs['faceSheetForm'].validate((valid) => {
|
this.$refs['faceSheetForm'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
API_Order.getOrderFaceSheet(this.sn, this.faceSheetForm).then(res => {
|
API_Order.getOrderFaceSheet(this.sn, this.faceSheetForm).then(res => {
|
||||||
if (res.success) {
|
if (res.success && res.result.printTemplate) {
|
||||||
this.someJSONdata = res.result.printTemplate;
|
this.someJSONdata = res.result.printTemplate;
|
||||||
this.toPrints();
|
this.toPrints();
|
||||||
|
}else{
|
||||||
|
this.$Message.success("电子面单发货失败!");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -64,115 +64,19 @@
|
|||||||
|
|
||||||
<!-- 分享卡片 -->
|
<!-- 分享卡片 -->
|
||||||
<FormItem label="分享卡片封面" prop="feedsImg">
|
<FormItem label="分享卡片封面" prop="feedsImg">
|
||||||
<div class="upload-list" v-if="liveForm.feedsImg">
|
<upload-pic-thumb v-model="liveForm.feedsImg" :multiple="false"></upload-pic-thumb>
|
||||||
<template>
|
|
||||||
<img :src="liveForm.feedsImg" />
|
|
||||||
<div class="upload-list-cover">
|
|
||||||
<Icon
|
|
||||||
type="ios-eye-outline"
|
|
||||||
@click.native="handleView(liveForm.feedsImg)"
|
|
||||||
></Icon>
|
|
||||||
<Icon
|
|
||||||
type="ios-trash-outline"
|
|
||||||
@click.native="handleRemove('feedsImg')"
|
|
||||||
></Icon>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
<Upload
|
|
||||||
v-if="liveForm.feedsImg.length == 0"
|
|
||||||
ref="upload"
|
|
||||||
:show-upload-list="false"
|
|
||||||
:on-success="handleFeedsImgSuccess"
|
|
||||||
:format="['jpg', 'jpeg', 'png']"
|
|
||||||
:on-format-error="handleFormatError"
|
|
||||||
:max-size="1024"
|
|
||||||
:on-exceeded-size="handleMaxSize"
|
|
||||||
type="drag"
|
|
||||||
:action="action"
|
|
||||||
:headers="accessToken"
|
|
||||||
style="display: inline-block; width: 58px"
|
|
||||||
>
|
|
||||||
<div style="width: 58px; height: 58px; line-height: 58px">
|
|
||||||
<Icon type="ios-camera" size="20"></Icon>
|
|
||||||
</div>
|
|
||||||
</Upload>
|
|
||||||
<div class="tips">直播间分享图,图片规则:建议像素800*640,大小不超过1M;</div>
|
<div class="tips">直播间分享图,图片规则:建议像素800*640,大小不超过1M;</div>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<!-- 直播间背景墙 -->
|
<!-- 直播间背景墙 -->
|
||||||
<FormItem label="直播间背景墙" prop="coverImg">
|
<FormItem label="直播间背景墙" prop="coverImg">
|
||||||
<div class="upload-list" v-if="liveForm.coverImg">
|
<upload-pic-thumb v-model="liveForm.coverImg" :multiple="false"></upload-pic-thumb>
|
||||||
<template>
|
|
||||||
<img :src="liveForm.coverImg" />
|
|
||||||
<div class="upload-list-cover">
|
|
||||||
<Icon
|
|
||||||
type="ios-eye-outline"
|
|
||||||
@click.native="handleView(liveForm.coverImg)"
|
|
||||||
></Icon>
|
|
||||||
<Icon
|
|
||||||
type="ios-trash-outline"
|
|
||||||
@click.native="handleRemove('coverImg')"
|
|
||||||
></Icon>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
<Upload
|
|
||||||
v-if="liveForm.coverImg.length == 0"
|
|
||||||
ref="upload"
|
|
||||||
:show-upload-list="false"
|
|
||||||
:on-success="handleCoverImgSuccess"
|
|
||||||
:format="['jpg', 'jpeg', 'png']"
|
|
||||||
:on-format-error="handleFormatError"
|
|
||||||
:max-size="1024"
|
|
||||||
:on-exceeded-size="handleMaxSize"
|
|
||||||
type="drag"
|
|
||||||
:action="action"
|
|
||||||
:headers="accessToken"
|
|
||||||
style="display: inline-block; width: 58px"
|
|
||||||
>
|
|
||||||
<div style="width: 58px; height: 58px; line-height: 58px">
|
|
||||||
<Icon type="ios-camera" size="20"></Icon>
|
|
||||||
</div>
|
|
||||||
</Upload>
|
|
||||||
<div class="tips">直播间背景图,图片规则:建议像素1080*1920,大小不超过1M</div>
|
<div class="tips">直播间背景图,图片规则:建议像素1080*1920,大小不超过1M</div>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
<!-- 直播间背景墙 -->
|
<!-- 直播间背景墙 -->
|
||||||
<FormItem label="直播间分享图" prop="shareImg">
|
<FormItem label="直播间分享图" prop="shareImg">
|
||||||
<div class="upload-list" v-if="liveForm.shareImg">
|
<upload-pic-thumb v-model="liveForm.shareImg" :multiple="false"></upload-pic-thumb>
|
||||||
<template>
|
|
||||||
<img :src="liveForm.shareImg" />
|
|
||||||
<div class="upload-list-cover">
|
|
||||||
<Icon
|
|
||||||
type="ios-eye-outline"
|
|
||||||
@click.native="handleView(liveForm.shareImg)"
|
|
||||||
></Icon>
|
|
||||||
<Icon
|
|
||||||
type="ios-trash-outline"
|
|
||||||
@click.native="handleRemove('shareImg')"
|
|
||||||
></Icon>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
<Upload
|
|
||||||
v-if="liveForm.shareImg.length == 0"
|
|
||||||
ref="upload"
|
|
||||||
:show-upload-list="false"
|
|
||||||
:on-success="handleShareImgSuccess"
|
|
||||||
:format="['jpg', 'jpeg', 'png']"
|
|
||||||
:on-format-error="handleFormatError"
|
|
||||||
:max-size="1024"
|
|
||||||
:on-exceeded-size="handleMaxSize"
|
|
||||||
type="drag"
|
|
||||||
:action="action"
|
|
||||||
:headers="accessToken"
|
|
||||||
style="display: inline-block; width: 58px"
|
|
||||||
>
|
|
||||||
<div style="width: 58px; height: 58px; line-height: 58px">
|
|
||||||
<Icon type="ios-camera" size="20"></Icon>
|
|
||||||
</div>
|
|
||||||
</Upload>
|
|
||||||
<div class="tips">直播间分享图,图片规则:建议像素800*640,大小不超过1M</div>
|
<div class="tips">直播间分享图,图片规则:建议像素800*640,大小不超过1M</div>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
||||||
@ -261,6 +165,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { uploadFile } from "@/libs/axios";
|
import { uploadFile } from "@/libs/axios";
|
||||||
|
import uploadPicThumb from "@/views/my-components/lili/upload-pic-thumb";
|
||||||
import {
|
import {
|
||||||
addLive,
|
addLive,
|
||||||
addLiveGoods,
|
addLiveGoods,
|
||||||
@ -272,6 +177,7 @@ import liveGoods from "./liveGoods";
|
|||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
liveGoods,
|
liveGoods,
|
||||||
|
uploadPicThumb,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user