zouyu
2026-05-18 2e2e80ddc765dbeff8980b7abf53a474e213d540
src/views/business/rawMaterialInspection/index.vue
@@ -3,6 +3,11 @@
    <div class="search">
      <el-form :model="componentData" ref="componentData" size="small" :inline="true">
        <el-row>
          <el-form-item label="IFS域" prop="contract">
            <el-select @keyup.enter.native="refreshTable" v-model="componentData.contract" clearable placeholder="请选择" size="small">
              <el-option v-for="(item,index) in contractList" :key="index" :label="item.label" :value="item.value"/>
            </el-select>
          </el-form-item>
          <el-form-item label="批号" prop="updateBatchNo">
            <el-input v-model="componentData.updateBatchNo" clearable placeholder="请输入" size="small"
              @keyup.enter.native="refreshTable"></el-input>
@@ -22,36 +27,35 @@
              @keyup.enter.native="refreshTable">
            </el-input>
          </el-form-item>
          <el-form-item label="检验状态" prop="inspectStatus" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-select v-model="componentData.inspectStatus" clearable size="small" style="width: 100%;"
                       @change="refreshTable()">
              <el-option v-for="(a, i) in queryStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="下发时间" prop="date" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-date-picker v-model="componentData.date" end-placeholder="结束日期" format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期"
                            range-separator="至" size="small" start-placeholder="开始日期" style="width: 100%;" type="datetimerange" @change="refreshTable()"
                            :default-time="['00:00:00','23:59:59']"
                            value-format="yyyy-MM-dd HH:mm:ss">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="委托编号" prop="entrustCode" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-input v-model="componentData.entrustCode" clearable placeholder="请输入" size="small"
                      @keyup.enter.native="refreshTable">
            </el-input>
          </el-form-item>
          <el-form-item label="销售订单分类" prop="orderType" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-select v-model="componentData.orderType" clearable size="small"
                       @keyup.enter.native="refreshTable">
              <el-option v-for="(item,index) in orderTypeList" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item>
            <el-button v-if="tabIndex === 3 || tabIndex === 4" :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
              style="color: #3A7BFA;" type="text" @click="more = !more">{{ !more ? '更多' : '收起' }}</el-button>
            <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button>
            <el-button size="mini" @click="refresh()" >重置</el-button>
          </el-form-item>
        </el-row>
        <el-row>
          <el-form-item label="检验状态" prop="inspectStatus" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-select v-model="componentData.inspectStatus" clearable size="small" style="width: 100%;"
              @change="refreshTable()">
              <el-option v-for="(a, i) in queryStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="下发时间" prop="date" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-date-picker v-model="componentData.date" end-placeholder="结束日期" format="yyyy-MM-dd" placeholder="选择日期"
              range-separator="至" size="small" start-placeholder="开始日期" style="width: 100%;" type="daterange" @change="refreshTable()"
              value-format="yyyy-MM-dd">
            </el-date-picker>
          </el-form-item>
          <el-form-item label="委托编号" prop="entrustCode" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-input v-model="componentData.entrustCode" clearable placeholder="请输入" size="small"
              @keyup.enter.native="refreshTable">
            </el-input>
          </el-form-item>
          <el-form-item label="销售订单分类" prop="orderType" v-if="(tabIndex === 3 || tabIndex === 4) && more">
            <el-select v-model="componentData.orderType" clearable size="small"
              @keyup.enter.native="refreshTable">
              <el-option v-for="(item,index) in orderTypeList" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
            </el-select>
          </el-form-item>
        </el-row>
      </el-form>
@@ -78,13 +82,13 @@
      <!--待报检、待下单-->
      <div class="table">
        <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0 || tabIndex === 1" :isSelection="true"
          :handleSelectionChange="selectMethod" @pagination="pagination" :height="'calc(100vh - 290px)'" :page="page"
          :handleSelectionChange="selectMethod" @pagination="pagination" :height="50" :more="more"  :page="page"
          :tableLoading="tableLoading"></lims-table>
      </div>
      <!--已完成、全部-->
      <div class="table">
        <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 3 || tabIndex === 4"
          @pagination="pagination1" :height="'calc(100vh - 290px)'" :page="page1"
          @pagination="pagination1" :page="page1" :height="50" :more="more"
          :tableLoading="tableLoading1"></lims-table>
      </div>
    </div>
