From afd3eab5d9db604134f570586ccd5598d38ce799 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 30 十二月 2022 15:07:21 +0800
Subject: [PATCH] 1.项目实现更换皮肤功能

---
 src/components/DatePicker/index.vue |  105 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 73 insertions(+), 32 deletions(-)

diff --git a/src/components/DatePicker/index.vue b/src/components/DatePicker/index.vue
index b9a67bb..19764ec 100644
--- a/src/components/DatePicker/index.vue
+++ b/src/components/DatePicker/index.vue
@@ -42,11 +42,14 @@
 
                 :disabled="!isDblDate(visibleDays[(i-1)*7+(j-1)])"
               >
+
                 <div class="pop_style">{{ callbackTxt(visibleDays[(i - 1) * 7 + (j - 1)]) }}</div>
+                <!--                <div class="pop_style">123</div>-->
                 <span
                   slot="reference"
                   :class="[{select:isSelect(visibleDays[(i-1)*7+(j-1)])},
                            {dblDateStyle:isDblDate(visibleDays[(i-1)*7+(j-1)])}]"
+                  :style="{background: isSelect(visibleDays[(i-1)*7+(j-1)])?$store.state.settings.theme:''}"
                 >{{ visibleDays[(i - 1) * 7 + (j - 1)].getDate() }}</span>
               </el-popover>
 
@@ -127,6 +130,7 @@
   CapacityPlanningOnclickSelect,
   CapacityPlanningSetupSearch
 } from '@/api/scgl'
+import { handleDatetime } from '@/utils/global'
 
 var time = null
 export default {
@@ -244,11 +248,10 @@
         }
       }
       for (const i in this.projectDef) {
-        if (this.projectDef[i].CapSetupCode === code) {
-          name = this.projectDef[i].CapSetupName
+        if (this.projectDef[i].code === code) {
+          name = this.projectDef[i].name
         }
       }
-
       return name
     },
     getHeight() {
@@ -260,7 +263,7 @@
       }
 
       const e = event || window.event
