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

1、打印对接
2、完善推广记录

huangmp 2 лет назад
Родитель
Сommit
64cdb3a9c3

+ 9 - 8
src/views/modules/order/order.vue

@@ -332,7 +332,7 @@
                     data-sts="10"
                     @click="selectNav($event)"
             >
-              普通待打印
+              普通待发货
             </li>
           </ul>
           <ul class="nav-right"></ul>
@@ -398,7 +398,7 @@
             <el-tag effect="dark" v-else type="danger">待审阅</el-tag>
             <div v-if="order.isPromotion === 1">
               <el-tag effect="dark" v-if="order.isPromotion === 1" type="primary">推广单</el-tag>
-              <el-button type="text" @click="openOrderPromotionDialog(order.orderNumber)">推广链接</el-button>
+              <el-button type="text" @click="openOrderPromotionDialog(order.orderNumber, order.prodName)">推广链接</el-button>
             </div>
 
             <!-- <span>店铺名称:{{order.shopName}}</span> -->
@@ -1075,7 +1075,7 @@ export default {
         },
         {
           value: 10,
-          label: '普通待打印'
+          label: '普通待发货'
         },
         {
           value: 11,
@@ -1262,7 +1262,6 @@ export default {
           it.selectAll = false;
         })
       }
-      console.log(this.dataListSelections.length)
     },
     handleSelectionChange(checked, orderNumber){
       if(checked){
@@ -1609,7 +1608,8 @@ export default {
           'endProductNums': this.productNumsRange === null ? null : this.productNumsRange[1], // 订购数量起
           'auditStatus': this.dataForm.auditStatus, // 审阅状态
           'prodName': this.dataForm.prodName, // 产品名称
-          'skuName': this.dataForm.skuName // 产品名称
+          'skuName': this.dataForm.skuName, // 产品名称,
+          'isPromotion': this.dataForm.isPromotion
         }
       } else {
         this.theData.current = page == null ? this.page.currentPage : page.currentPage
@@ -1737,8 +1737,8 @@ export default {
      * 导航选择状态
      */
     selectNav (e) {
-      var sts = e.currentTarget.dataset.sts
-      this.activeName = parseInt(sts)
+      var sts = e.currentTarget.dataset.sts;
+      this.activeName = parseInt(sts);
       this.status = this.activeName === 0 ? null : parseInt(sts)
       this.page.currentPage = 1
       if(this.status == 8){
@@ -1988,9 +1988,10 @@ export default {
       document.execCommand("Copy");
       window.open("https://www.baidu.com/s?wd=%E7%89%A9%E6%B5%81%E6%9F%A5%E8%AF%A2&rsv_spt=1&rsv_iqid=0xe1fe334b0008559a&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_dl=tb&rsv_sug3=16&rsv_sug1=12&rsv_sug7=100&rsv_sug2=0&rsv_btype=i&inputT=2849&rsv_sug4=3141", '_blank')
     },
-    openOrderPromotionDialog(orderNumber){
+    openOrderPromotionDialog(orderNumber, prodName){
       this.$refs.orderPromotion.init({
         orderNumber: orderNumber,
+        prodName: prodName
       })
     },
   },

+ 2 - 1
src/views/modules/order/orderInfo.vue

@@ -541,7 +541,8 @@
                       <div class="res" v-else-if="printOrder.status == 5">待收货,已发货</div>
                       <div class="res" v-else-if="printOrder.status == 6">交易取消</div>
                       <div class="res" v-else-if="printOrder.status == 7">售后</div>
-                      <div class="res" v-else-if="printOrder.status == 8">交易完成,已收货</div>
+                      <div class="res" v-else-if="printOrder.status == 10">交易完成,已收货</div>
+                      <div class="res" v-else-if="printOrder.status == 11">失败</div>
                       <div class="res" v-else>未知</div>
                       <div class="res" style="margin-left: 5px"><el-button :loading="orderDeliveryLoading" v-if="printOrder.status != 0 && printOrder.status != null" type="success" size="mini" @click="getOrderDelivery">更新</el-button></div>
                     </div>

+ 49 - 5
src/views/modules/order/orderPromotion-add-or-update.vue

@@ -3,14 +3,47 @@
     :append-to-body="true"
     :title="!dataForm.id ? this.$i18n.t('crud.addTitle') : this.$i18n.t('temp.modify')"
     :close-on-click-modal="false"
+    top="5vh"
     :visible.sync="visible">
     <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
       <el-form-item label="订单编号" prop="orderNumber">
         <span>{{dataForm.orderNumber}}</span>
       </el-form-item>
+      <el-form-item label="产品名称" prop="prodName">
+        <span>{{dataForm.prodName}}</span>
+      </el-form-item>
+      <el-form-item label="博主名称" prop="upName" style="width: 350px;">
+        <el-input v-model="dataForm.upName"></el-input>
+      </el-form-item>
+      <el-form-item label="链接名称" prop="upName" style="width: 350px;">
+        <el-input v-model="dataForm.linkName"></el-input>
+      </el-form-item>
+      <el-form-item label="点赞数量" prop="likeNums" style="width: 350px;">
+        <el-input type="number" v-model="dataForm.likeNums"></el-input>
+      </el-form-item>
+      <el-form-item label="收藏数量" prop="collectionNums" style="width: 350px;">
+        <el-input type="number" v-model="dataForm.collectionNums"></el-input>
+      </el-form-item>
+      <el-form-item label="评论数量" prop="commitNums" style="width: 350px;">
+        <el-input type="number" v-model="dataForm.commitNums"></el-input>
+      </el-form-item>
+      <el-form-item label="推广平台" prop="platform" style="width: 350px;">
+        <el-input v-model="dataForm.platform" placeholder="如 抖音 小红书 快手 等等"></el-input>
+      </el-form-item>
+      <el-form-item label="推广风格" prop="type" style="width: 350px;">
+        <el-input v-model="dataForm.type" placeholder="如 二次元 韩娱 内娱 等等"></el-input>
+      </el-form-item>
       <el-form-item label="推广链接" prop="promotionLink">
         <el-input v-model="dataForm.promotionLink" placeholder="请携带请求协议,比如https://或者http://"></el-input>
       </el-form-item>
+      <el-form-item label="发布时间" prop="type">
+        <el-date-picker
+          size="small"
+          v-model="dataForm.publishTime"
+          type="datetime"
+          value-format="yyyy-MM-dd HH:mm:ss"
+        ></el-date-picker>
+      </el-form-item>
     </el-form>
     <span slot="footer" class="dialog-footer">
       <el-button class="default-btn" @click="visible = false">{{$t("crud.filter.cancelBtn")}}</el-button>
@@ -28,17 +61,28 @@ export default {
         id: null,
         promotionLink: null,
         orderNumber: null,
+        prodName:null,
+        upName: null,
+        linkName:null,
+        likeNums:null,
+        collectionNums:null,
+        commitNums:null,
+        platform:null,
+        type:null,
+        publishTime:null
+
       },
       dataRule: {
       }
     }
   },
   methods: {
-    init (orderNumber) {
-      this.dataForm.orderNumber = orderNumber
-      this.visible = true
+    init (id, orderNumber,prodName) {
+      this.dataForm.id = id;
+      this.dataForm.orderNumber = orderNumber;
+      this.dataForm.prodName = prodName;
+      this.visible = true;
       this.$nextTick(() => {
-        this.$refs['dataForm'].resetFields()
         if (this.dataForm.id) {
           this.$http({
             url: this.$http.adornUrl('/order/orderPromotion/info/' + this.dataForm.id),
@@ -56,7 +100,7 @@ export default {
         if (valid) {
           this.$http({
             url: this.$http.adornUrl('/order/orderPromotion'),
-            method: 'post',
+            method: this.dataForm.id ? 'put' : 'post',
             data: this.$http.adornData(this.dataForm)
           }).then(({data}) => {
             this.$message({

+ 57 - 8
src/views/modules/order/orderPromotion.vue

@@ -4,7 +4,7 @@
     :close-on-click-modal="false"
     :visible.sync="visible"
     :append-to-body="true"
-    width="50%"
+    width="85%"
   >
     <div class="mod-order-orderPromotion">
       <!-- 列表相关区域 -->
@@ -25,17 +25,64 @@
                 <span>{{ scope.row.orderNumber}}</span>
               </template>
             </el-table-column>
+            <!-- 产品 -->
+            <el-table-column label="产品" prop="prodName" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.prodName}}</span>
+              </template>
+            </el-table-column>
+            <!-- 博主名称 -->
+            <el-table-column label="博主" prop="upName" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.upName}}</span>
+              </template>
+            </el-table-column>
+            <!-- 链接名称 -->
+            <el-table-column label="链接名称" prop="linkName" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.linkName}}</span>
+              </template>
+            </el-table-column>
+            <!-- 点赞数量 -->
+            <el-table-column label="点赞数" prop="likeNums" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.likeNums}}</span>
+              </template>
+            </el-table-column>
+            <!-- 收藏数量 -->
+            <el-table-column label="收藏数" prop="collectionNums" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.collectionNums}}</span>
+              </template>
+            </el-table-column>
+            <!-- 收藏数量 -->
+            <el-table-column label="推广平台" prop="platform" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.platform}}</span>
+              </template>
+            </el-table-column>
+            <!-- 推广风格 -->
+            <el-table-column label="推广风格" prop="type" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.type}}</span>
+              </template>
+            </el-table-column>
             <!-- 推广链接 -->
             <el-table-column label="推广链接" prop="promotionLink" align="center">
               <template slot-scope="scope">
                 <el-button type="text" @click="openLink(scope.row.promotionLink)">{{ scope.row.promotionLink}}</el-button>
               </template>
             </el-table-column>
-            <el-table-column align="center" fixed="right" :label="$t('publics.operating')" width="auto">
+            <!-- 发布时间 -->
+            <el-table-column label="发布时间" prop="publishTime" align="center">
+              <template slot-scope="scope">
+                <span>{{ scope.row.publishTime}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column fixed="right" align="center" :label="$t('publics.operating')" style="width: 200px">
               <template slot-scope="scope">
-                <div class="text-btn-con">
-                  <div class="default-btn text-btn" @click.stop="deleteHandle(scope.row.id)">{{$t("text.delBtn")}}</div>
-                </div>
+                <el-button type="text" @click="addOrUpdateHandle(scope.row.id)">编辑</el-button>
+                <el-button type="text" @click="deleteHandle(scope.row.id, false)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -70,6 +117,7 @@ export default {
       },
       visible: false,
       orderNumber: null,
+      prodName: null,
       searchForm: {}, // 搜索
       dataListLoading: false,
       addOrUpdateVisible: false
@@ -84,7 +132,8 @@ export default {
   },
   methods: {
     init (params) {
-      this.orderNumber = params.orderNumber
+      this.orderNumber = params.orderNumber;
+      this.prodName = params.prodName;
       this.visible = true
       if (this.orderNumber) {
         this.indexs = 0
@@ -131,10 +180,10 @@ export default {
       })
     },
     // 新增 / 修改
-    addOrUpdateHandle (orderNumber) {
+    addOrUpdateHandle (id) {
       this.addOrUpdateVisible = true
       this.$nextTick(() => {
-        this.$refs.addOrUpdate.init(this.orderNumber)
+        this.$refs.addOrUpdate.init(id, this.orderNumber, this.prodName)
       })
     },
     deleteHandle (id) {

+ 13 - 18
src/views/modules/print/print-order.vue

@@ -87,20 +87,15 @@
               size="small"
             ></el-input>
           </el-form-item>
-          <el-form-item :label="this.$i18n.t('order.afterSalesStatus') + ':'"  :label-width=" lang === 'en' ? '145px' : '85px'">
+          <el-form-item label="是否优先"  :label-width=" lang === 'en' ? '145px' : '85px'">
             <template>
               <el-select
-                v-model="dataForm.refundStatus"
+                v-model="dataForm.isPromotion"
                 clearable
-                :placeholder="this.$i18n.t('order.afterSalesStatus')"
                 size="small"
               >
-                <el-option
-                  v-for="item in refund"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                ></el-option>
+                <el-option key="0" label="正常" value="0"></el-option>
+                <el-option key="1" label="优先" value="1"></el-option>
               </el-select>
             </template>
           </el-form-item>
@@ -173,7 +168,7 @@
               <span class="item">订单状态</span>
             </el-col>
             <el-col :span="2" class="column-title">
-              <span class="item">售后状态</span>
+              <span class="item">是否优先</span>
             </el-col>
             <el-col :span="3" class="column-title">
               <span class="item">{{ $t("publics.operating") }}</span>
@@ -187,9 +182,10 @@
           <div class="prod-tit">
             <el-checkbox v-model="order.checkStatus" :ref="'checkbox' + index" @change="checked=>handleSelectionChange(checked, order.orderNumber)"></el-checkbox>
             <span class="order-number">{{ $t("order.number") }}:{{ order.orderNumber }}</span>
-            <span class="order-time">{{ $t("order.createTime") }}:{{ order.orderTime }}</span>
-            <span class="order-time">创建时间:{{ order.createTime }}</span>
+            <span class="order-time">用户下单时间:{{ order.orderTime }}</span>
+            <span class="order-time">推送时间:{{ order.createTime }}</span>
             <span class="order-time">运单号:{{ order.deliveryNo }}</span>
+            <el-tag effect="dark" v-if="order.isPromotion === 1" type="danger">优先</el-tag>
           </div>
           <div class="prod-cont">
             <el-row style="width: 100%">
@@ -300,11 +296,9 @@
               </el-col>
               <el-col :span="2" style="height: 100%">
                 <div class="item">
-                  <span v-if="order.refundStatus === 1">{{ $t("order.refundApplication") }}</span>
-                  <span v-else-if="order.refundStatus === 2">{{ $t("order.refundsuccessfully") }}</span>
-                  <span v-else-if="order.refundStatus === 3">{{ $t("order.partialRefundSucc") }}</span>
-                  <span v-else-if="order.refundStatus === 4">{{ $t("order.refundFailed") }}</span>
-                  <span v-else>{{$t("order.noAfterSales")}}</span>
+                  <span v-if="order.isPromotion === 0">正常</span>
+                  <span v-else-if="order.isPromotion === 1">优先</span>
+                  <span v-else>正常</span>
                 </div>
               </el-col>
               <el-col :span="3" style="height: 100%">
@@ -771,7 +765,8 @@
             'printChannel': this.printChannel,
             'skuName': this.dataForm.skuName,
             'prodNums': this.dataForm.prodNums,
-            'deliveryNo': this.dataForm.deliveryNo
+            'deliveryNo': this.dataForm.deliveryNo,
+            'isPromotion': this.dataForm.isPromotion
           }
         } else {
           this.theData.current = page == null ? this.page.currentPage : page.currentPage

+ 3 - 1
src/views/modules/prod/sku-table.vue

@@ -551,7 +551,9 @@ export default {
         }
         let properties = ((this.lists[i].properties.split(';'))[0].split(':'))[1]
         if (properties === propValue) {
-          this.lists[i].pic = img
+          if(!this.lists[i].pic){
+            this.lists[i].pic = img
+          }
         }
       }
     },

+ 5 - 3
src/views/modules/prod/sku-tag.vue

@@ -94,7 +94,8 @@
                         <div v-else class="text-hid">{{$t('language') === 'English' ? tagItem.propValueEn : tagItem.propValue}}</div> -->
                         <div class="text-hid">{{$t('language') === 'English' ? tagItem.propValueEn : tagItem.propValue}}</div>
                         <!-- 第一个规格允许上传图片 -->
-                        <div v-if="tagIndex === 0 && !tagItem.creating && addImgchecked" class="up-box">
+<!--                        <div v-if="tagIndex === 0 && !tagItem.creating && addImgchecked" class="up-box">-->
+                        <div v-if="!tagItem.creating && addImgchecked" class="up-box">
                           <div class="img-upload">
                             <ImgUpload :value="tagItem.pic" @input="changeTagItemPic($event, tagItem, tagIndex, tagItemIndex)" />
                           </div>
@@ -230,7 +231,7 @@ export default {
       changeImg: false,
 
       // 最大规格组合数量
-      maxNumOfCombo: 100
+      maxNumOfCombo: 10000
     }
   },
   created: function () {
@@ -443,7 +444,8 @@ export default {
           }
           let tagItemNameIndex = skuTags[j].tagItems.findIndex((tagItemName) => tagItemName.propValue === cnProperties[1])
           if (tagItemNameIndex === -1) {
-            const extarlInfo = +j === 0 ? { pic: imgSrc } : {}
+            const extarlInfo = +j === propertiesArray.length - 1 ? { pic: imgSrc } : {}
+            // const extarlInfo = +j === 0 ? { pic: imgSrc } : {}
             skuTags[j].tagItems.push({
               propValue: cnProperties[1],
               propValueEn: cnPropertiesEn[1],