From 21d10974b1f1e19162b690c313c6f4014f182963 Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: 星期四, 31 八月 2023 15:53:35 +0800
Subject: [PATCH] 预警管理

---
 src/views/warningManage/warningPeople/component/peopleDialog.vue |  124 ++++++++++++++++++++++++++++++++--------
 1 files changed, 98 insertions(+), 26 deletions(-)

diff --git a/src/views/warningManage/warningPeople/component/peopleDialog.vue b/src/views/warningManage/warningPeople/component/peopleDialog.vue
index 41562f6..28cdc67 100644
--- a/src/views/warningManage/warningPeople/component/peopleDialog.vue
+++ b/src/views/warningManage/warningPeople/component/peopleDialog.vue
@@ -8,7 +8,7 @@
             <el-form :model="state.peopleForm" size="default" ref="gasRef" :rules="state.setFormRules" label-width="150px">
                 <el-form-item label="预警人员:" prop="name">
                     <el-select
-                        v-model="state.peopleForm.name"
+                        v-model="state.peopleForm.realName"
                         filterable
                         class="w100"
                         style="max-width: 180px"
@@ -16,9 +16,9 @@
                         @change="changePeople"
                         :disabled="state.disabled"
                     >
-                        <el-option v-for="item in state.peopleList" :key="item.id" :label="item.name" :value="item.id">
+                        <el-option v-for="item in state.peopleList" :key="item.id" :label="item.realName" :value="item.id">
                             <div class="valueTable">
-                                <div><div>姓名:</div><span>{{item.name}}</span></div>
+                                <div><div>姓名:</div><span>{{item.realName}}</span></div>
                                 <div><div>手机号:</div><span>{{item.phone}}</span></div>
                             </div>
                         </el-option>
@@ -41,6 +41,9 @@
 <script setup lang="ts">
 import {reactive, ref} from "vue";
 import {PeopleState} from "/@/types/warning";
+import { userApi } from "/@/api/systemManage/user";
+import { warningPeopleApi } from "/@/api/warningManage/warningPeople";
+import {ElMessage} from "element-plus";
 
 const gasRef = ref();
 const emit = defineEmits(["getPeopleData"]);
@@ -49,27 +52,22 @@
     isShowUserDialog: false,
     disabled: false,
     peopleForm: {
+        id: '',
         name: '',
-        phone: ''
+        phone: '',
+        realName: ''
     },
     setFormRules:{
         name: [{ required: true, message: '请选择预警人员', trigger: 'blur' }],
         phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
     },
-    peopleList: [
-        // {
-        //     id: '1',
-        //     name: '张三',
-        //     phone: '112554566666'
-        // },
-        // {
-        //     id: '2',
-        //     name: '李四',
-        //     phone: '11254212321'
-        // }
-    ]
+    peopleList: []
 });
+
+let chooseObj = reactive<any>({});
+
 const openDialog = (type: string, value: any) => {
+    getUserList();
     state.isShowUserDialog = true;
     if (type === '查看') {
         state.disabled = true;
@@ -79,26 +77,100 @@
         state.disabled = false;
         state.title = '修改预警人员';
         state.peopleForm = JSON.parse(JSON.stringify(value));
+        chooseObj = state.peopleForm;
     }else {
         state.disabled = false;
         state.title = '新增预警人员';
         state.peopleForm = {
+            id: '',
             name: '',
-            phone: ''
+            phone: '',
+            realName: ''
         }
     }
 };
-
-const changePeople = (val:any) => {
-    const obj = state.peopleList.find(item => item.id === val);
-    if(obj){
-        state.peopleForm.phone = obj.phone;
+const getUserList = async () => {
+    const param = {
+        pageIndex: 1,
+        pageSize: 9999,
+        searchParams: {
+            roleId: null,
+            name: "",
+            realName: "",
+            userIndentityId: null
+        }
+    }
+    let res = await userApi().getUserList(param);
+    if(res.data.code == 100) {
+        state.peopleList = res.data.data;
+    }else {
+        ElMessage({
+            type: 'error',
+            message: res.data.msg
+        });
     }
 }
-const onSubmit = () => {
-    gasRef.value.clearValidate();
-    state.isShowUserDialog = false;
-    emit('getPeopleData');
+
+const changePeople = (val:any) => {
+    chooseObj = state.peopleList.find(item => item.id === val);
+    console.log("obj",chooseObj)
+    if(chooseObj){
+        state.peopleForm.phone = chooseObj.phone;
+    }
+}
+const onSubmit = async () => {
+    if(state.title == '新增预警人员' || state.title == '修改预警人员'){
+        const valid = gasRef.value.validate();
+        if(valid) {
+            if(state.title == '新增预警人员'){
+                const param = {
+                    userId: chooseObj.id,
+                    name: chooseObj.name,
+                    realName: chooseObj.realName,
+                    phone: chooseObj.phone
+                }
+                let res = await warningPeopleApi().addWarnUser(param);
+                if(res.data.code == 100) {
+                    ElMessage({
+                        type: 'success',
+                        message: '新增成功'
+                    });
+                }else{
+                    ElMessage({
+                        type: 'error',
+                        message: res.data.msg
+                    });
+                }
+            }else if(state.title == '修改预警人员'){
+                const param = {
+                    id: state.peopleForm.id,
+                    userId: chooseObj.id,
+                    name: chooseObj.name,
+                    realName: chooseObj.realName,
+                    phone: chooseObj.phone
+                }
+                console.log("res",param)
+                let res = await warningPeopleApi().handelWarnUser(param);
+                if(res.data.code == 100) {
+                    ElMessage({
+                        type: 'success',
+                        message: '修改成功'
+                    });
+                }else{
+                    ElMessage({
+                        type: 'error',
+                        message: res.data.msg
+                    });
+                }
+            }
+        }
+        gasRef.value.clearValidate();
+        state.isShowUserDialog = false;
+        emit('getPeopleData');
+    }else {
+        state.isShowUserDialog = false;
+        emit('getPeopleData');
+    }
 };
 
 const handleClose = () => {

--
Gitblit v1.9.2