From 7f9514f20911fbb8046ca03716c2bc9304ec2fa0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 18 二月 2025 17:43:44 +0800
Subject: [PATCH] 1.原材料报检迁移 2.原材料下单迁移 3.同材料下单迁移
---
src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue | 0
src/views/business/materialOrderComponents/materialOrder/showInfo.vue | 0
src/views/business/materialOrderComponents/materialOrder/downFileDialog.vue | 0
src/views/business/rawMaterialInspection/index.vue | 52
src/api/business/rawMaterialOrder.js | 136 ++
src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue | 0
src/router/index.js | 11
src/views/business/materialOrder/index.vue | 1416 ++++++++++------------
src/views/business/materialOrder/copperOrder.vue | 1835 +++++++++++++++++++++++++++++
src/views/business/materialOrder/customsInspection.vue | 317 +---
src/views/business/materialOrderComponents/materialOrder/printDialog.vue | 0
src/views/business/materialOrderComponents/materialOrder/unPassRetestResult.vue | 0
src/views/structural/capabilityAndLaboratory/capability/index.vue | 4
13 files changed, 2,745 insertions(+), 1,026 deletions(-)
diff --git a/src/api/business/rawMaterialOrder.js b/src/api/business/rawMaterialOrder.js
new file mode 100644
index 0000000..0f6b4ea
--- /dev/null
+++ b/src/api/business/rawMaterialOrder.js
@@ -0,0 +1,136 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鍘熸潗鏂欎笅鍗�-寰呬笅鍗�
+export function getPurchaseOrder(query) {
+ return request({
+ url: '/rawMaterialOrder/getPurchaseOrder',
+ method: 'get',
+ params: query
+ })
+}
+// 鏌ヨIFS璁㈠崟-寰呮楠�
+export function getIfsByStateOne(query) {
+ return request({
+ url: '/rawMaterialOrder/getIfsByStateOne',
+ method: 'get',
+ params: query
+ })
+}
+// 鏌ヨ鍘熸潗鏂欎笅鍗�-宸叉楠�
+export function getIfsByOver(query) {
+ return request({
+ url: '/rawMaterialOrder/getIfsByOver',
+ method: 'get',
+ params: query
+ })
+}
+// 鏌ヨ鍘熸潗鏂欎笅鍗�-鍏ㄩ儴
+export function getIfsByAll(query) {
+ return request({
+ url: '/rawMaterialOrder/getIfsByAll',
+ method: 'get',
+ params: query
+ })
+}
+// 鏌ヨ瀛e害妫�楠�
+export function getIfsByQuarter(query) {
+ return request({
+ url: '/rawMaterialOrder/getIfsByQuarter',
+ method: 'get',
+ params: query
+ })
+}
+// 鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�
+export function getUserNow(query) {
+ return request({
+ url: '/user/getUserNow',
+ method: 'get',
+ })
+}
+// 鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇
+export function selectStandardMethodEnum(query) {
+ return request({
+ url: '/standardTree/selectStandardMethodEnum',
+ method: 'get',
+ })
+}
+// 鏌ヨ妫�楠屼笅鍗曞唴瀹硅鎯�
+export function getInsOrder(query) {
+ return request({
+ url: '/insOrder/getInsOrder',
+ method: 'post',
+ params: query
+ })
+}
+// 鍘熸潗鏂欎笅鍗曠洿鎺ュ厤妫�鍏嶆鎺ュ彛
+export function notificationRawOrder(query) {
+ return request({
+ url: '/rawMaterialOrder/notificationRawOrder',
+ method: 'get',
+ params: query
+ })
+}
+// 鏌ヨ
+export function selectStandardTreeListByPartNo(query) {
+ return request({
+ url: '/rawMaterialOrder/selectStandardTreeListByPartNo',
+ method: 'get',
+ params: query
+ })
+}
+// 鍒犻櫎鍘熸潗鏂欐ā鏉�
+export function delRawMaterOrderTemplate(query) {
+ return request({
+ url: '/rawMaterialOrder/delRawMaterOrderTemplate',
+ method: 'delete',
+ params: query
+ })
+}
+// 鏍规嵁id鏌ヨ妯℃澘鍐呭
+export function selectRawMaterOrderTemplateById(query) {
+ return request({
+ url: '/rawMaterialOrder/selectRawMaterOrderTemplateById',
+ method: 'get',
+ params: query
+ })
+}
+// 鍘熸潗鏂欐柊澧炴ā鏉�
+export function addRawMaterOrderTemplate(query) {
+ return request({
+ url: '/rawMaterialOrder/addRawMaterOrderTemplate',
+ method: 'post',
+ data: query
+ })
+}
+// 鍏嶆
+export function addExemptionOrder(query) {
+ return request({
+ url: '/rawMaterialOrder/addExemptionOrder',
+ method: 'post',
+ data: query
+ })
+}
+// 閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�
+export function selectStandardProductList(query) {
+ return request({
+ url: '/standardTree/selectStandardProductList',
+ method: 'get',
+ params: query
+ })
+}
+// 鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�
+export function selectsStandardMethodByFLSSM(query) {
+ return request({
+ url: '/standardTree/selectsStandardMethodByFLSSM',
+ method: 'get',
+ params: query
+ })
+}
+// 鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�
+export function addInsOrder(query) {
+ return request({
+ url: '/insOrder/addInsOrder',
+ method: 'post',
+ data: query
+ })
+}
diff --git a/src/router/index.js b/src/router/index.js
index 91a52f6..cc573ff 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -100,12 +100,19 @@
permissions: ['business:order'],
children: [
{
- // 閾滄潗鏂欎笅鍗�
+ // 鍘熸潗鏂欎笅鍗�
path: 'customsInspection',
component: () => import('@/views/business/materialOrder/customsInspection'),
name: 'customsInspection',
+ meta: { title: '鍘熸潗鏂欎笅鍗曡鎯�', activeMenu: '/business/materialOrder' }
+ },
+ {
+ // 閾滄潗鏂欎笅鍗�
+ path: 'copperOrder',
+ component: () => import('@/views/business/materialOrder/copperOrder'),
+ name: 'copperOrder',
meta: { title: '閾滄潗鏂欎笅鍗�', activeMenu: '/business/materialOrder' }
- }
+ },
]
},
{
diff --git a/src/views/business/materialOrder/copperOrder.vue b/src/views/business/materialOrder/copperOrder.vue
new file mode 100644
index 0000000..3557623
--- /dev/null
+++ b/src/views/business/materialOrder/copperOrder.vue
@@ -0,0 +1,1835 @@
+<!--閾滃崟涓濅笅鍗�-->
+<template>
+ <div class="app-container">
+ <div class="header">
+ <div>
+ <span>閾滃崟涓濅笅鍗�</span>
+ </div>
+ <div>
+ <el-button v-show="active==1 && addObj.orderType === '杩涘巶妫�楠�'" :loading="noNeedCheckLoad" size="small" type="primary" @click="noNeedCheck">鍏嶆</el-button>
+ <el-button v-show="active==1" :loading="saveLoad" size="small" type="primary" @click="save">鎻愪氦</el-button>
+ <el-button size="small" @click="goBack">
+ <span style="color: #3A7BFA;">杩斿洖</span>
+ </el-button>
+ </div>
+ </div>
+ <div class="container">
+ <div class="search">
+ <el-form ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="90px">
+ <el-row>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="鏍峰搧鍚嶇О:" prop="sample">
+ <el-input v-model="addObj.sample" readonly size="small" style="width: 208px">
+ <template slot="append"><el-button slot="append" :disabled="active>1" icon="el-icon-search"
+ @click="selectStandardTree = true"></el-button></template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="鍒拌揣鏁伴噺:" prop="qtyArrived" required>
+ <el-input v-model="addObj.qtyArrived" :disabled="active > 1" class="addObj-info"
+ clearable placeholder="" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="鍗曚綅:" prop="buyUnitMeas">
+ <el-input v-model="addObj.buyUnitMeas" :disabled="active > 1" clearable class="addObj-info" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="鎵规鍙�:" prop="updateBatchNo">
+ <el-input v-model="addObj.updateBatchNo" :disabled="active > 1" class="addObj-info" clearable size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="妫�楠岀被鍨�:">
+ <el-select v-model="addObj.orderType" clearable disabled size="small" style="width: 100%">
+ <el-option v-for="(a, ai) in checkType" :key="ai" :label="a.label" :value="a.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="绾﹀畾鏃堕棿:" prop="appointed">
+ <el-date-picker
+ v-model="addObj.appointed"
+ :disabled="active > 1"
+ format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small"
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="鏉愭枡鍘傚:" prop="supplierName">
+ <el-input v-model="addObj.supplierName" :disabled="active > 1" class="addObj-info" clearable placeholder="" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="鎶芥鏁伴噺:" prop="testQuantity">
+ <el-input v-model="addObj.testQuantity" :disabled="active > 1" class="addObj-info" clearable placeholder="" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="瑙勬牸鍨嬪彿:" placeholder="璇峰~鍐�" prop="partDetail">
+ <el-tooltip :content="addObj.partDetail" :disabled="!addObj.partDetail">
+ <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info" size="small"></el-input>
+ </el-tooltip>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="鍒拌揣鏃堕棿:" prop="declareDate">
+ <el-date-picker
+ v-model="addObj.declareDate"
+ :disabled="active > 1"
+ format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small"
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="澶囨敞:">
+ <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2}" :placeholder="active>1 ? '' : '璇疯緭鍏�'" :readonly="active>1" clearable
+ size="small" type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ <div style="display: flex;justify-content: space-between;">
+ <div v-if="active==1">
+ <el-form :inline="true" :model="addObj1" label-width="90px">
+ <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px">
+ <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'"
+ allow-create clearable default-first-option filterable
+ size="small"
+ @change="changeModel">
+ <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="妫�楠屾爣鍑�:">
+ <el-select v-model="standardMethodListId" :loading="methodLoad"
+ :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"
+ @change="changeStandardMethodListId" @focus="methodFocus">
+ <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
+ </el-option>
+ </el-select>
+ </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>
+ </div>
+ <div style="height: auto;">
+ <el-table ref="sampleTable" :data="sampleList" class="el-table sampleTable" highlight-current-row
+ 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>
+ <el-table-column align="center" label="鏍峰搧鍚嶇О" min-width="100" prop="sample">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.sample" :readonly="active>1" clearable size="small"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" label="鏍峰搧缂栧彿" min-width="140" prop="sampleCode">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.sampleCode" :readonly="active>1" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
+ size="small"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" label="鏍峰搧鍨嬪彿" min-width="100" prop="model">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.model" :disabled="active>1" allow-create default-first-option filterable
+ placeholder="鏍峰搧鍨嬪彿" size="small" style="width: 100%;" @change="handleChangeModel">
+ <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="!(active>1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="130">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.modelNum" :disabled="active>1|| scope.$index !== 0" clearable placeholder="闈炲繀濉�"
+ size="small"
+ @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" label="妫�楠屾爣鍑�" min-width="100" prop="standardMethodListId">
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1 || scope.$index !== 0"
+ :loading="methodLoad" :readonly="active>1" clearable placeholder="妫�楠屾爣鍑�"
+ size="small" style="width: 100%;" @change="(value)=>methodChange(value, scope.row)" @clear="productList = []" @focus="methodFocus">
+ <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
+ </el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鍚嶇О" prop="joinName" width="140">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.joinName" :autosize="{ minRows: 1, maxRows: 1}" size="small"
+ type="textarea"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鍨嬪彿" prop="joinModel" width="140">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.joinModel" :autosize="{ minRows: 1, maxRows: 1}" size="small"
+ type="textarea"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鏁伴噺" prop="joinNum" width="140">
+ <template slot-scope="scope">
+ <el-input-number v-model="scope.row.joinNum" :controls="false" :max="100" :min="1" :precision="0"
+ 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>
+ <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" class="el-table"
+ 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>
+ <el-table-column v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被" min-width="140" prop="inspectionItemClass" show-overflow-tooltip></el-table-column>
+ <el-table-column label="妫�楠岄」" min-width="140" prop="inspectionItem" show-overflow-tooltip>
+ <template slot="header" slot-scope="scope">
+ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
+ <span>妫�楠岄」</span>
+ <el-input
+ v-if="active==1"
+ v-model="inspectionItem"
+ placeholder="璇疯緭鍏�"
+ size="mini"
+ @input="searchFilterList"/>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass"
+ show-overflow-tooltip>
+ <template slot="header" slot-scope="scope">
+ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
+ <span>妫�楠岄」瀛愰」</span>
+ <el-input
+ v-if="active==1"
+ v-model="inspectionItemSubclass"
+ placeholder="璇疯緭鍏�"
+ size="mini"
+ @input="searchFilterList"/>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column label="瑕佹眰鍊�" min-width="220px" prop="ask">
+ <template slot-scope="scope">
+ <el-input v-if="active==1&&isAskOnlyRead&&scope.row.inspectionValueType!='5'" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鍊�"
+ size="small" type="textarea"
+ @change="e=>requestChange(e,scope.row,'ask')"></el-input>
+ <span v-else>
+ <!-- <template v-if="(scope.row.ask.indexOf('D')>-1
+ ||scope.row.ask.indexOf('W')>-1
+ ||scope.row.ask.indexOf('X')>-1
+ ||scope.row.ask.indexOf('RTS')>-1
+ ||scope.row.ask.indexOf('H')>-1
+ ||scope.row.ask.indexOf('L')>-1)&&active==1">
+ <input class="askRts" v-model="scope.row.rts" /><br />{{ scope.row.ask }}
+ </template>
+ <template v-else>{{ scope.row.ask }}</template> -->
+ <template >{{ scope.row.ask }}</template>
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column label="瑕佹眰鎻忚堪" min-width="220px" prop="tell">
+ <template slot-scope="scope">
+ <el-input v-if="active==1&&isAskOnlyRead" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鎻忚堪"
+ size="small" type="textarea"
+ @change="e=>requestChange(e,scope.row,'tell')"></el-input>
+ <span v-else>
+ <template >{{ scope.row.tell }}</template>
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏉′欢" min-width="140" prop="radius" show-overflow-tooltip></el-table-column>
+ <el-table-column label="璇曢獙鏂规硶" min-width="120" prop="methodS" show-overflow-tooltip>
+ <template slot="header" slot-scope="scope">
+ <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
+ <span>璇曢獙鏂规硶</span>
+ <el-input
+ v-if="active==1"
+ v-model="methodS"
+ placeholder="璇疯緭鍏�"
+ size="mini"
+ @input="searchFilterList"/>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column label="璁¢噺鍗曚綅" prop="unit" show-overflow-tooltip width="100"></el-table-column>
+ <el-table-column label="鍗曚环" prop="price" show-overflow-tooltip width="100"></el-table-column>
+ <!-- <el-table-column prop="manDay" label="棰勮鏃堕棿(澶�)" width="120" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="100" show-overflow-tooltip></el-table-column> -->
+ <!-- <el-table-column prop="deviceGroup" label="璁惧缁�" width="120" show-overflow-tooltip></el-table-column> -->
+ <el-table-column label="鍖洪棿" min-width="120" prop="section" show-overflow-tooltip></el-table-column>
+ <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" prop="sonLaboratory"
+ show-overflow-tooltip></el-table-column>
+ </el-table>
+ </div>
+ </div>
+ <el-dialog :visible.sync="selectStandardTree" title="閫夋嫨鏍峰搧" width="500px">
+ <div v-if="selectStandardTree" v-loading="selectStandardTreeLoading" class="body" style="height: 60vh;overflow-y: auto;user-select: none;">
+ <el-row>
+ <el-col :span="24">
+ <el-input v-model="search" clearable placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" size="small"
+ style="margin-bottom: 5px;" suffix-icon="el-icon-search" @blur="searchFilter" @clear="searchFilter"
+ @keyup.enter.native="searchFilter"></el-input>
+ </el-col>
+ </el-row>
+ <el-tree ref="tree" :data="list" :default-expanded-keys="expandedKeys" :filter-node-method="filterNode"
+ :props="{ children: 'children', label: 'label' }" highlight-current node-key="label" @node-click="handleNodeClick"
+ @node-expand="nodeOpen" @node-collapse="nodeClose" @dblclick.native="activeStandardTree">
+ <div slot-scope="{ node, data }" class="custom-tree-node">
+ <el-row>
+ <el-col :span="24">
+ <span><i
+ :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
+ {{ data.code }} {{ data.label }}</span>
+ </el-col>
+ </el-row>
+ </div>
+ </el-tree>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="selectStandardTree = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <!--鐗规畩鍊煎鐞嗘-->
+ <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"
+ :visible.sync="bsm1DiaAll"
+ min-width="400px"
+ title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨">
+ <div v-for="(item, index) in bsm1DiaList" :key="item.id" class="body" style="max-height: 60vh;">
+ <span>{{item.inspectionItem}}</span>
+ <el-row v-if="item.bsm1">
+ <el-col :span="24" class="search_thing" style="height: initial;margin: 5px 0;">
+ <div class="search_label" style="width: 80px;"><span class="required-span">* </span>閫夐」锛�</div>
+ <div class="search_input">
+ <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)">
+ <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio>
+ </el-radio-group>
+ </div>
+ </el-col>
+ <el-col :span="24" class="search_thing" style="height: initial;margin: 5px 0;">
+ <div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div>
+ <div class="search_input">
+ <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)">
+ <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai"
+ :label="a">{{JSON.parse(item.bsmRow.askCopy)[ai]}}</el-radio>
+ </el-radio-group>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button :loading="saveLoad" type="primary" @click="save1">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
+ :show-close="false" :visible.sync="bsm3Dia"
+ title="鍖洪棿鍊煎~鍐�" width="800px">
+ <el-table
+ :data="editTable"
+ height="80vh" style="width: 100%">
+ <!-- inspectionItemList -->
+ <el-table-column
+ label="妫�楠岄」"
+ prop="inspectionItemList"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ label="鏍峰搧缂栧彿"
+ prop="sampleCode"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ label="鏍峰搧鍨嬪彿"
+ prop="model"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ label="璇嗗埆绗﹀彿"
+ prop="symbolItem">
+ </el-table-column>
+ <el-table-column
+ label="璇嗗埆绗﹀��"
+ prop="value">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small" @input="inputValueHandler(scope.row,scope.$index)"></el-input>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="bsm3Dia=false">鍙� 娑�</el-button>
+ <el-button :loading="saveLoad" type="primary" @click="save0">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ <el-dialog
+ :close-on-click-modal="false"
+ :close-on-press-escape="false"
+ :show-close="false"
+ :visible.sync="noNeedCheckDia"
+ title="鍏嶆鎻愮ず"
+ width="32%">
+ <span>纭鍏嶆褰撳墠妫�楠屽崟锛�</span>
+ <span slot="footer" class="dialog-footer">
+ <el-button :loading="noNeedCheckLoad" type="primary" @click="handleNoNeedCheck">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+// import ValueTable from '../../tool/value-table.vue'
+import Vue from 'vue'
+
+var validateSixDecimalPositives = (rule, value, callback) => {
+ if (value == 0 || value == null) {
+ callback(new Error('璇疯緭鍏ユ纭殑鏁板瓧鎴栧皬鏁�'))
+ } else if (!/^[0-9]+.?[0-9]*$/.test(value)) {
+ callback(new Error('璇疯緭鍏ユ暟瀛楁垨灏忔暟'))
+ } else {
+ callback()
+ }
+}
+
+export default {
+ components: {},
+ props: {
+ currentId: {
+ type: Number,
+ default: () => 0
+ }
+ },
+ data() {
+ return {
+ active: '',
+ sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
+ editTable:[],
+ noNeedCheckLoad: false, // 鍏嶆鎸夐挳loading
+ template: null,
+ templates: [],
+ addObj: {
+ testQuantity: null, // 鎶芥鏁伴噺
+ custom: null,
+ company: null,
+ userId: null,
+ type: '0', // 绱ф�ョ▼搴�
+ code: null,
+ remark: null, // 澶囨敞
+ mating: 0,
+ sample: null, // 鏍峰搧鍚嶇О
+ appointed: '', // 绾﹀畾鏃堕棿
+ buyUnitMeas: '', // 鍗曚綅
+ updateBatchNo: '', // 鎵规鍙�
+ partDetail: '', // 瑙勬牸鍨嬪彿
+ declareDate: '', // 鍒拌揣鏃堕棿
+ factory: null,
+ laboratory: null,
+ sampleType: null,
+ sampleNum: 1,
+ unit: null,
+ model: null,
+ method: null,
+ phone: null,
+ processing: 1,
+ isLeave: 0,
+ orderType: '杩涘巶妫�楠�', // 妫�楠岀被鍨�
+ supplierName: '', // 鏉愭枡鍘傚
+ qtyArrived: '', // 鍒拌揣鏁伴噺
+ },
+ sample: {
+ sampleCode: null,
+ laboratory: null,
+ factory: null,
+ sampleType: null,
+ sample: null,
+ model: null,
+ modelNum: null,
+ sampleNum: 1,
+ isLeave: 0,
+ unit: null
+ },
+ type: [],
+ selectStandardTree: false,
+ search: null,
+ list: [],
+ selectStandardTreeLoading: false,
+ selectTree: null,
+ expandedKeys: [],
+ sampleList: [],
+ sampleIds: [],
+ methodList: [],
+ addSampleDia: false,
+ count: 1,
+ productList: [],
+ productList0: [],
+ bsm1DiaList: [],
+ productIds: [],
+ productListSelected: [],
+ getProductLoad: false,
+ saveLoad: false,
+ templateDia: false,
+ templateLoading: false,
+ templateName: '',
+ upLoad: false,
+ units: [],
+ models: [],
+ methods: [],
+ methodLoad: false,
+ filters: [],
+ currentMethod: null,
+ isAskOnlyRead: false,
+ sampleId: null,
+ bsmRow: null,
+ bsm1: false,
+ bsm1Val: null,
+ bsm1DiaAll: false,
+ bsm2: false,
+ bsm2Val: null,
+ bsm2Dia: false,
+ bsm2Val2: [],
+ bsm2Val3: [],
+ bsmRow3: null,
+ bsm3Val: null,
+ bsm3Dia: false,
+ // total: 0,
+ RTS: '',
+ totalArr: [],
+ model: null,
+ standardMethodListId: null,
+ symbolList:['RTS'],
+ inspectionItem:null,
+ inspectionItemSubclass:null,
+ methodS:null,
+ isBsm2Val2:false,
+ isShowInput: false,
+ temId: '',
+ selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃
+ checkType: [], // 妫�楠岀被鍨嬮�夐」鏁版嵁
+ addObjRules: { // 琛ㄥ崟鏍¢獙瑙勫垯
+ sample: [
+ { required: true, message: '璇烽�夋嫨鏍峰搧', trigger: 'change' }
+ ],
+ qtyArrived: [
+ { validator: validateSixDecimalPositives, trigger: 'blur' }
+ ],
+ testQuantity: [
+ { required: true, message: '璇峰~鍐欐娊妫�鏁伴噺', trigger: 'blur' }
+ ],
+ supplierName: [
+ { required: true, message: '璇峰~鍐欐潗鏂欏巶瀹�', trigger: 'blur' }
+ ],
+ appointed: [
+ { required: true, message: '璇烽�夋嫨绾﹀畾鏃堕棿', trigger: 'change' }
+ ],
+ buyUnitMeas: [
+ { required: true, message: '璇峰~鍐欏崟浣�', trigger: 'blur' }
+ ],
+ updateBatchNo: [
+ { required: true, message: '璇峰~鍐欐壒娆″彿', trigger: 'blur' }
+ ],
+ partDetail: [
+ { required: true, message: '璇峰~鍐欒鏍煎瀷鍙�', trigger: 'blur' }
+ ],
+ declareDate: [
+ { required: true, message: '璇峰~鍐欏埌璐ф椂闂�', trigger: 'blur' }
+ ]
+ },
+ noNeedCheckDia: false,
+ }
+ },
+ watch: {
+ sampleList() {
+ this.addObj.method = null
+ this.productList = []
+ },
+ productList: {
+ deep: true,
+ handler(val) {
+ if (val && val.length > 0) {
+ let arr = [];
+ val.forEach(item => {
+ if (item.sonLaboratory && !arr.find(a => a.value == item.sonLaboratory)) {
+ arr.push({
+ text: item.sonLaboratory,
+ value: item.sonLaboratory
+ })
+ }
+ })
+ this.filters = arr
+ }
+ }
+ },
+ 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) {
+ this.getTotal()
+ }
+ },
+ 'addObj.sample'(val) {
+ this.model = null
+ this.standardMethodListId = null
+ },
+ 'addObj.sampleNum'(val) {
+ this.model = null
+ this.standardMethodListId = null
+ }
+ },
+ mounted() {
+ this.active = this.$route.query.active
+ this.selectEnumByCategoryForType()
+ this.getUserNow()
+ this.selectStandardTreeList()
+ this.selectStandardMethods()
+ this.selectCheckType() // 鏌ヨ妫�楠岀被鍨�
+ this.getInfo() // 鑾峰彇鏁版嵁
+ },
+ methods: {
+ // 鎷嗗垎
+ handleSplitCountNum () {
+ this.sample.joinName = null
+ this.sample.joinModel = null
+ this.sample.joinNum = 1
+ // 涓ゆ潯鏁版嵁淇濇寔涓�鑷�
+ this.sample.sample = this.sampleList[0].sample
+ this.sample.model = this.sampleList[0].model
+ this.sample.unit = this.sampleList[0].unit
+ this.sample.modelNum = this.sampleList[0].modelNum
+ this.sample.standardMethodListId = this.sampleList[0].standardMethodListId
+ this.sample.insProduct = []
+ this.sample.id = this.count
+ this.sample.childSampleList = []
+ this.sample.insulating = null
+ this.sample.sheath = null
+ this.sampleList.push(this.HaveJson(this.sample))
+ this.sampleList.forEach(item => {
+ item.quantity = 1
+ })
+ this.count++
+ this.computationalPairing(this.sampleList.length)
+ },
+ noNeedCheck () {
+ this.$refs['addObj'].validate((valid) => {
+ if (valid) {
+ if (!this.sampleList.every(m => m.standardMethodListId)) {
+ this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
+ return
+ }
+ // 妫�楠岀被鍨嬩负杩涘巶妫�楠屾椂鍙�夋嫨鍏嶆锛屼絾涓嶈兘閫夋嫨妫�楠岄」
+ const sampleList = this.HaveJson(this.sampleList)
+ sampleList.forEach(item => {
+ item.insProduct = this.productList
+ })
+ this.getTotal(sampleList)
+ let projectNum = this.totalArr.filter(a => a.state == 1).length
+ if (projectNum!=0){
+ this.$message.error('鍏嶆涓嶅彲閫夋嫨妫�楠岄」')
+ return
+ }
+ this.noNeedCheckDia = true
+ } else {
+ console.log('error submit!!');
+ return false;
+ }
+ });
+ },
+ handleNoNeedCheck () {
+ const sampleList = this.HaveJson(this.sampleList)
+ sampleList.forEach(item => {
+ item.insProduct = this.productList
+ })
+ this.getTotal(sampleList)
+ let projectNum = this.totalArr.filter(a => a.state == 1).length
+ if (projectNum!=0){
+ this.$message.error('鍏嶆涓嶅彲閫夋嫨妫�楠岄」')
+ } else {
+ const pairing = []
+ let trees = this.selectTree.split(" - ")
+ if (trees.length < 3) {
+ this.$message.error('鏈�夋嫨瀵硅薄')
+ return
+ }
+ this.addObj.factory = trees[0]
+ this.addObj.laboratory = trees[1]
+ this.addObj.sampleType = trees[2]
+ if (trees[3] === undefined || trees[3] === '') {
+ this.addObj.sample = trees[2]
+ } else {
+ this.addObj.sample = trees[3]
+ }
+ this.addObj.model = (trees[4] == undefined ? null : trees[4])
+ this.noNeedCheckLoad = true
+ this.$axios.post(this.$api.rawMaterialOrder.addRawCopperOrderExemptionOrder, {
+ str: JSON.stringify({
+ insOrder: this.addObj,
+ list: JSON.stringify(sampleList.map(a => {
+ if (a.modelNum) {
+ // 鏍规嵁x鍙峰垽鏂瀷鍙峰弬鏁颁笌鏍峰搧鍨嬪彿鐨勬嫾鎺ヤ綅缃�
+ // 渚嬪脳4锛屽氨涓�500ML脳4锛�4脳锛屽氨涓�4脳500ML
+ const index = a.modelNum.indexOf('脳')
+ if (index === 0) {
+ a.model = a.model + a.modelNum
+ } else if (index === -1) {
+ a.model = a.model + '-' + a.modelNum
+ } else {
+ a.model = a.modelNum + a.model
+ }
+ } else {
+ a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum))
+ }
+ a.insProduct = a.insProduct.filter(b=>b.state === 1)
+ return a
+ })),
+ pairing: JSON.stringify(pairing)
+ })
+ }).then(res => {
+ this.noNeedCheckLoad = false
+ if (res.code == 201) return
+ this.$message.success('宸叉彁浜�')
+ this.$parent.playOrder(0)
+ }).catch(e=>{
+ this.noNeedCheckLoad = false
+ })
+ }
+ },
+ // 鑾峰彇鏁版嵁
+ getInfo () {
+ if (this.active != 1) {
+ // 鏌ョ湅娴佺▼
+ // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹�
+ this.$axios.post(this.$api.insOrder.getInsOrder, {
+ orderId: this.currentId
+ }).then(res => {
+ 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.addObj.type = String(this.addObj.type)
+ this.sampleList = this.HaveJson(res.data.sampleProduct);
+ this.getProNum()
+ this.addObj.sampleNum = this.sampleList.length
+ this.$nextTick(() => {
+ this.$refs.sampleTable.doLayout()
+ if (this.sampleList.length > 0) { // 鏌ョ湅鏃跺鏋滄湁鏍峰搧榛樿閫変腑绗竴鏉�
+ this.productList = this.sampleList[0].insProduct
+ this.$refs.sampleTable.setCurrentRow(this.sampleList[0], true)
+ this.rowClick(this.sampleList[0])
+ }
+ })
+ })
+ }
+ },
+ selectCheckType() {
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "妫�楠岀被鍨�"
+ }).then(res => {
+ this.checkType = res.data
+ })
+ },
+ //鐗规畩鍊煎~鍐欏鐞�
+ inputValueHandler(row,index){
+ if(row){
+ const nextIndex = index+1
+ for (let i = nextIndex; i < this.editTable.length; i++) {
+ const element = this.editTable[i];
+ if(element.model==row.model&&row.symbolItem==element.symbolItem){
+ this.editTable[i].value = row.value
+ }
+ }
+ }
+ },
+ changeProductList0(){
+ this.productList0.forEach(a=>{
+ let obj = this.productList.find(m => m.id == a.id)
+ if(obj){
+ a.state = obj.state
+ a.section = obj.section
+ a.ask = obj.ask
+ a.manHour = obj.manHour
+ a.price = obj.price
+ a.tell = obj.tell
+ }
+ if(a.state == 0&&a.bsmRow){
+ a = this.HaveJson(a.bsmRow)
+ }
+ })
+ },
+ searchFilterList () {
+ const vtw = {
+ inspectionItem: this.inspectionItem, // 妫�楠岄」
+ inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」
+ methodS: this.methodS, // 璇曢獙鏂规硶
+ }
+ const isHaveValue = Object.values(vtw).some(item => {
+ return item
+ })
+ this.changeProductList0()
+ if (isHaveValue) {
+ for(let i in vtw) {
+ if (vtw[i]) {
+ this.productList = this.productList0.filter((item) => {
+ return item[i] && item[i].includes(vtw[i])
+ })
+ }
+ }
+ this.$nextTick(()=>{
+ this.productList.forEach(a => {
+ if (a.state == 1) this.toggleSelection(a)
+ })
+ })
+ } else {
+ // 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹�
+ this.productList = this.productList0
+ this.$nextTick(()=>{
+ this.productList.forEach(a => {
+ if (a.state == 1) this.toggleSelection(a)
+ })
+ })
+ }
+ },
+ selectEnumByCategoryForType() {
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "绱ф�ョ▼搴�"
+ }).then(res => {
+ this.type = res.data
+ })
+ },
+ containsValue(str) {
+ if(str){
+ let symbolItem = ''
+ this.symbolList.some(value =>{
+ if(str.includes(value)){
+ symbolItem = value
+ return true
+ }
+ })
+ return symbolItem
+ }
+ },
+ handleAsk(ask,symbolItem, value) {
+ try{
+ let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"];
+ let code2 = ['+', '*', '/', '-']
+ if (ask.includes('&')) {
+ // 澶氫釜鏉′欢
+ let arr0 = ask.split('&')
+ let arr1 = []
+ arr0.forEach(m => {
+ let index = code.findIndex(b => m.includes(b))
+ if (index > -1) {
+ let arr = m.split(code[index]).filter(b => !!b)
+ let num = eval(this.replaceAll(arr[0], symbolItem, value))
+ m = code[index] + '' + num
+ arr1.push(m)
+ }
+ })
+ return arr1.join('&')
+ } else if (ask.includes('锝�') || ask.includes('~')) {
+ let arr0 = []
+ if (ask.includes('锝�')) {
+ arr0 = ask.split('锝�')
+ } else {
+ arr0 = ask.split('~')
+ }
+ // 澶氫釜鏉′欢
+ let arr1 = []
+ arr0.forEach(m => {
+ m = m.replace(symbolItem, value)
+ const index = code2.findIndex(b => m.includes(b))
+ if (index > -1) {
+ m = eval(m)
+ }
+ arr1.push(m)
+ })
+ return arr1.join('锝�')
+ } else {
+ // 鍗曚釜鏉′欢
+ let index = code.findIndex(b => ask.includes(b))
+ if (index > -1) {
+ let arr = ask.split(code[index]).filter(b => !!b)
+ let num = eval(this.replaceAll(arr[0], symbolItem, value))
+ return code[index] + '' + num
+ }
+ }
+ }catch(e){}
+ },
+ handleTell(tell,symbolItem, value){
+ try{
+ let num = this.replaceAll(tell, symbolItem, value)
+ return num
+ }catch(e){}
+ },
+ replaceAll(str,find,value) {
+ if (str === undefined) {
+ return str
+ }
+ return str.replaceAll(find, value);
+ },
+ save() {
+ this.$refs['addObj'].validate((valid) => {
+ 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)
+ sampleList.forEach(item => {
+ item.quantity = 1
+ item.insProduct = this.productList
+ })
+ this.getTotal(sampleList)
+ let projectNum = this.totalArr.filter(a => a.state == 1).length
+ if(projectNum==0){
+ this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ this.saveMethod(sampleList)
+ }).catch(() => {})
+ }else{
+ let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1)
+ if (isRTS) {
+ this.editTable = this.handleData(sampleList,this.containsValue, 0)
+ this.editTable.forEach(item => {
+ item.value = item.modelNum
+ })
+ this.bsm3Dia = true;
+ return
+ }
+ this.saveMethod(sampleList)
+ }
+ } else {
+ console.log('error submit!!');
+ return false;
+ }
+ });
+ },
+ save0(){
+ if(this.editTable.every(m=>m.value)){
+ this.sampleList.forEach(item => {
+ item.quantity = 1
+ item.insProduct = this.productList
+ })
+ let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1)
+ sampleList.forEach(a => {
+ a.insProduct = a.insProduct.filter(b=>b.state === 1)
+ })
+ this.saveMethod(sampleList)
+ }else{
+ this.$message.error('璇峰~鍐欒瘑鍒鍊�')
+ }
+ },
+ handleData(sampleList,calBack,type){
+ let editTable = []
+ sampleList.forEach(item => {
+ let obj = {
+ sampleCode:item.sampleCode,
+ model:item.model,
+ symbolList:[],
+ sampleId:item.id,
+ modelNum:item.modelNum,
+ }
+ if (item.insProduct && item.insProduct.length > 0) {
+ item.insProduct.forEach(a => {
+ if (a.state == 1) {
+ if(type==0){
+ let str = calBack(a.ask)
+ str&&obj.symbolList.push({
+ symbolItem:str,
+ inspectionItem:a.inspectionItem,
+ })
+ }else if(type==1){
+ let arr = this.editTable.filter(b => b.sampleId == item.id)
+ for (var i=0;i<arr.length;i++){
+ if(a.ask){
+ if(a.ask.includes(arr[i].symbolItem)){
+ let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value)
+ if (ask) {
+ a.ask = ask
+ }
+ let tell = this.handleAsk(a.tell, arr[i].symbolItem,arr[i].value)
+ if (tell) {
+ a.tell = tell
+ }
+ }
+ }else{
+ this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒')
+ }
+ }
+ }
+ }
+ })
+ }
+ // 鍏夌氦甯﹂」鐩�
+ if (item.bushing && item.bushing.length > 0) {
+ item.bushing.forEach(a => {
+ if (a.fiber && a.fiber.length > 0) {
+ a.fiber.forEach(b => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach(c => {
+ if (c.state == 1) {
+ if(type==0){
+ let str = calBack(c.ask)
+ str&&obj.symbolList.push({
+ symbolItem:str,
+ inspectionItem:c.inspectionItem,
+ })
+ }else if(type==1){
+ let arr = this.editTable.filter(b => b.sampleId == item.id)
+ arr.forEach(f => {
+ if(c.ask.includes(f.symbolItem)){
+ let ask = calBack(c.ask, f.symbolItem,f.value)
+ if (ask) {
+ c.ask = ask
+ }
+ let tell = this.handleTell(c.tell, f.symbolItem,f.value)
+ if (tell) {
+ c.tell = tell
+ }
+ }
+ })
+ }
+ }
+ })
+ }
+ })
+ }
+ if (a.fibers && a.fibers.length > 0) {
+ a.fibers.forEach(b => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach(c => {
+ if (c.state == 1) {
+ if(type==0){
+ let str = calBack(c.ask)
+ str&&obj.symbolList.push({
+ symbolItem:str,
+ inspectionItem:c.inspectionItem,
+ })
+ }else if(type==1){
+ // let ask = calBack(c.ask, c.rts)
+ // if (ask && c.state == 1) {
+ // c.ask = csk
+ // }
+ let arr = this.editTable.filter(b => b.sampleId == item.id)
+ arr.forEach(f => {
+ if(c.ask.includes(f.symbolItem)){
+ let ask = calBack(c.ask, f.symbolItem,f.value)
+ if (ask) {
+ c.ask = ask
+ }
+ let tell = this.handleTell(c.tell, f.symbolItem,f.value)
+ if (tell) {
+ c.tell = tell
+ }
+ }
+ })
+ }
+ }
+ })
+ }
+ if (b.fiber && b.fiber.length > 0) {
+ b.fiber.forEach(c => {
+ if (c.productList && c.productList.length > 0) {
+ c.productList.forEach(d => {
+ if (d.state == 1) {
+ if(type==0){
+ let str = calBack(d.ask)
+ str&&obj.symbolList.push({
+ symbolItem:str,
+ inspectionItem:d.inspectionItem,
+ })
+ }else if(type==1){
+ // let ask = calBack(d.ask, d.rts)
+ // if (ask && d.state == 1) {
+ // d.ask = ask
+ // }
+ let arr = this.editTable.filter(b => b.sampleId == item.id)
+ arr.forEach(f => {
+ if(d.ask.includes(f.symbolItem)){
+ let ask = calBack(d.ask, f.symbolItem,f.value)
+ if (ask) {
+ d.ask = ask
+ }
+ let tell = this.handleTell(d.tell, f.symbolItem,f.value)
+ if (tell) {
+ d.tell = tell
+ }
+ }
+ })
+ }
+ }
+ })
+ }
+ })
+ }
+ })
+ }
+ })
+ }
+ if(type==0){
+ editTable.push(obj)
+ }
+ })
+ if(type==0){
+ editTable.forEach(a => {
+ a.symbolList.forEach(b => {
+ let arr = a.symbolList.filter(c => c.symbolItem == b.symbolItem);
+ b.inspectionItemList = arr.map(c => c.inspectionItem).join(',')
+ })
+ })
+ editTable.forEach(a => {
+ let mySet = new Set();
+ a.symbolList = a.symbolList.filter(b =>{
+ let num0 = mySet.size;
+ mySet.add(b.symbolItem);
+ let num1 = mySet.size;
+ if(num0!=num1){
+ return true;
+ }else{
+ return false
+ }
+ })
+ })
+ let editTableNew = []
+ editTable.forEach(a => {
+ a.symbolList.forEach(b => {
+ let obj = {
+ sampleCode:a.sampleCode,
+ model:a.model,
+ symbolItem:b.symbolItem,
+ sampleId:a.sampleId,
+ value:null,
+ inspectionItemList:b.inspectionItemList,
+ modelNum:a.modelNum,
+ }
+ editTableNew.push(obj)
+ })
+ })
+ return editTableNew
+ }else{
+ return sampleList
+ }
+ },
+ saveMethod(sampleList){
+ this.saveLoad = true
+ this.$axios.post(this.$api.insOrder.addRawCopperOrder, {
+ str: JSON.stringify({
+ insOrder: this.addObj,
+ list: JSON.stringify(sampleList.map(a => {
+ if (this.PROJECT === '瑁呭鐢电紗') {
+ if (a.modelNum) {
+ const index = a.modelNum.indexOf('脳')
+ if (index === 0) {
+ a.model = a.model + a.modelNum
+ } else if (index === -1) {
+ a.model = a.model + '-' + a.modelNum
+ } else {
+ a.model = a.modelNum + a.model
+ }
+ } else {
+ a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum))
+ }
+ } else {
+ a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum))
+ }
+ a.insProduct = a.insProduct.filter(b=>b.state === 1)
+ return a
+ })),
+ pairing: JSON.stringify(this.bsm2Val2)
+ })
+ }).then(res => {
+ this.saveLoad = false
+ if (res.code == 201) return
+ this.$message.success('宸叉彁浜�')
+ this.bsm3Dia = false;
+ this.$parent.playOrder(0)
+ }).catch(e=>{
+ this.saveLoad = false
+ })
+ },
+ getUserNow() {
+ this.$axios.get(this.$api.user.getUserNow).then(res => {
+ let selects = res.data
+ if (selects == null) return
+ this.addObj.userId = selects.id
+ this.addObj.company = selects.company
+ this.addObj.custom = selects.name
+ this.addObj.code = selects.code
+ this.addObj.phone = selects.phone
+ this.addObj.companyId = selects.departId
+ if(this.active==1){
+ this.selectInsOrderTemplate()
+ }
+ })
+ },
+ 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() {
+ this.$refs.tree.filter(this.search)
+ },
+ nodeOpen(data, node, el) {
+ $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened')
+ },
+ nodeClose(data, node, el) {
+ $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
+ },
+ handleNodeClick(val, node, el) {
+ this.selectTree = ''
+ this.models = val.children
+ this.getNodeParent(node)
+ let flag = false
+ if (node.level == 3) {
+ if(node.data.children.length>0){
+ node.data.children.forEach(a => {
+ let key = Object.keys(a)
+ if(!key.includes('level')) {
+ flag = true
+ }
+ })
+
+ }
+ }
+ this.selectTree = this.selectTree.replace(' - ', '')
+ if(flag) {
+ this.selectTree = ' - - ' + this.selectTree
+ }
+ let data = this.selectTree.split(' - ')
+ let data2 = ''
+ for (let index = data.length - 1; index >= 0; index--) {
+ data2 += " - " + data[index]
+ }
+ this.selectTree = data2.replace(' - ', '')
+ },
+ getNodeParent(val) {
+ if (val.parent != null) {
+ if (val.data.children === null) {
+ this.selectTree += ' - ' + val.label + ' - ' + ''
+ } else {
+ this.selectTree += ' - ' + val.label
+ }
+ this.getNodeParent(val.parent)
+ }
+ },
+ selectStandardTreeList() {
+ this.selectStandardTreeLoading = true
+ this.$axios.get(this.$api.standardTree.selectStandardTreeList2).then(res => {
+ this.list = res.data
+ this.list.forEach(a => {
+ this.expandedKeys.push(a.label)
+ })
+ this.selectStandardTreeLoading=false
+ })
+ },
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.label.indexOf(value) !== -1;
+ },
+ activeStandardTree() {
+ let trees = this.selectTree.split(" - ")
+ if (trees.length < 3) {
+ this.$message.error('鏈�夋嫨瀵硅薄')
+ return
+ }
+ this.addObj.factory = trees[0]
+ this.addObj.laboratory = trees[1]
+ this.addObj.sampleType = trees[2]
+ if (trees[3] === undefined || trees[3] === '' || trees[3] === '- ') {
+ this.addObj.sample = trees[2]
+ } else {
+ this.addObj.sample = trees[3]
+ }
+ this.addObj.model = (trees[4] == undefined ? null : trees[4])
+ this.selectStandardTree = false
+ this.sampleList = []
+ for (var i = 0; i < this.addObj.sampleNum; i++) {
+ this.sample.joinName = null
+ this.sample.joinModel = null
+ this.sample.joinNum = 1
+ this.sample.sample = this.addObj.sample
+ this.sample.model = this.addObj.model
+ this.sample.unit = this.addObj.unit
+ this.sample.standardMethodListId = null
+ this.sample.insProduct = []
+ this.sample.id = this.count
+ this.sample.childSampleList = []
+ this.sample.insulating = null
+ this.sample.sheath = null
+ this.sampleList.push(this.HaveJson(this.sample))
+ this.count++
+ }
+ this.$refs.sampleTable.doLayout()
+ // this.selectsStandardMethodByFLSSM()
+ },
+ selectsStandardMethodByFLSSM() {
+ this.methodLoad = true
+ this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+ tree: this.selectTree
+ }).then(res => {
+ this.methodLoad = false
+ try {
+ if (res.data.standardMethodList.length == 0 && this.selectTree.split('-').length == 5) {
+ let arr = this.selectTree.split('-')
+ let arr0 = arr.slice(0, arr.length - 1)
+ let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
+ this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+ tree: selectTree
+ }).then(ress => {
+ this.methods = ress.data.standardMethodList
+ })
+ } else {
+ this.methods = res.data.standardMethodList
+ }
+ } catch (e) {}
+ })
+ },
+ addStandardTree() {
+ if (this.selectTree == null) return
+ this.sampleList = []
+ this.productList = []
+ for (var i = 0; i < this.addObj.sampleNum; i++) {
+ this.sample.joinName = null
+ this.sample.joinModel = null
+ this.sample.joinNum = 1
+ this.sample.sample = this.addObj.sample
+ this.sample.model = this.addObj.model
+ this.sample.unit = this.addObj.unit
+ this.sample.standardMethodListId = null
+ this.sample.insProduct = []
+ this.sample.id = parseInt(i+1)
+ this.sample.childSampleList = []
+ this.sample.insulating = null
+ this.sample.sheath = null
+ this.sampleList.push(this.HaveJson(this.sample))
+ // this.count++
+ }
+ this.computationalPairing(this.sampleList.length)
+ this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
+ },
+ selectSample(val) {
+ this.sampleIds = []
+ val.forEach(a => {
+ this.sampleIds.push(a.id)
+ })
+ this.sampleSelectionList = val
+ },
+ selectProduct(val) {
+ this.productListSelected = val
+ this.productIds = []
+ val.forEach(a => {
+ this.productIds.push(a.id)
+ })
+ },
+ rowClick(row, column, event) {
+ this.currentMethod = row
+ let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
+ if (obj && obj.code == '鎶�鏈姹�') {
+ this.isAskOnlyRead = true
+ } else {
+ this.isAskOnlyRead = false
+ }
+ this.sampleId = row.id
+ if (this.active !== 1) {
+ this.sampleIds = []
+ this.sampleSelectionList.forEach(ele=>{
+ if(ele.id == row.id){
+ this.sampleIds.push(row.id)
+ }
+ })
+ }
+ // this.productList = row.insProduct
+ if (this.productList !== null) {
+ setTimeout(() => {
+ this.productList.forEach(a => {
+ if (a.state == 1) this.toggleSelection(a)
+ })
+ }, 200)
+ }
+ },
+ toggleSelection(row) {
+ this.$refs.productTable.toggleRowSelection(row, true);
+ },
+ selectOne(selection, row) {
+ this.bsm1DiaList = []
+ row.state = row.state == 1 ? 0 : 1
+ if(row.section === null) {
+ row.section = ""
+ }
+ if (row.sectionCopy === undefined && row.section) {
+ if (row.section.indexOf('[') > -1) {
+ this.$set(row, 'sectionCopy', row.section)
+ }
+ }
+ if (row.ask.includes('[')) {
+ this.$set(row, 'askCopy', row.ask)
+ }
+ if (row.tell.includes('[')) {
+ this.$set(row, 'tellCopy', row.tell)
+ }
+ // if (row.manHour.includes('[')) {
+ // this.$set(row, 'manHourCopy', row.manHour)
+ // }
+ // if (row.price.includes('[')) {
+ // this.$set(row, 'priceCopy', row.price)
+ // }
+ let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1)
+ if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1&&arr.length==0) {
+ if (row.sectionCopy.indexOf('[') > -1) {
+ row.bsmRow = this.HaveJson(row)
+ }
+ row.bsm1 = true
+ this.bsm1DiaList.push(row)
+ this.bsm1DiaAll = true
+ } else if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.state === 0&&arr.length==0) {
+ row.bsm1 = false
+ }else if(arr.length>0){
+ try{
+ row.bsmRow = this.HaveJson(row)
+ let sectionCopy = arr[0].sectionCopy
+ let arr0 = JSON.parse(row.sectionCopy)
+ let arr1 = JSON.parse(row.ask)
+ // let arr2 = JSON.parse(row.manHour)
+ // let arr3 = JSON.parse(row.price)
+ let arr4 = JSON.parse(row.tell)
+ let index = arr0.indexOf(sectionCopy)
+ row.sectionCopy = sectionCopy
+ row.ask = arr1[index]
+ // row.manHour = arr2[index]
+ // row.price = arr3[index]
+ row.tell = arr4[index]
+ } catch(e) {}
+ }
+ this.sampleList.map(item => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map(m => {
+ if (m.id == row.id) {
+ m.state = row.state;
+ }
+ return m;
+ })
+ }
+ return item
+ })
+ this.changeProductList0()
+ this.currentMethod.insProduct = this.productList0
+ this.getProNum()
+ },
+ permute(nums) {
+ const result = [];
+
+ function backtrack(temp, nums) {
+ if (temp.length === 2) {
+ result.push([...temp]);
+ return;
+ }
+ for (let i = 0; i < nums.length; i++) {
+ if (temp.includes(nums[i])) continue;
+ // 閬垮厤閲嶅鏁板瓧
+ if (temp.length > 0 && nums[i] < temp[temp.length - 1]) continue; // 瑙勫畾椤哄簭锛岄伩鍏嶉噸澶嶇粍鍚�
+ temp.push(nums[i]);
+ backtrack(temp, nums);
+ temp.pop();
+ }
+ }
+ backtrack([], nums);
+ return result;
+ },
+ computationalPairing(n) {
+ const nums = [];
+ for (let i = 1; i <= n; i++) {
+ nums.push(i);
+ }
+ this.bsm2Val3 = this.HaveJson(this.permute(nums))
+ },
+ tableRowClassName({row, rowIndex}) {
+ if (row.state === 0) {
+ return '';
+ }
+ return 'warning-row';
+ },
+ selectInsOrderTemplate() {
+ this.$axios.get(this.$api.insOrder.selectInsOrderTemplate+'?company='+this.addObj.company).then(res => {
+ if (res.code == 201) return
+ this.templates = res.data
+ })
+ },
+ methodChange(val, row) {
+ if (val === null || val === '') return
+ if (this.sampleList.length > 1) {
+ // 鏈変袱鏉℃牱鍝佹椂锛岀浜屾潯鏍峰搧淇℃伅鍜岀涓�鏉′繚鎸佷竴鑷�
+ this.sampleList.forEach(item => {
+ item.standardMethodListId = val
+ item.modelNum = row.modelNum
+ })
+ }
+ this.currentMethod = row
+ let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
+ if (obj && obj.code == '鎶�鏈姹�') {
+ this.isAskOnlyRead = true
+ } else {
+ this.isAskOnlyRead = false
+ }
+ this.getProductLoad = true
+ let selectTreeList = this.selectTree.split(" - ")
+ this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
+ this.$axios.post(this.$api.standardTree.selectStandardProductList, {
+ model: this.addObj.model?this.addObj.model:row.model,
+ modelNum: row.modelNum,
+ standardMethodListId: val,
+ factory: selectTreeList.join(" - "),
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ res.data.forEach(a => {
+ a.state = 0
+ })
+ row.insProduct = this.HaveJson(res.data)
+ this.getProductLoad = false
+ this.productList = row.insProduct
+ 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)
+ })
+ this.searchTemList()
+ },
+ searchTemList () {
+ this.temperatureList = []
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "鐢靛姏娓╁害寰幆妫�楠�"
+ }).then(res => {
+ if (res.data.length > 0) {
+ this.temperatureEngList = res.data
+ res.data.forEach(item => {
+ this.temperatureList.push(item.label)
+ })
+ }
+ })
+ },
+ changeModel() {
+ this.sampleList.forEach(a => {
+ let obj = this.sampleIds.find(b => b == a.id)
+ if (obj) {
+ a.model = this.model
+ }
+ })
+ },
+ changeStandardMethodListId() {
+ this.sampleList.forEach(a => {
+ let obj = this.sampleIds.find(b => b == a.id)
+ if (obj) {
+ a.standardMethodListId = this.standardMethodListId
+ this.methodChange(this.standardMethodListId, a)
+ }
+ })
+ },
+ methodFocus() {
+ this.selectsStandardMethodByFLSSM()
+ },
+ handleChangeModel(e) {
+ this.productList = []
+ let num = this.selectTree.split('-').length;
+ if (num != 5) {
+ this.selectTree = this.selectTree + ' - ' + e
+ } else {
+ let arr = this.selectTree.split('-')
+ let arr0 = arr.slice(0, arr.length - 1)
+ this.selectTree = arr0.join('-') + '- ' + e
+ }
+ },
+ // 瑕佹眰鍊煎彉鍖栨椂
+ requestChange(e, row,type) {
+ //this.currentMethod 褰撳墠鏍峰搧id
+ this.sampleList.forEach(item=>{
+ if(item.id == this.currentMethod.id){
+ item.insProduct.forEach(i=>{
+ if(i.id == row.id){
+ i[type] = e
+ }
+ })
+ }
+ })
+ },
+ selectStandardMethods() {
+ this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
+ this.methods = res.data
+ })
+ },
+ selectable() {
+ if (this.active > 1) {
+ return false
+ } else {
+ return true
+ }
+ },
+ handleAll(e) {
+ if (e.length > 0) {
+ this.productList.map(m => {
+ if(e.find(a=>a.id == m.id)){
+ m.state = 1
+ }
+ return m
+ })
+ } else {
+ this.productList.map(m => {
+ m.state = 0
+ return m
+ })
+ }
+ this.bsmRow3 = [];
+ this.bsm1DiaList = []
+ this.productList.forEach(p => {
+ if (p.sectionCopy === undefined && p.section) {
+ if (p.section.indexOf('[') > -1) {
+ this.$set(p, 'sectionCopy', p.section)
+ }
+ }
+ if (p.ask.includes('[')) {
+ this.$set(p, 'askCopy', p.ask)
+ }
+ if (p.tell.includes('[')) {
+ this.$set(p, 'tellCopy', p.tell)
+ }
+ // if (p.manHour.includes('[')) {
+ // this.$set(p, 'manHourCopy', p.manHour)
+ // }
+ // if (p.price.includes('[')) {
+ // this.$set(p, 'priceCopy', p.price)
+ // }
+ if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) {
+ if (p.sectionCopy.indexOf('[') > -1) {
+ p.bsmRow = this.HaveJson(p)
+ }
+ p.bsm1 = true
+ this.bsm1DiaList.push(p)
+ this.bsm1DiaAll = true
+ } else if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.state === 0) {
+ p.bsm1 = false
+ }
+ })
+ if (e.length > 0) {
+ this.sampleList.map(item => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map(m => {
+ m.state = 1
+ return m;
+ })
+ }
+ return item
+ })
+ } else {
+ this.sampleList.map(item => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map(m => {
+ m.state = 0
+ return m;
+ })
+ }
+ return item
+ })
+ }
+ this.changeProductList0()
+ this.currentMethod.insProduct = this.productList0
+ this.getProNum()
+ this.$nextTick(() => {
+ this.$refs.productTable.doLayout()
+ })
+ },
+ filterHandler(value, row, column) {
+ const property = column['property'];
+ return row[property] === value;
+ },
+ // 鍏ㄩ�夌壒娈婂�煎鐞嗘閫夋嫨瑕佹眰鍊肩殑鍥炶皟
+ upBsmAll (item) {
+ const i = this.bsm1DiaList.findIndex(obj => obj.id === item.id)
+ if (i > -1) {
+ // 鎵惧埌鐩稿簲鐨勬楠岄」璧嬪��
+ this.bsm1DiaList[i].bsm1Val = item.bsm1Val
+ let sections = this.bsm1DiaList[i].bsmRow.sectionCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.sectionCopy);
+ let asks = this.bsm1DiaList[i].bsmRow.askCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.askCopy);
+ let tells = this.bsm1DiaList[i].bsmRow.tellCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.tellCopy);
+ // let manHours = this.bsm1DiaList[i].bsmRow.manHourCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.manHourCopy);
+ // let prices = this.bsm1DiaList[i].bsmRow.priceCopy && JSON.parse(this.bsm1DiaList[i].bsmRow.priceCopy);
+ for (var a in sections) {
+ if (this.bsm1DiaList[i].bsm1Val === sections[a]) {
+ this.productList.forEach(p => {
+ // 灏嗛�夋嫨濂界殑瑕佹眰鍊艰祴鍊煎埌鍒楄〃閲�
+ if (p.id === this.bsm1DiaList[i].bsmRow.id) {
+ p.section = sections[a]
+ p.ask = asks[a]
+ p.tell = tells[a]
+ // p.manHour = manHours[a]
+ // p.price = prices[a]
+ }
+ })
+ break
+ }
+ }
+ }
+ this.changeProductList0()
+ this.currentMethod.insProduct = this.productList0
+ },
+ save1 () {
+ if (this.bsm1DiaList.length > 0) {
+ this.bsm1DiaList.forEach(item => {
+ if (!item.bsm1Val) {
+ throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
+ }
+ })
+ }
+ this.bsm1DiaAll = false
+ },
+ beforeClose(done) {
+ if (this.bsm1DiaList.length > 0) {
+ this.bsm1DiaList.forEach(item => {
+ if (!item.bsm1Val) {
+ throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
+ }
+ })
+ }
+ done()
+ },
+ beforeClose0(done) {
+ if (!this.bsm3Val) {
+ this.$message.error('RST蹇呴』濉啓')
+ return
+ } else {
+ if (Array.isArray(this.bsmRow3)) {
+ this.bsmRow3.forEach(item => {
+ item.rts = this.bsm3Val
+ })
+ } else {
+ this.bsmRow3.rts = this.bsm3Val
+ }
+ }
+ done()
+ },
+ getTotal() {
+ this.totalArr = []
+ // this.total = 0;
+ this.sampleList.forEach(item => {
+ if (item.insProduct && item.insProduct.length > 0) {
+ item.insProduct.forEach(a => {
+ this.totalArr.push(a)
+ })
+ }
+ if (item.bushing && item.bushing.length > 0) {
+ item.bushing.forEach(a => {
+ if (a.fiber && a.fiber.length > 0) {
+ a.fiber.forEach(b => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach(c => {
+ this.totalArr.push(c)
+ })
+ }
+ })
+ }
+ if (a.fibers && a.fibers.length > 0) {
+ a.fibers.forEach(b => {
+ if (b.productList && b.productList.length > 0) {
+ b.productList.forEach(c => {
+ this.totalArr.push(c)
+ })
+ }
+ if (b.fiber && b.fiber.length > 0) {
+ b.fiber.forEach(c => {
+ if (c.productList && c.productList.length > 0) {
+ c.productList.forEach(d => {
+ this.totalArr.push(d)
+ })
+ }
+ })
+ }
+ })
+ }
+ })
+ }
+ })
+ let mySet = new Set();
+ let arr0 = this.totalArr.filter(item => {
+ if (item.state == 1) {
+ let num1 = mySet.size
+ if (item.manHourGroup === '' || !item.manHourGroup) {
+ return true
+ } else {
+ mySet.add(item.manHourGroup)
+ let num2 = mySet.size
+ if (num2 > num1) {
+ return true
+ } else {
+ return false
+ }
+ }
+ }
+ })
+ // arr0.forEach(item => {
+ // this.total += Number(item.price)
+ // })
+
+ },
+ goBack () {
+ const obj = { path: "/business/materialOrder" };
+ this.$tab.closeOpenPage(obj);
+ }
+ }
+}
+</script>
+<style scoped>
+.header {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 10px;
+}
+</style>
diff --git a/src/views/business/materialOrder/customsInspection.vue b/src/views/business/materialOrder/customsInspection.vue
index 8b85f92..6623b90 100644
--- a/src/views/business/materialOrder/customsInspection.vue
+++ b/src/views/business/materialOrder/customsInspection.vue
@@ -1,35 +1,35 @@
<template>
- <div class="ins_order_add">
+ <div class="app-container">
<div>
- <el-row class="title">
- <el-col :span="active > 1 && isShowTab ? 5 : 6" style="padding-left: 20px;text-align: left;">閲囪喘璁㈠崟淇℃伅</el-col>
- <el-col v-if="active > 1 && isShowTab" :span="4" style="text-align: left;margin-top: 12px">
- <ul class="tab">
+ <div class="header">
+ <div>
+ <span>閲囪喘璁㈠崟淇℃伅</span>
+ <ul class="tab" v-if="active > 1 && isShowTab">
<li v-for="(m,i) in dataTitle" :key="i" :class="{active:i===dataIndex}" @click="handleDataTab(m,i)">{{m.label}}</li>
</ul>
- </el-col>
- <el-col :span="active > 1 && isShowTab ? 15 : 18" style="text-align: right;">
- <el-select v-show="active==1" v-model="template" placeholder="涓嬪崟妯℃澘" size="medium" style="margin-right: 10px;"
- @change="selectInsOrderTemplateById">
+ </div>
+ <div>
+ <el-select v-show="active==1" v-model="template" placeholder="涓嬪崟妯℃澘" size="small" style="margin-right: 10px;"
+ @change="selectInsOrderTemplateByIdList">
<el-option v-for="(a, ai) in templates" :key="ai" :label="a.name" :value="a.id">
<span style="float: left">{{ a.name }}</span>
<i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px"
@click.stop="handleDelete(a)"></i>
</el-option>
</el-select>
- <el-button v-show="active==1" size="medium" @click="templateDia=true">
+ <el-button v-show="active==1" size="small" @click="templateDia=true">
<span style="color: #3A7BFA;">淇濆瓨妯℃澘</span>
</el-button>
- <el-button v-show="active==1 && addObj.orderType === '杩涘巶妫�楠�'" :loading="noNeedCheckLoad" size="medium" type="primary" @click="noNeedCheck">鍏嶆</el-button>
- <el-button v-show="active==1" :loading="saveLoad" size="medium" type="primary" @click="save">鎻愪氦</el-button>
- <el-button size="medium" @click="goBack">
+ <el-button v-show="active==1 && addObj.orderType === '杩涘巶妫�楠�'" :loading="noNeedCheckLoad" size="small" type="primary" @click="noNeedCheck">鍏嶆</el-button>
+ <el-button v-show="active==1" :loading="saveLoad" size="small" type="primary" @click="save">鎻愪氦</el-button>
+ <el-button size="small" @click="goBack">
<span style="color: #3A7BFA;">杩斿洖</span>
</el-button>
- </el-col>
- </el-row>
+ </div>
+ </div>
</div>
<div class="search">
- <el-form ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="120px">
+ <el-form ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="90px">
<el-row>
<el-col :span="6">
<el-form-item class="addObj-form-item" label="閲囪喘璁㈠崟鍙�:">
@@ -85,7 +85,7 @@
<el-row>
<el-col :span="6">
<el-form-item class="addObj-form-item" label="鍗曚綅:" prop="buyUnitMeas">
- <el-input v-model="addObj.buyUnitMeas" class="addObj-info" disabled size="small"></el-input>
+ <el-input v-model="addObj.buyUnitMeas" class="addObj-info" clearable disabled size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -98,14 +98,14 @@
<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 checkType" :key="ai" :label="a.label" :value="a.value"></el-option>
+ <el-option v-for="(a, ai) in dict.type.check_type" :key="ai" :label="a.label" :value="a.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="addObj-form-item" label="瑙勬牸鍨嬪彿:" placeholder="璇峰~鍐�" prop="partDetail">
<el-tooltip :content="addObj.partDetail" :disabled="!addObj.partDetail">
- <el-input v-model="addObj.partDetail" :disabled="active > 1" class="addObj-info" size="small"></el-input>
+ <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info" size="small"></el-input>
</el-tooltip>
</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 types" :key="ai" :label="a.label" :value="a.value"></el-option>
+ <el-option v-for="(a, ai) in dict.type.urgency_level" :key="ai" :label="a.label" :value="a.value"></el-option>
</el-select>
</el-form-item>
</el-col>
@@ -142,11 +142,10 @@
</el-form>
</div>
<div>
- <div style="display: flex;flex-direction: row;justify-content: space-between;padding: 5px 0;">
- <div v-if="active==1" style="display: flex;background: transparent;">
- <div class="search_thing">
- <div class="search_label">鏍峰搧鍨嬪彿锛�</div>
- <div class="search_input">
+ <div style="display: flex;justify-content: space-between;">
+ <div v-if="active==1">
+ <el-form :inline="true" :model="addObj1" label-width="90px">
+ <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px">
<el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'"
allow-create clearable default-first-option filterable
size="small"
@@ -154,29 +153,26 @@
<el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
- </div>
- </div>
- <div class="search_thing">
- <div class="search_label">妫�楠屾爣鍑嗭細</div>
- <div class="search_input">
+ </el-form-item>
+ <el-form-item label="妫�楠屾爣鍑�:">
<el-select v-model="standardMethodListId" :loading="methodLoad"
:placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"
@change="changeStandardMethodListId" @focus="methodFocus">
<el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
</el-option>
</el-select>
- </div>
- </div>
+ </el-form-item>
+ </el-form>
</div>
- <div class="search_thing">
- <el-button v-show="active==1" :disabled="sampleList.length === 2" size="medium" type="primary" @click="handleSplitCountNum">鎷嗗垎</el-button>
+ <div style="margin-top: 3px">
+ <el-button v-show="active==1" :disabled="sampleList.length === 2" size="small" type="primary" @click="handleSplitCountNum">鎷嗗垎</el-button>
</div>
</div>
<el-table ref="sampleTable" :data="sampleList"
- border class="el-table sampleTable"
+ class="el-table sampleTable"
highlight-current-row
- max-height="400px" style="margin-top: 10px;"
+ max-height="400px"
tooltip-effect="dark"
@selection-change="selectSample" @row-click="rowClick">
<el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column>
@@ -247,7 +243,7 @@
</el-table-column>
</el-table>
<el-table ref="productTable" v-loading="getProductLoad" :data="productList"
- :row-class-name="tableRowClassName" border
+ :row-class-name="tableRowClassName"
class="el-table"
max-height="400px"
style="margin-bottom: 10px;"
@@ -392,7 +388,7 @@
width="32%">
<span>{{ dialogMessage }}</span>
<span slot="footer" class="dialog-footer">
- <el-button type="primary" @click="$parent.playOrder(0)">纭� 瀹�</el-button>
+ <el-button type="primary" @click="this.goBack()">纭� 瀹�</el-button>
</span>
</el-dialog>
<el-dialog
@@ -436,26 +432,23 @@
<script>
import ValueTable from "@/components/Table/value-table.vue";
+import {
+ addInsOrder,
+ addRawMaterOrderTemplate, delRawMaterOrderTemplate,
+ getInsOrder,
+ getUserNow,
+ notificationRawOrder, selectRawMaterOrderTemplateById, selectStandardMethodEnum, selectStandardProductList,
+ selectStandardTreeListByPartNo
+} from "@/api/business/rawMaterialOrder";
export default {
name: "CustomsInspection",
+ dicts: ['check_type', 'urgency_level'],
components: {
ValueTable,
},
props: {
- active: {
- type: Number,
- default: () => 0
- },
- customsInspection: {
- type: Object,
- default: () => {}
- },
currentId: {
- type: Number,
- default: () => 0
- },
- orderType: {
type: Number,
default: () => 0
},
@@ -466,6 +459,9 @@
},
data() {
return {
+ customsInspection: {},
+ orderType: '',
+ active: 0,
editTable:[], // 鍖洪棿鐗规畩鍊煎~鍐�
template: null,
saveLoad: false, // 淇濆瓨鎸夐挳loading
@@ -513,7 +509,7 @@
{ required: true, message: '璇峰~鍐欐娊妫�鏁伴噺', trigger: 'blur' }
],
partDetail: [
- { required: true, message: '璇峰~鍐欓浂浠舵弿杩�', trigger: 'blur' }
+ { required: true, message: '璇峰~鍐欒鏍煎瀷鍙�', trigger: 'blur' }
],
orderType: [
{ required: true, message: '璇烽�夋嫨妫�楠岀被鍒�', trigger: 'change' }
@@ -556,6 +552,7 @@
sampleId: null,
// total: 0,
totalArr: [],
+ addObj1: {},
model: null,
standardMethodListId: null,
inspectionItem:null,
@@ -612,7 +609,6 @@
watch: {
sampleList() {
this.addObj.method = null
- // this.productList = []
},
productList: {
deep: true,
@@ -641,11 +637,13 @@
}
},
mounted() {
- this.getUserNow() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
- this.selectCheckType() // 鏌ヨ妫�楠岀被鍨�
+ this.active = this.$route.query.active
+ this.orderType = this.$route.query.orderType
+ this.customsInspection = this.$route.query.customsInspection
+ // this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁
- this.selectEnumByCategoryForType() // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋
this.getInfo() // 鑾峰彇鏁版嵁
+
},
methods: {
save1 () {
@@ -704,7 +702,7 @@
}
// 鏌ョ湅
// 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹�
- this.$axios.post(this.$api.insOrder.getInsOrder, {
+ getInsOrder({
orderId: orderId
}).then(res => {
if (res.code === 200) {
@@ -734,7 +732,7 @@
}
})
} else {
- this.$axios.get(this.$api.rawMaterialOrder.notificationRawOrder+'?ifsInventoryId='+this.customsInspection.id).then(res => {
+ notificationRawOrder({ifsInventoryId:this.customsInspection.id}).then(res => {
if (res.code === 200) {
if (res.data === 1) {
this.dialogVisible2 = true
@@ -746,7 +744,7 @@
}
})
// 鎶ユ娴佺▼
- this.$axios.get(this.$api.materialInspection.selectStandardTreeListByPartNo+'?partNo='+this.customsInspection.partNo).then(res => {
+ selectStandardTreeListByPartNo({partNo:this.customsInspection.partNo}).then(res => {
if (res.code === 200) {
this.addObj.sample = res.data.label
this.codeLevel = res.data.code
@@ -777,9 +775,8 @@
}
},
// 鏌ヨ妯℃澘-鍙嶆樉妯℃澘
- selectInsOrderTemplateById(e) {
- this.$axios.get(this.$api.materialInspection.selectRawMaterOrderTemplateById + '?id=' + e).then(res => {
- if (res.code == 201) return
+ selectInsOrderTemplateByIdList(e) {
+ selectRawMaterOrderTemplateById({id: e}).then(res => {
let obj = JSON.parse(res.data)
this.sampleList = obj.sampleList;
this.productList = obj.sampleList[0].insProduct
@@ -795,7 +792,7 @@
item.insProduct = this.productList
})
this.templateLoading = true;
- this.$axios.post(this.$api.materialInspection.addRawMaterOrderTemplate, {
+ addRawMaterOrderTemplate({
partNo: this.addObj.partNo,
name: this.templateName,
thing: JSON.stringify({
@@ -803,12 +800,7 @@
sampleList: sampleList,
selectTree:this.selectTree
})
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
}).then(res => {
- if (res.code == 201) return
this.templateLoading = false;
this.templateDia = false;
this.$message.success('淇濆瓨鎴愬姛')
@@ -826,12 +818,7 @@
cancelButtonText: "鍙栨秷",
type: "warning"
}).then(() => {
- this.$axios.post(this.$api.materialInspection.delRawMaterOrderTemplate, {
- id: row.id
- }).then(res => {
- if (res.code === 201) {
- return
- }
+ delRawMaterOrderTemplate({id: row.id}).then(res => {
this.$message.success('鍒犻櫎鎴愬姛')
this.selectInsOrderTemplate()
}).catch(e => {
@@ -841,8 +828,7 @@
},
// 鏌ヨ妯℃澘鍒楄〃
selectInsOrderTemplate() {
- this.$axios.get(this.$api.materialInspection.selectRawMaterOrderTemplate+'?partNo='+this.addObj.partNo).then(res => {
- if (res.code == 201) return
+ selectStandardTreeListByPartNo({partNo:this.addObj.partNo}).then(res => {
this.templates = res.data
})
},
@@ -1013,7 +999,7 @@
this.addObj.model = (trees[4] == undefined ? null : trees[4])
this.addObj.ifsInventoryId = this.customsInspection.id
this.noNeedCheckLoad = true
- this.$axios.post(this.$api.rawMaterialOrder.addExemptionOrder, {
+ addExemptionOrder({
str: JSON.stringify({
insOrder: this.addObj,
list: JSON.stringify(sampleList.map(a => {
@@ -1041,7 +1027,7 @@
if (res.code == 201) return
this.noNeedCheckDia = false
this.$message.success('宸叉彁浜�')
- this.$parent.playOrder(0)
+ this.goBack()
}).catch(e=>{
this.noNeedCheckLoad = false
})
@@ -1064,7 +1050,7 @@
this.addObj.model = (trees[4] == undefined ? null : trees[4])
this.addObj.ifsInventoryId = this.customsInspection.id
this.saveLoad = true
- this.$axios.post(this.$api.insOrder.addInsOrder, {
+ addInsOrder({
str: JSON.stringify({
insOrder: this.addObj,
list: JSON.stringify(sampleList.map(a => {
@@ -1092,7 +1078,7 @@
if (res.code == 201) return
this.$message.success('宸叉彁浜�')
this.bsm3Dia = false;
- this.$parent.playOrder(0)
+ this.goBack()
}).catch(e=>{
this.saveLoad = false
})
@@ -1427,16 +1413,9 @@
}
})
},
- selectCheckType() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "妫�楠岀被鍨�"
- }).then(res => {
- this.checkType = res.data
- })
- },
// 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
- getUserNow() {
- this.$axios.get(this.$api.user.getUserNow).then(res => {
+ getUserNowList() {
+ getUserNow().then(res => {
let selects = res.data
if (selects == null) return
this.addObj.userId = selects.id
@@ -1447,7 +1426,7 @@
},
// 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁
selectStandardMethods() {
- this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
+ selectStandardMethodEnum().then(res => {
this.methods = res.data
})
},
@@ -1460,7 +1439,7 @@
},
selectsStandardMethodByFLSSM() {
this.methodLoad = true
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+ selectsStandardMethodByFLSSM({
tree: this.selectTree
}).then(res => {
this.methodLoad = false
@@ -1469,7 +1448,7 @@
let arr = this.selectTree.split('-')
let arr0 = arr.slice(0, arr.length - 1)
let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+ selectsStandardMethodByFLSSM({
tree: selectTree
}).then(ress => {
this.methods = ress.data.standardMethodList
@@ -1609,17 +1588,13 @@
this.getProductLoad = true
let selectTreeList = this.selectTree.split(" - ")
this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
+ selectStandardProductList({
model: this.addObj.model?this.addObj.model:row.model,
modelNum: row.modelNum,
standardMethodListId: val,
factory: selectTreeList.join(" - "),
partNo: this.addObj.partNo,
ifsInventoryId: this.customsInspection.id
- }, {
- headers: {
- 'Content-Type': 'application/json'
- }
}).then(res => {
this.getProductLoad = false
if (res.code === 200) {
@@ -1675,13 +1650,6 @@
this.selectTree = arr0.join(' - ') + '- ' + e
}
},
- selectEnumByCategoryForType() {
- this.$axios.post(this.$api.enums.selectEnumByCategory, {
- category: "绱ф�ョ▼搴�"
- }).then(res => {
- this.types = res.data
- })
- },
// 瑕佹眰鍊煎彉鍖栨椂
requestChange(e, row) {
this.sampleList.map(item => {
@@ -1722,8 +1690,6 @@
p.section = sections[a]
p.ask = asks[a]
p.tell = tells[a]
- // p.manHour = manHours[a]
- // p.price = prices[a]
}
})
break
@@ -1751,12 +1717,6 @@
if (row.tell.includes('[')) {
this.$set(row, 'tellCopy', row.tell)
}
- // if (row.manHour.includes('[')) {
- // this.$set(row, 'manHourCopy', row.manHour)
- // }
- // if (row.price.includes('[')) {
- // this.$set(row, 'priceCopy', row.price)
- // }
let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1)
if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1&&arr.length==0) {
if (row.sectionCopy.indexOf('[') > -1) {
@@ -1773,14 +1733,10 @@
let section = arr[0].section
let arr0 = JSON.parse(row.section)
let arr1 = JSON.parse(row.ask)
- // let arr2 = JSON.parse(row.manHour)
- // let arr3 = JSON.parse(row.price)
let arr4 = JSON.parse(row.tell)
let index = arr0.indexOf(section)
row.section = section
row.ask = arr1[index]
- // row.manHour = arr2[index]
- // row.price = arr3[index]
row.tell = arr4[index]
} catch(e) {}
}
@@ -1827,12 +1783,6 @@
if (p.tell.includes('[')) {
this.$set(p, 'tellCopy', p.tell)
}
- // if (p.manHour.includes('[')) {
- // this.$set(p, 'manHourCopy', p.manHour)
- // }
- // if (p.price.includes('[')) {
- // this.$set(p, 'priceCopy', p.price)
- // }
if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) {
if (p.sectionCopy.indexOf('[') > -1) {
p.bsmRow = this.HaveJson(p)
@@ -1901,131 +1851,10 @@
</script>
<style scoped>
-.addObj-form-item {
- width: 100%;
-}
-.ins_order_add {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-.ins_order_add::-webkit-scrollbar {
- width: 0;
-}
-
-.title {
- height: 60px;
- line-height: 60px;
-}
-
-.search {
- width: calc(100% - 40px);
- background-color: #fff;
- padding: 5px 40px 5px 0;
-}
-
-.search_thing {
+.header {
display: flex;
- align-items: center;
- height: 50px;
-}
-
-.search_label {
- width: 120px;
- font-size: 14px;
- text-align: right;
-}
-
-.search_input {
- width: calc(100% - 120px);
-}
-
-.node_i {
- color: orange;
- font-size: 18px;
-}
-
-.el-select-dropdown__item {
- display: flex;
- align-items: center;
justify-content: space-between;
-}
-
-.pairing {
- text-align: center;
- line-height: 36px;
- margin: 3px 0;
- border: 1px solid rgba(0, 0, 0, 0.1);
- border-radius: 4px;
-}
-
-.askRts {
- width: 100px;
- font-size: 12px;
- border-top: 0;
- border-left: 0;
- border-right: 0;
- border-bottom: 2px solid rgba(0, 0, 0, 0.3);
- text-align: center;
- background-color: rgba(0, 0, 0, 0.1);
- outline: none;
- border-radius: 2px;
- line-height: 24px;
- margin-top: 5px;
-}
-.circulateTable {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
-}
-.opticalProject {
- width: 38%;
-}
-.temperatureList {
- width: 60%;
-}
-.temperatureListTitle {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- line-height: 30px;
-}
->>> .el-form-item__content {
- text-align: left;
- width: 65%;
-}
-.ins_order_add .el-input-group__append,
-.el-input-group__prepend {
- padding: 0 10px;
-}
-
-.ins_order_add .el-tree-node__content {
- height: 32px;
- font-size: 14px;
- border-radius: 2px;
-}
-
-.ins_order_add .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
- color: #3A7BFA;
-}
-
-.ins_order_add .has-gutter .el-table__cell .cell {
- line-height: 30px;
- background-color: #fafafa;
-}
-
-.ins_order_add .has-gutter .el-table__cell {
- background-color: #fafafa !important;
-}
-
-.ins_order_add .el-table__row .cell {
- font-size: 12px;
-}
-
-.ins_order_add .el-table .warning-row .cell {
- color: #3A7BFA;
+ margin-bottom: 10px;
}
.tab {
list-style-type: none;
diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue
index e5e2306..d50868c 100644
--- a/src/views/business/materialOrder/index.vue
+++ b/src/views/business/materialOrder/index.vue
@@ -1,130 +1,122 @@
<template>
<div class="app-container">
- <div style="width: 100%;height: 100%;">
- <div>
- <el-row class="title">
- <el-col :span="12" style="text-align: left;">鍘熸潗鏂欐楠屼笅鍗�</el-col>
- <el-col :span="12" style="text-align: right;">
- <el-button v-show="tabIndex === 3 || tabIndex === 2" :loading="outLoading" size="small" type="primary" @click="handleOut">瀵煎嚭</el-button>
- <el-button v-if="tabIndex === 0" size="small" type="primary" @click="copper">閾滄潗鏂欎笅鍗�</el-button>
- <el-button v-if="tabIndex !== 0" size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
- </el-col>
- </el-row>
- </div>
+ <div>
<div class="search">
- <el-form :model="entity" ref="entity" size="small" :inline="true">
- <el-row>
- <el-form-item label="鎵瑰彿" prop="menuName">
- <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�"
- size="small"
- @keyup.enter.native="refreshTable">
- </el-input>
- </el-form-item>
- <el-form-item label="濮旀墭缂栧彿" prop="menuName">
- <el-input v-model="entity.entrustCode" clearable placeholder="璇疯緭鍏�"
- size="small"
- @keyup.enter.native="refreshTable">
- </el-input>
- </el-form-item>
- <el-form-item label="闆朵欢鍙�" prop="menuName">
- <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�"
- size="small"
- @keyup.enter.native="refreshTable">
- </el-input>
- </el-form-item>
- <el-form-item label="闆朵欢鎻忚堪" prop="menuName">
- <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�"
- size="small"
- @keyup.enter.native="refreshTable">
- </el-input>
- </el-form-item>
+ <el-form :model="entity" ref="entity" size="small" :inline="true"><el-form-item label="鎵瑰彿" prop="updateBatchNo">
+ <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�"
+ size="small"
+ @keyup.enter.native="refreshTable">
+ </el-input>
+ </el-form-item><el-form-item label="濮旀墭缂栧彿" prop="entrustCode">
+ <el-input v-model="entity.entrustCode" clearable placeholder="璇疯緭鍏�"
+ size="small"
+ @keyup.enter.native="refreshTable">
+ </el-input>
+ </el-form-item><el-form-item label="闆朵欢鍙�" prop="partNo">
+ <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�"
+ size="small"
+ @keyup.enter.native="refreshTable">
+ </el-input>
+ </el-form-item><el-form-item label="闆朵欢鎻忚堪" prop="partDesc">
+ <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�"
+ size="small"
+ @keyup.enter.native="refreshTable">
+ </el-input>
+ </el-form-item>
+ <el-form-item>
<el-button v-if="tabIndex === 2 || 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 icon="el-icon-search" size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
- <el-button icon="el-icon-refresh" size="small" @click="refresh()">閲� 缃�</el-button>
- </el-row>
- <el-row>
- <el-form-item label="渚涘簲鍟嗗悕绉�" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
- <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�"
- size="small"
- @keyup.enter.native="refreshTable">
- </el-input>
- </el-form-item>
- <el-form-item label="鏍峰搧鍨嬪彿" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
- <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�"
- size="small"
- @keyup.enter.native="refreshTable">
- </el-input>
- </el-form-item>
- <el-form-item label="妫�楠岀姸鎬�" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
- <el-select v-model="entity.inspectStatus" clearable
- size="small" style="width: 100%;" @change="refreshTable()">
- <el-option v-for="(a, i) in inspectStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="涓嬪彂鏃堕棿" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
- <el-date-picker
- v-model="entity.date"
- end-placeholder="缁撴潫鏃ユ湡"
- format="yyyy-MM-dd"
- placeholder="閫夋嫨鏃ユ湡"
- range-separator="鑷�"
- size="small"
- start-placeholder="寮�濮嬫棩鏈�"
- style="width: 100%;"
- type="daterange"
- value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </el-row>
+ <el-button size="mini" type="primary" @click="refreshTable()">鏌ヨ</el-button>
+ <el-button size="mini" @click="refresh()">閲嶇疆</el-button>
+ </el-form-item>
+ <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+ <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�"
+ size="small"
+ @keyup.enter.native="refreshTable">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鏍峰搧鍨嬪彿" prop="sampleModel" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+ <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�"
+ size="small"
+ @keyup.enter.native="refreshTable">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="妫�楠岀姸鎬�" prop="inspectStatus" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+ <el-select v-model="entity.inspectStatus" clearable
+ size="small" @change="refreshTable()">
+ <el-option v-for="(a, i) in inspectStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="涓嬪彂鏃堕棿" prop="date" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+ <el-date-picker
+ v-model="entity.date"
+ end-placeholder="缁撴潫鏃ユ湡"
+ format="yyyy-MM-dd"
+ placeholder="閫夋嫨鏃ユ湡"
+ range-separator="鑷�"
+ size="small"
+ start-placeholder="寮�濮嬫棩鏈�"
+ type="daterange"
+ value-format="yyyy-MM-dd">
+ </el-date-picker>
+ </el-form-item>
</el-form>
</div>
<div class="table">
- <ul class="tab">
- <li v-for="(m,i) in tabList" :key="m.value" :class="{active:m.value===tabIndex}" @click="handleTab(m)">{{m.label}}</li>
- </ul>
+ <div class="table-tab">
+ <div>
+ <ul class="tab">
+ <li v-for="(m,i) in tabList" :key="m.value" :class="{active:m.value===tabIndex}" @click="handleTab(m)">{{m.label}}</li>
+ </ul>
+ </div>
+ <div>
+ <el-button v-show="tabIndex === 3 || tabIndex === 2" :loading="outLoading" size="small" type="primary" @click="handleOut">瀵煎嚭</el-button>
+ <el-button v-if="tabIndex === 0" size="small" type="primary" @click="copper">閾滄潗鏂欎笅鍗�</el-button>
+ <el-button v-if="tabIndex !== 0" size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
+ </div>
+ </div>
<!--寰呬笅鍗�-->
-<!-- <ValueTable v-show="tabIndex === 0" :key="'a'+ upIndex"-->
-<!-- ref="ValueTable"-->
-<!-- :componentData="componentData"-->
-<!-- :style="getStyle()"-->
-<!-- :tableRowClassName="changeRowClass"-->
-<!-- :url="$api.materialInspection.getPurchaseOrder" />-->
+ <div class="table">
+ <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0"
+ @pagination="pagination" :height="'calc(100vh - 290px)'" key="tableData"
+ :page="page" :tableLoading="tableLoading"></lims-table>
+ </div>
<!--妫�楠屼腑-->
-<!-- <ValueTable v-show="tabIndex === 1" :key="'b'+ upIndex"-->
-<!-- ref="ValueTable1"-->
-<!-- :componentData="componentData1"-->
-<!-- :style="getStyle()"-->
-<!-- :tableRowClassName="changeRowClass"-->
-<!-- :url="$api.materialInspection.getIfsByStateOne" />-->
-<!-- <!–宸叉楠�–>-->
-<!-- <ValueTable v-show="tabIndex === 2" :key="'c'+ upIndex"-->
-<!-- ref="ValueTable2"-->
-<!-- :componentData="componentData2"-->
-<!-- :style="getStyle()"-->
-<!-- :tableRowClassName="changeRowClass"-->
-<!-- :url="$api.materialInspection.getIfsByOver" />-->
-<!-- <!–鍏ㄩ儴–>-->
-<!-- <ValueTable v-if="tabIndex === 3" :key="'d'+ upIndex"-->
-<!-- ref="ValueTable3"-->
-<!-- :componentData="componentData3"-->
-<!-- :style="getStyle()"-->
-<!-- :url="$api.materialInspection.getIfsByAll" />-->
-<!-- <!–瀛e害妫�楠�–>-->
-<!-- <ValueTable v-show="tabIndex === 4" :key="'e'+ upIndex"-->
-<!-- ref="ValueTable4"-->
-<!-- :componentData="componentData4"-->
-<!-- :style="getStyle()"-->
-<!-- :tableRowClassName="changeRowClass"-->
-<!-- :url="$api.materialInspection.getIfsByQuarter" />-->
+ <div class="table">
+ <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 1"
+ :isSelection="true" :handleSelectionChange="selectMethod"
+ @pagination="pagination1" :height="'calc(100vh - 290px)'" key="tableData1"
+ :page="page1" :tableLoading="tableLoading1"></lims-table>
+ </div>
+ <!--宸叉楠�-->
+ <div class="table">
+ <lims-table :tableData="tableData2" :column="column2" v-if="tabIndex === 2"
+ :isSelection="true" :handleSelectionChange="selectMethod"
+ @pagination="pagination2" :height="'calc(100vh - 290px)'" key="tableData2"
+ :page="page2" :tableLoading="tableLoading2"></lims-table>
+ </div>
+ <!--鍏ㄩ儴-->
+ <div class="table">
+ <lims-table :tableData="tableData3" :column="column3" v-if="tabIndex === 3"
+ :isSelection="true" :handleSelectionChange="selectMethod"
+ @pagination="pagination3" :height="'calc(100vh - 290px)'" key="tableData3"
+ :page="page3" :tableLoading="tableLoading3"></lims-table>
+ </div>
+ <!--瀛e害妫�楠�-->
+ <div class="table">
+ <lims-table :tableData="tableData4" :column="column4" v-if="tabIndex === 4"
+ :isSelection="true" :handleSelectionChange="selectMethod"
+ @pagination="pagination4" :height="'calc(100vh - 290px)'" key="tableData4"
+ :page="page4" :tableLoading="tableLoading4"></lims-table>
+ </div>
</div>
</div>
-<!-- <div v-if="active >0 && isCopper == 0" style="width: 100%;height: 100%;">-->
-<!-- <CustomsInspection v-if="active >0&& isCopper == 0" :active="active"-->
+<!-- <div style="width: 100%;height: 100%;">-->
+<!-- <CustomsInspection :active="active"-->
<!-- :currentId="currentId"-->
<!-- :customsInspection="customsInspection" :orderType="orderType" />-->
<!-- </div>-->
-<!-- <div v-if="active >0 && isCopper == 1" style="width: 100%;height: 100%;">-->
-<!-- <CopperOrder v-if="active >0 && isCopper == 1" :active="active" :currentId="currentId"></CopperOrder>-->
+<!-- <div style="width: 100%;height: 100%;">-->
+<!-- <CopperOrder :active="active" :currentId="currentId"></CopperOrder>-->
<!-- </div>-->
<!-- 纭鍏嶆寮规 -->
<el-dialog :visible.sync="exemptionVisible" title="纭鍏嶆" width="42%">
@@ -211,28 +203,430 @@
</template>
<script>
-import ValueTable from "@/components/Table/value-table.vue";
import CustomsInspection from "./customsInspection.vue";
-import PrintDialog from "@/components/materialOrder/printDialog.vue";
-import ShowInfo from "@/components/materialOrder/showInfo.vue";
-import DataLookVisible from "@/components/materialOrder/dataLookVisible.vue";
-import FilesLookVisible from "@/components/materialOrder/filesLookVisible.vue";
-import DownFileDialog from "@/components/materialOrder/downFileDialog.vue";
-// import CopperOrder from "@/components/materialOrder/copper-order.vue";
+import PrintDialog from "@/views/business/materialOrderComponents/materialOrder/printDialog.vue";
+import ShowInfo from "@/views/business/materialOrderComponents/materialOrder/showInfo.vue";
+import DataLookVisible from "@/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue";
+import FilesLookVisible from "@/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue";
+import DownFileDialog from "@/views/business/materialOrderComponents/materialOrder/downFileDialog.vue";
+import limsTable from "@/components/Table/lims-table.vue";
+import {
+ getIfsByAll,
+ getIfsByOver,
+ getIfsByQuarter,
+ getIfsByStateOne,
+ getPurchaseOrder
+} from "@/api/business/rawMaterialOrder";
+import {getWarehouseSubmit} from "@/api/business/materialInspection";
// import Inspection from "../do/b1-inspect-order-plan/Inspection.vue";
export default {
name: "b1-material-inspection-order",
// import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
- components: {
- // Inspection,
- // CopperOrder,
- DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog, CustomsInspection, ValueTable},
+ components: {limsTable,DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog, CustomsInspection},
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
- isShowIFS: false,
- entityEmpty: {},
+ tableData: [],
+ tableLoading: false,
+ column: [
+ {label: '鎵瑰彿', prop: 'updateBatchNo'},
+ {label: '闆朵欢鍙�', prop: 'partNo'},
+ {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
+ {
+ dataType: 'tag',
+ label: '鐗╂枡绫诲瀷',
+ prop: 'isExpire',
+ formatData: (params) => {
+ if (params == 1) {
+ return '杩囨湡鐗╂枡'
+ } else {
+ return ''
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'info'
+ } else {
+ return ''
+ }
+ }
+ },
+ {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
+ {label: '鍗曚綅', prop: 'buyUnitMeas'},
+ {label: '璁㈠崟鍙�', prop: 'orderNo'},
+ {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
+ {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+ {
+ dataType: 'action',
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: '170px',
+ operation: [
+ {
+ name: '涓嬪崟',
+ type: 'text',
+ clickFun: (row) => {
+ this.playOrder(row);
+ }
+ },
+ {
+ name: '鍏嶆',
+ type: 'text',
+ clickFun: (row) => {
+ this.exemption(row);
+ },
+ },
+ {
+ name: '鎾ら攢鎶ユ',
+ type: 'text',
+ clickFun: (row) => {
+ this.cancelDeclare(row);
+ },
+ },
+ ]
+ }
+ ],
+ page: {
+ total:0,
+ size:10,
+ current:1
+ },
+ tableData1: [],
+ tableLoading1: false,
+ column1: [
+ {label: '鎵瑰彿', prop: 'updateBatchNo'},
+ {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
+ {label: '闆朵欢鍙�', prop: 'partNo'},
+ {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
+ {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
+ {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
+ {label: '妫�楠屼汉', prop: 'userName'},
+ {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
+ {
+ dataType: 'tag',
+ label: '鐗╂枡绫诲瀷',
+ prop: 'isExpire',
+ formatData: (params) => {
+ if (params == 1) {
+ return '杩囨湡鐗╂枡'
+ } else {
+ return ''
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'info'
+ } else {
+ return ''
+ }
+ }
+ },
+ {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
+ {label: '鍗曚綅', prop: 'buyUnitMeas'},
+ {label: '璁㈠崟鍙�', prop: 'orderNo'},
+ {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
+ {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+ {
+ dataType: 'action',
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: '140px',
+ operation: [
+ {
+ name: '鏁版嵁鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ },
+ },
+ {
+ name: '闄勪欢鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleFileLook(row);
+ },
+ },
+ {
+ name: '鎾ら攢涓嬪崟',
+ type: 'text',
+ clickFun: (row) => {
+ this.cancelOrder(row);
+ },
+ },
+ ]
+ }
+ ],
+ page1: {
+ total:0,
+ size:10,
+ current:1
+ },
+ tableData2: [],
+ tableLoading2: false,
+ column2: [
+ {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
+ {label: '妫�楠岀姸鎬�', prop: 'inspectStatus'},
+ {label: '璁㈠崟鍙�', prop: 'orderNo'},
+ {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
+ {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
+ {label: '鎵瑰彿', prop: 'updateBatchNo'},
+ {label: '闆朵欢鍙�', prop: 'partNo'},
+ {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
+ {label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName'},
+ {label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc'},
+ {label: '鍏嶆', prop: 'isExemption'},
+ {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
+ {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
+ {label: '妫�楠屼汉', prop: 'userName'},
+ {
+ dataType: 'tag',
+ label: '鐗╂枡绫诲瀷',
+ prop: 'isExpire',
+ formatData: (params) => {
+ if (params == 1) {
+ return '杩囨湡鐗╂枡'
+ } else {
+ return ''
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'info'
+ } else {
+ return ''
+ }
+ }
+ },
+ {label: '鍗曚綅', prop: 'buyUnitMeas'},
+ {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
+ {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+ {
+ dataType: 'action',
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: '300px',
+ operation: [
+ {
+ name: '瀛e害妫�楠�',
+ type: 'text',
+ clickFun: (row) => {
+ this.playOrderSec(row);
+ },
+ disabled: (row) => {
+ return row.isQuarter == 0
+ },
+ },
+ {
+ name: '鏁版嵁鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ }
+ },
+ {
+ name: '闄勪欢鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleFileLook(row);
+ },
+ },
+ {
+ name: '鎶ュ憡涓嬭浇',
+ type: 'text',
+ clickFun: (row) => {
+ this.download(row);
+ },
+ },
+ {
+ name: '鍘熷璁板綍',
+ type: 'text',
+ clickFun: (row) => {
+ this.viewInspectInfo(row);
+ },
+ disabled: (row) => {
+ return row.sampleName === null
+ },
+ },
+ {
+ name: '鏀捐',
+ type: 'text',
+ clickFun: (row) => {
+ this.goPass(row);
+ },
+ disabled: (row) => {
+ return row.inspectStatus != 2
+ },
+ },
+ {
+ name: '瀛e害鎾ら攢',
+ type: 'text',
+ clickFun: (row) => {
+ this.repealQuarter(row);
+ },
+ disabled: (row) => {
+ return row.quarterOrderId == null || row.quarterReportId != null
+ },
+ },
+ ]
+ }
+ ],
+ page2: {
+ total:0,
+ size:10,
+ current:1
+ },
+ tableData3: [],
+ tableLoading3: false,
+ column3: [
+ {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
+ {label: '妫�楠岀姸鎬�', prop: 'inspectStatus'},
+ {label: '璁㈠崟鍙�', prop: 'orderNo'},
+ {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
+ {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
+ {label: '鎵瑰彿', prop: 'updateBatchNo'},
+ {label: '闆朵欢鍙�', prop: 'partNo'},
+ {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
+ {label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName'},
+ {label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc'},
+ {label: '鍏嶆', prop: 'isExemption'},
+ {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
+ {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
+ {label: '妫�楠屼汉', prop: 'userName'},
+ {
+ dataType: 'tag',
+ label: '鐗╂枡绫诲瀷',
+ prop: 'isExpire',
+ formatData: (params) => {
+ if (params == 1) {
+ return '杩囨湡鐗╂枡'
+ } else {
+ return ''
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'info'
+ } else {
+ return ''
+ }
+ }
+ },
+ {label: '鍗曚綅', prop: 'buyUnitMeas'},
+ {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
+ {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+ {
+ dataType: 'action',
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: '140px',
+ operation: [
+ {
+ name: '鏁版嵁鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ }
+ },
+ {
+ name: '闄勪欢鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleFileLook(row);
+ },
+ }
+ ]
+ }
+ ],
+ page3: {
+ total:0,
+ size:10,
+ current:1
+ },
+ tableData4: [],
+ tableLoading4: false,
+ column4: [
+ {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
+ {label: '妫�楠岀姸鎬�', prop: 'inspectStatus'},
+ {label: '璁㈠崟鍙�', prop: 'orderNo'},
+ {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
+ {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
+ {label: '鎵瑰彿', prop: 'updateBatchNo'},
+ {label: '闆朵欢鍙�', prop: 'partNo'},
+ {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
+ {label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName'},
+ {label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc'},
+ {label: '鍏嶆', prop: 'isExemption'},
+ {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
+ {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
+ {label: '妫�楠屼汉', prop: 'userName'},
+ {
+ dataType: 'tag',
+ label: '鐗╂枡绫诲瀷',
+ prop: 'isExpire',
+ formatData: (params) => {
+ if (params == 1) {
+ return '杩囨湡鐗╂枡'
+ } else {
+ return ''
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'info'
+ } else {
+ return ''
+ }
+ }
+ },
+ {label: '鍗曚綅', prop: 'buyUnitMeas'},
+ {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
+ {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+ {
+ dataType: 'action',
+ fixed: 'right',
+ label: '鎿嶄綔',
+ width: '250px',
+ operation: [
+ {
+ name: '瀛e害妫�楠�',
+ type: 'text',
+ clickFun: (row) => {
+ this.playOrderSec(row);
+ },
+ disabled: (row, index) => {
+ return row.isQuarter == 0
+ }
+ },
+ {
+ name: '鏁版嵁鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleDataLook(row);
+ }
+ },
+ {
+ name: '闄勪欢鏌ョ湅',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleFileLook(row);
+ },
+ },
+ {
+ name: '鎶ュ憡涓嬭浇',
+ type: 'text',
+ clickFun: (row) => {
+ this.download(row);
+ },
+ }
+ ]
+ }
+ ],
+ page4: {
+ total:0,
+ size:10,
+ current:1
+ },
entity: {
updateBatchNo: null,
entrustCode: null,
@@ -244,488 +638,6 @@
date: null,
beginDeclareDate: null,
endDeclareDate: null,
- },
- componentData: { // 琛ㄦ牸鏁版嵁
- entity: {
- updateBatchNo: null,
- partDesc: null,
- state: 0,
- isInspect: 1,
- partNo: null
- },
- isIndex: true,
- showSelect: false,
- select: false,
- selectMethod:'selectMethod',
- do: [
- {
- font: '涓嬪崟',
- type: 'text',
- method: 'playOrder',
- },
- {
- font: '鍏嶆',
- type: 'text',
- method: 'exemption',
- },
- {
- font: '鎾ら攢鎶ユ',
- type: 'text',
- method: 'cancelDeclare',
- },
- // {
- // font: '浜т笟閾�',
- // type: 'text',
- // method: 'openInfoDialog',
- // }
- ],
- tagField: {
- isExpire: {
- select: [{
- value: 1,
- label: '杩囨湡鐗╂枡',
- type: 'warning'
- }]
- },
- },
- selectField: {},
- requiredAdd: [],
- requiredUp: []
- },
- componentData1: {
- entity: {
- orderBy: {
- field: 'entrustCode',
- order: 'desc'
- },
- updateBatchNo: null,
- entrustCode: null,
- partDesc: null,
- state: 1,
- orderState: 1,
- partNo: null
- },
- isIndex: true,
- showSelect: true,
- select: true,
- selectMethod:'selectMethod',
- do: [
- // {
- // font: '瀛e害妫�楠�',
- // type: 'text',
- // method: 'playOrderSec',
- // disabFun: (row, index) => {
- // return row.isQuarter == 0
- // }
- // },
- {
- id: 'dataLook',
- font: '鏁版嵁鏌ョ湅',
- type: 'text',
- method: 'handleDataLook',
- },
- {
- font: '闄勪欢鏌ョ湅',
- type: 'text',
- method: 'handleFileLook',
- },
- {
- font: '鎾ら攢涓嬪崟',
- type: 'text',
- method: 'cancelOrder',
- },
- // {
- // font: '浜т笟閾�',
- // type: 'text',
- // method: 'openInfoDialog',
- // }
- ],
- linkEvent: {
- sampleName: {
- method: 'selectAllByOne'
- },
- entrustCode: {
- method: 'changeEntrustCode'
- }
- },
- tagField: {
- inspectStatus: {
- select: [{
- value: 0,
- label: '妫�楠屼腑',
- type: 'warning'
- },{
- value: 1,
- label: '鍚堟牸',
- type: 'success'
- },{
- value: 2,
- label: '涓嶅悎鏍�',
- type: 'danger'
- },{
- value: 3,
- label: '鏈笅鍗�',
- type: 'info'
- }]
- },
- isExpire: {
- select: [{
- value: 1,
- label: '杩囨湡鐗╂枡',
- type: 'warning'
- }]
- },
- },
- selectField: {},
- requiredAdd: [],
- requiredUp: []
- },
- componentData2: {
- entity: {
- orderBy: {
- field: 'entrustCode',
- order: 'desc'
- },
- updateBatchNo: null,
- entrustCode: null,
- partDesc: null,
- sampleModel: null,
- state: 2,
- orderState: 4,
- supplierName: '',
- partNo: null,
- beginDeclareDate: null,
- endDeclareDate: null,
- },
- isIndex: true,
- showSelect: true,
- select: true,
- selectMethod:'selectMethod',
- do: [
- {
- font: '瀛e害妫�楠�',
- type: 'text',
- method: 'playOrderSec',
- disabFun: (row, index) => {
- return row.isQuarter == 0
- }
- },
- {
- id: 'dataLook',
- font: '鏁版嵁鏌ョ湅',
- type: 'text',
- method: 'handleDataLook',
- },
- {
- font: '闄勪欢鏌ョ湅',
- type: 'text',
- method: 'handleFileLook',
- },{
- id: 'download',
- font: '鎶ュ憡涓嬭浇',
- type: 'text',
- method: 'download',
- },
- // {
- // font: '浜т笟閾�',
- // type: 'text',
- // method: 'openInfoDialog',
- // },
- {
- id: '',
- font: '鍘熷璁板綍',
- type: 'text',
- method: 'viewInspectInfo',
- disabFun: (row, index) => {
- return row.sampleName === null
- }
- },
- {
- id: '',
- font: '鏀捐',
- type: 'text',
- method: 'goPass',
- disabFun: (row, index) => {
- return row.inspectStatus != 2
- }
- },
- {
- id: '',
- font: '瀛e害鎾ら攢',
- type: 'text',
- method: 'repealQuarter',
- disabFun: (row, index) => {
- return row.quarterOrderId == null || row.quarterReportId != null
- }
- }
- ],
- linkEvent: {
- sampleName: {
- method: 'selectAllByOne'
- },
- entrustCode: {
- method: 'changeEntrustCode'
- }
- },
- tagField: {
- inspectStatus: {
- select: [{
- value: 0,
- label: '妫�楠屼腑',
- type: 'warning'
- },{
- value: 1,
- label: '鍚堟牸',
- type: 'success'
- },{
- value: 2,
- label: '涓嶅悎鏍�',
- type: 'danger'
- },{
- value: 3,
- label: '鏈笅鍗�',
- type: 'info'
- },{
- value: 4,
- label: '璁╂鏀捐',
- type: 'info'
- }]
- },
- isExemption: {
- select: [{
- value: 1,
- label: '鍏嶆',
- type: 'success'
- }]
- },
- isExpire: {
- select: [{
- value: 1,
- label: '杩囨湡鐗╂枡',
- type: 'warning'
- }]
- },
- },
- selectField: {},
- requiredAdd: [],
- requiredUp: []
- },
- componentData4: {
- entity: {
- orderBy: {
- field: 'entrustCode',
- order: 'desc'
- },
- updateBatchNo: null,
- entrustCode: null,
- partDesc: null,
- sampleModel: null,
- supplierName: '',
- partNo: null,
- beginDeclareDate: null,
- endDeclareDate: null,
- },
- isIndex: true,
- showSelect: true,
- select: true,
- selectMethod:'selectMethod',
- do: [
- {
- font: '瀛e害妫�楠�',
- type: 'text',
- method: 'playOrderSec',
- disabFun: (row, index) => {
- return row.isQuarter == 0
- }
- },
- {
- id: 'dataLook',
- font: '鏁版嵁鏌ョ湅',
- type: 'text',
- method: 'handleDataLook',
- },
- {
- font: '闄勪欢鏌ョ湅',
- type: 'text',
- method: 'handleFileLook',
- },{
- id: 'download',
- font: '鎶ュ憡涓嬭浇',
- type: 'text',
- method: 'download',
- },
- // {
- // font: '浜т笟閾�',
- // type: 'text',
- // method: 'openInfoDialog',
- // },
- {
- id: '',
- font: '鍘熷璁板綍',
- type: 'text',
- method: 'viewInspectInfo',
- disabFun: (row, index) => {
- return row.sampleName === null
- }
- },
- // {
- // id: '',
- // font: '鏀捐',
- // type: 'text',
- // method: 'goPass',
- // disabFun: (row, index) => {
- // return row.inspectStatus != 2
- // }
- // },
- {
- id: '',
- font: '瀛e害鎾ら攢',
- type: 'text',
- method: 'repealQuarter',
- disabFun: (row, index) => {
- return row.quarterOrderId == null || row.quarterReportId != null
- }
- }
- ],
- linkEvent: {
- sampleName: {
- method: 'selectAllByOne'
- },
- entrustCode: {
- method: 'changeEntrustCode'
- }
- },
- tagField: {
- inspectStatus: {
- select: [{
- value: 0,
- label: '妫�楠屼腑',
- type: 'warning'
- },{
- value: 1,
- label: '鍚堟牸',
- type: 'success'
- },{
- value: 2,
- label: '涓嶅悎鏍�',
- type: 'danger'
- },{
- value: 3,
- label: '鏈笅鍗�',
- type: 'info'
- },{
- value: 4,
- label: '璁╂鏀捐',
- type: 'info'
- }]
- },
- isExemption: {
- select: [{
- value: 1,
- label: '鍏嶆',
- type: 'success'
- }]
- },
- isExpire: {
- select: [{
- value: 1,
- label: '杩囨湡鐗╂枡',
- type: 'warning'
- }]
- },
- },
- selectField: {},
- requiredAdd: [],
- requiredUp: []
- },
- componentData3: {
- entity: {
- orderBy: {
- field: 'entrustCode',
- order: 'desc'
- },
- updateBatchNo: null,
- entrustCode: null,
- partDesc: null,
- sampleModel: null,
- isInspect: 1,
- supplierName: '',
- partNo: null,
- beginDeclareDate: null,
- endDeclareDate: null,
- },
- isIndex: true,
- showSelect: true,
- select: true,
- selectMethod:'selectMethod',
- do: [
- {
- id: 'dataLook',
- font: '鏁版嵁鏌ョ湅',
- type: 'text',
- method: 'handleDataLook',
- },
- {
- font: '闄勪欢鏌ョ湅',
- type: 'text',
- method: 'handleFileLook',
- },
- // {
- // font: '浜т笟閾�',
- // type: 'text',
- // method: 'openInfoDialog',
- // }
- ],
- linkEvent: {
- sampleName: {
- method: 'selectAllByOne'
- },
- entrustCode: {
- method: 'changeEntrustCode'
- }
- },
- tagField: {
- inspectStatus: {
- select: [{
- value: 0,
- label: '妫�楠屼腑',
- type: 'warning'
- },{
- value: 1,
- label: '鍚堟牸',
- type: 'success'
- },{
- value: 2,
- label: '涓嶅悎鏍�',
- type: 'danger'
- },{
- value: 3,
- label: '鏈笅鍗�',
- type: 'info'
- },{
- value: 4,
- label: '璁╂鏀捐',
- type: ''
- }]
- },
- isExemption: {
- select: [{
- value: 1,
- label: '鍏嶆',
- type: 'success'
- }]
- },
- isExpire: {
- select: [{
- value: 1,
- label: '杩囨湡鐗╂枡',
- type: 'warning'
- }]
- },
- },
- selectField: {},
- requiredAdd: [],
- requiredUp: []
},
tabList: [
{
@@ -750,18 +662,11 @@
}
],
more:false,
- upIndex: 0,
tabIndex: 0,
multipleSelection:[],
- entityCopy: {},
- entityCopy1: {},
- entityCopy2: {},
- entityCopy3: {},
- entityCopy4: {},
active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪�
orderType: 0, //0锛氬師鏉愭枡涓嬪崟锛�1锛氬搴︽楠屼笅鍗�
currentId: null,
- customsInspection: {},
btnLoading: false,
quashDialogVisible: false, // 鎾ら攢涓嬪崟鎻愰啋寮规
declareDialogVisible: false, // 鎾ら攢鎶ユ鎻愰啋寮规
@@ -795,32 +700,127 @@
typeSource: null,// 0:鎴愬搧涓嬪崟锛�1锛氬師鏉愭枡涓嬪崟, 2: 閾滃崟涓濅笅鍗�
InspectInfoDialog: false, // 鏁版嵁鏌ョ湅寮规
insInfo: {},
- isCopper: null,
outLoading:false
}
},
mounted () {
- this.entityEmpty = this.HaveJson(this.entity)
- this.entityCopy = this.HaveJson(this.componentData.entity)
- this.entityCopy1 = this.HaveJson(this.componentData1.entity)
- this.entityCopy2 = this.HaveJson(this.componentData2.entity)
- this.entityCopy3 = this.HaveJson(this.componentData3.entity)
- this.getPower()
+ this.refreshTable()
},
// 鏂规硶闆嗗悎
methods: {
- // 鑾峰彇鏉冮檺
- getPower(){
- let power = JSON.parse(sessionStorage.getItem('power'))
- let getIFS = false
- for (var i = 0; i < power.length; i++) {
- if (power[i].menuMethod == 'getIfsByAll') { // 鑾峰彇IFS鐨勬潈闄�
- getIFS = true
+ // 鏌ヨ鍥炶皟
+ refreshTable() {
+ if (this.tabIndex === 0) {
+ // 寰呬笅鍗曟煡璇�
+ this.getPurchaseOrderList()
+ } else if (this.tabIndex === 1) {
+ // 妫�楠屼腑鏌ヨ
+ this.getIfsByStateOneList()
+ } else if (this.tabIndex === 2) {
+ // 宸叉楠屾煡璇�
+ this.getIfsByOverList()
+ } else if (this.tabIndex === 4) {
+ // 鏌ヨ瀛e害妫�楠�
+ this.getIfsByQuarterList()
+ } else {
+ // 鍏ㄩ儴鏌ヨ
+ this.getIfsByAllList()
+ }
+ },
+ // 寰呬笅鍗曟煡璇�
+ getPurchaseOrderList () {
+ this.tableLoading = true
+ const params = {...this.entity, isInspect: 1, state: 0}
+ getWarehouseSubmit(params).then(res => {
+ this.tableLoading = false
+ if (res.code === 200) {
+ this.tableData = res.data.records
+ this.page.total = res.data.total
}
- }
- if (!getIFS) {
- this.tabList.splice(-1, 1)
- }
+ }).catch(err => {
+ this.tableLoading = false
+ })
+ },
+ // 妫�楠屼腑鏌ヨ
+ getIfsByStateOneList () {
+ this.tableLoading1 = true
+ const params = {...this.entity, orderState: 1, state: 1}
+ getIfsByStateOne(params).then(res => {
+ this.tableLoading1 = false
+ if (res.code === 200) {
+ this.tableData1 = res.data.records
+ this.page1.total = res.data.total
+ }
+ }).catch(err => {
+ this.tableLoading1 = false
+ })
+ },
+ // 宸叉楠屾煡璇�
+ getIfsByOverList () {
+ this.tableLoading2 = true
+ const params = {...this.entity, orderState: 4, state: 2}
+ getIfsByOver(params).then(res => {
+ this.tableLoading2 = false
+ if (res.code === 200) {
+ this.tableData2 = res.data.records
+ this.page2.total = res.data.total
+ }
+ }).catch(err => {
+ this.tableLoading2 = false
+ })
+ },
+ // 鏌ヨ瀛e害妫�楠�
+ getIfsByQuarterList () {
+ this.tableLoading4 = true
+ const params = {...this.entity}
+ getIfsByOver(params).then(res => {
+ this.tableLoading4 = false
+ if (res.code === 200) {
+ this.tableData4 = res.data.records
+ this.page4.total = res.data.total
+ }
+ }).catch(err => {
+ this.tableLoading4 = false
+ })
+ },
+ // 鍏ㄩ儴
+ getIfsByAllList () {
+ this.tableLoading3 = true
+ const params = {...this.entity, isInspect: 1}
+ getIfsByAll(params).then(res => {
+ this.tableLoading3 = false
+ if (res.code === 200) {
+ this.tableData3 = res.data.records
+ this.page3.total = res.data.total
+ }
+ }).catch(err => {
+ this.tableLoading3 = false
+ })
+ },
+ // 閲� 缃�
+ refresh() {
+ this.resetForm('entity')
+ this.refreshTable()
+ },
+ pagination (page) {
+ this.page.size = page.limit
+ this.refreshTable()
+ },
+ pagination1 (page) {
+ this.page1.size = page.limit
+ this.refreshTable()
+ },
+ pagination2 (page) {
+ this.page2.size = page.limit
+ this.refreshTable()
+ },
+ pagination3 (page) {
+ this.page3.size = page.limit
+ this.refreshTable()
+ },
+ pagination4 (page) {
+ this.page4.size = page.limit
+ this.refreshTable()
},
// 鏌ョ湅妫�楠屾暟鎹�
viewInspectInfo (row) {
@@ -900,7 +900,8 @@
},
// 閾滄潗鏂欎笅鍗�
copper () {
- this.$router.push("/materialOrder/customsInspection");
+ this.$router.push("/materialOrder/copperOrder");
+ this.$router.push({ path: "/materialOrder/copperOrder", query: {active: 1} });
},
// 鎵撳紑鏍囩鎵撳嵃寮规
openPrint () {
@@ -918,113 +919,16 @@
closePrintDialog () {
this.printDialog = false
},
- // 鏌ヨ鍥炶皟
- refreshTable(e) {
- if (this.tabIndex === 0) {
- this.componentData.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData.entity.partDesc = this.entity.partDesc
- this.componentData.entity.partNo = this.entity.partNo
- this.$refs['ValueTable'].selectList(e)
- } else if (this.tabIndex === 1) {
- this.componentData1.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData1.entity.entrustCode = this.entity.entrustCode
- this.componentData1.entity.partDesc = this.entity.partDesc
- this.componentData1.entity.partNo = this.entity.partNo
- this.$refs['ValueTable1'].selectList(e)
- } else if (this.tabIndex === 2) {
- this.componentData2.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData2.entity.entrustCode = this.entity.entrustCode
- this.componentData2.entity.partDesc = this.entity.partDesc
- this.componentData2.entity.supplierName = this.entity.supplierName
- this.componentData2.entity.sampleModel = this.entity.sampleModel
- this.componentData2.entity.partNo = this.entity.partNo
- this.componentData2.entity.inspectStatus = this.entity.inspectStatus
- if (this.entity.date!==null) {
- this.componentData2.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
- this.componentData2.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
- } else {
- this.componentData2.entity.beginDeclareDate = ''
- this.componentData2.entity.endDeclareDate = ''
- }
- this.$refs['ValueTable2'].selectList(e)
- } else if (this.tabIndex === 4) {
- this.componentData4.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData4.entity.entrustCode = this.entity.entrustCode
- this.componentData4.entity.partDesc = this.entity.partDesc
- this.componentData4.entity.supplierName = this.entity.supplierName
- this.componentData4.entity.sampleModel = this.entity.sampleModel
- this.componentData4.entity.partNo = this.entity.partNo
- this.componentData4.entity.inspectStatus = this.entity.inspectStatus
- if (this.entity.date!==null) {
- this.componentData4.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
- this.componentData4.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
- } else {
- this.componentData4.entity.beginDeclareDate = ''
- this.componentData4.entity.endDeclareDate = ''
- }
- this.$refs['ValueTable4'].selectList(e)
- } else {
- this.componentData3.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData3.entity.entrustCode = this.entity.entrustCode
- this.componentData3.entity.partDesc = this.entity.partDesc
- this.componentData3.entity.supplierName = this.entity.supplierName
- this.componentData3.entity.sampleModel = this.entity.sampleModel
- this.componentData3.entity.partNo = this.entity.partNo
- this.componentData3.entity.inspectStatus = this.entity.inspectStatus
- if (this.entity.date!==null) {
- this.componentData3.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
- this.componentData3.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
- } else {
- this.componentData3.entity.beginDeclareDate = ''
- this.componentData3.entity.endDeclareDate = ''
- }
- this.$nextTick(()=> {
- this.$refs['ValueTable3'].selectList(e)
- })
- }
- },
- // 閲� 缃�
- refresh() {
- this.entity = this.HaveJson(this.entityEmpty)
- if (this.tabIndex === 0) {
- this.componentData.entity = this.HaveJson(this.entityCopy)
- } else if (this.tabIndex === 1) {
- this.componentData1.entity = this.HaveJson(this.entityCopy1)
- } else if (this.tabIndex === 2) {
- this.componentData2.entity = this.HaveJson(this.entityCopy2)
- } else if (this.tabIndex === 4) {
- this.componentData4.entity = this.HaveJson(this.entityCopy4)
- } else {
- this.componentData3.entity = this.HaveJson(this.entityCopy3)
- }
- this.refreshTable()
- },
// 涓嬪崟
- playOrder(num) {
- if (typeof num === "number") {
- this.active = num
- } else {
- this.active = 1
- this.orderType = 0
- this.isCopper = 0
- this.customsInspection = num
- }
- if (num === 0) {
- this.refreshTable('page')
- }
+ playOrder(row) {
+ this.$router.push({ path: "/materialOrder/customsInspection", query: {orderType: 0, customsInspection: row, active: 1} });
},
// 瀛e害妫�楠屼笅鍗�
playOrderSec (row) {
- if (typeof row === "number") {
- this.active = row
+ if (typeof row !== "object") {
+ this.$router.push({ path: "/materialOrder/customsInspection", query: {active: row} });
} else {
- this.active = 1
- this.orderType = 1
- this.isCopper = 0
- this.customsInspection = row
- }
- if (row === 0) {
- this.refreshTable('page')
+ this.$router.push({ path: "/materialOrder/customsInspection", query: {orderType: 1, customsInspection: row, active: 1} });
}
},
// 鎵撳紑鍏嶆寮规
@@ -1109,7 +1013,6 @@
this.insOrderRow = row
},
cancelQuashOrder (type) {
- console.log('type---', type)
const url = type === 'enterOrderId' ? this.$api.rawMaterialOrder.repealEnterRawOrder : this.$api.rawMaterialOrder.repealQuarterRawOrder
const name = type === 'enterOrderId' ? 'enterOrderId' : 'quarterOrderId'
const paramInfo = type === 'enterOrderId' ? this.insOrderRow.enterOrderId : this.insOrderRow.quarterOrderId
@@ -1129,8 +1032,7 @@
// 鐐瑰嚮鏍峰搧鍚嶇О鏌ョ湅璇︽儏
selectAllByOne(row) {
this.currentId = row.insOrderId
- this.isCopper = row.isCopper
- if (this.isCopper == 1) {
+ if (row.isCopper == 1) {
this.currentId = row.enterOrderId
}
this.customsInspection = row
@@ -1199,7 +1101,7 @@
},
// 瀵煎嚭
handleOut(){
- let entity = this.tabIndex === 3 ? {...this.componentData3.entity} : {...this.componentData2.entity}
+ let entity = this.tabIndex === 3 ? {...this.entity, isInspect: 2} : {...this.entity,state: 2, orderState: 4,}
delete entity.orderBy
this.outLoading = true
this.$axios.post(this.$api.rawMaterialOrder.rawAllExport,{
@@ -1243,48 +1145,20 @@
// 鍒囨崲涓嬪崟tab琛ㄦ牸
handleTab(m) {
this.tabIndex = m.value;
- if (this.tabIndex === 0) {
- this.componentData.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData.entity.partDesc = this.entity.partDesc
- } else if (this.tabIndex === 1) {
- this.componentData1.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData1.entity.entrustCode = this.entity.entrustCode
- this.componentData1.entity.partDesc = this.entity.partDesc
- } else if (this.tabIndex === 4) {
- this.componentData4.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData4.entity.entrustCode = this.entity.entrustCode
- this.componentData4.entity.partDesc = this.entity.partDesc
- } else {
- this.componentData2.entity.updateBatchNo = this.entity.updateBatchNo
- this.componentData2.entity.entrustCode = this.entity.entrustCode
- this.componentData2.entity.partDesc = this.entity.partDesc
- }
this.refreshTable()
},
// 琛ㄦ牸閫夋嫨鏂规硶
selectMethod(val){
this.multipleSelection = val
},
- changeRowClass({row, rowIndex}) {
- if (row.isFirst == 1) {
- return 'highlight-danger-row-border'
- }
- return ''
- },
- getStyle(){
- return 'height: calc(100% - '+(this.more?'94':'44')+'px)'
- }
},
}
</script>
<style scoped>
-.app-container {
- padding-top: 0;
-}
-.title {
- height: 60px;
- line-height: 60px;
+.table-tab {
+ display: flex;
+ justify-content: space-between;
}
.tab {
list-style-type: none;
diff --git a/src/components/materialOrder/dataLookVisible.vue b/src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue
similarity index 100%
rename from src/components/materialOrder/dataLookVisible.vue
rename to src/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue
diff --git a/src/components/materialOrder/downFileDialog.vue b/src/views/business/materialOrderComponents/materialOrder/downFileDialog.vue
similarity index 100%
rename from src/components/materialOrder/downFileDialog.vue
rename to src/views/business/materialOrderComponents/materialOrder/downFileDialog.vue
diff --git a/src/components/materialOrder/filesLookVisible.vue b/src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue
similarity index 100%
rename from src/components/materialOrder/filesLookVisible.vue
rename to src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue
diff --git a/src/components/materialOrder/printDialog.vue b/src/views/business/materialOrderComponents/materialOrder/printDialog.vue
similarity index 100%
rename from src/components/materialOrder/printDialog.vue
rename to src/views/business/materialOrderComponents/materialOrder/printDialog.vue
diff --git a/src/components/materialOrder/showInfo.vue b/src/views/business/materialOrderComponents/materialOrder/showInfo.vue
similarity index 100%
rename from src/components/materialOrder/showInfo.vue
rename to src/views/business/materialOrderComponents/materialOrder/showInfo.vue
diff --git a/src/components/materialOrder/unPassRetestResult.vue b/src/views/business/materialOrderComponents/materialOrder/unPassRetestResult.vue
similarity index 100%
rename from src/components/materialOrder/unPassRetestResult.vue
rename to src/views/business/materialOrderComponents/materialOrder/unPassRetestResult.vue
diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue
index 57674fb..3430970 100644
--- a/src/views/business/rawMaterialInspection/index.vue
+++ b/src/views/business/rawMaterialInspection/index.vue
@@ -26,9 +26,11 @@
@keyup.enter.native="refreshTable">
</el-input>
</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="small" icon="el-icon-search" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
- <el-button size="small" @click="refresh()" icon="el-icon-refresh">閲� 缃�</el-button>
+ <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" icon="el-icon-search" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+ <el-button size="mini" @click="refresh()" icon="el-icon-refresh">閲� 缃�</el-button>
+ </el-form-item>
</el-row>
<el-row>
<el-form-item label="妫�楠岀姸鎬�" prop="inspectStatus" v-if="(tabIndex === 3 || tabIndex === 4) && more">
@@ -76,7 +78,7 @@
</div>
<!--寰呮姤妫�銆佸緟涓嬪崟-->
<div class="table">
- <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0 || tabIndex === 1">
+ <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0 || tabIndex === 1"
@pagination="pagination" :height="'calc(100vh - 290px)'"
:page="page" :tableLoading="tableLoading"></lims-table>
</div>
@@ -206,7 +208,25 @@
{label: '闆朵欢鍙�', prop: 'partNo'},
{label: '闆朵欢鎻忚堪', prop: 'partDesc'},
{label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName'},
- {label: '鐗╂枡绫诲瀷', prop: 'isExpire'},
+ {
+ dataType: 'tag',
+ label: '鐗╂枡绫诲瀷',
+ prop: 'isExpire',
+ formatData: (params) => {
+ if (params == 1) {
+ return '杩囨湡鐗╂枡'
+ } else {
+ return ''
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'info'
+ } else {
+ return ''
+ }
+ }
+ },
{label: '鍗曚綅', prop: 'buyUnitMeas'},
{label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
{label: '鎶ユ鏃堕棿', prop: 'declareDate'},
@@ -214,7 +234,7 @@
dataType: 'action',
fixed: 'right',
label: '鎿嶄綔',
- width: '140px',
+ width: '150px',
operation: [
{
name: '鎶ユ',
@@ -271,7 +291,25 @@
{label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
{label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
{label: '妫�楠屼汉', prop: 'userName'},
- {label: '鐗╂枡绫诲瀷', prop: 'isExpire'},
+ {
+ dataType: 'tag',
+ label: '鐗╂枡绫诲瀷',
+ prop: 'isExpire',
+ formatData: (params) => {
+ if (params == 1) {
+ return '杩囨湡鐗╂枡'
+ } else {
+ return ''
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'info'
+ } else {
+ return ''
+ }
+ }
+ },
{label: '鍗曚綅', prop: 'buyUnitMeas'},
{label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
{label: '鎶ユ鏃堕棿', prop: 'declareDate'},
diff --git a/src/views/structural/capabilityAndLaboratory/capability/index.vue b/src/views/structural/capabilityAndLaboratory/capability/index.vue
index 3b7e31d..1bb6202 100644
--- a/src/views/structural/capabilityAndLaboratory/capability/index.vue
+++ b/src/views/structural/capabilityAndLaboratory/capability/index.vue
@@ -45,13 +45,13 @@
</el-form>
<!-- 妫�楠岄」鐩弬鏁拌〃鏍�-->
<div class="table" v-if="radio===0">
- <lims-table :tableData="tableData" :column="column"
+ <lims-table :tableData="tableData" :column="column" key="tableData"
@pagination="pagination" :height="'calc(100vh - 290px)'"
:page="page" :tableLoading="tableLoading"></lims-table>
</div>
<!-- 妫�楠屽璞¤〃鏍�-->
<div class="table" v-if="radio===1">
- <lims-table :tableData="testObjectTableData" :column="testObjectColumn"
+ <lims-table :tableData="testObjectTableData" :column="testObjectColumn" key="testObjectTableData"
@pagination="pagination" :height="'calc(100vh - 290px)'"
:page="testObjectPage" :tableLoading="tableLoading"></lims-table>
</div>
--
Gitblit v1.9.3