Admin
2022-09-26 fd41f55c6178449e1802ff43f46a477247032d97
Default Changelist
已修改3个文件
已添加1个文件
689 ■■■■ 文件已修改
src/api/specialWorkSystem/material/index.ts 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/foundationSet/material/index.vue 613 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/appVersion/index.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/personShiftManage/personTimeManage/workingHoursSet/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/specialWorkSystem/material/index.ts
对比新文件
@@ -0,0 +1,50 @@
import request from '/@/utils/request';
export function materialApi() {
    return {
        //物资管理分页列表
        getRecordPage: (data: object) => {
            return request({
                url: import.meta.env.VITE_API_URL + `/specialWork/material/page/list`,
                method: 'post',
                data: data
            });
        },
        //物资列表
        getRecordList: () => {
            return request({
                url: import.meta.env.VITE_API_URL + `/specialWork/material/emegency/materials`,
                method: 'post'
            });
        },
        // 新增
        addRecord: (data: object) => {
            return request({
                url: import.meta.env.VITE_API_URL + `/specialWork/material/save`,
                method: 'post',
                data: data
            });
        },
        // 修改
        updateRecord: (data: object) => {
            return request({
                url: import.meta.env.VITE_API_URL + `/specialWork/material/update`,
                method: 'post',
                data: data
            });
        },
        // 删除
        deleteRecord: (data: object) => {
            return request({
                url: import.meta.env.VITE_API_URL + `/specialWork/material/delete`,
                method: 'post',
                data: data
            });
        }
    };
}
src/views/specialWorkSystem/foundationSet/material/index.vue
@@ -2,13 +2,79 @@
    <div class="home-container">
        <div style="height: 100%">
            <el-row class="homeCard">
                <el-col :span="8">
                <el-col :span="5" style="display:flex;align-items: center">
                    <span style="white-space: nowrap">作业类型:</span>
                    <div class="grid-content topInfo">
                        <el-input v-model="searchWord" placeholder="物资标准名称"></el-input>
                        <el-button type="primary" @click="searchRecord">查询</el-button>
                        <el-button plain @click="clearSearch">重置</el-button>
                        <el-select v-model="searchType">
                            <el-option
                                    v-for="item in workTypeList"
                                    :key="item.value"
                                    :label="item.label"
                                    :value="item.value"
                            />
                        </el-select>
                    </div>
                </el-col>
                <el-col v-if="searchType==1" :span="5" style="display:flex;align-items: center">
                    <span style="white-space: nowrap">作业等级:</span>
                    <div class="grid-content topInfo">
                        <el-select v-model="searchLevel">
                            <el-option
                                    v-for="item in fireLevel"
                                    :key="item.value"
                                    :label="item.label"
                                    :value="item.value"
                            />
                        </el-select>
                    </div>
                </el-col>
                <el-col v-if="searchType==3" :span="5" style="display:flex;align-items: center">
                    <span style="white-space: nowrap">作业等级:</span>
                    <div class="grid-content topInfo">
                        <el-select v-model="searchLevel">
                            <el-option
                                    v-for="item in hoistLevel"
                                    :key="item.value"
                                    :label="item.label"
                                    :value="item.value"
                            />
                        </el-select>
                    </div>
                </el-col>
                <el-col v-if="searchType==6" :span="5" style="display:flex;align-items: center">
                    <span style="white-space: nowrap">作业等级:</span>
                    <div class="grid-content topInfo">
                        <el-select v-model="searchLevel">
                            <el-option
                                    v-for="item in heightLevel"
                                    :key="item.value"
                                    :label="item.label"
                                    :value="item.value"
                            />
                        </el-select>
                    </div>
                </el-col>
                <el-col v-if="searchType==8" :span="5" style="display:flex;align-items: center">
                    <span style="white-space: nowrap">作业等级:</span>
                    <div class="grid-content topInfo">
                        <el-select v-model="searchLevel">
                            <el-option
                                    v-for="item in plateLevel"
                                    :key="item.value"
                                    :label="item.label"
                                    :value="item.value"
                            />
                        </el-select>
                    </div>
                </el-col>
                <el-col :span="5" style="display:flex;align-items: center">
                    <span style="white-space: nowrap">物资配置名称:</span>
                    <div class="grid-content topInfo">
                        <el-input v-model="searchName"/>
                    </div>
                </el-col>
                <el-button type="primary" @click="searchRecord">查询</el-button>
                <el-button plain @click="clearSearch">重置</el-button>
            </el-row>
            <div class="homeCard">
                <div class="main-card">
