Browse Source

1. 优化打样时间

MONSTER-ygh 4 months ago
parent
commit
571743c8e3
1 changed files with 50 additions and 28 deletions
  1. 50 28
      src/views/tourism/productManagement/formBox/cateringManagementForm.vue

+ 50 - 28
src/views/tourism/productManagement/formBox/cateringManagementForm.vue

@@ -138,7 +138,7 @@
                   </el-form-item>
                 </div>
               </el-form-item>
-              <el-form-item label="打烊时间:" required>
+              <!-- <el-form-item label="打烊时间:" required>
                 <div style="display: flex;">
                   <el-form-item label="" label-width="0px" prop="closeTimeStart">
                     <el-time-picker
@@ -158,39 +158,40 @@
                     </el-time-picker>
                   </el-form-item>
                 </div>
-              </el-form-item>
+              </el-form-item> -->
               
-              <!-- <el-form-item label="" prop="closeTimeS">
+              <el-form-item label="打烊时间:" prop="closeTime">
                 <div 
                 style="display: flex;margin-bottom: 10px;"
-                v-for="(timeItem, timeIndex) in form.closeTimeList" 
+                v-for="(timeItem, timeIndex) in form.closeTime" 
                 :key="`${timeIndex}-time`">
-                  <el-form-item 
-                  :prop="'times.' + timeIndex + '.timeStart'" 
+                  <el-form-item
                   :rules="{ required: true, message: '开始时间不能为空', trigger: ['change', 'blur'] }">
                     <el-time-picker 
                     clearable 
                     value-format="HH:mm:ss" 
                     format="HH:mm:ss" 
+                    style="width: 140px;"
                     v-model="timeItem.timeStart" 
                     ></el-time-picker>
                   </el-form-item>
                   <span style="margin: 0 16px;">至</span>
-                  <el-form-item 
-                  :prop="'times.' + timeIndex + '.timeEnd'" 
+                  <el-form-item
                   :rules="{ required: true, message: '结束时间不能为空', trigger: ['change', 'blur'] }">
                     <el-time-picker 
                     clearable 
                     value-format="HH:mm:ss" 
                     format="HH:mm:ss" 
+                    style="width: 140px;"
                     v-model="timeItem.timeEnd" 
                     ></el-time-picker>
                   </el-form-item>
-                  <el-button style="margin-left: 10px;" type="primary" v-if="form.closeTimeList.length-1 == timeIndex" @click="addCloseTimeList">添加</el-button>
-                  <el-button :style="{marginLeft: timeIndex< form.closeTimeList.length-1? '20px':'10px'}" type="danger" @click="clearCloseTimeList(timeItem)">移除</el-button>
+                  <el-button style="margin-left: 10px;" type="primary" v-if="form.closeTime.length-1 == timeIndex" @click="addCloseTimeList">添加</el-button>
+                  <el-button :style="{marginLeft: timeIndex< form.closeTime.length-1? '10px':'10px'}" type="danger" @click="clearCloseTimeList(timeItem)">移除</el-button>
                 </div>
-                <el-button type="primary" v-if="form.closeTimeList.length == 0" @click="addCloseTimeList">添加</el-button>
-              </el-form-item> -->
+                <el-button type="primary" v-if="form.closeTime.length == 0" @click="addCloseTimeList">添加</el-button>
+              </el-form-item>
+
               <el-form-item label="关店节假日时间:" prop="holiday">
                 <el-date-picker
                   type="dates"
@@ -332,7 +333,6 @@ import {
  } from '@/api/CURD'
 import Editor from "@/components/Editor";
 import qqMapBox from '@/myComponents/qqMap.vue'
-import { time } from 'echarts';
 export default {
   name: "addAndEdit",
   dicts: ['tourism_online_status','tourism_online_type'],
@@ -357,7 +357,7 @@ export default {
         shopLabel: [],
         cancelOrderFlag: '-1',
         closeTimeS: [],
-        closeTimeList: []
+        closeTime: []
       },
       rules: {
         name: [{ required: true, message: "请输入门店名称", trigger: ["change","blur"] }],
@@ -407,7 +407,7 @@ export default {
           cancelOrderFlag: '-1',
           //closeTimeS: [undefined,undefined],
           holiday: [],
-          closeTimeList: []
+          closeTime: []
         })
         this.formStatus = 1
         this.$nextTick(()=>{
@@ -443,7 +443,7 @@ export default {
             ...res.data,
             shopAdvImgs: res.data.shopAdvImgs ? res.data.shopAdvImgs.split(',') : [],
             shopLabel: res.data.shopLabel ? res.data.shopLabel.split(',') : [],
-            closeTimeList: []
+            closeTime: []
           }
           if(obj.cancelOrderFlag == 0) {
             obj.cancelOrderFlag = '-1'
@@ -454,11 +454,19 @@ export default {
             obj.cancelOrderFlag = '-2'
             obj['cancelOrderTime'] = undefined
           }
-          // if(res.data.closeTimeStart && res.data.closeTimeEnd) {
-          //   obj['closeTimeS'] = [res.data.closeTimeStart,res.data.closeTimeEnd]
-          // }else {
-          //   obj['closeTimeS'] = [undefined,undefined]
-          // }
+          if(res.data.closeTime) {
+            let list = res.data.closeTime.split(',')
+            let list1 = []
+            list.forEach((item,index)=>{
+              list1.push({
+                timeStart: item.split('|')[0]?item.split('|')[0]:undefined,
+                timeEnd: item.split('|')[1]?item.split('|')[1]:undefined,
+              })
+            })
+            obj['closeTime'] = list1
+          }else {
+            obj['closeTime'] = []
+          }
           if(res.data.holiday) {
             obj['holiday'] = res.data.holiday.split(',')
           }else {
@@ -510,11 +518,25 @@ export default {
             params['cancelOrderFlag'] = 1
             params['cancelOrderTime'] = 0
           }
-          // if(params.closeTimeS&&params.closeTimeS.length>0) {
-          //   params['closeTimeStart'] = params.closeTimeS[0]
-          //   params['closeTimeEnd'] = params.closeTimeS[1]
-          //   delete params.closeTimeS
-          // }
+          let folg = false
+          if(params.closeTime&&params.closeTime.length>0) {
+            let list = []
+            params.closeTime.forEach((item,index)=>{
+              if(!item.timeStart||!item.timeEnd) {
+                folg = true
+              }
+              list.push(item.timeStart+'|'+item.timeEnd)
+            })
+            params['closeTime'] = list.join(',')
+          }else {
+            params['closeTime'] = null
+            folg = true
+          }
+          if(folg){
+            this.$message.error("请选择完整的打烊时间!!!");
+            this.loading = false
+            return
+          }
           if(params.holiday && params.holiday.length>0) {
             params.holiday = params.holiday.join(',')
           }else {
@@ -705,13 +727,13 @@ export default {
     },
 
     addCloseTimeList() {
-      this.form.closeTimeList.push({
+      this.form.closeTime.push({
         timeStart: null,
         timeEnd: null
       })
     },
     clearCloseTimeList(index) {
-      this.form.closeTimeList.splice(index,1)
+      this.form.closeTime.splice(index,1)
     }
   },
   watch: {