gaoluyang
2025-03-21 f9d1ac78b245cb672342e96cf0e905b812352651
src/views/business/materialOrder/customsInspection.vue
@@ -97,8 +97,8 @@
          </el-col>
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="检验类别:" prop="orderType">
              <el-select v-model="addObj.orderType" :disabled="active>1 || orderType===1" clearable size="small" style="width: 100%">
                <el-option v-for="(a, ai) in dict.type.check_type" :key="ai" :label="a.label" :value="a.value"></el-option>
              <el-select v-model="addObj.orderType" :disabled="active>1 || orderType==1" clearable size="small" style="width: 100%">
                <el-option v-for="a in dict.type.check_type" :key="a.value" :label="a.label" :value="a.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -114,7 +114,7 @@
          <el-col :span="6">
            <el-form-item class="addObj-form-item" label="紧急程度:" placeholder="请选择" prop="type">
              <el-select v-model="addObj.type" :disabled="active>1" class="addObj-info" clearable size="small" style="width: 100%">
                <el-option v-for="(a, ai) in dict.type.urgency_level" :key="ai" :label="a.label" :value="a.value"></el-option>
                <el-option v-for="a in dict.type.urgency_level" :key="a.value" :label="a.label" :value="a.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -142,10 +142,10 @@
      </el-form>
    </div>
    <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"
@@ -154,7 +154,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">
@@ -164,7 +164,7 @@
            </el-form-item>
          </el-form>
        </div>
        <div style="margin-top: 3px">
        <div style="margin-bottom: 6px;margin-top: 6px">
          <el-button v-show="active==1" :disabled="sampleList.length === 2" size="small" type="primary" @click="handleSplitCountNum">拆分</el-button>
        </div>
      </div>
@@ -172,6 +172,7 @@
      <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">
@@ -235,7 +236,7 @@
        </el-table-column>
        <el-table-column align="center" label="待检项数量" prop="quantity" width="105">
          <template slot-scope="scope">
            <el-select v-model="scope.row.quantity" :disabled="active>1|| scope.$index !== 0 || sampleList.length > 1" clearable
            <el-select v-model="scope.row.quantity" disabled clearable
                       size="small">
              <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option>
            </el-select>
@@ -247,6 +248,7 @@
                class="el-table"
                max-height="400px"
                style="margin-bottom: 10px;"
                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
                tooltip-effect="dark"
                @select="selectOne"
                @selection-change="selectProduct"
@@ -354,6 +356,7 @@
      </span>
    </el-dialog>
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
               :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
               :show-close="false" :visible.sync="bsm3Dia"
               title="区间值填写" width="800px">
      <el-table :data="editTable" height="80vh" style="width: 100%">
@@ -388,7 +391,7 @@
      width="32%">
      <span>{{ dialogMessage }}</span>
      <span slot="footer" class="dialog-footer">
        <el-button type="primary" @click="goBack()">确 定</el-button>
        <el-button type="primary" @click="dialogVisible= false,closeOpenPage()">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
