zhuo
2025-03-31 eb007199ade1b9a0f251269eb4d27705105de5c4
src/views/business/materialOrder/copperOrder.vue
@@ -106,10 +106,10 @@
          </el-row>
        </el-form>
      </div>
      <div style="display: flex;justify-content: space-between;">
      <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px">
        <div v-if="active==1">
          <el-form :inline="true" :model="addObj1" label-width="90px">
            <el-form-item label="样品型号:" style="margin-bottom: 6px">
            <el-form-item label="样品型号:" style="margin-bottom: 6px;margin-top: 6px">
              <el-select v-model="model" :placeholder="active>1 ? '' : '请输入'"
                         allow-create clearable default-first-option filterable
                         size="small"
@@ -118,7 +118,7 @@
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="检验标准:">
            <el-form-item label="检验标准:" style="margin-bottom: 6px;margin-top: 6px">
              <el-select v-model="standardMethodListId" :loading="methodLoad"
                         :placeholder="active>1 ? '' : '请输入'" clearable size="small"
                         @change="changeStandardMethodListId" @focus="methodFocus">
@@ -128,12 +128,13 @@
            </el-form-item>
          </el-form>
        </div>
        <div style="margin-top: 3px">
          <el-button v-show="active==1" :disabled="sampleList.length === 2" size="small" type="primary" @click="handleSplitCountNum">拆分</el-button>
        <div style="margin-bottom: 6px;margin-top: 6px">
          <el-button v-show="active==1" :disabled="sampleList.length === 3" size="small" type="primary" @click="handleSplitCountNum">拆分</el-button>
        </div>
      </div>
      <div style="height: auto;">
        <el-table ref="sampleTable" :data="sampleList" class="el-table sampleTable" highlight-current-row
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
                  max-height="400px" tooltip-effect="dark" @selection-change="selectSample" @row-click="rowClick">
          <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="60"></el-table-column>
          <el-table-column align="center" label="序号" type="index" width="65"></el-table-column>
@@ -192,9 +193,10 @@
                               size="small" style="width: 80%;"></el-input-number>
            </template>
          </el-table-column>
          <el-table-column align="center" label="待检项数量" prop="proNum" width="105"></el-table-column>
          <el-table-column align="center" label="待检项数量" prop="quantity" width="105"></el-table-column>
        </el-table>
        <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" class="el-table"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
                  max-height="400px" style="margin-bottom: 10px;" tooltip-effect="dark"
                  @select="selectOne" @selection-change="selectProduct" @select-all="handleAll">
          <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column>
@@ -396,7 +398,6 @@
</template>
<script>
// import ValueTable from '../../tool/value-table.vue'
import Vue from 'vue'
import {
  addRawCopperOrder,
@@ -421,6 +422,7 @@
}
export default {
  name: 'CopperOrder',
  components: {},
  dicts: ['check_type', 'urgency_level'],
  data() {
@@ -437,15 +439,16 @@
        custom: null,
        company: null,
        userId: null,
        companyId: '',
        type: '0', // 紧急程度
        code: null,
        remark: null, // 备注
        mating: 0,
        sample: null, // 样品名称
        appointed: '', // 约定时间
        buyUnitMeas: '', // 单位
        updateBatchNo: '', // 批次号
        partDetail: '', // 规格型号
        buyUnitMeas: null, // 单位
        updateBatchNo: null, // 批次号
        partDetail: null, // 规格型号
        declareDate: '', // 到货时间
        factory: null,
        laboratory: null,
@@ -458,8 +461,8 @@
        processing: 1,
        isLeave: 0,
        orderType: '进厂检验', // 检验类型
        supplierName: '', // 材料厂家
        qtyArrived: '', // 到货数量
        supplierName: null, // 材料厂家
        qtyArrived: null, // 到货数量
      },
      sample: {
        sampleCode: null,
@@ -553,7 +556,7 @@
          { required: true, message: '请填写规格型号', trigger: 'blur' }
        ],
        declareDate: [
          { required: true, message: '请填写到货时间', trigger: 'blur' }
          { required: true, message: '请填写到货时间', trigger: 'change' }
        ]
      },
      noNeedCheckDia: false,
