From 809f8b1279bf84f28bccabc4f95a8eba6c22a24d Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期二, 29 八月 2023 10:30:04 +0800
Subject: [PATCH] 放行委托新增

---
 src/views/experiment/checkTheReport/index.vue |  118 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 95 insertions(+), 23 deletions(-)

diff --git a/src/views/experiment/checkTheReport/index.vue b/src/views/experiment/checkTheReport/index.vue
index 2a92de3..dce2174 100644
--- a/src/views/experiment/checkTheReport/index.vue
+++ b/src/views/experiment/checkTheReport/index.vue
@@ -1,27 +1,33 @@
 <template>
   <div class="content-main">
     <div class="top-bar">
-      <el-form ref="form" :inline="true">
-        <el-form-item class="sermargin">
+      <el-form ref="form" :inline="true" :model="searchData" label-position="left">
+        <el-form-item label="鏍峰搧缂栧彿:">
           <el-input
-            v-model="input"
+            v-model="searchData.sample_code"
             class="input-form"
-            placeholder="璇风洿鎺ヨ緭鍏ユ牱寮忕紪鍙�/鎶ュ憡鍗曞彿/鏍峰搧缂栧彿/杩涜鎼滅储鎴栦笅鎷夐�夋嫨杩涜缁勫悎鏌ヨ"
+            placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�"
             @keyup.enter.native="getData"
+          />
+        </el-form-item>
+        <el-form-item label="鎶ュ憡鍗曞彿:">
+          <el-input
+            v-model="searchData.reportCode"
+            class="input-form"
+            placeholder="璇疯緭鍏ユ姤鍛婂崟鍙�"
+          />
+        </el-form-item>
+        <el-form-item label="鐢宠鍗曞彿:">
+          <el-input
+            v-model="searchData.application_code"
+            class="input-form"
+            placeholder="璇疯緭鍏ョ敵璇峰崟鍙�"
           />
         </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="getData()">鏌ヨ</el-button>
           <el-button type="primary" plain @click="resetData()">閲嶇疆</el-button>
         </el-form-item>
-        <el-dropdown>
-          <span class="el-dropdown-link">
-            楂樼骇鎼滅储<i class="el-icon-arrow-down el-icon--right"></i>
-          </span>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item>楂樼骇鎼滅储</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
       </el-form>
       <el-form>
         <el-button class="rightBtn" type="primary" icon="el-icon-document"
@@ -36,7 +42,8 @@
             <el-radio-button>鍏ㄩ儴</el-radio-button>
             <el-radio-button label="0">寰呮彁浜�</el-radio-button>
             <el-radio-button label="1">寰呭鏍�</el-radio-button>
-            <el-radio-button label="2">宸插鏍�</el-radio-button>
+            <el-radio-button label="2">寰呯瀛�</el-radio-button>
+            <el-radio-button label="3">宸插畬鎴�</el-radio-button>
           </el-radio-group>
 
           <el-checkbox v-model="checked" style="margin-left: 20px"
@@ -44,6 +51,19 @@
           >
         </div>
       </div>
+      <el-dialog
+        top="10vh"
+        title="鎶ュ憡棰勮"
+        :visible.sync="dialogVisible"
+        width="60%">
+        <span slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="printFun()">鎵撳嵃</el-button>
+        </span>
+        <div class="printStyle">
+          <preview id="printDiv" :reportData="reportData" v-if="reportType===0"></preview>
+          <div v-else>鎴愬搧妫�娴嬫姤鍛�</div>
+        </div>
+      </el-dialog>
       <div class="table-box">
         <el-table
           ref="reportTable"
@@ -74,14 +94,14 @@
             </template></el-table-column
           >
           <el-table-column
-            prop="materialCode"
+            prop="reportCode"
             label="鎶ュ憡鍗曞彿"
             sortable
             min-width="10%"
           >
             <template slot-scope="scope">
               <span style="color: #409eff;">
-                  {{ scope.row.materialCode }}
+                  {{ scope.row.reportCode }}
               </span>
             </template></el-table-column
           >
@@ -136,10 +156,9 @@
               <el-button
                 type="text"
                 size="small"
-                @click="handleClick(scope.row)"
-                >棰勮</el-button
+                @click="previewFun(scope.row)"
+                >鏌ョ湅鎶ュ憡</el-button
               >
-              <el-button type="text" size="small">鎵撳嵃</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -161,23 +180,59 @@
 </template>
 
 <script>
-import { selectAllReport } from "@/api/experiment/checkTheReport";
+import { selectAllReport,getReportData } from "@/api/experiment/checkTheReport";
+import Preview from "@/components/experiment/checkTheReport/index.vue";
+import PrintJS from 'print-js'
 export default {
   data() {
     return {
-      input: "",
+      reportData: [],
+      reportType: 0,
+      searchData:{
+        sample_code:'',
+        reportCode:'',
+        application_code: ''
+      },
       checkStatus: undefined,
       reportTable: [],
       page: 1,
       total: 0,
       pageSize: 10,
       checked: true,
+      dialogVisible: false,
     };
   },
   created() {
     this.getData();
   },
+  mounted(){
+  },
+  components:{
+    Preview
+  },
   methods: {
+    async queryReportByRCode(code){
+      const resp = await getReportData({code:code});
+      this.reportData = resp.data;
+      this.dialogVisible = true;
+      console.log(this.reportData);
+    },
+    //鏌ョ湅鎶ュ憡鎸夐挳
+    previewFun(row){
+      this.reportType = row.type;
+      this.queryReportByRCode(row.reportCode);
+    },
+    //鎵撳嵃鎸夐挳
+    printFun(){
+      this.dialogVisible = false;
+      PrintJS({
+        printable: "printDiv",
+        type: "html",
+        // header: "鍘熸潗鏂欐娴嬫姤鍛�",
+        targetStyles: ["*"],
+        ignoreElements: ["no-ignore"],
+      });
+    },
     // 鐘舵�佹寜閽�
     handleRadioChange() {
       this.getData();
@@ -196,7 +251,11 @@
     },
     // 閲嶇疆鎸夐挳
     resetData() {
-      this.input = undefined;
+      this.searchData={
+        sample_code:'',
+        reportCode:'',
+        application_code: ''
+      },
       this.page = 1;
       this.pageSize = 10;
       this.checkStatus = undefined;
@@ -207,11 +266,12 @@
       const params = {
         page: this.page,
         pageSize: this.pageSize,
-        name: this.input ? this.input : undefined,
+        name: this.searchData.sample_code ? this.searchData.sample_code : undefined,
         status: this.checkStatus ? this.checkStatus : undefined,
       };
       const { data } = await selectAllReport(params);
       this.reportTable = data.row;
+      console.log(data.row);
       this.total = data.total;
     },
   },
@@ -226,7 +286,8 @@
   justify-content: space-between;
   padding: 5px 24px 0px 24px;
   .input-form {
-    width: 700px;
+    width: 250px;
+    margin-right: 30px;
   }
   .el-dropdown-link {
     cursor: pointer;
@@ -237,6 +298,8 @@
   }
 }
 .library-table {
+  height: 80vh;
+  overflow: scroll;
   background-color: #fff;
   flex: 1;
   margin: 0px -15px;
@@ -264,5 +327,14 @@
       margin: 10px 0;
     }
   }
+  .printStyle{
+    overflow: scroll;
+    height:500px;
+    .el-button{
+      position: absolute;
+      top: 10vh;
+      left: 90%;
+    }
+  }
 }
 </style>

--
Gitblit v1.9.3