zouyu
2023-11-10 61515d8da4b90131a4cae9e5bc1013cb0288573c
src/views/basic/template/index.vue
@@ -15,9 +15,9 @@
            <template #toolbar></template>
          </ttable>
        </el-col>
        <el-col :span="12" style="padding-left: 10px">
        <el-col :span="12">
          <el-card>
            <div slot="header">
            <div slot="header" style="height:20px">
              <el-row>
                <el-col :span="8">
                  <span>参数</span>
@@ -32,7 +32,20 @@
                </el-col>
              </el-row>
            </div>
            <el-table
            <paramMergeTemplate
            style="padding: 0px 5px;"
            :key="isShowTree"
            :isModel="true"
            :option="paramTemplateOption"
            :page="{}"
            :textEllipsisWidth="60"
            :handleParamDelete="deleteOperationParam"
            :handleParamEdit="editSample"
            :handleParamInsert="insertTechnologyOperationParam"
            :handleParamSave="saveSample"
            :tableTreeData="operationParams">
            </paramMergeTemplate>
            <!-- <el-table
              :data="operationParams"
              id="templateParamTable"
              ref="operationParam"
@@ -137,7 +150,7 @@
                  </el-button>
                </template>
              </el-table-column>
            </el-table>
            </el-table> -->
          </el-card>
        </el-col>
      </el-row>
