From 006cedaa4188d5bd5f99ef0721572a24c89d7ce4 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期六, 20 八月 2022 17:19:08 +0800
Subject: [PATCH] Default Changelist
---
src/views/specialWorkSystem/workTicket/workApply/index.vue | 24 ++++++++++-
src/views/specialWorkSystem/workTicket/myJobApply/index.vue | 55 ++++++++++++++++++++++-----
src/views/specialWorkSystem/workTicket/workApply/components/broken.vue | 32 ++++-----------
3 files changed, 74 insertions(+), 37 deletions(-)
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue b/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
index 1a502f1..741d565 100644
--- a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
+++ b/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 {
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/broken.vue b/src/views/specialWorkSystem/workTicket/workApply/components/broken.vue
index 54cbca4..6880a48 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/broken.vue
+++ b/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>({
diff --git a/src/views/specialWorkSystem/workTicket/workApply/index.vue b/src/views/specialWorkSystem/workTicket/workApply/index.vue
index 181b250..ea33534 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/index.vue
+++ b/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 {
--
Gitblit v1.9.2