From a6a8e49af8c8172f4209dd94e65f53f17825cc44 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期四, 21 十一月 2024 17:30:12 +0800
Subject: [PATCH] 项目管理

---
 src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue |  106 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 74 insertions(+), 32 deletions(-)

diff --git a/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue b/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
index 287b8ce..d188447 100644
--- a/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
+++ b/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
@@ -6,15 +6,24 @@
             width="500px"
             :before-close="handleClose"
         >
-            <el-form :model="state.form" size="default" ref="typeRef" :rules="state.formRules" label-width="110px" >
-                <el-form-item label="评价类型:" prop="type">
-                    <el-input v-model.trim="state.form.type"></el-input>
-                </el-form-item>
+            <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="110px" >
+              <el-form-item label="类型:" prop="label">
+                <el-radio-group v-model="state.form.scoreType">
+                  <el-radio label="1" size="large" border>加分项</el-radio>
+                  <el-radio label="2" size="large" border>扣分项</el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item label="标准分值:" prop="score">
+                  <el-input v-model.trim="state.form.score"></el-input>
+              </el-form-item>
+              <el-form-item label="内容:" prop="content">
+                <el-input v-model.trim="state.form.content" type="textarea" :autosize="{minRows: 2}"></el-input>
+              </el-form-item>
             </el-form>
             <template #footer>
                     <span class="dialog-footer">
                         <el-button @click="handleClose" size="default">取 消</el-button>
-                        <el-button type="primary"  @click="onSubmit" size="default">确认</el-button>
+                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
                     </span>
             </template>
         </el-dialog>
@@ -24,62 +33,95 @@
 import {reactive, ref, toRefs} from 'vue'
 import Editor from "@/components/Editor/index.vue";
 import {ElMessage} from "element-plus";
+import {addNotice} from "@/api/backManage/notice";
+import {addDict, addReview, editDict, editReview, getDictDetail} from "@/api/backManage/evaluate";
 
 const dialogVisible = ref(false);
 const title = ref("");
-const typeRef = ref();
-const isReview = ref(false);
+const busRef = ref();
+const length = ref()
+const emit = defineEmits(["getList"]);
 const state = reactive({
     form: {
-        type: ''
+      id: '',
+      score: '',
+      content: '',
+      scoreType: null
     },
     formRules:{
-        type: [{ required: true, message: '请输入评价类型', trigger: 'blur' }],
+      scoreType: [{ required: true, message: '请选择类型', trigger: 'blur' }],
+      score: [{ required: true, message: '请输入标准分值', trigger: 'blur' }],
+      content: [{ required: true, message: '请输入内容', trigger: 'blur' }]
     },
 
 })
 
-const openDialog = (type, value) => {
-    isReview.value = false;
-    title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
+const openDialog = async (type, value) => {
+    title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看';
     if(type === 'edit') {
-        state.form = value;
+        state.form = value
     }
-    dialogVisible.value = true;
+    dialogVisible.value = true
 }
 
 const onSubmit = async () => {
-    const valid = await typeRef.value.validate();
+    const valid = await busRef.value.validate();
     if(valid){
-        typeRef.value.clearValidate();
-        reset();
-        dialogVisible.value = false;
-
+        if(title.value === '新增'){
+            const param = {
+              score: state.form.score,
+              content: state.form.content,
+              scoreType: state.form.scoreType
+            }
+            const res = await addReview(param)
+            if(res.code === 200){
+                ElMessage({
+                    type: 'success',
+                    message: '新增成功'
+                });
+            }else{
+                ElMessage.warning(res.message)
+            }
+            emit("getList")
+            busRef.value.clearValidate();
+            dialogVisible.value = false;
+        }else if(title.value === '编辑'){
+            const param = {
+              id: state.form.id,
+              score: state.form.score,
+              content: state.form.content,
+              scoreType: state.form.scoreType
+            }
+            const res = await editReview(param)
+            if(res.code === 200){
+                ElMessage({
+                    type: 'success',
+                    message: '修改成功'
+                });
+            }else{
+                ElMessage.warning(res.message)
+            }
+            emit("getList")
+            busRef.value.clearValidate();
+            dialogVisible.value = false;
+        }
     }
 }
 
 const handleClose = () => {
-    typeRef.value.clearValidate();
+    busRef.value.clearValidate();
     reset();
     dialogVisible.value = false;
 
 }
 const reset = () => {
     state.form = {
-        type: ""
+      id: '',
+      score: '',
+      content: '',
+      scoreType: null
     }
 }
-const handleRemove = (file, fileList) => {
-    console.log(file, fileList);
-}
-const handlePreview = (uploadFile) => {
-    console.log(uploadFile)
-}
-const beforeRemove = (file, fileList) => {
-    return this.$confirm(`确定移除 ${ file.name }?`);
-}
-
-
 defineExpose({
     openDialog
 });

--
Gitblit v1.9.2