loulijun2021
2023-12-19 0696d8d133a06348bd7be04cd09ae6d0ce0cec0a
src/views/systemSetting/dataImport.vue
@@ -12,9 +12,9 @@
      >
        <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>
@@ -135,7 +135,16 @@
                    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="请输入" />
@@ -190,7 +199,10 @@
                </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||
@@ -207,6 +219,24 @@
                  >
                    <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"
@@ -316,7 +346,7 @@
      v-el-drag-dialog
      title="失败原因"
      :visible.sync="dialogVisible"
      width="1000px"
      width="1300px"
      :close-on-click-modal="false"
      top="15vh"
      @closed="handleClose"
@@ -342,13 +372,13 @@
            label="序号"
          />
          <el-table-column
            prop="errorField"
            prop="ErrorField"
            label="错误字段"
            width="160"
            width="200"
            show-overflow-tooltip
          />
          <el-table-column
            prop="errorCont"
            prop="ErrorCont"
            show-overflow-tooltip
            label="错误原因"
          />
@@ -422,6 +452,14 @@
      meterMethodArr: [
        { code: 'S', name: '单计量' },
        { code: 'M', name: '多计量' }
      ],
      cycleArr: [
        { code: '年', name: '年' },
        { code: '季', name: '季' },
        { code: '月', name: '月' },
        { code: '周', name: '周' },
        { code: '日', name: '日' }
      ],
      activeName: '0'// tab选中值
@@ -573,6 +611,82 @@
          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() {
@@ -658,6 +772,65 @@
              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,
@@ -1236,6 +1409,10 @@
          flag = false
          msg = '*模具名称不能为空!'
        }
        if (!j['*状态']) {
          flag = false
          msg = '*状态不能为空!'
        }
      })
      this.tableData[1].forEach(j => {
        if (!j['模具编码'] && j['产品编码']) {
@@ -1245,6 +1422,362 @@
        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 = '*选择扫码不能为空!'
        }
      })
@@ -1448,7 +1981,6 @@
          '*模具名称': '',
          '规格型号': '',
          '*状态': 'Y',
          '*仓库编码': '',
          '预计寿命(次)': '',
          '剩余寿命(次)': ''
        })
@@ -1460,6 +1992,136 @@
          '产品编码': ''
        })
      }
      //  模具点检项
      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) {
      // 针对单sheet
@@ -1582,6 +2244,29 @@
          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()
          }
        })
      }
    }
  }
@@ -1590,7 +2275,7 @@
<style lang="scss">
::v-deep .el-dialog__body {
  padding: 20px 20px !important;
  padding: 10px 10px !important;
}
</style>