| | |
| | | > |
| | | <el-option |
| | | v-for="item in excelArr" |
| | | :key="item.fileCode" |
| | | :label="item.fileName" |
| | | :value="item.fileCode" |
| | | :key="item.FileCode" |
| | | :label="item.FileName" |
| | | :value="item.FileCode" |
| | | /> |
| | | </el-select> |
| | | |
| | |
| | | style="margin-left: 20px" |
| | | :disabled="excelCode===''" |
| | | icon="el-icon-download" |
| | | waves |
| | | @click="getExcel" |
| | | >下载模板 |
| | | </el-button> |
| | |
| | | style="margin-left: 20px" |
| | | :disabled="excelCode===''" |
| | | icon="el-icon-refresh" |
| | | waves |
| | | @click="reset" |
| | | >重置 |
| | | </el-button> |
| | |
| | | style="margin-left: 20px" |
| | | icon="el-icon-circle-plus-outline" |
| | | :disabled="excelCode===''||tableData.length===0" |
| | | waves |
| | | @click="addRow" |
| | | >新增行 |
| | | </el-button> |
| | |
| | | style="margin-left: 20px" |
| | | :disabled="excelCode===''||tableData.length===0" |
| | | icon="el-icon-thumb" |
| | | waves |
| | | @click="submit" |
| | | >提交数据 |
| | | </el-button> |
| | | |
| | | <!-- <el-button--> |
| | | <!-- type="danger"--> |
| | | <!-- style="margin-left: 20px"--> |
| | | <!-- :disabled="excelCode===''||tableData.length===0"--> |
| | | <!-- @click="batchDel"--> |
| | | <!-- >批量删除--> |
| | | <!-- </el-button>--> |
| | | |
| | | </div> |
| | | |
| | | <div |
| | |
| | | style="margin: 10px" |
| | | > |
| | | |
| | | <el-tabs type="border-card"> |
| | | <el-tabs v-model="activeName" type="border-card"> |
| | | <el-tab-pane |
| | | v-for="(i,j) in sheetName" |
| | | :key="i+j" |
| | |
| | | > |
| | | <el-table |
| | | v-if="tableData[j].length>0" |
| | | :ref="'tableDataRef'+j" |
| | | :ref="'tableDataRef'+i" |
| | | :data="tableData[j]" |
| | | border |
| | | :height="(mainHeight-180)+'px'" |
| | |
| | | style="overflow-y: scroll;" |
| | | highlight-current-row |
| | | > |
| | | <!-- @selection-change="handleSelectionChange"--> |
| | | |
| | | <!-- <el-table-column--> |
| | | <!-- type="selection"--> |
| | | <!-- width="55"--> |
| | | <!-- fixed--> |
| | | <!-- />--> |
| | | <el-table-column |
| | | label="序号" |
| | | width="55" |
| | |
| | | :render-header="indexRender" |
| | | > |
| | | <template slot-scope="scope"> |
| | | {{ scope.$index }} |
| | | {{ scope.$index + 1 }} |
| | | </template> |
| | | </el-table-column> |
| | | |
| | |
| | | :label="item" |
| | | align="center" |
| | | :render-header="addRedStar" |
| | | width="220" |
| | | min-width="220" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | |
| | | <div |
| | | v-if="item.indexOf('用户编号(唯一)')!==-1|| |
| | | v-if="item.indexOf('编号(唯一)')!==-1|| |
| | | item.indexOf('用户姓名')!==-1|| |
| | | item.indexOf('密码')!==-1|| |
| | | item.indexOf('手机号')!==-1|| |
| | | item.indexOf('邮箱')!==-1 |
| | | item.indexOf('邮箱')!==-1|| |
| | | item.indexOf('名称')!==-1|| |
| | | item.indexOf('描述')!==-1|| |
| | | item.indexOf('上级编码')!==-1|| |
| | | item.indexOf('类型编码')!==-1|| |
| | | item.indexOf('联系人')!==-1|| |
| | | item.indexOf('联系方式')!==-1|| |
| | | item.indexOf('地址')!==-1|| |
| | | item.indexOf('所属仓库编码')!==-1|| |
| | | item.indexOf('上级库位编码')!==-1|| |
| | | item.indexOf('规格型号')!==-1|| |
| | | item.indexOf('存货分类')!==-1|| |
| | | item.indexOf('仓库编码')!==-1|| |
| | | item.indexOf('预计寿命')!==-1|| |
| | | item.indexOf('剩余寿命')!==-1|| |
| | | item.indexOf('模具编码')!==-1|| |
| | | item.indexOf('产品编码')!==-1|| |
| | | |
| | | item.indexOf('标准编号')!==-1|| |
| | | item.indexOf('项序号')!==-1|| |
| | | item.indexOf('项要求')!==-1|| |
| | | |
| | | item.indexOf('计量单位/组名称')!==-1|| |
| | | |
| | | item.indexOf('保养部位要求')!==-1|| |
| | | item.indexOf('保养项目要求')!==-1|| |
| | | item.indexOf('点检部位要求')!==-1|| |
| | | item.indexOf('点检项目要求')!==-1 |
| | | " |
| | | > |
| | | <el-input v-model="row[item]" placeholder="请输入" /> |
| | | </div> |
| | | <div v-else-if="item.indexOf('在职状态')!==-1"> |
| | | <div v-else-if="item.indexOf('状态')!==-1"> |
| | | <el-select |
| | | v-model="row[item]" |
| | | placeholder="请选择" |
| | | filterable |
| | | style="width:100%" |
| | | clearable |
| | | > |
| | | <el-option |
| | |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | <div v-else-if="item.indexOf('计量方式')!==-1"> |
| | | <el-select |
| | | v-model="row[item]" |
| | | placeholder="请选择" |
| | | filterable |
| | | style="width:100%" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in meterMethodArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | <div v-else-if="item.indexOf('工序类型')!==-1"> |
| | | <el-select |
| | | v-model="row[item]" |
| | | placeholder="请选择" |
| | | filterable |
| | | style="width:100%" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in stepTypeArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | <div |
| | | v-else-if=" |
| | | item.indexOf('点检管控')!==-1|| |
| | | item.indexOf('选择扫码')!==-1|| |
| | | item.indexOf('是否扫码')!==-1|| |
| | | item.indexOf('库位管理')!==-1|| |
| | | item.indexOf('是否外购')!==-1|| |
| | | item.indexOf('是否销售')!==-1|| |
| | | item.indexOf('是否自制')!==-1|| |
| | | item.indexOf('是否生产消耗')!==-1|| |
| | | item.indexOf('是否委外')!==-1 |
| | | " |
| | | > |
| | | <el-select |
| | | v-model="row[item]" |
| | | placeholder="请选择" |
| | | filterable |
| | | style="width:100%" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in isYesOrNo" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | <div |
| | | v-else-if="item.indexOf('点检周期')!==-1|| |
| | | item.indexOf('保养周期')!==-1" |
| | | > |
| | | <el-select |
| | | v-model="row[item]" |
| | | style="width: 100%;" |
| | | placeholder="请选择" |
| | | > |
| | | |
| | | <el-option |
| | | v-for="item in cycleArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | <div v-else-if="item.indexOf('所属岗位编码')!==-1"> |
| | | <el-select |
| | | v-model="row[item]" |
| | |
| | | </el-select> |
| | | </div> |
| | | <div v-else-if="item.indexOf('所属组织编码')!==-1"> |
| | | <el-select |
| | | <el-cascader |
| | | ref="cascader" |
| | | v-model="row[item]" |
| | | style="width: 100%;" |
| | | placeholder="请选择" |
| | | :options="orgOptions" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in orgArr" |
| | | :key="item.torg_code" |
| | | :label="item.torg_name" |
| | | :value="item.torg_code" |
| | | /> |
| | | </el-select> |
| | | :props="defaultProps" |
| | | :show-all-levels="false" |
| | | /> |
| | | </div> |
| | | <div v-else> {{ row[item] }}</div> |
| | | </template> |
| | |
| | | <el-button type="text" style="margin-left: 0;">3.请上传文件提交</el-button> |
| | | </el-empty> |
| | | |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="失败原因" |
| | | :visible.sync="dialogVisible" |
| | | width="1300px" |
| | | :close-on-click-modal="false" |
| | | top="15vh" |
| | | @closed="handleClose" |
| | | @close="handleClose" |
| | | > |
| | | <div class=""> |
| | | <el-table |
| | | ref="tableDataRef" |
| | | class="tableFixed" |
| | | :data="dialogTableData" |
| | | :height="400" |
| | | border |
| | | row-class-name="custom-row" |
| | | :style="{width: 100+'%',height: '400px',}" |
| | | highlight-current-row |
| | | :header-cell-style="this.$headerCellStyle" |
| | | :cell-style="this.$cellStyle" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | width="50" |
| | | fixed |
| | | label="序号" |
| | | /> |
| | | <el-table-column |
| | | prop="ErrorField" |
| | | label="错误字段" |
| | | width="200" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="ErrorCont" |
| | | show-overflow-tooltip |
| | | label="错误原因" |
| | | /> |
| | | </el-table> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button v-waves @click="dialogVisible=false">返 回</el-button> |
| | | <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">确 定</el-button>--> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { DownLoadExcel, ExcelModelCheck, ExcelModelData } from '@/api/Excel' |
| | | import { GroupsPermissions, PostPermissions, PrentOrganization, RolePermissions } from '@/api/GeneralBasicData' |
| | | import { nanoid } from 'nanoid' |
| | | import arrayToTree from 'array-to-tree' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | | import waves from '@/directive/waves' |
| | | |
| | | export default { |
| | | name: 'UploadExcel', |
| | | name: 'DataImport', |
| | | components: { UploadExcelComponent }, |
| | | directives: { elDragDialog, waves }, |
| | | data() { |
| | | return { |
| | | mainHeight: window.innerHeight - 85, |
| | |
| | | excelCode: '', |
| | | excelArr: [], |
| | | |
| | | statusArr: [ |
| | | { code: 'Y', name: '在职' }, |
| | | { code: 'N', name: '离职' } |
| | | statusArr: [], |
| | | isYesOrNo: [ |
| | | { code: '1', name: '是' }, |
| | | { code: '0', name: '否' } |
| | | ], |
| | | stepTypeArr: [ |
| | | { code: 'Z', name: '自制' }, |
| | | { code: 'W', name: '外协' } |
| | | ], |
| | | orgArr: [], // 组织 |
| | | orgOptions: [], |
| | | defaultProps: { |
| | | checkStrictly: true, |
| | | expandTrigger: 'hover', |
| | | value: 'torg_code', |
| | | label: 'torg_name' |
| | | }, |
| | | orgDefaultProps: { |
| | | multiple: true, |
| | | expandTrigger: 'hover', |
| | | value: 'torg_code', |
| | | label: 'torg_name' |
| | | }, |
| | | postArr: [], // 岗位 |
| | | roleArr: [], // 角色 |
| | | groupArr: []// 班组 |
| | | groupArr: [], // 班组 |
| | | |
| | | dialogVisible: false, |
| | | dialogTableData: [], |
| | | |
| | | meterMethodArr: [ |
| | | { code: 'S', name: '单计量' }, |
| | | { code: 'M', name: '多计量' } |
| | | ], |
| | | |
| | | cycleArr: [ |
| | | { code: '年', name: '年' }, |
| | | { code: '季', name: '季' }, |
| | | { code: '月', name: '月' }, |
| | | { code: '周', name: '周' }, |
| | | { code: '日', name: '日' } |
| | | ], |
| | | |
| | | activeName: '0'// tab选中值 |
| | | |
| | | } |
| | | }, |
| | |
| | | } |
| | | |
| | | this.$message({ |
| | | message: 'Please do not upload files larger than 1m in size.', |
| | | message: '请不要上传大于1兆的文件。', |
| | | type: 'warning' |
| | | }) |
| | | return false |
| | | }, |
| | | // excel成功后的回调 |
| | | async handleSuccess({ results, header, sheetName }) { |
| | | if (results[0].length === 0) { |
| | | return this.$message.info('表格数据不能为空!') |
| | | } |
| | | this.tableData = results |
| | | this.tableHeader = header |
| | | this.sheetName = sheetName |
| | | |
| | | // 用户清单导入判断 |
| | | if (this.sheetName.indexOf('用户清单') !== -1) { |
| | | const postArr = this.postArr.map(i => i.postcode) |
| | | const roleArr = this.roleArr.map(i => i.rolecode) |
| | | const groupArr = this.groupArr.map(i => i.usergroupcode) |
| | | const orgArr = this.orgArr.map(i => i.torg_code) |
| | | this.tableData[this.sheetName.indexOf('用户清单')].forEach(j => { |
| | | j.所属岗位编码 = j.所属岗位编码.split(',').filter(e => postArr.includes(e)) |
| | | j.所属角色编码 = j.所属角色编码.split(',').filter(e => roleArr.includes(e)) |
| | | j.所属班组编码 = j.所属班组编码.split(',').filter(e => groupArr.includes(e)) |
| | | j['*所属组织编码'] = orgArr.includes(j['*所属组织编码']) ? j['*所属组织编码'] : '' |
| | | j['*在职状态'] = this.statusArr.find(e => e.name === j['*在职状态']).code |
| | | this.activeName = '0' |
| | | |
| | | // 人员管理导入判断 |
| | | if (this.sheetName.indexOf('人员管理') !== -1) { |
| | | this.handlePersonListUploadTemplate(true) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('角色管理') !== -1 || this.sheetName.indexOf('班组管理') !== -1 || |
| | | this.sheetName.indexOf('岗位管理') !== -1 |
| | | ) { |
| | | this.statusArr = [ |
| | | { code: 'Y', name: '正常' }, |
| | | { code: 'N', name: '停用' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j['*状态'] = j['*状态'] ? this.statusArr.find(e => e.name === j['*状态']).code : '' |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | }, |
| | | async getExcelModelData() { |
| | | const { data: res } = await ExcelModelData() |
| | | this.excelArr = res |
| | | |
| | | if (window.location.hash.indexOf('?') !== -1) { |
| | | this.excelCode = window.location.hash.split('?')[1].split('=')[1] |
| | | if (this.sheetName.indexOf('往来单位') !== -1) { |
| | | this.statusArr = [ |
| | | { code: '0', name: '正常' }, |
| | | { code: '1', name: '停用' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j['*状态'] = j['*状态'] ? this.statusArr.find(e => e.name === j['*状态']).code : '' |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | }, |
| | | async getExcel() { |
| | | const res = await DownLoadExcel({ FileCode: this.excelCode }) |
| | | window.location.href = res.data |
| | | }, |
| | | submit() { |
| | | // console.log(this.excelCode) |
| | | // console.log(JSON.stringify(this.sheetName)) |
| | | // console.log(JSON.stringify(this.tableHeader)) |
| | | // console.log(JSON.stringify(this.tableData)) |
| | | |
| | | if (this.sheetName.indexOf('仓库设置') !== -1) { |
| | | this.statusArr = [ |
| | | { code: '0', name: '正常' }, |
| | | { code: '1', name: '停用' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j['*状态'] = j['*状态'] ? this.statusArr.find(e => e.name === j['*状态']).code : '' |
| | | j['*库位管理'] = j['*库位管理'] ? this.isYesOrNo.find(e => e.name === j['*库位管理']).code : '' |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('存货分类') !== -1) { |
| | | this.statusArr = [ |
| | | { code: '0', name: '正常' }, |
| | | { code: '1', name: '停用' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j['*状态'] = j['*状态'] ? this.statusArr.find(e => e.name === j['*状态']).code : '' |
| | | j['*计量方式'] = j['*计量方式'] ? this.meterMethodArr.find(e => e.name === j['*计量方式']).code : '0' |
| | | j['是否外购'] = j['是否外购'] ? this.isYesOrNo.find(e => e.name === j['是否外购']).code : '0' |
| | | j['是否销售'] = j['是否销售'] ? this.isYesOrNo.find(e => e.name === j['是否销售']).code : '0' |
| | | j['是否自制'] = j['是否自制'] ? this.isYesOrNo.find(e => e.name === j['是否自制']).code : '0' |
| | | j['是否生产消耗'] = j['是否生产消耗'] ? this.isYesOrNo.find(e => e.name === j['是否生产消耗']).code : '0' |
| | | j['是否委外'] = j['是否委外'] ? this.isYesOrNo.find(e => e.name === j['是否委外']).code : '0' |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('设备类型') !== -1) { |
| | | this.statusArr = [ |
| | | { code: 'Y', name: '正常' }, |
| | | { code: 'N', name: '停用' } |
| | | ] |
| | | const orgArr = this.orgArr.map(i => i.torg_code) |
| | | |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j['*状态'] = j['*状态'] ? this.statusArr.find(e => e.name === j['*状态']).code : '' |
| | | j['*所属组织编码'] = j['*所属组织编码'] ? (orgArr.includes(j['*所属组织编码']) ? this.findParent([], j['*所属组织编码'], this.orgOptions).reverse() : '') : '' |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('工序设置') !== -1) { |
| | | this.statusArr = [ |
| | | { code: 'Y', name: '正常' }, |
| | | { code: 'N', name: '停用' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j['*状态'] = j['*状态'] ? this.statusArr.find(e => e.name === j['*状态']).code : '' |
| | | j['*工序类型'] = j['*工序类型'] ? this.stepTypeArr.find(e => e.name === j['*工序类型']).code : '' |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('模具清单') !== -1) { |
| | | this.statusArr = [ |
| | | { code: 'Y', name: '正常' }, |
| | | { code: 'N', name: '故障' } |
| | | ] |
| | | |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | j['*状态'] = j['*状态'] ? this.statusArr.find(e => e.name === j['*状态']).code : '' |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('模具点检标准') !== -1) { |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备点检项目') !== -1) { |
| | | this.isYesOrNo = [ |
| | | { code: '是', name: '是' }, |
| | | { code: '否', name: '否' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | j['*点检周期'] = j['*点检周期'] ? this.cycleArr.find(e => e.name === j['*点检周期']).code : '' |
| | | j['*是否扫码'] = j['*是否扫码'] ? this.isYesOrNo.find(e => e.name === j['*是否扫码']).code : '' |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备点检标准') !== -1) { |
| | | this.isYesOrNo = [ |
| | | { code: 'Y', name: 'Y' }, |
| | | { code: 'N', name: 'N' } |
| | | ] |
| | | this.cycleArr = [ |
| | | { code: '日', name: '日' } |
| | | ] |
| | | |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备保养项目') !== -1) { |
| | | this.isYesOrNo = [ |
| | | { code: 'Y', name: 'Y' }, |
| | | { code: 'N', name: 'N' } |
| | | ] |
| | | this.cycleArr = [ |
| | | { code: '年', name: '年' }, |
| | | { code: '季', name: '季' }, |
| | | { code: '月', name: '月' }, |
| | | { code: '周', name: '周' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | j['*是否扫码'] = j['*是否扫码'] ? this.isYesOrNo.find(e => e.name === j['*是否扫码']).code : '' |
| | | }) |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备保养标准') !== -1) { |
| | | this.isYesOrNo = [ |
| | | { code: 'Y', name: 'Y' }, |
| | | { code: 'N', name: 'N' } |
| | | ] |
| | | this.cycleArr = [ |
| | | { code: '年', name: '年' }, |
| | | { code: '季', name: '季' }, |
| | | { code: '月', name: '月' }, |
| | | { code: '周', name: '周' } |
| | | ] |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | // |
| | | }, |
| | | // 提交 |
| | | submit() { |
| | | this.$confirm('是否确认提交?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | let flag = true |
| | | let msg = '' |
| | | if (this.sheetName.indexOf('用户清单') !== -1) { |
| | | // if ([...new Set(this.tableData[0].filter(i => i['*用户编号(唯一)'] !== '').map(i => i['*用户编号(唯一)']))].length !== this.tableData[0].length) { |
| | | if ([...new Set(this.tableData[0].map(i => i['*用户编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (j['*用户编号(唯一)'].trim() === '') { |
| | | flag = false |
| | | msg = '*用户编号(唯一)' |
| | | } |
| | | if (j['*用户姓名'].trim() === '') { |
| | | flag = false |
| | | msg = '*用户姓名' |
| | | } |
| | | if (j['*密码'].trim() === '') { |
| | | flag = false |
| | | msg = '*密码' |
| | | } |
| | | if (j['*在职状态'].trim() === '') { |
| | | flag = false |
| | | msg = '*在职状态' |
| | | } |
| | | if (j['*所属组织编码'].trim() === '') { |
| | | flag = false |
| | | msg = '*所属组织编码' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return this.$message.info(msg + '不能为空!') |
| | | } |
| | | |
| | | this.tableData[0].forEach(j => { |
| | | j.所属岗位编码 = j.所属岗位编码.join(',') |
| | | j.所属班组编码 = j.所属班组编码.join(',') |
| | | j.所属角色编码 = j.所属角色编码.join(',') |
| | | }) |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | } |
| | | |
| | | const data = { |
| | | fileCode: this.excelCode, |
| | | tableData: this.tableData |
| | | } |
| | | // console.log(JSON.stringify(this.tableData)) |
| | | ExcelModelCheck(data).then(res => { |
| | | if (res.json1.code === '200' && res.json2.code === '200') { |
| | | this.$notify.success('数据提交成功!') |
| | | this.tableData = [] |
| | | this.tableHeader = [] |
| | | this.sheetName = [] |
| | | this.excelCode = '' |
| | | } else { |
| | | |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$notify.info('已取消提交!') |
| | | }) |
| | | .then(() => { |
| | | if (this.sheetName.indexOf('人员管理') !== -1) { |
| | | const res = this.handlePersonListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('角色管理') !== -1) { |
| | | const res = this.handleRoleListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | if (this.sheetName.indexOf('班组管理') !== -1) { |
| | | const res = this.handleGroupListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | if (this.sheetName.indexOf('岗位管理') !== -1) { |
| | | const res = this.handlePostListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | if (this.sheetName.indexOf('往来单位类型') !== -1 && this.sheetName.indexOf('往来单位') !== -1) { |
| | | const res = this.handleContactUnitListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('仓库设置') !== -1) { |
| | | const res = this.handleWarehouseListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('库位设置') !== -1) { |
| | | const res = this.handleStorageListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | if (this.sheetName.indexOf('存货分类') !== -1) { |
| | | const res = this.handleInventoryListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | if (this.sheetName.indexOf('设备类型') !== -1) { |
| | | const res = this.handleDeviceListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | if (this.sheetName.indexOf('工序设置') !== -1) { |
| | | const res = this.handleProcessListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | if (this.sheetName.indexOf('缺陷定义') !== -1) { |
| | | const res = this.handleDefectDefineSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('模具清单') !== -1 && this.sheetName.indexOf('模具关联产品') !== -1) { |
| | | const res = this.handleMouldListSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('模具点检项目') !== -1) { |
| | | const res = this.handleMouldCheckPosSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('模具点检标准') !== -1) { |
| | | const res = this.handleMouldCheckStandSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('模具保养项目') !== -1) { |
| | | const res = this.handleMouldMaintainSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('模具保养标准') !== -1) { |
| | | const res = this.handleMouldMaintainStandSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备点检项目') !== -1) { |
| | | const res = this.handleCheckPositionSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备点检标准') !== -1) { |
| | | const res = this.handleCheckStandardSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备保养项目') !== -1) { |
| | | const res = this.handleMaintainPositionSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('设备保养标准') !== -1) { |
| | | const res = this.handleMaintainStandardSubmitData() |
| | | if (res.code !== '200') { |
| | | return this.$message.info(res.message) |
| | | } |
| | | } |
| | | |
| | | // 数据提交前去除空格方法 |
| | | this.tableDataTrim() |
| | | |
| | | const data = { |
| | | fileCode: this.excelCode, |
| | | tableData: this.tableData |
| | | } |
| | | ExcelModelCheck(data).then(res => { |
| | | // 返回的json1、json2、json3 json1为模板校验、json2为数据校验、json3为导入数据库校验(可能会有系统报错产生) |
| | | if (res.json1.code !== '200' && res.json2 === null && res.json3 === null) { |
| | | this.$message.error(res.json1.message) |
| | | } |
| | | if (res.json1.code === '200' && res.json2 !== '200' && res.json3 === null) { |
| | | this.$message.error(res.json2.message) |
| | | } |
| | | if (res.json1.code === '200' && res.json2 === '200' && res.json3 !== '200') { |
| | | this.$message.error(res.json3.message) |
| | | } |
| | | |
| | | if (res.json1.code === '300' && res.json2.code === '200' && res.json3.code === '300') { // 系统报错 |
| | | return this.$message.error(res.json3.message) |
| | | } |
| | | |
| | | if (res.json1.code === '200' && res.json2.code === '301' && res.json3 === null) { |
| | | this.dialogVisible = true |
| | | this.dialogTableData = res.json2.data |
| | | } |
| | | |
| | | if (res.json1.code === '200' && res.json2.code === '200' && res.json3.code === '200') { |
| | | this.$notify.success('数据提交成功!') |
| | | this.tableData = [] |
| | | this.tableHeader = [] |
| | | this.sheetName = [] |
| | | this.excelCode = '' |
| | | |
| | | return |
| | | } |
| | | |
| | | if (this.sheetName.indexOf('人员管理') !== -1) { |
| | | this.handlePersonListUploadTemplate(false) |
| | | } |
| | | if (this.sheetName.indexOf('设备类型') !== -1) { |
| | | this.tableData[0].forEach(j => { |
| | | j.uuid = nanoid() |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | j['*所属组织编码'] = this.findParent([], j['*所属组织编码'], this.orgOptions).reverse() |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | .catch(e => { |
| | | console.log(e) |
| | | this.$notify.info('已取消提交!') |
| | | }) |
| | | }, |
| | | |
| | | // 处理人员管理导入模板 |
| | | handlePersonListUploadTemplate(isFirstUpload) { |
| | | this.statusArr = [ |
| | | { code: 'Y', name: '在职' }, |
| | | { code: 'N', name: '离职' } |
| | | ] |
| | | const postArr = this.postArr.map(i => i.postcode) |
| | | const roleArr = this.roleArr.map(i => i.rolecode) |
| | | const groupArr = this.groupArr.map(i => i.usergroupcode) |
| | | const orgArr = this.orgArr.map(i => i.torg_code) |
| | | |
| | | // this.sheetName.indexOf('人员管理') |
| | | // 第一次渲染 |
| | | if (isFirstUpload) { |
| | | this.tableData[0].forEach(j => { |
| | | j['所属岗位编码'] = j['所属岗位编码'] ? j['所属岗位编码'].split(',').filter(e => postArr.includes(e)) : [] |
| | | j['所属角色编码'] = j['所属角色编码'] ? j['所属角色编码'].split(',').filter(e => roleArr.includes(e)) : [] |
| | | j['所属班组编码'] = j['所属班组编码'] ? j['所属班组编码'].split(',').filter(e => groupArr.includes(e)) : [] |
| | | j['*所属组织编码'] = j['*所属组织编码'] ? (orgArr.includes(j['*所属组织编码']) ? this.findParent([], j['*所属组织编码'], this.orgOptions).reverse() : '') : '' |
| | | j['*在职状态'] = j['*在职状态'] ? this.statusArr.find(e => e.name === j['*在职状态']).code : 'Y' |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | |
| | | // 非第一次渲染 |
| | | if (!isFirstUpload) { |
| | | this.tableData[0].forEach(j => { |
| | | j.所属岗位编码 = typeof j.所属岗位编码 === 'string' ? j.所属岗位编码.split(',').filter(e => postArr.includes(e)) : [] |
| | | j.所属角色编码 = typeof j.所属角色编码 === 'string' ? j.所属角色编码.split(',').filter(e => roleArr.includes(e)) : [] |
| | | j.所属班组编码 = typeof j.所属班组编码 === 'string' ? j.所属班组编码.split(',').filter(e => groupArr.includes(e)) : [] |
| | | j['*所属组织编码'] = this.findParent([], j['*所属组织编码'], this.orgOptions).reverse() |
| | | |
| | | j.uuid = nanoid() |
| | | }) |
| | | } |
| | | }, |
| | | // 处理人员管理提交数据 |
| | | handlePersonListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*用户编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*用户编号(唯一)']) { |
| | | flag = false |
| | | msg = '*用户编号(唯一)' |
| | | } |
| | | |
| | | if (!j['*用户姓名']) { |
| | | flag = false |
| | | msg = '*用户姓名' |
| | | } |
| | | if (!j['*密码']) { |
| | | flag = false |
| | | msg = '*密码' |
| | | } |
| | | if (!j['*在职状态']) { |
| | | flag = false |
| | | msg = '*在职状态' |
| | | } |
| | | if (!j['*所属组织编码']) { |
| | | flag = false |
| | | msg = '*所属组织编码' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | j['所属岗位编码'] = j['所属岗位编码'].join(',') |
| | | j['所属班组编码'] = j['所属班组编码'].join(',') |
| | | j['所属角色编码'] = j['所属角色编码'].join(',') |
| | | j['*所属组织编码'] = j['*所属组织编码'][j['*所属组织编码'].length - 1] |
| | | }) |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理角色管理提交数据 |
| | | handleRoleListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*角色编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*角色编号(唯一)']) { |
| | | flag = false |
| | | msg = '*角色编号(唯一)' |
| | | } |
| | | if (!j['*角色名称']) { |
| | | flag = false |
| | | msg = '*角色名称' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理班组管理提交数据 |
| | | handleGroupListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*角色编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*班组编号(唯一)']) { |
| | | flag = false |
| | | msg = '*班组编号(唯一)' |
| | | } |
| | | if (!j['*班组名称']) { |
| | | flag = false |
| | | msg = '*班组名称' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理岗位管理提交数据 |
| | | handlePostListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*岗位编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*岗位编号(唯一)']) { |
| | | flag = false |
| | | msg = '*岗位编号(唯一)' |
| | | } |
| | | if (!j['*岗位名称']) { |
| | | flag = false |
| | | msg = '*岗位名称' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理往来单位提交数据 |
| | | handleContactUnitListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*往来单位类型编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('往来单位类型编号不能重复!') |
| | | } |
| | | if ([...new Set(this.tableData[1].map(i => i['*往来单位编号(唯一)']))].length !== this.tableData[1].length) { |
| | | return this.$message.info('往来单位编号不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*往来单位类型编号(唯一)']) { |
| | | flag = false |
| | | msg = '*往来单位类型编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*往来单位类型名称']) { |
| | | flag = false |
| | | msg = '*往来单位类型名称不能为空!' |
| | | } |
| | | if (j['*往来单位类型编号(唯一)'] === j['上级编码']) { |
| | | flag = false |
| | | msg = '*往来单位类型编号(唯一)与上级编码不能相同!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['*往来单位编号(唯一)']) { |
| | | flag = false |
| | | msg = '*往来单位编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*往来单位名称']) { |
| | | flag = false |
| | | msg = '*往来单位名称不能为空!' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态不能为空!' |
| | | } |
| | | if (!j['*往来单位类型编码']) { |
| | | flag = false |
| | | msg = '*往来单位类型编码不能为空!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理仓库设置提交数据 |
| | | handleWarehouseListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*仓库编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*仓库编号(唯一)']) { |
| | | flag = false |
| | | msg = '*仓库编号(唯一)' |
| | | } |
| | | if (!j['*仓库名称']) { |
| | | flag = false |
| | | msg = '*仓库名称' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态' |
| | | } |
| | | if (!j['*库位管理']) { |
| | | flag = false |
| | | msg = '*库位管理' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理库位设置提交数据 |
| | | handleStorageListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*库位编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*库位编号(唯一)']) { |
| | | flag = false |
| | | msg = '*库位编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*库位名称']) { |
| | | flag = false |
| | | msg = '*库位名称不能为空!' |
| | | } |
| | | if (!j['*所属仓库编码']) { |
| | | flag = false |
| | | msg = '*所属仓库编码不能为空!' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态不能为空!' |
| | | } |
| | | if (j['上级库位编码'] === j['*库位编号(唯一)']) { |
| | | flag = false |
| | | msg = '*库位编号(唯一)与上级库位编码不能相同!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理存货档案提交数据 |
| | | handleInventoryListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*存货分类编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('存货分类编号不能重复!') |
| | | } |
| | | if ([...new Set(this.tableData[1].map(i => i['*存货编号(唯一)']))].length !== this.tableData[1].length) { |
| | | return this.$message.info('存货编号不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*存货分类编号(唯一)']) { |
| | | flag = false |
| | | msg = '*存货分类编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*存货分类名称']) { |
| | | flag = false |
| | | msg = '*存货分类不能为空!' |
| | | } |
| | | if (j['*存货分类编号(唯一)'] === j['上级编码']) { |
| | | flag = false |
| | | msg = '*存货分类编号(唯一)与上级编码不能相同!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['*存货编号(唯一)']) { |
| | | flag = false |
| | | msg = '*存货编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*存货名称']) { |
| | | flag = false |
| | | msg = '*存货名称不能为空!' |
| | | } |
| | | if (!j['*存货分类编码']) { |
| | | flag = false |
| | | msg = '*存货分类编码不能为空!' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态不能为空!' |
| | | } |
| | | if (!j['*计量方式']) { |
| | | flag = false |
| | | msg = '*计量方式不能为空!' |
| | | } |
| | | if (!j['*计量单位/组名称']) { |
| | | flag = false |
| | | msg = '*计量单位/组名称不能为空!' |
| | | } |
| | | if (!(j['是否外购'] === '1' || j['是否销售'] === '1' || j['是否自制'] === '1' || j['是否生产消耗'] === '1' || j['是否委外'] === '1')) { |
| | | flag = false |
| | | msg = '存货属性必须要选择其一!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理设备清单提交数据 |
| | | handleDeviceListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*设备类型编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('设备类型编号不能重复!') |
| | | } |
| | | if ([...new Set(this.tableData[1].map(i => i['*设备编号(唯一)']))].length !== this.tableData[1].length) { |
| | | return this.$message.info('设备编号不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*设备类型编号(唯一)']) { |
| | | flag = false |
| | | msg = '*设备类型编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*设备类型名称']) { |
| | | flag = false |
| | | msg = '*设备类型名称不能为空!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['*设备编号(唯一)']) { |
| | | flag = false |
| | | msg = '*设备编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*设备名称']) { |
| | | flag = false |
| | | msg = '*设备名称不能为空!' |
| | | } |
| | | if (!j['*所属组织编码']) { |
| | | flag = false |
| | | msg = '*所属组织编码不能为空!' |
| | | } |
| | | if (!j['*设备类型编码']) { |
| | | flag = false |
| | | msg = '*设备类型编码不能为空!' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态不能为空!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[1].forEach(j => { |
| | | j['*所属组织编码'] = j['*所属组织编码'][j['*所属组织编码'].length - 1] |
| | | }) |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理工序设置提交数据 |
| | | handleProcessListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*工序编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*工序编号(唯一)']) { |
| | | flag = false |
| | | msg = '*工序编号(唯一)' |
| | | } |
| | | if (!j['*工序名称']) { |
| | | flag = false |
| | | msg = '*工序名称' |
| | | } |
| | | if (!j['*工序类型']) { |
| | | flag = false |
| | | msg = '*工序类型' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理缺陷定义提交数据 |
| | | handleDefectDefineSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*缺陷编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*缺陷编号(唯一)']) { |
| | | flag = false |
| | | msg = '*缺陷编号(唯一)' |
| | | } |
| | | if (!j['*缺陷名称']) { |
| | | flag = false |
| | | msg = '*缺陷名称' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理模具清单提交数据 |
| | | handleMouldListSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*模具编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('模具清单编号不能重复!') |
| | | } |
| | | // if ([...new Set(this.tableData[1].map(i => i['*往来单位编号(唯一)']))].length !== this.tableData[1].length) { |
| | | // return this.$message.info('往来单位编号不能重复!') |
| | | // } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*模具编号(唯一)']) { |
| | | flag = false |
| | | msg = '*模具编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*模具名称']) { |
| | | flag = false |
| | | msg = '*模具名称不能为空!' |
| | | } |
| | | if (!j['*状态']) { |
| | | flag = false |
| | | msg = '*状态不能为空!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['模具编码'] && j['产品编码']) { |
| | | flag = false |
| | | msg = '模具编码不能为空!' |
| | | } |
| | | if (j['模具编码'] && !j['产品编码']) { |
| | | flag = false |
| | | msg = '产品编码不能为空!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理模具点检项目提交数据 |
| | | handleMouldCheckPosSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*点检项目编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*点检项目编号(唯一)']) { |
| | | flag = false |
| | | msg = '*点检项目编号(唯一)' |
| | | } |
| | | if (!j['*点检项目名称']) { |
| | | flag = false |
| | | msg = '*点检项目名称' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理模具点检标准提交数据 |
| | | handleMouldCheckStandSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*模具点检标准编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('点检标准编号不能重复!') |
| | | } |
| | | if ([...new Set(this.tableData[1].map(i => i['*模具点检标准编号']))].length !== this.tableData[1].length) { |
| | | return this.$message.info('模具点检标准编号不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*模具点检标准编号(唯一)']) { |
| | | flag = false |
| | | msg = '*模具点检标准编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*模具点检标准名称']) { |
| | | flag = false |
| | | msg = '*模具点检标准不能为空!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['*模具点检标准编号']) { |
| | | flag = false |
| | | msg = '*模具点检标准编号不能为空!' |
| | | } |
| | | if (!j['*点检项序号']) { |
| | | flag = false |
| | | msg = '*点检项序号不能为空!' |
| | | } |
| | | if (!j['*模具点检项编号(唯一)']) { |
| | | flag = false |
| | | msg = '*模具点检项编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*模具点检项名称']) { |
| | | flag = false |
| | | msg = '*模具点检项名称不能为空!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理模具保养项目提交数据 |
| | | handleMouldMaintainSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*保养项目编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*保养项目编号(唯一)']) { |
| | | flag = false |
| | | msg = '*保养项目编号(唯一)' |
| | | } |
| | | if (!j['*保养项目名称']) { |
| | | flag = false |
| | | msg = '*保养项目名称' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理模具保养标准提交数据 |
| | | handleMouldMaintainStandSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*模具保养标准编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('保养标准编号不能重复!') |
| | | } |
| | | if ([...new Set(this.tableData[1].map(i => i['*模具保养标准编号']))].length !== this.tableData[1].length) { |
| | | return this.$message.info('模具保养标准编号不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*模具保养标准编号(唯一)']) { |
| | | flag = false |
| | | msg = '*模具保养标准编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*模具保养标准名称']) { |
| | | flag = false |
| | | msg = '*模具保养标准不能为空!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['*模具保养标准编号']) { |
| | | flag = false |
| | | msg = '*模具保养标准编号不能为空!' |
| | | } |
| | | if (!j['*保养项序号']) { |
| | | flag = false |
| | | msg = '*保养项序号不能为空!' |
| | | } |
| | | if (!j['*模具保养项编号(唯一)']) { |
| | | flag = false |
| | | msg = '*模具保养项编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*模具保养项名称']) { |
| | | flag = false |
| | | msg = '*模具保养项名称不能为空!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理设备点检项目提交数据 |
| | | handleCheckPositionSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*点检项目编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*点检项目编号(唯一)']) { |
| | | flag = false |
| | | msg = '*点检项目编号(唯一)' |
| | | } |
| | | if (!j['*点检项目名称']) { |
| | | flag = false |
| | | msg = '*点检项目名称' |
| | | } |
| | | if (!j['*点检周期']) { |
| | | flag = false |
| | | msg = '*点检周期' |
| | | } |
| | | if (!j['*是否扫码']) { |
| | | flag = false |
| | | msg = '*是否扫码' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理设备点检标准提交数据 |
| | | handleCheckStandardSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*设备点检标准编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('设备点检标准编号不能重复!') |
| | | } |
| | | // if ([...new Set(this.tableData[1].map(i => i['*模具保养标准编号']))].length !== this.tableData[1].length) { |
| | | // return this.$message.info('模具保养标准编号不能重复!') |
| | | // } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*设备点检标准编号(唯一)']) { |
| | | flag = false |
| | | msg = '*设备点检标准编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*设备点检标准名称']) { |
| | | flag = false |
| | | msg = '*设备点检标准名称不能为空!' |
| | | } |
| | | if (!j['*点检管控']) { |
| | | flag = false |
| | | msg = '*点检管控不能为空!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['*点检项序号']) { |
| | | flag = false |
| | | msg = '*点检项序号不能为空!' |
| | | } |
| | | |
| | | if (!j['*设备点检标准编号(M)']) { |
| | | flag = false |
| | | msg = '*设备点检标准编号(M)不能为空!' |
| | | } |
| | | |
| | | if (!j['*设备点检部位编号(唯一)']) { |
| | | flag = false |
| | | msg = '*设备点检部位编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*设备点检部位名称']) { |
| | | flag = false |
| | | msg = '*设备点检部位名称不能为空!' |
| | | } |
| | | if (!j['*选择扫码']) { |
| | | flag = false |
| | | msg = '*选择扫码不能为空!' |
| | | } |
| | | if (!j['*点检周期']) { |
| | | flag = false |
| | | msg = '*点检周期不能为空!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理设备保养项目提交数据 |
| | | handleMaintainPositionSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*保养项目编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('编码不能重复!') |
| | | } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*保养项目编号(唯一)']) { |
| | | flag = false |
| | | msg = '*保养项目编号(唯一)' |
| | | } |
| | | if (!j['*保养项目名称']) { |
| | | flag = false |
| | | msg = '*保养项目名称' |
| | | } |
| | | if (!j['*是否扫码']) { |
| | | flag = false |
| | | msg = '*是否扫码' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg + '不能为空!' } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | // 处理设备保养标准提交数据 |
| | | handleMaintainStandardSubmitData() { |
| | | let flag = true |
| | | let msg = '' |
| | | if ([...new Set(this.tableData[0].map(i => i['*设备保养标准编号(唯一)']))].length !== this.tableData[0].length) { |
| | | return this.$message.info('设备保养标准编号不能重复!') |
| | | } |
| | | // if ([...new Set(this.tableData[1].map(i => i['*模具保养标准编号']))].length !== this.tableData[1].length) { |
| | | // return this.$message.info('模具保养标准编号不能重复!') |
| | | // } |
| | | this.tableData[0].forEach(j => { |
| | | if (!j['*设备保养标准编号(唯一)']) { |
| | | flag = false |
| | | msg = '*设备保养标准编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*设备保养标准名称']) { |
| | | flag = false |
| | | msg = '*设备保养标准名称不能为空!' |
| | | } |
| | | if (!j['*保养周期']) { |
| | | flag = false |
| | | msg = '*保养周期不能为空!' |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(j => { |
| | | if (!j['*保养项序号']) { |
| | | flag = false |
| | | msg = '*点检项序号不能为空!' |
| | | } |
| | | |
| | | if (!j['*设备保养标准编号(M)']) { |
| | | flag = false |
| | | msg = '*设备保养标准编号(M)不能为空!' |
| | | } |
| | | |
| | | if (!j['*设备保养部位编号(唯一)']) { |
| | | flag = false |
| | | msg = '*设备保养部位编号(唯一)不能为空!' |
| | | } |
| | | if (!j['*设备保养部位名称']) { |
| | | flag = false |
| | | msg = '*设备保养部位名称不能为空!' |
| | | } |
| | | if (!j['*选择扫码']) { |
| | | flag = false |
| | | msg = '*选择扫码不能为空!' |
| | | } |
| | | }) |
| | | |
| | | if (!flag) { |
| | | return { code: '301', message: msg } |
| | | } |
| | | |
| | | this.tableData[0].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | this.tableData[1].map(item => { |
| | | delete (item.uuid) |
| | | }) |
| | | |
| | | return { code: '200', message: '成功!' } |
| | | }, |
| | | |
| | | // parents:用于返回的数组,childNode:要查询的节点,treeData:json树形数据 |
| | | findParent(parents, childNode, treeData) { |
| | | // console.log(parents, childNode, treeData, 2) |
| | | |
| | | for (let i = 0; i < treeData.length; i++) { |
| | | // 父节点查询条件 |
| | | if (treeData[i].torg_code === childNode) { |
| | | // 如果找到结果,保存当前节点 |
| | | parents.push(treeData[i].torg_code) |
| | | // 用当前节点再去原数据查找当前节点的父节点 |
| | | this.findParent(parents, treeData[i].parent_id, this.orgOptions) |
| | | break |
| | | } else { |
| | | if (treeData[i].children instanceof Array) { |
| | | // 没找到,遍历该节点的子节点 |
| | | this.findParent(parents, childNode, treeData[i].children) |
| | | } |
| | | } |
| | | } |
| | | return parents |
| | | }, |
| | | addRow() { |
| | | // 用户清单新增行 |
| | | if (this.sheetName.indexOf('用户清单') !== -1) { |
| | | // 人员管理新增行 |
| | | if (this.sheetName.indexOf('人员管理') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*用户编号(唯一)': '', |
| | |
| | | '所属班组编码': [] |
| | | }) |
| | | } |
| | | // 角色管理新增行 |
| | | if (this.sheetName.indexOf('角色管理') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*角色编号(唯一)': '', |
| | | '*角色名称': '', |
| | | '*状态': 'Y', |
| | | '描述': '' |
| | | }) |
| | | } |
| | | // 班组管理新增行 |
| | | if (this.sheetName.indexOf('班组管理') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*班组编号(唯一)': '', |
| | | '*班组名称': '', |
| | | '*状态': 'Y', |
| | | '描述': '' |
| | | }) |
| | | } |
| | | // 岗位管理新增行 |
| | | if (this.sheetName.indexOf('岗位管理') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*岗位编号(唯一)': '', |
| | | '*岗位名称': '', |
| | | '*状态': 'Y', |
| | | '描述': '' |
| | | }) |
| | | } |
| | | // 往来单位 |
| | | if (this.sheetName.indexOf('往来单位类型') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*往来单位类型编号(唯一)': '', |
| | | '*往来单位类型名称': '', |
| | | '上级编码': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('往来单位') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '*往来单位编号(唯一)': '', |
| | | '*往来单位名称': '', |
| | | '*状态': '0', |
| | | '*往来单位类型编码': '', |
| | | '联系人': '', |
| | | '联系方式': '', |
| | | '地址': '' |
| | | }) |
| | | } |
| | | // 仓库设置 |
| | | if (this.sheetName.indexOf('仓库设置') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*仓库编号(唯一)': '', |
| | | '*仓库名称': '', |
| | | '*状态': '0', |
| | | '*库位管理': '0', |
| | | '描述': '' |
| | | }) |
| | | } |
| | | // 库位设置 |
| | | if (this.sheetName.indexOf('库位设置') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*库位编号(唯一)': '', |
| | | '*库位名称': '', |
| | | '*所属仓库编码': '', |
| | | '上级库位编码': '', |
| | | '*状态': '0', |
| | | '描述': '' |
| | | }) |
| | | } |
| | | // 存货档案 |
| | | if (this.sheetName.indexOf('存货分类') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*存货分类编号(唯一)': '', |
| | | '*存货分类名称': '', |
| | | '上级编码': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('存货') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '*存货编号(唯一)': '', |
| | | '*存货名称': '', |
| | | '规格型号': '', |
| | | '*存货分类编码': '', |
| | | '*状态': '0', |
| | | '*计量方式': '', |
| | | '计量单位/组名称': '', |
| | | '所属仓库编码': '', |
| | | '是否外购': '0', |
| | | '是否销售': '0', |
| | | '是否自制': '0', |
| | | '是否生产消耗': '0', |
| | | '是否委外': '0' |
| | | }) |
| | | } |
| | | // 设备清单 |
| | | if (this.sheetName.indexOf('设备类型') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*设备类型编号(唯一)': '', |
| | | '*设备类型名称': '', |
| | | '描述': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('设备清单') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '*设备编号(唯一)': '', |
| | | '*设备名称': '', |
| | | '*所属组织编码': '', |
| | | '设备类型编码': '', |
| | | '*状态': 'Y' |
| | | }) |
| | | } |
| | | // 工序设置 |
| | | if (this.sheetName.indexOf('工序设置') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*工序编号(唯一)': '', |
| | | '*工序名称': '', |
| | | '*工序类型': 'Z', |
| | | '*状态': 'Y', |
| | | '描述': '' |
| | | }) |
| | | } |
| | | // 缺陷定义 |
| | | if (this.sheetName.indexOf('缺陷定义') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*缺陷编号(唯一)': '', |
| | | '*缺陷名称': '', |
| | | '缺陷描述': '' |
| | | }) |
| | | } |
| | | // 模具清单 |
| | | if (this.sheetName.indexOf('模具清单') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*模具编号(唯一)': '', |
| | | '*模具名称': '', |
| | | '规格型号': '', |
| | | '*状态': 'Y', |
| | | '预计寿命(次)': '', |
| | | '剩余寿命(次)': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('模具关联产品') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '模具编码': '', |
| | | '产品编码': '' |
| | | }) |
| | | } |
| | | |
| | | // 模具点检项 |
| | | if (this.sheetName.indexOf('模具点检项目') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*点检项目编号(唯一)': '', |
| | | '*点检项目名称': '', |
| | | '要求描述': '' |
| | | }) |
| | | } |
| | | |
| | | // 模具点检标准 |
| | | if (this.sheetName.indexOf('模具点检标准') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*模具点检标准编号(唯一)': '', |
| | | '*模具点检标准名称': '', |
| | | '标准描述': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('关联模具点检部位') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '*模具点检标准编号': '', |
| | | '*点检项序号': '', |
| | | '*模具点检项编号(唯一)': '', |
| | | '*模具点检项名称': '', |
| | | '点检项要求': '' |
| | | }) |
| | | } |
| | | |
| | | // 模具保养项 |
| | | if (this.sheetName.indexOf('模具保养项目') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*保养项目编号(唯一)': '', |
| | | '*保养项目名称': '', |
| | | '要求描述': '' |
| | | }) |
| | | } |
| | | |
| | | // 模具保养标准 |
| | | if (this.sheetName.indexOf('模具保养标准') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*模具保养标准编号(唯一)': '', |
| | | '*模具保养标准名称': '', |
| | | '标准描述': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('关联模具保养部位') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '*模具保养标准编号': '', |
| | | '*保养项序号': '', |
| | | '*模具保养项编号(唯一)': '', |
| | | '*模具保养项名称': '', |
| | | '保养项要求': '' |
| | | }) |
| | | } |
| | | |
| | | // 设备点检项目 |
| | | if (this.sheetName.indexOf('设备点检项目') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*点检项目编号(唯一)': '', |
| | | '*点检项目名称': '', |
| | | '*点检周期': '', |
| | | '*是否扫码': '', |
| | | '点检项目要求': '' |
| | | }) |
| | | } |
| | | |
| | | // 设备点检标准 |
| | | if (this.sheetName.indexOf('设备点检标准') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*设备点检标准编号(唯一)': '', |
| | | '*设备点检标准名称': '', |
| | | '*点检管控': '', |
| | | '标准描述': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('设备点检部位') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '*设备点检标准编号(M)': '', |
| | | '*点检项序号': '', |
| | | '*设备点检部位编号(唯一)': '', |
| | | '*设备点检部位名称': '', |
| | | '点检部位要求': '', |
| | | '*选择扫码': '', |
| | | '*点检周期': '' |
| | | }) |
| | | } |
| | | |
| | | // 设备点检项目 |
| | | if (this.sheetName.indexOf('设备保养项目') !== -1) { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*保养项目编号(唯一)': '', |
| | | '*保养项目名称': '', |
| | | '*是否扫码': '', |
| | | '保养项目要求': '' |
| | | }) |
| | | } |
| | | |
| | | // 设备保养标准 |
| | | if (this.sheetName.indexOf('设备保养标准') !== -1 && this.activeName === '0') { |
| | | this.tableData[0].unshift({ |
| | | uuid: nanoid(), |
| | | '*设备保养标准编号(唯一)': '', |
| | | '*设备保养标准名称': '', |
| | | '*保养周期': '', |
| | | '标准描述': '' |
| | | }) |
| | | } |
| | | if (this.sheetName.indexOf('设备保养部位') !== -1 && this.activeName === '1') { |
| | | this.tableData[1].unshift({ |
| | | uuid: nanoid(), |
| | | '*保养项序号': '', |
| | | '*设备保养标准编号(M)': '', |
| | | '*设备保养部位编号(唯一)': '', |
| | | '*设备保养部位名称': '', |
| | | '保养部位要求': '', |
| | | '*选择扫码': '' |
| | | }) |
| | | } |
| | | |
| | | // |
| | | }, |
| | | delRow(row) { |
| | | // 用户清单删除行 |
| | | if (this.sheetName.indexOf('用户清单') !== -1) { |
| | | // 针对单sheet |
| | | if (this.sheetName.length === 1) { |
| | | if (this.tableData[0].length > 1) { |
| | | return this.tableData[0].splice(this.tableData[0].findIndex(i => i.uuid === row.uuid), 1) |
| | | } else { |
| | | return this.$message.info('必须要有一条数据!') |
| | | } |
| | | } |
| | | // 针对两个 sheet |
| | | if (this.sheetName.length === 2) { |
| | | if (this.activeName === '0') { |
| | | if (this.tableData[0].length > 1) { |
| | | return this.tableData[0].splice(this.tableData[0].findIndex(i => i.uuid === row.uuid), 1) |
| | | } else { |
| | | return this.$message.info('必须要有一条数据!') |
| | | } |
| | | } |
| | | if (this.activeName === '1') { |
| | | if (this.tableData[1].length > 1) { |
| | | return this.tableData[1].splice(this.tableData[1].findIndex(i => i.uuid === row.uuid), 1) |
| | | } else { |
| | | return this.$message.info('必须要有一条数据!') |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | reset() { |
| | | this.tableData = [] |
| | | this.tableHeader = [] |
| | | this.sheetName = [] |
| | | this.excelCode = '' |
| | | }, |
| | | handleClose() { |
| | | this.dialogTableData = [] |
| | | }, |
| | | // 获取模板 |
| | | async getExcelModelData() { |
| | | const { data: res } = await ExcelModelData() |
| | | this.excelArr = res |
| | | |
| | | if (window.location.hash.indexOf('?') !== -1) { |
| | | this.excelCode = window.location.hash.split('?')[1].split('=')[1] |
| | | } |
| | | }, |
| | | // 模板下载 |
| | | async getExcel() { |
| | | const res = await DownLoadExcel({ FileCode: this.excelCode }) |
| | | window.location.href = res.data |
| | | }, |
| | | async getSelectArr() { |
| | | await this.getPrentOrganization() |
| | |
| | | async getPrentOrganization() { |
| | | const { data: res } = await PrentOrganization() |
| | | this.orgArr = res |
| | | // this.cascaderOptions = arrayToTree(res, { |
| | | // parentProperty: 'parent_id', |
| | | // customID: 'torg_code', |
| | | // childrenProperty: 'children' |
| | | // }) |
| | | this.orgOptions = arrayToTree(res, { |
| | | parentProperty: 'parent_id', |
| | | customID: 'torg_code', |
| | | childrenProperty: 'children' |
| | | }) |
| | | }, |
| | | // 获取岗位下拉数组 |
| | | async getPostPermissions() { |
| | |
| | | h('span', { style: 'color:#FFF' }, column.label) |
| | | ] |
| | | } |
| | | }, |
| | | // 数据提交前去除空格方法 |
| | | tableDataTrim() { |
| | | if (this.tableData.length === 1) { // 一个sheet |
| | | this.tableData[0].forEach(i => { |
| | | for (const j in i) { |
| | | i[j] = i[j].trim() |
| | | } |
| | | }) |
| | | } |
| | | |
| | | if (this.tableData.length === 2) { // 两个sheet |
| | | this.tableData[0].forEach(i => { |
| | | for (const j in i) { |
| | | i[j] = i[j].trim() |
| | | } |
| | | }) |
| | | this.tableData[1].forEach(i => { |
| | | for (const j in i) { |
| | | i[j] = i[j].trim() |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | //::v-deep .el-table__body-wrapper { |
| | | //overflow-y: auto; |
| | | //overflow-x: scroll !important; |
| | | //height: calc(100% - 34px); |
| | | //width: 100% !important; |
| | | //} |
| | | <style lang="scss"> |
| | | ::v-deep .el-dialog__body { |
| | | padding: 10px 10px !important; |
| | | } |
| | | |
| | | </style> |
| | | |