value
2023-09-07 523d7a54fb07fdf756fbc4faa5eb7fef7263a556
src/views/inspectionManagement/commissionInspection/index.vue
@@ -1,45 +1,45 @@
<template>
   <div>
      <div v-if="!showDetail">
      <div>
         <div class="content-main">
            <div class="top-bar">
               <el-form ref="form" :inline="true" :model="searchData">
                  <el-form-item label="委托编号:" class="sermargin">
                     <el-input v-model="searchData.code" class="input-form" placeholder="请输入">
                     <el-input size="small" v-model="searchData.code" class="input-form" placeholder="请输入">
                     </el-input>
                  </el-form-item>
                  <el-form-item label="样品名称:" class="sermargin">
                     <el-input v-model="searchData.name" class="input-form" placeholder="请输入">
                     <el-input size="small" v-model="searchData.name" class="input-form" placeholder="请输入">
                     </el-input>
                  </el-form-item>
                  <el-form-item label="委托单位:" style="margin-right: 20px;">
                     <el-select v-model="searchData.department" placeholder="全部">
                     <el-select v-model="searchData.department" placeholder="全部" size="small">
                        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                        </el-option>
                     </el-select>
                  </el-form-item>
                  <el-form-item>
                     <el-button type="primary" @click="search">查询</el-button>
                     <el-button type="primary" plain @click="reset">重置</el-button>
                     <el-button type="primary" size="small" @click="search">查询</el-button>
                     <el-button type="primary" size="small" plain @click="reset">重置</el-button>
                  </el-form-item>
               </el-form>
               <el-form>
                  <el-popover placement="left" width="350" trigger="click">
                  <el-popover placement="left" width="410" trigger="click">
                     <div class="vue_qr_div">
                        <el-row>
                           <el-col>
                              <el-input v-model="view" readonly size="medium" style="width: 250px;margin-right: 10px;"></el-input>
                              <el-button size="small" type="primary" v-if="viewId==null" @click="viewDia=true">生成</el-button>
                              <el-button size="small" type="primary" v-else-if="viewId!=null" @click="copy">复制</el-button>
                              <el-button size="small" type="primary" @click="viewDia=true">生成</el-button>
                              <el-button size="small" type="primary" @click="copy">复制</el-button>
                           </el-col>
                        </el-row>
                        <el-row style="margin-top: 10px;">
                           <el-col v-if="viewId==null">当前链接已过期,请点击生成按钮重新生成</el-col>
                           <el-col
                              v-else-if="viewId!=null">当前链接将在{{(parseInt(viewTime)/60/60)>1?(parseInt(viewTime)/60/60).toFixed(1)+'小时':Math.round(parseInt(viewTime)/60)+'分钟'}}后过期</el-col>
                              v-else-if="viewId!=null">当前链接将在{{(parseInt(viewTime2)/60/60)>1?(parseInt(viewTime2)/60/60).toFixed(1)+'小时':Math.round(parseInt(viewTime2)/60)+'分钟'}}后过期</el-col>
                        </el-row>
                     </div>
                     <el-button slot="reference" class="rightBtn" type="primary" @click="goToaddCommision">新增委托</el-button>
                     <el-button size="small" slot="reference" class="rightBtn" type="primary" @click="goToaddCommision">新增委托</el-button>
                  </el-popover>
               </el-form>
            </div>
@@ -58,8 +58,8 @@
                  </div>
               </div>
               <div class="table-box">
                  <el-table ref="commisionTable" :max-height="800" :cell-style="{textAlign: 'center'}"
                     :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
                  <el-table ref="commisionTable" :max-height="800" :cell-style="{textAlign: 'left'}"
                     :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}"
                     :data="commisionTable" @selection-change="handleSelectionChange" style="width: 100%">
                     <el-table-column type="selection" :selectable="checkSelect" min-width="10%" />
                     <el-table-column type="index" label="序号" min-width="10%" />
@@ -71,10 +71,9 @@
                     <el-table-column prop="inspectionTime" label="送样时间" min-width="8%" />
                     <el-table-column prop="completionDeadline" label="完成期限" min-width="8%" />
                     <el-table-column prop="contacts" label="委托编制人" min-width="8%" />
                     <el-table-column prop="insTime" label="检验日期" min-width="8%" />
                     <el-table-column prop="inspection_status" label="状态" min-width="8%">
                        <template slot-scope="scope">
                           <div v-if="scope.row.inspection_status === 0">
                           <div v-if="scope.row.inspection_status === 2">
                              <span style="color: green;">已报检</span>
                           </div>
                           <div v-else>
