Admin
2022-09-27 2548d448f12dfe1addcfe39e7eb4e0c87303812c
src/views/specialWorkSystem/foundationSet/material/index.vue
@@ -2,19 +2,85 @@
    <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">
                    <el-row class="cardTop">
                        <el-col :span="12" class="mainCardBtn">
                            <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button>
                            <el-button type="primary" :icon="Plus" size="default" @click="addRecordBtn">新增</el-button>
                            <!--                  <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>-->
<!--                            <el-button type="danger" :icon="Delete" size="default" plain @click="deleteBatchBtn">删除</el-button>-->
                        </el-col>
@@ -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,66 @@
                </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.info" type="textarea" autosize readonly />
                </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 +175,97 @@
        </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 class="tab-i" v-for="(i,x) in item.list" :key="x">
                            <el-checkbox :label="i.materialName" v-model="checkData[index].list[x].checked">
                            </el-checkbox>
                            <el-form v-if="checkData[index].list[x].checked" :model="checkData[index].list[x]" label-width="100px" ref="addListRef" :rules="addListRules">
                                <el-form-item label="默认值" prop="defaultVal"><el-input v-model="checkData[index].list[x].defaultVal"/></el-form-item>
                                <el-form-item label="配置级别" prop="configurationLevel">
                                    <el-select 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>
                                </el-form-item>
                                <el-form-item label="是否耗材" prop="consumables">
                                    <el-radio-group v-model="checkData[index].list[x].consumables">
                                        <el-radio :label=true>是</el-radio>
                                        <el-radio :label=false>否</el-radio>
                                    </el-radio-group>
                                </el-form-item>
                                <!--                                <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">-->
                                <!--                                        <el-radio label="1">是</el-radio>-->
                                <!--                                        <el-radio label="2">否</el-radio>-->
                                <!--                                    </el-radio-group>-->
                                <!--                                </div>-->
                            </el-form>
                            </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="info">
                    <el-input v-model="addRecord.info" 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 +304,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 +322,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 +355,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 +400,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 +502,10 @@
            deleteDialog: false,
            deleteSetDialog: false,
            addRecord: {
                groupName: '',
                department: null,
                groupMembers: [],
                depId: null,
                groupInfo: ''
            },
            details: {
                groupName: '',
                department: null,
                groupMembers: [],
                depId: null,
                groupInfo: ''
            },
            deleteId: null,
            deleteArr: []
@@ -267,31 +541,82 @@
        // };
        const addRef = ref<FormInstance>();
        const addListRef = 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' }]
        });
        const addListRules = reactive<FormRules>({
            defaultVal: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            configurationLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            consumables: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
        });
        const addNoRules = reactive<FormRules>({});
        // 页面载入时执行方法
        onMounted(() => {
            // getListByPage();
            // getAllDepartment();
            getListByPage()
        });
        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))
                for(let i in state.allList){
                    state.allList[i].list = state.allList[i].list?.map((item:any) => {
                        const obj = {
                            checked: false,
                            materialName: item.name,
                            consumables: null,
                            defaultVal: null,
                            configurationLevel: null,
                            materialType: item.materialType,
                            materialTypeName: item.materialTypeName,
                            emergencyMaterialId: item.id
                        }
                        return {...obj}
                    })
                }
                state.checkData = JSON.parse(JSON.stringify(state.allList))
            } else {
                ElMessage({
                    type: 'warning',
                    message: res.data.msg
                });
            }
        }
        // 分页获取物资标准列表
        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 +639,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 +652,20 @@
        };
        const clearSearch = async () => {
            state.searchWord = '';
            state.searchType = null
            state.searchLevel = null
            state.searchName = ''
            getListByPage();
        };
        // 添加班组管理方法
        const addRecordBtn = () =>{
            getList()
            state.dialogAddRecord = true
        }
        // 添加方法
        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,17 +680,17 @@
            }
        };
        // 修改工作时段方法
        // 修改方法
        const editRecordBtn = async (index, row) => {
            getList()
            state.addRecord = JSON.parse(JSON.stringify(row));
            state.addRecord.department = '';
            state.addRecord.groupMembers = [];
            console.log(state.addRecord,'state.addRecord')
            state.dialogAddRecord = true;
            state.chosenIndex = index;
        };
        const editRecord = async (data: any) => {
            let res = await teamManageApi().updateRecord(data);
            let res = await materialApi().updateRecord(data);
            if (res.data.code === '200') {
                ElMessage({
                    type: 'success',
@@ -392,16 +710,36 @@
            if (!formEl) return;
            await formEl.validate(async (valid, fields) => {
                if (valid) {
                    state.addRecord.materialDetailList = []
                    for(let i in state.checkData){
                        if(state.checkData[i].list && state.checkData[i].list.length>0){
                            for(let j=0;j<state.checkData[i].list.length;j++){
                                if(state.checkData[i].list[j].checked){
                                    delete state.checkData[i].list[j].checked
                                    state.checkData[i].list[j].checked
                                    state.addRecord.materialDetailList.push(state.checkData[i].list[j])
                                }
                            }
                        }
                    }
                    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,
                        info: state.addRecord.info,
                        materialDetailList: state.addRecord.materialDetailList
                    };
                    if(data.materialDetailList.length==0){
                        ElMessage({
                            type: 'warning',
                            message: '物资配置数据为空'
                        });
                        return
                    }
                    if (state.chosenIndex == null) {
                        await addRecord(data);
                    } else {
                        data.groupId = JSON.stringify(state.addRecord.groupId);
                        data.id = state.addRecord.id;
                        await editRecord(data);
                    }
                    state.dialogAddRecord = false;
@@ -411,9 +749,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 +767,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 +822,36 @@
        // 查看记录
        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
                            }
                        })
                    }
                }
            }
            state.dialogDetails = true;
        };
        const clearList = ()=>{
            state.mustList = []
            state.chooseList = []
            state.highList = []
        }
        // 刷新
        const reLoadData = async () => {
@@ -514,15 +879,22 @@
        };
        return {
            addRef,
            addListRef,
            addRules,
            addListRules,
            addNoRules,
            View,
            Edit,
            Delete,
            Refresh,
            Plus,
            addRecordBtn,
            toType,
            toLevel,
            searchRecord,
            clearSearch,
            viewRecord,
            clearList,
            deleteRecordBtn,
            conFirmDelete,
            getListByPage,
@@ -597,6 +969,7 @@
        }
        .topInfo {
            width: 100%;
            display: flex;
            align-items: center;
            font-size: 16px;
@@ -609,6 +982,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 +1023,19 @@
.el-tabs{
    width: 100%;
}
::v-deep(.el-date-editor){
    width: 100%;
}
:deep(.el-cascader){
    width: 100% !important;
}
.tab-i{
    margin-bottom: 20px;
    .el-form-item{
        margin-bottom: 20px;
    }
}
</style>