loulijun2021
2022-08-31 d105bd9dd591264a7b1f79f1fdbbf0e764ff073e
src/views/zzmx/gylx.vue
@@ -334,7 +334,7 @@
        Data: []
      },
      dynamicTags: [// 工艺设置数组
        { editDisabled: true, stepcode: 'Step01', seq: 1, stepname: ' ', effect: 'light' }
        { editDisabled: true, stepcode: '', seq: 1, stepname: ' ', effect: 'light' }
        // { editDisabled: true, stepcode: 'Step02', seq: 2, stepname: '奶', effect: 'light' },
        // { editDisabled: true, stepcode: 'Step03', seq: 3, stepname: '大', effect: 'light' }
      ],
@@ -342,6 +342,7 @@
      selectedName: '', // 选中的名称
      autocompleteValue: '', // 可搜索输入框中的值
      routeArr: [], // 工艺设置下拉所有值
      routeSelectedArr: [], // 工艺设置下拉已选的值
      addDisabled: true, // 添加按钮是否可点击
      editDisabled: true, // 修改按钮是否可点击
      mouseFocusPosition: 0, // 鼠标聚焦的位置
@@ -431,15 +432,18 @@
      if (flag2) {
        return this.$message.info('此工序已选,请选择其它工序!')
      }
      // this.routeArr.forEach((item, index) => {
      //   console.log(this.autocompleteValue.trim() === item.stepname, 2)
      //   if (this.autocompleteValue.trim() === item.stepname) {
      //     console.log(tag.stepname === item.stepname, 353535)
      //     this.routeArr.splice(index, 1)
      //   }
      // })
      // console.log(this.routeArr, 1)
      console.log(this.routeArr, 9)
      this.routeArr.forEach((item, index) => {
        if (this.autocompleteValue.trim() === item.stepname) {
          console.log(tag.stepname === item.stepname, 353535)
          this.routeSelectedArr.push({
            stepcode: item.stepcode,
            stepname: item.stepname,
            value: item.value
          })
          this.routeArr.splice(index, 1)
        }
      })
      // 将值替换到原tag位置上
      this.dynamicTags.forEach((item, index) => {
@@ -462,9 +466,29 @@
        item.stepname = item.stepname.trim()
        if (item.seq !== tag.seq) {
          item.editDisabled = false
          // item.stepcode = this.routeArr.find(it=>it.stepcode=tag.stepcode).stepcode
          // return this.$message.info('请先填写或选择工艺!')
        }
      })
      // if (tag.stepname === '') {
      //   this.dynamicTags[0].stepcode=
      // }
      // if (tag.stepname.toString().length > 0 && tag.editDisabled) {
      if (tag.stepname !== '') {
        const routeSelectedArr = this.routeSelectedArr.find(item => item.stepname === tag.stepname)
        this.routeArr.push(
          {
            stepcode: routeSelectedArr.stepcode,
            stepname: routeSelectedArr.stepname,
            value: routeSelectedArr.value
          }
        )
      }
      // }
      this.addDisabled = true
      this.selectedName = tag.stepname
      this.autocompleteValue = tag.stepname
@@ -506,11 +530,27 @@
          this.dynamicTags.splice(index, 1)
        }
      })
      const routeSelectedArr = this.routeSelectedArr.find(item => item.stepname === tag.stepname)
      if (routeSelectedArr !== undefined) {
        this.routeArr.push(
          {
            stepcode: routeSelectedArr.stepcode,
            stepname: routeSelectedArr.stepname,
            value: routeSelectedArr.value
          }
        )
      }
      this.routeArr = this.routeArr.filter((currentValue, currentIndex, selfArr) => {
        return selfArr.findIndex(item => item.stepcode === currentValue.stepcode) === currentIndex
      })
      console.log(this.dynamicTags, 1)
      // 重新排序
      this.dynamicTags.forEach((item, index) => {
        item.editDisabled = true
        item.seq = index + 1
        item.stepcode = 'Step' + ((index + 1).toString().length === 2 ? (index + 1) : '0' + (index + 1))
        // item.stepcode = 'Step' + ((index + 1).toString().length === 2 ? (index + 1) : '0' + (index + 1))
        item.stepcode = ''
      })
      if (this.clickSelected === '') {
        this.selectedName = ''
@@ -532,7 +572,8 @@
            seq: seq,
            stepname: '',
            effect: 'light',
            stepcode: ('Step' + (seq.toString().length === 2 ? seq : '0' + seq))
            // stepcode: ('Step' + (seq.toString().length === 2 ? seq : '0' + seq))
            stepcode: ''
          }
        )
      } else {
@@ -541,7 +582,8 @@
        this.dynamicTags.splice(this.clickSelected, 0, { editDisabled: true, seq: seq, stepname: '', effect: 'light' })
        this.dynamicTags.forEach((item, index) => {
          item.seq = index + 1
          item.stepcode = 'Step' + ((index + 1).toString().length === 2 ? (index + 1) : '0' + (index + 1))
          // item.stepcode = 'Step' + ((index + 1).toString().length === 2 ? (index + 1) : '0' + (index + 1))
          item.stepcode = ''
        })
      }
@@ -630,6 +672,9 @@
        DeleteRoute({ routecode: row.code }).then(res => {
          if (res.code === '200') {
            this.$message.success('删除成功!')
            if (this.form.page > 1 && this.tableData.length === 1) {
              this.form.page--
            }
            this.getRouteSearch()
          }
        })
@@ -644,10 +689,12 @@
      this.dialogForm.enable = 'Y'
      this.dialogForm.description = ''
      this.dialogForm.Data = []
      this.dynamicTags = [
        { editDisabled: true, stepcode: 'Step01', seq: 1, stepname: ' ', effect: 'light' }
        { editDisabled: true, stepcode: '', seq: 1, stepname: ' ', effect: 'light' }
      ]
      this.addDisabled = true
      this.routeSelectedArr = []
      this.$refs.dialogForm.clearValidate()
    },
    // 对话框取消
@@ -659,15 +706,16 @@
      if (this.dynamicTags[0].stepname.trim() === '') {
        return this.$message.info('工艺设置第一项不能为空!')
      }
      console.log(this.routeSelectedArr, 3666666)
      console.log(this.dynamicTags, 3)
      const Data = []
      this.dynamicTags.forEach(item => {
        Data.push({ seq: item.seq, stepcode: item.stepcode, stepname: item.stepname })
        Data.push({ seq: item.seq, stepcode: this.routeSelectedArr.find(it => it.stepname === item.stepname).stepcode, stepname: item.stepname })
      })
      Data.forEach(item => {
        if (item.stepname === this.routeArr.find(it => it.stepname === item.stepname).stepname) {
          item.stepcode = this.routeArr.find(it => it.stepname === item.stepname).stepcode
        if (item.stepname === this.routeSelectedArr.find(it => it.stepname === item.stepname).stepname) {
          item.stepcode = this.routeSelectedArr.find(it => it.stepname === item.stepname).stepcode
        }
      })
      console.log(Data, 32)