@@ -172,9 +185,12 @@
  relateOperationParamTemplate
} from '../../../api/basic/template'
import { remote } from '@/api/admin/dict'
import paramMergeTemplate from '../../common/param-mergeTemplate.vue'
export default {
  data() {
    return {
      isShowTree: false,
      paramMergeTemplate: '',
      paramSelArr: [],
      paramSelCol: 'code',
      templateIndex: null,
@@ -283,20 +299,85 @@
          minWidth: 100
        }
      },
      addOrUpdateVisible: false
      addOrUpdateVisible: false,
      paramTemplateOption: {
        maxHeight: 450,
        height: 450,
        loadingText: "Loading...",
        columnBtn: false,
        index: true,
        indexLabel: '序号',
        indexWidth: 50,
        menu: true,
        menuWidth: 130,
        menuAlign: 'center',
        editBtn: false,
        delBtn: false,
        addBtn: false,
        border: true,
        size: 'small',
        refreshBtn: false,
        align: 'center',
        column: [
            {
                label: '参数编号',
                prop: 'code',
                width:80,
                slot: true
            },
            {
                label: '参数项',
                prop: 'paramItem',
            },
            {
                label: '二级参数',
                prop: 'paramItemTwo',
            },
            {
                label: '三级参数',
                prop: 'paramItemThree',
            },
            {
                label: '参数类型',
                prop: 'paramType',
                formslot: true,
                rules: [{
                    required: true,
                    message: "请选择参数类型",
                    trigger: "change"
                }]
            },
            {
                label: '值',
                prop: 'paramValue',
                minWidth: 100,
                slot: true,
                formslot: true,
                labelslot: true
            }, {
                label: '单位',
                prop: 'unit',
                rules: [{
                    required: true,
                    message: "单位不能为空",
                    trigger: "blur"
                }]
        },]
      }
    }
  },
  components: {
    ttable,
    TableForm,
    ParamDialog
    ParamDialog,
    paramMergeTemplate
  },
  computed: {
    ...mapGetters(['permissions'])
  },
  mounted() {
    this.getParamType()
    this.rowDrop()
    // this.rowDrop()
  },
  methods: {
    // 获取数据列表
@@ -312,6 +393,11 @@
    },
    handleCurrentChange(val) {
      this.templateId = val.id
      if(this.isShowTree){
        this.isShowTree=false
      }else{
        this.isShowTree=true
      }
      if (val != null) {
        this.operationParams = []
        this.getJoinParamTemplateData()
@@ -343,7 +429,12 @@
          technologyOperationTemplateId: this.templateId
        })
      ).then((response) => {
        this.operationParams = response.data.data.records
        let data = response.data.data
        data.forEach(obj=>{
          obj.templateId = this.templateId
        })
        this.operationParams = data
      })
    },
    rowDrop() {
@@ -467,7 +558,7 @@
          this.newOperationParams.push(
            Object.assign({
              technologyOperationTemplateId: this.templateId,
              technologyOperationParamId: this.operationParams[j].id,
              technologyOperationParamId: this.operationParams[j].id ? this.operationParams[j].id : this.operationParams[j].oneId,
              sort: this.operationParams[j].index
            })
          )
@@ -476,34 +567,7 @@
          (response) => {
            const resData = response.data
            if (resData.code === 0) {
              const resSteps = resData.data
              if (resSteps.length > 0) {
                this.operationParams = []
                let operationParam
                for (let i = 0; i < resSteps.length; i++) {
                  operationParam = {
                    id: resSteps[i].id,
                    code: resSteps[i].code,
                    parameterItem: resSteps[i].parameterItem,
                    unit: resSteps[i].unit,
                    index: resSteps[i].index,
                    type: resSteps[i].type,
                    defaultValue: resSteps[i].defaultValue,
                    dict: resSteps[i].dict,
                    sysDictItemList: resSteps[i].sysDictItemList,
                    technologyOperationTemplateId:
                      resSteps[i].technologyOperationTemplateId
                  }
                  /* operationParam.id = resSteps[i].id
                  operationParam.code = resSteps[i].code
                  operationParam.parameterItem = resSteps[i].parameterItem
                  operationParam.unit = resSteps[i].unit
                  operationParam.index = resSteps[i].index
                  operationParam.type = resSteps[i].type
                  operationParam.defaultValue = resSteps[i].defaultValue */
                  this.operationParams.push(operationParam)
                }
              }
              this.operationParams = resData.data
              if (state) {
                this.$message.success('参数关联成功')
              }
@@ -560,29 +624,49 @@
      })
    },
    deleteOperationParam(row) {
      let id = null
      if(row.threeId && row.threeId!='null'){
        id = row.threeId
      }else{
        if(row.twoId && row.twoId!='null'){
          id = row.twoId
        }else{
          id = row.oneId
        }
      }
      this.$confirm('是否确认删除参数编号为:' + row.code, {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then((data) => {
        this.operationParams.splice(
          this.operationParams.findIndex((item) => item.index === row.index),
          1
        )
        this.operationParams
          .filter((e) => e.index >= row.index)
          .forEach((e) => (e.index = e.index - 1))
          this.operationParams.findIndex((item) => {
            let itemId = null
            if(item.threeId && item.threeId!='null'){
              itemId = item.threeId
            }else{
              if(item.twoId && item.twoId!='null'){
                itemId = item.twoId
              }else{
                itemId = item.oneId
              }
            }
            return itemId === id
          }),1)
        // this.operationParams
        //   .filter((e) => e.oneId >= row.oneId)
        //   .forEach((e) => (e.index = e.index - 1))
        deleteOperationParamTemplate(
          Object.assign({
            technologyOperationTemplateId: this.templateId,
            technologyOperationParamId: row.id
            technologyOperationParamId: id
          })
        ).then((response) => {
          this.$message.success('删除关联成功')
          // if (response.data.code == 0 && this.operationParams.length > 0) {
          //   this.dataFormRelateOperationParam(false)
          // }
        })
        if (this.operationParams.length > 0) {
          this.dataFormRelateOperationParam(false)
        }
      })
    },
    // 获取工序参数类型
@@ -607,9 +691,20 @@
    saveSample(index, row) {
      console.log('row', row)
      var obj = {}
      obj.technologyOperationParamId = row.id
      obj.technologyOperationTemplateId = row.technologyOperationTemplateId
      obj.defaultValue = row.defaultValue
      let id = null
      if(row.threeId && row.threeId!='null'){
        id = row.threeId
      }else{
        if(row.twoId && row.twoId!='null'){
          id = row.twoId
        }else{
          id = row.oneId
        }
      }
      obj.technologyOperationParamId = id
      obj.technologyOperationTemplateId = row.templateId
      obj.defaultValue = row.paramValue
      console.log(obj);
      putRelateOperationParamTemplate(obj).then((response) => {
        this.$message.success('参数保存成功')
        this.$set(row, 'isUpdate', false)