@@ -117,7 +121,13 @@
        label-position="right">
        <el-form-item class="declareObj-form-item" label="订单号:" prop="orderNo">
          <el-input v-model="declareObj.orderNo" :disabled="declareType !== 'add'" class="addObj-info" clearable
            placeholder="" size="small"></el-input>
                    placeholder="" size="small"></el-input>
        </el-form-item>
        <el-form-item class="declareObj-form-item" label="IFS域:" prop="contract">
          <el-select v-model="declareObj.contract" v-if="declareType === 'add'" clearable size="small">
            <el-option v-for="(item,index) in contractList" :key="index" :label="item.label" :value="item.value"/>
          </el-select>
          <el-tag v-else :type="declareObj.contract==='ZTNS'?'':'success'">{{declareObj.contract}}</el-tag>
        </el-form-item>
        <el-form-item class="declareObj-form-item" label="零件号:" prop="partNo">
          <el-input v-model="declareObj.partNo" :disabled="declareType !== 'add'" class="addObj-info" clearable
@@ -217,6 +227,11 @@
          :header-cell-style="{textAlign:'center'}"
          :cell-style="{textAlign:'center'}"
        >
          <el-table-column label="IFS域" prop="contract" :min-width="100" width="100">
            <template slot-scope="scope">
              <el-tag :type="scope.row.contract==='ZTNS'?'':'success'">{{scope.row.contract}}</el-tag>
            </template>
          </el-table-column>
          <el-table-column label="订单编号" prop="orderNo" :min-width="100" width="100"></el-table-column>
          <el-table-column label="零件编号" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column>
          <el-table-column label="零件描述" prop="partDesc" :min-width="150" show-overflow-tooltip></el-table-column>
@@ -309,12 +324,16 @@
import { getDicts } from "@/api/system/dict/data";
import limsTable from "@/components/Table/lims-table.vue";
import {transformExcel} from '@/utils/file'
import tab from "../../../plugins/tab";
export default {
  name: 'RawMaterialInspection',
  // import 引入的组件需要注入到对象中才能使用
  components: { limsTable, DataLookVisible },
  computed:{
    tab() {
      return tab
    },
    splitOrderAction(){
      return this.javaApi + '/rawMaterialOrder/importSplitOrderData'
    }
@@ -331,6 +350,9 @@
      declareObjBatchRules:{
        orderType: [
          { required: true, message: '请选择销售订单分类', trigger: 'change' }
        ],
        materialProp: [
          { required: true, message: '请选择物料属性', trigger: 'change' }
        ],
      },
      confirmSplitOrderLoading: false,
@@ -376,6 +398,25 @@
              return null
            }
          }
        },
        {
          label: 'IFS域',
          prop: 'contract',
          width: '120px',
          dataType: 'tag',
          formatData: (params) => {
              return params
          },
          formatType: (params) => {
            if (params === 'ZTNS') {
              return ''
            } else if (params === 'KJNS') {
              return 'success'
            }else {
              return null
            }
          }
        },
        { label: '订单号', prop: 'orderNo' },
        { label: '抵达的采购数量', prop: 'purQtyInStore', width: '140px', },
@@ -485,6 +526,25 @@
              return null
            }
          }
        },
        {
          label: 'IFS域',
          prop: 'contract',
          width: '120px',
          dataType: 'tag',
          formatData: (params) => {
            return params
          },
          formatType: (params) => {
            if (params === 'ZTNS') {
              return ''
            } else if (params === 'KJNS') {
              return 'success'
            }else {
              return null
            }
          }
        },
        { label: '订单号', prop: 'orderNo' },
        { label: '订单分类', prop: 'orderTypeName' },
@@ -607,6 +667,7 @@
        materialProp: null, // 物料属性
      },
      componentData: { // 表格数据
        contract:null,
        updateBatchNo: null,
        partNo: null,
        partDesc: null,
@@ -654,6 +715,9 @@
        orderType: [
          { required: true, message: '请选择销售订单分类', trigger: 'change' }
        ],
        materialProp: [
          { required: true, message: '请选择物料属性', trigger: 'change' }
        ],
      },
      tabList: [
        {
@@ -690,6 +754,16 @@
      upLoading: false,
      orderTypeList: [],
      materialPropList: [],
      contractList:[
        {
          label:"ZTNS",
          value:"ZTNS"
        },
        {
          label:"KJNS",
          value:"KJNS"
        },
      ]
    }
  },
  mounted() {
@@ -1053,7 +1127,9 @@
              id: this.declareObj.id,
              updateBatchNo: this.declareObj.updateBatchNo,
              orderType: this.declareObj.orderType,
              materialProp: this.declareObj.materialProp
              materialProp: this.declareObj.materialProp,
              partNo: this.declareObj.partNo,
              contract: this.declareObj.contract
            }).then(res => {
              if (res.code === 200) {
                this.declareDialogVisible = false
@@ -1138,6 +1214,7 @@
        buyUnitMeas: '', // 单位
        isExpire: '', // 单位
        orderType: null, // 销售订单分类
        materialProp: null, // 物料属性
      }
    }
  },