wangtao пре 3 година
родитељ
комит
66b4f2e648

+ 317 - 0
src/assets/js/dataFormate.js

@@ -0,0 +1,317 @@
+/**
+ * 获取本周、本季度、本月、上月的开始日期、结束日期
+ */
+var now = new Date(); //当前日期
+var nowDayOfWeek = now.getDay(); //今天本周的第几天
+var nowDay = now.getDate(); //当前日
+var nowMonth = now.getMonth(); //当前月
+var nowYear = now.getYear(); //当前年
+nowYear += (nowYear < 2000) ? 1900 : 0; //
+var lastMonthDate = new Date(); //上月日期
+lastMonthDate.setDate(1);
+lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
+// var lastYear = lastMonthDate.getYear();
+var lastMonth = lastMonthDate.getMonth();
+//格式化日期:yyyy-MM-dd
+function formatDate(date) {
+    var myyear = date.getFullYear();
+    var mymonth = date.getMonth() + 1;
+    var myweekday = date.getDate();
+    if (mymonth < 10) {
+        mymonth = "0" + mymonth;
+    }
+    if (myweekday < 10) {
+        myweekday = "0" + myweekday;
+    }
+    return (myyear + "-" + mymonth + "-" + myweekday);
+}
+//获得某月的天数
+function getMonthDays(myMonth) {
+    var monthStartDate = new Date(nowYear, myMonth, 1);
+    var monthEndDate = new Date(nowYear, myMonth + 1, 1);
+    var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
+    return days;
+}
+//获得本季度的开始月份
+function getQuarterStartMonth() {
+    var quarterStartMonth = 0;
+    if (nowMonth < 3) {
+        quarterStartMonth = 0;
+    }
+    if (2 < nowMonth && nowMonth < 6) {
+        quarterStartMonth = 3;
+    }
+    if (5 < nowMonth && nowMonth < 9) {
+        quarterStartMonth = 6;
+    }
+    if (nowMonth > 8) {
+        quarterStartMonth = 9;
+    }
+    return quarterStartMonth;
+}
+//获得本周的开始日期
+function getWeekStartDate() {
+    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + 1);
+    return formatDate(weekStartDate) + ' 00:00:00';
+}
+//获得本周的结束日期
+function getWeekEndDate() {
+    var weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek));
+    return formatDate(weekEndDate) + ' 23:59:59';
+}
+//获得上周的开始日期
+function getLastWeekStartDate() {
+    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7);
+    return formatDate(weekStartDate) + ' 00:00:00';
+}
+//获得上周的结束日期
+function getLastWeekEndDate() {
+    var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1);
+    return formatDate(weekEndDate) + ' 23:59:59';
+}
+//获得本月的开始日期
+function getMonthStartDate() {
+    var monthStartDate = new Date(nowYear, nowMonth, 1);
+    return formatDate(monthStartDate) + ' 00:00:00';
+}
+//获得本月的结束日期
+function getMonthEndDate() {
+    var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
+    return formatDate(monthEndDate) + ' 23:59:59';
+}
+//获得上月开始时间
+function getLastMonthStartDate() {
+    var lastMonthStartDate = new Date(nowYear, lastMonth, 1);
+    return formatDate(lastMonthStartDate) + ' 00:00:00';
+}
+//获得上月结束时间
+function getLastMonthEndDate() {
+    var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));
+    return formatDate(lastMonthEndDate) + ' 23:59:59';
+}
+//获得本季度的开始日期
+function getQuarterStartDate() {
+    var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
+    return formatDate(quarterStartDate) + ' 00:00:00';
+}
+//或的本季度的结束日期
+function getQuarterEndDate() {
+    var quarterEndMonth = getQuarterStartMonth() + 2;
+    var quarterStartDate = new Date(nowYear, quarterEndMonth,
+        getMonthDays(quarterEndMonth));
+    return formatDate(quarterStartDate) + ' 23:59:59';
+}
+//获得前半年开始时间
+function getHalfYearStartDate() {
+    var firstHalfYearStartDate = new Date(nowYear, 1 - 1, 1);
+    return formatDate(firstHalfYearStartDate) + ' 00:00:00';
+}
+//获前半年结束时间
+function getHalfYearEndDate() {
+    var firstHalfYearEndDate = new Date(nowYear, 6 - 1, 30);
+    return formatDate(firstHalfYearEndDate) + ' 23:59:59';
+}
+//获得前今年开始时间
+function getThisYearStartDate() {
+    var firstThisYearStartDate = new Date(nowYear, 1 - 1, 1);
+    return formatDate(firstThisYearStartDate) + ' 00:00:00';
+}
+//获前今年结束时间
+function getThisYearEndDate() {
+    var firstThisYearEndDate = new Date(nowYear, 12 - 1, 31);
+    return formatDate(firstThisYearEndDate) + ' 23:59:59';
+}
+//获当前起前一个月时间
+function getThisDateBeforMonth() {
+
+    var lastMonthToday = new Date(
+        new Date().getTime() - 30 * 24 * 60 * 60 * 1000
+    );
+    var lastMonthYear = lastMonthToday.getFullYear();
+    let month = lastMonthToday.getMonth() + 1
+    var lastMonth = month < 10 ? '0' + month : month;
+    var lastMonthDay =
+        lastMonthToday.getDate() < 10 ?
+        '0' + lastMonthToday.getDate() :
+        lastMonthToday.getDate();
+    var lastMonthKsrq = lastMonthYear + "-" + lastMonth + "-" + lastMonthDay + " 00:00:00";
+    return lastMonthKsrq
+}
+//获当前起后一个月时间
+function getThisDateNextMonth() {
+    var nextMonthToday = new Date(
+        new Date().getTime() + 30 * 24 * 60 * 60 * 1000
+    );
+    var nextMonthYear = nextMonthToday.getFullYear();
+    let month = nextMonthToday.getMonth() + 1
+    var nextMonth = month < 10 ? '0' + month : month;
+    var nextMonthDay =
+        nextMonthToday.getDate < 10 ?
+        "0" + nextMonthToday.getDate :
+        nextMonthToday.getDate();
+    var nextMonthJsrq = nextMonthYear + "-" + nextMonth + "-" + nextMonthDay;
+    return nextMonthJsrq
+}
+
+// 中国标准时间转年月日时分秒
+function timestampToTime(timestamp) {
+    // var chinaStandard=Mon Jul 19 2021 11:11:55 GMT+0800 (中国标准时间);
+    var date = new Date(timestamp);
+    var y = date.getFullYear();
+    var m = date.getMonth() + 1;
+    m = m < 10 ? ('0' + m) : m;
+    var d = date.getDate();
+    d = d < 10 ? ('0' + d) : d;
+    var h = date.getHours();
+    h = h < 10 ? ('0' + h) : h;
+    var minute = date.getMinutes();
+    minute = minute < 10 ? ('0' + minute) : minute;
+    var second = date.getSeconds();
+    second = second < 10 ? ('0' + second) : second;
+    let time = y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
+    return time
+}
+
+//获取当前日期yy-mm-dd
+//date 为时间对象
+function getDateStr3(date) {
+    var year = "";
+    var month = "";
+    var day = "";
+    var now = date;
+    year = "" + now.getFullYear();
+    if ((now.getMonth() + 1) < 10) {
+        month = "0" + (now.getMonth() + 1);
+    } else {
+        month = "" + (now.getMonth() + 1);
+    }
+    if ((now.getDate()) < 10) {
+        day = "0" + (now.getDate());
+    } else {
+        day = "" + (now.getDate());
+    }
+    return year + "-" + month + "-" + day;
+}
+/**
+ * 获得相对当前周AddWeekCount个周的起止日期
+ * AddWeekCount为0代表当前周  为-1代表上一个周  为1代表下一个周以此类推
+ * **/
+function getWeekStartAndEnd(AddWeekCount) {
+    //起止日期数组
+    var startStop = new Array();
+    //一天的毫秒数
+    var millisecond = 1000 * 60 * 60 * 24;
+    //获取当前时间
+    var currentDate = new Date();
+    //相对于当前日期AddWeekCount个周的日期
+    currentDate = new Date(currentDate.getTime() + (millisecond * 7 * AddWeekCount));
+    //返回date是一周中的某一天
+    var week = currentDate.getDay();
+    //返回date是一个月中的某一天
+    // var month = currentDate.getDate();
+    //减去的天数
+    var minusDay = week != 0 ? week - 1 : 6;
+    //获得当前周的第一天
+    var currentWeekFirstDay = new Date(currentDate.getTime() - (millisecond * minusDay));
+    //获得当前周的最后一天
+    var currentWeekLastDay = new Date(currentWeekFirstDay.getTime() + (millisecond * 6));
+    //添加至数组
+    startStop.push(getDateStr3(currentWeekFirstDay));
+    startStop.push(getDateStr3(currentWeekLastDay));
+
+    return startStop;
+}
+/**
+ * 获得相对当月AddMonthCount个月的起止日期
+ * AddMonthCount为0 代表当月 为-1代表上一个月 为1代表下一个月 以此类推
+ * ***/
+function getMonthStartAndEnd(AddMonthCount) {
+    //起止日期数组
+    var startStop = new Array();
+    //获取当前时间
+    var currentDate = new Date();
+    var month = currentDate.getMonth() + AddMonthCount;
+    if (month < 0) {
+        var n = parseInt((-month) / 12);
+        month += n * 12;
+        currentDate.setFullYear(currentDate.getFullYear() - n);
+    }
+    currentDate = new Date(currentDate.setMonth(month));
+    //获得当前月份0-11
+    var currentMonth = currentDate.getMonth();
+    //获得当前年份4位年
+    var currentYear = currentDate.getFullYear();
+    //获得上一个月的第一天
+    var currentMonthFirstDay = new Date(currentYear, currentMonth, 1);
+    //获得上一月的最后一天
+    var currentMonthLastDay = new Date(currentYear, currentMonth + 1, 0);
+    //添加至数组
+    startStop.push(getDateStr3(currentMonthFirstDay));
+    startStop.push(getDateStr3(currentMonthLastDay));
+    //返回
+    return startStop;
+}
+
+/**
+ * 获得当前年月日
+ * ***/
+function YearMonthDate() {
+    var date = new Date();
+    var mon = date.getMonth() + 1;
+    var day = date.getDate();
+    var currDate = date.getFullYear() + "-" + (mon < 10 ? "0" + mon : mon) + "-" + (day < 10 ? "0" + day : day) + " 23:59:59";
+    return currDate
+}
+
+/**
+ * 获得当前年月日SFM
+ * ***/
+ function YearMonthDateSFN() {
+    var date = new Date();
+    var mon = date.getMonth() + 1;
+    var day = date.getDate();
+
+    var h = date.getHours();
+    h = h < 10 ? ('0' + h) : h;
+    var minute = date.getMinutes();
+    minute = minute < 10 ? ('0' + minute) : minute;
+    var second = date.getSeconds();
+    second = second < 10 ? ('0' + second) : second;
+
+    var currDate = date.getFullYear() + "-" + (mon < 10 ? "0" + mon : mon) + "-" + (day < 10 ? "0" + day : day) + " " + h + ":" + minute + ":" + second;
+    return currDate
+}
+/**
+ * 年月日时分秒转时间戳()
+ * getTimeFormat('2022-02-02 02:22:22');
+ * ***/
+function getTimeFormat(timeS){
+    let time = (new Date(timeS).getTime()) / 1000; //除1000 是变成秒级的时间戳 不除就是毫秒级
+    return time;
+}
+
+export {
+    getWeekStartAndEnd,
+    getMonthStartAndEnd,
+    getHalfYearStartDate,
+    getHalfYearEndDate,
+    getThisYearStartDate,
+    getThisYearEndDate,
+    getWeekStartDate,
+    getWeekEndDate,
+    getLastWeekStartDate,
+    getLastWeekEndDate,
+    getMonthStartDate,
+    getMonthEndDate,
+    getLastMonthStartDate,
+    getLastMonthEndDate,
+    getQuarterStartDate,
+    getQuarterEndDate,
+    timestampToTime,
+    getThisDateBeforMonth,
+    getThisDateNextMonth,
+    YearMonthDate,
+    YearMonthDateSFN,
+    getTimeFormat,
+    getDateStr3
+}

