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