zouyu
2023-08-24 a55bb6cf24c32ea89d00336ec2afc77af5c59661
Merge branch 'master' of http://192.168.110.209:9001/r/lims-before
已修改15个文件
901 ■■■■■ 文件已修改
.env.production 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.staging 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/inspection/commisioninspection.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/url.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Navbar.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/Item.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/SidebarItem.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/checkTheReport/index.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inspectionManagement/commissionInspection/addCommision.vue 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inspectionManagement/commissionInspection/index.vue 708 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.production
@@ -3,5 +3,5 @@
# base api
# VUE_APP_BASE_API = '/prod-api'
VUE_APP_BASE_API = 'http://192.168.110.254:1234/'
VUE_APP_BASE_API = 'http://192.168.110.167:1234/'
.env.staging
@@ -5,6 +5,6 @@
# base api
# VUE_APP_BASE_API = '/stage-api'
VUE_APP_BASE_API = 'http://192.168.110.87:1234/'
VUE_APP_BASE_API = 'http://192.168.110.167:1234/'
package.json
@@ -26,6 +26,7 @@
    "path-to-regexp": "2.4.0",
    "postcss-pxtorem": "^5.1.1",
    "vue": "2.6.10",
    "vue-clipboard2": "^0.3.3",
    "vue-router": "3.0.6",
    "vuex": "3.1.0"
  },