+ 76 - 32
src/views/recharge/consumePlaces/bookingManagement/index.vue

@@ -12,21 +12,21 @@
         />
       </el-form-item>
       <el-form-item label="商品类型" >
-          <el-select v-model="queryParams.type"  placeholder="请选择商品类型" size="small"  style="width: 80px">
+          <el-select v-model="queryParams.type"  placeholder="请选择商品类型" size="small"  style="width: 140px">
             <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in typeList" :key="item" />
           </el-select>
       </el-form-item>
       <el-form-item label="预约日期" >
-         <el-date-picker v-model="queryParams.orderTime" type="datetime" placeholder="选择预约日期" value-format="yyyy-MM-dd" />
+         <el-date-picker v-model="queryParams.orderTime" type="date" placeholder="选择预约日期" value-format="yyyy-MM-dd" style="width: 140px"/>
       </el-form-item>
 
-      <el-form-item label="执行时段" >
-          <el-select v-model="queryParams.startTime"  placeholder="请选择开始时间" size="small"  style="width: 80px">
-            <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+      <el-form-item label="预约时段" >
+          <el-select v-model="queryParams.startTime"  placeholder="请选择开始时间" size="small"  style="width: 140px">
+            <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeStart" :key="item" />
           </el-select>
           --
-          <el-select v-model="queryParams.endTime"  placeholder="请选择截止时间" size="small"  style="width: 80px">
-            <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+          <el-select v-model="queryParams.endTime"  placeholder="请选择截止时间" size="small"  style="width: 140px">
+            <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeEnd" :key="item" />
           </el-select>
       </el-form-item>
 
