licp
2024-04-12 c14f9d834217ee0ec378b7a1f198951a6975f536
src/views/technology/routing/routing-form.vue
@@ -124,7 +124,7 @@
            <el-button
              style="float: right; padding: 3px 0"
              type="text"
              @click=";(showOperation = true), (last = true)"
              @click=";(showOperation = true), (last = true),(multiSelect=true)"
              v-if="editable"
              >添加</el-button
            >
@@ -576,6 +576,8 @@
    <operationDialog
      :currshowlist.sync="showOperation"
      :multiSelect="multiSelect"
      @handleSelectionChange="insertOperation"
      @listenToOperationEvent="insertOperation"
    />
    <partDialog :currshowlist.sync="showPart" @listenToPartEvent="selectPart" />
@@ -647,6 +649,7 @@
export default {
  data() {
    return {
      multiSelect: true,
      itemKey: '',
      typeOptions: [],
      paramTemplateSelArr: [],
@@ -735,6 +738,8 @@
    editRoutingOperation,
    zttdraggable
  },
  created(){
  },
  mounted() {
    window.addEventListener(
      'hashchange',
@@ -746,8 +751,6 @@
      },
      false
    )
    // this.rowDrop()
  },
  computed: {
@@ -1166,6 +1169,7 @@
      this.operationPart.remark = val
    },
    insertTechnologyOperation(row) {
      this.multiSelect = false
      this.showOperation = true
      this.last = false
      this.operationIndex = row.index
@@ -1178,30 +1182,59 @@
          type: 'warning'
        })
      }
      operation.operationName = operation.name
      operation.operationId = operation.id
      operation.id = null
      if (this.last) {
        // 行最后添加
        operation.index = this.dataForm.operations.length + 1
        this.dataForm.operations.push(operation)
      } else {
        // 插入前一行
        operation.index = this.operationIndex
        this.dataForm.operations = [
          ...this.dataForm.operations.slice(0, operation.index - 1),
          operation,
          ...this.dataForm.operations.slice(operation.index - 1)
        ]
      if(this.multiSelect){
        operation.forEach(item => {
            let obj = {};
            obj.operationName = item.name;
            obj.operationId = item.id;
            if (this.last){
                // 行最后添加
                obj.index = this.dataForm.operations.length + 1
                this.dataForm.operations.push(obj)
            }else{
                // 插入前一行
                obj.index = this.operationIndex
                this.dataForm.operations = [
                ...this.dataForm.operations.slice(0, obj.index - 1),
                obj,
                ...this.dataForm.operations.slice(obj.index - 1)
                ]
            }
            this.dataForm.operations.forEach((e, idx) => {
                e.index = idx + 1
                })
                this.$forceUpdate()
                this.$refs.operationTable.sort('index')
                Promise.all([this.save()]).then((res) => {
                    this.selectByIndex(obj.index)
                })
            })
      }else{
        operation.operationName = operation.name
        operation.operationId = operation.id
        operation.id = null
        if (this.last) {
            // 行最后添加
            operation.index = this.dataForm.operations.length + 1
            this.dataForm.operations.push(operation)
        } else {
            // 插入前一行
            operation.index = this.operationIndex
            this.dataForm.operations = [
            ...this.dataForm.operations.slice(0, operation.index - 1),
            operation,
            ...this.dataForm.operations.slice(operation.index - 1)
            ]
        }
        this.dataForm.operations.forEach((e, idx) => {
            e.index = idx + 1
        })
        this.$forceUpdate()
        this.$refs.operationTable.sort('index')
        Promise.all([this.save()]).then((res) => {
            this.selectByIndex(operation.index)
        })
      }
      this.dataForm.operations.forEach((e, idx) => {
        e.index = idx + 1
      })
      this.$forceUpdate()
      this.$refs.operationTable.sort('index')
      Promise.all([this.save()]).then((res) => {
        this.selectByIndex(operation.index)
      })
    },
    handleDelete(row) {