From 53ed3f94c44709c5d571d580dccd8149f020ffb7 Mon Sep 17 00:00:00 2001
From: 13937891274 <kxc0822>
Date: Fri, 22 Jul 2022 11:00:42 +0800
Subject: [PATCH] 应急预案一览对接
---
src/views/contingencyManagement/contingency/component/openSee.vue | 246 ++++++++++++++++++++++++++++++-------------------
1 files changed, 151 insertions(+), 95 deletions(-)
diff --git a/src/views/contingencyManagement/contingency/component/openSee.vue b/src/views/contingencyManagement/contingency/component/openSee.vue
index abfd5e9..066f66d 100644
--- a/src/views/contingencyManagement/contingency/component/openSee.vue
+++ b/src/views/contingencyManagement/contingency/component/openSee.vue
@@ -1,22 +1,27 @@
<template>
<div class="system-edit-user-container">
<el-dialog
- title="查看应急队伍管理"
+ :title="title"
v-model="isShowDialog"
width="769px"
draggable
:fullscreen="full"
>
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-form :model="ruleForm" size="default" label-width="90px">
+ <el-form
+ :model="ruleForm"
+ size="default"
+ :rules="rules"
+ label-width="120px"
+ >
<el-row :gutter="35">
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍名称">
+ <el-form-item label="队伍名称" prop="teamName">
<el-input v-model="ruleForm.teamName" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍级别">
+ <el-form-item label="队伍级别" prop="teamLevel">
<el-select v-model="ruleForm.teamLevel" :disabled="true" class="w100">
<el-option label="公司" value="admin"></el-option>
<el-option label="分厂-车间" value="common"></el-option>
@@ -25,9 +30,9 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="队伍负责人">
+ <el-form-item label="队伍负责人" prop="principalUid">
<el-input
- v-model="ruleForm.teamLeader"
+ v-model="ruleForm.principalUid"
placeholder="Please input"
class="input-with-select"
:disabled="true"
@@ -39,27 +44,27 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="负责人部门">
- <el-tree-select v-model="ruleForm.responsibleDepartment" :data="data" :disabled="true" class="w100"/>
+ <el-form-item label="负责人部门" prop="principalDepartmentId">
+ <el-tree-select v-model="ruleForm.principalDepartmentId" :data="data" :disabled="true" class="w100"/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="负责人手机">
- <el-input v-model="ruleForm.teamPhone" :disabled="true"></el-input>
+ <el-form-item label="负责人手机" prop="principalPhone">
+ <el-input v-model="ruleForm.principalPhone" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="固定电话">
- <el-input v-model="ruleForm.telephone" :disabled="true"></el-input>
+ <el-form-item label="固定电话" prop="telephoneNumber">
+ <el-input v-model="ruleForm.telephoneNumber" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="队伍描述">
- <el-input class="textarea" v-model="ruleForm.describe" type="textarea" :disabled="true" maxlength="150"></el-input>
+ <el-form-item label="队伍描述" prop="teamDesc">
+ <el-input class="textarea" v-model="ruleForm.teamDesc" type="textarea" :disabled="true" maxlength="150"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="相关附件">
+ <el-form-item label="相关附件" prop="fileList">
<el-upload
v-model:file-list="fileList"
class="upload-demo"
@@ -121,6 +126,7 @@
import type {
UploadUserFile,
TabsPaneContext,
+ FormRules,
} from 'element-plus'
import {
Search,
@@ -128,29 +134,12 @@
} from '@element-plus/icons-vue'
// import AddTeamLeader from '/@/views/contingency/component/addEmergencyPersonnel.vue';
// 定义接口来定义对象的类型
-interface DeptData {
- deptName: string;
- createTime: string;
- status: boolean;
- sort: number | string;
- describe: string;
+interface MenuDataTree {
id: number;
- children?: DeptData[];
+ label: string;
+ children?: MenuDataTree[];
}
-interface RuleFormRow {
- teamName: string;
- teamLevel: string;
- teamLeader: string;
- department: any;
- phone: string;
- telephone: string;
- describe: string;
-}
-interface UserState {
- isShowDialog: boolean;
- ruleForm: RuleFormRow;
- deptData: Array<DeptData>;
-}
+
// 定义表格数据类型
interface User {
personnelName: string
@@ -158,39 +147,66 @@
phone: string;
position: string;
}
-// // 定义表格数据类型
-// interface Team {
-// personnelName: string
-// teamLevel: string
-// teamDescription: string
-// teamPhone: string
-// phone: string;
-// describe: string;
-// responsibleDepartment: string
-// }
+
+interface RoleState {
+ title:string,
+ // buttonName:string,
+ isShowDialog: boolean;
+ ruleForm: {
+ teamName: string;
+ teamLevel: string;
+ principalUid: number;
+ principalDepartmentId: number;
+ principalPhone: string;
+ telephoneNumber: string;
+ teamDesc: string;
+ fileList: string,
+ };
+ menuData: Array<MenuDataTree>;
+}
export default defineComponent({
name: 'openSee',
components: {
// Search,
},
setup() {
- const state = reactive<UserState>({
+ const state = reactive<RoleState>({
isShowDialog: false,
+ title:'',
+ // buttonName:'',
ruleForm: {
teamName: '', // 队伍名称
teamLevel: '', // 队伍级别
- teamLeader: '', //队伍负责人
- department: [], // 负责人部门
- phone: '', // 负责人手机
- telephone: '', // 固定电话
- describe: '', // 队伍描述
+ principalUid: 1, // 队伍负责人
+ principalDepartmentId: 2, //负责人部门
+ principalPhone: '', // 负责人手机
+ telephoneNumber: '', // 固定电话
+ teamDesc: '', //队伍描述
+ fileList: [],
},
- deptData: [], // 部门数据
+ menuData: [],
});
// 打开弹窗
- const openDialog = (row: RuleFormRow) => {
- state.ruleForm = row;
+ const openDialog = (type: string, value: any) => {
state.isShowDialog = true;
+ if(type === '查看'){
+ state.title = '查看应急队伍管理'
+ // state.buttonName = '新增'
+ state.ruleForm = {
+ teamName: '', // 队伍名称
+ teamLevel: '', // 队伍级别
+ principalUid: 1, // 队伍负责人
+ principalDepartmentId: 2, //负责人部门
+ principalPhone: '', // 负责人手机
+ telephoneNumber: '', // 固定电话
+ teamDesc: '', //队伍描述
+ fileList: [],
+ }
+ }else{
+ // state.title = '修改应急队伍管理'
+ // // state.buttonName = '确定'
+ // state.ruleForm = JSON.parse(JSON.stringify(value))
+ }
};
// 关闭弹窗
const closeDialog = () => {
@@ -200,39 +216,39 @@
const onCancel = () => {
closeDialog();
};
- // 初始化部门数据
- const initTableData = () => {
- state.deptData.push({
- deptName: 'vueNextAdmin',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '顶级部门',
- id: Math.random(),
- children: [
- {
- deptName: 'IT外包服务',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '总部',
- id: Math.random(),
- },
- {
- deptName: '资本控股',
- createTime: new Date().toLocaleString(),
- status: true,
- sort: Math.random(),
- describe: '分部',
- id: Math.random(),
- },
- ],
- });
- };
- // 页面加载时
- onMounted(() => {
- initTableData();
- });
+ // // 初始化部门数据
+ // const initTableData = () => {
+ // state.deptData.push({
+ // deptName: 'vueNextAdmin',
+ // createTime: new Date().toLocaleString(),
+ // status: true,
+ // sort: Math.random(),
+ // describe: '顶级部门',
+ // id: Math.random(),
+ // children: [
+ // {
+ // deptName: 'IT外包服务',
+ // createTime: new Date().toLocaleString(),
+ // status: true,
+ // sort: Math.random(),
+ // describe: '总部',
+ // id: Math.random(),
+ // },
+ // {
+ // deptName: '资本控股',
+ // createTime: new Date().toLocaleString(),
+ // status: true,
+ // sort: Math.random(),
+ // describe: '分部',
+ // id: Math.random(),
+ // },
+ // ],
+ // });
+ // };
+ // // 页面加载时
+ // onMounted(() => {
+ // initTableData();
+ // });
// 上传附件
const fileList = ref<UploadUserFile[]>([])
@@ -319,16 +335,55 @@
}
]
- // //添加队伍负责人
- // const addRef = ref();
- // //添加队伍负责人弹窗
- // const onAddTeamLeader = () => {
- // addRef.value.openDialog();
- // };
+ // 必填项提示
+ const rules = reactive<FormRules>({
+ teamName: [
+ {
+ required: true,
+ message: '队伍名称不能为空',
+ trigger: 'change',
+ },
+ ],
+ teamLevel: [
+ {
+ required: true,
+ message: '队伍级别不能为空',
+ trigger: 'change',
+ },
+ ],
+ principalUid: [
+ {
+ required: true,
+ message: '队伍负责人不能为空',
+ trigger: 'change',
+ },
+ ],
+ principalDepartmentId: [
+ {
+ required: true,
+ message: '负责人部门不能为空',
+ trigger: 'change',
+ },
+ ],
+ principalPhone: [
+ {
+ required: true,
+ message: '负责人手机不能为空',
+ trigger: 'change',
+ },
+ ],
+ telephoneNumber: [
+ {
+ required: true,
+ message: '固定电话不能为空',
+ trigger: 'change',
+ },
+ ],
+ })
//全屏
const full = ref(false);
const toggleFullscreen = () => {
- if (full.value == false) {
+ if(full.value == false) {
full.value = true;
} else {
full.value = false;
@@ -352,6 +407,7 @@
toggleFullscreen,
FullScreen,
full,
+ rules,
};
},
});
--
Gitblit v1.9.2