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/utils/request.js                      |    2 
 src/views/console/base/Shiftsystem.vue    |    2 
 src/views/console/base/Add.vue            |   95 +++++++++++++++++++++++
 src/views/console/base/Time.vue           |    2 
 src/views/console/base/shift-calendar.vue |    4 
 src/utils/errorHandler.js                 |    4 
 src/views/console/base/Dialog.vue         |    2 
 src/views/console/base/CalenderTab.vue    |   96 ++++++++++++++++-------
 8 files changed, 167 insertions(+), 40 deletions(-)

diff --git a/src/utils/errorHandler.js b/src/utils/errorHandler.js
index 88f4427..9404496 100644
--- a/src/utils/errorHandler.js
+++ b/src/utils/errorHandler.js
@@ -3,9 +3,9 @@
  * 姣斿 null.length 灏变細琚崟鎹夊埌
  */
 
-export default (error, vm)=>{
+export default (error, vm) => {
 	//杩囨护HTTP璇锋眰閿欒
-	if(error.status || error.status==0){
+	if (error.status || error.status == 0) {
 		return false
 	}
 
diff --git a/src/utils/request.js b/src/utils/request.js
index ec1904e..8c820d1 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -130,7 +130,7 @@
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
-				if (error.status == 400) {
+				if (error?.status == 400) {
 					ElMessage({
 						message: error.data.msg,
 						type: 'warning',
diff --git a/src/views/console/base/Add.vue b/src/views/console/base/Add.vue
new file mode 100644
index 0000000..0485acf
--- /dev/null
+++ b/src/views/console/base/Add.vue
@@ -0,0 +1,95 @@
+<!--
+ * @Date: 2024-05-04 16:37:48
+ * @LastEditors: Sneed
+ * @LastEditTime: 2024-05-04 17:14:15
+ * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/Add.vue
+-->
+<template>
+    <el-container>
+        <el-form style="width: 100%;" :model="form" :rules="rules" ref="dialogForm" label-width="120px"
+            label-position="center">
+            <el-row>
+                <el-col :span="8">
+                    <el-form-item label="鐢熶骇鏃ュ巻缂栧彿" prop="code">
+                        <el-input v-model="form.code" placeholder="璇疯緭鍏ョ敓浜ф棩鍘嗙紪鍙�" clearable></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label="鐢熶骇鏃ュ巻鍚嶇О" prop="name">
+                        <el-input v-model="form.name" placeholder="璇疯緭鍏ョ敓浜ф棩鍘嗗悕绉�" clearable></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label="搴旂敤骞翠唤" prop="year">
+                        <el-select v-model="form.year" placeholder="" size="" @change="change">
+                            <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                :value="item.value" />
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="8">
+                    <el-form-item label="搴旂敤鏃ユ湡" prop="date">
+                        <el-date-picker v-model="form.date" type="daterange" value-format="YYYY-MM-DD"
+                            start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" />
+                    </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form>
+        <el-row>
+            <el-col>
+                <el-button-group>
+                    <el-button type="primary" :icon="ArrowLeft">Previous Page</el-button>
+                    <el-button type="primary">
+                        Next Page<el-icon class="el-icon--right">
+                            <ArrowRight />
+                        </el-icon>
+                    </el-button>
+                </el-button-group>
+            </el-col>
+        </el-row>
+    </el-container>
+</template>
+
+<script>
+import moment from 'moment'
+export default {
+    data() {
+        return {
+            options: [],
+            form: {},
+            rules: {
+                name: [
+                    { required: true, message: '' }
+                ],
+                code: [
+                    { required: true, message: '' }
+                ],
+                year: [
+                    { required: true, message: '' }
+                ],
+            }
+        }
+    },
+    created() {
+        this.init()
+    },
+    methods: {
+        init() {
+            let len = 15
+            let currentYear = moment().format('YYYY') - 0
+            this.form.year = currentYear
+
+            for (let i = 0; i < len; i++) {
+                this.options.push({
+                    label: currentYear + i,
+                    value: currentYear + i
+                })
+            }
+            this.form.date = [moment().format('YYYY-MM-DD'), moment(`${currentYear}-12-31`).format('YYYY-MM-DD')]
+            console.log(this.form)
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
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
diff --git a/src/views/console/base/Dialog.vue b/src/views/console/base/Dialog.vue
index 8e7a9dc..7fa484c 100644
--- a/src/views/console/base/Dialog.vue
+++ b/src/views/console/base/Dialog.vue
@@ -219,12 +219,10 @@
                 this.shiftDetailDTOList = shiftDetailDTOList
 
             }
-            console.log(this.shiftDetailDTOList, '>>>?????s')
             return this
         },
         //琛ㄥ崟鎻愪氦鏂规硶
         submit() {
-            console.log(this.form, this.shiftDetailDTOList)
             this.$refs.dialogForm.validate(async (valid) => {
                 if (valid) {
                     this.isSaveing = true;
diff --git a/src/views/console/base/Shiftsystem.vue b/src/views/console/base/Shiftsystem.vue
index d322bbb..8d624d7 100644
--- a/src/views/console/base/Shiftsystem.vue
+++ b/src/views/console/base/Shiftsystem.vue
@@ -98,7 +98,6 @@
 
         dayCharts() {
             let { data = [], categories = [], startTime, end } = this.getData1()
-            console.log('>>>>>>', data)
             return {
                 title: {
                     text: '鐝埗姒傝'
@@ -226,7 +225,6 @@
             })
             let startTime = moment(moment().format('YYYY-MM-DD') + ' 00:00:00').add(base, 'm').unix()
             let end = moment.unix(startTime).add(24, 'h').unix()
-            console.log(moment.unix(startTime).format('YYYY-MM-DD HH:mm:ss'), 'startTIme', moment.unix(end).format('YYYY-MM-DD HH:mm:ss'))
             let data = [];
             var types = [
                 { name: 1, color: '#7b9ce1' },
diff --git a/src/views/console/base/Time.vue b/src/views/console/base/Time.vue
index 835c79b..28c8b61 100644
--- a/src/views/console/base/Time.vue
+++ b/src/views/console/base/Time.vue
@@ -115,11 +115,9 @@
                 endTime.add(1, 'd')
             }
             let arrItem1 = endTime.diff(base) / 60000
-            console.log('>>>>', arrItem1, arrItem0)
             if (arrItem1 <= arrItem0) {
                 return this.$message.warning('寮�濮嬫椂闂村ぇ浜庣粨鏉熸椂闂达紝璇烽噸鏂拌緭鍏�');
             }
-            console.log('>>>>', arrItem1, arrItem0)
             // this.endDay = this.getDes(arrItem0)
             arr.push(arrItem0, arrItem1)
             this.value = arr
diff --git a/src/views/console/base/shift-calendar.vue b/src/views/console/base/shift-calendar.vue
index 1b79835..010048e 100644
--- a/src/views/console/base/shift-calendar.vue
+++ b/src/views/console/base/shift-calendar.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-04-04 21:51:24
  * @LastEditors: Sneed
- * @LastEditTime: 2024-05-02 22:18:25
+ * @LastEditTime: 2024-05-04 15:40:16
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/shift-calendar.vue
 -->
 <template>
@@ -28,7 +28,7 @@
     },
     data() {
         return {
-            activeName: '2'
+            activeName: '1'
         }
     }
 }

--
Gitblit v1.9.3