| | |
| | | <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> |
| | | <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> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | 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>; |
| | |
| | | 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; |
| | | |
| | | }; |
| | | } |
| | | |
| | |
| | | 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: "动火作业", |
| | |
| | | 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, |
| | |
| | | deleteDialog: false, |
| | | deleteSetDialog: false, |
| | | addRecord: { |
| | | groupName: '', |
| | | department: null, |
| | | groupMembers: [], |
| | | depId: null, |
| | | groupInfo: '' |
| | | |
| | | }, |
| | | details: { |
| | | groupName: '', |
| | | department: null, |
| | | groupMembers: [], |
| | | depId: null, |
| | | groupInfo: '' |
| | | |
| | | }, |
| | | deleteId: null, |
| | | deleteArr: [] |
| | |
| | | |
| | | 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({ |
| | |
| | | } |
| | | }; |
| | | |
| | | // 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: '请输入查询关键词' |
| | |
| | | }; |
| | | |
| | | 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', |
| | |
| | | } |
| | | }; |
| | | |
| | | // 修改工作时段方法 |
| | | // 修改方法 |
| | | const editRecordBtn = async (index, row) => { |
| | | state.addRecord = JSON.parse(JSON.stringify(row)); |
| | | state.addRecord.department = ''; |
| | | state.addRecord.groupMembers = []; |
| | | state.dialogAddRecord = true; |
| | | state.chosenIndex = index; |
| | | }; |
| | |
| | | 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); |
| | |
| | | }); |
| | | }; |
| | | |
| | | // 删除工作时间组方法 |
| | | // 删除方法 |
| | | 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', |
| | |
| | | }; |
| | | |
| | | 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; |
| | | }; |
| | | |
| | |
| | | // 查看记录 |
| | | 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 () => { |
| | |
| | | Delete, |
| | | Refresh, |
| | | Plus, |
| | | toType, |
| | | toLevel, |
| | | searchRecord, |
| | | clearSearch, |
| | | viewRecord, |
| | | clearList, |
| | | deleteRecordBtn, |
| | | conFirmDelete, |
| | | getListByPage, |
| | |
| | | } |
| | | |
| | | .topInfo { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 16px; |
| | |
| | | } |
| | | } |
| | | } |
| | | .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; |
| | | } |
| | |
| | | .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> |