From 34a7e21b3508ac0f5f011d958210fdb7176d726b Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期六, 09 九月 2023 11:54:05 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/lims-before
---
src/views/inspectionManagement/commissionInspection/addCommision.vue | 248 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 196 insertions(+), 52 deletions(-)
diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue
index 00c25ea..cd2ced4 100644
--- a/src/views/inspectionManagement/commissionInspection/addCommision.vue
+++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue
@@ -2,6 +2,81 @@
<div class="add_commision">
<div class="content-main">
<div class="firstBox">
+ <div class="printCommision" >
+ <table height="30px" id="printCommision">
+ <tr>
+ <td colspan="8">
+ <img :src="imgSrc" style="position: absolute;left: 50px;top:26px">
+ <h1 style="display: inline;">濮旀墭妫�楠岀敵璇峰崟</h1>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">濮旀墭缂栧彿</td>
+ <td colspan="2">{{infoForm.commisioncode}}</td>
+ <td colspan="2">濮旀墭鍗曚綅</td>
+ <td colspan="2">{{infoForm.department}}</td>
+ </tr>
+ <tr>
+ <td colspan="2">鑱旂郴浜�</td>
+ <td colspan="2">{{infoForm.contacter}}</td>
+ <td colspan="2">鑱旂郴鐢佃瘽</td>
+ <td colspan="2">{{infoForm.tel}}</td>
+ </tr>
+ <tr>
+ <td colspan="2">鑱旂郴鍦板潃</td>
+ <td colspan="2">{{infoForm.address}}</td>
+ <td colspan="2">瀹屾垚鏈熼檺</td>
+ <td colspan="2">{{infoForm.deadline}}</td>
+ </tr>
+ <tr>
+ <td colspan="2">閫佹牱鏃堕棿</td>
+ <td colspan="2">{{infoForm.time}}</td>
+ <td colspan="2">閫佹牱浜�</td>
+ <td colspan="2">{{infoForm.sender}}</td>
+ </tr>
+ <tr>
+ <td colspan="2">閫佹牱浜虹數璇�</td>
+ <td colspan="2">{{infoForm.sendertel}}</td>
+ <td colspan="2">鎶ュ憡鏁伴噺</td>
+ <td colspan="2">{{infoForm.num}}</td>
+ </tr>
+ <tr>
+ <td colspan="2">閫佹牱鏂瑰紡</td>
+ <td colspan="6">
+ <ul>
+ <li>
+ <span class="success-icon">{{infoForm.way == 1 ? '鈭�' : ''}}</span>
+ <span>鈻� 閫佹牱</span>
+ </li>
+ <li>
+ <span class="success-icon">{{infoForm.way == 2 ? '鈭�' : ''}}</span>
+ <span>鈻� 涓婇棬</span>
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tbody colspan="8" v-for="(item,index) in sampleNameList" :key="index">
+ <tr>
+ <td colspan="2">鏍峰搧</td>
+ <td colspan="2">{{item}}</td>
+ <td colspan="2">璇勫畾鏍囧噯</td>
+ <td colspan="2">{{standardList[index]}}</td>
+ </tr>
+ <tr>
+ <td colspan="2">璇曢獙椤圭洰</td>
+ <td colspan="6">
+ <p style="text-align:left;margin-left:20px" v-for="(data,index) in testProjectList[index]" :key="index">
+ {{index+1 + "銆�" + data}}
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ <tr>
+ <td colspan="2">澶囨敞</td>
+ <td colspan="6">{{infoForm.other}}</td>
+ </tr>
+ </table>
+ </div>
<div class="title">濮旀墭淇℃伅</div>
<div class="tableBox">
<div class="tableBox-header">
@@ -22,7 +97,7 @@
<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="speName" 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%" />
@@ -69,7 +144,7 @@
</el-col>
<el-col :span="5">
<el-form-item label="鑱旂郴浜猴細">
- <el-input style="width: 200px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ュ鎵樺崟浣�" size="small" />
+ <el-input style="width: 200px" v-model="infoForm.contacter" placeholder="璇疯緭鍏ヨ仈绯讳汉" size="small" />
</el-form-item>
</el-col>
<el-col :span="5">
@@ -87,14 +162,14 @@
</el-col>
<el-col :span="5">
<el-form-item label="瀹屾垚鏈熼檺锛�">
- <el-date-picker v-model="infoForm.deadline" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 200px;"
+ <el-date-picker value-format="yyyy-MM-dd" 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: 200px;">
+ <el-date-picker value-format="yyyy-MM-dd" v-model="infoForm.time" type="date" placeholder="閫夋嫨鏃ユ湡" style="width: 200px;">
</el-date-picker>
</el-form-item>
</el-col>
@@ -122,7 +197,7 @@
</el-col>
<el-col :span="5">
<el-form-item label="鎶ュ憡鏁帮細">
- <el-input style="width: 200px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off"
+ <el-input type="number" min="0" style="width: 200px;" v-model="infoForm.num" placeholder="璇疯緭鍏ユ姤鍛婃暟" autocomplete="off"
size="small" />
</el-form-item>
</el-col>
@@ -138,7 +213,7 @@
<el-button type="primary" size="small" @click="submitInspection"
style="background-color: rgb(1, 102, 226);">鎻愪氦</el-button>
<!-- 鐐瑰嚮杩斿洖锛屽綋鍓嶉〉闈㈠�间负false -->
- <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">鎵撳嵃濮旀墭鍗�</el-button>
+ <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); " @click="printCommision">鎵撳嵃濮旀墭鍗�</el-button>
</div>
</el-form>
</div>
@@ -149,23 +224,23 @@
label-width="100px" size="mini">
<el-row :gutter="50">
<el-col :span="11">
- <el-form-item label="鏍峰搧缂栧彿锛�">
+ <el-form-item label="鏍峰搧缂栧彿锛�" prop="sampleNumber">
<el-input v-model="addPointerForm.sampleNumber" size="small" disabled>
</el-input>
</el-form-item>
</el-col>
<el-col :span="11">
- <el-form-item label="鏍峰搧鍚嶇О锛�">
+ <el-form-item label="鏍峰搧鍚嶇О锛�" prop="sampleName">
<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-option v-for="(options,index) in sampleoptions" :key="index" :value="options.key" :label="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-form-item label="璇勫畾鏍囧噯锛�" prop="addway">
<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>
@@ -173,7 +248,7 @@
</el-form-item>
</el-col>
<el-col :span="11">
- <el-form-item label="瑙勬牸鍨嬪彿锛�">
+ <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="specificationsModels">
<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"
@@ -184,19 +259,19 @@
</el-row>
<el-row :gutter="50">
<el-col :span="11">
- <el-form-item label="鏍峰搧鍗曚綅锛�">
+ <el-form-item label="鏍峰搧鍗曚綅锛�" prop="unit">
<el-input type="text" v-model="addPointerForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="11">
- <el-form-item label="鏍峰搧鏁伴噺锛�">
+ <el-form-item label="鏍峰搧鏁伴噺锛�" prop="samplesNumber">
<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="11">
- <el-form-item label="娣诲姞椤圭洰锛�">
+ <el-form-item label="娣诲姞椤圭洰锛�" prop="experiment" :rules="[{required: true,message:'椤圭洰涓嶈兘涓虹┖',trigger:'blur'}]">
<el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;">
<el-checkbox v-for="(expers, ai) in productList" :label="expers"
:key="ai">{{ expers }}</el-checkbox>
@@ -204,7 +279,7 @@
</el-form-item>
</el-col>
<el-col :span="11">
- <el-form-item label="澶囨敞锛�">
+ <el-form-item label="澶囨敞锛�" prop="remarks">
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 20}" style="width: 200px;"
v-model="addPointerForm.remarks" placeholder="璇疯緭鍏ュ娉�" autocomplete="off" />
</el-form-item>
@@ -212,7 +287,7 @@
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
- <el-button type="primary" @click="addInspection">娣诲姞</el-button>
+ <el-button type="primary" @click="addInspection('addPointerForm')">娣诲姞</el-button>
<el-button @click="dialogueFormVisible = false">鍙� 娑�</el-button>
</span>
</el-dialog>
@@ -222,6 +297,7 @@
</template>
<script>
+ import PrintJS from 'print-js'
import {
getSampleName,
getModelSpecification,
@@ -235,6 +311,10 @@
export default {
data() {
return {
+ sampleNameList:[],
+ standardList:[],
+ testProjectList:[],
+ imgSrc: require("@/assets/404_images/logo.png"),
currentPage: 0,
searchData: '',
infoForm: {
@@ -262,19 +342,7 @@
experiment: [],
addway: ''
},
- experList: [{
- key: '1',
- label: '澶栬妫�鏌�'
- }, {
- key: '2',
- label: '鍔ㄤ綔鐢靛帇璇曢獙'
- }, {
- key: '3',
- label: '鐢甸樆绠℃硠婕忕數娴佽瘯楠�'
- }, {
- key: '4',
- label: '缁濈紭閮ㄥ垎浜ゆ祦鑰愬帇璇曢獙'
- }],
+ experList: [],
sampleoptions: [],
samplecodeoptions: [],
model_spe_options: [],
@@ -294,6 +362,23 @@
}
},
watch: {
+ dialogueFormVisible(val){
+ if(val == false){
+ this.addPointerForm = {
+ sampleNumber: '',
+ sampleName: '',
+ specificationsModels: '',
+ unit: '',
+ samplesNumber: '',
+ remarks: '',
+ experiment: [],
+ addway: '',
+ speName: ''
+ }
+ this.productList = [];
+ this.$refs['addPointerForm'].clearValidate();
+ }
+ },
addPointerForm: {
handler: function(val) {
if (val.addway != "") {
@@ -323,6 +408,19 @@
this.getSampleName()
},
methods: {
+ printCommision(){
+ if(this.detectionInfo.length < 1){
+ this.$message.error("璇峰厛娣诲姞涓�鏉℃牱鍝佹暟鎹�!");
+ return
+ }
+ console.log(this.infoForm);
+ PrintJS({
+ printable: "printCommision",
+ type: "html",
+ targetStyles: ["*"],
+ ignoreElements: ["no-ignore"],
+ });
+ },
getlink(viewId) {
if (viewId == null) {
this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴')
@@ -367,29 +465,36 @@
}
})
},
- 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]
- }
- 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: '',
- speName: ''
- }
+ addInspection(formName) {
+ this.$refs[formName].validate((valid)=>{
+ if(valid){
+ let sName = this.addPointerForm.sampleName;
+ this.sampleoptions.forEach(a=>{
+ if(a.key == sName) this.sampleNameList.push(a.value);
+ })
+ this.standardList.push(this.addPointerForm.addway);
+ this.testProjectList.push(this.addPointerForm.experiment);
+ let exper = this.addPointerForm.experiment[0]
+ for (let i = 1; i < this.addPointerForm.experiment.length; i++) {
+ exper += ',' + this.addPointerForm.experiment[i]
+ }
+ 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
+ }
+ });
},
async submitInspection() {
+ if(this.detectionInfo.length < 1){
+ this.$message.error("璇峰厛娣诲姞涓�鏉℃牱鍝佹暟鎹�!");
+ return
+ }
let sampledeliveryway
if (this.infoForm.way === '閫佹牱') {
sampledeliveryway = 1
@@ -447,8 +552,8 @@
return item.name
})
})
- this.model_sta_options.forEach(a=>{
- if(a.key == val){
+ this.model_sta_options.forEach(a => {
+ if (a.key == val) {
this.addPointerForm.speName = a.value
}
})
@@ -481,6 +586,45 @@
</script>
<style lang="scss" scoped>
+ .printCommision{
+ display: none;
+ width: 90%;
+ height:100px;
+ table {
+ width: 100%;
+ border-collapse: collapse;
+ font-size: 18px;
+ }
+
+ table,
+ tr,
+ th,
+ td {
+ border: 2px solid black;
+ text-align: center;
+ font-family: '寰蒋闆呴粦';
+ ul{
+ list-style: none;
+ width: 500px;
+ }
+ ul li{
+ display: inline;
+ width:100px;
+ margin: 0 25px;
+ .success-icon{
+ position: relative;
+ left: 15px;
+ bottom: 3px;
+ }
+ }
+ }
+
+ tr,
+ td,
+ th {
+ padding: 20px 10px;
+ }
+ }
.content-main {
padding: 20px 40px;
background-color: #f0f2f5;
--
Gitblit v1.9.3