src/api/inspection/commisioninspection.js
@@ -40,4 +40,28 @@
    method: 'post',
    data
  })
}
export function getViewUUID(params){
  return request({
    url: '/link-basic/getViewUUID',
    method: 'get',
        params
  })
}
export function selectViewUUID(){
  return request({
    url: '/link-basic/selectViewUUID',
    method: 'get'
  })
}
export function isIfViewUUID(params){
  return request({
    url: '/link-basic/isIfViewUUID',
    method: 'get',
        params
  })
}
src/api/url.js
@@ -5,6 +5,7 @@
    "reported": "/plan/reported",//上报
    "distribution": "/plan/distribution",//分配
    "check": "/plan/check",//检验
    "info": "/user/info",//登录-->获取用户信息
}
export default function(Vue) {
src/layout/components/Navbar.vue
@@ -13,7 +13,7 @@
      </div>
      <el-dropdown class="avatar-container" trigger="click">
        <div class="avatar-wrapper">
          <a class="user-avatar">{{ '中天'.slice(0,1) }}</a>
          <a class="user-avatar">{{ user.name.slice(0,1) }}</a>
        </div>
        <el-dropdown-menu slot="dropdown" class="user-dropdown">
            <el-dropdown-item >
@@ -49,6 +49,12 @@
import { mapGetters } from 'vuex'
// import Breadcrumb from '@/components/Breadcrumb'
// import Hamburger from '@/components/Hamburger'
    import {
        get,
        post,
        wpost,
        postFile
    } from "@/api/util/requestUtil.js"
export default {
  data(){
@@ -72,6 +78,17 @@
      'avatar'
    ])
  },
    data() {
        return {
            user: {
                id: null,
                name: 'value'
            }
        }
    },
    mounted() {
        this.getUser()
    },
  methods: {
    reset(){
      this.dialogFormVisible = false;
@@ -91,7 +108,12 @@
    async logout() {
      // await this.$store.dispatch('user/logout')
      this.$router.push(`/login?redirect=${this.$route.fullPath}`)
    }
    },
        getUser(){
            get(this.$url.info).then(res=>{
                this.user = res.data
            })
        }
  }
}
</script>
src/layout/components/Sidebar/Item.vue
@@ -19,9 +19,7 @@
  render(h, context) {
    const { icon, title } = context.props
    const vnodes = []
    // console.log(show)
    // if (!show) return
    // console.log(icon, title)
    if (icon) {
      if (icon.includes('el-icon')) {
        vnodes.push(<i class={[icon, 'sub-el-icon']} />)
src/layout/components/Sidebar/SidebarItem.vue
@@ -63,7 +63,6 @@
    return {}
  },
  created() {
    // console.log(this.item)
  },
  methods: {
    hasOneShowingChild(children = [], parent) {
src/layout/components/Sidebar/index.vue
@@ -31,7 +31,6 @@
      'sidebar'
    ]),
    routes() {
      console.log(this.$router.options.routes);
      return this.$router.options.routes
    },
    activeMenu() {
src/main.js
@@ -7,6 +7,8 @@
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n
import VueClipboard from 'vue-clipboard2'
Vue.use(VueClipboard)
import '@/styles/index.scss' // global css
@@ -41,6 +43,8 @@
    return JSON.parse(JSON.stringify(val))
}
Vue.prototype.vueIp = "http://localhost:8080/"
// set ElementUI lang to EN
Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui,按如下方式声明
@@ -50,6 +54,7 @@
Vue.config.productionTip = false
new Vue({
  el: '#app',
  router,
src/router/index.js
@@ -42,6 +42,11 @@
    hidden: true
  },
  {
    path: '/addCommision',
    component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'),
    hidden:true
  },
  {
    path: '/',
    component: Layout,
    redirect: '/home',
@@ -53,6 +58,11 @@
      meta: { title: '主页', icon: 'el-icon-s-home' }
    }]
  },
    {
      path: '/addCommision/:viewId',
      hidden: true,
      component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'),
    },
  {
    path: '/standardLibrary',
    component: Layout,
@@ -164,16 +174,7 @@
        path: 'commissionInspection',
        name: 'CommissionInspection',
        component: () => import('@/views/inspectionManagement/commissionInspection/index'),
        meta: { title: '委托检验', icon: 'table' },
        children: [
          {
            path: 'addCommision',
            name: 'AddCommision',
            hidden: true,
            component: () => import('@/views/inspectionManagement/commissionInspection/addCommision'),
            meta: { title: '检测信息', icon: 'table' }
          }
        ]
        meta: { title: '委托检验', icon: 'table' }
      },
      {
        path: 'reportForInspection',
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"
@@ -165,7 +172,11 @@
export default {
  data() {
    return {
      input: "",
      searchData:{
        sample_code:'',
        reportCode:'',
        application_code: ''
      },
      checkStatus: undefined,
      reportTable: [],
      page: 1,
@@ -196,7 +207,11 @@
    },
    // 重置按钮
    resetData() {
      this.input = undefined;
      this.searchData={
        sample_code:'',
        reportCode:'',
        application_code: ''
      },
      this.page = 1;
      this.pageSize = 10;
      this.checkStatus = undefined;
@@ -207,7 +222,7 @@
      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);
@@ -226,7 +241,8 @@
  justify-content: space-between;
  padding: 5px 24px 0px 24px;
  .input-form {
    width: 700px;
    width: 250px;
    margin-right: 30px;
  }
  .el-dropdown-link {
    cursor: pointer;
src/views/inspectionManagement/commissionInspection/addCommision.vue
@@ -1,19 +1,19 @@
<template>
  <div v-if="!showDetail">
  <div class="add_commision">
  <div class="content-main">
    <div class="firstBox">
      <div class="title">检测信息</div>
      <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
<!--        <el-input
          v-model="searchData"
          class="input-form split"
          placeholder="扫描二维码录入样品..."
          prefix-icon="el-icon-search"
          style="width: 200px;"
        >
        </el-input>
        </el-input>-->
        <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">重置</el-button>
      </div>
        <el-table
@@ -107,7 +107,7 @@
            <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-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" >
@@ -115,7 +115,7 @@
                  <el-row :gutter="200">
                        <el-col :span="5">
                        <el-form-item label="委托编号:">
                            <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled="true" 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="5">
@@ -193,6 +193,8 @@
                    </div>
                    <div class="submitBtn">
                      <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>
                    </div>
                </el-form>
      </div>
@@ -230,19 +232,19 @@
            </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-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-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-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="请输入备注" autocomplete="off" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -263,9 +265,6 @@
      </el-dialog>
          </div>
  </div>
</div>
<div v-else>
  <router-view></router-view>
</div>
</template>
@@ -478,9 +477,23 @@
</script>
<style lang="scss" scoped>
.add_commision{
  padding: 20px;
}
.content-main{
  padding: 20px 40px;
  background-color: #f0f2f5;
  width: 100%;
  height: 100vh;
.firstBox{
  .title{
    padding:0px 10px 10px 10px;
  .title {
    padding: 15px 10px;
    font-size: 18px;
    background-color: #0166e2;
    color: #fff;
    border-radius: 4px;
  }
  .tableBox{
    background-color: #fff;
@@ -518,12 +531,20 @@
  .submitBtn{
    display: flex;
    justify-content: end;
    margin-right: 156px;
    margin-right: 40px;
    margin-top: 20px;
  }
}
.infoForm{
  background-color: #fff;
  padding: 20px 50px;
  .formwrapper{
    margin: 20px 0px;
    padding-left: 30px;
    .el-row{
      margin: 10px 0px;
    }
  }
}
}
</style>
src/views/inspectionManagement/commissionInspection/index.vue
@@ -1,318 +1,345 @@
<template>
  <div>
    <div v-if="!showDetail">
      <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>
              </el-form-item>
              <el-form-item label="样品名称:" class="sermargin">
                <el-input
                  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-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-form-item>
              </el-form>
              <el-form>
                <el-button class="rightBtn" type="primary" @click="goToaddCommision">新增委托</el-button>
              </el-form>
          </div>
          <div class="library-table">
            <div class="table-header">
              <div class="search-bar">
                <el-radio-group v-model="radioValue" @change="radioclick">
                <el-radio-button v-for="item in conditionsOptions" :key="item.value" :label="item.value">
                {{ item.label }}
              </el-radio-button>
              </el-radio-group>
              </div>
              <div class="generateInsp">
                <el-button type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">生成报检单</el-button>
              </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'}"
                :data="commisionTable"
                style="width: 100%"
              >
                <el-table-column
                  type="selection"
                  min-width="10%"
                />
                <el-table-column
                  type="index"
                  label="序号"
                  min-width="10%"
                />
                <el-table-column
                  prop="entrust_coding"
                  label="委托编号"
                  min-width="10%"
                />
                <el-table-column
                  prop="entrusted"
                  label="委托单位"
                  min-width="12%"
                />
                <el-table-column
                  prop="samples_number"
                  label="样品编号"
                  min-width="8%"
                />
                <el-table-column
                  prop="sample_name"
                  label="样品名称"
                  min-width="8%"
                />
                <el-table-column
                  prop="specifications_models"
                  label="规格型号"
                  min-width="12%"
                />
                <el-table-column
                  prop="dateSurvey"
                  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="inspectionTime"
                  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 === 1">
                      <span style="color: green;">已检测</span>
                    </div>
                    <div v-else>
                      <span style="color: red;">待检测</span>
                    </div>
                  </template>
                </el-table-column>
                <el-table-column
                  label="操作"
                  min-width="8%"
                >
                  <template slot-scope="scope">
                    <el-button type="text" size="small" @click="handleClick(scope.row)">删除</el-button>
                  </template>
                </el-table-column>
              </el-table>
              <!-- 分页器 -->
              <div>
                <el-pagination
                  @size-change="handleSizeChange"
                  @current-change="handleCurrentChange"
                  :current-page="currentPage"
                  :page-sizes="[5, 10, 20]"
                  :page-size="pageSize"
                  layout="total, sizes, prev, pager, next, jumper"
                  :total="total">
                </el-pagination>
              </div>
            </div>
          </div>
      </div>
  </div>
    <div v-else>
      <router-view />
    </div>
  </div>
    <div>
        <div v-if="!showDetail">
            <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>
                        </el-form-item>
                        <el-form-item label="样品名称:" class="sermargin">
                            <el-input 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-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-form-item>
                    </el-form>
                    <el-form>
                        <el-popover placement="left" width="350" 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-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>
                                </el-row>
                            </div>
                            <el-button slot="reference" class="rightBtn" type="primary" @click="goToaddCommision">新增委托</el-button>
                        </el-popover>
                    </el-form>
                </div>
                <div class="library-table">
                    <div class="table-header">
                        <div class="search-bar">
                            <el-radio-group v-model="radioValue" @change="radioclick">
                                <el-radio-button v-for="item in conditionsOptions" :key="item.value" :label="item.value">
                                    {{ item.label }}
                                </el-radio-button>
                            </el-radio-group>
                        </div>
                        <div class="generateInsp">
                            <el-button type="primary" size="mini" icon="el-icon-document"
                                style="background-color: rgb(1, 102, 226);">生成报检单</el-button>
                        </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'}"
                            :data="commisionTable" style="width: 100%">
                            <el-table-column type="selection" min-width="10%" />
                            <el-table-column type="index" label="序号" min-width="10%" />
                            <el-table-column prop="entrust_coding" label="委托编号" min-width="10%" />
                            <el-table-column prop="entrusted" label="委托单位" min-width="12%" />
                            <el-table-column prop="samples_number" label="样品编号" min-width="8%" />
                            <el-table-column prop="sample_name" label="样品名称" min-width="8%" />
                            <el-table-column prop="specifications_models" label="规格型号" min-width="12%" />
                            <el-table-column prop="dateSurvey" 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="inspectionTime" 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 === 1">
                                        <span style="color: green;">已检测</span>
                                    </div>
                                    <div v-else>
                                        <span style="color: red;">待检测</span>
                                    </div>
                                </template>
                            </el-table-column>
                            <el-table-column label="操作" min-width="8%">
                                <template slot-scope="scope">
                                    <el-button type="text" size="small" @click="handleClick(scope.row)">删除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                        <!-- 分页器 -->
                        <div>
                            <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                                :current-page="currentPage" :page-sizes="[5, 10, 20]" :page-size="pageSize"
                                layout="total, sizes, prev, pager, next, jumper" :total="total">
                            </el-pagination>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div v-else>
            <router-view />
        </div>
        <el-dialog title="链接时长设置" :visible.sync="viewDia" width="30%">
            <div>
                <el-row style="line-height: 46px;">
                    <el-col :span="6" style="font-size: 14px;text-align: right;">时长设置:</el-col>
                    <el-col :span="14" :offset="1">
                        <el-select v-model="viewTime" size="medium">
                            <el-option label="1 天" :value="1"></el-option>
                            <el-option label="2 天" :value="2"></el-option>
                            <el-option label="3 天" :value="3"></el-option>
                            <el-option label="4 天" :value="4"></el-option>
                            <el-option label="5 天" :value="5"></el-option>
                            <el-option label="6 天" :value="6"></el-option>
                            <el-option label="1 周" :value="7"></el-option>
                        </el-select>
                    </el-col>
                </el-row>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button type="primary" @click="getViewId()">提 交</el-button>
                <el-button @click="viewDia = false">取 消</el-button>
            </span>
        </el-dialog>
        <!-- 隐藏域输入框用来复制 -->
        <input id="copyContext" style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;" />
    </div>
</template>
<script>
import { getCommisionList } from '@/api/inspection/commisioninspection'
export default {
  data() {
    return {
      form: [],
      searchData: {
        code: '',
        name: '',
        department: ''
      },
      options: [{
        value: '1',
        label: '部门1'
      }],
      radioValue: 0,
      commisionTable: [{
        specifications_models: "GGXH-AAAAA",
        inspectionTime: "2023-08-03",
        id: 2,
        samples_number: 0,
        dateSurvey: "2023-08-03",
        entrusted: "阿里巴巴",
        completionDeadline: "2023-08-03",
        contacts: "小黑",
        entrust_coding: "SL20230803000003",
        sample_name: "发动机",
        inspection_status: 1
      }],
      conditionsOptions: [
        {
          label: '全部',
          value: 0
        },
        {
          label: '已检验',
          value: 1
        },
        {
          label: '待检验',
          value: 2
        }
      ],
      currentPage: 1,
      pageSize: 5,
      total: 100,
      showDetail: false
    }
  },
  created() {
    this.getCommisionList()
  },
  updated() {
    if (this.$router.currentRoute.name === 'AddCommision') {
      // console.log(this.$router.currentRoute.name)
      this.showDetail = true
    }
  },
  methods: {
    async getCommisionList(){
      const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize})
      this.commisionTable = res.data.row
      this.total = res.data.total
      // console.log(res)
       // 获取所有的委托单位名称
      const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))]
      // 将allDepartmentNames转换为options需要的格式
      this.options = allDepartmentNames.map(name => ({ value: name, label: name }))
    import {
        getCommisionList,
        getViewUUID,
        selectViewUUID
    } from '@/api/inspection/commisioninspection'
    export default {
        data() {
            return {
                form: [],
                searchData: {
                    code: '',
                    name: '',
                    department: ''
                },
                options: [{
                    value: '1',
                    label: '部门1'
                }],
                radioValue: 0,
                commisionTable: [{
                    specifications_models: "GGXH-AAAAA",
                    inspectionTime: "2023-08-03",
                    id: 2,
                    samples_number: 0,
                    dateSurvey: "2023-08-03",
                    entrusted: "阿里巴巴",
                    completionDeadline: "2023-08-03",
                    contacts: "小黑",
                    entrust_coding: "SL20230803000003",
                    sample_name: "发动机",
                    inspection_status: 1
                }],
                conditionsOptions: [{
                        label: '全部',
                        value: 0
                    },
                    {
                        label: '已检验',
                        value: 1
                    },
                    {
                        label: '待检验',
                        value: 2
                    }
                ],
                currentPage: 1,
                pageSize: 5,
                total: 100,
                showDetail: false,
                day: 1,
                view: null,
                viewId: null,
                viewTime: 1,
                viewDia: false
            }
        },
        created() {
            this.getCommisionList()
        },
        updated() {
            if (this.$router.currentRoute.name === 'AddCommision') {
                // console.log(this.$router.currentRoute.name)
                this.showDetail = true
            }
        },
        methods: {
            async getCommisionList() {
                const res = await getCommisionList({
                    pageNo: this.currentPage,
                    pageSize: this.pageSize
                })
                this.commisionTable = res.data.row
                this.total = res.data.total
                // console.log(res)
                // 获取所有的委托单位名称
                const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))]
                // 将allDepartmentNames转换为options需要的格式
                this.options = allDepartmentNames.map(name => ({
                    value: name,
                    label: name
                }))
    },
    // 查询方法
    async search() {
    // 将搜索条件作为参数传递给getCommisionList方法
    let res
    if(this.radioValue === 0){
      res = await getCommisionList({
        pageNo: this.currentPage,
        pageSize: this.pageSize,
        entrustCoding: this.searchData.code,
        sampleName: this.searchData.name,
        entrusted: this.searchData.department,
      })
    }else{
      res = await getCommisionList({
        pageNo: this.currentPage,
        pageSize: this.pageSize,
        entrustCoding: this.searchData.code,
        sampleName: this.searchData.name,
        entrusted: this.searchData.department,
        inspectionStatus: this.radioValue
      })
    }
      // console.log(res)
      this.commisionTable = res.data.row
      this.total = res.data.total
    },
            },
            // 查询方法
            async search() {
                // 将搜索条件作为参数传递给getCommisionList方法
                let res
                if (this.radioValue === 0) {
                    res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        entrustCoding: this.searchData.code,
                        sampleName: this.searchData.name,
                        entrusted: this.searchData.department,
                    })
                } else {
                    res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        entrustCoding: this.searchData.code,
                        sampleName: this.searchData.name,
                        entrusted: this.searchData.department,
                        inspectionStatus: this.radioValue
                    })
                }
                // console.log(res)
                this.commisionTable = res.data.row
                this.total = res.data.total
            },
    // 重置方法
    reset() {
      // 重置搜索条件
      this.searchData.code = ''
      this.searchData.name = ''
      this.searchData.department = ''
      this.radioValue = 0
      // 重新获取数据
      this.getCommisionList()
    },
    async radioclick(){
      // 处理点击radio的时间
      console.log('radioValue',this.radioValue)
      if(this.radioValue === 0){
        this.getCommisionList()
      }else{
        const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue})
        // console.log(res)
        this.commisionTable = res.data.row
        this.total = res.data.total
      }
    },
    // 每页条数改变时触发 选择一页显示多少行
    async handleSizeChange(val) {
      // console.log(`每页 ${val} 条`)
      this.currentPage = 1
      this.pageSize = val
      if(this.radioValue === 0){
        this.getCommisionList()
      }else{
        const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue})
        this.commisionTable = res.data.row
        this.total = res.data.total
      }
    },
    // 当前页改变时触发 跳转其他页
    async handleCurrentChange(val) {
      // console.log(`当前页: ${val}`)
      this.currentPage = val
      if(this.radioValue === 0){
        this.getCommisionList()
      }else{
        const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize, inspectionStatus: this.radioValue})
        this.commisionTable = res.data.row
        this.total = res.data.total
      }
    },
    goToaddCommision() {
      this.$router.push('/inspectionManagement/commissionInspection/addCommision')
      this.showDetail = true
    }
  }
}
            // 重置方法
            reset() {
                // 重置搜索条件
                this.searchData.code = ''
                this.searchData.name = ''
                this.searchData.department = ''
                this.radioValue = 0
                // 重新获取数据
                this.getCommisionList()
            },
            async radioclick() {
                // 处理点击radio的时间
                console.log('radioValue', this.radioValue)
                if (this.radioValue === 0) {
                    this.getCommisionList()
                } else {
                    const res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        inspectionStatus: this.radioValue
                    })
                    // console.log(res)
                    this.commisionTable = res.data.row
                    this.total = res.data.total
                }
            },
            // 每页条数改变时触发 选择一页显示多少行
            async handleSizeChange(val) {
                // console.log(`每页 ${val} 条`)
                this.currentPage = 1
                this.pageSize = val
                if (this.radioValue === 0) {
                    this.getCommisionList()
                } else {
                    const res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        inspectionStatus: this.radioValue
                    })
                    this.commisionTable = res.data.row
                    this.total = res.data.total
                }
            },
            // 当前页改变时触发 跳转其他页
            async handleCurrentChange(val) {
                // console.log(`当前页: ${val}`)
                this.currentPage = val
                if (this.radioValue === 0) {
                    this.getCommisionList()
                } else {
                    const res = await getCommisionList({
                        pageNo: this.currentPage,
                        pageSize: this.pageSize,
                        inspectionStatus: this.radioValue
                    })
                    this.commisionTable = res.data.row
                    this.total = res.data.total
                }
            },
            goToaddCommision() {
                // this.showDetail = true
                selectViewUUID({
                    day: this.day
                }).then(res => {
                    this.view = `${this.vueIp}addCommision/${res.data.id}`
                    this.viewId = res.data.id
                    this.viewTime = res.data.time
                })
            },
            getViewId() {
                getViewUUID({
                    day: this.viewTime == null ? 1 : this.viewTime
                }).then(res => {
                    this.viewId = res.data
                    this.view = `${this.vueIp}addCommision/${res.data.id}`
                    this.viewDia = false
                    this.$message.success('链接已生成,点击复制按钮进行复制')
                })
            },
            copy() {
                document.getElementById('copyContext').value = this.view
                const input = document.querySelector('#copyContext');
                input.select()
                if (document.execCommand('copy')) {
                    this.$message.success('已复制到剪贴板')
                }
            }
        }
    }