@@ -22,9 +88,12 @@
                    </el-row>
                    <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">
<!--                        <el-table-column type="selection" width="100" />-->
                        <el-table-column property="standardName" label="作业物资标准名称" :show-overflow-tooltip="true"/>
                        <el-table-column property="workType" label="关联作业类型" :show-overflow-tooltip="true"/>
                        <el-table-column property="operator" label="创建人" />
                        <el-table-column property="name" label="物资配置名称" align="center" :show-overflow-tooltip="true"/>
                        <el-table-column property="workType" label="关联作业类型" align="center" :formatter="toType" :show-overflow-tooltip="true"/>
                        <el-table-column property="workLevel" label="关联作业等级" align="center" :formatter="toLevel" :show-overflow-tooltip="true"/>
                        <el-table-column property="createUname" label="创建人" align="center"/>
                        <el-table-column property="gmtCreate" label="创建时间" align="center"/>
                        <el-table-column property="gmtModified" label="更新时间" align="center"/>
                        <el-table-column fixed="right" label="操作" align="center" width="250">
                            <template #default="scope">
                                <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
@@ -39,18 +108,63 @@
                </div>
            </div>
        </div>
        <el-dialog v-model="dialogDetails" title="作业物资标准">
            <el-form :model="details" label-width="120px">
        <el-dialog v-model="dialogDetails" title="作业物资标准" @close="clearList">
            <el-form :model="details" label-width="140px">
                <el-form-item label="作业物资标准名称">
                    <el-input v-model="details.standardName" readonly />
                    <el-input v-model="details.name" readonly />
                </el-form-item>
                <el-form-item label="关联作业类型">
                    <el-input v-model="details.workType" readonly />
                </el-form-item>
                <el-form-item label="创建人">
                    <el-input v-model="details.operator" readonly />
                <el-form-item label="关联作业等级">
                    <el-input v-model="details.workLevel" readonly />
                </el-form-item>
                <el-form-item label="作业物资汇总">
                    <div class="materials">
                    <div class="maList">
                        <div>必选</div>
                        <div>
                            <div v-if="mustList.length>0" v-for="(i,index) in mustList" :key="index">
                                {{i.materialName}}:默认值:{{i.defaultVal}},{{i.consumables?'耗材':'费耗材'}}
                            </div>
                            <div v-else>
                                无
                            </div>
                        </div>
                    </div>
                    <div class="maList">
                        <div>可选</div>
                        <div>
                            <div v-if="chooseList.length>0" v-for="(i,index) in chooseList" :key="index">
                                {{i.materialName}}:默认值:{{i.defaultVal}},{{i.consumables?'耗材':'费耗材'}}
                            </div>
                            <div v-else>
                                无
                            </div>
                        </div>
                    </div>
                    <div class="maList">
                        <div>高配</div>
                        <div>
                            <div v-if="highList.length>0" v-for="(i,index) in highList" :key="index">
                                {{i.materialName}}:默认值:{{i.defaultVal}},{{i.consumables?'耗材':'非耗材'}}
                            </div>
                            <div v-else>
                                无
                            </div>
                        </div>
                    </div>
                    </div>
                </el-form-item>
                <el-form-item label="创建人">
                    <el-input v-model="details.createUname" readonly />
                </el-form-item>
                <el-form-item label="创建时间">
                    <el-input v-model="details.gmtCreate" readonly />
                </el-form-item>
                <el-form-item label="更新时间">
                    <el-input v-model="details.gmtModified" readonly />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
                </el-form-item>
