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/Mandate/Add.vue | 198 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 198 insertions(+), 0 deletions(-)
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/Add.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/Add.vue
new file mode 100644
index 0000000..8741543
--- /dev/null
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Mandate/Add.vue
@@ -0,0 +1,198 @@
+<template>
+ <div class="add">
+ <el-dialog :title="isEdit ? '缂栬緫闄勪欢璧勬枡' : '鏂板闄勪欢璧勬枡'" :visible.sync="dialogVisible" width="50%">
+ <el-form ref="ruleForm" :rules="rules" :model="form" label-width="100px" size="medium">
+ <el-form-item label="璇佷功缂栧彿" prop="certificateNumber">
+ <el-input v-model="form.certificateNumber" placeholder="璇疯緭鍏�" style="width: 100%">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="琚换鑱屼汉鍛�" prop="userId">
+ <el-select v-model="form.userId" placeholder="璇烽�夋嫨">
+ <el-option v-for="(item, index) in userList" :key="index" :label="item.name"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="浠昏亴宀椾綅" prop="post">
+ <el-input v-model="form.post" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="鐞嗚鑰冭瘯鎴愮哗" prop="num1">
+ <el-input v-model="form.num1" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="鎿嶄綔鎶�鑳借�冭瘯鎴愮哗" prop="num2">
+ <el-input v-model="form.num2" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ <el-form-item label="鎿嶄綔绫诲瀷" prop="operationType">
+ <el-input v-model="form.operationType" placeholder="璇烽�夋嫨"></el-input>
+ </el-form-item>
+ <el-row>
+ <el-col :span="20">
+ <el-form-item label="涓婂矖璇佷功">
+ <el-input v-model="form.systemFileName" size="small" disabled>
+ <el-button slot="append" icon="el-icon-delete-solid"
+ @click="deleteFile(form.systemFileName)"></el-button>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="4">
+ <el-upload ref="upload" style="float: left; margin: 0 12px 0 20px;" :action="action"
+ :show-file-list="false" :on-success="onSuccess" :headers="uploadHeader">
+ <el-button class="uploadFile" slot="trigger" size="small" type="primary">娴忚</el-button>
+ </el-upload>
+ </el-col>
+ </el-row>
+ <el-form-item label="澶囨敞">
+ <el-input v-model="form.remarks" placeholder="璇烽�夋嫨"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="foot">
+ <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" :loading="loading" @click="submitForm">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+<script>
+import {
+ addOrUpdatePersonPostAuthorizationRecord,
+ selectUserList,
+ deleteCNASFile
+} from '@/api/cnas/personnel/personnelInfo.js'
+export default {
+ data() {
+ return {
+ isEdit: false,
+ dialogVisible: false,
+ form: {
+ id: undefined,
+ certificateNumber: undefined,
+ userId: undefined,
+ post: undefined,
+ operationType: undefined,
+ fileList: [],
+ fileName: undefined,
+ systemFileName: undefined,
+ remarks: undefined,
+ num2: undefined,
+ num1: undefined
+ },
+ rules: {
+ certificateNumber: [{ required: true, message: '璇疯緭鍏ヨ瘉涔︾紪鍙�', trigger: 'blur' }],
+ userId: [{ required: true, message: '璇烽�夋嫨琚换鑱屼汉鍛�', trigger: 'change' }],
+ post: [{ required: true, message: '浠昏亴宀椾綅', trigger: 'blur' }],
+ operationType: [{ required: true, message: '鎿嶄綔绫诲瀷', trigger: 'blur' }],
+
+ },
+ loading: false,
+ userList: []
+ }
+ },
+ mounted() {
+
+ },
+ computed: {
+ action() {
+ return this.javaApi + '/personBasicInfo/saveCNASFile'
+ }
+ },
+ methods: {
+ async onSuccess(response, file, fileList) {
+ this.$set(this.form, "systemFileName", response.data)
+ },
+ deleteFile(fileName) {
+ deleteCNASFile({ fileName }).then(res => {
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ this.$set(this.form, "systemFileName", null)
+ })
+ },
+ async openDialog(row, type) {
+ await this.getUserList()
+ this.dialogVisible = true
+ if (type) {
+ this.isEdit = true
+ this.form.id = row.id
+ this.form.certificateNumber = row.certificateNumber
+ this.form.userId = Number(row.userId)
+ this.form.post = row.post
+ this.form.operationType = row.operationType
+ this.form.systemFileName = row.systemFileName
+ this.form.remarks = row.remarks
+ this.form.num1 = row.num1
+ this.form.num2 = row.num2
+ } else {
+ this.isEdit = false
+ this.form.id = undefined
+ this.form.certificateNumber = undefined
+ this.form.userId = undefined
+ this.form.post = undefined
+ this.form.operationType = undefined
+ this.form.fileList = []
+ this.form.fileName = undefined
+ this.form.systemFileName = undefined
+ this.form.remarks = undefined
+ this.form.num1 = undefined
+ this.form.num2 = undefined
+ }
+ },
+ closeDialog() {
+ this.dialogVisible = false
+ },
+ /**
+ * @desc 鑾峰彇鐢ㄦ埛淇℃伅
+ */
+ async getUserList() {
+ const { code, data } = await selectUserList()
+ if (code == 200) {
+ this.userList = data
+ }
+ },
+ /**
+ * @desc 鎻愪氦琛ㄥ崟
+ */
+ submitForm() {
+ this.$refs.ruleForm.validate(async (valid) => {
+ if (valid) {
+ await this.submitFormData()
+ }
+ })
+ },
+ /**
+ * @desc 涓婁紶鏂囦欢
+ */
+ beforeUpload(file) {
+ this.form.fileList = [file]
+ this.form.fileName = file.name
+ },
+ /**
+ * @desc 鎻愪氦form琛ㄥ崟
+ */
+ async submitFormData() {
+ this.loading = true
+ const { code, data } = await addOrUpdatePersonPostAuthorizationRecord({
+ id: this.form.id,
+ certificateNumber: this.form.certificateNumber,
+ userId: this.form.userId,
+ post: this.form.post,
+ operationType: this.form.operationType,
+ systemFileName: this.form.systemFileName,
+ remarks: this.form.remarks,
+ num1: this.form.num1,
+ num2: this.form.num2
+ })
+ if (code == 200) {
+ this.closeDialog()
+ this.$emit('refresh')
+ }
+ this.loading = false
+ }
+ }
+}
+</script>
+<style scoped>
+.foot {
+ width: 100%;
+}
+
+.add>>>.el-dialog__footer {
+ padding-right: 20px;
+}
+</style>
--
Gitblit v1.9.3