From 756f8a63347119f511fc964bf1e2ff2417339c56 Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期四, 11 一月 2024 17:16:42 +0800
Subject: [PATCH] update: 改寫 lodash 方法為純 js

---
 PAMapp/components/phoneContactTimePicker.vue |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/PAMapp/components/phoneContactTimePicker.vue b/PAMapp/components/phoneContactTimePicker.vue
index 1055196..e297e0b 100644
--- a/PAMapp/components/phoneContactTimePicker.vue
+++ b/PAMapp/components/phoneContactTimePicker.vue
@@ -74,18 +74,17 @@
   import { dayTimeFrames } from "~/shared/const/day-time-frames";
   import { OptionBtnDto, OptionDto } from "~/shared/models/optionBtnDto.model";
   import { weekDays } from "~/shared/const/week-days";
-  import * as _ from "lodash";
   @Component({
     filters:{
       titleFormatByIndex(index:number):string{
         const chineseNumber = ['銝�','鈭�','銝�','���','鈭�','�','銝�','�','銋�','���'];
         return '��挾'+chineseNumber[index];
       },
-      optionsFormat(selectedOptions:string[]|[], compareOptions:OptionDto): string{
-        return _.isEqual(selectedOptions.length,compareOptions.options.length)
-                ? compareOptions.selectAll
-                : _.join(selectedOptions,',');
-      },
+      optionsFormat(selectedOptions = [], compareOptions) {
+        return selectedOptions.length === compareOptions.options.length
+          ? compareOptions.selectAll
+          : selectedOptions.join(',');
+      }
     }
   })
   export default class PhoneContactTimePicker extends Vue {
@@ -110,7 +109,7 @@
     //////////////////////////////////////////////////////////////////////
 
     get isOpenByDayPopUp(): boolean{
-      return _.isEqual(this.popUpMode , TimePickerMode.SELECT_DAY)
+      return this.popUpMode === TimePickerMode.SELECT_DAY;
     }
 
     set isOpenByDayPopUp(value:boolean){
@@ -118,7 +117,7 @@
     }
 
     get isOpenByTimePopUp(): boolean{
-      return _.isEqual(this.popUpMode , TimePickerMode.SELECT_TIME);
+      return this.popUpMode === TimePickerMode.SELECT_TIME;
     }
 
     set isOpenByTimePopUp(value:boolean){
@@ -128,7 +127,7 @@
     //////////////////////////////////////////////////////////////////////
 
     openPopUp(schedule:scheduleDto,index:number):void{
-      this.initPickerControl = _.cloneDeep(schedule);
+      this.initPickerControl = JSON.parse(JSON.stringify(schedule));
       this.popUpMode = TimePickerMode.SELECT_DAY;
       this.scheduleIndex = index;
     }
@@ -144,8 +143,8 @@
     }
 
     private initPickerFormatSort(initPickerControl:scheduleDto):scheduleDto{
-      _.keys(initPickerControl).forEach(keyName=>{
-        const options = _.isEqual(keyName,'selectWeekOptions') ? weekDays : dayTimeFrames;
+      Object.keys(initPickerControl).forEach(keyName=>{
+        const options = keyName === 'selectWeekOptions' ? weekDays : dayTimeFrames;
         initPickerControl[keyName] = this.getOptionsBySort(initPickerControl[keyName],options);
       })
       return initPickerControl;
@@ -153,7 +152,7 @@
 
     // 鞈�������儔銝���������
     private getOptionsBySort( selectedOptions:string[] , options:OptionBtnDto[]): string[] {
-      return options.map( o => _.includes(selectedOptions , o.label) ? o.label as string : '').filter(String);
+      return options.map( o => selectedOptions.includes(o.label as string) ? o.label as string : '').filter(String);
     }
 
     addNewSchedule(): void {

--
Gitblit v1.8.0