马宇豪
2023-03-22 3a9ca6d56fbad4c67b858185d9e9b157e3d60b82
src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
@@ -9,6 +9,13 @@
                    </el-select>
                </div>
                <div class="basic-line">
                    <span>部门:</span>
                    <el-cascader class="input-box" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }"
                                 placeholder="请选择部门" clearable v-model="tableData.params.execDepId"
                                 @change="changeGroup"
                    > </el-cascader>
                </div>
                <div class="basic-line">
                    <span>执行班组:</span>
                    <el-select v-model="tableData.params.execClassgroupId" clearable filterable class="input-box" placeholder="执行班组">
                        <el-option v-for="item in classGroupList" :key="item.id" :label="item.groupName" :value="item.id"></el-option>
@@ -23,7 +30,7 @@
                <div class="main-card">
                    <el-row class="cardTop">
                        <el-col :span="12" class="mainCardBtn">
                            <el-button type="primary" :icon="Plus" size="default" @click="openInspectTaskDialog('新增', {})">新建</el-button>
                            <el-button type="primary" :icon="Plus" size="default" @click="openInspectTaskDialog('新增', {})">新增</el-button>
                            <!--                            <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>-->
                        </el-col>
                        <el-button type="primary" :icon="Refresh" size="default" />
@@ -80,12 +87,27 @@
                        <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
                        <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
                        <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></el-table-column>
                        <el-table-column property="status" label="状态" width="60" />
                        <el-table-column property="taskUnitStatus" label="状态" width="60">
                            <template #default="scope">
                                <div>
                                    <div v-if="scope.row.taskUnitStatus === 1">
                                        <el-tag :type="''">
                                            {{ '开启' }}
                                        </el-tag>
                                    </div>
                                    <div v-if="scope.row.taskUnitStatus === 2">
                                        <el-tag :type="'danger'">
                                            {{ '关闭' }}
                                        </el-tag>
                                    </div>
                                </div>
                            </template>
                        </el-table-column>
                        <el-table-column fixed="right" label="操作" align="center" width="300">
                            <template #default="scope">
                                <el-button link type="primary" size="small" :icon="View" @click="openInspectTaskDialog('查看', scope.row)">查看</el-button>
                                <el-button link type="primary" size="small" :icon="Edit" @click="openInspectTaskDialog('修改', scope.row)">修改</el-button>
                                <el-button link type="danger" size="small" :icon="Delete" @click="deleteInspectTask(scope.$index)">删除</el-button>
                                <el-button link type="danger" size="small" :icon="Delete" v-if="scope.row.taskUnitStatus === 2" @click="deleteInspectTask(scope.row)">删除</el-button>
                                <div @click="changeStatus(scope.row)">
                                    <el-switch v-model="scope.row.taskUnitStatus" inline-prompt active-text="开" inactive-text="关" :active-value="1" :inactive-value="2" style="margin: 0 10px" />
                                </div>
@@ -128,6 +150,7 @@
        params: {
            pageIndex: number | null;
            pageSize: number | null;
            execDepId: number | null;
            unitName: string | null;
            workType: number | null;
            createUserId: number | null;
@@ -167,6 +190,7 @@
                    pageIndex: 1,
                    pageSize: 10,
                    unitName: null,
                    execDepId: null,
                    workType: null,
                    createUserId: null,
                    execClassgroupId: null,
@@ -175,8 +199,8 @@
                }
            },
            workTypeList: [
                { id: 1, name: '日常任务' },
                { id: 2, name: '周期任务' }
                { id: 1, name: '周期任务' },
                { id: 2, name: '单次任务' }
            ],
            quotaList: [],
            departmentList: [],
@@ -190,7 +214,7 @@
                { id: 3, name: '日' },
                { id: 4, name: '月' },
                { id: 5, name: '年' }
            ]
            ],
        });
        //获取巡检任务数据
