| | |
| | | <template> |
| | | <div class="system-edit-user-container"> |
| | | <el-dialog :title="titles" v-model="isShowDialog" width="40%" draggable :fullscreen="full" :close-on-click-modal="false"> |
| | | <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" :close-on-click-modal="false" @close="resetForm(ruleFormRef)"> |
| | | <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> |
| | | <el-form ref="ruleFormRef" :model="ruleForm" size="default" 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="responsibleDepartment"> |
| | | <el-tree-select |
| | | v-model="ruleForm.treeSelect" |
| | | :data="data" |
| | | multiple |
| | | :render-after-expand="true" |
| | | :props="propse" |
| | | show-checkbox |
| | | v-model="ruleForm.responsibleDepartment" |
| | | :data="newTreeList" |
| | | class="w100" |
| | | clearable |
| | | :props="propse" |
| | | multiple |
| | | :render-after-expand="false" |
| | | check-strictly |
| | | check-on-click-node |
| | | placeholder="请选择" |
| | | @change="changeDepartment" |
| | | /> |
| | | <el-divider /> |
| | | </el-form-item> |
| | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="预案类型" prop="type"> |
| | | <el-select v-model="ruleForm.type" class="w100" placeholder="请选择"> |
| | | <el-option label="综合应急预案" value="综合应急预案"></el-option> |
| | | <el-option label="现场处置方案" value="现场处置方案"></el-option> |
| | | <el-option label="专项应急预案" value="专项应急预案"></el-option> |
| | | <el-option label="其他预案" value="其他预案"></el-option> |
| | | <el-option label="综合应急预案" value="1"></el-option> |
| | | <el-option label="现场处置方案" value="2"></el-option> |
| | | <el-option label="专项应急预案" value="3"></el-option> |
| | | <el-option label="其他预案" value="4"></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="level"> |
| | | <el-select v-model="ruleForm.level" class="w100" placeholder="请选择"> |
| | | <el-option label="公司级" value="公司级"></el-option> |
| | | <el-option label="分厂级" value="分厂级"></el-option> |
| | | <el-option label="车间级" value="车间级"></el-option> |
| | | <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-form-item label="编写部门" prop="authorDeptId"> |
| | | <el-tree-select |
| | | v-model="ruleForm.authorDeptId" |
| | | check-strictly |
| | | :data="data" |
| | | :data="newTreeList" |
| | | class="w100" |
| | | :props="propse" |
| | | clearable |
| | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="应急队伍" prop="emergencyTeam"> |
| | | <el-input v-model="ruleForm.emergencyTeam" placeholder="请选择" class="input-with-select"> |
| | | <el-input v-model="ruleForm.teamName" placeholder="请选择" class="input-with-select"> |
| | | <template #append> |
| | | <el-button :icon="Search" @click="daiInpt(0)" /> |
| | | </template> |
| | |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> |
| | | <el-button size="default" type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button> |
| | | <el-button size="default" type="primary" v-if="disabled == true ? false : true" |
| | | @click="submitForm(titles, ruleFormRef)">确定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | authorDeptId: '', // 编写部门 |
| | | releaseDate: '', // 发布实施日期 |
| | | fileList: [ |
| | | { |
| | | fileUrl: 'url', |
| | | fileName: 'name', |
| | | }, |
| | | // { |
| | | // fileUrl: 'url', |
| | | // fileName: 'name', |
| | | // }, |
| | | ], |
| | | emergencyTeam: '', //应急队伍 |
| | | areaList: [], //区域列表 |
| | | teamList: [ |
| | | ], |
| | | teamList: [], |
| | | teamId: '', //应急队伍 |
| | | deptList: [], |
| | | abolishStatus: false, |
| | | }); |
| | |
| | | .seeEmergencyTeam(id) |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ruleForm.value = res.data.data; |
| | | ruleForm.value = res.data.data; |
| | | let arr = []; |
| | | ruleForm.value.responsibleDepartment = [] |
| | | for (let i = 0; i < ruleForm.value.teamList.length; i++) { |
| | | arr.push(ruleForm.value.teamList[i].teamName); |
| | | } |
| | | for (let i = 0; i < ruleForm.value.deptList.length; i++) { |
| | | ruleForm.value.responsibleDepartment.push(ruleForm.value.deptList[i].departmentId); |
| | | } |
| | | console.log(ruleForm.value.responsibleDepartment) |
| | | ruleForm.value.teamName = arr.toString(); |
| | | } |
| | | }); |
| | | } |
| | |
| | | const releaseDate = ref(''); |
| | | // 上传附件 |
| | | const fileList = ref<UploadUserFile[]>([]); |
| | | //部门树 |
| | | const department = () => { |
| | | goalManagementApi() |
| | | .getTreedepartment() |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | ruleForm.value = res.data.data; |
| | | let arr = []; |
| | | for (let i = 0; i < ruleForm.value.teamList.length; i++) { |
| | | arr.push(ruleForm.value.teamList[i].userName); |
| | | } |
| | | ruleForm.value.userName = arr.toString(); |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }; |
| | | const treeSelect = ref(); |
| | | // const trees = ref(); |
| | | //el-tree-select回显 |
| | | const propse = { |
| | | label: 'depName', |
| | | children: 'children', |
| | | value: 'depId', |
| | | }; |
| | | 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); |
| | | console.log('newList',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 changeDepartment = (e) => { |
| | | var temList = [] |
| | | for(var a = 0;a<e.length;a++){ |
| | | temList.push({ |
| | | departmentId:e[a] |
| | | }) |
| | | } |
| | | ruleForm.value.deptList = temList |
| | | console.log(ruleForm) |
| | | } |
| | | //定义树形下拉框 |
| | | const responsibleDepartment = ref(); |
| | | const data = ref(); |
| | |
| | | authorDeptId: '', // 编写部门 |
| | | releaseDate: '', // 发布实施日期 |
| | | fileList: [ |
| | | { |
| | | fileUrl: 'url', |
| | | fileName: 'name', |
| | | }, |
| | | // { |
| | | // fileUrl: 'url', |
| | | // fileName: 'name', |
| | | // }, |
| | | ], |
| | | emergencyTeam: '', //应急队伍 |
| | | teamId: '', //应急队伍ID |
| | | areaList: [], //区域列表 |
| | | teamList: [ |
| | | ], |
| | |
| | | const resetForm = (formEl: FormInstance | undefined) => { |
| | | isShowDialog.value = false; |
| | | if (!formEl) return; |
| | | ruleForm.value = { |
| | | name: '', // 预案名称 |
| | | type: '', //预案类型 |
| | | associatedDanger: '', // 危险源关联 |
| | | level: '', // 预案级别 |
| | | authorUid: '', // 编写人 |
| | | authorName: '', |
| | | authorDeptId: '', // 编写部门 |
| | | releaseDate: '', // 发布实施日期 |
| | | fileList: [ |
| | | { |
| | | fileUrl: 'url', |
| | | fileName: 'name', |
| | | }, |
| | | ], |
| | | emergencyTeam: '', //应急队伍 |
| | | areaList: [], //区域列表 |
| | | teamList: [ |
| | | ], |
| | | deptList: [], |
| | | abolishStatus: false, |
| | | }; |
| | | formEl.resetFields(); |
| | | ruleForm.value = {} |
| | | }; |
| | | // 应急队伍弹窗 |
| | | const Shows = ref(); |
| | | const daiInpt = (data: any) => { |
| | | Shows.value.openDailog(data); |
| | | }; |
| | | const SearchUser = (e: any) => { |
| | | const SearchUser = (val: any) => { |
| | | let arr = []; |
| | | ruleForm.value.teamList=[] |
| | | for (let i = 0; i < val.length; i++) { |
| | | arr.push(val[i].realName); |
| | | ruleForm.value.userList.push({ |
| | | userUid: val[i].uid, |
| | | userName: val[i].realName, |
| | | arr.push(val[i].teamName); |
| | | ruleForm.value.teamList.push({ |
| | | teamId: val[i].id, |
| | | }); |
| | | } |
| | | ruleForm.value.userName = arr.toString(); |
| | | ruleForm.value.teamName = arr.toString(); |
| | | }; |
| | | // 选择区域弹窗 |
| | | const openRef = ref(); |
| | |
| | | data, |
| | | Search, |
| | | releaseDate, |
| | | treeSelect, |
| | | // treeSelect, |
| | | // trees, |
| | | propse, |
| | | department, |
| | |
| | | ruleForm, |
| | | resetForm, |
| | | onUser, |
| | | newTreeList, |
| | | changeDepartment |
| | | }; |
| | | }, |
| | | }); |