src/views/specialWorkSystem/workTicket/myJobApply/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/specialWorkSystem/workTicket/workApply/components/broken.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/specialWorkSystem/workTicket/workApply/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/specialWorkSystem/workTicket/myJobApply/index.vue
@@ -58,12 +58,12 @@ </div> <el-dialog v-model="dialogDetails" title="作业申请详情" center> <fire v-if="dialogType == 1" :details = details></fire> <space v-if="dialogType == 2" :details = details></space> <hoist v-if="dialogType == 3" :details = details></hoist> <ground v-if="dialogType == 4" :details = details></ground> <broken v-if="dialogType == 5" :details = details></broken> <height v-if="dialogType == 6" :details = details></height> <power v-if="dialogType == 7" :details = details></power> <space v-else-if="dialogType == 2" :details = details></space> <hoist v-else-if="dialogType == 3" :details = details></hoist> <ground v-else-if="dialogType == 4" :details = details></ground> <broken v-else-if="dialogType == 5" :details = details></broken> <height v-else-if="dialogType == 6" :details = details></height> <power v-else-if="dialogType == 7" :details = details></power> <plate v-else :details = details></plate> <template #footer> <span class="dialog-footer"> @@ -196,6 +196,7 @@ import { FormInstance, FormRules, ElMessage } from 'element-plus'; import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; import type { TabsPaneContext } from 'element-plus'; import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage"; // 定义接口来定义对象的类型 interface stateType { @@ -219,13 +220,18 @@ statusInfo: {}; workType: Array<type>; depType: Array<type>; dialogType: number dialogType: number | null; departmentList: Array<any>; departmentRecursionList: Array<DepartmentState>; } interface type { id: number; name: string; } interface DepartmentState { depId: number; depName: string; } export default defineComponent({ name: 'myApply', components: { @@ -248,6 +254,8 @@ totalSize1: 0, dialogType: null, activeName: '1', departmentList: [], departmentRecursionList: [], chosenIndex: null, searchWord: '', applyData: [], @@ -304,6 +312,32 @@ console.log(tab, event); }; // 获取部门列表 const getAllDepartment = async () => { let res = await teamManageApi().getAllDepartment(); if (res.data.code === '200') { state.departmentList = JSON.parse(JSON.stringify(res.data.data)) recursion(state.departmentList); console.log(state.departmentRecursionList,'99999999999') } else { ElMessage({ type: 'warning', message: res.data.msg }); } }; const recursion = (value: any) => { for (let i of value) { if (i.children.length !== 0) { state.departmentRecursionList.push(i); recursion(i.children); } else { state.departmentRecursionList.push(i); } } }; // 分页获取工作时间组列表 const getListByPage = async () => { const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } }; @@ -319,7 +353,6 @@ return item; }); state.totalSize1 = res.data.total; console.log( state.applyData,'0212121'); } else { ElMessage({ type: 'warning', @@ -422,7 +455,6 @@ // 查看记录 const viewRecord = (row: any) => { state.dialogType = row.workType console.log(state.dialogType,'工作类型') state.details = JSON.parse(JSON.stringify(row)); if(state.details.workDetail.otherSpecialWork == '' || !state.details.workDetail.otherSpecialWork){ state.details.workDetail.otherSpecialWork=[] @@ -440,7 +472,7 @@ else { const a = state.details.workDetail.involvedDepIds state.details.workDetail.involvedDepIds = a.split(',').map((item) => { return state.depType.find((i: { id: number }) => i.id === Number(item))?.name; return state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(item))?.depName; }); } console.log(state.details,'details') @@ -457,6 +489,7 @@ // 页面载入时执行方法 onMounted(() => { getListByPage(); getAllDepartment() }); return { src/views/specialWorkSystem/workTicket/workApply/components/broken.vue
@@ -93,9 +93,7 @@ </el-col> <el-col :span="12"> <el-form-item label="涉及相关部门" prop="workDetail.involvedDepIds"> <el-select v-model="form.workDetail.involvedDepIds" multiple> <el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" /> </el-select> <el-cascader v-model="form.workDetail.involvedDepIds" :options="departList" :props="casProps" :show-all-levels="false" @change="handleChange" /> </el-form-item> </el-col> </el-row> @@ -123,12 +121,12 @@ interface stateType { form: Object, csDepList: Array<any>, otherWorkList: Array<any> casProps: {} } export default defineComponent({ name: 'brokenForm', components: {}, props:['workerList'], props:['workerList','departList'], setup() { const userInfo = useUserInfo() const { userInfos } = storeToRefs(userInfo); @@ -176,24 +174,12 @@ value: 6 } ], otherWorkList: [ { label: '部门一', value: 1 }, { label: '部门二', value: 2 }, { label: '部门三', value: 3 }, { label: '部门四', value: 4 } ] casProps: { emitPath: false, value: 'depId', label: 'depName', multiple: true } }); const ruleFormRef = ref<FormInstance>() const applyRules = reactive<FormRules>({ src/views/specialWorkSystem/workTicket/workApply/index.vue
@@ -14,7 +14,7 @@ <ground-form :workerList = allWorkers></ground-form> </el-tab-pane> <el-tab-pane label="断路作业"> <broken-form :workerList = allWorkers></broken-form> <broken-form :workerList = allWorkers :departList = departmentList></broken-form> </el-tab-pane> <el-tab-pane label="高处作业"> <height-form :workerList = allWorkers></height-form> @@ -39,10 +39,11 @@ import { ElMessage } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus' import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage"; interface stateType { allWorkers: Array<any> departmentList: Array<any> } export default defineComponent({ name: 'workTicket', @@ -60,8 +61,11 @@ const userInfo = useUserInfo() const { userInfos } = storeToRefs(userInfo); const state = reactive<stateType>({ allWorkers: [] allWorkers: [], departmentList: [] }); // 获取用户列表 const getAll = async ()=>{ const res = await workApplyApi().getAllUsers() if (res.data.code === '200') { @@ -74,9 +78,23 @@ } }; // 获取部门列表 const getAllDepartment = async () => { let res = await teamManageApi().getAllDepartment(); if (res.data.code === '200') { state.departmentList = JSON.parse(JSON.stringify(res.data.data)) } else { ElMessage({ type: 'warning', message: res.data.msg }); } }; // 页面载入时执行方法 onMounted(() => { getAll(); getAllDepartment(); }); return {