@@ -91,44 +91,54 @@
     <!-- 添加或修改参数配置对话框 -->
     <el-dialog   :title="title" :visible.sync="open" width="600px" append-to-body :before-close="cancel" :close-on-click-modal="false"  >
       <el-form ref="form" :model="form" :rules="rules" label-width="120px" >
-        <el-row :gutter="20">
+        <el-row :gutter="0">
           <el-col :span="16">
             <el-form-item label="商品名称" prop="name" >
               <el-input v-model="form.name" placeholder="请输入商品名称" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="生效状态" prop="status" >
-              <el-select v-model="form.status"  placeholder="请选择生效状态" size="small"  style="width: 80px">
-                <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in statusList" :key="item" />
+            <el-form-item label="预约商品" prop="status" >
+              <el-select v-model="form.status"  placeholder="请选择预约商品" size="small"  style="width: 160px">
+                <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in statusList" :key="item" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="商品类型" prop="type" >
-              <el-select v-model="form.type"  placeholder="请选择商品类型" size="small"  style="width: 80px">
+              <el-select v-model="form.type"  placeholder="请选择商品类型" size="small"  style="width: 160px">
                 <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in typeList" :key="item" />
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="24">
-            <el-form-item label="重复周期" prop="checkList" >
-              <el-checkbox-group v-model="form.checkList" >
-                <el-checkbox v-for="date in cycleList" :label="date.key" :key="date.key">{{date.label}}</el-checkbox>
-              </el-checkbox-group>
+           <el-col :span="12">
+            <el-form-item label="预约日期" prop="type" >
+              <el-date-picker v-model="queryParams.orderTime" type="date" placeholder="选择预约日期" value-format="yyyy-MM-dd" style="width: 160px"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
+            <el-form-item label="商品单价" prop="price" >
+              <el-input v-model="form.name" placeholder="商品单价" style="display:inline-block;width:100px;"/> <span style="display:inline-block"> 元/每次</span>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
             <el-form-item label="执行时段" >
