瀏覽代碼

阶梯价格bug修复

home chao 5 年之前
父節點
當前提交
86920a07c1

+ 1 - 0
.env.development

@@ -6,6 +6,7 @@ ENV = 'development'
 # VUE_APP_BASE_API = 'http://192.168.1.22:9104'
 # VUE_APP_BASE_API = 'http://192.168.1.26:9104'
 VUE_APP_BASE_API = 'https://mai-b.caimei365.com'
+# VUE_APP_BASE_API = 'http://192.168.78.1:9104/'
 
 # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
 # to control whether the babel-plugin-dynamic-import-node plugin is enabled.

+ 16 - 27
src/views/goods/components/price-edit.vue

@@ -7,7 +7,7 @@
       <el-form-item label="供应商名称:">
         <div class="text" v-text="productDetail.shopName" />
       </el-form-item>
-      <el-form-item label="商品分类:" prop="classifyID" :rules="{required:true, message:'请选择分类', trigger:'change'}">
+      <el-form-item label="商品分类:" prop="classifyID" :rules="{required:true, message:'*必填', trigger:'change'}">
         <el-select v-model="formData.classifyID" placeholder="商品分类" :label="productDetail.productClassifyName" size="small" class="filter-item" :value="productDetail.classifyID*1">
           <template v-for="item in classify">
             <el-option v-if="item.status*1 === 1" :key="item.id" :label="item.classifyName" :value="item.id" />
@@ -23,7 +23,7 @@
         </el-form-item>
       </div>
 
-      <el-form-item label="售价:" prop="ladderPriceFlag" :rules="{required:true, message:'请选择是否使用阶梯价格', trigger:'change'}">
+      <el-form-item label="售价:" prop="ladderPriceFlag" :rules="{required:true, message:'*必填', trigger:'change'}">
         <el-radio-group v-model="formData.ladderPriceFlag" size="small">
           <el-radio :label="0">不使用阶梯价格</el-radio>
           <el-radio :label="1">使用阶梯价格</el-radio>
@@ -34,7 +34,7 @@
         <el-form-item label="" prop="retailPrice" :rules="{validator:checkPrice, type:'float', trigger:'blur'}">
           <el-input v-model.number="formData.retailPrice" size="small" />
         </el-form-item>
-        <el-form-item label="起订量:" prop="minBuyNumber" :rules="{required:true, validator:checkNumber, type:'number', trigger:'blur'}">
+        <el-form-item label="起订量:" prop="minBuyNumber" :rules="{required:true, validator:checkNumbers, type:'number', trigger:'blur'}">
           <el-input v-model.number="formData.minBuyNumber" size="small" />
         </el-form-item>
       </div>
@@ -108,15 +108,7 @@ export default {
         price: '',
         number: ''
       },
-      multiplePrice: [],
-      rules: {
-        classifyID: [{ required: true, message: '请选择分类', trigger: 'change' }],
-        normalPrice: [{ required: true, message: '市场价不能为空', trigger: 'blur' }],
-        costPrice: [{ required: true, message: '成本价不能为空', trigger: 'blur' }],
-        ladderPriceFlag: [{ required: true, message: '请选择是否使用阶梯价格', trigger: 'change' }],
-        retailPrice: [{ required: true, message: '售价不能为空', trigger: 'blur' }],
-        minBuyNumber: [{ required: true, message: '起订量不能为空', trigger: 'blur' }]
-      }
+      multiplePrice: []
     }
   },
   computed: {
@@ -205,24 +197,24 @@ export default {
       })
     },
     /** 自定义校验规则 */