@@ -58,24 +172,83 @@
        </el-dialog>
        <el-dialog v-model="dialogAddRecord" title="作业物资标准编辑" @close="closeAdd" @open="openAdd">
            <el-form :model="addRecord" label-width="150px" ref="addRef" :rules="addRules">
                <el-form-item label="作业物资标准名称" prop="standardName">
                    <el-input v-model="addRecord.standardName"> </el-input>
                <el-form-item label="作业物资标准名称" prop="name">
                    <el-input v-model="addRecord.name"> </el-input>
                </el-form-item>
                <el-form-item label="关联作业类型" prop="workType">
                    <el-select v-model="addRecord.workType" clearable filterable class="input-box" placeholder="关联作业类型">
                        <el-option v-for="item in workTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item v-if="addRecord.workType == 1" label="关联作业等级" prop="workLevel">
                    <el-select v-model="addRecord.workLevel">
                        <el-option
                                v-for="item in fireLevel"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value"
                        />
                    </el-select>
                </el-form-item>
                <el-form-item v-if="addRecord.workType == 3" label="关联作业等级" prop="workLevel">
                    <el-select v-model="addRecord.workLevel">
                        <el-option
                                v-for="item in hoistLevel"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value"
                        />
                    </el-select>
                </el-form-item>
                <el-form-item v-if="addRecord.workType == 6" label="关联作业等级" prop="workLevel">
                    <el-select v-model="addRecord.workLevel">
                        <el-option
                                v-for="item in heightLevel"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value"
                        />
                    </el-select>
                </el-form-item>
                <el-form-item v-if="addRecord.workType == 8" label="关联作业等级" prop="workLevel">
                    <el-select v-model="addRecord.workLevel">
                        <el-option
                                v-for="item in plateLevel"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value"
                        />
                    </el-select>
                </el-form-item>
                <el-form-item label="物资标准配置">
                    <el-tabs tab-position="left" class="demo-tabs" type="border-card">
                        <el-tab-pane label="防护用具">
                            防护用具1<br/>
                            防护用具2<br/>
                        <el-tab-pane v-for="(item,index) in allList" :label="item.materialTypeName" :key="index">
                            <div v-for="(i,x) in item.list" :key="x">
                            <el-checkbox :label="i.name" v-model="checkData[index].list[x].checked">
                                <div>{{i.name}}</div>
                                <div><span>默认值:</span><el-input size="small" v-model="checkData[index].list[x].defaultVal"/></div>
                                <div>
                                    <span>配置级别:</span>
                                    <el-select size="small" v-model="checkData[index].list[x].configurationLevel">
                                        <el-option key="0" label="必选" value="0"/>
                                        <el-option key="1" label="可选" value="1"/>
                                        <el-option key="2" label="高配" value="2"/>
                                    </el-select>
                                </div>
                                <div>
                                    <span>是否耗材:</span>
                                    <el-radio-group v-model="checkData[index].list[x].consumables" class="ml-4">
                                        <el-radio label="1">是</el-radio>
                                        <el-radio label="2">否</el-radio>
                                    </el-radio-group>
                                </div>
                            </el-checkbox>
                            </div>
                        </el-tab-pane>
                        <el-tab-pane label="照明装置">照明装置</el-tab-pane>
                        <el-tab-pane label="通讯设施">通讯设施</el-tab-pane>
                        <el-tab-pane label="事故气体吸收装置">事故气体吸收装置</el-tab-pane>
                    </el-tabs>
                </el-form-item>
                <el-form-item label="描述" prop="describe">
                    <el-input v-model="addRecord.describe" type="textarea" autosize :rows="2"/>
                </el-form-item>
                <el-form-item>
                    <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
