瀏覽代碼

1. 完善

MONSTER-ygh 1 月之前
父節點
當前提交
e223916433
共有 2 個文件被更改,包括 89 次插入37 次删除
  1. 9 0
      src/api/otaMr/ctrip.js
  2. 80 37
      src/views/otaMr/ctrip/dialog/dataEdit.vue

+ 9 - 0
src/api/otaMr/ctrip.js

@@ -60,4 +60,13 @@ export const getPushListApi = (params) => {
       method: 'get',
       params: params
   })
+}
+
+/** 系统-携程-ota(已推送商品sku查看)  */
+export const deleteCalendarPriceApi = (data) => {
+  return request({
+      url: '/thirdapi/xieche/product/calendar/delete',
+      method: 'delete',
+      data
+  })
 }

+ 80 - 37
src/views/otaMr/ctrip/dialog/dataEdit.vue

@@ -19,30 +19,6 @@
     <div class="dialog">
       <div>
         <el-form :model="form" ref="form" size="small" :rules="rules" :inline="true" label-width="100px">
-          <!-- <el-form-item label="门店POIID" prop="poiId">
-            <el-input
-              v-model="form.poiId"
-              placeholder="请输入门店POIID"
-              clearable
-              style="width: 240px"
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-          <el-form-item label="商品类目ID" prop="categoryId">
-            <el-select
-              v-model="form.categoryId"
-              placeholder="商品类目ID"
-              clearable
-              style="width: 240px"
-            >
-              <el-option
-                v-for="dict in dict.type.tiktok_category"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
-              />
-            </el-select>
-          </el-form-item> -->
         </el-form>
       </div>
       <el-table 
@@ -68,7 +44,7 @@
           <el-button
             size="mini"
             type="text"
-            v-if="scope.row.status === 1"
+            v-if="scope.row.status"
             @click="openCalendarFun(scope.row)"
           >日历价格配置</el-button>
           <!-- <el-button
@@ -110,7 +86,7 @@
           <template
             slot="dateCell"
             slot-scope="{date, data}">
-            <div :class="['calendar_box', selectTime(data)]" @mouseover="mouseoverFun(data)" @click="clickTimeFun(data)">
+            <div :class="['calendar_box', selectTime(data)]" @mouseover="mouseoverFun(data)" @click.stop="clickTimeFun(data)">
               <span>{{ data.day.split('-').slice(1).join('-') }}</span>
               <div style="width: 100%; display: flex;flex-wrap: wrap;" >
                 <div 
@@ -169,7 +145,7 @@
 </template>
 
 <script>
