jwyu 2 年之前
父節點
當前提交
45a3ac40ff
共有 3 個文件被更改,包括 47 次插入4 次删除
  1. 7 0
      src/api/ssbg/api.js
  2. 9 2
      src/views/ssbg/businessTrip/calendar.vue
  3. 31 2
      src/views/ssbg/components/swiperCalendar.vue

+ 7 - 0
src/api/ssbg/api.js

@@ -29,4 +29,11 @@ export const myEvents = params => {
  */
 export const apiSystemUsers=()=>{
 	return get('/system/role/seller/list',{})
+}
+
+/**
+ * 出差审批的日历
+ */
+export const apiBusinessTripCalendar=params=>{
+	return get('/business_trip/calendar',params)
 }

+ 9 - 2
src/views/ssbg/businessTrip/calendar.vue

@@ -51,6 +51,13 @@ function goToDay(){
     swiperCalendarRef.value.getRecentWeek(moment().format('YYYY-MM-DD'))
     swiperCalendarRef.value.selectDateHandle(moment().format('YYYY-MM-DD'),1)
 }
+
+//选择的日期改变
+let selectDateVal=ref(moment().format('YYYY-MM-DD'))
+function datechangeHandle(e){
+    selectDateVal.value=e
+}
+
 </script>
 
 <template>
@@ -60,7 +67,7 @@ function goToDay(){
                 <swiperCalendar @dateChange="datechangeHandle" ref="swiperCalendarRef"/>
             </div>
         </Sticky>
-        <div class="top-date-box">2/23(周四)</div>
+        <div class="top-date-box">{{moment(selectDateVal).format('MM/DD')}}({{moment(selectDateVal).format('ddd')}})</div>
         <div class="table-box">
             <div class="item">
                 <div class="left">张三</div>
@@ -73,7 +80,7 @@ function goToDay(){
         </div>
         <div class="fix-bot-action">
             <div class="action-box">
-                <div class="item" @click="goAddApply" v-if="!IsBusinessTrip">
+                <div class="item" @click="goAddApply" v-if="IsBusinessTrip!='true'">
                     <img src="@/assets/ssbg/icon-add.png" alt="">
                     <div>添加申请</div>
                 </div>

+ 31 - 2
src/views/ssbg/components/swiperCalendar.vue

@@ -1,5 +1,6 @@
 <script setup>
 import { reactive, toRefs, ref, watch, onMounted } from 'vue';
+import { DatetimePicker , Popup } from 'vant';
 import moment from 'moment';
 import 'moment/dist/locale/zh-cn';
 moment.locale('zh-cn');
@@ -151,6 +152,15 @@ const touchEndHandle = (e) => {
   }
 };
 
+// 唤起日历
+let showCalendar=ref(false)
+function onSelectCalendarConfirm(e){
+  const t=moment(e).format('YYYY-MM-DD')
+  getRecentWeek(t)
+  selectDateHandle(t,1)
+  showCalendar.value=false
+}
+
 /* 选中日期 更新日历 */
 watch(
   () => state.selectDate,
@@ -171,9 +181,12 @@ const { weekDateList, selectDate, moveIndex, touch } = toRefs(state);
 </script>
 
 <template>
-  <h3 class="current-date">{{ moment(selectDate).format('YYYY年MM月') }}</h3>
+  <h3 class="current-date">
+    <img class="icon" @click="showCalendar=true" src="@/assets/ssbg/calendar__grey_ico.png" alt="" v-if="$route.path==='/ssbg/businesstrip/calendar'">
+    <span>{{ moment(selectDate).format('YYYY年MM月') }}</span>
+  </h3>
   <ul class="weekend-ul">
-    <li v-for="item in weekDays">
+    <li v-for="item in weekDays" :key="item.label">
       <span>{{ item.label }}</span>
     </li>
   </ul>
@@ -215,12 +228,28 @@ const { weekDateList, selectDate, moveIndex, touch } = toRefs(state);
       </ul>
     </div>
   </div>
+
+  <Popup 
+        v-model:show="showCalendar" 
+        round 
+        position="bottom"
+  >
+    <DatetimePicker
+      type="date"
+      title="选择年月日"
+      @confirm="onSelectCalendarConfirm"
+    />
+  </Popup>
 </template>
 
 <style scoped lang="scss">
 .current-date {
   text-align: center;
   margin-bottom: 10px;
+  .icon{
+    width: 34px;
+    margin-right: 29px;
+  }
 }
 .weekend-ul {
   display: flex;