@@ -98,9 +97,6 @@
               </div>
            </div>
         </div>
      </div>
      <div v-else>
         <router-view />
      </div>
      <el-dialog title="链接时长设置" :visible.sync="viewDia" width="30%">
         <div>
@@ -194,7 +190,7 @@
               value: '1',
               label: '部门1'
            }],
            radioValue: 0,
            radioValue: null,
            commisionTable: [{
               specifications_models: "GGXH-AAAAA",
               inspectionTime: "2023-08-03",
@@ -210,15 +206,15 @@
            }],
            conditionsOptions: [{
                  label: '全部',
                  value: 0
                  value: null
               },
               {
                  label: '已检验',
                  value: 1
               },
               {
                  label: '待检验',
                  label: '已报检',
                  value: 2
               },
               {
                  label: '未报检',
                  value: 1
               }
            ],
            currentPage: 1,
@@ -229,7 +225,15 @@
            view: null,
            viewId: null,
            viewTime: 1,
            viewTime2: 1,
            viewDia: false
         }
      },
      watch:{
         addReportDialog(newVal){
            if(newVal === false){
               this.resetForm("addInspectionForm");
            }
         }
      },
      created() {
@@ -255,11 +259,13 @@
         },
         handleSelectionChange(val) {
            if (val.length > 1) {
               let data = val.pop();
               this.$refs.commisionTable.clearSelection();
               this.$refs.commisionTable.toggleRowSelection(val.pop())
               this.$refs.commisionTable.toggleRowSelection(data);
               this.checkData = data;
            }else{
               this.checkData = val;
            }
            this.checkData = val;
            console.log(this.checkData);
         },
         //生成报检单确认按钮
         confirmBtn(formName) {
@@ -279,6 +285,7 @@
                  "startTime": dateArr[0],
                  "supplier": val.entrusted,
                  "type": 2,
                  // "unit": "mm",
                  "version": this.addInspectionForm.version
               }
               this.createReport(obj);
@@ -288,10 +295,13 @@
         },
         //生成报检单请求
         async createReport(param) {
            let res = await addInspect(param);
            if(res.data==null)return
            this.$message.success('报检成功')
            this.$router.push(`/experiment/Viewdetails/${res.data}`)
            await addInspect(param).then(res =>{
               this.search();
               this.$message.success('报检成功')
               this.$router.push(`/experiment/Viewdetails/${res.data}`)
            }).catch(()=>{
               this.$message.error('报检失败')
            });
         },
         //生成报检单按钮
         addReportBtn() {
@@ -328,7 +338,10 @@
               specifications : specifications,
               version: version
            }).then((res)=>{
               console.log(res);
               var data = res.data;
               for(var i=0;i<data.length;i++){
                  data[i].id = "0" + i;
               }
               vm.standardLibraryData = res.data;
            })
         },
@@ -405,8 +418,6 @@
         async radioclick() {
            // 处理点击radio的时间
            if (this.radioValue === 0) {
               this.getCommisionList()
            } else {
               const res = await getCommisionList({
                  pageNo: this.currentPage,
                  pageSize: this.pageSize,
@@ -414,6 +425,16 @@
               })
               this.commisionTable = res.data.row
               this.total = res.data.total
            } else if(this.radioValue === 1) {
               const res = await getCommisionList({
                  pageNo: this.currentPage,
                  pageSize: this.pageSize,
                  inspectionStatus: this.radioValue
               })
               this.commisionTable = res.data.row
               this.total = res.data.total
            }else{
               this.getCommisionList();
            }
         },
@@ -453,9 +474,9 @@
            selectViewUUID({
               day: this.day
            }).then(res => {
               this.view = `${this.vueIp}addCommision/${res.data.id}`
               this.view = `${this.vueIp}/#/addCommision/${res.data.id}`
               this.viewId = res.data.id
               this.viewTime = res.data.time
               this.viewTime2 = res.data.time
            })
         },
         getViewId() {
@@ -463,7 +484,7 @@
               day: this.viewTime == null ? 1 : this.viewTime
            }).then(res => {
               this.viewId = res.data
               this.view = `${this.vueIp}addCommision/${res.data.id}`
               this.view = `${this.vueIp}/#/addCommision/${res.data.id}`
               this.viewDia = false
               this.$message.success('链接已生成,点击复制按钮进行复制')
            })