|
|
@@ -24,29 +24,7 @@
|
|
|
:label-width="labelWidth" :label-position="labelPosition" @submit.native.prevent>
|
|
|
<Row :gutter="24" type="flex" v-show="currentTab === '1'">
|
|
|
<!-- 商品信息-->
|
|
|
- <!--<Col span="24">-->
|
|
|
- <!--<FormItem label="商品类型:" props="is_virtual">-->
|
|
|
- <!--<div-->
|
|
|
- <!--class="productType"-->
|
|
|
- <!--:class="formValidate.product_type == item.id ? 'on' : ''-->
|
|
|
- <!--"-->
|
|
|
- <!--v-for="(item, index) in productType"-->
|
|
|
- <!--:key="index"-->
|
|
|
- <!--@click="productTypeTap(1,item)"-->
|
|
|
- <!-->-->
|
|
|
- <!--<div class="name">{{ item.name }}</div>-->
|
|
|
- <!--<div class="title">({{ item.title }})</div>-->
|
|
|
- <!--<div-->
|
|
|
- <!--v-if="formValidate.product_type == item.id"-->
|
|
|
- <!--class="jiao"-->
|
|
|
- <!--></div>-->
|
|
|
- <!--<div-->
|
|
|
- <!--v-if="formValidate.product_type == item.id"-->
|
|
|
- <!--class="iconfont iconduihao"-->
|
|
|
- <!--></div>-->
|
|
|
- <!--</div>-->
|
|
|
- <!--</FormItem>-->
|
|
|
- <!--</Col>-->
|
|
|
+
|
|
|
<Col span="24">
|
|
|
<FormItem label="商品名称:" prop="store_name">
|
|
|
<Input v-model="formValidate.store_name" placeholder="请输入商品名称" v-width="'50%'" />
|
|
|
@@ -218,13 +196,13 @@
|
|
|
<FormItem label="商品规格:" props="spec_type" v-if="$route.params.id">
|
|
|
<RadioGroup v-model="formValidate.spec_type" @on-change="changeSpec">
|
|
|
<Radio :label="0" class="radio" :disabled="formValidate.spec_type!=0">单规格</Radio>
|
|
|
- <Radio :label="1" :disabled="formValidate.spec_type!=1">多规格</Radio>
|
|
|
+ <!-- <Radio :label="1" :disabled="formValidate.spec_type!=1">多规格</Radio> -->
|
|
|
</RadioGroup>
|
|
|
</FormItem>
|
|
|
<FormItem label="商品规格:" props="spec_type" v-else>
|
|
|
<RadioGroup v-model="formValidate.spec_type" @on-change="changeSpec">
|
|
|
<Radio :label="0" class="radio">单规格</Radio>
|
|
|
- <Radio :label="1">多规格</Radio>
|
|
|
+ <!-- <Radio :label="1">多规格</Radio> -->
|
|
|
</RadioGroup>
|
|
|
</FormItem>
|
|
|
</Col>
|
|
|
@@ -457,6 +435,26 @@
|
|
|
</InputNumber>
|
|
|
</FormItem>
|
|
|
</Col>
|
|
|
+ <Col span="24">
|
|
|
+ <div style="display: flex; flex-wrap: wrap">
|
|
|
+ <FormItem :label="ls.name+'会员1件售价:'" v-for="ls in userLevelList">
|
|
|
+ <InputNumber v-model="ls.level_price_1" :min="0" :max="99999999" v-width="'50%'">
|
|
|
+ </InputNumber>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem :label="ls.name+'会员3件售价:'" v-for="ls in userLevelList">
|
|
|
+ <InputNumber v-model="ls.level_price_3" :min="0" :max="99999999" v-width="'50%'">
|
|
|
+ </InputNumber>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem :label="ls.name+'会员5件售价:'" v-for="ls in userLevelList">
|
|
|
+ <InputNumber v-model="ls.level_price_5" :min="0" :max="99999999" v-width="'50%'">
|
|
|
+ </InputNumber>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem :label="ls.name+'会员10件售价:'" v-for="ls in userLevelList">
|
|
|
+ <InputNumber v-model="ls.level_price_10" :min="0" :max="99999999" v-width="'50%'">
|
|
|
+ </InputNumber>
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ </Col>
|
|
|
<Col span="24" class="asterisk">
|
|
|
<div class="asteriskInfo on">*</div>
|
|
|
<FormItem label="成本价:">
|
|
|
@@ -820,7 +818,8 @@
|
|
|
uploadType,
|
|
|
productAllEnsure,
|
|
|
productLabelAdd,
|
|
|
- productAllSpecs
|
|
|
+ productAllSpecs,
|
|
|
+ getUserLevel
|
|
|
} from "@/api/product";
|
|
|
import {
|
|
|
erpConfig
|
|
|
@@ -1352,7 +1351,9 @@
|
|
|
return date && date.valueOf() < Date.now() - 86400000;
|
|
|
}
|
|
|
},
|
|
|
- openErp: false
|
|
|
+ openErp: false,
|
|
|
+ userLevelList: [], //单规格用户等级列表
|
|
|
+ priceNumList: [1, 3, 5, 10] //保存商品数量数组
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -1397,6 +1398,7 @@
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.getSupplierList();
|
|
|
this.columns = this.columns2.slice(1, 10);
|
|
|
let data = JSON.parse(JSON.stringify(this.columns2));
|
|
|
data.splice(8, 2, this.headerCarMy);
|
|
|
@@ -1497,6 +1499,8 @@
|
|
|
this.uploadType();
|
|
|
this.getProductAllEnsure();
|
|
|
this.getProductAllSpecs();
|
|
|
+ // 在获取规格后获取用户等级数据
|
|
|
+ this.getUserLevel();
|
|
|
},
|
|
|
destroyed() {
|
|
|
this.setCopyrightShow({
|
|
|
@@ -1507,6 +1511,28 @@
|
|
|
...mapMutations('admin/layout', [
|
|
|
'setCopyrightShow'
|
|
|
]),
|
|
|
+ // 获取用户等级列表
|
|
|
+ getUserLevel() {
|
|
|
+ const that = this;
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ getUserLevel().then(res => {
|
|
|
+ that.userLevelList = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ name: item.name,
|
|
|
+ id: item.id,
|
|
|
+ level_price_1: 0,
|
|
|
+ level_price_3: 0,
|
|
|
+ level_price_5: 0,
|
|
|
+ level_price_10: 0
|
|
|
+ }
|
|
|
+ });
|
|
|
+ resolve();
|
|
|
+ }).catch(err => {
|
|
|
+ that.$Message.error(err.msg);
|
|
|
+ reject();
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
limitTap(e) {
|
|
|
if (e) {
|
|
|
this.formValidate.limit_type = (this.formValidate.is_limit && !this.formValidate.limit_type) ? 1 : 0
|
|
|
@@ -1988,6 +2014,29 @@
|
|
|
ids.push(item.id);
|
|
|
});
|
|
|
this.goodsData = data.recommend_list;
|
|
|
+ // 获取数量列表
|
|
|
+ const priceNum = this.priceNumList;
|
|
|
+
|
|
|
+ this.getUserLevel().then(()=>{
|
|
|
+ // 保存项目对象
|
|
|
+ for (let i = 0; i < priceNum.length; i++) {
|
|
|
+ const levelName = 'level_price_' + priceNum[i];
|
|
|
+ let levelItem;
|
|
|
+ if (i == 0) {
|
|
|
+ levelItem = data.attr["level_price"];
|
|
|
+ } else {
|
|
|
+ levelItem = data.attr[levelName];
|
|
|
+ }
|
|
|
+ for (let a = 0; a < this.userLevelList.length; a++) {
|
|
|
+ let ls = this.userLevelList[a];
|
|
|
+ // 根据数量获取规格值
|
|
|
+ ls[levelName] = levelItem["level_" + ls.id];
|
|
|
+ console.log(levelName, levelItem["level_" + ls.id], ls, '66666');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }).catch((err)=>{
|
|
|
+ console.log(err)
|
|
|
+ })
|
|
|
if (data.auto_off_time) {
|
|
|
this.off_show = 1;
|
|
|
} else {
|
|
|
@@ -2387,6 +2436,14 @@
|
|
|
if (!this.$route.params.id && this.formValidate.spec_type === 1) {
|
|
|
this.manyFormValidate.map((item) => {
|
|
|
item.pic = this.formValidate.slider_image[0];
|
|
|
+ if (!item.level_price) {
|
|
|
+ item.level_price = {
|
|
|
+ "level_price_1": 0,
|
|
|
+ "level_price_3": 0,
|
|
|
+ "level_price_5": 0,
|
|
|
+ "level_price_10": 0,
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
this.oneFormBatch[0].pic = this.formValidate.slider_image[0];
|
|
|
} else if (this.$route.params.id) {
|
|
|
@@ -2394,6 +2451,14 @@
|
|
|
if (!item.pic) {
|
|
|
item.pic = this.formValidate.slider_image[0];
|
|
|
}
|
|
|
+ if (!item.level_price) {
|
|
|
+ item.level_price = {
|
|
|
+ "level_price_1": 0,
|
|
|
+ "level_price_3": 0,
|
|
|
+ "level_price_5": 0,
|
|
|
+ "level_price_10": 0,
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
this.oneFormBatch[0].pic = this.formValidate.slider_image[0];
|
|
|
}
|
|
|
@@ -2600,7 +2665,37 @@
|
|
|
}
|
|
|
}
|
|
|
this.formValidate.type = this.type;
|
|
|
+ //保存商品数量规格设置
|
|
|
+ const priceNum = this.priceNumList;
|
|
|
+ // 判断是否单规格
|
|
|
if (this.formValidate.spec_type === 0) {
|
|
|
+ try {
|
|
|
+ // 保存项目对象
|
|
|
+ let item = this.oneFormValidate[0];
|
|
|
+ for (let i = 0; i < priceNum.length; i++) {
|
|
|
+ const levelName = 'level_price_' + priceNum[i];
|
|
|
+ let levelItem;
|
|
|
+ if (i == 0) {
|
|
|
+ item["level_price"] = {};
|
|
|
+ levelItem = item["level_price"];
|
|
|
+ } else {
|
|
|
+ item[levelName] = {};
|
|
|
+ levelItem = item[levelName];
|
|
|
+ }
|
|
|
+ console.log(levelItem, 'lv')
|
|
|
+ for (let a = 0; a < this.userLevelList.length; a++) {
|
|
|
+ const ls = this.userLevelList[a];
|
|
|
+ if (ls[levelName] <= 0) {
|
|
|
+ return this.$Message.warning("规格库存-会员价格必须设置大于0");
|
|
|
+ }
|
|
|
+ // 根据数量获取规格值
|
|
|
+ levelItem["level_" + ls.id] = ls[levelName];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+
|
|
|
this.formValidate.attrs = this.oneFormValidate;
|
|
|
this.formValidate.header = [];
|
|
|
this.formValidate.items = [];
|