-    checkNumber(rule, value, callback) {
+    checkNumbers(rule, value, callback) {
       if (!value) {
-        return callback(new Error('数量不能为空'))
+        return callback(new Error('*必填'))
       }
       this.$nextTick(() => {
-        !Number.isInteger(value) ? callback(new Error('请输入数字值')) : callback()
+        !Number.isInteger(value) ? callback(new Error('*起订量数值填写错误')) : callback()
       })
     },
     checkPrice(rule, value, callback) {
       if (!value) {
-        return callback(new Error('金额不能为空'))
+        return callback(new Error('*必填'))
       }
       this.$nextTick(() => {
         if (!Number.parseFloat(value * 1)) {
-          callback(new Error('请输入正确的金额'))
+          callback(new Error('*请输入正确的金额'))
         } else {
           if (('' + value).split('.').length > 1 && ('' + value).split('.')[1].length > 2) {
-            return callback(new Error('最多保留两位小数'))
+            return callback(new Error('*最多保留两位小数'))
           } else {
             callback()
           }
@@ -231,15 +223,15 @@ export default {
     },
     checkMultiNumber(rule, value, callback) {
       if (!value) {
-        return callback(new Error('数量不能为空'))
+        return callback(new Error('*必填'))
       }
       this.$nextTick(() => {
         if (!Number.isInteger(value)) {
-          callback(new Error('请输入数字值'))
+          callback(new Error('*请输入数字值'))
         } else {
           if ((rule.fullField.indexOf('2') > 0 && this.formData.ladderPriceList[2].buyNum <= this.formData.ladderPriceList[1].buyNum) ||
             (rule.fullField.indexOf('1') > 0 && this.formData.ladderPriceList[1].buyNum <= this.formData.ladderPriceList[0].buyNum)) {
-            return callback(new Error('起订量必须大于上一个阶梯'))
+            return callback(new Error('*起订量必须大于上一个阶梯'))
           } else {
             callback()
           }
@@ -248,17 +240,14 @@ export default {
     },
     checkMultiPrice(rule, value, callback) {
       if (!value) {
-        return callback(new Error('金额不能为空'))
+        return callback(new Error('*必填'))
       }
       this.$nextTick(() => {
         if (!Number.parseFloat(value * 1)) {
-          callback(new Error('请输入正确的金额'))
+          callback(new Error('*请输入正确的金额'))
         } else {
           if (('' + value).split('.').length > 1 && ('' + value).split('.')[1].length > 2) {
-            return callback(new Error('最多保留两位小数'))
-          } else if ((rule.fullField.indexOf('2') > 0 && this.formData.ladderPriceList[2].buyPrice * 1 > this.formData.ladderPriceList[1].buyPrice * 1) ||
-            (rule.fullField.indexOf('1') > 0 && this.formData.ladderPriceList[1].buyPrice * 1 > this.formData.ladderPriceList[0].buyPrice * 1)) {
-            return callback(new Error('单价不能高于上一个阶梯'))
+            return callback(new Error('*最多保留两位小数'))
           } else {
             callback()
           }

+ 14 - 5
src/views/goods/list-commonly.vue

@@ -66,14 +66,23 @@
       </el-table-column>
       <el-table-column label="商品名称" align="center" prop="productName" min-width="200px" />
       <el-table-column label="供应商" align="center" prop="shopName" min-width="120px" />
-      <el-table-column label="市场价" align="center" prop="normalPrice" />
-      <el-table-column label="成本价" align="center" prop="costPrice" />
+      <el-table-column label="市场价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.normalPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
+      <el-table-column label="成本价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.costPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
       <el-table-column label="售价" align="center">
         <template slot-scope="{row}">
           <template v-if="row.ladderPriceFlag*1===1">
-            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">{{ item.price }}</div>
+            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">
+              ¥{{ item.price | toThousandFloatFilter }}</div>
           </template>
-          <template v-else>{{ row.retailPrice }}</template>
+          <template v-else>¥{{ row.retailPrice | toThousandFloatFilter }}</template>
         </template>
       </el-table-column>
       <el-table-column label="起订量" align="center" width="70">
@@ -171,7 +180,7 @@ export default {
               if (row.ladderPriceList[i] && row.ladderPriceList[i].delFlag * 1 === 0) {
                 let str = ''
                 if (row.ladderPriceList[i + 1] && row.ladderPriceList[i + 1].delFlag * 1 === 0) {
-                  str = row.ladderPriceList[i].buyNum + '-' + row.ladderPriceList[i + 1].buyNum
+                  str = row.ladderPriceList[i].buyNum + '-' + (row.ladderPriceList[i + 1].buyNum - 1)
                 } else {
                   str = '≥' + row.ladderPriceList[i].buyNum
                 }

+ 14 - 5
src/views/goods/list-preferential.vue

@@ -66,14 +66,23 @@
       </el-table-column>
       <el-table-column label="商品名称" align="center" prop="productName" min-width="200px" />
       <el-table-column label="供应商" align="center" prop="shopName" min-width="120px" />
-      <el-table-column label="市场价" align="center" prop="normalPrice" />
-      <el-table-column label="成本价" align="center" prop="costPrice" />
+      <el-table-column label="市场价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.normalPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
+      <el-table-column label="成本价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.costPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
       <el-table-column label="售价" align="center">
         <template slot-scope="{row}">
           <template v-if="row.ladderPriceFlag*1===1">
-            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">{{ item.price }}</div>
+            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">
+              ¥{{ item.price | toThousandFloatFilter }}</div>
           </template>
-          <template v-else>{{ row.retailPrice }}</template>
+          <template v-else>¥{{ row.retailPrice | toThousandFloatFilter }}</template>
         </template>
       </el-table-column>
       <el-table-column label="起订量" align="center" width="70">
@@ -171,7 +180,7 @@ export default {
               if (row.ladderPriceList[i] && row.ladderPriceList[i].delFlag * 1 === 0) {
                 let str = ''
                 if (row.ladderPriceList[i + 1] && row.ladderPriceList[i + 1].delFlag * 1 === 0) {
-                  str = row.ladderPriceList[i].buyNum + '-' + row.ladderPriceList[i + 1].buyNum
+                  str = row.ladderPriceList[i].buyNum + '-' + (row.ladderPriceList[i + 1].buyNum - 1)
                 } else {
                   str = '≥' + row.ladderPriceList[i].buyNum
                 }

+ 14 - 5
src/views/goods/list-preferred.vue

@@ -66,14 +66,23 @@
       </el-table-column>
       <el-table-column label="商品名称" align="center" prop="productName" min-width="200px" />
       <el-table-column label="供应商" align="center" prop="shopName" min-width="120px" />
-      <el-table-column label="市场价" align="center" prop="normalPrice" />
-      <el-table-column label="成本价" align="center" prop="costPrice" />
+      <el-table-column label="市场价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.normalPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
+      <el-table-column label="成本价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.costPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
       <el-table-column label="售价" align="center">
         <template slot-scope="{row}">
           <template v-if="row.ladderPriceFlag*1===1">
-            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">{{ item.price }}</div>
+            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">
+              ¥{{ item.price | toThousandFloatFilter }}</div>
           </template>
-          <template v-else>{{ row.retailPrice }}</template>
+          <template v-else>¥{{ row.retailPrice | toThousandFloatFilter }}</template>
         </template>
       </el-table-column>
       <el-table-column label="起订量" align="center" width="70">
@@ -171,7 +180,7 @@ export default {
               if (row.ladderPriceList[i] && row.ladderPriceList[i].delFlag * 1 === 0) {
                 let str = ''
                 if (row.ladderPriceList[i + 1] && row.ladderPriceList[i + 1].delFlag * 1 === 0) {
-                  str = row.ladderPriceList[i].buyNum + '-' + row.ladderPriceList[i + 1].buyNum
+                  str = row.ladderPriceList[i].buyNum + '-' + (row.ladderPriceList[i + 1].buyNum - 1)
                 } else {
                   str = '≥' + row.ladderPriceList[i].buyNum
                 }

+ 14 - 5
src/views/goods/list-select.vue

@@ -59,14 +59,23 @@
       </el-table-column>
       <el-table-column label="商品名称" align="center" prop="productName" min-width="200px" />
       <el-table-column label="供应商" align="center" prop="shopName" min-width="120px" />
-      <el-table-column label="市场价" align="center" prop="normalPrice" />
-      <el-table-column label="成本价" align="center" prop="costPrice" />
+      <el-table-column label="市场价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.normalPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
+      <el-table-column label="成本价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.costPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
       <el-table-column label="售价" align="center">
         <template slot-scope="{row}">
           <template v-if="row.ladderPriceFlag*1===1">
-            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">{{ item.price }}</div>
+            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">
+              ¥{{ item.price | toThousandFloatFilter }}</div>
           </template>
-          <template v-else>{{ row.retailPrice }}</template>
+          <template v-else>¥{{ row.retailPrice | toThousandFloatFilter }}</template>
         </template>
       </el-table-column>
       <el-table-column label="起订量" align="center" width="70">
@@ -167,7 +176,7 @@ export default {
               if (row.ladderPriceList[i] && row.ladderPriceList[i].delFlag * 1 === 0) {
                 let str = ''
                 if (row.ladderPriceList[i + 1] && row.ladderPriceList[i + 1].delFlag * 1 === 0) {
-                  str = row.ladderPriceList[i].buyNum + '-' + row.ladderPriceList[i + 1].buyNum
+                  str = row.ladderPriceList[i].buyNum + '-' + (row.ladderPriceList[i + 1].buyNum - 1)
                 } else {
                   str = '≥' + row.ladderPriceList[i].buyNum
                 }

+ 14 - 5
src/views/goods/list.vue

@@ -85,14 +85,23 @@
       </el-table-column>
       <el-table-column label="商品名称" align="center" prop="productName" min-width="200" />
       <el-table-column label="供应商" align="center" prop="shopName" min-width="110" />
-      <el-table-column label="市场价" align="center" prop="normalPrice" />
-      <el-table-column label="成本价" align="center" prop="costPrice" />
+      <el-table-column label="市场价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.normalPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
+      <el-table-column label="成本价" align="center">
+        <template slot-scope="{row}">
+          ¥{{ row.costPrice | toThousandFloatFilter }}
+        </template>
+      </el-table-column>
       <el-table-column label="售价" align="center">
         <template slot-scope="{row}">
           <template v-if="row.ladderPriceFlag*1===1">
-            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">{{ item.price }}</div>
+            <div v-for="(item, index) in row.ladderShownList" :key="row.id+'list_ladder_pri'+index">
+              ¥{{ item.price | toThousandFloatFilter }}</div>
           </template>
-          <template v-else>{{ row.retailPrice }}</template>
+          <template v-else>¥{{ row.retailPrice | toThousandFloatFilter }}</template>
         </template>
       </el-table-column>
       <el-table-column label="起订量" align="center" width="70">
@@ -227,7 +236,7 @@ export default {
               if (row.ladderPriceList[i] && row.ladderPriceList[i].delFlag * 1 === 0) {
                 let str = ''
                 if (row.ladderPriceList[i + 1] && row.ladderPriceList[i + 1].delFlag * 1 === 0) {
-                  str = row.ladderPriceList[i].buyNum + '-' + row.ladderPriceList[i + 1].buyNum
+                  str = row.ladderPriceList[i].buyNum + '-' + (row.ladderPriceList[i + 1].buyNum - 1)
                 } else {
                   str = '≥' + row.ladderPriceList[i].buyNum
                 }