From 305b8976e9ad666e52c157ebc79f05c2fe03d1ff Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 05 九月 2023 16:46:42 +0800
Subject: [PATCH] modified: src/components/experiment/checkTheReport/index.vue modified: src/views/laboratory/ledger/index.vue modified: src/views/standardLibrary/index.vue
---
src/views/inspectionManagement/commissionInspection/addCommision.vue | 295 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 169 insertions(+), 126 deletions(-)
diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue
index 46f1dbd..a68cbc8 100644
--- a/src/views/inspectionManagement/commissionInspection/addCommision.vue
+++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue
@@ -15,44 +15,41 @@
style="width: 200px;"
>
</el-input>-->
- <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">閲嶇疆</el-button>
</div>
<el-table ref="detectionInfo" :max-height="800" :cell-style="{textAlign: 'center'}"
:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
- :data="detectionInfo" style="width: 100%">
+ :data="detectionInfo" style="width: 100%;margin-bottom: 20px;">
<el-table-column type="index" label="搴忓彿" min-width="10%" />
<el-table-column prop="sampleNumber" label="鏍峰搧缂栧彿" min-width="8%" />
<el-table-column prop="sampleName" label="鏍峰搧鍚嶇О" min-width="10%" />
- <el-table-column prop="specificationsModels" label="瑙勬牸鍨嬪彿" min-width="10%" />
+ <el-table-column prop="speName" label="瑙勬牸鍨嬪彿" min-width="10%">
+ </el-table-column>
<el-table-column prop="unit" label="鍗曚綅" min-width="8%" />
<el-table-column prop="samplesNumber" label="鏁伴噺" min-width="8%" />
- <el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%">
+ <!-- <el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%">
<template slot-scope="scope">
<div v-if="scope.row.addway === 0">
- <el-tag :type='success' disable-transitions>鎵弿</el-tag>
+ <el-tag type="success" disable-transitions>鎵弿</el-tag>
</div>
<div v-if="scope.row.addway === 1">
- <el-tag :type='primary' disable-transitions>褰曞叆</el-tag>
+ <el-tag type="primary" disable-transitions>褰曞叆</el-tag>
</div>
<div v-else></div>
</template>
- </el-table-column>
- <el-table-column prop="experiment" label="璇曢獙" min-width="8%" />
+ </el-table-column> -->
<el-table-column prop="remarks" label="澶囨敞" min-width="8%" />
<el-table-column label="鎿嶄綔" min-width="8%">
<template slot-scope="scope">
- <el-button type="text" size="small">淇敼</el-button>
- <el-button type="text" size="small" @click="deleteRow(scope.row)">鍒犻櫎</el-button>
+ <el-button type="text" size="small"
+ @click.native.prevent="deleteRow(scope.$index, detectionInfo)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="secondBox">
<el-row class="header">
- <el-col :span="12">鍩烘湰淇℃伅</el-col>
+ <el-col :span="12" style="font-size: 16px;margin-bottom: 5px;">鍩烘湰淇℃伅</el-col>
<el-col :span="12" style="text-align: right;">
- <!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
- <!-- <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button> -->
</el-col>
</el-row>
<el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="right" label-width="100px"
@@ -61,50 +58,51 @@
<el-row :gutter="200">
<el-col :span="5">
<el-form-item label="濮旀墭缂栧彿锛�">
- <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled
- autocomplete="off" />
+ <el-input style="width: 200px" type="text" :value="infoForm.commisioncode" readonly disabled
+ autocomplete="off" size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="濮旀墭鍗曚綅锛�">
- <el-input style="width: 160px" v-model="infoForm.department" placeholder="璇疯緭鍏ュ鎵樺崟浣�" />
+ <el-input style="width: 200px" v-model="infoForm.department" placeholder="璇疯緭鍏ュ鎵樺崟浣�" size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="鑱旂郴浜猴細">
- <el-input style="width: 160px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" />
+ <el-input style="width: 200px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="鑱旂郴鐢佃瘽锛�">
- <el-input style="width: 160px" v-model="infoForm.tel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+ <el-input style="width: 200px" v-model="infoForm.tel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="200">
<el-col :span="5">
<el-form-item label="鑱旂郴鍦板潃锛�">
- <el-input style="width: 160px;" v-model="infoForm.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�"
- autocomplete="off" />
+ <el-input style="width: 200px;" v-model="infoForm.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" autocomplete="off"
+ size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="瀹屾垚鏈熼檺锛�">
- <el-date-picker v-model="infoForm.deadline" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 160px;">
+ <el-date-picker v-model="infoForm.deadline" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 200px;"
+ size="small">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="閫佹牱鏃堕棿锛�">
- <el-date-picker v-model="infoForm.time" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 160px;">
+ <el-date-picker v-model="infoForm.time" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 200px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="閫佹牱鏂瑰紡锛�">
- <el-select style="width: 160px;" v-model="infoForm.way" size="small" placeholder="閫佹牱">
- <el-option v-for="options in sampleDeliveryMode" :key="options.key"
- :value="options.value">{{ options.value }}</el-option>
+ <el-select style="width: 200px;" v-model="infoForm.way" size="small" placeholder="閫佹牱">
+ <el-option v-for="options in sampleDeliveryMode" :key="options.key" :value="options.key"
+ :label="options.value">{{ options.value }}</el-option>
</el-select>
</el-form-item>
</el-col>
@@ -112,23 +110,26 @@
<el-row :gutter="200">
<el-col :span="5">
<el-form-item label="閫佹牱浜猴細">
- <el-input style="width: 160px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off" />
+ <el-input style="width: 200px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off"
+ size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="閫佹牱浜虹數璇濓細">
- <el-input style="width: 160px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�"
- autocomplete="off" />
+ <el-input style="width: 200px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�"
+ autocomplete="off" size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="鎶ュ憡鏁帮細">
- <el-input style="width: 160px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off" />
+ <el-input style="width: 200px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off"
+ size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="濮旀墭澶囨敞锛�">
- <el-input style="width: 160px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off" />
+ <el-input style="width: 200px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off"
+ size="small" />
</el-form-item>
</el-col>
</el-row>
@@ -143,64 +144,69 @@
</div>
</div>
<div class="checkType">
- <el-dialog title="娣诲姞鎸囨爣" :visible.sync="dialogueFormVisible" width="40%">
+ <el-dialog title="娣诲姞鏍峰搧" :visible.sync="dialogueFormVisible" width="40%" top="30vh">
<el-form :model="addPointerForm" ref="addPointerForm" class="addPointerForm" label-position="right"
label-width="100px" size="mini">
<el-row :gutter="50">
- <el-col :span="10">
+ <el-col :span="11">
<el-form-item label="鏍峰搧缂栧彿锛�">
- <el-input style="width: 160px;" v-model="addPointerForm.sampleNumber" size="small" disabled>
+ <el-input v-model="addPointerForm.sampleNumber" size="small" disabled>
</el-input>
</el-form-item>
</el-col>
- <el-col :span="10">
+ <el-col :span="11">
<el-form-item label="鏍峰搧鍚嶇О锛�">
- <el-select style="width: 160px;" v-model="addPointerForm.sampleName" size="small"
- placeholder="璇烽�夋嫨鏍峰搧鍚嶇О" @change="upMaterialName">
- <el-option v-for="options in sampleoptions" :value="options.key"
- :label="options.value"></el-option>
+ <el-select v-model="addPointerForm.sampleName" size="small" placeholder="璇烽�夋嫨鏍峰搧鍚嶇О"
+ @change="upMaterialName">
+ <el-option v-for="options in sampleoptions" :value="options.key" :label="options.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="50">
- <el-col :span="10">
- <el-form-item label="瑙勬牸鍨嬪彿锛�">
- <el-select style="width: 160px;" v-model="addPointerForm.specificationsModels" size="small"
- placeholder="璇峰厛閫夋嫨鏍峰搧鍚嶇О">
+ <el-col :span="11">
+ <el-form-item label="璇勫畾鏍囧噯锛�">
+ <el-select v-model="addPointerForm.addway" size="small" placeholder="璇烽�夋嫨璇勫畾鏍囧噯">
<el-option v-for="options in model_spe_options" :value="options.value"
:key="options.key">{{ options.value }}</el-option>
</el-select>
</el-form-item>
</el-col>
- <el-col :span="10">
+ <el-col :span="11">
+ <el-form-item label="瑙勬牸鍨嬪彿锛�">
+ <el-select v-model="addPointerForm.specificationsModels" size="small" placeholder="璇峰厛閫夋嫨鏍峰搧鍚嶇О"
+ @change="getProductList">
+ <el-option v-for="options in model_sta_options" :value="options.key" :label="options.value"
+ :key="options.key">{{ options.value }}</el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="11">
<el-form-item label="鏍峰搧鍗曚綅锛�">
- <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�"
- autocomplete="off" />
+ <el-input type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
</el-form-item>
</el-col>
- </el-row>
- <el-row :gutter="50">
- <el-col :span="10">
+ <el-col :span="11">
<el-form-item label="鏍峰搧鏁伴噺锛�">
- <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�"
- autocomplete="off" />
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="澶囨敞锛�">
- <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�"
- autocomplete="off" />
+ <el-input type="text" v-model="addPointerForm.samplesNumber" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="50">
- <el-col :span="10">
- <el-form-item label="娣诲姞瀹為獙锛�">
+ <el-col :span="11">
+ <el-form-item label="娣诲姞椤圭洰锛�">
<el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;">
- <el-checkbox v-for="expers in experList" :label="expers.label"
- :key="expers.key">{{ expers.label }}</el-checkbox>
+ <el-checkbox v-for="(expers, ai) in productList" :label="expers"
+ :key="ai">{{ expers }}</el-checkbox>
</el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11">
+ <el-form-item label="澶囨敞锛�">
+ <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;"
+ v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" />
</el-form-item>
</el-col>
</el-row>
@@ -221,7 +227,10 @@
getModelSpecification,
getlink,
addInspection,
- isIfViewUUID
+ isIfViewUUID,
+ getProductList,
+ getContractsSampleInfo,
+ getSpecificationsName
} from '@/api/inspection/commisioninspection'
export default {
data() {
@@ -253,31 +262,12 @@
experiment: [],
addway: ''
},
- experList: [{
- key: '1',
- label: '澶栬妫�鏌�'
- }, {
- key: '2',
- label: '鍔ㄤ綔鐢靛帇璇曢獙'
- }, {
- key: '3',
- label: '鐢甸樆绠℃硠婕忕數娴佽瘯楠�'
- }, {
- key: '4',
- label: '缁濈紭閮ㄥ垎浜ゆ祦鑰愬帇璇曢獙'
- }],
- sampleoptions: [{
- key: '1',
- value: '閫夐」1'
- }, {
- key: '2',
- value: '閫夐」2'
- }],
- samplecodeoptions: [{
- key: '1',
- value: ''
- }],
+ experList: [],
+ sampleoptions: [],
+ samplecodeoptions: [],
model_spe_options: [],
+ model_sta_options: [],
+ model_options: [],
sampleDeliveryMode: [{
key: '1',
value: '閫佹牱'
@@ -287,13 +277,35 @@
}],
dialogueFormVisible: false,
showDetail: false,
- viewId: null
+ viewId: null,
+ productList: []
+ }
+ },
+ watch: {
+ addPointerForm: {
+ handler: function(val) {
+ if (val.addway != "") {
+ this.model_sta_options = []
+ this.model_options.forEach(a => {
+ if (a.specificationsName == val.addway) {
+ this.model_sta_options = a.children.map(item => {
+ return {
+ key: item.modelId,
+ value: item.modelName
+ }
+ })
+ }
+ })
+ }
+ },
+ deep: true
}
},
created() {
this.viewId = this.$route.params.viewId
- this.$store.commit('settings/SAVE_LINK',this.viewId)
+ this.$store.commit('settings/SAVE_LINK', this.viewId)
this.getlink(this.$route.params.viewId)
+ this.getContractsSampleInfo(this.$route.params.viewId)
},
mounted() {
this.getSampleName()
@@ -311,7 +323,14 @@
if (!res.data) {
this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴')
this.$router.push('/404')
+ } else {
+ this.getContractsSampleInfo()
}
+ })
+ },
+ async getContractsSampleInfo(viewId) {
+ let res = await getContractsSampleInfo({
+ viewId
})
},
async getSampleName() {
@@ -319,7 +338,8 @@
this.sampleoptions = res.data.map((item) => {
return {
key: item.id.toString(),
- value: item.name
+ value: item.name,
+ code: item.code
}
})
},
@@ -327,6 +347,7 @@
const res = await getModelSpecification({
materialId: val
})
+ this.model_options = res.data
this.model_spe_options = res.data.map((item) => {
return {
key: item.specificationsId,
@@ -336,13 +357,16 @@
},
addInspection() {
let exper = this.addPointerForm.experiment[0]
- this.addPointerForm.addway = 1
for (let i = 1; i < this.addPointerForm.experiment.length; i++) {
exper += ',' + this.addPointerForm.experiment[i]
}
- // console.log(exper)
this.addPointerForm.experiment = exper
let tmp = this.addPointerForm
+ this.sampleoptions.forEach(a => {
+ if (a.key == tmp.sampleName) tmp.sampleName = a.value
+ })
+ tmp.speName = tmp.addway + '-' + tmp.speName
+ tmp.addway = 1
this.detectionInfo.push(tmp)
this.dialogueFormVisible = false
this.addPointerForm = {
@@ -353,7 +377,8 @@
samplesNumber: '',
remarks: '',
experiment: [],
- addway: ''
+ addway: '',
+ speName: ''
}
},
async submitInspection() {
@@ -375,41 +400,15 @@
reportNumber: parseInt(this.infoForm.num),
sampleDeliveryMode: sampledeliveryway,
sampleDeliveryPhone: this.infoForm.sendertel,
- sampleSender: this.infoForm.sender
+ sampleSender: this.infoForm.sender,
+ speName: this.infoForm.speName
})
- // const res = await addInspection({
- // completionDeadline: "2023-08-03",
- // contactAddress: "姹熻嫃鍗楅��",
- // contactNumber: "12321423432",
- // contacts: "灏忛粦",
- // entrustRemarks: "濮旀墭澶囨敞YPBH123456789YPBH123456789YPBH123456789",
- // entrusted: "闃块噷宸村反",
- // inspectionTime: "2023-08-03",
- // linkDetectionList: [
- // {
- // "experiment": "鍋氭ⅵ",
- // "remarks": "閫氳繃浜�",
- // "sampleName": "鍙戝姩鏈�",
- // "sampleNumber": "YPBH123456789",
- // "samplesNumber": 20,
- // "specificationsModels": "GGXH-AAAAA",
- // "unit": "鐧惧害"
- // }
- // ],
- // reportNumber: 23,
- // sampleDeliveryMode: 1,
- // sampleDeliveryPhone: "123456789676",
- // sampleSender: "灏忕櫧"
- // })
- // console.log(res)
this.infoForm.commisioncode = res.data
if (res.data) {
this.$message({
- message: '鎭枩浣�!',
+ message: '娣诲姞鎴愬姛!',
type: 'success'
})
- // 璺宠浆椤甸潰
- this.$router.push('/inspectionManagement/commissionInspection')
this.showDetail = true
} else {
this.$message.error(res.message)
@@ -421,14 +420,54 @@
handleCurrentChange(pageNo) {
this.pageParams.pageNo = pageNo
},
- deleteRow(row) {
- console.log(row)
- row = null
+ deleteRow(index, rows) {
+ rows.splice(index, 1);
},
- upMaterialName(val){
- console.log(val);
+ upMaterialName(val) {
+ this.sampleoptions.forEach(a => {
+ if (a.key == val) {
+ this.addPointerForm.sampleNumber = a.code
+ }
+ })
this.getModelSpecification(val)
- }
+ },
+ getProductList(val) {
+ getProductList({
+ modelId: val
+ }).then(res => {
+ this.productList = res.data.map(item => {
+ return item.name
+ })
+ })
+ this.model_sta_options.forEach(a => {
+ if (a.key == val) {
+ this.addPointerForm.speName = a.value
+ }
+ })
+ },
+ getContractsSampleInfo() {
+ getContractsSampleInfo({
+ viewId: this.viewId
+ }).then(res => {
+ if (res.data == null) return
+ this.infoForm = {
+ commisioncode: res.data.entrustCoding,
+ deadline: res.data.completionDeadline,
+ address: res.data.contactAddress,
+ tel: res.data.contactNumber,
+ contacter: res.data.contacts,
+ other: res.data.entrustRemarks,
+ department: res.data.entrusted,
+ time: res.data.inspectionTime,
+ detectionInfo: res.data.linkDetectionList,
+ num: res.data.reportNumber,
+ way: '' + res.data.sampleDeliveryMode,
+ sendertel: res.data.sampleDeliveryPhone,
+ sender: res.data.sampleSender
+ }
+ this.detectionInfo = res.data.linkDetectionList
+ })
+ },
}
}
</script>
@@ -439,6 +478,10 @@
background-color: #f0f2f5;
width: 100%;
height: 100vh;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ // align-items: center;
.firstBox {
.title {
--
Gitblit v1.9.3