Просмотр исходного кода

fix: 商品规格图片与成本

Sun 3 лет назад
Родитель
Сommit
b4e1eb44db
1 измененных файлов с 9 добавлено и 9 удалено
  1. 9 9
      src/views/business/goods/components/spec.vue

+ 9 - 9
src/views/business/goods/components/spec.vue

@@ -17,7 +17,7 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-form-item :prop="`specList.${index}.vals`" :rules="{ required: true, message: '请完善规格值', trigger: 'blur' }">
+          <el-form-item :prop="`specList.${index}.vals`" :rules="{ required: true, message: '请完善规格值', trigger: ['blur', 'change'] }">
             <el-col :span="24">
               <el-tag v-for="(tag, index) in spec.vals" :key="index" closable style="margin-right: 10px" @close="spec.vals.splice(index, 1)">{{ tag }}</el-tag>
               <el-input v-if="spec.editVals" v-model="specValTmp" style="display: inline-block;width: 120px; margin-right: 10px" size="mini" @keyup.enter.native="checkSpecVal(spec)" />
@@ -28,8 +28,8 @@
         </el-row>
       </div>
     </el-form>
-    <el-button type="primary" size="small" plain @click="specList.push({ name: '', vals: [], edit: true, editVals: false })" style="margin-bottom: 10px">添加规格</el-button>
-    <el-button type="primary" size="small" style="margin-bottom: 10px;margin-left: 10px" :disabled="specList.length === 0" @click="genSku">重新生成SKU表格</el-button>
+    <el-button type="primary" size="small" plain @click="specList.push({ name: '', vals: [], edit: true, editVals: false })" :disabled="specList.find(item => item.edit)" style="margin-bottom: 10px">添加规格</el-button>
+    <el-button type="primary" size="small" style="margin-bottom: 10px;margin-left: 10px" :disabled="specList.length === 0 || specList.find(item => item.edit)" @click="genSku">重新生成SKU表格</el-button>
     <br>
     <el-form ref="sku" :model="{ skuList }">
       <table v-if="skuList instanceof Array && skuList.length > 0" class="spec-table" border="1" bordercolor="#CCC">
@@ -52,8 +52,8 @@
             {{ formatObj(sku.properties)[spec.name] }}
           </td>
           <td>
-            <el-form-item :prop="`skuList.${index}.picUrl`" :rules="{ required: true, message: '请上传SKU图片', trigger: 'blur' }">
-              <Upload v-model="sku.picUrl" :limit="1" :low="true" style="height: 40px;overflow: hidden" />
+            <el-form-item :prop="`skuList.${index}.picUrlArr`" :rules="{ required: true, message: '请上传SKU图片', trigger: 'blur' }">
+              <Upload v-model="sku.picUrlArr" :limit="1" :low="true" style="height: 40px;overflow: hidden" />
             </el-form-item>
           </td>
           <td>
@@ -67,7 +67,7 @@
             </el-form-item>
           </td>
           <td>
-            <el-form-item :prop="`skuList.${index}.exchangePrice`" :rules="exchangeRules">
+            <el-form-item :prop="`skuList.${index}.valueY`" :rules="exchangeRules">
               <p>{{ sku.valueY }}</p>
             </el-form-item>
           </td>
@@ -235,10 +235,9 @@ export default {
         skuList[productsIndex] = {
           idx: productsIndex,
           name: specifications.toString(),
-          picUrl: '',
-          exchangePrice: 0.00,
+          picUrlArr: [],
           valueY: 0.00,
-          costY: 0.00,
+          costY: '',
           quantity: 0,
           status: true,
           properties
@@ -278,6 +277,7 @@ export default {
             item.value = accMul(valueY, 100)
             item.exchangePrice = item.value
             item.cost = accMul(costY, 100)
+            item.picUrl = item.picUrlArr.map(item => { return item.fileName }).toString()
           })
           this.$emit('valid', this.skuList)
         } else {