@@ -114,10 +287,12 @@
import { ElMessage, ElTable } from 'element-plus'
import type { FormInstance, FormRules } from 'element-plus'
import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage';
import { materialApi } from '/@/api/specialWorkSystem/material';
// 定义接口来定义对象的类型
interface stateType {
    tableData: Array<any>;
    allList: Array<any>;
    departmentList: Array<any>;
    casProps: {};
    multipleSelection: Array<any>;
@@ -130,20 +305,25 @@
    pageSize: number;
    chosenIndex: null | number;
    deleteId: null | number;
    searchWord: string;
    searchType: null | number;
    searchLevel: null | number;
    searchName: string;
    totalSize: number;
    checkData: Array<any>;
    workTypeList: Array<any>;
    workLevelList: Array<any>;
    fireLevel: Array<any>;
    hoistLevel: Array<any>;
    heightLevel: Array<any>;
    plateLevel: Array<any>;
    mustList: Array<string>;
    chooseList: Array<string>;
    highList: Array<string>;
    addRecord: {
        groupName: string;
        department: number | null;
        depId: number | null;
        groupMembers: Array<any>;
        groupInfo: string;
    };
    details: {
        groupName: string;
        department: number | null;
        groupMembers: Array<any>;
        groupInfo: string;
    };
}
@@ -158,22 +338,17 @@
            pageIndex: 1,
            pageSize: 10,
            totalSize: 0,
            checkData: [],
            chosenIndex: null,
            searchWord: '',
            tableData: [
                {
                    standardName: '一级动火作业-甲醛车间',
                    workType: '一级动火',
                    operator: '施正宏'
                },
                {
                    standardName: '受限空间作业通用',
                    workType: '受限空间',
                    operator: '张凤'
                }
            ],
            searchType: null,
            searchLevel: null,
            searchName: '',
            tableData: [],
            allList: [],
            departmentList: [],
            department: '',
            mustList: [],
            chooseList: [],
            highList: [],
            workTypeList: [
                {
                    label: "动火作业",
@@ -208,6 +383,96 @@
                    value: 8
                }
            ],
            workLevelList: [
                {
                    label: "动火作业",
                    value: 1
                },
                {
                    label: "受限空间作业",
                    value: 2
                },
                {
                    label: "吊装作业",
                    value: 3
                },
                {
                    label: "动土作业",
                    value: 4
                },
                {
                    label: "断路作业",
                    value: 5
                },
                {
                    label: "高处作业",
                    value: 6
                },
                {
                    label: "临时用电作业",
                    value: 7
                },
                {
                    label: "盲板抽堵作业",
                    value: 8
                }
            ],
            fireLevel: [
                {
                    label: "一级动火作业",
                    value: 1
                },
                {
                    label: "二级动火作业",
                    value: 2
                },
                {
                    label: "特级动火作业",
                    value: 3
                }
            ],
            hoistLevel: [
                {
                    label: "一级吊装作业",
                    value: 8
                },
                {
                    label: "二级吊装作业",
                    value: 9
                },
                {
                    label: "三级吊装作业",
                    value: 10
                }
            ],
            heightLevel: [
                {
                    label: "一级高处作业",
                    value: 4
                },
                {
                    label: "二级高处作业",
                    value: 5
                },
                {
                    label: "三级高处作业",
                    value: 6
                },
                {
                    label: "特级高处作业",
                    value: 7
                }
            ],
            plateLevel: [
                {
                    label: "抽盲板作业",
                    value: 11
                },
                {
                    label: "堵盲板作业",
                    value: 12
                }
            ],
            casProps: {
                expandTrigger: 'hover',
                emitPath: false,
@@ -220,18 +485,10 @@
            deleteDialog: false,
            deleteSetDialog: false,
            addRecord: {
                groupName: '',
                department: null,
                groupMembers: [],
                depId: null,
                groupInfo: ''
            },
            details: {
                groupName: '',
                department: null,
                groupMembers: [],
                depId: null,
                groupInfo: ''
            },
            deleteId: null,
            deleteArr: []
@@ -268,30 +525,82 @@
        const addRef = ref<FormInstance>();
        const addRules = reactive<FormRules>({
            groupName: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            department: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            groupMembers: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
            name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
        });
        // 页面载入时执行方法
        onMounted(() => {
            // getListByPage();
            // getAllDepartment();
            getListByPage();
            getList();
        });
        const toType = (row, column, cellValue, index) => {
            return state.workTypeList.find((item) => item.value === row.workType)?.label;
        };
        const toLevel = (row, column, cellValue, index) => {
            if(row.workLevel <= 3){
                return state.fireLevel.find((item) => item.value === row.workLevel)?.label;
            }else if(row.workLevel>3 && row.workLevel<=7){
                return state.heightLevel.find((item) => item.value === row.workLevel)?.label;
            }else if(row.workLevel>8 && row.workLevel<=10){
                return state.hoistLevel.find((item) => item.value === row.workLevel)?.label;
            }else{
                return state.plateLevel.find((item) => item.value === row.workLevel)?.label;
            }
        };
        const getList = async ()=>{
            let res = await materialApi().getRecordList();
            if (res.data.code === '200') {
                state.allList  = JSON.parse(JSON.stringify(res.data.data))
                state.checkData = state.allList.map((item)=>{
                    if(item.list && item.list != null){
                        console.log('1111111111111')
                        item.list.map((i)=>{
                            i.checked = false
                            i.defaultVal = null
                            i.configurationLevel = null
                            i.consumables = false
                            return {
                                checked: i.checked,
                                materialName: i.name,
                                consumables: i.consumables,
                                defaultVal: i.defaultVal,
                                configurationLevel: i.configurationLevel,
                                materialType: i.materialType,
                                materialTypeName: i.materialTypeName,
                                emergencyMaterialId: i.id
                            }
                        })
                    }
                    return item
                })
            } else {
                ElMessage({
                    type: 'warning',
                    message: res.data.msg
                });
            }
            console.log(state.checkData,'state.checkData')
        }
        // 分页获取物资标准列表
        const getListByPage = async () => {
            const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } };
            let res = await teamManageApi().getRecordPage(data);
            const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.searchType, workLevel: state.searchLevel, name: state.searchName } };
            let res = await materialApi().getRecordPage(data);
            if (res.data.code === '200') {
                state.tableData = res.data.data.map((item) => {
                    if (!item.groupMembers || item.groupMembers == null) {
                        item.groupMembers = [];
                    } else {
                        item.groupMembers = Array.from(item.groupMembers, ({ username }) => username);
                    }
                    return item;
                });
                // state.tableData = res.data.data.map((item) => {
                //     if (!item.groupMembers || item.groupMembers == null) {
                //         item.groupMembers = [];
                //     } else {
                //         item.groupMembers = Array.from(item.groupMembers, ({ username }) => username);
                //     }
                //     return item;
                // });
                state.tableData = res.data.data
                state.totalSize = res.data.total;
            } else {
                ElMessage({
@@ -314,23 +623,9 @@
            }
        };
        // const handleChange = async (value) => {
        //     state.addRecord.depId = value;
        //     console.log(state.addRecord.department, 'de');
        //     let res = await teamManageApi().getAllMember(value);
        //     if (res.data.code === '200') {
        //         state.workerList = res.data.data;
        //     } else {
        //         ElMessage({
        //             type: 'warning',
        //             message: res.data.msg
        //         });
        //     }
        // };
        // 关键词查询记录
        const searchRecord = async () => {
            if (state.searchWord == '') {
            if (state.searchType == null && state.searchLevel == null && state.searchName == '') {
                ElMessage({
                    type: 'warning',
                    message: '请输入查询关键词'
@@ -341,13 +636,15 @@
        };
        const clearSearch = async () => {
            state.searchWord = '';
            state.searchType = null
            state.searchLevel = null
            state.searchName = ''
            getListByPage();
        };
        // 添加班组管理方法
        // 添加方法
        const addRecord = async (data: any) => {
            let res = await teamManageApi().addRecord(data);
            let res = await materialApi().addRecord(data);
            if (res.data.code === '200') {
                ElMessage({
                    type: 'success',
@@ -362,11 +659,9 @@
            }
        };
        // 修改工作时段方法
        // 修改方法
        const editRecordBtn = async (index, row) => {
            state.addRecord = JSON.parse(JSON.stringify(row));
            state.addRecord.department = '';
            state.addRecord.groupMembers = [];
            state.dialogAddRecord = true;
            state.chosenIndex = index;
        };
@@ -393,17 +688,30 @@
            await formEl.validate(async (valid, fields) => {
                if (valid) {
                    const data = {
                        groupName: state.addRecord.groupName,
                        groupInfo: state.addRecord.groupInfo,
                        depId: state.addRecord.depId,
                        groupMemberIds: state.addRecord.groupMembers
                        name: state.addRecord.name,
                        workType: state.addRecord.workType,
                        workLevel: state.addRecord.workLevel,
                        describe: state.addRecord.describe,
                        materialDetailList: []
                    };
                    if (state.chosenIndex == null) {
                        await addRecord(data);
                    } else {
                        data.groupId = JSON.stringify(state.addRecord.groupId);
                        await editRecord(data);
                    }
                    // for(let i=0;i<state.checkData.length;i++){
                    //     if(state.checkData[i].list !=null && state.checkData[i].list.length>0){
                    //         for(let j=0;j<state.checkData[i].list.length;j++){
                    //             if(state.checkData[i].list[j].checked){
                    //                 let {materialName,consumables,defaultVal,configurationLevel,materialType,materialTypeName,id} = state.checkData[i].list[j]
                    //                 const newObj = {materialName,consumables,defaultVal,configurationLevel,materialType,materialTypeName,id}
                    //                 data.materialDetailList.push({ materialName, consumables, defaultVal, configurationLevel, materialType, materialTypeName, id})
                    //             }
                    //         }
                    //     }
                    // }
                    console.log(data,'data>>>>>>>>>')
                    // if (state.chosenIndex == null) {
                    //     await addRecord(data);
                    // } else {
                    //     data.groupId = JSON.stringify(state.addRecord.groupId);
                    //     await editRecord(data);
                    // }
                    state.dialogAddRecord = false;
                } else {
                    console.log('error submit!', fields);
@@ -411,9 +719,9 @@
            });
        };
        // 删除工作时间组方法
        // 删除方法
        const deleteRecord = async (data: any) => {
            let res = await teamManageApi().deleteRecord(data);
            let res = await materialApi().deleteRecord(data);
            if (res.data.code === '200') {
                ElMessage({
                    type: 'success',
@@ -429,13 +737,12 @@
        };
        const deleteRecordBtn = (row) => {
            console.log(row, 'row');
            state.deleteId = row.groupId;
            state.deleteId = row.id;
            state.deleteDialog = true;
        };
        const conFirmDelete = () => {
            deleteRecord({ groupId: state.deleteId });
            deleteRecord({ id: state.deleteId });
            state.deleteDialog = false;
        };
@@ -485,8 +792,37 @@
        // 查看记录
        const viewRecord = (row) => {
            state.details = JSON.parse(JSON.stringify(row));
            state.details.workType = toType(state.details)
            state.details.workLevel = toLevel(state.details)
            if(state.details.materialTypeList && state.details.materialTypeList.length>0){
                const allList = JSON.parse(JSON.stringify(state.details.materialTypeList))
                for(let i = 0;i < allList.length; i++){
                    if(allList[i].mdList && allList[i].mdList.length>0){
                        allList[i].mdList.map((item)=>{
                            if(item.configurationLevel == 0){
                                state.mustList.push(item)
                                return
                            }else if(item.configurationLevel == 1){
                                state.chooseList.push(item)
                                return
                            }else{
                                state.highList.push(item)
                                return
                            }
                        })
                    }
                }
            }
            console.log(state.mustList,state.chooseList,state.highList,'666666666')
            state.dialogDetails = true;
        };
        const clearList = ()=>{
            state.mustList = []
            state.chooseList = []
            state.highList = []
        }
        // 刷新
        const reLoadData = async () => {
@@ -520,9 +856,12 @@
            Delete,
            Refresh,
            Plus,
            toType,
            toLevel,
            searchRecord,
            clearSearch,
            viewRecord,
            clearList,
            deleteRecordBtn,
            conFirmDelete,
            getListByPage,
@@ -597,6 +936,7 @@
        }
        .topInfo {
            width: 100%;
            display: flex;
            align-items: center;
            font-size: 16px;
@@ -609,6 +949,35 @@
        }
    }
}
.materials{
    width: 100%;
    border: 1px solid #ccc;
    .maList{
        width: 100%;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #ccc;
        &:last-of-type{
            border-bottom: none;
        }
        &>div:first-of-type{
            width: 20%;
            text-align: center;
            margin-right: 20px;
            padding: 5px 10px;
            border-right: 1px solid #ccc;
        }
        &>div{
            height: 100%;
            div{
                height: 100%;
                line-height: 24px;
            }
        }
    }
}
.el-input {
    width: 100% !important;
}
@@ -621,4 +990,36 @@
.el-tabs{
    width: 100%;
}
::v-deep(.el-date-editor){
    width: 100%;
}
:deep(.el-cascader){
    width: 100% !important;
}
.el-checkbox{
    width: 100%;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    height: auto;
    ::v-deep(.el-checkbox__label){
        margin-bottom: 20px;
        &>div{
            width: 100%;
            margin-bottom: 10px;
            &>span{
                display: inline-block;
                width: 30%;
            }
            .el-input {
                width: 100% !important;
            }
            .el-select {
                width: 100% !important;
            }
        }
    }
}
</style>
src/views/system/appVersion/index.vue
@@ -27,7 +27,7 @@
                        <el-input v-model="searchName"/>
                    </div>
                </el-col>
                <el-button style="margin-left: 20px" type="primary" @click="searchRecord">查询</el-button>
                <el-button type="primary" @click="searchRecord">查询</el-button>
                <el-button plain @click="clearSearch">重置</el-button>
            </el-row>
            <div class="homeCard">
@@ -72,7 +72,7 @@
                    <el-input v-model="details.appTypeDesc" readonly />
                </el-form-item>
                <el-form-item label="app名称">
                    <el-input v-model="details.name" readonly />
                    <el-input v-model="details.name" readonly/>
                </el-form-item>
                <el-form-item label="文件链接">
                    <el-input v-model="details.objectUrl" type="textarea" autosize readonly />
@@ -129,7 +129,7 @@
                    <el-input v-model="addRecord.customVersion"> </el-input>
                </el-form-item>
                <el-form-item label="备注" prop="info">
                    <el-input v-model="addRecord.info" type="textarea"> </el-input>
                    <el-input v-model="addRecord.info" type="textarea" :rows="2" autosize> </el-input>
                </el-form-item>
                <el-form-item>
                    <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
@@ -204,7 +204,6 @@
    setup() {
        const userInfo = useUserInfo();
        const { userInfos } = storeToRefs(userInfo);
        const state = reactive<stateType>({
            pageIndex: 1,
            pageSize: 10,
@@ -231,7 +230,13 @@
            dialogAddRecord: false,
            deleteDialog: false,
            deleteSetDialog: false,
            addRecord: {},
            addRecord: {
                appType: 1,
                name: '',
                objectName: '',
                info: '',
                customVersion: ''
            },
            details: {},
            deleteId: null,
            deleteArr: [],
@@ -291,7 +296,6 @@
                });
            }
        };
        // const handleChange = async (value) => {
        //     state.addRecord.depId = value;
@@ -544,7 +548,13 @@
        };
        const closeAdd = () => {
            state.addRecord = {};
            state.addRecord = {
                appType: 1,
                name: '',
                objectName: '',
                info: '',
                customVersion: ''
            }
            state.uploadUrl = ''
            state.fileList = []
            state.chosenIndex = null;
src/views/system/personShiftManage/personTimeManage/workingHoursSet/index.vue
@@ -24,7 +24,7 @@
                        <el-table-column type="selection" width="100" />
                        <el-table-column property="name" label="工作时间组名称" />
                        <el-table-column property="list" :formatter="toNames" label="关联工作时段" />
                        <el-table-column property="info" label="描述信息" />
                        <el-table-column property="info" label="描述信息"/>
                        <el-table-column fixed="right" label="操作" align="center" width="250">
                            <template #default="scope">
                                <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>