See999 4 years ago
parent
commit
6ae1ce74f8
1 changed files with 85 additions and 4 deletions
  1. 85 4
      src/xt_pages/medicalScheduling/index.vue

+ 85 - 4
src/xt_pages/medicalScheduling/index.vue View File

33
                         :value="item.value">
33
                         :value="item.value">
34
                     </el-option>
34
                     </el-option>
35
                 </el-select>
35
                 </el-select>
36
-                <el-button type="text" style="margin:0 10px;">&lt;上一周(22)</el-button>
37
-                <div class="dateBox">2019.11.25-2019.12.01(47)</div>
38
-                <el-button type="text" style="margin:0 10px;">下一周(24)&gt;</el-button>
36
+                <el-button @click="lastclick" type="text" style="margin:0 10px;">&lt;上一周({{ weekNum - 1 }})</el-button>
37
+                <div class="dateBox">{{ weekDayArr[0] }}-{{ weekDayArr[6] }}({{ weekNum }})</div>
38
+                <el-button @click="nextclick" type="text" style="margin:0 10px;">下一周({{ weekNum + 1 }})&gt;</el-button>
39
             </div>
39
             </div>
40
             <div style="display:flex;justify-content: space-between;">
40
             <div style="display:flex;justify-content: space-between;">
41
                 <div style="width: 70%">
41
                 <div style="width: 70%">
125
                 name: '王小虎',
125
                 name: '王小虎',
126
                 address: '上海市普陀区金沙江路 1516 弄'
126
                 address: '上海市普陀区金沙江路 1516 弄'
127
             }],
127
             }],
128
-            isChecked:true
128
+            isChecked:true,
129
+            weekNum:'',
130
+            weekDayArr:[],
131
+            todayDate:'',
132
+            clen:7,
133
+            nowYear: new Date().getFullYear()
129
 
134
 
130
         }
135
         }
131
     },
136
     },
137
+    created(){
138
+        let year = new Date().getFullYear()
139
+        let month = new Date().getMonth() + 1
140
+        let date = new Date().getDate()
141
+        this.weekNum = this.getYearWeek(year,month,date)
142
+
143
+        this.todayDate=this.formatDate(new Date())
144
+        this.setDate(new Date())
145
+        
146
+    },
132
     methods:{
147
     methods:{
133
         search(){},
148
         search(){},
134
         toPrint(){
149
         toPrint(){
136
                 path: '/medicalScheduling/schedule/print',
151
                 path: '/medicalScheduling/schedule/print',
137
                 // query: { date: date }
152
                 // query: { date: date }
138
             })
153
             })
154
+        },
155
+        formatDate(date){      
156
+          var year = date.getFullYear()+'.'       
157
+          var month = (date.getMonth()+1)+'.';
158
+          var day = date.getDate();
159
+          return year+month+day
160
+        }, 
161
+        addDate(date,n){        
162
+          date.setDate(date.getDate()+n);        
163
+          return date;
164
+        },  
165
+        //
166
+        setDate(date){           
167
+            var week = date.getDay()-1;
168
+            date = this.addDate(date,week*-1);
169
+            this.currentFirstDate = new Date(date);
170
+            for(var i = 0;i<this.clen; i++){     
171
+                this.weekDayArr.push(this.formatDate(i==0 ? date : this.addDate(date,1)))
172
+            }     
173
+            console.log(333333333,this.weekDayArr)           
174
+        },
175
+        //上一周 
176
+        lastclick(){
177
+            this.weekDayArr=[]
178
+            this.setDate(this.addDate(this.currentFirstDate,-7));   
179
+            this.weekNum = this.weekNum - 1
180
+            if(this.weekNum - 1 == 0){
181
+                let year = this.nowYear - 1
182
+                let month = 12
183
+                let date = 31
184
+                this.weekNum = this.getYearWeek(year,month,date)
185
+                this.nowYear = this.nowYear - 1
186
+            }
187
+        },
188
+        //下一周
189
+        nextclick(){ 
190
+            this.weekDayArr=[]                
191
+            this.setDate(this.addDate(this.currentFirstDate,7));
192
+            this.weekNum = this.weekNum + 1
193
+            if(this.weekNum + 1 == 54){
194
+                let year = this.nowYear + 1
195
+                let month = 1
196
+                let date = 1
197
+                this.weekNum = this.getYearWeek(year,month,date)
198
+                this.nowYear = this.nowYear + 1
199
+                console.log('year',year)
200
+                console.log('month',month)
201
+                console.log('date',date)
202
+                console.log(this.weekNum)
203
+                console.log('执行')
204
+            }
205
+        },
206
+
207
+        getYearWeek(year,month,date){
208
+            /*  
209
+                dateNow是当前日期 
210
+                dateFirst是当年第一天  
211
+                dataNumber是当前日期是今年第多少天  
212
+                用dataNumber + 当前年的第一天的周差距的和在除以7就是本年第几周  
213
+            */      
214
+            let dateNow = new Date(year, parseInt(month) - 1, date);
215
+            let dateFirst = new Date(year, 0, 1);
216
+            let dataNumber = Math.round((dateNow.valueOf() - dateFirst.valueOf()) / 86400000);
217
+            console.log(222222222222,Math.ceil((dataNumber + ((dateFirst.getDay() + 1) - 1)) / 7))
218
+            return Math.ceil((dataNumber + ((dateFirst.getDay() + 1) - 1)) / 7);        
139
         }
219
         }
220
+
140
     }
221
     }
141
 }
222
 }
142
 </script>
223
 </script>