From 14d29f928b24d203e76f1dcefc1a51182657cd45 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 10 三月 2025 16:29:09 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev

---
 src/views/CNAS/personnel/personnelInfo/Department/components/Plan/Add.vue |  172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 172 insertions(+), 0 deletions(-)

diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Plan/Add.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Plan/Add.vue
new file mode 100644
index 0000000..44d9244
--- /dev/null
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Plan/Add.vue
@@ -0,0 +1,172 @@
+<template>
+    <div class="add">
+        <el-dialog :title="isEdit ? '缂栬緫鐩戠潱璁″垝鏄庣粏' : '鏂板鐩戠潱璁″垝鏄庣粏'" :visible.sync="dialogVisible" width="800px">
+            <el-form ref="formRef" :model="ruleForm" :rules="rules" label-width="100px">
+                <el-col :span="12">
+                    <el-form-item label="鐩戠潱鏃ユ湡" prop="superviseDate">
+                        <el-date-picker v-model="ruleForm.superviseDate" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
+                            style="width: 100%;" type="date" value-format="yyyy-MM-dd"></el-date-picker>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="鐩戠潱鐩殑" prop="superviseDes">
+                        <el-input v-model="ruleForm.superviseDes"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="鐩戠潱椤圭洰" prop="superviseProject">
+                        <el-input v-model="ruleForm.superviseProject"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                    <el-form-item label="琚洃鐫d汉" prop="supervisePerson">
+                        <el-input v-model="ruleForm.supervisePerson"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="鐩戠潱鍘熷洜" prop="superviseReason">
+                        <el-input v-model="ruleForm.superviseReason"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="24">
+                    <el-form-item label="澶囨敞" prop="remarks">
+                        <el-input v-model="ruleForm.remarks"></el-input>
+                    </el-form-item>
+                </el-col>
+            </el-form>
+            <div slot="footer" class="foot">
+                <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+                <el-button :loading="loading" type="primary" @click="submitForm">纭� 瀹�</el-button>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+<script>
+import {
+    yearPlanDetailAdd,
+    yearPlanDetailEdit
+} from '@/api/cnas/personnel/personnelInfo.js'
+export default {
+    props: {
+        planId: {
+            type: Number,
+            default: undefined
+        }
+    },
+    data() {
+        return {
+            loading: false,
+            isEdit: false,
+            dialogVisible: false,
+            ruleForm: {
+                id: undefined,
+                superviseDate: undefined, // 鐩戠潱鏃ユ湡
+                superviseDes: undefined, // 鐩戠潱鐩殑
+                superviseProject: undefined, // 鐩戠潱椤圭洰
+                supervisePerson: undefined, // 琚洃鐫d汉
+                superviseReason: undefined, // 鐩戠潱鍘熷洜
+                remarks: undefined, // 澶囨敞
+            },
+            rules: {
+                superviseDate: [{ required: true, message: '璇烽�夋嫨鏃ユ湡', trigger: 'change' }],
+                superviseDes: [{ required: true, message: '璇疯緭鍏ョ洃鐫g洰鐨�', trigger: 'blur' }],
+                superviseProject: [{ required: true, message: '璇疯緭鍏ョ洃鐫i」鐩�', trigger: 'blur' }],
+                supervisePerson: [{ required: true, message: '璇疯緭鍏ヨ鐩戠潱浜�', trigger: 'blur' }],
+                superviseReason: [{ required: true, message: '璇疯緭鍏ョ洃鐫e師鍥�', trigger: 'blur' }],
+            }
+        }
+    },
+    methods: {
+        formatForm(row) {
+            this.ruleForm.id = undefined
+            this.ruleForm.planId = row.planId
+            this.ruleForm.superviseDate = undefined
+            this.ruleForm.superviseDes = undefined
+            this.ruleForm.superviseProject = undefined
+            this.ruleForm.supervisePerson = undefined
+            this.ruleForm.superviseReason = undefined
+            this.ruleForm.remarks = undefined
+        },
+        renderForm(row) {
+            this.ruleForm.id = row.id
+            this.ruleForm.superviseDate = row.superviseDate
+            this.ruleForm.superviseDes = row.superviseDes
+            this.ruleForm.superviseProject = row.superviseProject
+            this.ruleForm.supervisePerson = row.supervisePerson
+            this.ruleForm.superviseReason = row.superviseReason
+            this.ruleForm.remarks = row.remarks
+        },
+        showDialog(row, type) {
+            console.log(row)
+            if (type) {
+                this.isEdit = true
+                this.renderForm(row)
+            } else {
+                this.formatForm(row)
+                this.isEdit = false
+            }
+            this.dialogVisible = true
+        },
+        closeDialog() {
+            this.dialogVisible = false
+        },
+        async addYearDetail() {
+            const { code, data } = await yearPlanDetailAdd(this.ruleForm)
+            this.loading = false
+            if (code == 200) {
+                this.$message({
+                    type: 'success',
+                    message: '鏂板鎴愬姛'
+                })
+                this.closeDialog()
+                this.$emit('submit')
+            } else {
+                this.$message({
+                    type: 'error',
+                    message: '鏂板澶辫触'
+                })
+            }
+        },
+        async editYearDetail() {
+            const { code, data } = await yearPlanDetailEdit(this.ruleForm)
+            this.loading = false
+            if (code == 200) {
+                this.$message({
+                    type: 'success',
+                    message: '缂栬緫鎴愬姛'
+                })
+                this.closeDialog()
+                this.$emit('submit')
+            } else {
+                this.$message({
+                    type: 'error',
+                    message: '缂栬緫澶辫触'
+                })
+            }
+        },
+        submitForm() {
+            this.$refs.formRef.validate((valid) => {
+                if (valid) {
+                    this.loading = true
+                    if (this.isEdit) {
+                        this.editYearDetail()
+                    } else {
+                        this.addYearDetail()
+                    }
+                } else {
+                    return false;
+                }
+            })
+        },
+    }
+}
+</script>
+<style scoped>
+.foot {
+    width: 100%;
+}
+
+.add>>>.el-dialog__footer {
+    padding-right: 20px;
+}
+</style>

--
Gitblit v1.9.3