From 79c983e7fa924e43f9f2a2a11b6f69c546f051a6 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 10 四月 2025 13:06:50 +0800
Subject: [PATCH] 不合格复测
---
src/views/business/materialOrder/customsInspection.vue | 178 ++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 108 insertions(+), 70 deletions(-)
diff --git a/src/views/business/materialOrder/customsInspection.vue b/src/views/business/materialOrder/customsInspection.vue
index 2a70ad4..bd454b1 100644
--- a/src/views/business/materialOrder/customsInspection.vue
+++ b/src/views/business/materialOrder/customsInspection.vue
@@ -123,11 +123,21 @@
</el-select>
</el-form-item>
</el-col>
- <el-col :span="6">
+ <!-- <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="鎶ユ绫诲瀷:">
+ <el-input v-model="addObj.inspectionType" class="addObj-info" clearable disabled size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item class="addObj-form-item" label="杞﹂棿鍚嶇О:">
+ <el-input v-model="addObj.workShopName" class="addObj-info" clearable disabled size="small"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
@@ -152,13 +162,26 @@
</el-form-item>
<el-form-item label="妫�楠屾爣鍑�:" style="margin-bottom: 6px;margin-top: 6px">
<el-select v-model="standardMethodListId" :loading="methodLoad" :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
- clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus">
+ clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus" multiple>
<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-item label="闄勪欢鏌ョ湅:" style="margin-bottom: 6px;margin-top: 6px">
+ <el-button type="text" @click="handleFileDialog">
+ <i class="el-icon-document"></i>
+ 杞﹂棿闄勪欢鏌ョ湅
+ </el-button>
+ </el-form-item>
</el-form>
</div>
+ <el-button type="text" @click="handleFileDialog" v-show="active != 1">
+ <i class="el-icon-document"></i>
+ 杞﹂棿闄勪欢鏌ョ湅
+ </el-button>
+ <el-dialog :visible.sync="fileDialogVisible" title="闄勪欢鏌ョ湅" width="80%">
+ <fileList :currentNo="addObj.workShopId" v-if="fileDialogVisible" :isLook="true" />
+ </el-dialog>
<div style="margin-bottom: 6px;margin-top: 6px">
<el-button v-show="active == 1" :disabled="sampleList.length === 2" size="small" type="primary"
@click="handleSplitCountNum">鎷嗗垎</el-button>
@@ -194,8 +217,9 @@
</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>
+ <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">
@@ -203,7 +227,7 @@
<el-select v-model="scope.row.standardMethodListId"
:disabled="scope.row.model == null || active > 1 || scope.$index !== 0" :loading="methodLoad" clearable
placeholder="妫�楠屾爣鍑�" size="small" style="width: 100%;" @change="(value) => methodChange(value, scope.row)"
- @clear="productList = []" @focus="methodFocus">
+ @clear="productList = []" @focus="methodFocus" multiple>
<el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
</el-option>
</el-select>
@@ -238,9 +262,8 @@
</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;"
- :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border 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>
+ :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark">
+ <!-- <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></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">
@@ -271,15 +294,15 @@
</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"
+ <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="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">
@@ -314,8 +337,8 @@
<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 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>
@@ -405,16 +428,19 @@
selectStandardProductList,
selectStandardTreeListByPartNo
} from "@/api/business/rawMaterialOrder";
+import fileList from "../../structural/capabilityAndLaboratory/workshop/components/fileList.vue"
+import limsTable from "@/components/Table/lims-table.vue";
export default {
name: "CustomsInspection",
dicts: ['check_type', 'urgency_level'],
- components: {},
+ components: { limsTable, fileList },
props: {
},
data() {
return {
customsInspection: {},
+ fileDialogVisible: false,
orderType: '',
active: 0,
currentId: 0,
@@ -460,6 +486,8 @@
typeSource: 1,
ifsInventoryId: '',
sampleStatus: 'In good condition',
+ workShopName: '',//杞﹂棿鍚嶇О
+ workShopId: '',//杞﹂棿ID
},
addObjRules: { // 琛ㄥ崟鏍¢獙瑙勫垯
testQuantity: [
@@ -511,7 +539,7 @@
totalArr: [],
addObj1: {},
model: null,
- standardMethodListId: null,
+ standardMethodListId: [],
inspectionItem: null,
inspectionItemSubclass: null,
methodS: null,
@@ -543,7 +571,7 @@
value: 0
},
{
- label: '瀛e害妫�楠�',
+ label: '鍙潬鎬ф楠�',
value: 1
},
],
@@ -586,11 +614,11 @@
},
'addObj.sample'(val) {
this.model = null
- this.standardMethodListId = null
+ this.standardMethodListId = []
},
'addObj.qtyArrived'(val) {
this.model = null
- this.standardMethodListId = null
+ this.standardMethodListId = []
}
},
created() {
@@ -609,12 +637,13 @@
this.customsInspection = this.$route.query.customsInspection
this.getInfo();
},
- getInfo() {
- this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
- this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁
- this.getInfo() // 鑾峰彇鏁版嵁
- },
+ // getInfo() {
+ // this.getInfo() // 鑾峰彇鏁版嵁
+ // },
methods: {
+ handleFileDialog() {
+ this.fileDialogVisible = true
+ },
save1() {
if (this.bsm1DiaList.length > 0) {
this.bsm1DiaList.forEach(item => {
@@ -654,6 +683,8 @@
},
// 鑾峰彇鏁版嵁
getInfo() {
+ this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+ this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁
if (this.active == 2) {
let orderId = ''
if (!this.customsInspection.enterOrderId && this.customsInspection.quarterOrderId) {
@@ -689,6 +720,11 @@
this.addObj.updateBatchNo = res.data.insOrderTemplate.updateBatchNo
this.addObj.type = String(this.addObj.type)
this.sampleList = this.HaveJson(res.data.sampleProduct)
+ this.sampleList.forEach(m => {
+ if (m.standardMethodListId) {
+ m.standardMethodListId = JSON.parse(m.standardMethodListId)
+ }
+ })
this.getProNum()
this.$nextTick(() => {
this.$refs.sampleTable.doLayout()
@@ -728,14 +764,18 @@
this.$set(this.addObj, 'buyUnitMeas', this.customsInspection.buyUnitMeas)
this.$set(this.addObj, 'updateBatchNo', this.customsInspection.updateBatchNo)
this.$set(this.addObj, 'partDetail', this.customsInspection.partDesc)
+ this.$set(this.addObj, 'workShopName', res.data.workShopName)
+ this.$set(this.addObj, 'workShopId', res.data.workShopId)
+ this.$set(this.addObj, 'inspectionType', this.customsInspection.inspectionType)
+ console.log(111111, this.addObj)
if (this.orderType == 1) {
this.$set(this.addObj, 'orderType', 'Quarterly inspection')
}
const str = res.data.treeName.split('-')
this.selectTreeTem = str.join(' - ')
this.selectTree = str.join(' - ')
- this.addListInfo(this.codeLevel, res.data) // 鍘熻緟鏂欐牱鍝佹槸鍥哄畾鐨勶紝灏遍粯璁よ祴鍊间竴鏉℃暟鎹紝鍙媶鍒�
- this.selectInsOrderTemplate() // 鍘熻緟鏂欐ā鏉垮垪琛ㄦ煡璇�
+ this.addListInfo(this.codeLevel, res.data) // 鍘熻緟鏉愭牱鍝佹槸鍥哄畾鐨勶紝灏遍粯璁よ祴鍊间竴鏉℃暟鎹紝鍙媶鍒�
+ this.selectInsOrderTemplate() // 鍘熻緟鏉愭ā鏉垮垪琛ㄦ煡璇�
} else {
this.dialogVisible = true
this.dialogMessage = res.message
@@ -866,7 +906,7 @@
save() {
this.$refs['addObj'].validate((valid) => {
if (valid) {
- if (!this.sampleList.every(m => m.standardMethodListId)) {
+ if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) {
this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
return
}
@@ -875,7 +915,7 @@
item.insProduct = this.productList
})
this.getTotal(sampleList)
- let projectNum = this.totalArr.filter(a => a.state == 1).length
+ let projectNum = this.totalArr.length
if (projectNum == 0) {
this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
confirmButtonText: "纭畾",
@@ -920,7 +960,7 @@
noNeedCheck() {
this.$refs['addObj'].validate((valid) => {
if (valid) {
- if (!this.sampleList.every(m => m.standardMethodListId)) {
+ if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) {
this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
return
}
@@ -950,19 +990,19 @@
})
this.getTotal(sampleList)
let trees = this.selectTree.split(" - ")
- if (trees.length < 3) {
+ if (trees.length < 5) {
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.length === 4) {
- this.addObj.sample = trees[2]
+ this.addObj.sampleType = trees[3]
+ if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) {
+ this.addObj.sample = trees[4]
} else {
- this.addObj.sample = trees[3]
+ this.addObj.sample = trees[5]
}
- this.addObj.model = (trees[4] == undefined ? null : trees[4])
+ this.addObj.model = (trees[6] == undefined ? null : trees[6])
this.addObj.ifsInventoryId = this.customsInspection.id
this.noNeedCheckLoad = true
addExemptionOrder({
@@ -996,32 +1036,32 @@
},
saveMethod(sampleList) {
let trees = this.selectTree.split(" - ")
- if (trees.length < 3) {
+ if (trees.length < 5) {
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.length === 4) {
- this.addObj.sample = trees[2]
+ this.addObj.sampleType = trees[4]
+ if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) {
+ this.addObj.sample = trees[4]
} else {
- this.addObj.sample = trees[3]
+ this.addObj.sample = trees[5]
}
- this.addObj.model = (trees[4] == undefined ? null : trees[4])
+ this.addObj.model = (trees[6] == undefined ? null : trees[6])
this.addObj.ifsInventoryId = this.customsInspection.id
this.saveLoad = true
if (this.addObj.createTime) {
delete this.addObj.createTime
}
addInsOrder({
- insOrder: this.addObj,
+ insOrder: {
+ ...this.addObj,
+ workShopId: this.addObj.workShopId || '' // 纭繚 workShopId 浼犻�掔粰鍚庣
+ },
sampleList: sampleList.map(a => {
- if (a.insProduct.length > 0) {
- a.insProduct.forEach(c => {
- delete c.id
- })
- }
+ a.standardMethodListId = JSON.stringify(a.standardMethodListId)
+ a.insProduct = this.fullProductList
if (a.modelNum) {
// 鏍规嵁x鍙峰垽鏂瀷鍙峰弬鏁颁笌鏍峰搧鍨嬪彿鐨勬嫾鎺ヤ綅缃�
// 渚嬪脳4锛屽氨涓�500ML脳4锛�4脳锛屽氨涓�4脳500ML
@@ -1036,7 +1076,6 @@
} 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
}),
}).then(res => {
@@ -1434,18 +1473,18 @@
this.sample.joinNum = 1
this.sample.sample = this.addObj.sample
this.sample.unit = this.addObj.unit
- this.sample.standardMethodListId = null
+ this.sample.standardMethodListId = []
this.sample.insProduct = []
this.sample.id = this.count
this.sample.childSampleList = []
this.sample.insulating = null
this.sample.sheath = null
this.sample.quantity = 1
- if (codeLevel === '[5]') {
+ if (codeLevel === '[7]') {
this.sample.model = this.addObj.sample
- } else if (codeLevel === '[4]') {
+ } else if (codeLevel === '[6]') {
this.models = data.children2
- } else if (codeLevel === '[3]') {
+ } else if (codeLevel === '[5]') {
this.models = data.children1
}
this.sampleList.push(this.HaveJson(this.sample))
@@ -1469,12 +1508,12 @@
// 閫変腑琛ㄦ牸琛岀殑鍥炶皟
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
- }
+ // 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 = []
@@ -1544,29 +1583,28 @@
})
}
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
- }
+ // 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)
selectStandardProductList({
model: this.addObj.model ? this.addObj.model : row.model,
modelNum: row.modelNum,
- standardMethodListId: val,
+ standardMethodListIds: val,
factory: selectTreeList.join(" - "),
partNo: this.addObj.partNo,
ifsInventoryId: this.customsInspection.id
}).then(res => {
this.getProductLoad = false
- res.data.forEach(a => {
- a.state = 0
- })
- this.productList = this.HaveJson(res.data)
- this.productList0 = JSON.parse(JSON.stringify(this.productList))
+ // 鐩存帴灏嗘煡璇㈢粨鏋滆祴鍊肩粰 productList
+ this.fullProductList = res.data
+ this.productList = res.data
+ this.productList0 = res.data
this.$refs.sampleTable.setCurrentRow(row)
setTimeout(() => {
this.productList.forEach(a => {
@@ -1856,7 +1894,7 @@
}
->>>.warning-row {
+:deep(.warning-row) {
color: #1890FF;
}
</style>
--
Gitblit v1.9.3