From 3aa4bac11ba6312db65459ce24810d13a63e3314 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期一, 08 四月 2024 15:03:15 +0800
Subject: [PATCH] 完善休息日

---
 src/components/scTable/index.vue         |    4 +-
 src/views/master/time/day-off/Dialog.vue |   12 +++---
 package.json                             |    1 
 src/api/model/time.js                    |   16 +++++++
 src/views/master/time/day-off/index.vue  |   39 +++++++++++++------
 5 files changed, 51 insertions(+), 21 deletions(-)

diff --git a/package.json b/package.json
index 1a829fb..ad9998c 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
 	"private": true,
 	"scripts": {
 		"serve": "vue-cli-service serve",
+		"start": "vue-cli-service serve",
 		"build": "vue-cli-service build --report",
 		"lint": "vue-cli-service lint"
 	},
diff --git a/src/api/model/time.js b/src/api/model/time.js
index b6141e2..336579e 100644
--- a/src/api/model/time.js
+++ b/src/api/model/time.js
@@ -1,3 +1,9 @@
+/*
+ * @Date: 2024-04-07 21:49:32
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2024-04-08 14:58:49
+ * @FilePath: /cps-web/src/api/model/time.js
+ */
 import config from "@/config"
 import http from "@/utils/request"
 
@@ -6,7 +12,7 @@
         url: `${config.API_URL}/blade-cps/shift-off-day/page`,
 		name: "鑾峰彇浼戞伅鏃ュ垪琛�",
 		get: async function(params){
-			return await http.post(this.url, params);
+			return await http.post(this.url, params, {params});
 		},
 		getUrl () {
 			return this.url
@@ -28,5 +34,13 @@
 		},
 		
     },
+    remove: {
+        url: `${config.API_URL}/blade-cps/shift-off-day/remove`,
+		name: "鍒犻櫎浼戞伅鏃�",
+		delete: async function(params){
+			return await http.delete(this.url, {},{data: params});
+		},
+		
+    },
 
 }
\ No newline at end of file
diff --git a/src/components/scTable/index.vue b/src/components/scTable/index.vue
index 2dc2db7..2c591cc 100644
--- a/src/components/scTable/index.vue
+++ b/src/components/scTable/index.vue
@@ -3,8 +3,8 @@
  * @version: 1.10
  * @Author: sakuya
  * @Date: 2021骞�11鏈�29鏃�21:51:15
- * @LastEditors: sakuya
- * @LastEditTime: 2022骞�6鏈�4鏃�17:35:26
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2024-04-08 14:47:10
 -->
 
 <template>
diff --git a/src/views/master/time/day-off/Dialog.vue b/src/views/master/time/day-off/Dialog.vue
index 6e6a183..ff5b791 100644
--- a/src/views/master/time/day-off/Dialog.vue
+++ b/src/views/master/time/day-off/Dialog.vue
@@ -1,24 +1,24 @@
 <template>
-    <el-dialog :title="titleMap[mode]" v-model="visible" :width="800" destroy-on-close @closed="$emit('closed')">
+    <el-dialog :title="titleMap[mode]" v-model="visible" :width="450" destroy-on-close @closed="$emit('closed')">
         <el-form :model="form" :rules="rules" :disabled="mode == 'show'" ref="dialogForm" label-width="120px"
             label-position="center">
             <el-row>
-                <el-col :span="13">
+                <el-col :span="24">
                     <el-form-item label="骞翠唤" prop="year">
-                        <el-select style="width: 240px;" v-model="form.year">
+                        <el-select style="width: 100%;" v-model="form.year">
                             <el-option v-for="(item, index) in option.years" :key="index" :label="item" :value="item"></el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="13">
+                <el-col :span="24">
                     <el-form-item label="鏃ユ湡" prop="date">
                         <el-date-picker value-format="YYYY-MM-DD" style="width: 240px;" v-model="form.date" type="daterange"
                 range-separator="鑷�" start-placeholder="寮�濮�" end-placeholder="缁撴潫" />
                     </el-form-item>
                 </el-col>
-                <el-col :span="13">
+                <el-col :span="24">
                     <el-form-item label="澶囨敞"  prop="remark">
-                        <el-input style="width: 240px;" v-model="form.remark" type="textarea"></el-input>
+                        <el-input style="width: 100%;" v-model="form.remark" type="textarea"></el-input>
                     </el-form-item>
                 </el-col>
             </el-row>
diff --git a/src/views/master/time/day-off/index.vue b/src/views/master/time/day-off/index.vue
index e14c4a3..762bc4d 100644
--- a/src/views/master/time/day-off/index.vue
+++ b/src/views/master/time/day-off/index.vue
@@ -1,26 +1,26 @@
 <!--
  * @Date: 2024-04-07 20:43:26
- * @LastEditors: Sneed
- * @LastEditTime: 2024-04-07 22:50:04
- * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/master/time/day-off/index.vue
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2024-04-08 15:02:14
+ * @FilePath: /cps-web/src/views/master/time/day-off/index.vue
 -->
 <template>
     <el-container>
         <el-header>
-            <el-button :disabled="selections.length ==  0">
+            <el-button :disabled="selections.length ==  0" @click="dels">
                 鍒犻櫎
             </el-button>
             <el-button @click="table_add">
                 鍒涘缓
             </el-button>
-            <el-select style="width: 200px;margin-left: auto;" v-model="year">
+            <el-select style="width: 200px;margin-left: auto;" v-model="year" @change="query">
                 <el-option v-for="(item, index) in years" :key="index" :label="item" :value="item"></el-option>
             </el-select>
-            <el-date-picker style="width: 200px;flex: 0  0 auto;margin-left: 8px;" v-model="date" type="daterange"
-                range-separator="鑷�" start-placeholder="寮�濮�" end-placeholder="缁撴潫" />
+            <el-date-picker @change="query" style="width: 300px;flex: 0  0 auto;margin-left: 8px;" v-model="date" type="daterange"
+                range-separator="鑷�" start-placeholder="寮�濮�" end-placeholder="缁撴潫" value-format="YYYY-MM-DD"/>
         </el-header>
         <el-main>
-            <scTable highlight-current-row @dataChange="dataChange" @row-click="rowClick" ref="table" :params="params"
+            <scTable highlight-current-row  ref="table" :params="{}"
                 :apiObj="apiObj" @selection-change="selectionChange" stripe>
                 <el-table-column type="selection" width="50"></el-table-column>
                 <el-table-column label="鎵�灞炲勾浠�" prop="year"></el-table-column>
@@ -74,6 +74,8 @@
         }
         this.years = years;
         this.apiObj = this.$API.time.getList
+        this.year = new Date().getFullYear()
+        this.date = [`${this.year}-01-01`,`${this.year}-12-31`]
     },
     methods: {
         table_add () {
@@ -82,15 +84,28 @@
         table_edit (row) {
             this.$refs.dialog.open('edit', row)
         },
-        table_del () {
+        query () {
+            this.$refs.table.reload({
+                year: this.year,
+                startOffDay: this.date[0] || '',
+                endOffDay: this.date[1] || ''
+            })
         },
-        dataChange () {},
-        rowClick () {},
+        table_del (row) {
+            this.$API.time.remove.delete([row.id]).then(res => {
+                this.query()
+            })
+        },
+        dels () {
+            this.$API.time.remove.delete([...this.selections.map(item => item.id)]).then(res => {
+                this.query()
+            })
+        },
         selectionChange (selections) {
             this.selections = selections
         },
         success () {
-            this.$refs.table.reload()
+            this.query()
         }
     }
 }

--
Gitblit v1.9.3