feat(goods): 商品-基础设置添加秒杀配置
This commit is contained in:
parent
dcd0bd7356
commit
3ad71821ba
|
@ -761,3 +761,11 @@ export function getMaxSortNum(params) {
|
|||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function resetInventoryUse(data) {
|
||||
return request({
|
||||
url: 'sale/manage/wares/resetInventoryUse',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
|
|
@ -0,0 +1,510 @@
|
|||
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { getAwardsListChiose } from '@/api/level'
|
||||
import * as api from '@/api/product.js'
|
||||
import { specialArea } from '@/api/configManage'
|
||||
|
||||
const initFlashSaleForm = {
|
||||
inventory: '',
|
||||
inventoryUse: 0,
|
||||
inventoryRatio: '',
|
||||
memberLimit: '',
|
||||
memberMonthLimit: ''
|
||||
}
|
||||
export default {
|
||||
|
||||
data() {
|
||||
const validateMemberMonthLimit = (rule, value, callback) => {
|
||||
if (value > this.form.memberLimit) {
|
||||
callback(new Error('会员月限购不能大于会员总限购'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
return {
|
||||
levelAll: false,
|
||||
gradeAll: false,
|
||||
// 产品明细
|
||||
cpList: [],
|
||||
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
|
||||
headers: {
|
||||
Authorization: getToken()
|
||||
},
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
form: {
|
||||
isMakerGift: 1,
|
||||
waresGradeIds: [],
|
||||
waresAwardsIds: [],
|
||||
sales: '',
|
||||
sortStatus: 0,
|
||||
waresCode: '',
|
||||
sort: '',
|
||||
sptw: '',
|
||||
ysList: [],
|
||||
bzList: [],
|
||||
pkGuaranteeLabel: [],
|
||||
specialArea: '',
|
||||
checkList: [],
|
||||
waresMemberAuthorizeList: [],
|
||||
waresAuthorityList: [
|
||||
{
|
||||
authorityType: 5,
|
||||
memberCode: ''
|
||||
}
|
||||
],
|
||||
waresSpecsPackList: [{ key: '', value: '' }],
|
||||
...initFlashSaleForm
|
||||
},
|
||||
tabActive: 0,
|
||||
waresDetailList: [],
|
||||
waresSpecsSkuList: [],
|
||||
waresRangeList: [],
|
||||
agreeList: [
|
||||
{
|
||||
text: '允许',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '禁止',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
// 套餐类型
|
||||
tcList: [
|
||||
{
|
||||
text: '套装',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '单品',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
postList: [
|
||||
{
|
||||
text: '包邮',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '不包邮',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
isTj: [
|
||||
{
|
||||
label: '推荐',
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
label: '不推荐',
|
||||
value: 1
|
||||
}
|
||||
],
|
||||
xsList: [
|
||||
{
|
||||
text: '允许出售',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '禁止出售',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
topList: [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
],
|
||||
goodList: [],
|
||||
copyArr: [],
|
||||
// 血缘列表
|
||||
xyList: '',
|
||||
// 海陆空
|
||||
transportTypeList: [],
|
||||
// 商品分类
|
||||
hierarchyList: [],
|
||||
// 所属专区
|
||||
areaList: [],
|
||||
// 预售状态
|
||||
presaleList: [],
|
||||
// 供应方式
|
||||
gyList: [],
|
||||
// 前缀标签
|
||||
qzList: [],
|
||||
// 酷炫标签
|
||||
kxList: [],
|
||||
// 保障标签
|
||||
bzList: [],
|
||||
// 卖点标签
|
||||
mdList: [],
|
||||
// 协议
|
||||
agreementList: [],
|
||||
// 邮费模板
|
||||
postMoneyList1: [],
|
||||
postMoneyList2: [],
|
||||
postMoneyList3: [],
|
||||
rules: {
|
||||
waresName: [
|
||||
{ required: true, message: '请输入商品名称', trigger: 'blur' }
|
||||
],
|
||||
sortStatus: [
|
||||
{ required: true, message: '请选择', trigger: 'change' }
|
||||
],
|
||||
waresCode: [
|
||||
{ required: true, message: '请输入商品编码', trigger: 'blur' }
|
||||
],
|
||||
sellingPoints: [
|
||||
{ required: true, message: '请输入商品卖点', trigger: 'blur' }
|
||||
],
|
||||
sales: [{ required: true, message: '请输入商品销量', trigger: 'blur' }],
|
||||
waresPrice: [
|
||||
{ required: true, message: '请输入商品价格', trigger: 'blur' }
|
||||
],
|
||||
waresAchieve: [
|
||||
{ required: true, message: '请输入商品业绩', trigger: 'blur' }
|
||||
],
|
||||
sort: [
|
||||
{ required: true, message: '请输入排列序号', trigger: 'blur' }
|
||||
],
|
||||
pkAreaClassifys: [
|
||||
{ required: true, message: '请选择商品分类', trigger: 'change' }
|
||||
],
|
||||
specialArea: [
|
||||
{ required: true, message: '请选择所属专区', trigger: 'change' }
|
||||
],
|
||||
isPutOn: [
|
||||
{ required: true, message: '请选择上架状态', trigger: 'change' }
|
||||
],
|
||||
operateScope: [
|
||||
{ required: true, message: '请选择供应方式', trigger: 'change' }
|
||||
],
|
||||
preSaleStatus: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择预售状态',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
isSale: [
|
||||
{ required: true, message: '请选择销售状态', trigger: 'change' }
|
||||
],
|
||||
isSingle: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择套餐类型',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
pkAgreement: [
|
||||
{ required: true, message: '请选择补充协议', trigger: 'change' }
|
||||
],
|
||||
isFreeMail: [
|
||||
{ required: true, message: '请选择包邮类型', trigger: 'change' }
|
||||
],
|
||||
// videoUrl: [
|
||||
// { required: true, message: '请上传商品视频', trigger: 'blur' }
|
||||
// ],
|
||||
cover: [{ required: true, message: '请上传商品封面', trigger: 'blur' }],
|
||||
cover1: [
|
||||
{ required: true, message: '请上传图片', trigger: 'blur' }
|
||||
],
|
||||
// cover2: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
// cover3: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
// cover4: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
details: [
|
||||
{ required: true, message: '请输入商品详情', trigger: 'blur' }
|
||||
],
|
||||
afterGuarantee: [
|
||||
{ required: true, message: '请输入售后保障', trigger: 'blur' }
|
||||
],
|
||||
inventory: [
|
||||
{ required: true, message: '请输入库存数量', trigger: 'blur' }
|
||||
],
|
||||
inventoryRatio: [
|
||||
{ required: true, message: '请输入库存倒计时比例', trigger: 'blur' }
|
||||
],
|
||||
memberLimit: [
|
||||
{ required: true, message: '请输入会员总限购', trigger: 'blur' }
|
||||
],
|
||||
memberMonthLimit: [
|
||||
{ required: true, message: '请输入会员月限购', trigger: 'blur' },
|
||||
{ validator: validateMemberMonthLimit, trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
levelList: [],
|
||||
yesNo: [],
|
||||
waresTypeList: [],
|
||||
specialCurrency: [],
|
||||
awardsList: [],
|
||||
authorityList: [],
|
||||
sortList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
get_hierarchy_list(val) {
|
||||
api
|
||||
.get_hierarchy_list({
|
||||
specialArea: val || null
|
||||
})
|
||||
.then((res) => {
|
||||
this.hierarchyList = res.data
|
||||
})
|
||||
},
|
||||
// 运输方式
|
||||
getTransportType() {
|
||||
api.transportType().then((res) => {
|
||||
this.transportTypeList = res.data
|
||||
})
|
||||
},
|
||||
setTopList(specialAreaId) {
|
||||
if (
|
||||
[3, 26, 12, 22].includes(specialAreaId)
|
||||
) {
|
||||
const idx = this.topList.findIndex((item) => item.id === 3)
|
||||
this.topList.splice(idx, 0, {
|
||||
name: '级差配置',
|
||||
id: 4
|
||||
})
|
||||
} else {
|
||||
const idx = this.topList.findIndex((item) => item.id === 4)
|
||||
this.topList.splice(idx, 1)
|
||||
}
|
||||
},
|
||||
selSpecial(e) {
|
||||
this.get_hierarchy_list(e)
|
||||
this.setTopList(e)
|
||||
},
|
||||
getGrade(e) {
|
||||
if (e) {
|
||||
const gradeArr = this.awardsList.map((item) => {
|
||||
return item.pkId
|
||||
})
|
||||
this.form.waresAwardsIds = gradeArr
|
||||
} else {
|
||||
this.form.waresAwardsIds = []
|
||||
}
|
||||
},
|
||||
getGradeAll(e) {
|
||||
if (e.length == this.awardsList.length) {
|
||||
this.gradeAll = true
|
||||
} else {
|
||||
this.gradeAll = false
|
||||
}
|
||||
},
|
||||
getRangeList() {
|
||||
api.rangeList().then((res) => {
|
||||
this.levelList = res.data
|
||||
})
|
||||
},
|
||||
getWaresCode() {
|
||||
api.getWaresCode().then((res) => {
|
||||
this.form.waresCode = res.msg
|
||||
})
|
||||
},
|
||||
getLevel(e) {
|
||||
if (e) {
|
||||
const levelArr = this.levelList.map((item) => {
|
||||
return item.pkId
|
||||
})
|
||||
this.form.waresGradeIds = levelArr
|
||||
} else {
|
||||
this.form.waresGradeIds = []
|
||||
}
|
||||
},
|
||||
getLevelAll(e) {
|
||||
if (e.length == this.levelList.length) {
|
||||
this.levelAll = true
|
||||
} else {
|
||||
this.levelAll = false
|
||||
}
|
||||
},
|
||||
getOther() {
|
||||
api.get_sort().then((res) => {
|
||||
this.sortList = res.data
|
||||
})
|
||||
api.yes_no().then((res) => {
|
||||
this.yesNo = res.data
|
||||
})
|
||||
api.wares_type().then((res) => {
|
||||
this.waresTypeList = res.data
|
||||
})
|
||||
api.special_currency().then((res) => {
|
||||
this.specialCurrency = res.data
|
||||
})
|
||||
getAwardsListChiose().then((res) => {
|
||||
this.awardsList = res.rows
|
||||
})
|
||||
api.ERegistrationAuthority().then((res) => {
|
||||
this.authorityList = res.data
|
||||
})
|
||||
},
|
||||
getTrans(data) {
|
||||
this.form.isLandTrans = ''
|
||||
this.form.isAirTrans = ''
|
||||
this.form.isOceanTrans = ''
|
||||
data.forEach((item) => {
|
||||
if (item == 1) {
|
||||
this.form.isLandTrans = 0
|
||||
} else if (item == 2) {
|
||||
this.form.isAirTrans = 0
|
||||
} else if (item == 3) {
|
||||
this.form.isOceanTrans = 0
|
||||
}
|
||||
})
|
||||
},
|
||||
getTeamList(val) {
|
||||
if (val == 5) {
|
||||
this.form.waresAuthorityList = [
|
||||
{
|
||||
authorityType: 5,
|
||||
memberCode: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
getPostageList() {
|
||||
// 陆运
|
||||
api.getPostageList({ tranType: 1 }).then((res) => {
|
||||
this.postMoneyList1 = res.data
|
||||
})
|
||||
// 空运
|
||||
api.getPostageList({ tranType: 2 }).then((res) => {
|
||||
this.postMoneyList2 = res.data
|
||||
})
|
||||
// 海运
|
||||
api.getPostageList({ tranType: 3 }).then((res) => {
|
||||
this.postMoneyList3 = res.data
|
||||
})
|
||||
},
|
||||
getAgreementList() {
|
||||
api.getAgreementList().then((res) => {
|
||||
this.agreementList = res.data
|
||||
})
|
||||
},
|
||||
// 四个标签
|
||||
labelAll() {
|
||||
// 前缀标签
|
||||
api.labelAll({ labelType: 1 }).then((res) => {
|
||||
this.qzList = res.data
|
||||
})
|
||||
// 酷炫标签
|
||||
api.labelAll({ labelType: 2 }).then((res) => {
|
||||
this.kxList = res.data
|
||||
})
|
||||
// 保障标签
|
||||
api.labelAll({ labelType: 3 }).then((res) => {
|
||||
this.bzList = res.data
|
||||
})
|
||||
// 卖点标签
|
||||
api.labelAll({ labelType: 4 }).then((res) => {
|
||||
this.mdList = res.data
|
||||
})
|
||||
},
|
||||
// 供应方式
|
||||
supply_way() {
|
||||
api.supply_way().then((res) => {
|
||||
this.gyList = res.data
|
||||
})
|
||||
},
|
||||
// 查询预售状态
|
||||
presale_status() {
|
||||
api.presale_status().then((res) => {
|
||||
this.presaleList = res.data
|
||||
})
|
||||
},
|
||||
// 获取专区
|
||||
getArea() {
|
||||
specialArea().then((res) => {
|
||||
this.areaList = res.data
|
||||
})
|
||||
},
|
||||
getImg1(data) {
|
||||
this.form.videoUrl = data
|
||||
},
|
||||
delImg1() {},
|
||||
getImg2(data) {
|
||||
this.form.cover = data
|
||||
},
|
||||
delImg2() {},
|
||||
getImg3(data) {
|
||||
this.form.cover1 = data
|
||||
},
|
||||
delImg3() {},
|
||||
getImg4(data) {
|
||||
this.form.cover2 = data
|
||||
},
|
||||
delImg4() {},
|
||||
getImg5(data) {
|
||||
this.form.cover3 = data
|
||||
},
|
||||
delImg5() {},
|
||||
getImg6(data) {
|
||||
this.form.cover4 = data
|
||||
},
|
||||
delImg6() {},
|
||||
getImg7(data) {
|
||||
this.form.cover5 = data
|
||||
},
|
||||
delImg7() {},
|
||||
getImg8(data) {
|
||||
this.form.cover6 = data
|
||||
},
|
||||
delImg8() {},
|
||||
removeGg(index) {
|
||||
this.form.waresSpecsPackList.splice(index, 1)
|
||||
},
|
||||
removeTeamPz(index) {
|
||||
this.form.waresAuthorityList.splice(index, 1)
|
||||
},
|
||||
getRangList(data) {
|
||||
this.form.waresRangeList = data
|
||||
},
|
||||
// 商品分类赋值
|
||||
flChange(value) {
|
||||
this.form.pkAreaClassify = value[value.length - 1]
|
||||
},
|
||||
getXYList() {
|
||||
api.getEWaresPermissionTypeList().then((res) => {
|
||||
this.xyList = res.data
|
||||
})
|
||||
},
|
||||
addTeamPz() {
|
||||
this.form.waresAuthorityList.push({
|
||||
kjlx: '',
|
||||
teamOrder: ''
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
|
@ -28,7 +28,7 @@
|
|||
:model="form"
|
||||
:rules="rules"
|
||||
style="width:1200px"
|
||||
label-width="100px"
|
||||
label-width="120px"
|
||||
>
|
||||
<el-row :gutter="40">
|
||||
<el-col :span="16">
|
||||
|
@ -98,7 +98,7 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
:label="'商品业绩'+`(${isLocals()})`"
|
||||
label="商品业绩"
|
||||
prop="waresAchieve"
|
||||
>
|
||||
<el-input
|
||||
|
@ -139,6 +139,39 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<template v-if="form.specialArea === 14">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="库存数量" prop="inventory">
|
||||
<el-input-number v-model="form.inventory" style="width: 100%" :min="0" :max="999999999" :controls="false" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="已用库存数量" prop="inventoryUse">
|
||||
<el-input v-model="form.inventoryUse" readonly>
|
||||
<el-button slot="append" style="background-color: #409EFF; color: #fff; border-color: #409EFF" type="primary" @click="resetInventoryUse">
|
||||
重置
|
||||
</el-button>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="库存倒计时比例" prop="inventoryRatio">
|
||||
<el-input v-model="form.inventoryRatio" style="width: 100%">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="会员总限购" prop="memberLimit">
|
||||
<el-input-number v-model="form.memberLimit" style="width: 100%" :min="0" :max="999999999" :controls="false" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="会员月限购" prop="memberMonthLimit">
|
||||
<el-input-number v-model="form.memberMonthLimit" style="width: 100%" :min="0" :max="999999999" :controls="false" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
:label="'商品分类'"
|
||||
|
@ -940,260 +973,25 @@ import Editor from '@/components/Editor'
|
|||
import Cpmx from '@/views/goodsManage/goodsList/goodsEdit/cpmx.vue'
|
||||
import Ggmx from '@/views/goodsManage/goodsList/goodsEdit/ggmx.vue'
|
||||
import Jcpz from '@/views/goodsManage/goodsList/goodsEdit/jcpz.vue'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import UpDataImg from '@/components/upDataImg'
|
||||
import * as api from '@/api/product.js'
|
||||
import { specialArea } from '@/api/configManage'
|
||||
import ImageUpload from '@/components/ImageUpload'
|
||||
import { isLocals } from '@/utils/numberToCurrency'
|
||||
import { getAwardsListChiose } from '@/api/level'
|
||||
import jcszMixins from '@/views/goodsManage/common/jcsz-mixins'
|
||||
export default {
|
||||
name: 'Jcsz',
|
||||
components: {
|
||||
ImageUpload,
|
||||
Editor,
|
||||
UpDataImg,
|
||||
Jcpz,
|
||||
Cpmx,
|
||||
Ggmx
|
||||
},
|
||||
mixins: [jcszMixins],
|
||||
data() {
|
||||
return {
|
||||
isMakerGift: 1,
|
||||
levelAll: false,
|
||||
gradeAll: false,
|
||||
// 产品明细
|
||||
cpList: [],
|
||||
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
|
||||
headers: {
|
||||
Authorization: getToken()
|
||||
},
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
form: {
|
||||
waresGradeIds: [],
|
||||
waresAwardsIds: [],
|
||||
sales: '',
|
||||
sortStatus: 0,
|
||||
sort: '',
|
||||
sptw: '',
|
||||
ysList: [],
|
||||
bzList: [],
|
||||
pkGuaranteeLabel: [],
|
||||
specialArea: '',
|
||||
checkList: [],
|
||||
waresMemberAuthorizeList: [],
|
||||
waresAuthorityList: [
|
||||
{
|
||||
authorityType: 5,
|
||||
memberCode: ''
|
||||
}
|
||||
],
|
||||
waresSpecsPackList: [{ key: '', value: '' }]
|
||||
},
|
||||
moren: '/goodsManage/goodsRelease/jcsz',
|
||||
tabActive: 0,
|
||||
waresDetailList: [],
|
||||
waresSpecsSkuList: [],
|
||||
waresRangeList: [],
|
||||
agreeList: [
|
||||
{
|
||||
text: '允许',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '禁止',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
// 套餐类型
|
||||
tcList: [
|
||||
{
|
||||
text: '套装',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '单品',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
postList: [
|
||||
{
|
||||
text: '包邮',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '不包邮',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
xsList: [
|
||||
{
|
||||
text: '允许出售',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '禁止出售',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
isTj: [
|
||||
{
|
||||
label: '推荐',
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
label: '不推荐',
|
||||
value: 1
|
||||
}
|
||||
],
|
||||
topList: [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
],
|
||||
goodList: [],
|
||||
copyArr: [],
|
||||
// 血缘列表
|
||||
xyList: '',
|
||||
// 海陆空
|
||||
transportTypeList: [],
|
||||
// 商品分类
|
||||
hierarchyList: [],
|
||||
// 所属专区
|
||||
areaList: [],
|
||||
// 预售状态
|
||||
presaleList: [],
|
||||
// 供应方式
|
||||
gyList: [],
|
||||
// 前缀标签
|
||||
qzList: [],
|
||||
// 酷炫标签
|
||||
kxList: [],
|
||||
// 保障标签
|
||||
bzList: [],
|
||||
// 卖点标签
|
||||
mdList: [],
|
||||
// 协议
|
||||
agreementList: [],
|
||||
// 邮费模板
|
||||
postMoneyList1: [],
|
||||
postMoneyList2: [],
|
||||
postMoneyList3: [],
|
||||
rules: {
|
||||
waresName: [
|
||||
{ required: true, message: '请输入商品名称', trigger: 'blur' }
|
||||
],
|
||||
sortStatus: [
|
||||
{ required: true, message: '请选择', trigger: 'change' }
|
||||
],
|
||||
waresCode: [{ required: true, message: '', trigger: 'blur' }],
|
||||
sellingPoints: [
|
||||
{ required: true, message: '请输入商品卖点', trigger: 'blur' }
|
||||
],
|
||||
sales: [{ required: true, message: '请输入商品销量', trigger: 'blur' }],
|
||||
waresPrice: [
|
||||
{ required: true, message: '请输入商品价格', trigger: 'blur' }
|
||||
],
|
||||
waresAchieve: [
|
||||
{ required: true, message: '请输入商品业绩', trigger: 'blur' }
|
||||
],
|
||||
sort: [
|
||||
{ required: true, message: '请输入排列序号', trigger: 'blur' }
|
||||
],
|
||||
pkAreaClassifys: [
|
||||
{ required: true, message: '请选择商品分类', trigger: 'change' }
|
||||
],
|
||||
specialArea: [
|
||||
{ required: true, message: '请选择所属专区', trigger: 'change' }
|
||||
],
|
||||
isPutOn: [
|
||||
{ required: true, message: '请选择上架状态', trigger: 'change' }
|
||||
],
|
||||
operateScope: [
|
||||
{ required: true, message: '请选择供应方式', trigger: 'change' }
|
||||
],
|
||||
preSaleStatus: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择预售状态',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
isSale: [
|
||||
{ required: true, message: '请选择销售状态', trigger: 'change' }
|
||||
],
|
||||
isSingle: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择套餐类型',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
pkAgreement: [
|
||||
{ required: true, message: '请选择补充协议', trigger: 'change' }
|
||||
],
|
||||
isFreeMail: [
|
||||
{ required: true, message: '请选择包邮类型', trigger: 'change' }
|
||||
],
|
||||
// videoUrl: [
|
||||
// { required: true, message: '请上传商品视频', trigger: 'blur' }
|
||||
// ],
|
||||
cover: [{ required: true, message: '请上传商品封面', trigger: 'blur' }],
|
||||
cover1: [
|
||||
{ required: true, message: '请上传图片', trigger: 'blur' }
|
||||
],
|
||||
// cover2: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
// cover3: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
// cover4: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
details: [
|
||||
{ required: true, message: '请输入商品详情', trigger: 'blur' }
|
||||
],
|
||||
afterGuarantee: [
|
||||
{ required: true, message: '请输入售后保障', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
pkId: '',
|
||||
methods: 1,
|
||||
levelList: [],
|
||||
yesNo: [],
|
||||
specialCurrency: [],
|
||||
waresTypeList: [],
|
||||
awardsList: [],
|
||||
authorityList: [],
|
||||
sortList: []
|
||||
moren: '/goodsManage/goodsRelease/jcsz'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -1230,75 +1028,6 @@ export default {
|
|||
// },
|
||||
methods: {
|
||||
isLocals,
|
||||
getOther() {
|
||||
api.get_sort().then((res) => {
|
||||
this.sortList = res.data
|
||||
})
|
||||
api.yes_no().then((res) => {
|
||||
this.yesNo = res.data
|
||||
})
|
||||
api.wares_type().then((res) => {
|
||||
this.waresTypeList = res.data
|
||||
})
|
||||
api.special_currency().then((res) => {
|
||||
this.specialCurrency = res.data
|
||||
})
|
||||
getAwardsListChiose().then((res) => {
|
||||
this.awardsList = res.rows
|
||||
})
|
||||
api.ERegistrationAuthority().then((res) => {
|
||||
this.authorityList = res.data
|
||||
})
|
||||
},
|
||||
// getWaresSort() {
|
||||
// api.waresSort().then((res) => {
|
||||
// this.form.sort = res.data
|
||||
// })
|
||||
// },
|
||||
getLevel(e) {
|
||||
if (e) {
|
||||
const levelArr = this.levelList.map((item) => {
|
||||
return item.pkId
|
||||
})
|
||||
this.form.waresGradeIds = levelArr
|
||||
} else {
|
||||
this.form.waresGradeIds = []
|
||||
}
|
||||
},
|
||||
getLevelAll(e) {
|
||||
if (e.length == this.levelList.length) {
|
||||
this.levelAll = true
|
||||
} else {
|
||||
this.levelAll = false
|
||||
}
|
||||
},
|
||||
getGrade(e) {
|
||||
if (e) {
|
||||
const gradeArr = this.awardsList.map((item) => {
|
||||
return item.pkId
|
||||
})
|
||||
this.form.waresAwardsIds = gradeArr
|
||||
} else {
|
||||
this.form.waresAwardsIds = []
|
||||
}
|
||||
},
|
||||
getGradeAll(e) {
|
||||
if (e.length == this.awardsList.length) {
|
||||
this.gradeAll = true
|
||||
} else {
|
||||
this.gradeAll = false
|
||||
}
|
||||
},
|
||||
getRangeList() {
|
||||
api.rangeList().then((res) => {
|
||||
this.levelList = res.data
|
||||
})
|
||||
},
|
||||
getWaresCode() {
|
||||
api.getWaresCode().then((res) => {
|
||||
this.form.waresCode = res.msg
|
||||
})
|
||||
},
|
||||
getEduitdata() {
|
||||
api
|
||||
.waresDetail({
|
||||
|
@ -1352,48 +1081,7 @@ export default {
|
|||
// 排序
|
||||
// this.getWaresSort()
|
||||
}
|
||||
if (
|
||||
this.form.specialArea == 3 ||
|
||||
this.form.specialArea == 26 ||
|
||||
this.form.specialArea == 12 ||
|
||||
this.form.specialArea == 22 ||
|
||||
this.form.specialArea == 14
|
||||
) {
|
||||
this.topList = [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
{
|
||||
name: '级差配置',
|
||||
id: 4
|
||||
},
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
]
|
||||
}
|
||||
this.setTopList(this.form.specialArea)
|
||||
setTimeout(() => {
|
||||
that.$refs.box.scrollTop = 0
|
||||
}, 50)
|
||||
|
@ -1443,202 +1131,7 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
getTrans(data) {
|
||||
this.form.isLandTrans = ''
|
||||
this.form.isAirTrans = ''
|
||||
this.form.isOceanTrans = ''
|
||||
data.forEach((item) => {
|
||||
if (item == 1) {
|
||||
this.form.isLandTrans = 0
|
||||
} else if (item == 2) {
|
||||
this.form.isAirTrans = 0
|
||||
} else if (item == 3) {
|
||||
this.form.isOceanTrans = 0
|
||||
}
|
||||
})
|
||||
},
|
||||
getTeamList(val) {
|
||||
if (val == 5) {
|
||||
this.form.waresAuthorityList = [
|
||||
{
|
||||
authorityType: 5,
|
||||
memberCode: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
getPostageList() {
|
||||
// 陆运
|
||||
api.getPostageList({ tranType: 1 }).then((res) => {
|
||||
this.postMoneyList1 = res.data
|
||||
})
|
||||
// 空运
|
||||
api.getPostageList({ tranType: 2 }).then((res) => {
|
||||
this.postMoneyList2 = res.data
|
||||
})
|
||||
// 海运
|
||||
api.getPostageList({ tranType: 3 }).then((res) => {
|
||||
this.postMoneyList3 = res.data
|
||||
})
|
||||
},
|
||||
getAgreementList() {
|
||||
api.getAgreementList().then((res) => {
|
||||
this.agreementList = res.data
|
||||
})
|
||||
},
|
||||
// 四个标签
|
||||
labelAll() {
|
||||
// 前缀标签
|
||||
api.labelAll({ labelType: 1 }).then((res) => {
|
||||
this.qzList = res.data
|
||||
})
|
||||
// 酷炫标签
|
||||
api.labelAll({ labelType: 2 }).then((res) => {
|
||||
this.kxList = res.data
|
||||
})
|
||||
// 保障标签
|
||||
api.labelAll({ labelType: 3 }).then((res) => {
|
||||
this.bzList = res.data
|
||||
})
|
||||
// 卖点标签
|
||||
api.labelAll({ labelType: 4 }).then((res) => {
|
||||
this.mdList = res.data
|
||||
})
|
||||
},
|
||||
// 供应方式
|
||||
supply_way() {
|
||||
api.supply_way().then((res) => {
|
||||
this.gyList = res.data
|
||||
})
|
||||
},
|
||||
// 查询预售状态
|
||||
presale_status() {
|
||||
api.presale_status().then((res) => {
|
||||
this.presaleList = res.data
|
||||
})
|
||||
},
|
||||
// 获取专区
|
||||
getArea() {
|
||||
specialArea().then((res) => {
|
||||
this.areaList = res.data
|
||||
})
|
||||
},
|
||||
// 商品分类赋值
|
||||
flChange(value) {
|
||||
console.log(
|
||||
'%c [ value ]-827',
|
||||
'font-size:13px; background:#7eb846; color:#c2fc8a;',
|
||||
value
|
||||
)
|
||||
this.form.pkAreaClassify = value[value.length - 1]
|
||||
},
|
||||
selSpecial(e) {
|
||||
this.get_hierarchy_list(e)
|
||||
if (e == 3 || e == 26 || e == 12 || e == 22 || e == 14) {
|
||||
this.$set(this, 'topList', [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
{
|
||||
name: '级差配置',
|
||||
id: 4
|
||||
},
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
])
|
||||
} else {
|
||||
this.$set(this, 'topList', [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
// 查询分类父子级关系
|
||||
get_hierarchy_list(val) {
|
||||
api
|
||||
.get_hierarchy_list({
|
||||
specialArea: val || null
|
||||
})
|
||||
.then((res) => {
|
||||
this.hierarchyList = res.data
|
||||
})
|
||||
},
|
||||
// 运输方式
|
||||
getTransportType() {
|
||||
api.transportType().then((res) => {
|
||||
this.transportTypeList = res.data
|
||||
})
|
||||
},
|
||||
getXYList() {
|
||||
api.getEWaresPermissionTypeList().then((res) => {
|
||||
this.xyList = res.data
|
||||
})
|
||||
},
|
||||
addTeamPz() {
|
||||
this.form.waresAuthorityList.push({
|
||||
kjlx: '',
|
||||
teamOrder: ''
|
||||
})
|
||||
},
|
||||
removeGg(index) {
|
||||
this.form.waresSpecsPackList.splice(index, 1)
|
||||
},
|
||||
removeTeamPz(index) {
|
||||
this.form.waresAuthorityList.splice(index, 1)
|
||||
},
|
||||
getRangList(data) {
|
||||
this.form.waresRangeList = data
|
||||
},
|
||||
// 切换tab
|
||||
handleLink(id) {
|
||||
if (id == 2) {
|
||||
|
@ -1689,8 +1182,6 @@ export default {
|
|||
mdChange(val) {
|
||||
this.form.pkSellingPoint = val
|
||||
},
|
||||
// 多选框
|
||||
changeYsfs() {},
|
||||
// 获取产品明细数组内容
|
||||
getTableList(data) {
|
||||
this.form.waresDetailList = data
|
||||
|
@ -1703,38 +1194,21 @@ export default {
|
|||
})
|
||||
this.$refs.ggmxed.getData(this.cpList, this.form.specialArea)
|
||||
},
|
||||
getImg1(data) {
|
||||
this.form.videoUrl = data
|
||||
},
|
||||
delImg1() {},
|
||||
getImg2(data) {
|
||||
this.form.cover = data
|
||||
},
|
||||
delImg2() {},
|
||||
getImg3(data) {
|
||||
this.form.cover1 = data
|
||||
},
|
||||
delImg3() {},
|
||||
getImg4(data) {
|
||||
this.form.cover2 = data
|
||||
},
|
||||
delImg4() {},
|
||||
getImg5(data) {
|
||||
this.form.cover3 = data
|
||||
},
|
||||
delImg5() {},
|
||||
getImg6(data) {
|
||||
this.form.cover4 = data
|
||||
},
|
||||
delImg6() {},
|
||||
getImg7(data) {
|
||||
this.form.cover5 = data
|
||||
},
|
||||
delImg7() {},
|
||||
getImg8(data) {
|
||||
this.form.cover6 = data
|
||||
},
|
||||
delImg8() {}
|
||||
resetInventoryUse() {
|
||||
this.$confirm('确定重置库存吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
api.resetInventoryUse({
|
||||
waresId: this.form.waresId
|
||||
}).then((res) => {
|
||||
if (res.code === 200) {
|
||||
this.form.inventoryUse = 0
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -1744,6 +1218,9 @@ export default {
|
|||
.el-cascader {
|
||||
width: 100%;
|
||||
}
|
||||
::v-deep .el-input-group__append {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
::v-deep .el-date-editor.el-input,
|
||||
.el-date-editor.el-input__inner {
|
||||
|
@ -1793,6 +1270,7 @@ export default {
|
|||
overflow: hidden;
|
||||
background: #f9f9f9;
|
||||
padding-top: 20px;
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.main {
|
||||
|
|
|
@ -487,9 +487,13 @@
|
|||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="actualSales"
|
||||
:label="'实际销量'"
|
||||
/>
|
||||
prop="inventoryUse"
|
||||
label="实际销量"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ (scope.row.inventoryUse || scope.row.inventoryUse === 0) ? scope.row.inventoryUse : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
:rules="rules"
|
||||
:model="form"
|
||||
style="width:1200px"
|
||||
label-width="auto"
|
||||
label-width="120px"
|
||||
>
|
||||
<el-row :gutter="40">
|
||||
<el-col :span="16">
|
||||
|
@ -95,7 +95,7 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
:label="'商品业绩'+`(${isLocals()})`"
|
||||
label="商品业绩"
|
||||
prop="waresAchieve"
|
||||
>
|
||||
<el-input
|
||||
|
@ -134,6 +134,36 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<template v-if="form.specialArea === 14">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="库存数量" prop="inventory">
|
||||
<el-input-number v-model="form.inventory" style="width: 100%" :min="0" :max="999999999" :controls="false" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="已用库存数量" prop="inventoryUse">
|
||||
<el-input-number v-model="form.inventoryUse" readonly :min="0" style="width: 100%" :max="form.inventory || 9999999999" :controls="false" />
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :span="8">
|
||||
<el-form-item label="库存倒计时比例" prop="inventoryRatio">
|
||||
<el-input v-model="form.inventoryRatio" style="width: 100%">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="会员总限购" prop="memberLimit">
|
||||
<el-input-number v-model="form.memberLimit" style="width: 100%" :min="0" :max="999999999" :controls="false" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="会员月限购" prop="memberMonthLimit">
|
||||
<el-input-number v-model="form.memberMonthLimit" style="width: 100%" :min="0" :max="999999999" :controls="false" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
:label="'商品分类'"
|
||||
|
@ -874,262 +904,25 @@ import Editor from '@/components/Editor'
|
|||
import Cpmx from '@/views/goodsManage/goodsRelease/cpmx.vue'
|
||||
import Ggmx from '@/views/goodsManage/goodsRelease/ggmx.vue'
|
||||
import Jcpz from '@/views/goodsManage/goodsRelease/jcpz.vue'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import UpDataImg from '@/components/upDataImg'
|
||||
import * as api from '@/api/product.js'
|
||||
import { specialArea } from '@/api/configManage'
|
||||
import ImageUpload from '@/components/ImageUpload'
|
||||
import { isLocals } from '@/utils/numberToCurrency'
|
||||
import { getAwardsListChiose } from '@/api/level'
|
||||
import jcszMixins from '@/views/goodsManage/common/jcsz-mixins'
|
||||
export default {
|
||||
name: 'Jcsz',
|
||||
components: {
|
||||
ImageUpload,
|
||||
Editor,
|
||||
UpDataImg,
|
||||
Jcpz,
|
||||
Cpmx,
|
||||
Ggmx
|
||||
},
|
||||
mixins: [jcszMixins],
|
||||
data() {
|
||||
return {
|
||||
levelAll: false,
|
||||
gradeAll: false,
|
||||
// 产品明细
|
||||
cpList: [],
|
||||
uploadImgUrl: process.env.VUE_APP_BASE_API + '/system/upload',
|
||||
headers: {
|
||||
Authorization: getToken()
|
||||
},
|
||||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
form: {
|
||||
isMakerGift: 1,
|
||||
waresGradeIds: [],
|
||||
waresAwardsIds: [],
|
||||
sales: '',
|
||||
sortStatus: 0,
|
||||
waresCode: '',
|
||||
sort: '',
|
||||
sptw: '',
|
||||
ysList: [],
|
||||
bzList: [],
|
||||
pkGuaranteeLabel: [],
|
||||
specialArea: '',
|
||||
checkList: [],
|
||||
waresMemberAuthorizeList: [],
|
||||
waresAuthorityList: [
|
||||
{
|
||||
authorityType: 5,
|
||||
memberCode: ''
|
||||
}
|
||||
],
|
||||
waresSpecsPackList: [{ key: '', value: '' }]
|
||||
},
|
||||
moren: '/goodsManage/goodsRelease/jcsz',
|
||||
tabActive: 0,
|
||||
agreeList: [
|
||||
{
|
||||
text: '允许',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '禁止',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
// 套餐类型
|
||||
tcList: [
|
||||
{
|
||||
text: '套装',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '单品',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
postList: [
|
||||
{
|
||||
text: '包邮',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '不包邮',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
isTj: [
|
||||
{
|
||||
label: '推荐',
|
||||
value: 0
|
||||
},
|
||||
{
|
||||
label: '不推荐',
|
||||
value: 1
|
||||
}
|
||||
],
|
||||
xsList: [
|
||||
{
|
||||
text: '允许出售',
|
||||
val: 0
|
||||
},
|
||||
{
|
||||
text: '禁止出售',
|
||||
val: 1
|
||||
}
|
||||
],
|
||||
topList: [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
// {
|
||||
// name: '级差配置',
|
||||
// id: 4,
|
||||
// },
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
],
|
||||
goodList: [],
|
||||
copyArr: [],
|
||||
// 血缘列表
|
||||
xyList: '',
|
||||
// 海陆空
|
||||
transportTypeList: [],
|
||||
// 商品分类
|
||||
hierarchyList: [],
|
||||
// 所属专区
|
||||
areaList: [],
|
||||
// 预售状态
|
||||
presaleList: [],
|
||||
// 供应方式
|
||||
gyList: [],
|
||||
// 前缀标签
|
||||
qzList: [],
|
||||
// 酷炫标签
|
||||
kxList: [],
|
||||
// 保障标签
|
||||
bzList: [],
|
||||
// 卖点标签
|
||||
mdList: [],
|
||||
// 协议
|
||||
agreementList: [],
|
||||
// 邮费模板
|
||||
postMoneyList1: [],
|
||||
postMoneyList2: [],
|
||||
postMoneyList3: [],
|
||||
levelList: [],
|
||||
rules: {
|
||||
waresName: [
|
||||
{ required: true, message: '请输入商品名称', trigger: 'blur' }
|
||||
],
|
||||
sortStatus: [
|
||||
{ required: true, message: '请选择', trigger: 'change' }
|
||||
],
|
||||
waresCode: [
|
||||
{ required: true, message: '请输入商品编码', trigger: 'blur' }
|
||||
],
|
||||
sellingPoints: [
|
||||
{ required: true, message: '请输入商品卖点', trigger: 'blur' }
|
||||
],
|
||||
sales: [{ required: true, message: '请输入商品销量', trigger: 'blur' }],
|
||||
waresPrice: [
|
||||
{ required: true, message: '请输入商品价格', trigger: 'blur' }
|
||||
],
|
||||
waresAchieve: [
|
||||
{ required: true, message: '请输入商品业绩', trigger: 'blur' }
|
||||
],
|
||||
sort: [
|
||||
{ required: true, message: '请输入排列序号', trigger: 'blur' }
|
||||
],
|
||||
pkAreaClassifys: [
|
||||
{ required: true, message: '请选择商品分类', trigger: 'change' }
|
||||
],
|
||||
specialArea: [
|
||||
{ required: true, message: '请选择所属专区', trigger: 'change' }
|
||||
],
|
||||
isPutOn: [
|
||||
{ required: true, message: '请选择上架状态', trigger: 'change' }
|
||||
],
|
||||
operateScope: [
|
||||
{ required: true, message: '请选择供应方式', trigger: 'change' }
|
||||
],
|
||||
preSaleStatus: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择预售状态',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
isSale: [
|
||||
{ required: true, message: '请选择销售状态', trigger: 'change' }
|
||||
],
|
||||
isSingle: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择套餐类型',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
pkAgreement: [
|
||||
{ required: true, message: '请选择补充协议', trigger: 'change' }
|
||||
],
|
||||
isFreeMail: [
|
||||
{ required: true, message: '请选择包邮类型', trigger: 'change' }
|
||||
],
|
||||
// videoUrl: [
|
||||
// { required: true, message: '请上传商品视频', trigger: 'blur' }
|
||||
// ],
|
||||
cover: [{ required: true, message: '请上传商品封面', trigger: 'blur' }],
|
||||
cover1: [
|
||||
{ required: true, message: '请上传图片', trigger: 'blur' }
|
||||
],
|
||||
// cover2: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
// cover3: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
// cover4: [
|
||||
// { required: true, message: '请上传图片', trigger: 'blur' }
|
||||
// ],
|
||||
details: [
|
||||
{ required: true, message: '请输入商品详情', trigger: 'blur' }
|
||||
],
|
||||
afterGuarantee: [
|
||||
{ required: true, message: '请输入售后保障', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
yesNo: [],
|
||||
waresTypeList: [],
|
||||
specialCurrency: [],
|
||||
awardsList: [],
|
||||
authorityList: [],
|
||||
isTrue: false,
|
||||
sortList: []
|
||||
isTrue: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -1172,75 +965,6 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
getOther() {
|
||||
api.get_sort().then((res) => {
|
||||
this.sortList = res.data
|
||||
})
|
||||
api.yes_no().then((res) => {
|
||||
this.yesNo = res.data
|
||||
})
|
||||
api.wares_type().then((res) => {
|
||||
this.waresTypeList = res.data
|
||||
})
|
||||
api.special_currency().then((res) => {
|
||||
this.specialCurrency = res.data
|
||||
})
|
||||
getAwardsListChiose().then((res) => {
|
||||
this.awardsList = res.rows
|
||||
})
|
||||
api.ERegistrationAuthority().then((res) => {
|
||||
this.authorityList = res.data
|
||||
})
|
||||
},
|
||||
// getWaresSort() {
|
||||
// api.waresSort().then((res) => {
|
||||
// this.form.sort = res.data
|
||||
// })
|
||||
// },
|
||||
getLevel(e) {
|
||||
if (e) {
|
||||
const levelArr = this.levelList.map((item) => {
|
||||
return item.pkId
|
||||
})
|
||||
this.form.waresGradeIds = levelArr
|
||||
} else {
|
||||
this.form.waresGradeIds = []
|
||||
}
|
||||
},
|
||||
getLevelAll(e) {
|
||||
if (e.length == this.levelList.length) {
|
||||
this.levelAll = true
|
||||
} else {
|
||||
this.levelAll = false
|
||||
}
|
||||
},
|
||||
getGrade(e) {
|
||||
if (e) {
|
||||
const gradeArr = this.awardsList.map((item) => {
|
||||
return item.pkId
|
||||
})
|
||||
this.form.waresAwardsIds = gradeArr
|
||||
} else {
|
||||
this.form.waresAwardsIds = []
|
||||
}
|
||||
},
|
||||
getGradeAll(e) {
|
||||
if (e.length == this.awardsList.length) {
|
||||
this.gradeAll = true
|
||||
} else {
|
||||
this.gradeAll = false
|
||||
}
|
||||
},
|
||||
getRangeList() {
|
||||
api.rangeList().then((res) => {
|
||||
this.levelList = res.data
|
||||
})
|
||||
},
|
||||
getWaresCode() {
|
||||
api.getWaresCode().then((res) => {
|
||||
this.form.waresCode = res.msg
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.$router.go(-1)
|
||||
},
|
||||
|
@ -1288,207 +1012,6 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
getTrans(data) {
|
||||
this.form.isLandTrans = ''
|
||||
this.form.isAirTrans = ''
|
||||
this.form.isOceanTrans = ''
|
||||
data.forEach((item) => {
|
||||
if (item == 1) {
|
||||
this.form.isLandTrans = 0
|
||||
} else if (item == 2) {
|
||||
this.form.isAirTrans = 0
|
||||
} else if (item == 3) {
|
||||
this.form.isOceanTrans = 0
|
||||
}
|
||||
})
|
||||
},
|
||||
getTeamList(val) {
|
||||
if (val == 5) {
|
||||
this.form.waresAuthorityList = [
|
||||
{
|
||||
authorityType: 5,
|
||||
memberCode: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
getPostageList() {
|
||||
// 陆运
|
||||
api.getPostageList({ tranType: 1 }).then((res) => {
|
||||
this.postMoneyList1 = res.data
|
||||
})
|
||||
// 空运
|
||||
api.getPostageList({ tranType: 2 }).then((res) => {
|
||||
this.postMoneyList2 = res.data
|
||||
})
|
||||
// 海运
|
||||
api.getPostageList({ tranType: 3 }).then((res) => {
|
||||
this.postMoneyList3 = res.data
|
||||
})
|
||||
},
|
||||
getAgreementList() {
|
||||
api.getAgreementList().then((res) => {
|
||||
this.agreementList = res.data
|
||||
})
|
||||
},
|
||||
// 四个标签
|
||||
labelAll() {
|
||||
// 前缀标签
|
||||
api.labelAll({ labelType: 1 }).then((res) => {
|
||||
this.qzList = res.data
|
||||
})
|
||||
// 酷炫标签
|
||||
api.labelAll({ labelType: 2 }).then((res) => {
|
||||
this.kxList = res.data
|
||||
})
|
||||
// 保障标签
|
||||
api.labelAll({ labelType: 3 }).then((res) => {
|
||||
this.bzList = res.data
|
||||
})
|
||||
// 卖点标签
|
||||
api.labelAll({ labelType: 4 }).then((res) => {
|
||||
this.mdList = res.data
|
||||
})
|
||||
},
|
||||
// 供应方式
|
||||
supply_way() {
|
||||
api.supply_way().then((res) => {
|
||||
this.gyList = res.data
|
||||
})
|
||||
},
|
||||
// 查询预售状态
|
||||
presale_status() {
|
||||
api.presale_status().then((res) => {
|
||||
this.presaleList = res.data
|
||||
})
|
||||
},
|
||||
// 获取专区
|
||||
getArea() {
|
||||
specialArea().then((res) => {
|
||||
this.areaList = res.data
|
||||
})
|
||||
},
|
||||
// 商品分类赋值
|
||||
flChange(value) {
|
||||
console.log(
|
||||
'%c [ form.pkAreaClassifys ]-770',
|
||||
'font-size:13px; background:#42289a; color:#866cde;',
|
||||
this.form.pkAreaClassifys
|
||||
)
|
||||
this.form.pkAreaClassify = value[value.length - 1]
|
||||
},
|
||||
selSpecial(e) {
|
||||
this.get_hierarchy_list(e)
|
||||
if (e == 3 || e == 26 || e == 12 || e == 22 || e == 14) {
|
||||
this.$set(this, 'topList', [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
{
|
||||
name: '级差配置',
|
||||
id: 4
|
||||
},
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
])
|
||||
} else {
|
||||
this.$set(this, 'topList', [
|
||||
{
|
||||
name: '基础设置',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '产品明细',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '规格明细',
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
name: '团队配置',
|
||||
id: 3
|
||||
},
|
||||
|
||||
{
|
||||
name: '等级配置',
|
||||
id: 5
|
||||
},
|
||||
{
|
||||
name: '奖衔配置',
|
||||
id: 6
|
||||
},
|
||||
{
|
||||
name: '商品权限',
|
||||
id: 7
|
||||
}
|
||||
])
|
||||
}
|
||||
},
|
||||
// 查询分类父子级关系
|
||||
get_hierarchy_list(val) {
|
||||
api
|
||||
.get_hierarchy_list({
|
||||
specialArea: val || null
|
||||
})
|
||||
.then((res) => {
|
||||
this.hierarchyList = res.data
|
||||
})
|
||||
},
|
||||
// 运输方式
|
||||
getTransportType() {
|
||||
api.transportType().then((res) => {
|
||||
this.transportTypeList = res.data
|
||||
})
|
||||
},
|
||||
getXYList() {
|
||||
api.getEWaresPermissionTypeList().then((res) => {
|
||||
console.log(
|
||||
'%c [ res ]-451',
|
||||
'font-size:13px; background:#73d160; color:#b7ffa4;',
|
||||
res
|
||||
)
|
||||
this.xyList = res.data
|
||||
})
|
||||
},
|
||||
addTeamPz() {
|
||||
this.form.waresAuthorityList.push({
|
||||
kjlx: '',
|
||||
teamOrder: ''
|
||||
})
|
||||
},
|
||||
removeGg(index) {
|
||||
this.form.waresSpecsPackList.splice(index, 1)
|
||||
},
|
||||
removeTeamPz(index) {
|
||||
this.form.waresAuthorityList.splice(index, 1)
|
||||
},
|
||||
getRangList(data) {
|
||||
this.form.waresRangeList = data
|
||||
},
|
||||
// 切换tab
|
||||
handleLink(id) {
|
||||
if (id == 2) {
|
||||
|
@ -1540,11 +1063,8 @@ export default {
|
|||
// console.log('%c [ val ]-828', 'font-size:13px; background:#f8a68c; color:#ffead0;', val)
|
||||
// this.form.pkSellingPoint = val
|
||||
// },
|
||||
// 多选框
|
||||
changeYsfs() {},
|
||||
// 获取产品明细数组内容
|
||||
getTableList(data, isTrue) {
|
||||
console.log('%c [ data ]-1313', 'font-size:13px; background:#442827; color:#886c6b;', data)
|
||||
this.isTrue = isTrue
|
||||
this.form.waresDetailList = data
|
||||
this.cpList = data.map((item) => {
|
||||
|
@ -1554,39 +1074,7 @@ export default {
|
|||
quantity: item.quantity
|
||||
}
|
||||
})
|
||||
},
|
||||
getImg1(data) {
|
||||
this.form.videoUrl = data
|
||||
},
|
||||
delImg1() {},
|
||||
getImg2(data) {
|
||||
this.form.cover = data
|
||||
},
|
||||
delImg2() {},
|
||||
getImg3(data) {
|
||||
this.form.cover1 = data
|
||||
},
|
||||
delImg3() {},
|
||||
getImg4(data) {
|
||||
this.form.cover2 = data
|
||||
},
|
||||
delImg4() {},
|
||||
getImg5(data) {
|
||||
this.form.cover3 = data
|
||||
},
|
||||
delImg5() {},
|
||||
getImg6(data) {
|
||||
this.form.cover4 = data
|
||||
},
|
||||
delImg6() {},
|
||||
getImg7(data) {
|
||||
this.form.cover5 = data
|
||||
},
|
||||
delImg7() {},
|
||||
getImg8(data) {
|
||||
this.form.cover6 = data
|
||||
},
|
||||
delImg8() {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -1595,6 +1083,12 @@ export default {
|
|||
.el-cascader {
|
||||
width: 100%;
|
||||
}
|
||||
::v-deep .el-input-group__append {
|
||||
background-color: transparent;
|
||||
}
|
||||
::v-deep .el-input-number {
|
||||
width: 100% !important;
|
||||
}
|
||||
::v-deep .el-date-editor.el-input,
|
||||
.el-date-editor.el-input__inner {
|
||||
width: 100%;
|
||||
|
|
Loading…
Reference in New Issue