@@ -221,17 +245,29 @@
        };
        //获取部门
        const getQuotaList = async () => {
            let res = await inspectTaskApi().getQuotaList();
            if (res.data.code === '200') {
                state.quotaList = res.data.data;
            } else {
                ElMessage({
                    type: 'warning',
                    message: res.data.msg
                });
            }
        };
        // const getQuotaList = async () => {
        //     let res = await inspectTaskApi().getQuotaList();
        //     if (res.data.code === '200') {
        //         state.quotaList = res.data.data;
        //     } else {
        //         ElMessage({
        //             type: 'warning',
        //             message: res.data.msg
        //         });
        //     }
        // };
      //获取部门
      const getQuotaList = async () => {
        let res = await inspectTaskApi().getAllQuotaList();
        if (res.data.code === '200') {
          state.quotaList = res.data.data;
        } else {
          ElMessage({
            type: 'warning',
            message: res.data.msg
          });
        }
      };
        //获取巡检点
        const getInspectTaskPoint = async () => {
@@ -285,6 +321,19 @@
            }
        };
        const changeGroup = async () => {
            if(state.tableData.params.execDepId === null) {
                state.classGroupList = []
            }else{
                let res = await departmentApi().getByDepId({depId:state.tableData.params.execDepId})
                if(res.data.code === '200'){
                    state.classGroupList = res.data.data
                }else{
                }
            }
        };
        const changeStatus = async (value: { taskUnitStatus: number; id: number }) => {
            if (value.taskUnitStatus === 2) {
                ElMessageBox.confirm(`此操作将关闭该巡检任务”,是否继续?`, '提示', {
@@ -295,6 +344,7 @@
                    .then(async () => {
                        let res = await inspectTaskApi().openOrCloseInspectTask({ id: value.id, taskUnitStatus: 2 });
                        if (res.data.code === '200') {
                            await getInspectionTask();
                            ElMessage({
                                type: 'success',
                                duration: 2000,
@@ -307,9 +357,7 @@
                            });
                        }
                    })
                    .catch((error) => {
                        debugger;
                    });
                    .catch((error) => {});
            } else {
                ElMessageBox.confirm(`此操作将开启该巡检任务”,是否继续?`, '提示', {
                    confirmButtonText: '确认',
@@ -319,6 +367,7 @@
                    .then(async () => {
                        let res = await inspectTaskApi().openOrCloseInspectTask({ id: value.id, taskUnitStatus: 1 });
                        if (res.data.code === '200') {
                            await getInspectionTask();
                            ElMessage({
                                type: 'success',
                                duration: 2000,
@@ -334,6 +383,32 @@
                    .catch((error) => {});
            }
            await getInspectionTask();
        };
        // 删除
        const deleteInspectTask = (row: any) => {
            ElMessageBox.confirm(`此操作将永久删除该任务:“${row.unitName}”,是否继续?`, '提示', {
                confirmButtonText: '确认',
                cancelButtonText: '取消',
                type: 'warning'
            })
                .then(async () => {
                    let res = await inspectTaskApi().deleteInspectTask({ id: row.id });
                    if (res.data.code === '200') {
                        ElMessage({
                            type: 'success',
                            duration: 2000,
                            message: '删除成功'
                        });
                        await getInspectionTask();
                    } else {
                        ElMessage({
                            type: 'warning',
                            message: res.data.msg
                        });
                    }
                })
                .catch(() => {});
        };
        const openInspectTaskDialog = (type: string, value: {}) => {
@@ -366,6 +441,7 @@
                pageIndex: 1,
                pageSize: 10,
                unitName: null,
                execDepId: null,
                workType: null,
                createUserId: null,
                execClassgroupId: null,
@@ -393,7 +469,9 @@
            Plus,
            reset,
            changeStatus,
            changeGroup,
            parseNumber,
            deleteInspectTask,
            getInspectionTask,
            onHandleSizeChange,
            onHandleCurrentChange,
@@ -408,7 +486,7 @@
<style scoped lang="scss">
$homeNavLengh: 8;
.home-container {
    height: calc(100vh - 114px);
    height: calc(100vh - 144px);
    box-sizing: border-box;
    overflow: hidden;
    .homeCard {