|  | @@ -1,71 +1,80 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div class="m-container">
 | 
	
		
			
				|  |  |      <h2>
 | 
	
		
			
				|  |  | -      <el-page-header @back="onCancel"
 | 
	
		
			
				|  |  | -                      :content="(pageTitle[pageType]) + '商品'"></el-page-header>
 | 
	
		
			
				|  |  | +      <el-page-header
 | 
	
		
			
				|  |  | +        @back="onCancel"
 | 
	
		
			
				|  |  | +        :content="pageTitle[pageType] + '商品'"
 | 
	
		
			
				|  |  | +      ></el-page-header>
 | 
	
		
			
				|  |  |      </h2>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <div class="m-core">
 | 
	
		
			
				|  |  | -      <el-form :model="form"
 | 
	
		
			
				|  |  | -               :rules="rules"
 | 
	
		
			
				|  |  | -               ref="form"
 | 
	
		
			
				|  |  | -               label-width="120px">
 | 
	
		
			
				|  |  | -        <el-form-item label="货号"
 | 
	
		
			
				|  |  | -                      prop="sn">
 | 
	
		
			
				|  |  | -          <el-input v-model.trim="form.sn"
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    placeholder="请输入货号"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +      <el-form :model="form" :rules="rules" ref="form" label-width="120px">
 | 
	
		
			
				|  |  | +        <el-form-item label="货号" prop="sn">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model.trim="form.sn"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            placeholder="请输入货号"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="品牌"
 | 
	
		
			
				|  |  | -                      prop="brand">
 | 
	
		
			
				|  |  | -          <el-input v-model.trim="form.brand"
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    placeholder="请输入品牌"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="品牌" prop="brand">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model.trim="form.brand"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            placeholder="请输入品牌"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |          <!-- <el-form-item label="备查货号" prop="supplyChannel" v-if="pageType == 'create'">
 | 
	
		
			
				|  |  |            <el-input v-model.trim="form.supplyChannel" placeholder="请输入备查货号" style="width: 400px"></el-input>
 | 
	
		
			
				|  |  |          </el-form-item> -->
 | 
	
		
			
				|  |  | -        <el-form-item label="商品名称"
 | 
	
		
			
				|  |  | -                      prop="name">
 | 
	
		
			
				|  |  | -          <el-input v-model.trim="form.name"
 | 
	
		
			
				|  |  | -                    placeholder="请输入商品名称"
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="商品名称" prop="name">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model.trim="form.name"
 | 
	
		
			
				|  |  | +            placeholder="请输入商品名称"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="商品类型"
 | 
	
		
			
				|  |  | -                      prop="type">
 | 
	
		
			
				|  |  | -          <el-select v-model.trim="form.type"
 | 
	
		
			
				|  |  | -                     placeholder="请选择商品类型"
 | 
	
		
			
				|  |  | -                     :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                     style="width: 400px !important;">
 | 
	
		
			
				|  |  | -            <el-option v-for="(item, index) in goodsType"
 | 
	
		
			
				|  |  | -                       :key="index"
 | 
	
		
			
				|  |  | -                       :label="item.label"
 | 
	
		
			
				|  |  | -                       :value="item.value"></el-option>
 | 
	
		
			
				|  |  | +        <el-form-item label="商品类型" prop="type">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model.trim="form.type"
 | 
	
		
			
				|  |  | +            placeholder="请选择商品类型"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="(item, index) in goodsType"
 | 
	
		
			
				|  |  | +              :key="index"
 | 
	
		
			
				|  |  | +              :label="item.label"
 | 
	
		
			
				|  |  | +              :value="item.value"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="商品分类"
 | 
	
		
			
				|  |  | -                      prop="goodsCategoryId">
 | 
	
		
			
				|  |  | -          <el-select v-model.trim="form.goodsCategoryId"
 | 
	
		
			
				|  |  | -                     placeholder="请选择商品分类"
 | 
	
		
			
				|  |  | -                     :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                     style="width: 400px !important;"
 | 
	
		
			
				|  |  | -                     filterable>
 | 
	
		
			
				|  |  | -            <el-option v-for="item in categoryList"
 | 
	
		
			
				|  |  | -                       :key="item.value"
 | 
	
		
			
				|  |  | -                       :label="item.label"
 | 
	
		
			
				|  |  | -                       :value="item.value">
 | 
	
		
			
				|  |  | +        <el-form-item label="商品分类" prop="goodsCategoryId">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model.trim="form.goodsCategoryId"
 | 
	
		
			
				|  |  | +            placeholder="请选择商品分类"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="item in categoryList"
 | 
	
		
			
				|  |  | +              :key="item.value"
 | 
	
		
			
				|  |  | +              :label="item.label"
 | 
	
		
			
				|  |  | +              :value="item.value"
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  |              </el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="商品型号"
 | 
	
		
			
				|  |  | -                      prop="specification">
 | 
	
		
			
				|  |  | -          <el-input v-model.trim="form.specification"
 | 
	
		
			
				|  |  | -                    placeholder="请输入商品型号"
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="商品型号" prop="specification">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model.trim="form.specification"
 | 
	
		
			
				|  |  | +            placeholder="请输入商品型号"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |          <!-- <el-form-item label="内部库存" prop="stockCount">
 | 
	
		
			
				|  |  |            <el-input type="number" :disabled="pageType != 'create'" v-model.trim="form.stockCount" placeholder="请输入内部库存" style="width: 400px"></el-input>
 | 
	
	
		
			
				|  | @@ -73,124 +82,138 @@
 | 
	
		
			
				|  |  |          <el-form-item label="税务库存" prop="taxStockCount">
 | 
	
		
			
				|  |  |            <el-input type="number" :disabled="pageType != 'create'" v-model.trim="form.taxStockCount" placeholder="请输入税务库存" style="width: 400px"></el-input>
 | 
	
		
			
				|  |  |          </el-form-item> -->
 | 
	
		
			
				|  |  | -        <el-form-item label="库存类型"
 | 
	
		
			
				|  |  | -                      prop="stockType">
 | 
	
		
			
				|  |  | -          <el-select v-model="form.stockType"
 | 
	
		
			
				|  |  | -                     placeholder="请选择库存类型"
 | 
	
		
			
				|  |  | -                     :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                     style="width: 400px !important;">
 | 
	
		
			
				|  |  | -            <el-option v-for="(item, index) in stockType"
 | 
	
		
			
				|  |  | -                       :key="index"
 | 
	
		
			
				|  |  | -                       :label="item.label"
 | 
	
		
			
				|  |  | -                       :value="item.value"></el-option>
 | 
	
		
			
				|  |  | +        <el-form-item label="库存类型" prop="stockType">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="form.stockType"
 | 
	
		
			
				|  |  | +            placeholder="请选择库存类型"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="(item, index) in stockType"
 | 
	
		
			
				|  |  | +              :key="index"
 | 
	
		
			
				|  |  | +              :label="item.label"
 | 
	
		
			
				|  |  | +              :value="item.value"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="市场价"
 | 
	
		
			
				|  |  | -                      prop="marketPrice">
 | 
	
		
			
				|  |  | -          <el-input type="number"
 | 
	
		
			
				|  |  | -                    placeholder="请输入市场价"
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    @mousewheel.native.prevent
 | 
	
		
			
				|  |  | -                    v-model.trim="form.marketPrice"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="市场价" prop="marketPrice">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            type="number"
 | 
	
		
			
				|  |  | +            placeholder="请输入市场价"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            @mousewheel.native.prevent
 | 
	
		
			
				|  |  | +            v-model.trim="form.marketPrice"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="零售价"
 | 
	
		
			
				|  |  | -                      prop="discountPrice">
 | 
	
		
			
				|  |  | -          <el-input type="number"
 | 
	
		
			
				|  |  | -                    placeholder="请输入零售价"
 | 
	
		
			
				|  |  | -                    @mousewheel.native.prevent
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    v-model.trim="form.discountPrice"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="零售价" prop="discountPrice">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            type="number"
 | 
	
		
			
				|  |  | +            placeholder="请输入零售价"
 | 
	
		
			
				|  |  | +            @mousewheel.native.prevent
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            v-model.trim="form.discountPrice"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="商品团购价"
 | 
	
		
			
				|  |  | -                      prop="groupPurchasePrice">
 | 
	
		
			
				|  |  | -          <el-input type="number"
 | 
	
		
			
				|  |  | -                    placeholder="请输入商品团购价"
 | 
	
		
			
				|  |  | -                    @mousewheel.native.prevent
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    v-model.trim="form.groupPurchasePrice"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="商品团购价" prop="groupPurchasePrice">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            type="number"
 | 
	
		
			
				|  |  | +            placeholder="请输入商品团购价"
 | 
	
		
			
				|  |  | +            @mousewheel.native.prevent
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            v-model.trim="form.groupPurchasePrice"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="学员是否展示"
 | 
	
		
			
				|  |  | -                      prop="clientShow">
 | 
	
		
			
				|  |  | -          <el-select v-model="form.clientShow"
 | 
	
		
			
				|  |  | -                     placeholder="请选择学员是否展示"
 | 
	
		
			
				|  |  | -                     style="width: 400px !important;">
 | 
	
		
			
				|  |  | -            <el-option label="是"
 | 
	
		
			
				|  |  | -                       :value="1"></el-option>
 | 
	
		
			
				|  |  | -            <el-option label="否"
 | 
	
		
			
				|  |  | -                       :value="0"></el-option>
 | 
	
		
			
				|  |  | +        <el-form-item label="学员是否展示" prop="clientShow">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="form.clientShow"
 | 
	
		
			
				|  |  | +            placeholder="请选择学员是否展示"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option label="是" :value="1"></el-option>
 | 
	
		
			
				|  |  | +            <el-option label="否" :value="0"></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="教务端是否展示"
 | 
	
		
			
				|  |  | -                      prop="educationalShow">
 | 
	
		
			
				|  |  | -          <el-select v-model="form.educationalShow"
 | 
	
		
			
				|  |  | -                     placeholder="请选择教务端是否展示"
 | 
	
		
			
				|  |  | -                     style="width: 400px !important;">
 | 
	
		
			
				|  |  | -            <el-option label="是"
 | 
	
		
			
				|  |  | -                       :value="1"></el-option>
 | 
	
		
			
				|  |  | -            <el-option label="否"
 | 
	
		
			
				|  |  | -                       :value="0"></el-option>
 | 
	
		
			
				|  |  | +        <el-form-item label="教务端是否展示" prop="educationalShow">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="form.educationalShow"
 | 
	
		
			
				|  |  | +            placeholder="请选择教务端是否展示"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option label="是" :value="1"></el-option>
 | 
	
		
			
				|  |  | +            <el-option label="否" :value="0"></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="乐团是否展示"
 | 
	
		
			
				|  |  | -                      prop="musicGroupShow">
 | 
	
		
			
				|  |  | -          <el-select v-model="form.musicGroupShow"
 | 
	
		
			
				|  |  | -                     placeholder="请选择乐团是否展示"
 | 
	
		
			
				|  |  | -                     style="width: 400px !important;">
 | 
	
		
			
				|  |  | -            <el-option label="是"
 | 
	
		
			
				|  |  | -                       :value="1"></el-option>
 | 
	
		
			
				|  |  | -            <el-option label="否"
 | 
	
		
			
				|  |  | -                       :value="0"></el-option>
 | 
	
		
			
				|  |  | +        <el-form-item label="乐团是否展示" prop="musicGroupShow">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="form.musicGroupShow"
 | 
	
		
			
				|  |  | +            placeholder="请选择乐团是否展示"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option label="是" :value="1"></el-option>
 | 
	
		
			
				|  |  | +            <el-option label="否" :value="0"></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="是否库存预警"
 | 
	
		
			
				|  |  | -                      prop="stockWarning">
 | 
	
		
			
				|  |  | -          <el-select v-model="form.stockWarning"
 | 
	
		
			
				|  |  | -                     placeholder="请选择库存预警"
 | 
	
		
			
				|  |  | -                     :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                     style="width: 400px !important;">
 | 
	
		
			
				|  |  | -            <el-option label="是"
 | 
	
		
			
				|  |  | -                       :value="1"></el-option>
 | 
	
		
			
				|  |  | -            <el-option label="否"
 | 
	
		
			
				|  |  | -                       :value="0"></el-option>
 | 
	
		
			
				|  |  | +        <el-form-item label="是否库存预警" prop="stockWarning">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="form.stockWarning"
 | 
	
		
			
				|  |  | +            placeholder="请选择库存预警"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option label="是" :value="1"></el-option>
 | 
	
		
			
				|  |  | +            <el-option label="否" :value="0"></el-option>
 | 
	
		
			
				|  |  |            </el-select>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="商品图片"
 | 
	
		
			
				|  |  | -                      prop="image">
 | 
	
		
			
				|  |  | -          <el-upload class="avatar-uploader"
 | 
	
		
			
				|  |  | -                     action="/api-web/uploadFile"
 | 
	
		
			
				|  |  | -                     accept=".jpg, .jpeg, .png"
 | 
	
		
			
				|  |  | -                     :headers="headers"
 | 
	
		
			
				|  |  | -                     :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                     :show-file-list="false"
 | 
	
		
			
				|  |  | -                     :on-success="handleAvatarSuccess"
 | 
	
		
			
				|  |  | -                     :before-upload="beforeAvatarUpload">
 | 
	
		
			
				|  |  | -            <img v-if="form.image"
 | 
	
		
			
				|  |  | -                 :src="form.image"
 | 
	
		
			
				|  |  | -                 class="avatar">
 | 
	
		
			
				|  |  | -            <i v-else
 | 
	
		
			
				|  |  | -               class="el-icon-plus avatar-uploader-icon"></i>
 | 
	
		
			
				|  |  | +        <el-form-item label="是否参与置换" prop="replacementShow">
 | 
	
		
			
				|  |  | +          <el-select
 | 
	
		
			
				|  |  | +            v-model="form.replacementShow"
 | 
	
		
			
				|  |  | +            placeholder="请选择库存预警"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px !important"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option label="是" :value="1"></el-option>
 | 
	
		
			
				|  |  | +            <el-option label="否" :value="0"></el-option>
 | 
	
		
			
				|  |  | +          </el-select>
 | 
	
		
			
				|  |  | +        </el-form-item>
 | 
	
		
			
				|  |  | +        <el-form-item label="商品图片" prop="image">
 | 
	
		
			
				|  |  | +          <el-upload
 | 
	
		
			
				|  |  | +            class="avatar-uploader"
 | 
	
		
			
				|  |  | +            action="/api-web/uploadFile"
 | 
	
		
			
				|  |  | +            accept=".jpg, .jpeg, .png"
 | 
	
		
			
				|  |  | +            :headers="headers"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            :show-file-list="false"
 | 
	
		
			
				|  |  | +            :on-success="handleAvatarSuccess"
 | 
	
		
			
				|  |  | +            :before-upload="beforeAvatarUpload"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <img v-if="form.image" :src="form.image" class="avatar" />
 | 
	
		
			
				|  |  | +            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
 | 
	
		
			
				|  |  |            </el-upload>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="商品描述"
 | 
	
		
			
				|  |  | -                      prop="brief">
 | 
	
		
			
				|  |  | -          <el-input type="textarea"
 | 
	
		
			
				|  |  | -                    v-model.trim="form.brief"
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="商品描述" prop="brief">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            type="textarea"
 | 
	
		
			
				|  |  | +            v-model.trim="form.brief"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | -        <el-form-item label="商品详情"
 | 
	
		
			
				|  |  | -                      prop="desc">
 | 
	
		
			
				|  |  | -          <el-input type="textarea"
 | 
	
		
			
				|  |  | -                    v-model.trim="form.desc"
 | 
	
		
			
				|  |  | -                    :disabled="pageDisabled"
 | 
	
		
			
				|  |  | -                    style="width: 400px"></el-input>
 | 
	
		
			
				|  |  | +        <el-form-item label="商品详情" prop="desc">
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            type="textarea"
 | 
	
		
			
				|  |  | +            v-model.trim="form.desc"
 | 
	
		
			
				|  |  | +            :disabled="pageDisabled"
 | 
	
		
			
				|  |  | +            style="width: 400px"
 | 
	
		
			
				|  |  | +          ></el-input>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |          <el-form-item v-if="!pageDisabled">
 | 
	
		
			
				|  |  | -          <el-button @click="onSubmit('form')"
 | 
	
		
			
				|  |  | -                     type="primary">立即{{ pageType == "create" ? '创建' : '修改' }}</el-button>
 | 
	
		
			
				|  |  | +          <el-button @click="onSubmit('form')" type="primary"
 | 
	
		
			
				|  |  | +            >立即{{ pageType == "create" ? "创建" : "修改" }}</el-button
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  |            <el-button @click="onReSet('form')">重置</el-button>
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  |        </el-form>
 | 
	
	
		
			
				|  | @@ -202,48 +225,46 @@ import {
 | 
	
		
			
				|  |  |    categoryListTree,
 | 
	
		
			
				|  |  |    goodsAdd,
 | 
	
		
			
				|  |  |    goodsUpdate,
 | 
	
		
			
				|  |  | -  goodsSingleQuery
 | 
	
		
			
				|  |  | -} from '@/api/businessManager'
 | 
	
		
			
				|  |  | -import {
 | 
	
		
			
				|  |  | -  getToken
 | 
	
		
			
				|  |  | -} from '@/utils/auth'
 | 
	
		
			
				|  |  | -import { goodsType, stockType } from '@/utils/searchArray'
 | 
	
		
			
				|  |  | +  goodsSingleQuery,
 | 
	
		
			
				|  |  | +} from "@/api/businessManager";
 | 
	
		
			
				|  |  | +import { getToken } from "@/utils/auth";
 | 
	
		
			
				|  |  | +import { goodsType, stockType } from "@/utils/searchArray";
 | 
	
		
			
				|  |  |  let validPrice = (rule, value, callback) => {
 | 
	
		
			
				|  |  | -  if (value == '' && typeof value == 'string' || value == null) {
 | 
	
		
			
				|  |  | -    callback(new Error('请输入金额'))
 | 
	
		
			
				|  |  | +  if ((value == "" && typeof value == "string") || value == null) {
 | 
	
		
			
				|  |  | +    callback(new Error("请输入金额"));
 | 
	
		
			
				|  |  |    } else if (value < 0) {
 | 
	
		
			
				|  |  | -    callback(new Error('输入金额必须大于或等于0'))
 | 
	
		
			
				|  |  | +    callback(new Error("输入金额必须大于或等于0"));
 | 
	
		
			
				|  |  |    } else if (value >= 100000) {
 | 
	
		
			
				|  |  | -    callback(new Error('输入金额必须小于100000'))
 | 
	
		
			
				|  |  | +    callback(new Error("输入金额必须小于100000"));
 | 
	
		
			
				|  |  |    } else {
 | 
	
		
			
				|  |  | -    callback()
 | 
	
		
			
				|  |  | +    callback();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  let validStock = (rule, value, callback) => {
 | 
	
		
			
				|  |  | -  if (value == '' && typeof value == 'string' || value == null) {
 | 
	
		
			
				|  |  | -    callback(new Error('请输入库存'))
 | 
	
		
			
				|  |  | +  if ((value == "" && typeof value == "string") || value == null) {
 | 
	
		
			
				|  |  | +    callback(new Error("请输入库存"));
 | 
	
		
			
				|  |  |    } else if (value < 0) {
 | 
	
		
			
				|  |  | -    callback(new Error('库存数量必须大于或等于0'))
 | 
	
		
			
				|  |  | +    callback(new Error("库存数量必须大于或等于0"));
 | 
	
		
			
				|  |  |    } else {
 | 
	
		
			
				|  |  | -    callback()
 | 
	
		
			
				|  |  | +    callback();
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  | -  name: 'shopOperation',
 | 
	
		
			
				|  |  | -  data () {
 | 
	
		
			
				|  |  | +  name: "shopOperation",
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  |        goodsType: goodsType,
 | 
	
		
			
				|  |  |        stockType: stockType,
 | 
	
		
			
				|  |  |        categoryList: [],
 | 
	
		
			
				|  |  |        pageType: null,
 | 
	
		
			
				|  |  |        pageTitle: {
 | 
	
		
			
				|  |  | -        'create': '添加',
 | 
	
		
			
				|  |  | -        'update': '修改',
 | 
	
		
			
				|  |  | -        'look': '查看',
 | 
	
		
			
				|  |  | +        create: "添加",
 | 
	
		
			
				|  |  | +        update: "修改",
 | 
	
		
			
				|  |  | +        look: "查看",
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        pageDisabled: false,
 | 
	
		
			
				|  |  |        headers: {
 | 
	
		
			
				|  |  | -        Authorization: getToken()
 | 
	
		
			
				|  |  | +        Authorization: getToken(),
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        form: {
 | 
	
		
			
				|  |  |          sn: null,
 | 
	
	
		
			
				|  | @@ -265,186 +286,215 @@ export default {
 | 
	
		
			
				|  |  |          stockWarning: null,
 | 
	
		
			
				|  |  |          image: null,
 | 
	
		
			
				|  |  |          brief: null,
 | 
	
		
			
				|  |  | -        desc: null
 | 
	
		
			
				|  |  | +        desc: null,
 | 
	
		
			
				|  |  | +        replacementShow:null
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        rules: {
 | 
	
		
			
				|  |  | -        sn: [{ required: true, message: '请输入商品货号', trigger: 'blur' }],
 | 
	
		
			
				|  |  | -        brand: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请输入品牌',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          min: 2,
 | 
	
		
			
				|  |  | -          max: 30,
 | 
	
		
			
				|  |  | -          message: '长度在 2 到 30 个字符',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +        sn: [{ required: true, message: "请输入商品货号", trigger: "blur" }],
 | 
	
		
			
				|  |  | +        brand: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请输入品牌",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            min: 2,
 | 
	
		
			
				|  |  | +            max: 30,
 | 
	
		
			
				|  |  | +            message: "长度在 2 到 30 个字符",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          supplyChannel: [
 | 
	
		
			
				|  |  | -          { required: true, message: '请输入备查货号', trigger: 'blur' }
 | 
	
		
			
				|  |  | +          { required: true, message: "请输入备查货号", trigger: "blur" },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  | -        name: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请输入商品名称',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          min: 2,
 | 
	
		
			
				|  |  | -          max: 30,
 | 
	
		
			
				|  |  | -          message: '长度在 2 到 30 个字符',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +        name: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请输入商品名称",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            min: 2,
 | 
	
		
			
				|  |  | +            max: 30,
 | 
	
		
			
				|  |  | +            message: "长度在 2 到 30 个字符",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  | -        type: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请选择商品分类',
 | 
	
		
			
				|  |  | -          trigger: 'change'
 | 
	
		
			
				|  |  | -        }],
 | 
	
		
			
				|  |  | -        goodsCategoryId: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请选择商品类型',
 | 
	
		
			
				|  |  | -          trigger: 'change'
 | 
	
		
			
				|  |  | -        }],
 | 
	
		
			
				|  |  | -        specification: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请输入商品型号',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          min: 2,
 | 
	
		
			
				|  |  | -          max: 30,
 | 
	
		
			
				|  |  | -          message: '长度在 2 到 30 个字符',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +        type: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请选择商品分类",
 | 
	
		
			
				|  |  | +            trigger: "change",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        goodsCategoryId: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请选择商品类型",
 | 
	
		
			
				|  |  | +            trigger: "change",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        specification: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请输入商品型号",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            min: 2,
 | 
	
		
			
				|  |  | +            max: 30,
 | 
	
		
			
				|  |  | +            message: "长度在 2 到 30 个字符",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          stockCount: [
 | 
	
		
			
				|  |  | -          { required: true, validator: validStock, trigger: 'blur' }
 | 
	
		
			
				|  |  | +          { required: true, validator: validStock, trigger: "blur" },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          taxStockCount: [
 | 
	
		
			
				|  |  | -          { required: true, validator: validStock, trigger: 'blur' }
 | 
	
		
			
				|  |  | +          { required: true, validator: validStock, trigger: "blur" },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          stockType: [
 | 
	
		
			
				|  |  | -          { required: true, message: '请选择库存类型', trigger: 'change' }
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择库存类型", trigger: "change" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        marketPrice: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            validator: validPrice,
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        discountPrice: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            validator: validPrice,
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        groupPurchasePrice: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            validator: validPrice,
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  | -        marketPrice: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          validator: validPrice,
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }],
 | 
	
		
			
				|  |  | -        discountPrice: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          validator: validPrice,
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }],
 | 
	
		
			
				|  |  | -        groupPurchasePrice: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          validator: validPrice,
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }],
 | 
	
		
			
				|  |  |          clientShow: [
 | 
	
		
			
				|  |  | -          { required: true, message: '请选择学员是否展示', trigger: 'change' }
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择学员是否展示", trigger: "change" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        replacementShow:[
 | 
	
		
			
				|  |  | +          { required: true, message: "是否参与乐器置换", trigger: "change" },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          educationalShow: [
 | 
	
		
			
				|  |  | -          { required: true, message: '请选择教务端是否展示', trigger: 'change' }
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请选择教务端是否展示",
 | 
	
		
			
				|  |  | +            trigger: "change",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          musicGroupShow: [
 | 
	
		
			
				|  |  | -          { required: true, message: '请选择乐团是否展示', trigger: 'change' }
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择乐团是否展示", trigger: "change" },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  |          stockWarning: [
 | 
	
		
			
				|  |  | -          { required: true, message: '请选择是否库存预警', trigger: 'change' }
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择是否库存预警", trigger: "change" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        image: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请选择图片",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        brief: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请输入商品描述",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        desc: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            required: true,
 | 
	
		
			
				|  |  | +            message: "请输入商品详情",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  |          ],
 | 
	
		
			
				|  |  | -        image: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请选择图片',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }],
 | 
	
		
			
				|  |  | -        brief: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请输入商品描述',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }],
 | 
	
		
			
				|  |  | -        desc: [{
 | 
	
		
			
				|  |  | -          required: true,
 | 
	
		
			
				|  |  | -          message: '请输入商品详情',
 | 
	
		
			
				|  |  | -          trigger: 'blur'
 | 
	
		
			
				|  |  | -        }]
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        Fsearch: null,
 | 
	
		
			
				|  |  |        Frules: null,
 | 
	
		
			
				|  |  |        imageWidthM: 400,
 | 
	
		
			
				|  |  | -      imageHeightM: 400
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +      imageHeightM: 400,
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | -  mounted () {
 | 
	
		
			
				|  |  | -    this.init()
 | 
	
		
			
				|  |  | +  mounted() {
 | 
	
		
			
				|  |  | +    this.init();
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  | -    init () {
 | 
	
		
			
				|  |  | -      let query = this.$route.query
 | 
	
		
			
				|  |  | +    init() {
 | 
	
		
			
				|  |  | +      let query = this.$route.query;
 | 
	
		
			
				|  |  |        if (query.paramInfo) {
 | 
	
		
			
				|  |  | -        let paramInfo = JSON.parse(query.paramInfo)
 | 
	
		
			
				|  |  | -        this.pageType = paramInfo.type
 | 
	
		
			
				|  |  | -        this.id = paramInfo.id
 | 
	
		
			
				|  |  | +        let paramInfo = JSON.parse(query.paramInfo);
 | 
	
		
			
				|  |  | +        this.pageType = paramInfo.type;
 | 
	
		
			
				|  |  | +        this.id = paramInfo.id;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      this.pageDisabled = this.pageType == 'look' ? true : false
 | 
	
		
			
				|  |  | -      this.getList()
 | 
	
		
			
				|  |  | -      this.getCatagory()
 | 
	
		
			
				|  |  | +      this.pageDisabled = this.pageType == "look" ? true : false;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +      this.getCatagory();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    onSubmit (formName) {
 | 
	
		
			
				|  |  | +    onSubmit(formName) {
 | 
	
		
			
				|  |  |        this.$refs[formName].validate((valid) => {
 | 
	
		
			
				|  |  |          if (valid) {
 | 
	
		
			
				|  |  | -          if (this.pageType == 'create') {
 | 
	
		
			
				|  |  | -            if (this.form.id) { // 判断有没有Id,如果有则删除
 | 
	
		
			
				|  |  | -              delete this.form.id
 | 
	
		
			
				|  |  | +          if (this.pageType == "create") {
 | 
	
		
			
				|  |  | +            if (this.form.id) {
 | 
	
		
			
				|  |  | +              // 判断有没有Id,如果有则删除
 | 
	
		
			
				|  |  | +              delete this.form.id;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            this.form.status = 'NO' // 默认上架
 | 
	
		
			
				|  |  | -            goodsAdd(this.form).then(res => {
 | 
	
		
			
				|  |  | -              this.messageTips('添加', res)
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | -          } else if (this.pageType == 'update') {
 | 
	
		
			
				|  |  | -            goodsUpdate(this.form).then(res => {
 | 
	
		
			
				|  |  | -              this.messageTips('修改', res)
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | +            this.form.status = "NO"; // 默认上架
 | 
	
		
			
				|  |  | +            goodsAdd(this.form).then((res) => {
 | 
	
		
			
				|  |  | +              this.messageTips("添加", res);
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +          } else if (this.pageType == "update") {
 | 
	
		
			
				|  |  | +            goodsUpdate(this.form).then((res) => {
 | 
	
		
			
				|  |  | +              this.messageTips("修改", res);
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |            this.$nextTick(() => {
 | 
	
		
			
				|  |  | -            let isError = document.getElementsByClassName('is-error')
 | 
	
		
			
				|  |  | +            let isError = document.getElementsByClassName("is-error");
 | 
	
		
			
				|  |  |              isError[0].scrollIntoView({
 | 
	
		
			
				|  |  | -              block: 'center',
 | 
	
		
			
				|  |  | -              behavior: 'smooth',
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | -          })
 | 
	
		
			
				|  |  | -          return false
 | 
	
		
			
				|  |  | +              block: "center",
 | 
	
		
			
				|  |  | +              behavior: "smooth",
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          return false;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    messageTips (title, res) {
 | 
	
		
			
				|  |  | +    messageTips(title, res) {
 | 
	
		
			
				|  |  |        if (res.code == 200) {
 | 
	
		
			
				|  |  | -        this.$message.success(title + '成功')
 | 
	
		
			
				|  |  | -        this.$store.dispatch('delVisitedViews', this.$route)
 | 
	
		
			
				|  |  | +        this.$message.success(title + "成功");
 | 
	
		
			
				|  |  | +        this.$store.dispatch("delVisitedViews", this.$route);
 | 
	
		
			
				|  |  |          this.$router.push({
 | 
	
		
			
				|  |  | -          path: '/shopManager/shopManager',
 | 
	
		
			
				|  |  | +          path: "/shopManager/shopManager",
 | 
	
		
			
				|  |  |            query: {
 | 
	
		
			
				|  |  |              pageInfo: this.Frules,
 | 
	
		
			
				|  |  | -            searchForm: this.Fsearch
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +            searchForm: this.Fsearch,
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  | -        this.$message.error(res.msg)
 | 
	
		
			
				|  |  | +        this.$message.error(res.msg);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    onCancel () {
 | 
	
		
			
				|  |  | -      this.$store.dispatch('delVisitedViews', this.$route)
 | 
	
		
			
				|  |  | +    onCancel() {
 | 
	
		
			
				|  |  | +      this.$store.dispatch("delVisitedViews", this.$route);
 | 
	
		
			
				|  |  |        this.$router.push({
 | 
	
		
			
				|  |  | -        path: '/shopManager/shopManager'
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | +        path: "/shopManager/shopManager",
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    onReSet (formName) {
 | 
	
		
			
				|  |  | -      this.$refs[formName].resetFields()
 | 
	
		
			
				|  |  | +    onReSet(formName) {
 | 
	
		
			
				|  |  | +      this.$refs[formName].resetFields();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    getList () {
 | 
	
		
			
				|  |  | -      if (this.pageType == 'create') {
 | 
	
		
			
				|  |  | +    getList() {
 | 
	
		
			
				|  |  | +      if (this.pageType == "create") {
 | 
	
		
			
				|  |  |          this.form = {
 | 
	
		
			
				|  |  |            sn: null,
 | 
	
		
			
				|  |  |            brand: null,
 | 
	
	
		
			
				|  | @@ -465,16 +515,15 @@ export default {
 | 
	
		
			
				|  |  |            stockWarning: null,
 | 
	
		
			
				|  |  |            image: null,
 | 
	
		
			
				|  |  |            brief: null,
 | 
	
		
			
				|  |  | -          desc: null
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (this.$refs['form']) {
 | 
	
		
			
				|  |  | -          this.$refs['form'].resetFields();
 | 
	
		
			
				|  |  | +          desc: null,
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +        if (this.$refs["form"]) {
 | 
	
		
			
				|  |  | +          this.$refs["form"].resetFields();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  | -        goodsSingleQuery(this.id).then(res => {
 | 
	
		
			
				|  |  | +        goodsSingleQuery(this.id).then((res) => {
 | 
	
		
			
				|  |  |            if (res.code == 200) {
 | 
	
		
			
				|  |  | -            let result = res.data
 | 
	
		
			
				|  |  | +            let result = res.data;
 | 
	
		
			
				|  |  |              this.form = {
 | 
	
		
			
				|  |  |                id: result.id,
 | 
	
		
			
				|  |  |                sn: result.sn,
 | 
	
	
		
			
				|  | @@ -496,83 +545,85 @@ export default {
 | 
	
		
			
				|  |  |                stockWarning: result.stockWarning,
 | 
	
		
			
				|  |  |                image: result.image,
 | 
	
		
			
				|  |  |                brief: result.brief,
 | 
	
		
			
				|  |  | -              desc: result.desc
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +              desc: result.desc,
 | 
	
		
			
				|  |  | +              replacementShow:result.replacementShow
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    getCatagory () {
 | 
	
		
			
				|  |  | +    getCatagory() {
 | 
	
		
			
				|  |  |        categoryListTree({
 | 
	
		
			
				|  |  |          delFlag: 0,
 | 
	
		
			
				|  |  | -        rows: 9999
 | 
	
		
			
				|  |  | -      }).then(res => {
 | 
	
		
			
				|  |  | -        let result = res.data
 | 
	
		
			
				|  |  | +        rows: 9999,
 | 
	
		
			
				|  |  | +      }).then((res) => {
 | 
	
		
			
				|  |  | +        let result = res.data;
 | 
	
		
			
				|  |  |          if (res.code == 200) {
 | 
	
		
			
				|  |  | -          let tempArray = []
 | 
	
		
			
				|  |  | -          result.rows.forEach(row => {
 | 
	
		
			
				|  |  | +          let tempArray = [];
 | 
	
		
			
				|  |  | +          result.rows.forEach((row) => {
 | 
	
		
			
				|  |  |              tempArray.push({
 | 
	
		
			
				|  |  |                label: row.name,
 | 
	
		
			
				|  |  | -              value: row.id
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | -          })
 | 
	
		
			
				|  |  | -          this.categoryList = tempArray
 | 
	
		
			
				|  |  | +              value: row.id,
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          this.categoryList = tempArray;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    handleAvatarSuccess (res, file) {
 | 
	
		
			
				|  |  | -      this.form.image = res.data.url
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    handleAvatarSuccess(res, file) {
 | 
	
		
			
				|  |  | +      this.form.image = res.data.url;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    beforeAvatarUpload (file) {
 | 
	
		
			
				|  |  | +    beforeAvatarUpload(file) {
 | 
	
		
			
				|  |  |        const imageType = {
 | 
	
		
			
				|  |  | -        'image/png': true,
 | 
	
		
			
				|  |  | -        'image/jpeg': true
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      const isImage = imageType[file.type]
 | 
	
		
			
				|  |  | -      const isLt2M = file.size / 1024 / 1024 < 2
 | 
	
		
			
				|  |  | -      const imageWidth = this.imageWidthM
 | 
	
		
			
				|  |  | -      const imageHeigh = this.imageHeightM
 | 
	
		
			
				|  |  | -      const _URL = window.URL || window.webkitURL
 | 
	
		
			
				|  |  | +        "image/png": true,
 | 
	
		
			
				|  |  | +        "image/jpeg": true,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      const isImage = imageType[file.type];
 | 
	
		
			
				|  |  | +      const isLt2M = file.size / 1024 / 1024 < 2;
 | 
	
		
			
				|  |  | +      const imageWidth = this.imageWidthM;
 | 
	
		
			
				|  |  | +      const imageHeigh = this.imageHeightM;
 | 
	
		
			
				|  |  | +      const _URL = window.URL || window.webkitURL;
 | 
	
		
			
				|  |  |        const isSize = new Promise((resolve, reject) => {
 | 
	
		
			
				|  |  | -        const img = new Image()
 | 
	
		
			
				|  |  | +        const img = new Image();
 | 
	
		
			
				|  |  |          img.onload = function () {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |            if (imageWidth && imageHeigh) {
 | 
	
		
			
				|  |  | -            this.width === imageWidth && this.height === imageHeigh ? resolve() : reject(`请上传${imageWidth}x${imageHeigh}尺寸图片`)
 | 
	
		
			
				|  |  | +            this.width === imageWidth && this.height === imageHeigh
 | 
	
		
			
				|  |  | +              ? resolve()
 | 
	
		
			
				|  |  | +              : reject(`请上传${imageWidth}x${imageHeigh}尺寸图片`);
 | 
	
		
			
				|  |  |            } else if (imageWidth && !imageHeigh) {
 | 
	
		
			
				|  |  | -            this.width === imageWidth ? resolve() : reject(`请上传宽为${imageWidth}的图片`)
 | 
	
		
			
				|  |  | +            this.width === imageWidth
 | 
	
		
			
				|  |  | +              ? resolve()
 | 
	
		
			
				|  |  | +              : reject(`请上传宽为${imageWidth}的图片`);
 | 
	
		
			
				|  |  |            } else if (!imageWidth && imageHeigh) {
 | 
	
		
			
				|  |  | -            this.height === imageHeigh ? resolve() : reject(`请上传高为${imageHeigh}的图片`)
 | 
	
		
			
				|  |  | +            this.height === imageHeigh
 | 
	
		
			
				|  |  | +              ? resolve()
 | 
	
		
			
				|  |  | +              : reject(`请上传高为${imageHeigh}的图片`);
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            resolve();
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -          else {
 | 
	
		
			
				|  |  | -            resolve()
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        img.src = _URL.createObjectURL(file)
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +        img.src = _URL.createObjectURL(file);
 | 
	
		
			
				|  |  |        }).then(
 | 
	
		
			
				|  |  |          () => {
 | 
	
		
			
				|  |  | -          return file
 | 
	
		
			
				|  |  | +          return file;
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          (src) => {
 | 
	
		
			
				|  |  |            this.$message.error(src);
 | 
	
		
			
				|  |  | -          this.uploadImgLoading = false
 | 
	
		
			
				|  |  | -          return Promise.reject()
 | 
	
		
			
				|  |  | +          this.uploadImgLoading = false;
 | 
	
		
			
				|  |  | +          return Promise.reject();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      )
 | 
	
		
			
				|  |  | -      console.log(isSize)
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +      console.log(isSize);
 | 
	
		
			
				|  |  |        if (!isImage) {
 | 
	
		
			
				|  |  | -        this.$message.error('只能上传图片格式!')
 | 
	
		
			
				|  |  | +        this.$message.error("只能上传图片格式!");
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        if (!isLt2M) {
 | 
	
		
			
				|  |  | -        this.$message.error('上传头像图片大小不能超过 2MB!')
 | 
	
		
			
				|  |  | +        this.$message.error("上传头像图片大小不能超过 2MB!");
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        return isImage && isLt2M && isSize;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
		
			
				|  |  |  .el-button--primary {
 |