2025-03-23 09:18:42 +08:00
|
|
|
|
<!--
|
|
|
|
|
|
* @Descripttion:
|
|
|
|
|
|
* @version:
|
|
|
|
|
|
* @Author: kBank
|
|
|
|
|
|
* @Date: 2022-10-28 09:02:23
|
|
|
|
|
|
-->
|
|
|
|
|
|
<template>
|
|
|
|
|
|
<div class="page">
|
|
|
|
|
|
<div class="topbox">
|
|
|
|
|
|
<div
|
|
|
|
|
|
class="levelList_i"
|
|
|
|
|
|
:class="tabActive == item.id ? 'act' : ''"
|
|
|
|
|
|
v-for="(item, index) in topList"
|
|
|
|
|
|
:key="index"
|
|
|
|
|
|
@click.prevent="handleLink(item.id)"
|
|
|
|
|
|
>
|
|
|
|
|
|
{{ item.name }}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="main">
|
|
|
|
|
|
<div class="contain">
|
|
|
|
|
|
<el-form ref="form" :rules="rules" :model="form" label-width="auto">
|
|
|
|
|
|
<div v-show="tabActive == 0">
|
|
|
|
|
|
<el-row :gutter="10">
|
|
|
|
|
|
<el-col class="el-col-40">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'产品名称'" prop="productName">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
v-model="form.productName"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
></el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'产品编码'" prop="productCode">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
v-model="form.productCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
></el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'划线价'" prop="retailPrice">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value=value.replace(/[^\d.]/g,'')"
|
|
|
|
|
|
v-model="form.retailPrice"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
></el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'发货类型'" prop="shippingChannel">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.shippingChannel">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in fhTypeList"
|
|
|
|
|
|
:key="item.value"
|
|
|
|
|
|
:label="item.label"
|
|
|
|
|
|
:value="item.value"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'保质期'" prop="shelfLife">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value=value.replace(/[^\d]/g,'')"
|
|
|
|
|
|
v-model="form.shelfLife"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<i slot="suffix" class="neibu">{{ '天' }} </i>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'单位'" prop="unit">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.unit">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in dwList"
|
|
|
|
|
|
:key="item.pkId"
|
|
|
|
|
|
:label="item.name"
|
|
|
|
|
|
:value="item.pkId"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'重量'" prop="weight">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value=value.replace(/[^\d.]/g,'')"
|
|
|
|
|
|
v-model="form.weight"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
<i slot="suffix" class="neibu">KG </i>
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'邮费重量'" prop="postageWeight">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value=value.replace(/[^\d.]/g,'')"
|
|
|
|
|
|
v-model="form.postageWeight"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
<i slot="suffix" class="neibu">KG </i>
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'产品属性'" prop="productAttr">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.productAttr">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in productTypeList"
|
|
|
|
|
|
:key="item.value"
|
|
|
|
|
|
:label="item.label"
|
|
|
|
|
|
:value="item.value"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'所属分类'" prop="pkClassify">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.pkClassify">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in classifyList"
|
|
|
|
|
|
:key="item.pkId"
|
|
|
|
|
|
:label="item.name"
|
|
|
|
|
|
:value="item.pkId"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'排列序号'" prop="sort">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value = value.replace(/[^\d]/g,'')"
|
|
|
|
|
|
v-model="form.sort"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'长'" prop="length">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value=value.replace(/[^\d.]/g,'')"
|
|
|
|
|
|
v-model="form.length"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
<i slot="suffix" class="neibu">CM </i>
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'宽'" prop="width">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value=value.replace(/[^\d.]/g,'')"
|
|
|
|
|
|
v-model="form.width"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
<i slot="suffix" class="neibu">CM </i>
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'高'" prop="height">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
oninput="value=value.replace(/[^\d.]/g,'')"
|
|
|
|
|
|
v-model="form.height"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
<i slot="suffix" class="neibu">CM </i>
|
|
|
|
|
|
</el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'复购类型'">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.repurchaseType">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in repurchaseTypeList"
|
|
|
|
|
|
:key="item.value"
|
|
|
|
|
|
:label="item.label"
|
|
|
|
|
|
:value="item.value"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'上架状态'" prop="isPutOn">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.isPutOn">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in agreeList"
|
|
|
|
|
|
:key="item.val"
|
|
|
|
|
|
:label="item.text"
|
|
|
|
|
|
:value="item.val"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
|
|
|
|
|
<el-form-item label="产品基本信息" prop="productBasName">
|
|
|
|
|
|
<el-input
|
|
|
|
|
|
clearable
|
|
|
|
|
|
v-model="form.productBasName"
|
|
|
|
|
|
@focus="opProduct"
|
|
|
|
|
|
></el-input>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- <el-form-item label="产品基本信息" prop="pkProductBas">
|
|
|
|
|
|
<el-select clearable v-model="form.pkProductBas" filterable>
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in productList"
|
|
|
|
|
|
:key="item.pkId"
|
|
|
|
|
|
:label="item.productName"
|
|
|
|
|
|
:value="item.pkId"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item> -->
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
|
|
|
|
|
<el-form-item label="供应商" prop="pkCubasdoc">
|
|
|
|
|
|
<el-select
|
|
|
|
|
|
clearable
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请选择'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
v-model="form.pkCubasdoc"
|
|
|
|
|
|
>
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in supplierList"
|
|
|
|
|
|
:key="item.pkId"
|
|
|
|
|
|
:label="item.custName"
|
|
|
|
|
|
:value="item.pkId"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-40">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'产品主图'" prop="cover">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<!-- <el-upload :headers="headers"
|
|
|
|
|
|
:class="{ uploadIconOne: showImg, uploadIcon: noneUploadImg }"
|
|
|
|
|
|
:action="uploadImgUrl"
|
|
|
|
|
|
:on-success="handlePictureSuccess"
|
|
|
|
|
|
:on-change="uploadImgChange"
|
|
|
|
|
|
list-type="picture-card"
|
|
|
|
|
|
:limit="1"
|
|
|
|
|
|
:on-remove="handleRemove">
|
|
|
|
|
|
<i class="el-icon-plus"></i>
|
|
|
|
|
|
</el-upload> -->
|
|
|
|
|
|
<imageUpload v-model="form.cover" />
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<div class="jy">{{ '建议尺寸452×452,大小为200K' }}</div>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div v-show="tabActive == 1">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'规格'" prop="pkSpecsType">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-tag
|
|
|
|
|
|
:key="item.pkId"
|
|
|
|
|
|
v-for="(item, index) in ggList"
|
|
|
|
|
|
closable
|
|
|
|
|
|
class="elTag"
|
|
|
|
|
|
v-show="item.checked"
|
|
|
|
|
|
:disable-transitions="false"
|
|
|
|
|
|
@close="handleClose(item.pkId)"
|
|
|
|
|
|
>
|
|
|
|
|
|
{{ item.typeName }}
|
|
|
|
|
|
</el-tag>
|
|
|
|
|
|
<el-button
|
|
|
|
|
|
class="button-new-tag"
|
|
|
|
|
|
size="small"
|
|
|
|
|
|
@click="openDiag = true"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
>{{ '添加' }}</el-button
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div v-show="tabActive == 2">
|
|
|
|
|
|
<el-row>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'抽奖礼品'" prop="isPrize">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.isPrize">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in agreeList"
|
|
|
|
|
|
:key="item.val"
|
|
|
|
|
|
:label="item.text"
|
|
|
|
|
|
:value="item.val"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'特惠礼品'" prop="isGift">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.isGift">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in agreeList"
|
|
|
|
|
|
:key="item.val"
|
|
|
|
|
|
:label="item.text"
|
|
|
|
|
|
:value="item.val"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'提货商品'" prop="isPickUp">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.isPickUp">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in agreeList"
|
|
|
|
|
|
:key="item.val"
|
|
|
|
|
|
:label="item.text"
|
|
|
|
|
|
:value="item.val"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'合并发货'" prop="isMerge">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.isMerge">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in agreeList"
|
|
|
|
|
|
:key="item.val"
|
|
|
|
|
|
:label="item.text"
|
|
|
|
|
|
:value="item.val"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'冷链运输'" prop="isFresh">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.isFresh">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in agreeList"
|
|
|
|
|
|
:key="item.val"
|
|
|
|
|
|
:label="item.text"
|
|
|
|
|
|
:value="item.val"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'追溯编号'" prop="isBarCode">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-select clearable v-model="form.isBarCode">
|
|
|
|
|
|
<el-option
|
|
|
|
|
|
v-for="item in agreeList"
|
|
|
|
|
|
:key="item.val"
|
|
|
|
|
|
:label="item.text"
|
|
|
|
|
|
:value="item.val"
|
|
|
|
|
|
></el-option>
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col class="el-col-20">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-form-item :label="'运输方式'" prop="ysList">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-checkbox-group v-model="form.ysList" @change="changeYsfs">
|
|
|
|
|
|
<el-checkbox
|
|
|
|
|
|
v-for="(item, index) in transportTypeList"
|
|
|
|
|
|
:key="item.value"
|
|
|
|
|
|
:label="item.value"
|
|
|
|
|
|
>{{ item.label }}</el-checkbox
|
|
|
|
|
|
>
|
|
|
|
|
|
</el-checkbox-group>
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-form>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="footer">
|
|
|
|
|
|
<el-button size="small" class="cancelBtn">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '取消' }}</el-button
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
<el-button
|
|
|
|
|
|
size="small"
|
|
|
|
|
|
v-hasButtons="['ProductReleaseConfirm']"
|
|
|
|
|
|
@click="submit('form')"
|
|
|
|
|
|
style="background: #c8161d; border: none"
|
|
|
|
|
|
class="sureBtn"
|
|
|
|
|
|
>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '确认' }}</el-button
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<!-- 产品弹框 -->
|
|
|
|
|
|
<el-dialog
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:title="'添加'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
:visible.sync="dialogVisible"
|
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
|
width="50%"
|
|
|
|
|
|
center
|
|
|
|
|
|
:before-close="handleClose1"
|
|
|
|
|
|
>
|
|
|
|
|
|
<div class="cpHeight">
|
|
|
|
|
|
<el-row>
|
|
|
|
|
|
<el-col :span="22">
|
|
|
|
|
|
<el-input
|
|
|
|
|
|
v-model="select.query"
|
|
|
|
|
|
clearable
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:placeholder="'请输入'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
@keyup.enter.native="getProduct"
|
|
|
|
|
|
prefix-icon="el-icon-search"
|
|
|
|
|
|
></el-input>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="2">
|
|
|
|
|
|
<el-button type="primary" size="small" @click="getProduct">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{{ '搜索' }}</el-button
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
</el-row>
|
|
|
|
|
|
<div style="height: 10px"></div>
|
|
|
|
|
|
<el-table
|
|
|
|
|
|
:data="productList"
|
|
|
|
|
|
ref="multipleTable"
|
|
|
|
|
|
height="500px"
|
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
|
@select-all="onSelectAll"
|
|
|
|
|
|
@select="selected"
|
|
|
|
|
|
:header-cell-style="{ background: '#EEEEEE' }"
|
|
|
|
|
|
:row-class-name="tableRowClassName"
|
|
|
|
|
|
>
|
|
|
|
|
|
<el-table-column type="selection" width="55">
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
|
align="center"
|
|
|
|
|
|
prop="productName"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'产品名称'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
|
align="center"
|
|
|
|
|
|
prop="productCode"
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:label="'产品编号'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
</el-table-column>
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-table-column align="center" prop="unitStr" :label="'单位'">
|
2025-03-23 09:18:42 +08:00
|
|
|
|
</el-table-column>
|
|
|
|
|
|
</el-table>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<pagination
|
|
|
|
|
|
v-show="total > 0"
|
|
|
|
|
|
:total="total"
|
|
|
|
|
|
:page.sync="queryParams.pageNum"
|
|
|
|
|
|
:limit.sync="queryParams.pageSize"
|
|
|
|
|
|
@pagination="getProduct"
|
|
|
|
|
|
/>
|
|
|
|
|
|
<span slot="footer" class="dialog-footer">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-button @click="handleClose1">{{ '取消' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-button type="primary" @click="sureProduct">{{
|
2025-04-01 23:46:26 +08:00
|
|
|
|
'确认'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}}</el-button>
|
|
|
|
|
|
</span>
|
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 规格 -->
|
|
|
|
|
|
<el-dialog
|
2025-04-01 23:46:26 +08:00
|
|
|
|
:title="'添加'"
|
2025-03-23 09:18:42 +08:00
|
|
|
|
:visible.sync="openDiag"
|
|
|
|
|
|
:close-on-click-modal="false"
|
|
|
|
|
|
width="30%"
|
|
|
|
|
|
center
|
|
|
|
|
|
>
|
|
|
|
|
|
<div class="addCheck">
|
|
|
|
|
|
<el-checkbox-group v-model="form.checkList" class="check">
|
|
|
|
|
|
<el-checkbox
|
|
|
|
|
|
v-for="(item, index) in ggList"
|
|
|
|
|
|
class="check_i"
|
|
|
|
|
|
:key="item.pkId"
|
|
|
|
|
|
:label="item.pkId"
|
|
|
|
|
|
>{{ item.typeName }}</el-checkbox
|
|
|
|
|
|
>
|
|
|
|
|
|
</el-checkbox-group>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<span slot="footer" class="dialog-footer">
|
2025-04-01 23:46:26 +08:00
|
|
|
|
<el-button @click="openDiag = false">{{ '取消' }}</el-button>
|
2025-03-23 09:18:42 +08:00
|
|
|
|
<el-button type="primary" @click="checkTrue">{{
|
2025-04-01 23:46:26 +08:00
|
|
|
|
'确认'
|
2025-03-23 09:18:42 +08:00
|
|
|
|
}}</el-button>
|
|
|
|
|
|
</span>
|
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
|
|
|
import * as api from "@/api/product.js";
|
|
|
|
|
|
import ImageUpload from "@/components/ImageUpload";
|
|
|
|
|
|
import * as supply from "@/api/supply.js";
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
|
name: "jcsz",
|
|
|
|
|
|
components: {
|
|
|
|
|
|
ImageUpload,
|
|
|
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
selectData:{},
|
|
|
|
|
|
select:{},
|
|
|
|
|
|
queryParams: {
|
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
|
pageSize: 50,
|
|
|
|
|
|
},
|
|
|
|
|
|
total: 0,
|
|
|
|
|
|
dialogVisible:false,
|
|
|
|
|
|
rules: {
|
|
|
|
|
|
shippingChannel: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '请输入发货类型',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
trigger: "change",
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
unit: [{ required: true, message: "请选择单位", trigger: "change" }],
|
|
|
|
|
|
productName: [
|
|
|
|
|
|
{ required: true, message: "请输入产品名称", trigger: "blur" },
|
|
|
|
|
|
],
|
|
|
|
|
|
retailPrice: [
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{ required: true, message: '请输入划线价', trigger: "blur" },
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
|
shelfLife: [
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{ required: true, message: '请输入保质期', trigger: "blur" },
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
|
weight: [{ required: true, message: "请输入重量", trigger: "blur" }],
|
|
|
|
|
|
productCode: [
|
|
|
|
|
|
{ required: true, message: "请输入产品编号", trigger: "blur" },
|
|
|
|
|
|
],
|
|
|
|
|
|
postageWeight: [
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{ required: true, message: '请输入邮费重量', trigger: "blur" },
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
|
productAttr: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '请选择产品属性',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
trigger: "change",
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
isPutOn: [
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{ required: true, message: '请选择', trigger: "change" },
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
|
productBasName: [
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{ required: true, message: '请选择', trigger: "change" },
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
|
pkClassify: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '请选择所属分类',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
trigger: "change",
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
sort: [
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{ required: true, message: '请输入排列序号', trigger: "blur" },
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
|
length: [{ required: true, message: "请输入长", trigger: "blur" }],
|
|
|
|
|
|
width: [{ required: true, message: "请输入宽", trigger: "blur" }],
|
|
|
|
|
|
height: [{ required: true, message: "请输入高", trigger: "blur" }],
|
|
|
|
|
|
cover: [
|
|
|
|
|
|
{ required: true, message: "请上传产品主图", trigger: "change" },
|
|
|
|
|
|
],
|
|
|
|
|
|
pkSpecsType: [
|
|
|
|
|
|
{ required: true, message: "请选择规格", trigger: "change" },
|
|
|
|
|
|
],
|
|
|
|
|
|
isPrize: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '抽奖礼品',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
trigger: "change",
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
isGift: [
|
|
|
|
|
|
{ required: true, message: "请选择特惠礼品", trigger: "change" },
|
|
|
|
|
|
],
|
|
|
|
|
|
isPickUp: [
|
|
|
|
|
|
{ required: true, message: "请选择提货商品", trigger: "change" },
|
|
|
|
|
|
],
|
|
|
|
|
|
isMerge: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '请选择合并发货',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
trigger: "change",
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
isFresh: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '请选择冷链运输',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
trigger: "change",
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
pkCubasdoc: [
|
|
|
|
|
|
{
|
|
|
|
|
|
required: true,
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '请选择',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
trigger: "change",
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
isBarCode: [
|
|
|
|
|
|
{ required: true, message: "请选择条码管理", trigger: "change" },
|
|
|
|
|
|
],
|
|
|
|
|
|
ysList: [
|
2025-04-01 23:46:26 +08:00
|
|
|
|
{ required: true, message: '请选择运输方式', trigger: "change" },
|
2025-03-23 09:18:42 +08:00
|
|
|
|
],
|
|
|
|
|
|
},
|
|
|
|
|
|
ggList: [],
|
|
|
|
|
|
// 规格名称弹框
|
|
|
|
|
|
openDiag: false,
|
|
|
|
|
|
showImg: true, //默认展示
|
|
|
|
|
|
noneUploadImg: false, //
|
|
|
|
|
|
uploadImgUrl: process.env.VUE_APP_BASE_API + "/system/upload",
|
|
|
|
|
|
headers: {
|
|
|
|
|
|
Authorization: getToken(),
|
|
|
|
|
|
},
|
|
|
|
|
|
form: {
|
|
|
|
|
|
productBasName:'',
|
|
|
|
|
|
productCode: "",
|
|
|
|
|
|
sptw: "",
|
|
|
|
|
|
checkList: [],
|
|
|
|
|
|
ysList: [],
|
|
|
|
|
|
sort: "",
|
|
|
|
|
|
postageWeight: "",
|
|
|
|
|
|
height: "",
|
|
|
|
|
|
width: "",
|
|
|
|
|
|
length: "",
|
|
|
|
|
|
weight: "",
|
|
|
|
|
|
shelfLife: "",
|
|
|
|
|
|
retailPrice: "",
|
|
|
|
|
|
},
|
|
|
|
|
|
tabActive: 0,
|
|
|
|
|
|
agreeList: [
|
|
|
|
|
|
{
|
2025-04-01 23:46:26 +08:00
|
|
|
|
text: '允许',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
val: 0,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
2025-04-01 23:46:26 +08:00
|
|
|
|
text: '禁止',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
val: 1,
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
topList: [
|
|
|
|
|
|
{
|
2025-04-01 23:46:26 +08:00
|
|
|
|
name: '基础设置',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
id: 0,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
2025-04-01 23:46:26 +08:00
|
|
|
|
name: '规格明细',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
id: 1,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
2025-04-01 23:46:26 +08:00
|
|
|
|
name: '拓展设置',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
id: 2,
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
productTypeList: [],
|
|
|
|
|
|
fhTypeList: [],
|
|
|
|
|
|
dwList: [],
|
|
|
|
|
|
classifyList: [],
|
|
|
|
|
|
transportTypeList: [],
|
|
|
|
|
|
repurchaseTypeList: [],
|
|
|
|
|
|
productList: [],
|
|
|
|
|
|
supplierList: [],
|
|
|
|
|
|
};
|
|
|
|
|
|
},
|
|
|
|
|
|
mounted() {
|
|
|
|
|
|
// 获取规格list
|
|
|
|
|
|
this.getGg();
|
|
|
|
|
|
// // 产品属性枚举
|
|
|
|
|
|
this.getProductType();
|
|
|
|
|
|
// 发货类型
|
|
|
|
|
|
this.getShipping();
|
|
|
|
|
|
// 单位
|
|
|
|
|
|
this.getUnit();
|
|
|
|
|
|
// 复购类型
|
|
|
|
|
|
this.getRepurchaseType();
|
|
|
|
|
|
// 所属分类
|
|
|
|
|
|
this.getClassifyAll();
|
|
|
|
|
|
// 运输方式
|
|
|
|
|
|
this.getTransportType();
|
|
|
|
|
|
// 获取产品编号
|
|
|
|
|
|
this.getProductCode();
|
|
|
|
|
|
// 获取排序
|
|
|
|
|
|
this.getSort();
|
|
|
|
|
|
// 获取产品
|
|
|
|
|
|
this.getProduct();
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
sureProduct(){
|
|
|
|
|
|
this.form.productBasName = this.selectData.productName
|
|
|
|
|
|
this.form.pkProductBas = this.selectData.pkId
|
|
|
|
|
|
this.dialogVisible = false
|
|
|
|
|
|
},
|
|
|
|
|
|
onSelectAll() {
|
|
|
|
|
|
this.$refs.multipleTable.clearSelection();
|
|
|
|
|
|
},
|
|
|
|
|
|
selected(selection, row) {
|
|
|
|
|
|
this.$refs.multipleTable.clearSelection();
|
|
|
|
|
|
if (selection.length == 0) return;
|
|
|
|
|
|
this.$refs.multipleTable.toggleRowSelection(row, true);
|
|
|
|
|
|
this.selectData = row;
|
|
|
|
|
|
},
|
|
|
|
|
|
handleClose1() {
|
|
|
|
|
|
this.dialogVisible = false
|
|
|
|
|
|
},
|
|
|
|
|
|
opProduct(){
|
|
|
|
|
|
this.dialogVisible = true
|
|
|
|
|
|
},
|
|
|
|
|
|
getProduct() {
|
|
|
|
|
|
api.productFind1(Object.assign({}, this.queryParams, this.select)).then((res) => {
|
|
|
|
|
|
this.productList = res.rows;
|
|
|
|
|
|
this.total = res.total
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getRepurchaseType() {
|
|
|
|
|
|
api.repurchaseType().then((res) => {
|
|
|
|
|
|
this.repurchaseTypeList = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
supply.supplierList().then((res) => {
|
|
|
|
|
|
this.supplierList = res.rows;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getSort() {
|
|
|
|
|
|
api.getMaxSort().then((res) => {
|
|
|
|
|
|
this.form.sort = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
getProductCode() {
|
|
|
|
|
|
api.getProductCode().then((res) => {
|
|
|
|
|
|
this.form.productCode = res.msg;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 运输方式单独三个字段
|
|
|
|
|
|
changeYsfs(val) {
|
|
|
|
|
|
// 有陆运
|
|
|
|
|
|
if (val.indexOf(1) > -1) {
|
|
|
|
|
|
this.form.isLandTrans = 0;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.form.isLandTrans = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
// 有空运
|
|
|
|
|
|
if (val.indexOf(2) > -1) {
|
|
|
|
|
|
this.form.isAirTrans = 0;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.form.isAirTrans = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
// 海运
|
|
|
|
|
|
if (val.indexOf(3) > -1) {
|
|
|
|
|
|
this.form.isOceanTrans = 0;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.form.isOceanTrans = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
// 运输方式
|
|
|
|
|
|
getTransportType() {
|
|
|
|
|
|
api.transportType().then((res) => {
|
|
|
|
|
|
this.transportTypeList = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 所属分类
|
|
|
|
|
|
getClassifyAll() {
|
|
|
|
|
|
api.classifyAll().then((res) => {
|
|
|
|
|
|
this.classifyList = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 选完规格
|
|
|
|
|
|
checkTrue() {
|
|
|
|
|
|
this.ggList.forEach((item) => {
|
|
|
|
|
|
item.checked = false;
|
|
|
|
|
|
});
|
|
|
|
|
|
this.ggList.forEach((item) => {
|
|
|
|
|
|
this.form.checkList.forEach((child) => {
|
|
|
|
|
|
if (item.pkId == child) {
|
|
|
|
|
|
item.checked = true;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
this.openDiag = false;
|
|
|
|
|
|
this.form.pkSpecsType = this.form.checkList;
|
|
|
|
|
|
},
|
|
|
|
|
|
// 获取规格
|
|
|
|
|
|
getGg() {
|
|
|
|
|
|
api.findAll().then((res) => {
|
|
|
|
|
|
res.data.forEach((item) => {
|
|
|
|
|
|
item.checked = false;
|
|
|
|
|
|
});
|
|
|
|
|
|
this.ggList = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 产品属性枚举
|
|
|
|
|
|
getProductType() {
|
|
|
|
|
|
api.productType().then((res) => {
|
|
|
|
|
|
this.productTypeList = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 发货类型
|
|
|
|
|
|
getShipping() {
|
|
|
|
|
|
api.getShipping().then((res) => {
|
|
|
|
|
|
this.fhTypeList = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 单位
|
|
|
|
|
|
getUnit() {
|
|
|
|
|
|
api.unitAll().then((res) => {
|
|
|
|
|
|
this.dwList = res.data;
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 移除规格
|
|
|
|
|
|
handleClose(pkId) {
|
|
|
|
|
|
// 引藏全规格中选中字段
|
|
|
|
|
|
this.ggList.forEach((item) => {
|
|
|
|
|
|
if (item.pkId == pkId) {
|
|
|
|
|
|
item.checked = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
// 移除表单选中
|
|
|
|
|
|
this.form.checkList.splice(this.form.checkList.indexOf(pkId), 1);
|
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
|
},
|
|
|
|
|
|
submit(form) {
|
|
|
|
|
|
this.$refs[form].validate((valid) => {
|
|
|
|
|
|
if (valid) {
|
|
|
|
|
|
api.productSave(this.form).then((res) => {
|
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
|
this.$message({
|
2025-04-01 23:46:26 +08:00
|
|
|
|
message: '添加成功',
|
2025-03-23 09:18:42 +08:00
|
|
|
|
type: "success",
|
|
|
|
|
|
});
|
|
|
|
|
|
this.$router.replace({
|
|
|
|
|
|
path: "/goodsManage/productList",
|
|
|
|
|
|
});
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.$message({
|
|
|
|
|
|
message: res.msg,
|
|
|
|
|
|
type: "warning",
|
|
|
|
|
|
duration: 3000,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
// 切换tab
|
|
|
|
|
|
handleLink(id) {
|
|
|
|
|
|
this.tabActive = id;
|
|
|
|
|
|
},
|
|
|
|
|
|
tableRowClassName({ row, rowIndex }) {
|
|
|
|
|
|
if (rowIndex % 2 == 1) {
|
|
|
|
|
|
return 'warning-row'
|
|
|
|
|
|
} else if (rowIndex % 2 == 0) {
|
|
|
|
|
|
return 'success-row'
|
|
|
|
|
|
}
|
|
|
|
|
|
return ''
|
|
|
|
|
|
},
|
|
|
|
|
|
// uploadImgChange(file, fileList) {
|
|
|
|
|
|
// this.noneUploadImg = fileList.length > 0
|
|
|
|
|
|
// this.$refs.form.clearValidate('cover')
|
|
|
|
|
|
// },
|
|
|
|
|
|
//图片上传成功后的回调
|
|
|
|
|
|
// handlePictureSuccess(res, file) {
|
|
|
|
|
|
// this.form.cover = res.data.url
|
|
|
|
|
|
// },
|
|
|
|
|
|
//图片上传删除
|
|
|
|
|
|
// handleRemove(file, fileList) {
|
|
|
|
|
|
// this.form.cover = ''
|
|
|
|
|
|
// this.noneUploadImg = fileList.length > 0
|
|
|
|
|
|
// },
|
|
|
|
|
|
},
|
|
|
|
|
|
};
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
|
::v-deep .el-select {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
.uploadIcon ::v-deep .el-upload--picture-card {
|
|
|
|
|
|
display: none !important; /* 上传按钮隐藏 */
|
|
|
|
|
|
}
|
|
|
|
|
|
.el-col-20 {
|
|
|
|
|
|
width: 20%;
|
|
|
|
|
|
}
|
|
|
|
|
|
.el-col-60 {
|
|
|
|
|
|
width: 60%;
|
|
|
|
|
|
}
|
|
|
|
|
|
.el-col-40 {
|
|
|
|
|
|
width: 40%;
|
|
|
|
|
|
}
|
|
|
|
|
|
.page {
|
|
|
|
|
|
padding-top: 20px;
|
|
|
|
|
|
background: #f9f9f9;
|
|
|
|
|
|
}
|
|
|
|
|
|
.topbox {
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
padding: 0px 0 0px 0;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
// background: skyblue;
|
|
|
|
|
|
.levelList_i {
|
|
|
|
|
|
margin-left: 20px;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
// padding: 0 5px;
|
|
|
|
|
|
// width: 88px;
|
|
|
|
|
|
// height: 34px;
|
|
|
|
|
|
border-radius: 17px;
|
|
|
|
|
|
border: 1px solid #cccccc;
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
font-family: MicrosoftYaHei;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
padding: 4px 15px;
|
|
|
|
|
|
// line-height: 32px;
|
|
|
|
|
|
}
|
|
|
|
|
|
.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;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.main {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
}
|
|
|
|
|
|
.contain {
|
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
|
box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
|
|
|
|
|
|
margin: 0px 0px 0 0px;
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
padding: 10px;
|
|
|
|
|
|
}
|
|
|
|
|
|
.footer {
|
|
|
|
|
|
height: 68px;
|
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
|
box-shadow: 0px -3px 20px 0px rgba(204, 204, 204, 0.5);
|
|
|
|
|
|
margin: 0 0px;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
.thebtn1 {
|
|
|
|
|
|
background: #48b2fd;
|
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
|
padding: 9px 45px;
|
|
|
|
|
|
}
|
|
|
|
|
|
.thebtn2 {
|
|
|
|
|
|
background: #f9f9f9;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
padding: 9px 45px;
|
|
|
|
|
|
}
|
|
|
|
|
|
.neibu {
|
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
|
color: #666666;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
}
|
|
|
|
|
|
.elTag {
|
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
|
}
|
|
|
|
|
|
.check {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
// justify-content: center;
|
|
|
|
|
|
.check_i {
|
|
|
|
|
|
width: 50%;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
|
margin-right: 0 !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.jy {
|
|
|
|
|
|
font-size: 10px;
|
|
|
|
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
color: #999999;
|
|
|
|
|
|
}
|
|
|
|
|
|
.addCheck {
|
|
|
|
|
|
padding-left: 20px;
|
|
|
|
|
|
}
|
|
|
|
|
|
::v-deep .el-dialog__body {
|
|
|
|
|
|
border-top: 1px solid #eee;
|
|
|
|
|
|
border-bottom: 1px solid #eee;
|
|
|
|
|
|
}
|
|
|
|
|
|
::v-deep .el-form-item {
|
|
|
|
|
|
margin-bottom: 15px !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|