@@ -581,23 +584,6 @@
        }
      }
    },
    productListSelected: {
      deep: true,
      handler(val) {
        if(val.length>0){
          for(let i =0 ; i< val.length; i++){
            if(val[i].inspectionItem.includes('松套管')){
              this.inspectionItemST = 1
              break;
            }else{
              this.inspectionItemST = 0
            }
          }
        }else{
          this.inspectionItemST = 0
        }
      }
    },
    sampleList: {
      deep: true,
      handler(val) {
@@ -616,12 +602,26 @@
  mounted() {
    this.active = this.$route.query.active
    this.currentId = this.$route.query.currentId
    this.getUserNowInfo()
    this.selectStandardTreeList()
    this.selectStandardMethods()
    this.getInfo() // 获取数据
    this.getInfoRow();
  },
  activated() {
    this.$refs.addObj.resetFields()
    this.addObj.createTime = ''
    this.addObj.id = ''
    this.addObj.updateTime = ''
    this.sampleList = []
    this.productList = []
    this.active = this.$route.query.active
    this.currentId = this.$route.query.currentId
    this.getInfoRow();
  },
  methods: {
    getInfoRow() {
      this.getUserNowInfo()
      this.selectStandardTreeList()
      this.selectStandardMethods()
      this.getInfo() // 获取数据
    },
    // 拆分
    handleSplitCountNum () {
      this.sample.joinName = null
@@ -721,9 +721,8 @@
          })
        }).then(res => {
          this.noNeedCheckLoad = false
          if (res.code == 201) return
          this.$message.success('已提交')
          this.goBack()
          this.closeOpenPage()
        }).catch(e=>{
          this.noNeedCheckLoad = false
        })
@@ -738,10 +737,11 @@
          this.addObj = {
            ...res.data.insOrder
          }
          this.addObj.qtyArrived = res.data.insOrderTemplate.qtyArrived
          this.addObj.buyUnitMeas = res.data.insOrderTemplate.buyUnitMeas
          this.addObj.updateBatchNo = res.data.insOrderTemplate.updateBatchNo
          this.addObj.supplierName = res.data.insOrderTemplate.supplierName
          this.$set(this.addObj, 'qtyArrived', res.data.insOrderTemplate.qtyArrived)
          this.$set(this.addObj, 'buyUnitMeas', res.data.insOrderTemplate.buyUnitMeas)
          this.$set(this.addObj, 'updateBatchNo', res.data.insOrderTemplate.updateBatchNo)
          this.$set(this.addObj, 'supplierName', res.data.insOrderTemplate.supplierName)
          this.$set(this.addObj, 'declareDate', res.data.insOrderTemplate.declareDate)
          this.addObj.type = String(this.addObj.type)
          this.sampleList = this.HaveJson(res.data.sampleProduct);
          this.getProNum()
@@ -1162,10 +1162,9 @@
        })
      }).then(res => {
        this.saveLoad = false
        if (res.code == 201) return
        this.$message.success('已提交')
        this.bsm3Dia = false;
        this.goBack()
        this.closeOpenPage()
      }).catch(e=>{
        this.saveLoad = false
      })
@@ -1180,15 +1179,12 @@
        this.addObj.code = selects.code
        this.addObj.phone = selects.phone
        this.addObj.companyId = selects.departId
        if(this.active==1){
          this.selectInsOrderTemplateInfo()
        }
        // if(this.active==1){
        //   this.selectInsOrderTemplateInfo()
        // }
      })
    },
    getProNum() {
      this.sampleSelectionList.forEach((m, i) => {
        Vue.set(this.sampleSelectionList[i], 'proNum', m.insProduct.filter(a => a.state == 1).length)
      })
      this.$refs.sampleTable.doLayout()
    },
    searchFilter() {
@@ -1460,11 +1456,11 @@
      }
      return 'warning-row';
    },
    selectInsOrderTemplateInfo() {
      selectInsOrderTemplate({company: this.addObj.company}).then(res => {
        this.templates = res.data
      })
    },
    // selectInsOrderTemplateInfo() {
    //   selectInsOrderTemplate({company: this.addObj.company}).then(res => {
    //     this.templates = res.data
    //   })
    // },
    methodChange(val, row) {
      if (val === null || val === '') return
      if (this.sampleList.length > 1) {
@@ -1781,9 +1777,16 @@
    },
    goBack () {
      const obj = { path: "/business/materialOrder" };
      this.$tab.closeOpenPage(obj);
    }
      if (this.active == 1) {
        this.$router.go(-1)
      } else {
        this.closeOpenPage()
      }
    },
    closeOpenPage() {
      this.$router.go(-1)
      this.$tab.closeOpenPage()
    },
  }
}
</script>
@@ -1793,4 +1796,11 @@
  justify-content: space-between;
  margin-bottom: 10px;
}
>>>.warning-row {
  color: #1890FF;
}
.node_i {
  color: orange;
  font-size: 18px;
}
</style>