-                <el-select v-model="form.startTime"  placeholder="请选择开始时间" size="small"  style="width: 80px">
-                  <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+                <el-select v-model="form.startTime"  placeholder="请选择开始时间" size="small"  style="width: 140px;display:inline-block">
+                  <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeStart" :key="item" />
                 </el-select>
                 --
-                <el-select v-model="form.endTime"  placeholder="请选择截止时间" size="small"  style="width: 80px">
-                  <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+                <el-select v-model="form.endTime"  placeholder="请选择截止时间" size="small"  style="width: 140px;display:inline-block">
+                  <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeEnd" :key="item" />
                 </el-select>
             </el-form-item>
           </el-col>
+           <el-col :span="16">
+            <el-form-item label="场地锁定" prop="name" >
+              <el-checkbox-group v-model="checkList" @change="handleCheckedDatesChange">
+                <el-checkbox v-for="date in lock" :label="date.value" :key="date.value">{{date.label}}</el-checkbox>
+              </el-checkbox-group>
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -180,13 +190,18 @@ export default {
         aliasName: undefined,
       },
 
+
       typeList:[
         {value:"",lable:"全部"},
         {value:"1",lable:"商品1"},
         {value:"2",lable:"商品2"},
       ],
-
-      implementTime:[],//执行时段
+      lock:[
+        {value:1,label:"锁定"},
+      ],
+      checkList:[],
+      implementTimeEnd:[],
+      implementTimeEnd:[],
       // 表单参数
       form: {
 
@@ -216,33 +231,62 @@ export default {
   },
   created() {
     this.getList()
-    this.zxtime()
+    this.zxtimeStart()
+    this.zxtimeEnd()
   },
   methods: {
-    /** 执行时间 */
-    zxtime(){
+    handleCheckedDatesChange(){
+
+    },
+    /** 执行开始时间 */
+    zxtimeStart(){
       let arr = []
       for(let i = 0; i<48;i++){
         arr[i] = {}
         if(i%2 == "NaN"){
-          arr[i].dictValue="00:00:00"
+          arr[i].value="00:00:00"
+        }
+        if(i%2 == "0"){
+          if(i/2>=10){
+            arr[i].value= i/2 + ":00:00"
+          }else{
+            arr[i].value="0" + i/2 + ":00:00"
+          }
+        }
+        if(i%2 == "1"){
+          if(i/2>=10){
+            arr[i].value=(i-1)/2 + ":30:00"
+          }else{
+            arr[i].value="0" + (i-1)/2 + ":30:00"
+          }
+        }
+      }
+      this.implementTimeStart = arr
+    },
+    /** 执行开结束时间 */
+    zxtimeEnd(){
+      let arr = []
+      for(let i = 0; i<49;i++){
+        arr[i] = {}
+        if(i%2 == "NaN"){
+          arr[i].value="00:00:00"
         }
         if(i%2 == "0"){
           if(i/2>=10){
-            arr[i].dictValue= i/2 + ":00:00"
+            arr[i].value= i/2 + ":00:00"
           }else{
-            arr[i].dictValue="0" + i/2 + ":00:00"
+            arr[i].value="0" + i/2 + ":00:00"
           }
         }
         if(i%2 == "1"){
           if(i/2>=10){
-            arr[i].dictValue=(i-1)/2 + ":30:00"
+            arr[i].value=(i-1)/2 + ":30:00"
           }else{
-            arr[i].dictValue="0" + (i-1)/2 + ":30:00"
+            arr[i].value="0" + (i-1)/2 + ":30:00"
           }
         }
       }
-      this.implementTime = arr
+      this.implementTimeEnd = arr.slice(1,arr.length)
     },
     /** 查询参数列表 */
     getList() {

+ 97 - 51
src/views/recharge/consumePlaces/commodityManagement/index.vue

@@ -12,27 +12,27 @@
         />
       </el-form-item>
       <el-form-item label="生效状态" >
-          <el-select v-model="queryParams.status"  placeholder="请选择生效状态" size="small"  style="width: 80px">
+          <el-select v-model="queryParams.status"  placeholder="请选择生效状态" size="small"  style="width: 160px">
             <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in statusList" :key="item" />
           </el-select>
       </el-form-item>
       <el-form-item label="商品类型" >
-          <el-select v-model="queryParams.type"  placeholder="请选择商品类型" size="small"  style="width: 80px">
+          <el-select v-model="queryParams.type"  placeholder="请选择商品类型" size="small"  style="width: 160px">
             <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in typeList" :key="item" />
           </el-select>
       </el-form-item>
       <el-form-item label="重复周期" >
-          <el-select v-model="queryParams.cycle"  placeholder="请选择重复周期" size="small"  style="width: 80px">
+          <el-select v-model="queryParams.cycle"  placeholder="请选择重复周期" size="small"  style="width: 160px">
             <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in cycleList" :key="item" />
           </el-select>
       </el-form-item>
       <el-form-item label="执行时段" >
-          <el-select v-model="queryParams.startTime"  placeholder="请选择开始时间" size="small"  style="width: 80px">
-            <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+          <el-select v-model="queryParams.startTime"  placeholder="请选择开始时间" size="small"  style="width: 160px">
+            <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeStart" :key="item" />
           </el-select>
           --
-          <el-select v-model="queryParams.endTime"  placeholder="请选择截止时间" size="small"  style="width: 80px">
-            <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+          <el-select v-model="queryParams.endTime"  placeholder="请选择截止时间" size="small"  style="width: 160px">
+            <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeEnd" :key="item" />
           </el-select>
       </el-form-item>
 
@@ -104,41 +104,41 @@
     <!-- 添加或修改参数配置对话框 -->
     <el-dialog   :title="title" :visible.sync="open" width="600px" append-to-body :before-close="cancel" :close-on-click-modal="false"  >
       <el-form ref="form" :model="form" :rules="rules" label-width="120px" >
-        <el-row :gutter="20">
+        <el-row :gutter="0">
           <el-col :span="16">
             <el-form-item label="商品名称" prop="name" >
-              <el-input v-model="form.name" placeholder="请输入商品名称" />
+              <el-input v-model="form.name" placeholder="请输入商品名称" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="生效状态" prop="status" >
-              <el-select v-model="form.status"  placeholder="请选择生效状态" size="small"  style="width: 80px">
+              <el-select v-model="form.status"  placeholder="请选择生效状态" size="small"  style="width: 140px">
                 <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in statusList" :key="item" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="商品类型" prop="type" >
-              <el-select v-model="form.type"  placeholder="请选择商品类型" size="small"  style="width: 80px">
+              <el-select v-model="form.type"  placeholder="请选择商品类型" size="small"  style="width: 140px">
                 <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in typeList" :key="item" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="重复周期" prop="checkList" >
-              <el-checkbox-group v-model="form.checkList" >
-                <el-checkbox v-for="date in cycleList" :label="date.key" :key="date.key">{{date.label}}</el-checkbox>
+              <el-checkbox-group v-model="checkList" @change="handleCheckedDatesChange">
+                <el-checkbox v-for="date in cycleList" :label="date.value" :key="date.value">{{date.label}}</el-checkbox>
               </el-checkbox-group>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item label="执行时段" >
-                <el-select v-model="form.startTime"  placeholder="请选择开始时间" size="small"  style="width: 80px">
-                  <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+                <el-select v-model="form.startTime"  placeholder="请选择开始时间" size="small"  style="width: 140px;display:inline-block">
+                  <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeStart" :key="item" />
                 </el-select>
                 --
-                <el-select v-model="form.endTime"  placeholder="请选择截止时间" size="small"  style="width: 80px">
-                  <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in implementTime" :key="item" />
+                <el-select v-model="form.endTime"  placeholder="请选择截止时间" size="small"  style="width: 140px;display:inline-block">
+                  <el-option :label="index.value"  :value="index.value" v-for = "(index, item) in implementTimeEnd" :key="item" />
                 </el-select>
             </el-form-item>
           </el-col>
@@ -154,6 +154,7 @@
 </template>
 <script>
 import { addManage, updataManage, delManage, getManage, exportManage } from "@/api/recharge/consumePlaces";
+import { getTimeFormat, YearMonthDate } from "@/assets/js/dataFormate.js";
 export default {
   name: "admin",
   data() {
@@ -193,38 +194,39 @@ export default {
         aliasName: undefined,
       },
       statusList:[
-        {value:"",lable:"全部"},
-        {value:"1",lable:"有效"},
-        {value:"2",lable:"无效"},
+        {value:"",label:"全部"},
+        {value:"1",label:"有效"},
+        {value:"2",label:"无效"},
       ],
       typeList:[
-        {value:"",lable:"全部"},
-        {value:"1",lable:"商品1"},
-        {value:"2",lable:"商品2"},
-      ],
-      cycleList:[
-        {value:"",lable:"全部"},
-        {value:"1",lable:"每日"},
-        {value:"2",lable:"每工作日"},
-        {value:"3",lable:"周末"},
+        {value:"",label:"全部"},
+        {value:"1",label:"商品1"},
+        {value:"2",label:"商品2"},
       ],
-      implementTime:[],//执行时段
+      // cycleList:[
+      //   {value:"",label:"全部"},
+      //   {value:"1",label:"每日"},
+      //   {value:"2",label:"每工作日"},
+      //   {value:"3",label:"周末"},
+      // ],
+      implementTimeStart:[],//执行开始时段
+      implementTimeEnd:[],//执行结束时段
       cycleList:[
-        {key:1,lable:"周一"},
-        {key:2,lable:"周二"},
-        {key:3,lable:"周三"},
-        {key:4,lable:"周四"},
-        {key:5,lable:"周五"},
-        {key:6,lable:"周六"},
-        {key:7,lable:"周日"},
-        {key:8,lable:"每天"},
-        {key:9,lable:"每工作日"},
-        {key:10,lable:"周末"}
+        {value:1,label:"周一"},
+        {value:2,label:"周二"},
+        {value:3,label:"周三"},
+        {value:4,label:"周四"},
+        {value:5,label:"周五"},
+        {value:6,label:"周六"},
+        {value:7,label:"周日"},
+        {value:8,label:"每天"},
+        {value:9,label:"每工作日"},
+        {value:10,label:"周末"}
       ],
       // 表单参数
       form: {
-
       },
+      checkList:[],
       // 表单校验
       rules: {
         name: [
@@ -250,33 +252,63 @@ export default {
   },
   created() {
     this.getList()
-    this.zxtime()
+    this.zxtimeStart()
+    this.zxtimeEnd()
   },
   methods: {
-    /** 执行时间 */
-    zxtime(){
+    /*  日期多选 */
+    handleCheckedDatesChange(value){
+      console.log(value)
+    },
+    /** 执行开始时间 */
+    zxtimeStart(){
       let arr = []
       for(let i = 0; i<48;i++){
         arr[i] = {}
         if(i%2 == "NaN"){
-          arr[i].dictValue="00:00:00"
+          arr[i].value="00:00:00"
         }
         if(i%2 == "0"){
           if(i/2>=10){
-            arr[i].dictValue= i/2 + ":00:00"
+            arr[i].value= i/2 + ":00:00"
           }else{
-            arr[i].dictValue="0" + i/2 + ":00:00"
+            arr[i].value="0" + i/2 + ":00:00"
           }
         }
         if(i%2 == "1"){
           if(i/2>=10){
-            arr[i].dictValue=(i-1)/2 + ":30:00"
+            arr[i].value=(i-1)/2 + ":30:00"
           }else{
-            arr[i].dictValue="0" + (i-1)/2 + ":30:00"
+            arr[i].value="0" + (i-1)/2 + ":30:00"
           }
         }
       }
-      this.implementTime = arr
+      this.implementTimeStart = arr
+    },
+    /** 执行开结束时间 */
+    zxtimeEnd(){
+      let arr = []
+      for(let i = 0; i<49;i++){
+        arr[i] = {}
+        if(i%2 == "NaN"){
+          arr[i].value="00:00:00"
+        }
+        if(i%2 == "0"){
+          if(i/2>=10){
+            arr[i].value= i/2 + ":00:00"
+          }else{
+            arr[i].value="0" + i/2 + ":00:00"
+          }
+        }
+        if(i%2 == "1"){
+          if(i/2>=10){
+            arr[i].value=(i-1)/2 + ":30:00"
+          }else{
+            arr[i].value="0" + (i-1)/2 + ":30:00"
+          }
+        }
+      }
+      this.implementTimeEnd = arr.slice(1,arr.length)
     },
     /** 查询参数列表 */
     getList() {
@@ -303,6 +335,14 @@ export default {
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.current = 1;
+      if(this.queryParams.startTime && this.queryParams.endTime){
+        let start = YearMonthDate().split(" ")[0] + " " + this.queryParams.startTime
+        let end = YearMonthDate().split(" ")[0] + " " + this.queryParams.endTime
+        if(getTimeFormat(end) <= getTimeFormat(start)){
+          this.msgError("结束时间不能小于或等于开始时间");
+          return
+        }
+      }
       this.getList();
     },
     /** 重置按钮操作 */
@@ -333,6 +373,12 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.loading = true
+          let start = YearMonthDate().split(" ")[0] + " " + this.form.startTime
+          let end = YearMonthDate().split(" ")[0] + " " + this.form.endTime
+          if(getTimeFormat(end) <= getTimeFormat(start)){
+            this.msgError("结束时间不能小于或等于开始时间");
+            return
+          }
           if (this.form.id != undefined) {
             updataManage(this.form).then(response => {
               this.loading = false

+ 18 - 18
src/views/recharge/consumePlaces/commodityType/index.vue

@@ -12,7 +12,7 @@
         />
       </el-form-item>
       <el-form-item label="生效状态" prop="status">
-          <el-select v-model="queryParams.status"  placeholder="请选择生效状态" size="small"  style="width: 80px">
+          <el-select v-model="queryParams.status"  placeholder="请选择生效状态" size="small"  style="width: 160px">
             <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in statusList" :key="item" />
           </el-select>
       </el-form-item>
@@ -80,36 +80,36 @@
     <!-- 添加或修改参数配置对话框 -->
     <el-dialog   :title="title" :visible.sync="open" width="600px" append-to-body :before-close="cancel" :close-on-click-modal="false"  >
       <el-form ref="form" :model="form" :rules="rules" label-width="120px" >
-        <el-row :gutter="20">
+        <el-row :gutter="0">
           <el-col :span="16">
-            <el-form-item label="类型名称" prop="name" >
-              <el-input v-model="form.name" placeholder="请输入类型名称" />
+            <el-form-item label="类型名称"  >
+              <el-input v-model="form.name" placeholder="请输入类型名称" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="生效状态" prop="type" >
-              <el-select v-model="form.type"  placeholder="请选择生效状态" size="small"  style="width: 80px">
-                <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in typeList" :key="item" />
+          <el-col :span="24">
+            <el-form-item label="生效状态"  >
+              <el-select v-model="form.type"  placeholder="请选择生效状态" size="small"  style="width: 180px">
+                <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in statusList" :key="item" />
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="门禁控制器编码" prop="type" >
-              <el-select v-model="form.type"  placeholder="请选择门禁控制器编码" size="small"  style="width: 80px">
+          <el-col :span="24">
+            <el-form-item label="门禁控制器编码" >
+              <el-select v-model="form.type"  placeholder="请选择门禁控制器编码" size="small"  style="width: 180px">
                 <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in typeList" :key="item" />
               </el-select>
             </el-form-item>
           </el-col>
-           <el-col :span="12">
-            <el-form-item label="门禁通道编码" prop="type" >
-              <el-select v-model="form.type"  placeholder="请选择门禁通道编码" size="small"  style="width: 80px">
+           <el-col :span="24">
+            <el-form-item label="门禁通道编码"  >
+              <el-select v-model="form.type"  placeholder="请选择门禁通道编码" size="small"  style="width: 180px">
                 <el-option :label="index.label"  :value="index.value" v-for = "(index, item) in typeList" :key="item" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="24">
             <el-form-item label="备注" prop="introduce">
-              <el-input type="textarea" :rows="4" placeholder="请输入备注" v-model="form.introduce">
+              <el-input type="textarea" :rows="4" placeholder="请输入备注" v-model="form.introduce" maxlength="50" show-word-limit>
               </el-input>
             </el-form-item>
           </el-col>
@@ -170,9 +170,9 @@ export default {
         aliasName: undefined,
       },
       statusList:[
-        {value:"",lable:"全部"},
-        {value:"1",lable:"有效"},
-        {value:"2",lable:"无效"},
+        {value:"",label:"全部"},
+        {value:"1",label:"有效"},
+        {value:"2",label:"无效"},
       ],
       // 表单参数
       form: {

+ 3 - 3
vue.config.js

@@ -33,8 +33,8 @@ module.exports = {
         proxy: {
             // detail: https://cli.vuejs.org/config/#devserver-proxy
             [process.env.VUE_APP_BASE_API]: {
-                //target: `http://172.16.120.213:8085`, //本地
-                target: 'https://smartpark.caih.com/dxapi/', //东信
+                target: `http://172.16.120.213:8085`, //本地
+                //target: 'https://smartpark.caih.com/dxapi/', //东信
                 changeOrigin: true,
                 pathRewrite: {
                     ['^' + process.env.VUE_APP_BASE_API]: ''
@@ -125,4 +125,4 @@ module.exports = {
                 }
             )
     }
-}
+}