licp
2024-04-24 18f93f25e8aea5eb0a35a5526fa8de7f4553b75f
src/views/technology/routing/routing-form.vue
@@ -50,17 +50,19 @@
            </el-col>
            <el-col :span="6">
              <el-form-item prop="partName" label="零件名称">
                <el-tooltip class="item" effect="dark" :content="dataForm.partName" >
                <el-input
                  v-model="dataForm.partName"
                  placeholder="零件名称"
                  readonly
                  style="width: 100%"
                ></el-input>
                </el-tooltip>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="BOM" prop="bomId">
                <el-select style="width:100%" :disabled="dataForm.id != null" v-model="dataForm.bomId" placeholder="" filterable>
                <el-select style="width:100%"  v-model="dataForm.bomId" placeholder="" filterable>
                  <el-option
                    v-for="item in bomList"
                    :key="item.id"
@@ -122,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
            >
@@ -134,16 +136,8 @@
              '--dragitemwidth': '250px'
            }"
          >
            <div
              :style="{
                width: 265 * dataForm.operations.length - 15 + 'px'
              }"
            >
              <div
                class="dragHead"
                v-for="x in dataForm.operations.length"
                :key="x"
              >
            <div :style="{ width: 265 * dataForm.operations.length - 15 + 'px' }">
              <div class="dragHead" v-for="x in dataForm.operations.length"  :key="x" >
                <div class="idx">{{ x }}</div>
              </div>
              <zttdraggable
@@ -451,7 +445,7 @@
                  effect="dark"
                >
                  {{ item.label }}
                </el-tag>
                </el-tag>
              </div> -->
              <el-divider content-position="left">备注</el-divider>
              <div class="node-content-remark">
@@ -582,6 +576,8 @@
    <operationDialog
      :currshowlist.sync="showOperation"
      :multiSelect="multiSelect"
      @handleSelectionChange="insertOperation"
      @listenToOperationEvent="insertOperation"
    />
    <partDialog :currshowlist.sync="showPart" @listenToPartEvent="selectPart" />
@@ -653,6 +649,7 @@
export default {
  data() {
    return {
      multiSelect: true,
      itemKey: '',
      typeOptions: [],
      paramTemplateSelArr: [],
@@ -681,6 +678,7 @@
        routingNo: null,
        name: null,
        partId: null,
        partNo: null,
        partName: null,
        description: null,
        state: null,
@@ -740,6 +738,8 @@
    editRoutingOperation,
    zttdraggable
  },
  created(){
  },
  mounted() {
    window.addEventListener(
      'hashchange',
@@ -751,8 +751,6 @@
      },
      false
    )
    // this.rowDrop()
  },
  computed: {
@@ -893,11 +891,11 @@
                operationsFlag = false
              }
            })
            if (!operationsFlag) {
           /*  if (!operationsFlag) {
              this.$message.error('每个工序都需添加对应零件')
              this.isSubmit = false
              return
            }
            } */
            if (this.dataForm.id) {
              putObj(this.dataForm)
                .then((response) => {
@@ -1171,6 +1169,7 @@
      this.operationPart.remark = val
    },
    insertTechnologyOperation(row) {
      this.multiSelect = false
      this.showOperation = true
      this.last = false
      this.operationIndex = row.index
@@ -1183,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) {
@@ -1401,6 +1429,14 @@
    },
    // 保存所有参数的修改
    saveAllParamChange() {
      this.paramData.forEach(e=>{
        if(e.paramValue!=null){
        e.paramValue=e.paramValue.replace(',',',').replace('(','(').replace(')',')')
          if (!isNaN(e.paramValue)) {
            e.paramValue='='+e.paramValue
          }
        }
      })
      const paramJson = { routingOperationParam: this.paramData }
      putRoutingTemplateParam(paramJson).then((response) => {
        const data = response.data