From b59d7d4f48f84dc856d46f6ee6c8e9300376d272 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期四, 08 九月 2022 09:33:43 +0800 Subject: [PATCH] 合并 --- src/views/contingencyManagement/contingency/component/openAdd.vue | 569 -------------------------------------------------------- 1 files changed, 0 insertions(+), 569 deletions(-) diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue index 2d9e986..e69de29 100644 --- a/src/views/contingencyManagement/contingency/component/openAdd.vue +++ b/src/views/contingencyManagement/contingency/component/openAdd.vue @@ -1,569 +0,0 @@ -<template> - <div class="system-edit-user-container"> - <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" @close="resetForm(ruleFormRef)"> - <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> - <el-form ref="ruleFormRef" :model="ruleForm" size="default" :rules="rules" label-width="120px" - :disabled="disabled"> - <el-row :gutter="35"> - <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="teamLevel"> - <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择"> - <el-option label="公司" value="1"></el-option> - <el-option label="分厂-车间" value="2"></el-option> - <el-option label="工序-班组等" value="3"></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="队伍负责人" prop="principalName"> - <el-input v-model="ruleForm.principalName" 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="principalDepartmentId"> - <el-tree-select v-model="ruleForm.principalDepartmentId" :data="newTreeList" class="w100" - :props="propse" clearable 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="principalPhone"> - <el-input v-model="ruleForm.principalPhone" 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="telephoneNumber"> - <el-input v-model="ruleForm.telephoneNumber" 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="队伍描述" prop="teamDesc"> - <el-input class="textarea" v-model="ruleForm.teamDesc" type="textarea" maxlength="150" - 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="相关附件" prop="fileList"> - <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" - @successUploader="successUploader"></uploaderFile> - </el-form-item> - </el-col> - </el-row> - </el-form> - <el-row :gutter="35"> - <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" @click="onAddEmergencyPersonnel(ruleFormRef)" :disabled="disabled">新增 - </el-button> - <el-table - :data="tableData" - style="width: 100%; margin-top: 15px" - ref="multipleTableRef" - :header-cell-style="{ background: '#f6f7fa', color: '#909399' }" - :disabled="disabled" - > - <el-table-column prop="jobNumber" label="人员工号" show-overflow-tooltip></el-table-column> - <el-table-column prop="name" 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="250" align="center"> - <template #default="scope"> - <el-button :disabled="disabled" size="small" @click="onEdit('查看应急队伍人员',scope.row.id)">查看 - </el-button> - <el-button :disabled="disabled" size="small" @click="onEdit('修改应急队伍人员',scope.row.id)" - style="margin-right: 5px">编辑 - </el-button> - <el-button :disabled="disabled" size="small" @click="onRowDel(scope.row.id)" - style="margin-right: 5px">删除 - </el-button> - </template> - </el-table-column> - </el-table> - </el-tab-pane> - </el-tabs> - </el-col> - </el-row> - <template #footer> - <span class="dialog-footer"> - <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> - <el-button size="default" v-if="disabled == true ? false : true" type="primary" - @click="onSubmit(titles, ruleFormRef)">确定</el-button> - </span> - </template> - </el-dialog> - <AddEmergencyPersonnel ref="addRef" @myAdd="onMyAdd"/> - <DailogSearchUserManger ref="userRef" @SearchUser="onUser"/> - </div> -</template> - -<script lang="ts"> - import { - reactive, - ref, - defineComponent, - onMounted, - // toRefs, - } from 'vue'; - import { - ElMessage, - ElMessageBox, - } from 'element-plus'; - - import type { - UploadUserFile, - TabsPaneContext, - FormInstance, - FormRules, - } from 'element-plus' - - import { - Search, - FullScreen - } from '@element-plus/icons-vue' - import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue"; - import DailogSearchUserManger from "/@/components/DailogSearchUserManger/index.vue" - import {contingencyApi} from "/@/api/contingencyManagement/contingency"; - import {goalManagementApi} from "/@/api/goalManagement"; - import uploaderFile from '/@/components/uploaderFile/index.vue'; - // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; - - - export default defineComponent({ - name: 'openAdd', - components: { - AddEmergencyPersonnel, - DailogSearchUserManger, - uploaderFile - }, - setup(prop, {emit}) { - const isShowDialog = ref(false); - const ruleFormRef = ref<FormInstance>(); - const ruleForm = ref({ - teamName: '', // 队伍名称 - teamLevel: '', // 队伍级别 - principalUid: '', // 队伍负责人 - principalName: '', - principalDepartmentId: '', //负责人部门 - principalPhone: '', // 负责人手机 - telephoneNumber: '', // 固定电话 - teamDesc: '', //队伍描述 - fileList: [], - memberList: [] - }); - const titles = ref(); - const disabled = ref(); - const teamId = ref() - // 打开弹窗 - const openDialog = (title: string, id: number, type: boolean) => { - isShowDialog.value = true; - titles.value = title; - disabled.value = type; - teamId.value = id - if (title == '查看应急队伍管理' || title == '修改应急队伍管理') { - contingencyApi() - .seeEmergencyTeam(id) - .then((res) => { - if (res.data.code == 200) { - ruleForm.value = res.data.data; - fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) - initFileListData() - listApi() - } - }); - } - } - // 上传附件 - const fileList = ref([]) - const initFileListData = async () => { - for(var a = 0;a<fileList.value.length;a++){ - fileList.value[a].name = fileList.value[a].fileName - } - } - // 上传成功组装数据 - const successUploader = (list) =>{ - fileList.value = list - const formFileList = [] - for(var a = 0;a<fileList.value.length;a++){ - formFileList.push( - { - fileName:fileList.value[a].fileName, - fileUrl:'' - } - ) - } - ruleForm.value.fileList = formFileList - } - //定义树形下拉框 - const principalDepartmentId = ref() - const data = ref() - - - - //el-tree-select回显 - const propse = { - label: 'depName', - children: 'children', - }; - const newTreeList = []; - //得到部门树 - const department = async () => { - await goalManagementApi() - .getTreedepartment() - .then((res) => { - if (res.data.code == 200) { - data.value = res.data.data; - getTreeList(res.data.data, newTreeList); - } else { - ElMessage.error(res.data.msg); - } - }); - }; - // 递归树状数据且修改字段名 - const getTreeList = (treeList, newTreeList) => { - treeList.map((c) => { - let tempData = { - depName: c.depName, - value: c.depId, - children: [], - }; - if (c.children && c.children.length > 0) { - tempData.children = []; - getTreeList(c.children, tempData.children); - } - newTreeList.push(tempData); - }); - }; - onMounted(() => { - department(); - }); - - - - - // 打开用户选择弹窗 - const userRef = ref(); - const openUser = () => { - userRef.value.openDailog(); - }; - const onUser = (e: any) => { - ruleForm.value.principalUid = e[0].uid - ruleForm.value.principalName = e[0].realName - }; - //定义tabs切换 - const activeName = ref('first') - const handleClick = (tab: TabsPaneContext, event: Event) => { - console.log(tab, event) - } - - // 必填项提示 - 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) { - full.value = true; - } else { - full.value = false; - } - }; - const onSubmit = async (title: string, formEl: FormInstance | undefined) => { - if(!ruleForm.value.fileList){ - ruleForm.value.fileList = [] - } - if (title == '新建应急队伍管理') { - if (!formEl) return; - await formEl.validate((valid, fields) => { - if (valid) { - isShowDialog.value = false; - if(teamId.value==null||teamId.value==''){ - contingencyApi() - .addEmergencyTeam(ruleForm.value) - .then((res) => { - if (res.data.code == 200) { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'success', - }); - emit('myAdd', true); - } else { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'error', - }); - emit('myAdd', true); - } - formEl.resetFields(); - }); - }else { - ElMessage({ - showClose: true, - message: '添加成功', - type: 'success', - }); - emit('myAdd', true); - } - } else { - console.log('error submit!', fields); - } - }); - } else if (title == '修改应急队伍管理') { - if (!formEl) return; - await formEl.validate((valid, fields) => { - if (valid) { - isShowDialog.value = false; - contingencyApi() - .editEmergencyTeam(ruleForm.value) - .then((res) => { - if (res.data.code == 200) { - ElMessage({ - showClose: true, - message: '修改成功', - type: 'success', - }); - emit('myAdd', true); - } else { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'error', - }); - emit('myAdd', true); - } - formEl.resetFields(); - }); - } else { - console.log('error submit!', fields); - } - }); - formEl.resetFields(); - ruleForm.value = { - teamName: '', // 队伍名称 - teamLevel: '', // 队伍级别 - principalUid: '', // 队伍负责人 - principalDepartmentId: '', //负责人部门 - principalPhone: '', // 负责人手机 - telephoneNumber: '', // 固定电话 - teamDesc: '', //队伍描述 - fileList: [], - memberList: [] - }; - } - }; - const resetForm = (formEl: FormInstance | undefined) => { - isShowDialog.value = false; - if (!formEl) return; - formEl.resetFields(); - fileList.value = [] - tableData.value=[] - ruleForm.value = {} - }; - // 定义表格数据 - const tableData = ref([]); - //添加队伍负责人弹窗 - const addRef = ref(); - const onAddEmergencyPersonnel = async (formEl: FormInstance | undefined) => { - if(!ruleForm.value.fileList){ - ruleForm.value.fileList = [] - } - if (!formEl) return; - await formEl.validate((valid, fields) => { - if (valid) { - // isShowDialog.value = false; - if(teamId.value == ''||teamId.value==null){ - ElMessageBox.confirm('确认添加此应急队伍?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning', - }) - .then(() => { - contingencyApi() - .addEmergencyTeam(ruleForm.value) - .then((res) => { - if (res.data.code == 200) { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'success', - }); - teamId.value = res.data.data.id - addRef.value.openDialog('新建应急队伍人员','',teamId.value); - } else { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'error', - }); - } - }); - }) - .catch(() => {}); - - }else { - addRef.value.openDialog('新建应急队伍人员','',teamId.value); - } - - - } else { - console.log('error submit!', fields); - } - }); - }; - // 请求列表数据 - const listApi = async () => { - let res = await contingencyApi().getEmergencyTeamPersonnelList(teamId.value); - if (res.data.code == 200) { - tableData.value = res.data.data; - } else { - ElMessage.error(res.data.msg); - } - }; - // 新增后刷新 - const onMyAdd = (e: object) => { - listApi(); - }; - // 打开修改弹窗 - const onEdit = (val: string, row: object) => { - if (val == '查看应急队伍人员') { - addRef.value.openDialog('查看应急队伍人员', row,teamId.value, true); - } else { - addRef.value.openDialog('修改应急队伍人员', row,teamId.value, false); - } - }; - // 删除 - const onRowDel = (data: any) => { - ElMessageBox.confirm('确定删除所选项吗?', '提示', { - confirmButtonText: '确认', - cancelButtonText: '取消', - type: 'warning', - }).then(() => { - contingencyApi() - .deleteEmergencyTeamPersonnel(data) - .then((res) => { - if (res.data.code == 200) { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'success', - }); - listApi() - } else { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'error', - }); - listApi() - } - }); - }) - .catch(() => { - }); - }; - return { - openDialog, - fileList, - principalDepartmentId, - data, - activeName, - handleClick, - tableData, - Search, - resetForm, - isShowDialog, - ruleFormRef, - ruleForm, - rules, - addRef, - userRef, - titles, - disabled, - propse, - emit, - onSubmit, - openUser, - onAddEmergencyPersonnel, - toggleFullscreen, - FullScreen, - full, - onUser, - onMyAdd, - listApi, - onEdit, - onRowDel, - department, - teamId, - newTreeList, - successUploader, - initFileListData - }; - }, - }); -</script> -<style scoped lang="scss"> - .textarea { - height: 168px !important; - } - - .textarea ::v-deep .el-textarea__inner { - height: 168px !important; - } - - ::v-deep .el-table__cell { - font-weight: 400; - } -</style> - -- Gitblit v1.9.2