From 0885aa811a94cae8d7473c9b2957a447110c9b1d Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 18 四月 2025 11:17:08 +0800
Subject: [PATCH] 网分仪数采20%
---
src/views/business/materialOrder/customsInspection.vue | 327 +++++++++++++++++------------------------------------
1 files changed, 107 insertions(+), 220 deletions(-)
diff --git a/src/views/business/materialOrder/customsInspection.vue b/src/views/business/materialOrder/customsInspection.vue
index 2404734..5c0657e 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">
@@ -143,25 +153,21 @@
<div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px">
<div v-if="active == 1">
<el-form :inline="true" :model="addObj1" label-width="90px">
- <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px;margin-top: 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="妫�楠屾爣鍑�:" style="margin-bottom: 6px;margin-top: 6px">
- <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-item label="" style="margin-bottom: 6px;margin-top: 6px">
- <el-button type="primary" size="small">杞﹂棿闄勪欢鏌ョ湅</el-button>
+ <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>
@@ -207,7 +213,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>
@@ -242,9 +248,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">
@@ -283,7 +288,7 @@
</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">
@@ -409,16 +414,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,
@@ -464,6 +472,8 @@
typeSource: 1,
ifsInventoryId: '',
sampleStatus: 'In good condition',
+ workShopName: '',//杞﹂棿鍚嶇О
+ workShopId: '',//杞﹂棿ID
},
addObjRules: { // 琛ㄥ崟鏍¢獙瑙勫垯
testQuantity: [
@@ -515,7 +525,7 @@
totalArr: [],
addObj1: {},
model: null,
- standardMethodListId: null,
+ standardMethodListId: [],
inspectionItem: null,
inspectionItemSubclass: null,
methodS: null,
@@ -547,7 +557,7 @@
value: 0
},
{
- label: '瀛e害妫�楠�',
+ label: '鍙潬鎬ф楠�',
value: 1
},
],
@@ -590,11 +600,11 @@
},
'addObj.sample'(val) {
this.model = null
- this.standardMethodListId = null
+ this.standardMethodListId = []
},
'addObj.qtyArrived'(val) {
this.model = null
- this.standardMethodListId = null
+ this.standardMethodListId = []
}
},
created() {
@@ -613,12 +623,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 => {
@@ -658,6 +669,8 @@
},
// 鑾峰彇鏁版嵁
getInfo() {
+ this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+ this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁
if (this.active == 2) {
let orderId = ''
if (!this.customsInspection.enterOrderId && this.customsInspection.quarterOrderId) {
@@ -693,6 +706,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()
@@ -732,14 +750,17 @@
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)
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
@@ -870,7 +891,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
}
@@ -879,7 +900,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: "纭畾",
@@ -924,7 +945,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
}
@@ -954,19 +975,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({
@@ -1000,32 +1021,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.productList
if (a.modelNum) {
// 鏍规嵁x鍙峰垽鏂瀷鍙峰弬鏁颁笌鏍峰搧鍨嬪彿鐨勬嫾鎺ヤ綅缃�
// 渚嬪脳4锛屽氨涓�500ML脳4锛�4脳锛屽氨涓�4脳500ML
@@ -1040,7 +1061,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 => {
@@ -1438,18 +1458,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))
@@ -1473,12 +1493,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 = []
@@ -1539,7 +1559,7 @@
},
// 閫夋嫨妫�楠屾爣鍑嗗洖璋�
methodChange(val, row) {
- if (val === null || val === '') return
+ if (!val || val.length < 1) return
if (this.sampleList.length > 1) {
// 鏈変袱鏉℃牱鍝佹椂锛岀浜屾潯鏍峰搧淇℃伅鍜岀涓�鏉′繚鎸佷竴鑷�
this.sampleList.forEach(item => {
@@ -1548,29 +1568,34 @@
})
}
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
+ // 鐩存帴灏嗘煡璇㈢粨鏋滆祴鍊肩粰 productList
+ // this.fullProductList = res.data
+ this.productList = res.data.map(m => {
+ m.state = 1
+ return m
})
- this.productList = this.HaveJson(res.data)
- this.productList0 = JSON.parse(JSON.stringify(this.productList))
+ this.productList0 = res.data.map(m => {
+ m.state = 1
+ return m
+ })
this.$refs.sampleTable.setCurrentRow(row)
setTimeout(() => {
this.productList.forEach(a => {
@@ -1579,25 +1604,6 @@
}, 200)
}).catch(err => {
console.log('err-', err)
- })
- },
- // 閫夋嫨鏍峰搧鍨嬪彿鐨勫洖璋�
- 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)
- }
})
},
// 鎷兼帴鏍峰搧鏍戠殑瀛楃涓�
@@ -1665,129 +1671,6 @@
}
this.changeProductList0()
this.currentMethod.insProduct = this.productList0
- },
- // 鍗曢�夐�夋嫨妫�楠岄」鐨勫洖璋�
- 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)
- }
- 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 section = arr[0].section
- let arr0 = JSON.parse(row.section)
- let arr1 = JSON.parse(row.ask)
- let arr4 = JSON.parse(row.tell)
- let index = arr0.indexOf(section)
- row.section = section
- row.ask = arr1[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()
- },
- 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.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()
- })
},
changeProductList0() {
this.productList0.forEach(a => {
@@ -1859,4 +1742,8 @@
background-color: #ffffff;
}
+
+:deep(.warning-row) {
+ color: #1890FF;
+}
</style>
--
Gitblit v1.9.3