@@ -434,10 +437,15 @@
import {
  addExemptionOrder,
  addInsOrder,
  addRawMaterOrderTemplate, delRawMaterOrderTemplate,
  addRawMaterOrderTemplate,
  delRawMaterOrderTemplate,
  getInsOrder,
  getUserNow,
  notificationRawOrder, selectRawMaterOrderTemplateById, selectStandardMethodEnum, selectStandardProductList,
  notificationRawOrder, selectRawMaterOrderTemplate,
  selectRawMaterOrderTemplateById,
  selectsStandardMethodByFLSSM,
  selectStandardMethodEnum,
  selectStandardProductList,
  selectStandardTreeListByPartNo
} from "@/api/business/rawMaterialOrder";
@@ -446,20 +454,14 @@
  dicts: ['check_type', 'urgency_level'],
  components: {},
  props: {
    currentId: {
      type: Number,
      default: () => 0
    },
    isReport: {
      type: Number,
      default: () => null
    }
  },
  data() {
    return {
      customsInspection: {},
      orderType: '',
      active: 0,
      currentId: 0,
      isReport: '',
      editTable:[], // 区间特殊值填写
      template: null,
      saveLoad: false, // 保存按钮loading
@@ -634,15 +636,25 @@
      this.standardMethodListId = null
    }
  },
  mounted() {
  created() {
    this.active = this.$route.query.active
    this.orderType = this.$route.query.orderType
    this.currentId = this.$route.query.currentId
    this.isReport = this.$route.query.isReport
    this.customsInspection = this.$route.query.customsInspection
    // this.getUserNowList() // 获取当前用户信息
    this.selectStandardMethods() // 获取检验标准下拉框数据
    this.getInfo() // 获取数据
    this.getInfo();
  },
  activated() {
    this.active = this.$route.query.active
    this.orderType = this.$route.query.orderType
    this.currentId = this.$route.query.currentId
    this.isReport = this.$route.query.isReport
    this.customsInspection = this.$route.query.customsInspection
    this.getInfo();
  },
  // getInfo() {
  //   this.getInfo() // 获取数据
  // },
  methods: {
    save1 () {
      if (this.bsm1DiaList.length > 0) {
@@ -683,7 +695,9 @@
    },
    // 获取数据
    getInfo () {
      if (this.active === 2) {
      this.getUserNowList() // 获取当前用户信息
      this.selectStandardMethods() // 获取检验标准下拉框数据
      if (this.active == 2) {
        let orderId = ''
        if (!this.customsInspection.enterOrderId && this.customsInspection.quarterOrderId) {
          this.isShowTab = false
@@ -696,7 +710,7 @@
          orderId = this.dataIndex === 0 ? this.customsInspection.enterOrderId : this.customsInspection.quarterOrderId
        } else if (!this.customsInspection.enterOrderId && !this.customsInspection.quarterOrderId) {
          this.isShowTab = false
          orderId = this.isReport === 1 ? this.customsInspection.insOrderId : this.customsInspection.id
          orderId = this.isReport == 1 ? this.customsInspection.insOrderId : this.customsInspection.id
        }
        // 查看
        // 请求接口,回显数据
@@ -733,8 +747,10 @@
        notificationRawOrder({ifsInventoryId:this.customsInspection.id}).then(res => {
          if (res.code === 200) {
            if (res.data === 1) {
              this.dialogVisible2 = true
              this.dialogMessage2 = '当前批次的样品已检验过, 可以免检'
              if (this.orderType != 1) {
                this.dialogVisible2 = true
                this.dialogMessage2 = '当前批次的样品已检验过, 可以免检'
              }
            } else if (res.data === 2) {
              this.dialogVisible2 = true
              this.dialogMessage2 = '当前批次的样品已超20吨, 需要多级多次检验'
@@ -743,30 +759,32 @@
        })
        // 报检流程
        selectStandardTreeListByPartNo({partNo:this.customsInspection.partNo}).then(res => {
          if (res.code === 200) {
          if (res.data !== null) {
            this.addObj.sample = res.data.label
            this.codeLevel = res.data.code
            this.addObj.qtyArrived = this.customsInspection.qtyArrived
            this.addObj.partNo = this.customsInspection.partNo
            this.addObj.partDetail = this.customsInspection.partDesc
            this.addObj.receiverDate = this.customsInspection.receiverDate
            this.addObj.orderNo = this.customsInspection.orderNo
            this.addObj.declareUser = this.customsInspection.declareUser
            this.addObj.testQuantity = this.customsInspection.testQuantity
            this.addObj.buyUnitMeas = this.customsInspection.buyUnitMeas
            this.addObj.updateBatchNo = this.customsInspection.updateBatchNo
            if (this.orderType === 1) {
              this.addObj.orderType = 'Quarterly inspection'
            this.$set(this.addObj, 'qtyArrived', this.customsInspection.qtyArrived)
            this.$set(this.addObj, 'partNo', this.customsInspection.partNo)
            this.$set(this.addObj, 'receiverDate', this.customsInspection.receiverDate)
            this.$set(this.addObj, 'orderNo', this.customsInspection.orderNo)
            this.$set(this.addObj, 'declareUser', this.customsInspection.declareUser)
            this.$set(this.addObj, 'testQuantity', this.customsInspection.testQuantity)
            this.$set(this.addObj, 'buyUnitMeas', this.customsInspection.buyUnitMeas)
            this.$set(this.addObj, 'updateBatchNo', this.customsInspection.updateBatchNo)
            this.$set(this.addObj, 'partDetail', this.customsInspection.partDesc)
            if (this.orderType == 1) {
              this.$set(this.addObj, 'orderType', 'Quarterly inspection')
            }
            const str = res.data.treeName.split('-')
            this.selectTreeTem = str.join(' - ')
            this.selectTree = str.join(' - ')
            this.addListInfo(this.codeLevel, res.data) // 原材料样品是固定的,就默认赋值一条数据,可拆分
            this.selectInsOrderTemplate() // 原材料模板列表查询
          } else {
            this.dialogVisible = true
            this.dialogMessage = res.message
          }
        }).catch(err => {
          this.dialogVisible = true
          this.dialogMessage = err.message
        })
      }
    },
@@ -824,7 +842,7 @@
    },
    // 查询模板列表
    selectInsOrderTemplate() {
      selectStandardTreeListByPartNo({partNo:this.addObj.partNo}).then(res => {
      selectRawMaterOrderTemplate({partNo:this.addObj.partNo}).then(res => {
        this.templates = res.data
      })
    },
@@ -893,10 +911,6 @@
        if (valid) {
          if (!this.sampleList.every(m => m.standardMethodListId)) {
            this.$message.error('请选择检验标准')
            return
          }
          if (!this.sampleList.every(m => m.quantity)) {
            this.$message.error('请选择待检项数量')
            return
          }
          const sampleList = this.HaveJson(this.sampleList)
@@ -1016,10 +1030,9 @@
        }),
      }).then(res => {
        this.noNeedCheckLoad = false
        if (res.code == 201) return
        this.noNeedCheckDia = false
        this.$message.success('已提交')
        this.goBack()
        this.closeOpenPage()
      }).catch(e=>{
        this.noNeedCheckLoad = false
      })
@@ -1041,9 +1054,17 @@
      this.addObj.model = (trees[4] == undefined ? null : trees[4])
      this.addObj.ifsInventoryId = this.customsInspection.id
      this.saveLoad = true
      if (this.addObj.createTime) {
        delete this.addObj.createTime
      }
      addInsOrder({
        insOrder: this.addObj,
        sampleList: sampleList.map(a => {
          if (a.insProduct.length > 0) {
            a.insProduct.forEach(c => {
              delete c.id
            })
          }
          if (a.modelNum) {
            // 根据x号判断型号参数与样品型号的拼接位置
            // 例如×4,就为500ML×4;4×,就为4×500ML
@@ -1063,10 +1084,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
      })
@@ -1585,19 +1605,17 @@
        ifsInventoryId: this.customsInspection.id
      }).then(res => {
        this.getProductLoad = false
        if (res.code === 200) {
          res.data.forEach(a => {
            a.state = 0
        res.data.forEach(a => {
          a.state = 0
        })
        this.productList = this.HaveJson(res.data)
        this.productList0 = JSON.parse(JSON.stringify(this.productList))
        this.$refs.sampleTable.setCurrentRow(row)
        setTimeout(() => {
          this.productList.forEach(a => {
            if (a.state == 1) this.toggleSelection(a)
          })
          this.productList = this.HaveJson(res.data)
          this.productList0 = JSON.parse(JSON.stringify(this.productList))
          this.$refs.sampleTable.setCurrentRow(row)
          setTimeout(() => {
            this.productList.forEach(a => {
              if (a.state == 1) this.toggleSelection(a)
            })
          }, 200)
        }
        }, 200)
      }).catch(err => {
        console.log('err-',err)
      })
@@ -1831,9 +1849,16 @@
      return row[property] === value;
    },
    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>
@@ -1872,5 +1897,7 @@
  background-color: #ffffff;
}
>>>.warning-row {
  color: #1890FF;
}
</style>