</script>
<style scoped>
    .top-bar {
        margin: -25px -15px;
        background: #fff;
        display: flex;
        justify-content: space-between;
        padding: 5px 24px 0px 24px;
    }
.top-bar{
    margin: -25px -15px;
@@ -323,10 +350,26 @@
    .sermargin{
      margin-right: 60px;
    }
    .rightForm{
      display: flex;
      justify-content: space-between;
      /* background-color: #bfa; */
      height: 40px;
      line-height: 40px;
      >div{
        padding: 0px 10px;
        padding-bottom: 10px;
        border:1px solid rgb(8, 156, 230);
        margin-right: 10px;
        /* height: 40px;
        line-height: 40px; */
      }
      .rightBtn{
        background-color: rgb(1, 102, 226);
      }
    }
  }
.rightBtn{
    background-color: rgb(1, 102, 226);
}
.library-table{
      background-color: #fff;
      flex: 1;
@@ -361,4 +404,51 @@
      }
    }
    .rightBtn {
        background-color: rgb(1, 102, 226);
    }
    .library-table {
        background-color: #fff;
        flex: 1;
        margin: 0px -15px;
        margin-top: 40px;
        display: flex;
        flex-direction: column;
        .table-header {
            padding: 20px;
            display: flex;
            justify-content: space-between;
            .el-form-item {
                margin-bottom: 30px !important;
            }
        }
        .table-box {
            padding: 0px 20px;
            margin-top: 0px;
            flex: 1;
            background: #fff;
            /* padding: 20px 20px 10px 20px; */
            display: flex;
            flex-direction: column;
            .el-table {
                flex: 1;
            }
            >div:nth-child(2) {
                display: flex;
                justify-content: end;
                margin: 10px 0;
            }
        }
    }
    .vue_qr_div {
        text-align: center;
        color: #0166e2;
    }
</style>
src/views/login/index.vue
@@ -43,10 +43,10 @@
      </el-form-item>
      <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">Login</el-button>
      <div class="tips">
      <!-- <div class="tips">
        <span style="margin-right:20px;">username: admin</span>
        <span> password: any</span>
      </div>
      </div> -->
    </el-form>
  </div>
</template>
@@ -115,7 +115,7 @@
            this.loading = false
          })
        } else {
          console.log('error submit!!')
          console.log('登录失败!')
          return false
        }
      })