From a73fcd5dc034496ce9a38a9be166c6bb85819bc1 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期六, 04 五月 2024 17:15:44 +0800
Subject: [PATCH] update

---
 src/views/console/base/CalenderTab.vue |   96 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 67 insertions(+), 29 deletions(-)

diff --git a/src/views/console/base/CalenderTab.vue b/src/views/console/base/CalenderTab.vue
index 4e22a1e..9fe9100 100644
--- a/src/views/console/base/CalenderTab.vue
+++ b/src/views/console/base/CalenderTab.vue
@@ -1,47 +1,60 @@
 <!--
  * @Date: 2024-04-04 22:45:43
  * @LastEditors: Sneed
- * @LastEditTime: 2024-04-09 20:15:57
+ * @LastEditTime: 2024-05-04 16:44:58
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/CalenderTab.vue
 -->
 <template>
+    <el-container>
+        <el-aside width="220px">
+            <el-button type="primary" icon="el-icon-plus" @click="add">鏂板缓鏃ュ巻</el-button>
+            <div v-infinite-scroll="load">
+                <el-card shadow="never" class="card" v-for="item in caleList" :key="item.id" @click="select(item)">
+                    <h3>{{ item.code }}</h3>
+                    <p>鏃ュ巻鍚嶇О: {{ item.name }}</p>
+                    <p>搴旂敤骞翠唤: {{ item.year }}</p>
+                </el-card>
+            </div>
+        </el-aside>
         <el-container>
-            <el-aside width="220px">
-                <el-button type="primary" icon="el-icon-plus">鏂板缓鏃ュ巻</el-button>
-                <div v-infinite-scroll="load">
-                    <el-card shadow="never" class="card" v-for="item in caleList" :key="item.id">
-                        <h3>{{item.code}}</h3>
-                        <p>鏃ュ巻鍚嶇О: {{item.name}}</p>
-                        <p>搴旂敤骞翠唤: {{item.year}}</p>
-                    </el-card>
-                </div>
-            </el-aside>
-            <el-container>
-                <el-header>
-                    <el-button type="primary">鍏宠仈宸ヤ綅</el-button>
-                    <el-button type="primary">缂栬緫鏃ュ巻</el-button>
-                    <el-button type="primary">鍒犻櫎</el-button>
-                </el-header>
-                <el-main>
-                    <Calendar :min-date="minDate" :rows="1" disable-page-swipe :nav-visibility="''" :attributes='attributes'/>
-                </el-main>
-            </el-container>
+            <el-header>
+                <span>鏃ュ巻銆恵{ selectInfo.code }}銆憑{ selectInfo.name }}</span>
+                <el-button type="primary" style="margin-left: auto;" size="small">鍏宠仈宸ヤ綅</el-button>
+                <el-button type="primary" size="small">缂栬緫鏃ュ巻</el-button>
+                <el-popconfirm title="纭畾鍒犻櫎鍚楋紵" @confirm="table_del">
+                    <template #reference>
+                        <el-button type="primary" size="small">鍒犻櫎</el-button>
+                    </template>
+                </el-popconfirm>
+            </el-header>
+            <el-main>
+                <Calendar :min-date="minDate" :rows="1" disable-page-swipe :nav-visibility="''"
+                    :attributes='attributes' />
+            </el-main>
         </el-container>
+        <el-drawer v-model="drawer" size="80%" title="鐢熶骇鏃ュ巻" :direction="direction" :before-close="handleClose">
+            <Add></Add>
+        </el-drawer>
+    </el-container>
 </template>
 
 <script>
 import { Calendar, DatePicker } from 'v-calendar';
 import 'v-calendar/style.css';
-
+import Add from './Add.vue'
 export default {
     components: {
         Calendar,
-        DatePicker
+        DatePicker,
+        Add
     },
     data() {
         return {
+            shiftList: [],
+            selectInfo: {},
+            drawer: true,
             attributes: [
-                
+
             ],
             current: 0,
             total: 1,
@@ -55,12 +68,34 @@
         this.init()
     },
     methods: {
-        init () {
+        init() {
             this.minDate = new Date('2024-01-01')
             this.maxDate = new Date('2024-01-31')
+            this.$HTTP.post('/api/blade-cps/shift/list', { statusList: [1] }).then(res => {
+                if (res.code === 200) {
+                    this.shiftList = res.data
+                }
+            })
         },
-        load() {
-            if  (this.current * 15 >= this.total) {
+        select(row) {
+            this.selectInfo = {
+                ...row
+            }
+        },
+        table_del() {
+            this.$HTTP.delete(`/api/blade-cps/calendar/${this.selectInfo.id}`).then(res => {
+                if (res.code == 200) {
+                    this.$message.success("鎿嶄綔鎴愬姛");
+                    this.load(true)
+                }
+            })
+        },
+        add() {
+            this.drawer = true
+        },
+        load(flag) {
+            if (flag) this.current = 0;
+            if (this.current * 15 >= this.total) {
                 return
             }
             this.current += 1
@@ -69,13 +104,14 @@
                 if (res?.data?.records) {
                     if (this.current === 1) {
                         this.caleList = res?.data?.records || []
+                        this.select(this.caleList[0])
                     } else {
                         this.caleList.push(
                             ...res?.data?.records || []
                         )
                     }
-                    
                 }
+
             })
         }
     }
@@ -87,7 +123,9 @@
     cursor: pointer;
     margin: 12px 12px 12px 0;
 }
+
 .vc-arrow {
-    display: none!important;;
+    display: none !important;
+    ;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3