ソースを参照

Merge branch 'dev' into 'test'

Dev

See merge request quanshu/mp-ui-pc!48
hunagwb 3 年 前
コミット
4eaa8f0d0d

+ 1 - 1
src/api/business/coupon.js

@@ -29,7 +29,7 @@ export function addCoupon(data) {
 
 export function delCoupon(couponId) {
   return request({
-    url: '/api/v1/mp/admin/coupon/delete',
+    url: '/api/v1/mp/admin/coupon/remove',
     method: 'post',
     data: { couponId }
   })

+ 1 - 1
src/api/business/goods.js

@@ -29,7 +29,7 @@ export function addGoods(data) {
 
 export function delGoods(goodsId) {
   return request({
-    url: '/api/v1/mp/admin/goods/delete',
+    url: '/api/v1/mp/admin/goods/remove',
     method: 'post',
     data: { goodsId }
   })

+ 27 - 1
src/components/ImageUpload/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="component-upload-image img-accessory-1">
-    <div class="img-box-1">
+    <div class="img-box-1" :class="low && 'low'">
 
       <ul class="el-upload-list el-upload-list--picture-card">
         <li v-for="(item, index) in previewList" class="el-upload-list__item is-ready" style="float: left;">
@@ -107,6 +107,11 @@
       isPublic: {
         type: Boolean,
         default: true
+      },
+      // 半高显示
+      low: {
+        type: Boolean,
+        default: false
       }
     },
     data() {
@@ -467,3 +472,24 @@
       display: block;
   }
 </style>
+<style lang="scss">
+.component-upload-image {
+  .low {
+    height: 40px;
+    .el-upload--picture-card {
+      height: 40px !important;
+      line-height: 50px !important;
+    }
+    .el-upload-list__item {
+      margin: 0 !important;
+      height: 40px !important;
+    }
+    .el-image {
+      height: 38px !important;
+    }
+    .el-upload-list__item-actions {
+      height: 38px !important;
+    }
+  }
+}
+</style>

+ 5 - 5
src/views/business/goods/add.vue

@@ -12,7 +12,7 @@
           <el-form-item label="商品主图:" prop="picUrl">
             <Upload v-model="mainPicUrl" :limit="10" />
             <br>
-            <div class="tip">支持jpg、png格式上传,建议使用尺寸800x800像素以上、大小不超过1M的正方形图片;</div>
+            <div class="tip">第一张图片将作为商品列表图片,最多上传10张,多张图片之间可随意调整位置,支持jpg、png格式上传,建议使用尺寸800x800像素以上、大小不超过1M的正方形图片;</div>
           </el-form-item>
         </el-col>
         <el-col :span="23">
@@ -63,8 +63,8 @@
           </el-form-item>
         </el-col>
         <el-col :span="23">
-          <el-form-item label="兑换价格:" prop="exchangePrice">
-            <el-input v-model="addData.exchangePrice" type="number" placeholder="请输入兑换价格">
+          <el-form-item label="兑换价格:" prop="value">
+            <el-input v-model="addData.value" type="number" readonly placeholder="请输入兑换价格">
               <template slot="append">盲豆</template>
             </el-input>
           </el-form-item>
@@ -84,10 +84,10 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-divider content-position="left">商品详情</el-divider>
+      <!-- <el-divider content-position="left">商品详情</el-divider> -->
       <el-row>
         <el-col :span="23">
-          <el-form-item prop="description">
+          <el-form-item label="商品详情" prop="description">
             <TinyEditor v-model="addData.description" />
           </el-form-item>
         </el-col>

+ 31 - 13
src/views/business/goods/components/spec.vue

@@ -35,12 +35,12 @@
       <table v-if="skuList instanceof Array && skuList.length > 0" class="spec-table" border="1" bordercolor="#CCC">
         <tr>
           <th :colspan="specListTmp.length">商品规格</th>
-          <th rowspan="2">SKU主图</th>
-          <th rowspan="2">名称</th>
-          <th rowspan="2">价格</th>
-          <th rowspan="2">兑换价格</th>
+          <th rowspan="2" class="required"><span>*</span>SKU主图</th>
+          <th rowspan="2" class="required"><span>*</span>名称</th>
+          <th rowspan="2" class="required"><span>*</span>价格</th>
+          <th rowspan="2" class="required"><span>*</span>兑换价格</th>
           <th rowspan="2">成本</th>
-          <th rowspan="2">库存</th>
+          <th rowspan="2" class="required"><span>*</span>库存</th>
           <th rowspan="2">启用</th>
         </tr>
         <tr>
@@ -53,7 +53,7 @@
           </td>
           <td>
             <el-form-item :prop="`skuList.${index}.picUrl`" :rules="{ required: true, message: '请上传SKU图片', trigger: 'blur' }">
-              <Upload v-model="sku.picUrl" :limit="1" style="height: 40px;overflow: hidden" />
+              <Upload v-model="sku.picUrl" :limit="1" :low="true" style="height: 40px;overflow: hidden" />
             </el-form-item>
           </td>
           <td>
@@ -68,7 +68,7 @@
           </td>
           <td>
             <el-form-item :prop="`skuList.${index}.exchangePrice`" :rules="exchangeRules">
-              <el-input v-model="sku.exchangePrice" />
+              <p>{{ sku.valueY }}</p>
             </el-form-item>
           </td>
           <td>
@@ -93,7 +93,7 @@
 </template>
 <script>
 import Upload from '@/components/ImageUpload'
-import { accDiv, accMul } from '@/utils/util'
+import { accMul, accDiv } from '@/utils/util'
 export default {
   name: 'Spec',
   components: {
@@ -117,8 +117,8 @@ export default {
       specValTmp: '',
       specifications: [],
       valueYRules: [{ required: true, message: '请输入价格', trigger: 'blur' },{ pattern: /^([1-9]\d*(\.\d{1,2})?|([0](\.([0][1-9]|[1-9]\d{0,1}))))$/, message: "请输入正确的金额,最多两位小数", trigger: ["blur", "change"]}],
-      costYRules: [{ required: true, message: '请输入成本', trigger: 'blur' },{ pattern: /^([1-9]\d*(\.\d{1,2})?|([0](\.([0][1-9]|[1-9]\d{0,1}))))$/, message: "请输入正确的金额,最多两位小数", trigger: ["blur", "change"] }],
-      exchangeRules: [{ required: true, message: '请输入兑换价格', trigger: 'blur' },{ pattern: /^([1-9]\d*)$/, message: "请输入正确的数字", trigger: ["blur", "change"]}]
+      costYRules: [{ required: false, message: '请输入成本', trigger: 'blur' },{ pattern: /^([1-9]\d*(\.\d{1,2})?|([0](\.([0][1-9]|[1-9]\d{0,1}))))$/, message: "请输入正确的金额,最多两位小数", trigger: ["blur", "change"] }],
+      // exchangeRules: [{ required: true, message: '请输入兑换价格', trigger: 'blur' },{ pattern: /^([1-9]\d*)$/, message: "请输入正确的数字", trigger: ["blur", "change"]}]
     }
   },
   methods: {
@@ -142,7 +142,13 @@ export default {
         }
       })
       this.specListTmp = JSON.parse(JSON.stringify(this.specList))
-      this.skuList = sku
+      this.skuList = sku.map(item => {
+        const value = accDiv(item.value, 100)
+        const cost = accDiv(item.cost, 100)
+        item.value = value
+        item.cost = cost
+        return item
+      })
     },
     formatObj(properties) {
       if (properties) {
@@ -269,8 +275,9 @@ export default {
         if (valid) {
           this.skuList.forEach(item => {
             const { valueY, costY } = item
-            item.value = accDiv(valueY, 100)
-            item.cost = accDiv(costY, 100)
+            item.value = accMul(valueY, 100)
+            item.exchangePrice = item.value
+            item.cost = accMul(costY, 100)
           })
           this.$emit('valid', this.skuList)
         } else {
@@ -299,5 +306,16 @@ export default {
   td {
     text-align: center;
   }
+  .required {
+    position: relative;
+    span {
+      position: relative;
+      top: -6px;
+      left: 2px;
+      font-size: 10px;
+      color: red;
+    }
+  }
+  
 }
 </style>

+ 5 - 1
src/views/business/goods/index.vue

@@ -69,7 +69,11 @@
           ¥{{$numberFormat(row.cost)}}
         </template>
       </el-table-column>
-      <el-table-column label="兑换盲豆" prop="exchangePrice" />
+      <el-table-column label="兑换盲豆" prop="exchangePrice">
+        <template slot-scope="{row}">
+          {{$numberFormat(row.exchangePrice)}}
+        </template>
+      </el-table-column>
       <el-table-column label="销量" prop="exchangedQty" />
       <el-table-column label="库存" prop="quantity" />
       <el-table-column label="状态" prop="status">

+ 1 - 1
src/views/business/ticket/create.vue

@@ -389,7 +389,7 @@ export default {
         salePrice: "", // 售价
         quantity: "", // 数量
         pkgUnit: 200, // 张数
-        pkgSalePrice: "", // 单价
+        pkgSalePrice: 0, // 单价
         saleCommRate: "", // 基数
       },
       rules: {

+ 18 - 13
src/views/business/ticket/index.vue

@@ -301,18 +301,23 @@ export default {
 
     /** 导出按钮操作 */
     handleExport() {
-     const boxIds = this.ids;
-      this.$confirm('是否确认导出所选盲票数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-          this.exportLoading = true;
-          return exportTicket({ids:boxIds});
-        }).then(response => {
-          this.download(response.msg);
-          this.exportLoading = false;
-        }).catch(() => {});
+     const boxIds = this.ids || [];
+     if(boxIds.length == 0){
+         this.$alert("请选择你要导出的盲票组!",'提示',{type:'warning'});
+     }else{
+       this.$confirm('是否确认导出所选盲票数据项?', "警告", {
+           confirmButtonText: "确定",
+           cancelButtonText: "取消",
+           type: "warning"
+         }).then(() => {
+           this.exportLoading = true;
+           return exportTicket({ids:boxIds});
+         }).then(response => {
+           this.download(response.msg);
+           this.exportLoading = false;
+         }).catch(() => {});
+     }
+
     },
   },
   mounted() {},
@@ -326,6 +331,6 @@ export default {
       display: none !important;
     }
   }
-  
+
 }
 </style>