From 039b4a3407bf7b6878a564df3324d9da5cfb7527 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 26 十二月 2024 14:33:05 +0800
Subject: [PATCH] 完成7.4样品接收

---
 src/components/view/a7-sample-registration.vue |  676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/assets/api/controller.js                   |   14 +
 2 files changed, 690 insertions(+), 0 deletions(-)

diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index d3115c7..08409ff 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -56,6 +56,7 @@
     processOrder,
     processMethodSearchNew,
     processMethodVerify,
+    processSample,
   }
 }
 
@@ -725,3 +726,16 @@
   delVerifyMethodFileList:'/processMethodVerify/delVerifyMethodFileList', // 鍒犻櫎楠岃瘉鍘熷璁板綍鍒楄〃
   delMethodVerify:'/processMethodVerify/delMethodVerify', // 鍒犻櫎鏍囧噯鏂规硶鏇存柊楠岃瘉
 }
+
+// 7.4妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�-鏍峰搧鎺ユ敹
+const processSample = {
+  pageProcessTotalSample:'/processTotalSample/pageProcessTotalSample',//鏌ョ湅鍘嗗彶
+  submitProcessTotalSample :'/processTotalSample/submitProcessTotalSample ',// 鎻愪氦鍘嗗彶  浼犲弬id
+  checkProcessTotalSample:'/processTotalSample/checkProcessTotalSample',//瀹℃牳  浼犲弬id鍜岄�氳繃涓嶉�氳繃state(涓枃)
+  ratifyProcessTotalSample:'/processTotalSample/ratifyProcessTotalSample',//鎵瑰噯  浼犲弬id鍜岄�氳繃涓嶉�氳繃state(涓枃)
+  pageProcessSample:'/processSample/pageProcessSample',//鏌ヨ璇︽儏  鍒嗛〉鏌ヨ閲岄潰totaldealId  浼犲弬鍘嗗彶鐨刬d
+  addProcessSample:'/processSample/addProcessSample',//鏂板璇︽儏鐨勬暟鎹�
+  delProcessSample:'/processSample/delProcessSample',//鍒犻櫎 浼犲弬id
+  doProcessSample:'/processSample/doProcessSample',//淇敼
+  getProcessSample:'/processSample/getProcessSample',// 鏌ョ湅 浼犲弬id
+}
diff --git a/src/components/view/a7-sample-registration.vue b/src/components/view/a7-sample-registration.vue
new file mode 100644
index 0000000..ed9380b
--- /dev/null
+++ b/src/components/view/a7-sample-registration.vue
@@ -0,0 +1,676 @@
+<template>
+  <div class="sample-registration">
+    <el-row class="title">
+      <el-col :span="20" style="padding-left: 20px;text-align: left;">鏍峰搧鎺ユ敹</el-col>
+    </el-row>
+    <el-tabs type="border-card" v-model="activeName" style="height: 100%;" @tab-click="componentData0.entity.totalSampleId=''">
+      <el-tab-pane label="濉啓" name="濉啓" style="height: 100%;" :key="1">
+        <el-button size="small" type="primary" @click="handleAdd0" style="margin-left: 20px;" v-if="addPower">鏂板</el-button>
+        <div class="table" style="height: calc(100% - 200px)" v-if="activeName=='濉啓'">
+          <ValueTable ref="ValueTable0" :url="$api.processSample.pageProcessSample"
+      :componentData="componentData0" :key="upIndex0" :delUrl="$api.processSample.delProcessSample" />
+        </div>
+      </el-tab-pane>
+      <el-tab-pane label="鍘嗗彶璁板綍" name="鍘嗗彶璁板綍" style="height: 100%;" :key="2">
+        <div class="search">
+          <div class="search_thing">
+            <div class="search_label">骞存湀锛�</div>
+            <div class="search_input">
+              <el-date-picker
+                v-model="componentData.entity.month"
+                type="month"
+                placeholder="閫夋嫨鏈�" format="yyyy-MM"
+                value-format="yyyy-MM" size="small" @change="refreshTable()">
+              </el-date-picker>
+            </div>
+          </div>
+          <div class="search_thing" style="padding-left: 30px;">
+            <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+            <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+          </div>
+        </div>
+        <div class="table">
+          <ValueTable ref="ValueTable" :url="$api.processSample.pageProcessTotalSample"
+            :componentData="componentData" :key="upIndex"/>
+        </div>
+      </el-tab-pane>
+    </el-tabs>
+
+    <!-- 濉啓 -->
+    <!-- <el-dialog
+      title="濉啓"
+      :visible.sync="editDialogVisible"
+      width="1000px" :close-on-click-modal="false" :close-on-press-escape="false">
+      <template #title>
+        <span>濉啓</span>
+        <el-button size="small" type="primary" @click="handleAdd0" style="position: absolute;right: 60px;">鏂板</el-button>
+      </template>
+      <div style="max-height: 80vh;overflow-y: auto;" >
+        <ValueTable ref="ValueTable0" :url="$api.processTotaldeal.pageProcessDeal"
+      :componentData="componentData0" :key="upIndex0" style="height: calc(100% - 10px);" :delUrl="$api.processTotaldeal.delProcessDeal" />
+      </div>
+    </el-dialog> -->
+    <!-- 鏂板鏍峰搧 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="addDialogVisible"
+      width="400px">
+      <el-row>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">鏍峰搧鍚嶇О锛�</div>
+            <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addInfo.sampleName"></el-input></div>
+          </div>
+        </el-col>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">鏍峰搧缂栧彿锛�</div>
+            <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addInfo.sampleCode"></el-input></div>
+          </div>
+        </el-col>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">鏉ユ牱鍗曚綅锛�</div>
+            <div class="search_input">
+              <el-select v-model="addInfo.sampleSupplier" size="small">
+                <el-option :label="item.company" :value="item.company" v-for="(item,index) in customPageList" :key="item.id"></el-option>
+              </el-select>
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">鏁版牱鍝侀噺锛�</div>
+            <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addInfo.num"></el-input></div>
+          </div>
+        </el-col>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">鐣欐牱鏃ユ湡锛�</div>
+            <div class="search_input">
+              <el-date-picker
+                v-model="addInfo.leaveDate"
+                type="date"
+                size="small"
+                placeholder="閫夋嫨鏃ユ湡"
+                format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd" style="width: 100%;">
+              </el-date-picker></div>
+          </div>
+        </el-col>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">鏀舵牱鏃ユ湡锛�</div>
+            <div class="search_input">
+              <el-date-picker
+                v-model="addInfo.receiveDate"
+                type="date"
+                size="small"
+                placeholder="閫夋嫨鏃ユ湡"
+                format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd" style="width: 100%;">
+              </el-date-picker></div>
+          </div>
+        </el-col>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">鏍峰搧鐘舵�侊細</div>
+            <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addInfo.sampleState"></el-input></div>
+          </div>
+        </el-col>
+        <el-col :span="24" style="margin-bottom: 16px;">
+          <div class="search_thing">
+            <div class="search_label">閫�鏍风鏀�/澶勭悊鏃ユ湡锛�</div>
+            <div class="search_input">
+              <el-date-picker
+                v-model="addInfo.dealTime"
+                type="date"
+                size="small"
+                placeholder="閫夋嫨鏃ユ湡"
+                format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd" style="width: 100%;">
+              </el-date-picker></div>
+          </div>
+        </el-col>
+      </el-row>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="addDialogVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="submitAdd" :loading="addLoading">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+    <!-- 璇︽儏/涓嬭浇/瀹℃牳/鎵瑰噯 -->
+    <el-dialog
+      :title="title0"
+      :visible.sync="lookDialogVisible"
+      width="800px" :class="{downPdf:title0=='涓嬭浇'}" :modal="title0!='涓嬭浇'" top="5vh">
+      <filePreview v-if="lookDialogVisible" :fileUrl="javaApi+'/word/'+currentInfo.url"
+      :currentFile="{}" style="max-height: 70vh;overflow-y: auto;"/>
+      <!-- <div class="dialog-body">
+        <div id="dialogBody">
+          <h4 style="display: flex;align-items: center;flex-direction: column;justify-content: center;">
+            <span style="font-size: 20px;">鏍峰搧澶勭悊鐢宠琛�</span>
+            <span>Sample Handing Request Form</span>
+          </h4>
+          <p style="display: flex;justify-content: space-between;margin-top: 16px;">
+            <span>{{ currentInfo.complainNo }}</span>
+            <span>NO:</span>
+          </p>
+          <table border="1" class="tables" cellpadding="10">
+            <tr>
+              <td>
+                <p>搴忓彿</p>
+                <p class="en">No.</p>
+              </td>
+              <td>
+                <p>鏍峰搧鍚嶇О</p>
+                <p class="en">Sample name</p>
+              </td>
+              <td>
+                <p>鏍峰搧缂栧彿</p>
+                <p class="en">Sample number</p>
+              </td>
+              <td>
+                <p>渚涙牱鍗曚綅</p>
+                <p class="en">Sample unit</p>
+              </td>
+              <td>
+                <p>鏁伴噺</p>
+                <p class="en">Quantity</p>
+              </td>
+              <td>
+                <p>澶勭悊鏂瑰紡</p>
+                <p class="en">Processing</p>
+              </td>
+              <td>
+                <p>鏃堕棿</p>
+                <p class="en">Date</p>
+              </td>
+            </tr>
+            <tr v-for="(item,index) in currentInfo.arr" :key="index">
+              <td>{{ index+1 }}</td>
+              <td>{{ item.sampleName }}</td>
+              <td>{{ item.sampleCode }}</td>
+              <td>{{ item.sampleSupplier }}</td>
+              <td>{{ item.num }}</td>
+              <td>{{ item.dealMethod }}</td>
+              <td>{{ item.dealTime }}</td>
+            </tr>
+          </table>
+          <div class="user-info" v-if="title0=='鏌ョ湅'||title0=='涓嬭浇'">
+            <div class="user-info-item">
+              <p>濉〃锛�<img :src="javaApi+'img/'+currentInfo.submitUrl" :alt="currentInfo.submitUserName" style="width: 100px;height: 60px"></p>
+              <p class="en">Filing</p>
+            </div>
+            <div class="user-info-item">
+              <p>瀹℃牳锛�<img :src="javaApi+'/img/'+currentInfo.examineUrl" :alt="currentInfo.examineUserName" style="width: 100px;height: 60px"></p>
+              <p class="en">Audit</p>
+            </div>
+            <div class="user-info-item">
+              <p>鎵瑰噯锛�<img :src="javaApi+'/img/'+currentInfo.ratifyUrl" :alt="currentInfo.ratifyUserName" style="width: 100px;height: 60px"></p>
+              <p class="en">Approve</p>
+            </div>
+          </div>
+        </div>
+      </div> -->
+      <span slot="footer" class="dialog-footer" v-if="title0=='瀹℃牳'||title0=='鎵瑰噯'">
+        <el-button @click="submitCheck('涓嶉�氳繃')" :loading="noCheckLoading">涓嶉�氳繃</el-button>
+        <el-button type="primary" @click="submitCheck('閫氳繃')" :loading="checkLoading">閫� 杩�</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import ValueTable from '../tool/value-table.vue'
+import {exportHtmlToPDF} from '../../util/downHtmlToPDF'
+import filePreview from '../tool/file-preview.vue'
+export default {
+  components: {
+    ValueTable,
+    filePreview,
+  },
+  name: "SampleDisposal",
+  data() {
+    return {
+      activeName:'濉啓',
+      title:'鏂板',
+      addDialogVisible:false,
+      addLoading:false,
+      outLoading:false,
+      editDialogVisible:false,
+      lookDialogVisible:false,
+      title0:'鏌ョ湅',
+      noCheckLoading:false,
+      checkLoading:false,
+      // 鍘嗗彶鍒楄〃
+      componentData: {
+          entity: {
+            month: null,
+            orderBy: {
+              field: 'id',
+              order: 'desc'
+            }
+          },
+          isIndex: true,
+          showSelect: false,
+          select: false,
+          do: [{
+            id: 'handleLook',
+            font: '鏌ョ湅',
+            type: 'text',
+            method: 'handleLook',
+          }, {
+            id: 'handleDown0',
+            font: '涓嬭浇',
+            type: 'text',
+            method: 'handleDown0',
+            disabFun: (row, index) => {
+						return !row.url
+            }
+          },
+          // {
+          //   id: 'handleAdd',
+          //   font: '濉啓',
+          //   type: 'text',
+          //   method: 'handleAdd',
+          //   disabFun: (row, index) => {
+          //     return row.submitState=='宸叉彁浜�'
+          //   }
+          // },
+          {
+            id: 'handleSubmit',
+            font: '鎻愪氦',
+            type: 'text',
+            method: 'handleSubmit',
+            disabFun: (row, index) => {
+						return !!row.submitState&&row.submitState!='寰呮彁浜�'
+            }
+          }, {
+            id: 'handleCheck',
+            font: '瀹℃牳',
+            type: 'text',
+            method: 'handleCheck',
+            disabFun: (row, index) => {
+						return row.examineState=='閫氳繃'||row.submitState=='寰呮彁浜�'
+            }
+          }, {
+            id: 'handleApproval',
+            font: '鎵瑰噯',
+            type: 'text',
+            method: 'handleApproval',
+            disabFun: (row, index) => {
+						return row.ratifyState=='閫氳繃'||row.submitState=='寰呮彁浜�'
+            }
+          }],
+          tagField: {},
+          selectField: {},
+          requiredAdd: [],
+          requiredUp: [],
+          needSort: [],
+          inputType:''
+      },
+      // 鏍峰搧鍒楄〃
+      componentData0: {
+          entity: {
+            totalSampleId: null,
+            orderBy: {
+              field: 'id',
+              order: 'desc'
+            }
+          },
+          isIndex: true,
+          showSelect: false,
+          select: false,
+          do: [{
+            id: 'handleAdd0',
+            font: '淇敼',
+            type: 'text',
+            method: 'handleAdd0'
+          },{
+            id: 'delete',
+            font: '鍒犻櫎',
+            type: 'text',
+            method: 'doDiy'
+          }],
+          tagField: {},
+          selectField: {},
+          requiredAdd: [],
+          requiredUp: [],
+          needSort: [],
+          inputType:聽''
+      },
+      upIndex0: 100,
+      entityCopy: {},
+      upIndex: 0,
+      addInfo:{},//鏂板鏍峰搧
+      customPageList:[],
+      currentInfo:{
+        arr:[]
+      },//鏌ョ湅鐨勮鎯�
+      outPower:true,
+      addPower:true,
+    };
+  },
+  mounted() {
+    this.entityCopy = this.HaveJson(this.componentData.entity);
+    this.getCustomPageList()
+    // this.getPower()
+  },
+  methods: {
+    getPower(){
+      let power = JSON.parse(sessionStorage.getItem('power'))
+      let add = false
+      let out = false
+      let submitProcessTotaldeal = false
+      let checkProcessTotaldeal = false
+      let ratifyProcessTotaldeal = false
+      for (var i = 0; i < power.length; i++) {
+        if (power[i].menuMethod == 'addProcessDeal') {
+          add = true
+        }
+        // if (power[i].menuMethod == 'exportProcessEvaluate') {
+        //   out = true
+        // }
+        if (power[i].menuMethod == 'submitProcessTotaldeal') {
+          submitProcessTotaldeal = true
+        }
+        if (power[i].menuMethod == 'checkProcessTotaldeal') {
+          checkProcessTotaldeal = true
+        }
+        if (power[i].menuMethod == 'ratifyProcessTotaldeal') {
+          ratifyProcessTotaldeal = true
+        }
+      }
+      if (!ratifyProcessTotaldeal) {
+        this.componentData.do.splice(4, 1)
+      }
+      if (!checkProcessTotaldeal) {
+        this.componentData.do.splice(3, 1)
+      }
+      if (!submitProcessTotaldeal) {
+        this.componentData.do.splice(2, 1)
+      }
+      if (!add) {
+        this.componentData0.do.splice(1, 1)
+        this.componentData0.do.splice(0, 1)
+      }
+      this.addPower = add
+    },
+    // 鑾峰彇閫佹牱鍗曚綅鍒楄〃
+    getCustomPageList(){
+      this.$axios.post(this.$api.user.selectCustomPageList,{
+        entity: {
+          orderBy: {
+            field: 'createTime',
+            order: 'desc'
+          }
+        },
+        page:{
+          current:-1,
+          size:-1
+        }
+      },{headers: {
+          'Content-Type': 'application/json'
+      }}).then(res=>{
+        this.customPageList = res.data.body.records
+      }).catch(err=>{});
+    },
+    refreshTable() {
+      this.$refs['ValueTable'].selectList()
+    },
+    refresh() {
+      this.componentData.entity = this.HaveJson(this.entityCopy)
+      this.upIndex++
+      this.refreshTable()
+    },
+    // 濉啓
+    // handleAdd(row){
+    //   this.componentData0.entity.totaldealId = row.id
+    //   this.editDialogVisible = true
+    // },
+    // 鎵撳紑鏂板鐣岄潰
+    handleAdd0(row){
+      if(row){
+        this.addInfo = this.HaveJson(row)
+        this.title = '缂栬緫'
+      }else{
+        this.title = '鏂板'
+        this.addInfo = {}
+      }
+      this.addDialogVisible = true
+    },
+    // 鎻愪氦鏂板
+    submitAdd(){
+      if(this.addInfo.id){
+        // 缂栬緫
+        this.addLoading = true
+        this.$axios.post(this.$api.processSample.doProcessSample,{
+          totalSampleId:this.componentData0.entity.totalSampleId,
+          ...this.addInfo
+        },{headers: {
+            'Content-Type': 'application/json'
+        },noQs:false}).then(res=>{
+          this.addLoading = false
+          if (res.code === 201) return
+          this.addDialogVisible = false
+          this.$message({
+            type: 'success',
+            message: '缂栬緫鎴愬姛!'
+          });
+          this.$refs.ValueTable0.selectList()
+        }).catch(err=>{});
+      }else{
+        // 鏂板
+        this.addLoading = true
+        this.$axios.post(this.$api.processSample.addProcessSample,{
+          totalSampleId:this.componentData0.entity.totalSampleId,
+          ...this.addInfo
+        },{headers: {
+            'Content-Type': 'application/json'
+        },noQs:false}).then(res=>{
+          this.addLoading = false
+          if (res.code === 201) return
+          this.addDialogVisible = false
+          this.$message({
+            type: 'success',
+            message: '鏂板鎴愬姛!'
+          });
+          this.$refs.ValueTable0.selectList()
+        }).catch(err=>{});
+      }
+    },
+    // 鎻愪氦
+    handleSubmit(row){
+      this.$confirm('鏄惁鎻愪氦 '+row.month+' 鏈堜唤鐨勬暟鎹�', '鎻愪氦', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        this.$axios.post(this.$api.processSample.submitProcessTotalSample,{
+          id:row.id
+        }).then(res=>{
+          if (res.code === 201) return
+          this.$message({
+            type: 'success',
+            message: '鎻愪氦鎴愬姛!'
+          });
+          this.$refs['ValueTable'].selectList()
+        }).catch(err=>{});
+      })
+    },
+    // 鏌ョ湅
+    handleLook(row){
+      // console.log(row)
+      // this.title0 = '鏌ョ湅'
+      // this.commonFun(row)
+      this.activeName = '濉啓'
+      this.componentData0.entity.totalSampleId = row.id
+      this.$refs['ValueTable0'].selectList()
+    },
+    commonFun(row,callbanck){
+      this.currentInfo = row
+      this.componentData0.entity.totalSampleId = row.id
+      this.$axios.post(this.$api.processSample.pageProcessSample,{
+        entity:this.componentData0.entity,
+        page:{
+          current:-1,
+          size:-1
+        }
+      },{headers: {
+            'Content-Type': 'application/json'
+        }}).then(res=>{
+        this.currentInfo.arr = res.data.body.records
+        this.lookDialogVisible = true
+        if(callbanck){
+          callbanck()
+        }
+      }).catch(err=>{});
+    },
+    // 瀹℃牳
+    handleCheck(row){
+      this.title0 = '瀹℃牳'
+      this.commonFun(row)
+    },
+    // 鎵瑰噯
+    handleApproval(row){
+      this.title0 = '鎵瑰噯'
+      this.commonFun(row)
+    },
+    // 鎻愪氦瀹℃牳/鎵瑰噯
+    submitCheck(state){
+      if(state=='閫氳繃'){
+        this.checkLoading = true
+      }else{
+        this.noCheckLoading = true
+      }
+      if(this.title0=='瀹℃牳'){
+        this.$axios.post(this.$api.processSample.checkProcessTotalSample,{
+          id:this.currentInfo.id,
+          state:state
+        }).then(res=>{
+          this.checkLoading = false
+          this.noCheckLoading = false
+          if (res.code === 201) return
+          this.$message({
+            type: 'success',
+            message: '鎿嶄綔鎴愬姛!'
+          });
+          this.$refs['ValueTable'].selectList()
+          this.lookDialogVisible = false
+        }).catch(err=>{});
+      }else if(this.title0=='鎵瑰噯'){
+        this.$axios.post(this.$api.processSample.ratifyProcessTotalSample,{
+          id:this.currentInfo.id,
+          state:state
+        }).then(res=>{
+          this.checkLoading = false
+          this.noCheckLoading = false
+          if (res.code === 201) return
+          this.$message({
+            type: 'success',
+            message: '鎿嶄綔鎴愬姛!'
+          });
+          this.$refs['ValueTable'].selectList()
+          this.lookDialogVisible = false
+        }).catch(err=>{});
+      }
+    },
+    // 瀵煎嚭璇︽儏
+    handleDown0(row){
+      // 鍓嶇涓嬭浇
+      // this.title0 = '涓嬭浇'
+      // let that = this
+      // function down() {
+      //   setTimeout(() => {
+      //     that.$nextTick(() => {
+      //       const element = document.getElementById("dialogBody");
+      //       exportHtmlToPDF(element,that.currentInfo.month+' 鏍峰搧澶勭悊鐢宠琛�').then(res=>{
+      //         that.lookDialogVisible = false
+      //       })
+      //     })
+      //   }, 1000);
+      // }
+      // this.commonFun(row,down)
+
+      // 鍚庣涓嬭浇
+      let url = this.javaApi+'/word/'+row.url
+      const link = document.createElement('a');
+      link.href = url;
+      link.download = row.month+' 鏍峰搧鎺ユ敹琛�';
+      link.click();
+    }
+  },
+}
+</script>
+
+<style scoped>
+.title {
+    height: 60px;
+    line-height: 60px;
+  }
+  .search {
+    background-color: #fff;
+    height: 40px;
+    display: flex;
+    align-items: center;
+    position: relative;
+  }
+
+  .search_thing {
+    width: 350px;
+    display: flex;
+    align-items: center;
+  }
+
+  .search_label {
+    width: 110px;
+    font-size: 14px;
+    text-align: right;
+  }
+
+  .search_input {
+    width: calc(100% - 110px);
+  }
+
+  .table {
+    background-color: #fff;
+    width: calc(100% - 40px);
+    height: calc(100% - 60px - 140px);
+    padding: 20px;
+  }
+  .downPdf{
+    opacity: 0 !important;
+  }
+  .tables {
+    table-layout: fixed;
+    width: 100%;
+    margin-top: 10px;
+  }
+
+  .tables td {
+    height: 40px;
+    width: 100px;
+    text-align: center;
+    font-size: 14px;
+    word-wrap: break-word;
+    white-space: normal;
+  }
+  .en{
+    font-size: 12px;
+    word-break: break-word; /* 鑷姩鏂 */
+    overflow-wrap: break-word; /* 闃叉婧㈠嚭 */
+    white-space: normal; /* 榛樿鎹㈣ */
+  }
+  .user-info{
+    display: flex;
+    align-items: center;
+    justify-content: space-evenly;
+    margin-top: 20px;
+  }
+  .user-info .el-button{
+    margin: 0;
+  }
+  >>>.el-tabs__content{
+    height: 100%;
+  }
+</style>

--
Gitblit v1.9.3