From 8999cef96b06012ca240dba7b918525df611fb71 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期一, 08 四月 2024 11:19:37 +0800
Subject: [PATCH] Merge branch 'master' of http://www.beijingsoft.cn:9090/r/smart-web

---
 src/views/master/time/day-off/Dialog.vue |  133 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 insertions(+), 0 deletions(-)

diff --git a/src/views/master/time/day-off/Dialog.vue b/src/views/master/time/day-off/Dialog.vue
new file mode 100644
index 0000000..6e6a183
--- /dev/null
+++ b/src/views/master/time/day-off/Dialog.vue
@@ -0,0 +1,133 @@
+<template>
+    <el-dialog :title="titleMap[mode]" v-model="visible" :width="800" 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-form-item label="骞翠唤" prop="year">
+                        <el-select style="width: 240px;" 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-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-form-item label="澶囨敞"  prop="remark">
+                        <el-input style="width: 240px;" v-model="form.remark" type="textarea"></el-input>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form>
+        <template #footer>
+            <el-button @click="visible = false">鍙� 娑�</el-button>
+            <el-button v-if="mode != 'show'" type="primary" :loading="isSaveing" @click="submit()">淇� 瀛�</el-button>
+        </template>
+    </el-dialog>
+</template>
+
+<script>
+import deepmerge from 'deepmerge'
+import http from "@/utils/request"
+export default {
+    emits: ['success', 'closed'],
+    props: {
+        option: {
+            type: Object
+        }
+    },
+    data() {
+        return {
+            mode: "add",
+            titleMap: {
+                add: '鏂板缓浼戞伅鏃�',
+                edit: '缂栬緫浼戞伅鏃�',
+                // show: '鏌ョ湅'
+            },
+            visible: false,
+            isSaveing: false,
+            //琛ㄥ崟鏁版嵁
+            form: {
+                id: '',
+                remark: "",
+                year: '',
+                date: ''
+            },
+            //楠岃瘉瑙勫垯
+            rules: {
+                year: [
+                    { required: true, message: '璇烽�夋嫨' }
+                ],
+                date: [
+                    { required: true, message: '璇烽�夋嫨' }
+                ],
+                
+            },
+        }
+    },
+    created() {
+    },
+    methods: {
+        //鏄剧ず
+        open(mode = 'add', params) {
+            this.mode = mode;
+            this.visible = true;
+            this.isSaveing = false;
+            if (params)  {
+                let {remark,year,startOffDay,endOffDay,id} = params
+                this.form.remark = remark
+                this.form.year = year
+                this.form.date = [startOffDay,endOffDay]
+                this.form.id = id
+                
+            } else {
+                this.form.remark = ''
+                this.form.year = ''
+                this.form.date = []
+                this.form.id = ''
+            }
+            return this
+        },
+        //琛ㄥ崟鎻愪氦鏂规硶
+        submit() {
+            this.$refs.dialogForm.validate(async (valid) => {
+                if (valid) {
+                    this.isSaveing = true;
+                    let {remark,year,id} = this.form
+                    let [startOffDay = '',endOffDay =  ''] = this.form.date
+                    let data = {
+                        endOffDay,
+                        remark,
+                        startOffDay,
+                        year,
+                        id
+                    }
+                    console.log('------',this.form.id)
+                    let key = this.form.id ? 'update' :  'insert'
+                    var res = await this.$API.time[key].post(data);
+                    this.isSaveing = false;
+                    if (res.code == 200) {
+                        this.$emit('success', this.form, this.mode)
+                        this.visible = false;
+                        this.$message.success("鎿嶄綔鎴愬姛")
+                    } else {
+                        this.$alert(res.message, "鎻愮ず", { type: 'error' })
+                    }
+                } else {
+                    this.isSaveing = false;
+                    return false;
+                }
+            })
+        },
+        //琛ㄥ崟娉ㄥ叆鏁版嵁
+        setData(data) {
+        }
+    }
+}
+</script>
+
+<style></style>

--
Gitblit v1.9.3