-      // console.log(e.clientY, 7)
+
       const nowHeigth = e.clientY
       if (nowHeigth >= 500) {
         this.topStyle = true
@@ -303,7 +306,7 @@
 
       this.getCapacityPlanningCalendar()
       this.getHeight()
-      this.CapacityPlanningSetupSearch()
+      this.getCapacityPlanningSetupSearch()
       this.CapacityPlanningSearch()
     },
     blur() {
@@ -331,14 +334,13 @@
       clearTimeout(time) // 棣栧厛娓呴櫎璁℃椂鍣�
       time = setTimeout(() => {
         this.time = funsdates.getYearMonthDay(date)
-        // const timeDate = ''
+        if (typeof this.value === 'string') {
+          this.value = this.value.split(',')
+        }
         this.isDbl = false
         // 鍙互鐐瑰嚮鐨勬棩鏈�
         if (!this.isPastDue(date)) {
           if ((this.value.indexOf(this.handleDatetime(date)) < 0 && this.value !== '') || this.value === '') { // 鏁扮粍娣诲姞
-            if (typeof this.value === 'string') {
-              this.value = this.value.split(',')
-            }
             this.value.push(this.handleDatetime(date)) // 鏂板鍒癷nput閲�
             const data = {
               name: this.handleDatetime(date),
@@ -347,9 +349,6 @@
             this.defArr.push(data) // 鏂板鍒� 榛樿鏁扮粍閲�
           } else if (this.value.indexOf(this.handleDatetime(date)) >= 0) { // 鏁扮粍鍑忓幓
             const indexV = this.value.indexOf(this.handleDatetime(date))
-            if (typeof this.value === 'string') {
-              this.value = this.value.split(',')
-            }
             this.value.splice(indexV, 1)
             for (const i in this.defArr) {
               if (this.defArr[i].name === this.handleDatetime(date)) {
@@ -364,16 +363,57 @@
     dblChooseDate(date) {
       if (!this.isPastDue(date)) {
         clearTimeout(time)
-        this.dblDate = date
-        this.isDbl = true
-        this.changeTime = this.handleDatetime(date)
+        time = setTimeout(() => {
+          this.time = funsdates.getYearMonthDay(date)
+          if (typeof this.value === 'string') {
+            this.value = this.value.split(',')
+          }
+          // 鍙互鐐瑰嚮鐨勬棩鏈�
+          if (!this.isPastDue(date)) {
+            if ((this.value.indexOf(this.handleDatetime(date)) < 0 && this.value !== '') || this.value === '') { // 鏁扮粍娣诲姞
+              this.value.push(this.handleDatetime(date)) // 鏂板鍒癷nput閲�
+              const data = {
+                name: this.handleDatetime(date),
+                key: this.rowData.CaptPlanWorkShiftCode
+              }
+              this.defArr.push(data) // 鏂板鍒� 榛樿鏁扮粍閲�
+              this.dblDate = date
+              this.isDbl = true // 鍙充晶灞曞紑
 
-        this.CapacityPlanningOnclickSelect({
-          CaptPlanWorkShiftCode: this.rowData.CaptPlanWorkShiftCode,
-          captplanid: this.rowData.CaptPlanId,
-          datetime: this.handleDatetime(date)
-        })
-        this.getDblTime()
+              this.changeTime = this.handleDatetime(date)
+
+              const DATA = {
+                CaptPlanWorkShiftCode: this.defArr.find(item => item.name === this.changeTime).key,
+                captplanid: this.rowData.CaptPlanId,
+                datetime: this.handleDatetime(date)
+              }
+              this.getCapacityPlanningOnclickSelect(DATA)
+              this.getDblTime()
+            } else if (this.value.indexOf(this.handleDatetime(date)) >= 0) {
+              this.dblDate = date
+              this.isDbl = true // 鍙充晶灞曞紑
+
+              this.changeTime = this.handleDatetime(date)
+
+              const DATA = {
+                CaptPlanWorkShiftCode: this.defArr.find(item => item.name === this.changeTime).key,
+                captplanid: this.rowData.CaptPlanId,
+                datetime: this.handleDatetime(date)
+              }
+              this.getCapacityPlanningOnclickSelect(DATA)
+              this.getDblTime()
+
+              //   const indexV = this.value.indexOf(this.handleDatetime(date))
+              //   this.value.splice(indexV, 1)
+              //   for (const i in this.defArr) {
+              //     if (this.defArr[i].name === this.handleDatetime(date)) {
+              //       this.defArr.splice(i, 1)
+              //     }
+              //   }
+            }
+          }
+          this.$emit('input', this.value)
+        }, 300)
       }
     },
     isDblDate(date) {
@@ -438,7 +478,7 @@
     //         }
     // },
     // 鍙屽嚮璇锋眰鏁版嵁
-    CapacityPlanningOnclickSelect(data) {
+    getCapacityPlanningOnclickSelect(data) {
       CapacityPlanningOnclickSelect(data).then((res) => {
         this.projectList = res.data
 
@@ -476,22 +516,23 @@
     },
     getCapacityPlanningCalendar() {
       CapacityPlanningCalendar({ captplanid: this.rowData.CaptPlanId }).then((res) => {
-        this.defArr = res.data
+        const currentDate = handleDatetime(new Date())
+        this.defArr = res.data.filter(i => i.name >= currentDate)
       })
     },
     closeCapacityPlanningCalendar() {
       CapacityPlanningCalendar({ captplanid: this.rowData.CaptPlanId }).then((res) => {
         const nameList = []
-        for (const i in res.List) {
-          nameList.push(res.List[i].name)
-          if (res.List[i].key === '') {
-            res.List[i].key = this.rowData.CaptPlanWorkShiftCode
+        for (const i in res.data) {
+          nameList.push(res.data[i].name)
+          if (res.data[i].key === '') {
+            res.data[i].key = this.rowData.CaptPlanWorkShiftCode
           }
         }
         for (const i in this.defArr) {
-          for (const j in res.List) {
-            if (this.defArr[i].name === this.changeTime && res.List[j].name === this.changeTime) {
-              this.defArr[i].key = res.List[j].key
+          for (const j in res.data) {
+            if (this.defArr[i].name === this.changeTime && res.data[j].name === this.changeTime) {
+              this.defArr[i].key = res.data[j].key
             } else if (this.defArr[i].name === this.changeTime && nameList.indexOf(this.changeTime) === -1) {
               this.defArr[i].key = this.rowData.CaptPlanWorkShiftCode
             }
@@ -505,9 +546,9 @@
         this.closeCapacityPlanningCalendar()
       }, 300)
     },
-    CapacityPlanningSetupSearch() {
+    getCapacityPlanningSetupSearch() {
       CapacityPlanningSetupSearch(this.form).then((res) => {
-        this.projectDef = res.rows
+        this.projectDef = res.data
       })
     }
 

--
Gitblit v1.9.3