From 9245fae41fc9cb35b1f1feb3c66f5bb135874650 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期五, 15 七月 2022 09:17:22 +0800 Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut --- src/views/contingencyManagement/panManagement/component/openSee.vue | 480 +++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 287 insertions(+), 193 deletions(-) diff --git a/src/views/contingencyManagement/panManagement/component/openSee.vue b/src/views/contingencyManagement/panManagement/component/openSee.vue index d5f5ff3..1ad35be 100644 --- a/src/views/contingencyManagement/panManagement/component/openSee.vue +++ b/src/views/contingencyManagement/panManagement/component/openSee.vue @@ -1,34 +1,51 @@ <template> <div class="system-edit-user-container"> <el-dialog - title="查看应急队伍管理" + title="新建应急演练计划发布" v-model="isShowDialog" width="769px" draggable > - <el-form :model="ruleForm" size="default" label-width="90px"> + <el-form + ref="ruleFormRef" + :model="ruleForm" + size="default" + 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-input v-model="ruleForm.teamName" :disabled="true"></el-input> + <el-form-item label="演练名称" prop="teamName"> + <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></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-select v-model="ruleForm.teamLevel" :disabled="true" class="w100"> - <el-option label="公司" value="admin"></el-option> - <el-option label="分厂-车间" value="common"></el-option> - <el-option label="工序-班组等" value="shang"></el-option> + <el-form-item label="演练地点" prop="teamName"> + <el-input v-model="ruleForm.teamName" placeholder="请填写演练地点"></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="主办部门" placeholder="请选择"> + <el-tree-select + v-model="ruleForm.responsibleDepartment" + :data="data" class="w100" + placeholder="请选择"/> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="演练方式" prop="teamLevel"> + <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择"> + <el-option label="综合" value="admin"></el-option> + <el-option label="桌面" value="common3"></el-option> + <el-option label="专项" value="common2"></el-option> </el-select> </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="telephone" @click="daiInpt" > <el-input v-model="ruleForm.teamLeader" - placeholder="Please input" + placeholder="请选择" class="input-with-select" - :disabled="true" > <template #append> <el-button :icon="Search"/> @@ -37,34 +54,109 @@ </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="teamPhone"> + <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择"> + <el-option label="公司级" value="admin"></el-option> + <el-option label="分厂级" value="common"></el-option> + <el-option label="车间级" value="common1"></el-option> + </el-select> </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="teamPhone"> + <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </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="teamPhone"> + <el-date-picker v-model="drillDate" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="修改时间" prop="teamPhone"> + <el-date-picker v-model="editDate" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="计划定制人" prop="teamPhone"> + <el-input v-model="ruleForm.planCustomizer" disabled placeholder="请填写演练地点"></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="制定部门" prop="telephone"> + <el-tree-select + v-model="ruleForm.responsibleDepartment" + :data="data" class="w100" + placeholder="请选择"/> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="演练人员" prop="telephone" > + <el-input + v-model="ruleForm.teamLeader" + placeholder="请选择" + class="input-with-select" + > + <template #append> + <el-button :icon="Search" @click="openUser"/> + </template> + </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="telephone"> + <el-input + v-model="ruleForm.teamLeader" + placeholder="请填写演练目的" + class="input-with-select textarea" + type="textarea" + > + </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="演练负责人" prop="telephone" > + <el-input + v-model="ruleForm.teamLeader" + placeholder="请选择" + class="input-with-select" + > + <template #append> + <el-button :icon="Search" @click="openUser"/> + </template> + </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="保险措施" prop="teamName"> + <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></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="演练经费" prop="teamName"> + <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></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="telephone"> + <el-input + v-model="ruleForm.teamLeader" + placeholder="请填写备注信息" + class="input-with-select textarea" + type="textarea" + > + </el-input> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> <el-upload v-model:file-list="fileList" class="upload-demo" action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" :on-change="handleChange" > - <el-button type="primary" disabled + <el-button type="primary" >点击上传</el-button> <template #tip> <div class="el-upload__tip"> @@ -74,165 +166,146 @@ </el-upload> </el-form-item> </el-col> - <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> - <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> - <el-tab-pane label="应急队伍人员" name="first"> - <el-button type="primary" size="default" disabled>新增</el-button> - <el-table - :data="tableData" - style="width: 100%;margin-top: 15px;" - ref="multipleTableRef" - :header-cell-style="{background:'#f6f7fa',color:'#909399'}" - > - <el-table-column prop="jobNo" label="人员工号" show-overflow-tooltip></el-table-column> - <el-table-column prop="personnelName" label="人员名称" show-overflow-tooltip></el-table-column> - <el-table-column prop="phone" label="手机号码" show-overflow-tooltip></el-table-column> - <el-table-column prop="position" label="职位" show-overflow-tooltip></el-table-column> - <el-table-column label="操作" width="200" align="center"> - <template #default="scope"> - <el-button disabled size="small" text="plain" >查看 - </el-button> - <el-button disabled size="small" text="plain" style="margin-right: 5px;">编辑 - </el-button> - <el-button disabled size="small" text="plain" style="margin-right: 5px;">删除 - </el-button> - </template> - </el-table-column> - </el-table> - </el-tab-pane> - </el-tabs> - </el-col> </el-row> </el-form> <template #footer> <span class="dialog-footer"> <el-button @click="onCancel" size="default">关闭</el-button> + <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button> </span> </template> </el-dialog> -<!-- <AddTeamLeader ref="addRef" />--> + <RegionsDialog ref="Shows"/> + <UserSelections ref="userRef"/> </div> </template> <script lang="ts"> -import { reactive, toRefs, ref, onMounted, defineComponent } from 'vue'; +import { reactive, + ref, + defineComponent +} from 'vue'; + import type { UploadUserFile, - TabsPaneContext, + FormInstance, + // FormRules, } from 'element-plus' + import { Search } 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; - id: number; - children?: DeptData[]; -} -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 - jobNo: string - phone: string; - position: string; -} -// // 定义表格数据类型 -// interface Team { -// personnelName: string -// teamLevel: string -// teamDescription: string -// teamPhone: string -// phone: string; -// describe: string; -// responsibleDepartment: string -// } +import UserSelections from "/@/components/userSelections/index.vue" +import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue" + export default defineComponent({ - name: 'openSee', + name: 'openAdd', components: { - // Search, + RegionsDialog, + UserSelections, }, setup() { - const state = reactive<UserState>({ - isShowDialog: false, - ruleForm: { - teamName: '', // 队伍名称 - teamLevel: '', // 队伍级别 - teamLeader: '', //队伍负责人 - department: [], // 负责人部门 - phone: '', // 负责人手机 - telephone: '', // 固定电话 - describe: '', // 队伍描述 - }, - deptData: [], // 部门数据 + const isShowDialog = ref(false) + + const ruleFormRef = ref<FormInstance>() + //定义表单 + const ruleForm = reactive({ + teamName: '', // 队伍名称 + planCustomizer: '胡海涛', //计划定制人 + teamLeader: '', //队伍负责人 + department: [], // 负责人部门 + phone: '', // 负责人手机 + telephone: '', // 固定电话 }); // 打开弹窗 - const openDialog = (row: RuleFormRow) => { - state.ruleForm = row; - state.isShowDialog = true; + const openDialog = () => { + // state.ruleForm = row; + isShowDialog.value = true; }; // 关闭弹窗 const closeDialog = () => { - state.isShowDialog = false; + isShowDialog.value = false; }; // 取消 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 value1 = ref('') // 上传附件 const fileList = ref<UploadUserFile[]>([]) - + // 可选择树 + const treeSelect = ref() + const tree = [ + { + value: '1', + label: 'Level one 1', + children: [ + { + value: '1-1', + label: 'Level two 1-1', + children: [ + { + value: '1-1-1', + label: 'Level three 1-1-1', + }, + ], + }, + ], + }, + { + value: '2', + label: 'Level one 2', + children: [ + { + value: '2-1', + label: 'Level two 2-1', + children: [ + { + value: '2-1-1', + label: 'Level three 2-1-1', + }, + ], + }, + { + value: '2-2', + label: 'Level two 2-2', + children: [ + { + value: '2-2-1', + label: 'Level three 2-2-1', + }, + ], + }, + ], + }, + { + value: '3', + label: 'Level one 3', + children: [ + { + value: '3-1', + label: 'Level two 3-1', + children: [ + { + value: '3-1-1', + label: 'Level three 3-1-1', + }, + ], + }, + { + value: '3-2', + label: 'Level two 3-2', + children: [ + { + value: '3-2-1', + label: 'Level three 3-2-1', + }, + ], + }, + ], + }, + ] //定义树形下拉框 const responsibleDepartment = ref() const data = [ @@ -280,63 +353,58 @@ ], }, ] - //定义tabs切换 - const activeName = ref('first') - const handleClick = (tab: TabsPaneContext, event: Event) => { - console.log(tab, event) + // 表单提交验证必填项 + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return + await formEl.validate((valid, fields) => { + if (valid) { + console.log('submit!') + } else { + console.log('error submit!', fields) + } + }) } + // 应急队伍弹窗 + const Shows=ref() + const daiInpt=()=>{ + Shows.value.openDailog() + } + // 打开用户选择弹窗 + const userRef = ref(); + const openUser = () => { + userRef.value.openDialog(); + }; + // 计划定制日期 + const datetime = ref('') + // 计划演练日期 + const drillDate = ref('') + // 修改时间 + const editDate = ref('') - //定义表格数据 - const multipleSelection = ref<User[]>([]) - const tableData: User[] = [ - { - personnelName: '张志刚', - jobNo: '1037', - position: '副组长', - phone: '13673321356', - }, - { - personnelName: '张志刚', - jobNo: '1037', - position: '副组长', - phone: '13673321356', - }, - { - personnelName: '张志刚', - jobNo: '1037', - position: '副组长', - phone: '13673321356', - }, - { - personnelName: '张志刚', - jobNo: '1037', - position: '副组长', - phone: '13673321356', - } - ] - - // //添加队伍负责人 - // const addRef = ref(); - // //添加队伍负责人弹窗 - // const onAddTeamLeader = () => { - // addRef.value.openDialog(); - // }; return { openDialog, closeDialog, + isShowDialog, onCancel, fileList, responsibleDepartment, data, - activeName, - handleClick, - tableData, - multipleSelection, Search, - // addRef, - // onAddTeamLeader, - ...toRefs(state), + ruleForm, + value1, + treeSelect, + tree, + daiInpt, + Shows, + ruleFormRef, + submitForm, + // rules, + openUser, + userRef, + datetime, + drillDate, + editDate, }; }, }); @@ -351,4 +419,30 @@ ::v-deep .el-table__cell { font-weight: 400; } +.el-divider--horizontal{ + height: 0; + margin: 0; + border-top: transparent; +} +.el-select{ + width: 100%; +} +//多行文本框 +.textarea{ + height: 70px!important; +} +.textarea ::v-deep .el-textarea__inner{ + height: 70px!important; +} +//弹窗底部边框线 +::v-deep .el-dialog__footer{ + border-top: 1px solid #e8e8e8; + border-radius: 0 0 4px 4px; +} +//弹窗顶部边框线 +::v-deep .el-dialog__header { + border-bottom: 1px solid #e8e8e8; + margin-right: 0; + border-radius: 4px 4px 0 0; +} </style> \ No newline at end of file -- Gitblit v1.9.2