-import { pushById,getCalendarPriceApi,setCalendarPriceApi,getPushListApi } from "@/api/otaMr/ctrip";
+import { pushById,getCalendarPriceApi,setCalendarPriceApi,getPushListApi,deleteCalendarPriceApi } from "@/api/otaMr/ctrip";
 import moment from "moment"
 export default {
   name: "dataEdit",
@@ -438,13 +414,50 @@ export default {
       
     },  
     /** 一键清除  */
-    clearCalendarPrice() {
-      this.formPrice = {
-        originalAmount: 0,
-        saleAmount: 0,
-        costAmount: 0
+    async clearCalendarPrice() {
+      try {
+        if( this.timeValueObj.prev && this.timeValueObj.next ) {
+          let minTime = moment(this.timeValueObj.prev).valueOf()
+          let maxTime = moment(this.timeValueObj.next).valueOf()
+          let startDate = null
+          let endDate = null
+          if(minTime > maxTime){
+            startDate = this.timeValueObj.next
+            endDate = this.timeValueObj.prev
+          }else {
+            startDate = this.timeValueObj.prev
+            endDate = this.timeValueObj.next
+          }
+          let daysList = [];
+          let SDate = moment(startDate);
+          let EDate = moment(endDate);
+          daysList.push({
+              "priceDate":  SDate.startOf('day').format("YYYY-MM-DD HH:mm:ss"),
+            });
+          while (SDate.add(1, "days").isBefore(EDate)) { // 注意这里add方法处理后SDate对象已经改变。      
+            daysList.push({
+              "priceDate":  SDate.startOf('day').format("YYYY-MM-DD HH:mm:ss"),
+            });
+          }
+          daysList.push({
+              "priceDate": EDate.startOf('day').format("YYYY-MM-DD HH:mm:ss"),
+            });
+          let res = await deleteCalendarPriceApi({
+            "id": this.form.id,
+            "goodsId": this.form.goodsId,
+            "seatTypeId": this.seatTypeId,
+            "data": daysList
+          })
+          if(res.code == 200) {
+            this.openPrice = false
+            this.getCalendarPrice()
+          }
+        }else {
+          this.$message.error("请选择时间区间!!!");
+        }
+      } catch (error) {
+        
       }
-      this.calendarPrice()
     },
     submitFormPrice(formName,funName) {
         this.$refs[formName].validate((valid) => {
@@ -495,6 +508,7 @@ export default {
           let SDate = moment(startDate);
           let EDate = moment(endDate);
           daysList.push({
+              "id": null,
               "priceDate":  SDate.startOf('day').format("YYYY-MM-DD HH:mm:ss"),
               "originalAmount": this.formPrice.originalAmount,
               "saleAmount": this.formPrice.saleAmount,
@@ -502,6 +516,7 @@ export default {
             });
           while (SDate.add(1, "days").isBefore(EDate)) { // 注意这里add方法处理后SDate对象已经改变。      
             daysList.push({
+              "id": null,
               "priceDate":  SDate.startOf('day').format("YYYY-MM-DD HH:mm:ss"),
               "originalAmount": this.formPrice.originalAmount,
               "saleAmount": this.formPrice.saleAmount,
@@ -509,12 +524,20 @@ export default {
             });
           }
           daysList.push({
+             "id": null,
               "priceDate": EDate.startOf('day').format("YYYY-MM-DD HH:mm:ss"),
               "originalAmount": this.formPrice.originalAmount,
               "saleAmount": this.formPrice.saleAmount,
               "costAmount": this.formPrice.costAmount
             });
           console.log("daysList===",daysList)
+          daysList.forEach((item,index)=>{
+            this.perFormList.forEach((item1,index1)=>{
+              if(moment(item.priceDate).format("YYYY-MM-DD") == moment(item1.priceDate).format("YYYY-MM-DD") ) {
+                daysList[index].id = item1.id
+              }
+            })
+          })
           let res = await setCalendarPriceApi({
             "id": this.form.id,
             "goodsId": this.form.goodsId,
@@ -537,11 +560,15 @@ export default {
     /** 选中得时间  */
     selectTime(data) {
       let srt = ''
+      let newTime = moment(data.day).startOf('day').valueOf()
+      let newTime1 = moment().startOf('day').valueOf()
+      if(newTime < newTime1 ) {
+        return "disable_time"
+      }
       if( this.timeValueObj ) {
         if( this.timeValueObj.prev && this.timeValueObj.next ) {
           let minTime = moment(this.timeValueObj.prev).valueOf()
           let maxTime = moment(this.timeValueObj.next).valueOf()
-          let newTime = moment(data.day).valueOf()
           if(minTime > maxTime){
             if(minTime >= newTime && maxTime <= newTime){
               srt = 'is-select_time'
@@ -554,7 +581,6 @@ export default {
         }else if( this.timeValueObj.prev && !this.timeValueObj.next && this.timeValueObj.hover ){
           let minTime = moment(this.timeValueObj.prev).valueOf()
           let maxTime = moment(this.timeValueObj.hover).valueOf()
-          let newTime = moment(data.day).valueOf()
           if(minTime > maxTime){
             if(minTime >= newTime && maxTime <= newTime){
               srt = 'is-select_time_hover'
@@ -569,6 +595,14 @@ export default {
       return srt
     },
     clickTimeFun(data) {
+      let newTime1 = moment(data.day).startOf('day').valueOf()
+      let newTime = moment().startOf('day').valueOf()
+      if(newTime1 < newTime ) {
+        return 
+      }
+      if(moment(data.day).format("YYYY-MM") != moment(this.timeValue).format("YYYY-MM") ) {
+        return
+      }
       if( !this.timeValueObj || !this.timeValueObj.prev ) {
         this.timeValueObj.prev = moment(data.day).format("YYYY-MM-DD")
       }else if( this.timeValueObj.prev && !this.timeValueObj.next ){
@@ -579,6 +613,9 @@ export default {
       }
     },
     mouseoverFun(data) {
+      if(moment(data.day).format("YYYY-MM") != moment(this.timeValue).format("YYYY-MM") ) {
+        return
+      }
       if( this.timeValueObj.prev && !this.timeValueObj.next ){
         this.timeValueObj.hover = moment(data.day).format("YYYY-MM-DD")
         this.timeValue = new Date(this.timeValueObj.hover)
@@ -587,6 +624,7 @@ export default {
   },
   watch:{
     timeValue(newValue,oldValue){
+
     }
   }
 };
@@ -621,17 +659,22 @@ export default {
 .calendar-dialog ::v-deep .el-calendar-table .el-calendar-day {
   padding: none !important;
   height: auto;
-  min-height: 86px;
 }
 
 .calendar_box {
   width: 100%;
-  height: 100%;
+  min-height: 86px;
+}
+
+.disable_time {
+  user-select: none;
+  cursor: not-allowed;
 }
 
 .is-select_time {
   background-color: rgba(30,144,255,0.8);
 }
+
 .is-select_time_hover {
   background-color: rgba(30,144,255,0.4);
 }