forked from angelo/web-retail-admin
1836 lines
54 KiB
Vue
1836 lines
54 KiB
Vue
<!--
|
|
* @Descripttion:
|
|
* @version:
|
|
* @Author: kBank
|
|
* @Date: 2022-10-26 17:12:12
|
|
-->
|
|
<template>
|
|
<div class="page" style="padding-left: 0 !important;">
|
|
<div class="topbox">
|
|
<div
|
|
v-for="(item, index) in topList"
|
|
:key="index"
|
|
class="levelList_i"
|
|
:class="tabActive == item.id ? 'act' : ''"
|
|
@click.prevent="handleLink(item.id)"
|
|
>
|
|
{{ item.name }}
|
|
</div>
|
|
</div>
|
|
<div class="main">
|
|
<div ref="box" class="contain">
|
|
<div v-show="tabActive == 0">
|
|
<el-form
|
|
ref="form"
|
|
:model="form"
|
|
:rules="rules"
|
|
style="width: 1200px"
|
|
label-width="120px"
|
|
>
|
|
<el-row :gutter="40">
|
|
<el-col :span="16">
|
|
<el-form-item :label="'商品名称'" prop="waresName">
|
|
<el-input
|
|
v-model="form.waresName"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
maxlength="100"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'商品编码'" prop="waresCode">
|
|
<el-input
|
|
v-model="form.waresCode"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="16">
|
|
<el-form-item :label="'商品卖点'" prop="sellingPoints">
|
|
<el-input
|
|
v-model="form.sellingPoints"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'虚拟销量'" prop="sales">
|
|
<el-input
|
|
v-model="form.sales"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
oninput="value=value.replace(/[^\d]/g,'')"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'商品价格'" prop="waresPrice">
|
|
<el-input
|
|
v-model="form.waresPrice"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item
|
|
:label="'商品业绩' + `(${isLocals()})`"
|
|
prop="waresAchieve"
|
|
>
|
|
<el-input
|
|
v-model="form.waresAchieve"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- <el-col :span="8">
|
|
<el-form-item :label="'排列序号'"
|
|
prop="sort">
|
|
<el-input clearable
|
|
:disabled="methods==0"
|
|
oninput="value = value.replace(/[^\d]/g,'')"
|
|
v-model="form.sort"
|
|
:placeholder="'请输入'"></el-input>
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<el-col :span="8">
|
|
<el-form-item :label="'所属专区'" prop="specialArea">
|
|
<el-select
|
|
v-model="form.specialArea"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
@change="selSpecial"
|
|
>
|
|
<el-option
|
|
v-for="item in areaList"
|
|
:key="item.value"
|
|
:label="item.label "
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- <el-col v-if="form.specialArea == 43" :span="8">
|
|
<el-form-item :label="'复购区域分红'" prop="specialArea">
|
|
<el-input-number
|
|
v-model="form.areaIncome"
|
|
style="width: 100%"
|
|
:controls="false"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<el-col :span="8">
|
|
<el-form-item :label="'商品分类'" prop="pkAreaClassifys">
|
|
<!-- <el-select clearable v-model="form.pkAreaClassify">
|
|
<el-option v-for="item in agreeList"
|
|
:key="item.val"
|
|
:label="item.text"
|
|
:value="item.val"></el-option>
|
|
</el-select> -->
|
|
<el-cascader
|
|
v-model="form.pkAreaClassifys"
|
|
:disabled="methods == 0"
|
|
:show-all-levels="false"
|
|
:options="hierarchyList"
|
|
@change="flChange"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
<el-col :span="8">
|
|
<el-form-item :label="'上架状态'" prop="isPutOn">
|
|
<el-select
|
|
v-model="form.isPutOn"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in agreeList"
|
|
:key="item.val"
|
|
:label="item.text"
|
|
:value="item.val"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'预售状态'" prop="preSaleStatus">
|
|
<el-select
|
|
v-model="form.preSaleStatus"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in presaleList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'供应方式'" prop="operateScope">
|
|
<el-select
|
|
v-model="form.operateScope"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in gyList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'销售状态'" prop="isSale">
|
|
<el-select
|
|
v-model="form.isSale"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in xsList"
|
|
:key="item.val"
|
|
:label="item.text"
|
|
:value="item.val"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'套餐类型'" prop="isSingle">
|
|
<el-select
|
|
v-model="form.isSingle"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in tcList"
|
|
:key="item.val"
|
|
:label="item.text"
|
|
:value="item.val"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'是否推荐'">
|
|
<el-select
|
|
v-model="form.isRecommend"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in isTj"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'前缀标签'">
|
|
<el-select
|
|
v-model="form.pkPrefixLabel"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in qzList"
|
|
:key="item.pkId"
|
|
:label="item.label"
|
|
:value="item.pkId"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'炫酷标签'">
|
|
<el-select
|
|
v-model="form.pkCoolLabel"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in kxList"
|
|
:key="item.pkId"
|
|
:label="item.label"
|
|
:value="item.pkId"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'商品类型'">
|
|
<el-select v-model="form.isMakerGift" clearable>
|
|
<el-option
|
|
v-for="item in waresTypeList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="支付比例">
|
|
<el-select v-model="form.pkSpecialCurrency" clearable>
|
|
<el-option
|
|
v-for="item in specialCurrency"
|
|
:key="item.pkId"
|
|
:label="item.tempName"
|
|
:value="item.pkId"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="是否预售">
|
|
<el-select v-model="form.isPreSale" clearable>
|
|
<el-option
|
|
v-for="item in agreeList"
|
|
:key="item.val"
|
|
:label="item.text"
|
|
:value="item.val"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="预售数量">
|
|
<el-input
|
|
v-model="form.preSaleQuantity"
|
|
clearable
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="商品排序" prop="sortStatus">
|
|
<el-select v-model="form.sortStatus" clearable>
|
|
<el-option
|
|
v-for="item in sortList"
|
|
:key="item.value"
|
|
:label="item.label"
|
|
:value="item.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="上传盒数" prop="boxNum">
|
|
<el-input-number
|
|
v-model="form.boxNum"
|
|
clearable
|
|
:placeholder="'请输入'"
|
|
:controls="false"
|
|
:step="1"
|
|
:min="1"
|
|
:max="1000000"
|
|
step-strictly
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item :label="'保证标签'">
|
|
<el-checkbox-group
|
|
v-model="form.pkGuaranteeLabel"
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-checkbox
|
|
v-for="(item, index) in bzList"
|
|
:key="item.pkId"
|
|
:label="item.pkId"
|
|
>{{ item.label }}</el-checkbox>
|
|
</el-checkbox-group>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'卖点标签'">
|
|
<el-select
|
|
v-model="form.pkSellingPoint"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
multiple
|
|
>
|
|
<el-option
|
|
v-for="item in mdList"
|
|
:key="item.pkId"
|
|
:label="item.label"
|
|
:value="item.pkId"
|
|
@change="mdChange"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'补充协议'">
|
|
<el-select
|
|
v-model="form.pkAgreement"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in agreementList"
|
|
:key="item.pkId"
|
|
:label="item.title"
|
|
:value="item.pkId"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'包邮类型'" prop="isFreeMail">
|
|
<el-select
|
|
v-model="form.isFreeMail"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in postList"
|
|
:key="item.val"
|
|
:label="item.text"
|
|
:value="item.val"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
<div v-show="form.isFreeMail == 1" class="baoyou">
|
|
<el-checkbox-group
|
|
v-model="form.checkList"
|
|
:disabled="methods == 0"
|
|
@change="getTrans"
|
|
>
|
|
<el-checkbox
|
|
v-for="(item, index) in transportTypeList"
|
|
:key="item.value"
|
|
:label="item.value"
|
|
>
|
|
<div>{{ item.label }}</div>
|
|
<el-select
|
|
v-show="item.value == 1"
|
|
v-model="form.pkLandPostage"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in postMoneyList1"
|
|
:key="item.pkId"
|
|
:label="item.tempName"
|
|
:value="item.pkId"
|
|
/>
|
|
</el-select>
|
|
<el-select
|
|
v-show="item.value == 2"
|
|
v-model="form.pkAirPostage"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in postMoneyList2"
|
|
:key="item.pkId"
|
|
:label="item.tempName"
|
|
:value="item.pkId"
|
|
/>
|
|
</el-select>
|
|
<el-select
|
|
v-show="item.value == 3"
|
|
v-model="form.pkOceanPostage"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-option
|
|
v-for="item in postMoneyList3"
|
|
:key="item.pkId"
|
|
:label="item.tempName"
|
|
:value="item.pkId"
|
|
/>
|
|
</el-select>
|
|
</el-checkbox>
|
|
</el-checkbox-group>
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="40">
|
|
<el-col :span="8">
|
|
<el-form-item :label="'上架日期'">
|
|
<el-date-picker
|
|
v-model="form.putOnTime"
|
|
:disabled="methods == 0"
|
|
type="datetime"
|
|
:placeholder="'请选择'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'下架日期'">
|
|
<el-date-picker
|
|
v-model="form.putOffTime"
|
|
:disabled="methods == 0"
|
|
type="datetime"
|
|
:placeholder="'请选择'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'预计发货时间'">
|
|
<el-date-picker
|
|
v-model="form.arrivalTime"
|
|
:disabled="methods == 0"
|
|
type="datetime"
|
|
:placeholder="'请选择'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="自定义标签">
|
|
<el-input
|
|
v-model="form.warnMessage"
|
|
clearable
|
|
:placeholder="'请输入'"
|
|
:maxlength="4"
|
|
:minlength="2"
|
|
show-word-limit
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<template v-if="form.specialArea === 43">
|
|
<el-col :span="8">
|
|
<el-form-item required prop="areaIncome" label="配送收益">
|
|
<el-input
|
|
v-model="form.areaIncome"
|
|
clearable
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
</template>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-form-item label="商品封面" prop="cover">
|
|
<imageUpload v-model="form.cover" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'图片1'" prop="cover1">
|
|
<imageUpload v-model="form.cover1" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'图片2'" prop="cover2">
|
|
<imageUpload v-model="form.cover2" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'图片3'" prop="cover3">
|
|
<imageUpload v-model="form.cover3" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<!-- <el-row>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'图片'" prop="cover4">
|
|
<imageUpload v-model="form.cover4" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'图片'">
|
|
<imageUpload v-model="form.cover5" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item :label="'图片'">
|
|
<imageUpload v-model="form.cover6" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row> -->
|
|
<el-row>
|
|
<el-col :span="24">
|
|
<el-form-item :label="'商品详情'" prop="details">
|
|
<editor
|
|
ref="sptwEditor1"
|
|
v-model="form.details"
|
|
:read-only="methods == 0"
|
|
:min-height="196"
|
|
:upload-url="uploadImgUrl"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- <el-col :span="24">
|
|
<el-form-item label="规格与包装">
|
|
<el-row v-for="item,index in form.waresSpecsPackList"
|
|
:key="index">
|
|
<el-col :span="10"
|
|
style="margin-right:20px">
|
|
<el-input clearable v-model="item.key"
|
|
placeholder="规格名称"></el-input>
|
|
</el-col>
|
|
<el-col :span="10"
|
|
style="margin-right:10px">
|
|
<el-input clearable v-model="item.value"
|
|
placeholder="规格内容"></el-input>
|
|
</el-col>
|
|
<el-col :span="2"
|
|
v-if="index == form.waresSpecsPackList.length-1">
|
|
<i class="el-icon-circle-plus-outline addIcon"
|
|
@click="addGg"></i>
|
|
</el-col>
|
|
<el-col :span="2"
|
|
v-if="index != form.waresSpecsPackList.length-1">
|
|
<i class="el-icon-remove-outline addIcon"
|
|
@click="removeGg(index)"></i>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form-item>
|
|
</el-col> -->
|
|
|
|
<el-col :span="24">
|
|
<el-form-item :label="'售后保障'" prop="afterGuarantee">
|
|
<editor
|
|
ref="sptwEditor3"
|
|
v-model="form.afterGuarantee"
|
|
:read-only="methods == 0"
|
|
:min-height="196"
|
|
:upload-url="uploadImgUrl"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<!-- 产品明细 -->
|
|
<!-- <div v-show="tabActive==1"> -->
|
|
<Cpmx
|
|
v-show="tabActive == 1"
|
|
ref="cpmxed"
|
|
:methods="methods"
|
|
:table-data-ed.sync="waresDetailList"
|
|
@getTableList="getTableList"
|
|
/>
|
|
<!-- </div> -->
|
|
<!-- 规格明细 -->
|
|
<div v-show="tabActive == 2">
|
|
<Ggmx
|
|
ref="ggmxed"
|
|
:methods="methods"
|
|
:special-area="form.specialArea"
|
|
:wares-specs-sku-list.sync="waresSpecsSkuList"
|
|
@getGoodList="getGoodList"
|
|
/>
|
|
</div>
|
|
<!-- 团队配置 -->
|
|
<div v-show="tabActive == 3" class="teamPz">
|
|
<div class="tit">{{ '团队配置' }}</div>
|
|
<div class="xian" />
|
|
<el-form
|
|
ref="team"
|
|
:model="form"
|
|
style="width: 1200px; padding: 0 20px"
|
|
label-width="100px"
|
|
>
|
|
<el-row
|
|
v-for="(item, index) in form.waresAuthorityList"
|
|
:key="index"
|
|
:gutter="20"
|
|
>
|
|
<el-col :span="10">
|
|
<el-form-item :label="'可见类型'">
|
|
<el-select
|
|
v-model="item.authorityType"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
@change="getTeamList(item.authorityType)"
|
|
>
|
|
<el-option
|
|
v-for="cld in xyList"
|
|
v-if="!(index > 0 && cld.value == 5)"
|
|
:key="cld.value"
|
|
:label="cld.label"
|
|
:value="cld.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col
|
|
v-if="form.waresAuthorityList[index].authorityType != 5"
|
|
:span="10"
|
|
>
|
|
<el-form-item :label="'团队编号'">
|
|
<el-input
|
|
v-model="item.memberCode"
|
|
clearable
|
|
:disabled="methods == 0"
|
|
:placeholder="'请输入'"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col
|
|
v-if="
|
|
form.waresAuthorityList[index].authorityType != 5 &&
|
|
index !== form.waresAuthorityList.length - 1
|
|
"
|
|
:span="4"
|
|
>
|
|
<i
|
|
v-show="methods != 0"
|
|
class="el-icon-remove-outline addIcon"
|
|
@click="removeTeamPz(index)"
|
|
/>
|
|
</el-col>
|
|
<el-col
|
|
v-if="
|
|
form.waresAuthorityList[index].authorityType != 5 &&
|
|
index == form.waresAuthorityList.length - 1
|
|
"
|
|
:span="4"
|
|
>
|
|
<i
|
|
v-show="methods != 0"
|
|
class="el-icon-circle-plus-outline addIcon"
|
|
@click="addTeamPz"
|
|
/>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
<!-- <Ggmx ref="ggmxed"></Ggmx> -->
|
|
</div>
|
|
<!-- 级差配置 -->
|
|
<div v-show="tabActive == 4">
|
|
<Jcpz
|
|
ref="jcpzed"
|
|
:methods="methods"
|
|
:wares-range-list="waresRangeList"
|
|
@getRangList="getRangList"
|
|
/>
|
|
</div>
|
|
<!-- 等级配置 -->
|
|
<div v-show="tabActive == 5" class="teamPz">
|
|
<div class="djpz">
|
|
<div class="tit">{{ '等级配置' }}</div>
|
|
<div class="djpz_i">{{ '选择能够购买该商品的会员等级,若不选择则默认全部可购买' }}</div>
|
|
</div>
|
|
<div class="xian" />
|
|
<el-form
|
|
ref="team"
|
|
:model="form"
|
|
style="width: 1200px; padding: 0 20px"
|
|
label-width="auto"
|
|
>
|
|
<div class="djpz_a">
|
|
<el-checkbox
|
|
v-model="levelAll"
|
|
:disabled="methods == 0"
|
|
@change="getLevel"
|
|
>{{ '全部' }}</el-checkbox>
|
|
<div class="djpz_g">
|
|
<el-checkbox-group
|
|
v-model="form.waresGradeIds"
|
|
:disabled="methods == 0"
|
|
@change="getLevelAll"
|
|
>
|
|
<el-checkbox
|
|
v-for="item in levelList"
|
|
:key="item.pkId"
|
|
:label="item.pkId"
|
|
>{{ item.gradeName }}</el-checkbox>
|
|
</el-checkbox-group>
|
|
</div>
|
|
</div>
|
|
</el-form>
|
|
<!-- <Ggmx ref="ggmxed"></Ggmx> -->
|
|
</div>
|
|
<!-- 奖衔配置 -->
|
|
<div v-show="tabActive == 6" class="teamPz">
|
|
<div class="djpz">
|
|
<div class="tit">{{ '奖衔配置' }}</div>
|
|
</div>
|
|
<div class="xian" />
|
|
<el-form
|
|
ref="team"
|
|
:model="form"
|
|
style="width: 1200px; padding: 0 20px"
|
|
label-width="auto"
|
|
>
|
|
<div class="djpz_a">
|
|
<el-checkbox
|
|
v-model="gradeAll"
|
|
:disabled="methods == 0"
|
|
@change="getGrade"
|
|
>{{ '全部' }}</el-checkbox>
|
|
<div class="djpz_g">
|
|
<el-checkbox-group
|
|
v-model="form.waresAwardsIds"
|
|
:disabled="methods == 0"
|
|
@change="getGradeAll"
|
|
>
|
|
<el-checkbox
|
|
v-for="item in awardsList"
|
|
:key="item.pkId"
|
|
:label="item.pkId"
|
|
>{{ item.awardsName }}</el-checkbox>
|
|
</el-checkbox-group>
|
|
</div>
|
|
</div>
|
|
</el-form>
|
|
</div>
|
|
<!-- 商品权限 -->
|
|
<div v-show="tabActive == 7" class="teamPz">
|
|
<div class="djpz">
|
|
<div class="tit">商品权限</div>
|
|
<!-- <div class="djpz_i">{{'选择能够购买该商品的会员等级,若不选择则默认全部可购买'}}</div> -->
|
|
</div>
|
|
<div class="xian" />
|
|
<el-form
|
|
ref="team"
|
|
:model="form"
|
|
style="width: 1200px; padding: 0 20px"
|
|
label-width="auto"
|
|
>
|
|
<div class="djpz_a">
|
|
<div class="djpz_g">
|
|
<el-checkbox-group
|
|
v-model="form.waresMemberAuthorizeList"
|
|
:disabled="methods == 0"
|
|
>
|
|
<el-checkbox
|
|
v-for="item in authorityList"
|
|
:key="item.value"
|
|
:label="item.value"
|
|
>{{ item.label }}</el-checkbox>
|
|
</el-checkbox-group>
|
|
</div>
|
|
</div>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div v-if="methods != 0" class="footer">
|
|
<el-button size="small" class="thebtn2">
|
|
{{ '取消' }}</el-button>
|
|
<el-button size="small" class="thebtn1" @click="submit('form')">
|
|
{{ '确认' }}</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
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, getAwardsNewListChiose } from '@/api/level'
|
|
export default {
|
|
name: 'Jcsz',
|
|
components: {
|
|
ImageUpload,
|
|
Editor,
|
|
UpDataImg,
|
|
Jcpz,
|
|
Cpmx,
|
|
Ggmx
|
|
},
|
|
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,
|
|
boxNum: 1,
|
|
sort: '',
|
|
sptw: '',
|
|
ysList: [],
|
|
bzList: [],
|
|
pkGuaranteeLabel: [],
|
|
specialArea: '',
|
|
checkList: [],
|
|
waresMemberAuthorizeList: [],
|
|
waresAuthorityList: [
|
|
{
|
|
authorityType: 5,
|
|
memberCode: ''
|
|
}
|
|
],
|
|
waresSpecsPackList: [{ key: '', value: '' }],
|
|
areaIncome: 0.5
|
|
},
|
|
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' }
|
|
],
|
|
areaIncome: [
|
|
{ required: true, message: '请输入配送收益', trigger: 'blur' },
|
|
{ validator: (rule, value, callback) => {
|
|
if (value === '') {
|
|
callback(new Error('请输入配送收益'))
|
|
return
|
|
}
|
|
if (value < 0) {
|
|
callback(new Error('配送收益不能小于0'))
|
|
return
|
|
}
|
|
callback()
|
|
}, trigger: 'change' }
|
|
]
|
|
},
|
|
pkId: '',
|
|
methods: 1,
|
|
levelList: [],
|
|
yesNo: [],
|
|
specialCurrency: [],
|
|
waresTypeList: [],
|
|
awardsList: [],
|
|
authorityList: [],
|
|
sortList: []
|
|
}
|
|
},
|
|
created() {
|
|
this.pkId = this.$route.query.id
|
|
this.methods = this.$route.query.methods
|
|
this.getOther()
|
|
// 获取极差列表
|
|
this.getRangeList()
|
|
// 血缘关系
|
|
this.getXYList()
|
|
// 运输方式
|
|
this.getTransportType()
|
|
// 查询分类父子级关系
|
|
this.get_hierarchy_list()
|
|
// 获取专区
|
|
this.getArea()
|
|
// 供应方式
|
|
this.supply_way()
|
|
// 查询预售状态
|
|
this.presale_status()
|
|
// 四个标签
|
|
this.labelAll()
|
|
// 协议接口
|
|
this.getAgreementList()
|
|
// 邮费模板
|
|
this.getPostageList()
|
|
// 获取所有数据
|
|
this.getEduitdata()
|
|
|
|
this.$store.commit('settings/GGMX_SETTING', [])
|
|
},
|
|
// mounted() {
|
|
// this.$refs.box.scrollTop = 0
|
|
// },
|
|
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.rangeNewList().then((res) => {
|
|
this.levelList = res.data
|
|
})
|
|
},
|
|
getWaresCode() {
|
|
api.getWaresCode().then((res) => {
|
|
this.form.waresCode = res.msg
|
|
})
|
|
},
|
|
getEduitdata() {
|
|
api
|
|
.waresDetail({
|
|
pkId: this.pkId
|
|
})
|
|
.then((res) => {
|
|
this.form = res.data
|
|
// this.form.waresAwardsIds = res.data.waresAwardsIds || []
|
|
this.$set(this.form, 'waresAwardsIds', res.data.waresAwardsIds || [])
|
|
this.$set(
|
|
this.form,
|
|
'waresMemberAuthorizeList',
|
|
res.data.waresMemberAuthorizeList || []
|
|
)
|
|
if (this.form.parentPkAreaClassify) {
|
|
this.form.pkAreaClassifys = [
|
|
this.form.parentPkAreaClassify,
|
|
this.form.pkAreaClassify
|
|
]
|
|
} else {
|
|
this.form.pkAreaClassifys = [this.form.pkAreaClassify]
|
|
}
|
|
this.waresDetailList = this.form.waresDetailList
|
|
this.waresSpecsSkuList = this.form.waresSpecsSkuList
|
|
// this.form.waresAuthorityList.forEach((item) => {
|
|
// item.memberCode = item.pkMember
|
|
// })
|
|
this.waresRangeList = this.form.waresRangeList
|
|
// this.$refs.upImg1.geCoverList(this.form.videoUrl)
|
|
// this.$refs.upImg2.geCoverList(this.form.cover)
|
|
// this.$refs.upImg3.geCoverList(this.form.cover1)
|
|
// this.$refs.upImg4.geCoverList(this.form.cover2)
|
|
// this.$refs.upImg5.geCoverList(this.form.cover3)
|
|
// this.$refs.upImg6.geCoverList(this.form.cover4)
|
|
// this.$refs.upImg7.geCoverList(this.form.cover5)
|
|
// this.$refs.upImg8.geCoverList(this.form.cover6)
|
|
// this.$refs.cpmx.getTableData(this.form.waresDetailList)
|
|
|
|
if (this.levelList.length == this.form.waresGradeIds.length) {
|
|
this.levelAll = true
|
|
this.$forceUpdate()
|
|
}
|
|
const checkList = []
|
|
if (this.form.isOceanTrans == 0) {
|
|
checkList.push(3)
|
|
} else if (this.form.isLandTrans == 0) {
|
|
checkList.push(1)
|
|
} else if (this.form.isAirTrans == 0) {
|
|
checkList.push(2)
|
|
}
|
|
this.$set(this.form, 'checkList', checkList)
|
|
const that = this
|
|
if (this.methods == 2) {
|
|
this.getWaresCode()
|
|
// 排序
|
|
// this.getWaresSort()
|
|
}
|
|
if (
|
|
this.form.specialArea == 3 ||
|
|
this.form.specialArea == 26 ||
|
|
this.form.specialArea == 12 ||
|
|
this.form.specialArea == 22 ||
|
|
this.form.specialArea == 14 ||
|
|
this.form.specialArea == 43 ||
|
|
this.form.specialArea == 44
|
|
) {
|
|
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
|
|
}
|
|
]
|
|
}
|
|
setTimeout(() => {
|
|
that.$refs.box.scrollTop = 0
|
|
}, 50)
|
|
})
|
|
},
|
|
addGg() {
|
|
this.form.waresSpecsPackList.push({ key: '', value: '' })
|
|
},
|
|
submit() {
|
|
this.$refs['form'].validate((valid) => {
|
|
if (valid) {
|
|
let urlRequir = ''
|
|
let mssg = ''
|
|
if (this.methods == 1) {
|
|
urlRequir = api.waresUpdate
|
|
mssg = '修改成功'
|
|
} else {
|
|
urlRequir = api.waresSave
|
|
mssg = '复制成功'
|
|
this.form.waresSpecsSkuList.forEach((item) => {
|
|
item.pkWaresSpecsSku = null
|
|
})
|
|
}
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: '努力提交中',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
})
|
|
|
|
this.$store.commit('settings/GGMX_SETTING', [])
|
|
urlRequir(this.form).then((res) => {
|
|
loading.close()
|
|
if (res.code == 200) {
|
|
this.$message({
|
|
message: mssg,
|
|
type: 'success'
|
|
})
|
|
this.$router.replace({
|
|
path: '/goodsManage/goodsList/goodsList'
|
|
})
|
|
}
|
|
})
|
|
} else {
|
|
return false
|
|
}
|
|
})
|
|
},
|
|
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 ||
|
|
e == 43 ||
|
|
e == 44
|
|
) {
|
|
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) {
|
|
if (this.cpList.length == 0) {
|
|
this.$message({
|
|
message: '请先添加产品',
|
|
type: 'warning'
|
|
})
|
|
} else {
|
|
this.tabActive = id
|
|
this.$refs.box.scrollTop = 0
|
|
this.$refs.ggmxed.getData(this.cpList, this.form.specialArea)
|
|
}
|
|
} else if (id == 4) {
|
|
this.tabActive = id
|
|
this.$refs.box.scrollTop = 0
|
|
this.$refs.jcpzed.getAllData(
|
|
this.goodList,
|
|
this.copyArr,
|
|
this.waresRangeList,
|
|
this.pkId
|
|
)
|
|
} else {
|
|
this.tabActive = id
|
|
this.$refs.box.scrollTop = 0
|
|
}
|
|
// this.tabActive = id
|
|
// this.$refs.box.scrollTop = 0
|
|
},
|
|
getGoodList(goodList, copyArr) {
|
|
if (goodList[0].showList) {
|
|
this.goodList = goodList
|
|
this.copyArr = copyArr
|
|
const waresSpecsSkuList = []
|
|
this.goodList.forEach((item) => {
|
|
if (item.showList) {
|
|
waresSpecsSkuList.push(...item.showList)
|
|
}
|
|
})
|
|
this.form.waresSpecsSkuList = waresSpecsSkuList
|
|
}
|
|
},
|
|
// // 保证
|
|
// bzChange(val) {
|
|
// this.form.pkGuaranteeLabel = this.form.pkGuaranteeLabels
|
|
// },
|
|
// 卖点
|
|
mdChange(val) {
|
|
this.form.pkSellingPoint = val
|
|
},
|
|
// 多选框
|
|
changeYsfs() {},
|
|
// 获取产品明细数组内容
|
|
getTableList(data) {
|
|
this.form.waresDetailList = data
|
|
this.cpList = data.map((item) => {
|
|
return {
|
|
pkProduct: item.pkProduct,
|
|
isGift: item.isGift,
|
|
quantity: item.quantity
|
|
}
|
|
})
|
|
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() {}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
::v-deep .el-select,
|
|
.el-cascader {
|
|
width: 100%;
|
|
}
|
|
|
|
::v-deep .el-date-editor.el-input,
|
|
.el-date-editor.el-input__inner {
|
|
width: 100%;
|
|
}
|
|
|
|
.topbox {
|
|
align-items: center;
|
|
padding: 0px 0 0px 0;
|
|
display: flex; // background: skyblue;
|
|
.levelList_i {
|
|
margin-left: 20px;
|
|
position: relative;
|
|
cursor: pointer;
|
|
padding: 3px 10px;
|
|
// width: 88px;
|
|
// height: 34px;
|
|
border-radius: 17px;
|
|
border: 1px solid #cccccc;
|
|
font-size: 14px;
|
|
font-family: MicrosoftYaHei;
|
|
text-align: center;
|
|
// line-height: 34px;
|
|
}
|
|
.act {
|
|
color: #ffffff;
|
|
background: #c8161d;
|
|
}
|
|
.act1 {
|
|
border-bottom: 3px solid #1890ff !important;
|
|
}
|
|
.cha {
|
|
font-size: 16px;
|
|
color: #606266;
|
|
position: absolute;
|
|
top: 10px;
|
|
}
|
|
.li {
|
|
width: 40px;
|
|
margin: 0 auto;
|
|
border-bottom: 3px solid transparent;
|
|
}
|
|
}
|
|
|
|
.page {
|
|
height: calc(100vh - 50px);
|
|
overflow: hidden;
|
|
background: #f9f9f9;
|
|
padding-top: 20px;
|
|
padding-left: 0;
|
|
}
|
|
|
|
.main {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: calc(100vh - 124px);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.contain {
|
|
background: #ffffff;
|
|
border-radius: 8px;
|
|
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
|
|
margin: 0px 20px 0 20px;
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
padding: 0px 10px;
|
|
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.footer {
|
|
height: 68px;
|
|
background: #ffffff;
|
|
box-shadow: 0px -3px 20px 0px rgba(204, 204, 204, 0.5);
|
|
margin: 0 20px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
.thebtn1 {
|
|
background: #3181e5;
|
|
color: #ffffff;
|
|
padding: 9px 45px;
|
|
}
|
|
.thebtn2 {
|
|
background: #cccccc;
|
|
color: #ffffff;
|
|
padding: 9px 45px;
|
|
}
|
|
}
|
|
|
|
.addIcon {
|
|
font-size: 22px;
|
|
line-height: 40px;
|
|
}
|
|
|
|
.teamPz {
|
|
margin: 0 -20px;
|
|
overflow-x: hidden;
|
|
.xian {
|
|
height: 1px;
|
|
background: rgba(0, 0, 0, 0.1);
|
|
margin-bottom: 20px;
|
|
}
|
|
.tit {
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
color: #333333;
|
|
padding: 0 20px;
|
|
border-left: 5px solid #4391fd;
|
|
margin: 15px 0;
|
|
margin-right: -20px;
|
|
}
|
|
}
|
|
|
|
.baoyou {
|
|
::v-deep .el-checkbox {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-right: 0px;
|
|
margin-bottom: 10px;
|
|
}
|
|
::v-deep .el-checkbox__label {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
flex: 1;
|
|
}
|
|
::v-deep .el-input {
|
|
width: auto;
|
|
}
|
|
::v-deep .el-select {
|
|
width: auto;
|
|
}
|
|
}
|
|
|
|
.djpz {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.djpz_i {
|
|
margin-left: 10px;
|
|
font-size: 10px;
|
|
|
|
font-weight: 400;
|
|
color: #999999;
|
|
}
|
|
.djpz_a {
|
|
display: flex;
|
|
align-items: center;
|
|
.djpz_g {
|
|
display: inline-block;
|
|
margin-left: 20px;
|
|
}
|
|
}
|
|
::v-deep .el-form-item {
|
|
margin-bottom: 15px;
|
|
}
|
|
// ::v-deep .el-input__suffix{
|
|
// top: -3px;
|
|
// }
|
|
// ::v-deep .el-select .el-input__suffix {
|
|
// top: 5px;
|
|
// }
|
|
</style>
|