yuyu
2023-08-24 cd17c45d39c727185b3c5ffb5a20e3dfac4dfb75
src/views/inspectionManagement/commissionInspection/index.vue
@@ -1,6 +1,6 @@
<template>
  <div>
    <div v-if="!showDetail">
    <div>
      <div class="content-main">
          <div class="top-bar">
              <el-form ref="form" :inline="true" :model="searchData">
@@ -31,22 +31,27 @@
                </el-select>
              </el-form-item>
              <el-form-item>
                <el-button type="primary">查询</el-button>
                <el-button type="primary" plain>重置</el-button>
                <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 class="rightForm">
                  <!-- 显示新增委托的网址链接 -->
                <div v-show="showlinkDiv === true">
                  <span style="font-size: 12px;">{{ textToCopy }}</span>
                  <el-button type="text" @click="copyText" style="margin-left: 30px;">{{ copied ===false?'复制':'已复制' }}</el-button>
                </div>
                <el-button class="rightBtn" type="primary" @click="showLink">新增委托</el-button>
              </el-form>
          </div>
          <div class="library-table">
            <div class="table-header">
              <div class="search-bar">
                <el-radio-group v-model="radioValue">
                  <el-radio-button label="全部" />
                  <el-radio-button label="待检验" />
                  <el-radio-button label="已检验" />
                </el-radio-group>
                <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>
@@ -73,7 +78,7 @@
                <el-table-column
                  prop="entrust_coding"
                  label="委托编号"
                  min-width="8%"
                  min-width="10%"
                />
                <el-table-column
                  prop="entrusted"
@@ -153,9 +158,6 @@
          </div>
      </div>
  </div>
    <div v-else>
      <router-view />
    </div>
  </div>
</template>
@@ -173,14 +175,8 @@
      options: [{
        value: '1',
        label: '部门1'
      }, {
        value: '2',
        label: '部门2'
      }, {
        value: '3',
        label: '部门3'
      }],
      radioValue: '',
      radioValue: 0,
      commisionTable: [{
        specifications_models: "GGXH-AAAAA",
        inspectionTime: "2023-08-03",
@@ -194,49 +190,150 @@
        sample_name: "发动机",
        inspection_status: 1
      }],
      conditionsOptions: [
        {
          label: '全部',
          value: 0
        },
        {
          label: '已检验',
          value: 1
        },
        {
          label: '待检验',
          value: 2
        }
      ],
      currentPage: 1,
      pageSize: 5,
      total: 100,
      showDetail: false
      showlinkDiv: false,
      copied: false,
      textToCopy: 'http://localhost:8080/#/addCommision'
    }
  },
  created() {
    this.getCommisionList()
  },
  updated() {
    if (this.$router.currentRoute.name === 'AddCommision') {
      // console.log(this.$router.currentRoute.name)
      this.showDetail = true
    }
  },
  // updated() {
  //   if (this.$router.currentRoute.name === 'AddCommision') {
  //     // console.log(this.$router.currentRoute.name)
  //     this.showDetail = true
  //   }
  // },
  methods: {
    copyText() {
      this.$copyText(this.textToCopy)
        .then(() => {
          this.copied = true;
          // setTimeout(() => {
          //   this.copied = false;
          // }, 2000);
        })
        .catch(error => {
          console.log('复制失败',error);
        });
    },
    async getCommisionList(){
      const res = await getCommisionList({pageNo:this.currentPage , pageSize:this.pageSize})
      const res = await getCommisionList({pageNo:this.currentPage, pageSize:this.pageSize})
      this.commisionTable = res.data.row
      // this.total = res.data.row.length
      console.log(this.commisionTable)
      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
         },
    // 重置方法
    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
      }
    },
    // 每页条数改变时触发 选择一页显示多少行
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`)
    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
      }
    },
    // 当前页改变时触发 跳转其他页
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`)
    async handleCurrentChange(val) {
      // console.log(`当前页: ${val}`)
      this.currentPage = val
      this.commisionTable = getCommisionList({pageNo:this.currentPage , pageSize:this.pageSize})
      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
    showLink() {
      this.showlinkDiv = true
    }
  }
}
</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;
@@ -247,10 +344,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;
@@ -285,4 +398,51 @@
      }
    }
</style>
   .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;
   }
}
</style>