From d94af68ec3f6317124df81296b08c7c110641fca Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 24 八月 2023 09:10:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/inspectionManagement/commissionInspection/addCommision.vue | 449 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 362 insertions(+), 87 deletions(-)
diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue
index e0999c0..cd441b4 100644
--- a/src/views/inspectionManagement/commissionInspection/addCommision.vue
+++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue
@@ -1,24 +1,27 @@
<template>
+ <div v-if="!showDetail">
<div class="content-main">
<div class="firstBox">
- <span>妫�娴嬩俊鎭�</span>
- <div tableBox>
- <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button>
+ <div class="title">妫�娴嬩俊鎭�</div>
+ <div class="tableBox">
+ <div class="tableBox-header">
+ <el-button class="split" @click="dialogueFormVisible = true" type="primary" size="small" style="background-color: rgb(1, 102, 226);">娣诲姞鏍峰搧</el-button>
<el-input
v-model="searchData"
- class="input-form"
+ class="input-form split"
placeholder="鎵弿浜岀淮鐮佸綍鍏ユ牱鍝�..."
prefix-icon="el-icon-search"
style="width: 200px;"
>
</el-input>
<el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">閲嶇疆</el-button>
+ </div>
<el-table
- ref="commisionTable"
+ 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="commisionTable"
+ :data="detectionInfo"
style="width: 100%"
>
<el-table-column
@@ -27,53 +30,52 @@
min-width="10%"
/>
<el-table-column
- prop="commisioncode"
- label="濮旀墭缂栧彿"
- min-width="8%"
- />
- <el-table-column
- prop="department"
- label="濮旀墭鍗曚綅"
- min-width="10%"
- />
- <el-table-column
- prop="samplecode"
+ prop="sampleNumber"
label="鏍峰搧缂栧彿"
min-width="8%"
/>
<el-table-column
- prop="samplename"
+ prop="sampleName"
label="鏍峰搧鍚嶇О"
- min-width="8%"
+ min-width="10%"
/>
<el-table-column
- prop="modelandspecification"
+ prop="specificationsModels"
label="瑙勬牸鍨嬪彿"
min-width="10%"
/>
<el-table-column
- prop="arrivetime"
- label="閫佽揪鏃堕棿"
+ prop="unit"
+ label="鍗曚綅"
min-width="8%"
/>
<el-table-column
- prop="deadline"
- label="瀹屾垚鏈熼檺"
+ prop="samplesNumber"
+ label="鏁伴噺"
min-width="8%"
/>
<el-table-column
- prop="person"
- label="濮旀墭缂栧埗浜�"
+ 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>
+ </div>
+ <div v-if="scope.row.addway === 1">
+ <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
- prop="checkdate"
- label="妫�楠屾棩鏈�"
- min-width="8%"
- />
- <el-table-column
- prop="state"
- label="鐘舵��"
+ prop="remarks"
+ label="澶囨敞"
min-width="8%"
/>
<el-table-column
@@ -81,13 +83,15 @@
min-width="8%"
>
<template slot-scope="scope">
- <el-button type="text" size="small" @click="handleClick(scope.row)">鍒犻櫎</el-button>
+ <el-button type="text" size="small">淇敼</el-button>
+ <el-button type="text" size="small" @click="deleteRow(scope.row)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
<!-- 鍒嗛〉鍣� -->
<div>
<el-pagination
+ class="pagination"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
@@ -100,52 +104,40 @@
</div>
<div class="secondBox">
<el-row class="header">
- <el-col :span="12">鍩烘湰淇℃伅</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="left" label-width="100px" size="mini" >
- <div class="formwrapper">
- <el-row :gutter="50">
- <el-col :span="12">
+ <el-col :span="12">鍩烘湰淇℃伅</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" size="mini" >
+ <div class="formwrapper">
+ <el-row :gutter="200">
+ <el-col :span="5">
<el-form-item label="濮旀墭缂栧彿锛�">
- <el-input style="width: 100px;" v-model="infoForm.commisioncode" placeholder="璇疯緭鍏ヨ鍗曞彿" readonly autocomplete="off" />
+ <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled="true" autocomplete="off" />
</el-form-item>
</el-col>
- <el-col :span="12">
+ <el-col :span="5">
<el-form-item label="濮旀墭鍗曚綅锛�">
- <el-select style="width: 180px;" v-model="infoForm.department" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
- <el-option value="閫夐」1"></el-option>
- <el-option value="閫夐」2"></el-option>
- </el-select>
+ <el-input style="width: 160px" v-model="infoForm.department" placeholder="璇疯緭鍏ュ鎵樺崟浣�" />
</el-form-item>
</el-col>
- <el-col :span="12">
+ <el-col :span="5">
<el-form-item label="鑱旂郴浜猴細">
- <el-select style="width: 180px;" v-model="infoForm.contacter" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
- <el-option value="閫夐」1"></el-option>
- <el-option value="閫夐」2"></el-option>
- </el-select>
+ <el-input style="width: 160px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" />
</el-form-item>
</el-col>
- <el-col :span="12">
+ <el-col :span="5">
<el-form-item label="鑱旂郴鐢佃瘽锛�">
- <el-select style="width: 180px;" v-model="infoForm.tel" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
- <el-option value="閫夐」1"></el-option>
- <el-option value="閫夐」2"></el-option>
- </el-select>
+ <el-input style="width: 160px" v-model="infoForm.tel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="450">
+ <el-row :gutter="200">
<el-col :span="5">
<el-form-item label="鑱旂郴鍦板潃锛�" >
- <el-select style="width: 180px;" v-model="infoForm.address" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
- <el-option value="閫夐」1"></el-option>
- <el-option value="閫夐」2"></el-option>
- </el-select>
+ <el-input style="width: 160px;" v-model="infoForm.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="5">
@@ -154,7 +146,7 @@
v-model="infoForm.deadline"
type="date"
placeholder="閫夋嫨鏃ユ湡"
- style="width: 180px;">
+ style="width: 160px;">
</el-date-picker>
</el-form-item>
</el-col>
@@ -164,54 +156,127 @@
v-model="infoForm.time"
type="date"
placeholder="閫夋嫨鏃ユ湡"
- style="width: 180px;">
+ style="width: 160px;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="閫佹牱鏂瑰紡锛�">
- <el-select style="width: 180px;" v-model="infoForm.way" size="small" placeholder="閫佹牱">
- <el-option value="閫夐」1"></el-option>
- <el-option value="閫夐」2"></el-option>
+ <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>
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="450">
+ <el-row :gutter="200">
<el-col :span="5">
<el-form-item label="閫佹牱浜猴細" >
- <el-input style="width: 180px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off" />
+ <el-input style="width: 160px;" v-model="infoForm.sender" placeholder="璇疯緭鍏ラ�佹牱浜�" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="閫佹牱浜虹數璇濓細" >
- <el-input style="width: 180px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�" autocomplete="off" />
+ <el-input style="width: 160px;" v-model="infoForm.sendertel" placeholder="璇疯緭鍏ラ�佹牱浜虹數璇�" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="鎶ュ憡鏁帮細">
- <el-input style="width: 180px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off" />
+ <el-input style="width: 160px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="濮旀墭澶囨敞锛�">
- <el-input style="width: 180px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off" />
+ <el-input style="width: 160px;" v-model="infoForm.other" placeholder="澶囨敞" autocomplete="off" />
</el-form-item>
</el-col>
</el-row>
</div>
+ <div class="submitBtn">
+ <el-button type="primary" size="small" @click="submitInspection" style="background-color: rgb(1, 102, 226);">鎻愪氦</el-button>
+ </div>
</el-form>
</div>
</div>
+ <div class="checkType">
+ <el-dialog
+ title="娣诲姞鎸囨爣"
+ :visible.sync="dialogueFormVisible"
+ width="40%"
+ >
+ <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-form-item label="鏍峰搧缂栧彿锛�">
+ <el-select style="width: 160px;" v-model="addPointerForm.sampleNumber" size="small" placeholder="璇烽�夋嫨鏍峰搧缂栧彿">
+ <el-option v-for="options in samplecodeoptions" :value="options.value" :key="options.key" >{{ options.value }}</el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="鏍峰搧鍚嶇О锛�">
+ <el-select style="width: 160px;" v-model="addPointerForm.sampleName" size="small" placeholder="璇烽�夋嫨鏍峰搧鍚嶇О">
+ <el-option v-for="options in sampleoptions" :value="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="10">
+ <el-form-item label="瑙勬牸鍨嬪彿锛�">
+ <el-select style="width: 160px;" v-model="addPointerForm.specificationsModels" 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-form-item label="鏍峰搧鍗曚綅锛�">
+ <el-input style="width: 160px" 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-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-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="50">
+ <el-col :span="10">
+ <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-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="addInspection">娣诲姞</el-button>
+ <el-button @click="dialogueFormVisible = false">鍙� 娑�</el-button>
+ </span>
+ </el-dialog>
+ </div>
</div>
+</div>
+<div v-else>
+ <router-view></router-view>
+</div>
</template>
<script>
+import {getSampleName, getModelSpecification, getlink, addInspection} from '@/api/inspection/commisioninspection'
export default {
data() {
return {
+ currentPage: 0,
searchData: '',
- infoForm: [{
+ infoForm: {
commisioncode: '',
department: '',
contacter: '',
@@ -224,14 +289,179 @@
sendertel: '',
num: '',
other: ''
- }]
+ },
+ detectionInfo: [],
+ addPointerForm:{
+ sampleNumber: '',
+ sampleName: '',
+ specificationsModels: '',
+ unit: '',
+ samplesNumber: '',
+ remarks: '',
+ 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: ''
+ }],
+ model_spe_options:[{
+ key:'1',
+ value: '閫夐」1'
+ },{
+ key: '2',
+ value: '閫夐」2'
+ }],
+ sampleDeliveryMode:[{
+ key: '1',
+ value: '閫佹牱'
+ },{
+ key: '2',
+ value: '涓婇棬'
+ }],
+ dialogueFormVisible: false,
+ showDetail: false
}
},
+ created(){
+ this.getlink()
+ },
+ mounted(){
+ this.getSampleName()
+ this.getModelSpecification()
+ },
methods: {
- handleSelectionChange(val) {
- console.log(val)
- this.radioSelected = val.number // 閫変腑琛岀殑number
- this.multipleSelection = val // 閫変腑鐨勪竴琛屾暟鎹�
+ // 鑾峰彇閾炬帴link
+ getlink(){
+ getlink().then((result)=>{
+ this.$store.commit('settings/SAVE_LINK',result.data)
+ console.log(this.$store.state.settings.link)
+ })
+ },
+ async getSampleName(){
+ const res = await getSampleName()
+ // console.log('res',res.data)
+ this.sampleoptions = res.data.map((item)=>{
+ return{
+ key:item.id.toString(),
+ value:item.name
+ }
+ })
+ this.samplecodeoptions = res.data.map((item)=>{
+ return{
+ key:item.id.toString(),
+ value:item.code
+ }
+ })
+ },
+ async getModelSpecification(){
+ const res = await getModelSpecification({materialId: '1'})
+ // console.log(res)
+ this.model_spe_options = res.data.map((item)=>{
+ return{
+ key:item.specificationsId,
+ value:item.specificationsName
+ }
+ })
+ },
+ 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.detectionInfo.push(tmp)
+ this.dialogueFormVisible = false
+ this.addPointerForm ={
+ sampleNumber: '',
+ sampleName: '',
+ specificationsModels: '',
+ unit: '',
+ samplesNumber: '',
+ remarks: '',
+ experiment: [],
+ addway: ''
+ }
+ },
+ async submitInspection(){
+ let sampledeliveryway
+ if(this.infoForm.way === '閫佹牱'){
+ sampledeliveryway = 1
+ }else{
+ sampledeliveryway = 2
+ }
+ const res = await addInspection({completionDeadline: this.infoForm.deadline,
+ contactAddress: this.infoForm.address,
+ contactNumber: this.infoForm.tel,
+ contacts: this.infoForm.contacter,
+ entrustRemarks: this.infoForm.other,
+ entrusted: this.infoForm.department,
+ inspectionTime: this.infoForm.time,
+ linkDetectionList: this.detectionInfo,
+ reportNumber: parseInt(this.infoForm.num),
+ sampleDeliveryMode: sampledeliveryway,
+ sampleDeliveryPhone: this.infoForm.sendertel,
+ sampleSender: this.infoForm.sender})
+// 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: '鎭枩浣�!',
+ type: 'success'
+ })
+ // 璺宠浆椤甸潰
+ this.$router.push('/inspectionManagement/commissionInspection')
+ this.showDetail = true
+ }else{
+ this.$message.error(res.message)
+ }
},
handleSizeChange(pageSize) {
this.pageParams.pageSize = pageSize
@@ -239,16 +469,61 @@
handleCurrentChange(pageNo) {
this.pageParams.pageNo = pageNo
},
- headerBg({ row, rowIndex }) {
- console.log('rowIndex', rowIndex)
- if (rowIndex === 0) {
- return 'headerBgClass'
- }
+ deleteRow(row){
+ console.log(row)
+ row = null
}
}
}
</script>
<style lang="scss" scoped>
-
+.firstBox{
+ .title{
+ padding:0px 10px 10px 10px;
+ }
+ .tableBox{
+ background-color: #fff;
+ padding: 0px 20px;
+ margin: 0px -15px;
+ flex: 1;
+ background: #fff;
+ /* padding: 20px 20px 10px 20px; */
+ display: flex;
+ flex-direction: column;
+ .tableBox-header{
+ padding: 20px 0px;
+ .split{
+ margin-right: 15px;
+ }
+ }
+ .el-table {
+ flex: 1;
+ }
+ >div:nth-child(3){
+ display: flex;
+ justify-content: end;
+ margin: 10px 0;
+ }
+ }
+}
+.secondBox{
+ margin: 0px -15px;
+ .header{
+ display: flex;
+ justify-content: space-between;
+ padding: 10px 20px;
+ margin-top: 10px;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: end;
+ margin-right: 156px;
+ margin-top: 20px;
+ }
+}
+.infoForm{
+ background-color: #fff;
+ padding: 20px 50px;
+}
</style>
--
Gitblit v1.9.3