|
@@ -26,6 +26,9 @@
|
|
|
<template #spec>
|
|
|
<el-option v-for="item in specList" :key="item._id" :label="item.name" :value="item._id"> </el-option>
|
|
|
</template>
|
|
|
+ <template #buy_limit>
|
|
|
+ <el-option v-for="i in buy_limitList" :key="i.model" :label="i.label" :value="i.value"></el-option>
|
|
|
+ </template>
|
|
|
</data-form>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
@@ -39,6 +42,8 @@ import * as util from '@/util/computed';
|
|
|
const { mapActions: goodsConfig } = createNamespacedHelpers('goodsConfig');
|
|
|
const { mapActions: goods } = createNamespacedHelpers('goods');
|
|
|
const { mapActions: goodsSpec } = createNamespacedHelpers('goodsSpec');
|
|
|
+const { mapActions: dictData } = createNamespacedHelpers('dictData');
|
|
|
+
|
|
|
export default {
|
|
|
name: 'detail',
|
|
|
props: { id: { type: String } },
|
|
@@ -50,15 +55,15 @@ export default {
|
|
|
infoFields: [
|
|
|
{ label: '商品名称', model: 'goods', custom: true },
|
|
|
{ label: '商品规格', model: 'spec', type: 'select' },
|
|
|
- { label: '团长价', model: 'leader_price', type: 'number' },
|
|
|
{ label: '团购价', model: 'price', type: 'number' },
|
|
|
{ label: '团长提成金额', model: 'leader_get', type: 'number' },
|
|
|
{ label: '运费', model: 'freight', type: 'number' },
|
|
|
+ { label: '购买限制', model: 'buy_limit', type: 'select' },
|
|
|
+ { label: '购买数量界限', model: 'limit_num', type: 'number' },
|
|
|
],
|
|
|
rules: {
|
|
|
goods: [{ required: true, message: '商品名称', trigger: 'change' }],
|
|
|
spec: [{ required: true, message: '商品规格', trigger: 'change' }],
|
|
|
- leader_price: [{ required: true, message: '团长价', trigger: 'blur' }],
|
|
|
price: [{ required: true, message: '团购价', trigger: 'blur' }],
|
|
|
leader_get: [{ required: true, message: '团长提成金额', trigger: 'blur' }],
|
|
|
freight: [{ required: true, message: '运费', trigger: 'blur' }],
|
|
@@ -70,12 +75,18 @@ export default {
|
|
|
goodsList: [],
|
|
|
// 规格列表
|
|
|
specList: [],
|
|
|
+ // 购买限制
|
|
|
+ buy_limitList: [],
|
|
|
+ // 团长价
|
|
|
+ leader_price: '',
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
+ this.searchOthers();
|
|
|
this.search();
|
|
|
},
|
|
|
methods: {
|
|
|
+ ...dictData({ getDict: 'query' }),
|
|
|
...goods({ goodsQuery: 'query', goodsFetch: 'fetch' }),
|
|
|
...goodsSpec({ specQuery: 'query', specFetch: 'fetch' }),
|
|
|
...goodsConfig(['query', 'delete', 'fetch', 'update', 'create']),
|
|
@@ -114,11 +125,18 @@ export default {
|
|
|
if (model == 'spec') {
|
|
|
let info = this.specList.find((f) => f._id == value);
|
|
|
if (info) this.$set(this.form, 'freight', info.freight);
|
|
|
- if (info && info.leader_price) this.$set(this.form, 'leader_price', info.leader_price);
|
|
|
+ if (info && info.leader_price) this.$set(this, 'leader_price', info.leader_price);
|
|
|
+ if (info && !info.leader_price) this.$set(this, 'leader_price', '');
|
|
|
+ if (info && info.buy_limit) this.$set(this.form, 'buy_limit', info.buy_limit);
|
|
|
+ if (info && info.limit_num) this.$set(this.form, 'limit_num', info.limit_num);
|
|
|
}
|
|
|
- if (this.form.leader_price && this.form.price) {
|
|
|
- let price = util.minus(this.form.price, this.form.leader_price);
|
|
|
- this.$set(this.form, 'leader_get', price);
|
|
|
+ console.log('团长价格', this.leader_price);
|
|
|
+ if (this.leader_price && this.form.price) {
|
|
|
+ let price = util.minus(this.form.price, this.leader_price);
|
|
|
+ if (price > 0) this.$set(this.form, 'leader_get', price);
|
|
|
+ else this.$set(this.form, 'leader_get', 0);
|
|
|
+ } else if (!this.leader_price && this.form.price) {
|
|
|
+ this.$set(this.form, 'leader_get', 0);
|
|
|
}
|
|
|
},
|
|
|
// 保存
|
|
@@ -135,6 +153,12 @@ export default {
|
|
|
toBack() {
|
|
|
this.$emit('toBack');
|
|
|
},
|
|
|
+ // 查询其他信息
|
|
|
+ async searchOthers() {
|
|
|
+ // 购买限制
|
|
|
+ let res = await this.getDict({ code: 'buy_limit' });
|
|
|
+ if (this.$checkRes(res)) this.$set(this, 'buy_limitList', res.data);
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState(['user']),
|