From cd17c45d39c727185b3c5ffb5a20e3dfac4dfb75 Mon Sep 17 00:00:00 2001
From: yuyu <1981343953@qq.com>
Date: 星期四, 24 八月 2023 13:45:27 +0800
Subject: [PATCH] 8.24提交修改

---
 src/views/inspectionManagement/commissionInspection/index.vue |  344 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 254 insertions(+), 90 deletions(-)

diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue
index f34234e..58579bc 100644
--- a/src/views/inspectionManagement/commissionInspection/index.vue
+++ b/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>
@@ -62,60 +67,72 @@
                 style="width: 100%"
               >
                 <el-table-column
+                  type="selection"
+                  min-width="10%"
+                />
+                <el-table-column
                   type="index"
                   label="搴忓彿"
                   min-width="10%"
                 />
                 <el-table-column
-                  prop="commisioncode"
+                  prop="entrust_coding"
                   label="濮旀墭缂栧彿"
-                  min-width="8%"
-                />
-                <el-table-column
-                  prop="department"
-                  label="濮旀墭鍗曚綅"
                   min-width="10%"
                 />
                 <el-table-column
-                  prop="samplecode"
+                  prop="entrusted"
+                  label="濮旀墭鍗曚綅"
+                  min-width="12%"
+                />
+                <el-table-column
+                  prop="samples_number"
                   label="鏍峰搧缂栧彿"
                   min-width="8%"
                 />
                 <el-table-column
-                  prop="samplename"
+                  prop="sample_name"
                   label="鏍峰搧鍚嶇О"
                   min-width="8%"
                 />
                 <el-table-column
-                  prop="modelandspecification"
+                  prop="specifications_models"
                   label="瑙勬牸鍨嬪彿"
-                  min-width="10%"
+                  min-width="12%"
                 />
                 <el-table-column
-                  prop="arrivetime"
+                  prop="dateSurvey"
                   label="閫佽揪鏃堕棿"
                   min-width="8%"
                 />
                 <el-table-column
-                  prop="deadline"
+                  prop="completionDeadline"
                   label="瀹屾垚鏈熼檺"
                   min-width="8%"
                 />
                 <el-table-column
-                  prop="person"
+                  prop="contacts"
                   label="濮旀墭缂栧埗浜�"
                   min-width="8%"
                 />
                 <el-table-column
-                  prop="checkdate"
+                  prop="inspectionTime"
                   label="妫�楠屾棩鏈�"
                   min-width="8%"
                 />
                 <el-table-column
-                  prop="state"
+                  prop="inspection_status"
                   label="鐘舵��"
-                  min-width="8%"
-                />
+                  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%"
@@ -131,23 +148,21 @@
                   @size-change="handleSizeChange"
                   @current-change="handleCurrentChange"
                   :current-page="currentPage"
-                  :page-sizes="[100, 200, 300, 400]"
-                  :page-size="100"
+                  :page-sizes="[5, 10, 20]"
+                  :page-size="pageSize"
                   layout="total, sizes, prev, pager, next, jumper"
-                  :total="400">
+                  :total="total">
                 </el-pagination>
               </div>
             </div>
           </div>
       </div>
   </div>
-    <div v-else>
-      <router-view />
-    </div>
   </div>
 </template>
 
 <script>
+import { getCommisionList } from '@/api/inspection/commisioninspection'
 export default {
   data() {
     return {
@@ -160,79 +175,165 @@
       options: [{
         value: '1',
         label: '閮ㄩ棬1'
-      }, {
-        value: '2',
-        label: '閮ㄩ棬2'
-      }, {
-        value: '3',
-        label: '閮ㄩ棬3'
       }],
-      radioValue: '',
+      radioValue: 0,
       commisionTable: [{
-        commisioncode: 'GW31478631',
-        department: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
-        samplecode: 'BP214274',
-        samplename: '缁濈紭鏉�',
-        modelandspecification: 'JLHA/G1A-185/30-26/7',
-        arrivetime: '2023-08-01',
-        deadline: '2023-08-05',
-        person: '榛勫皬鏄�',
-        checkdate: '2023-08-02',
-        state: '宸叉娴�'
-      }, {
-        commisioncode: 'GW31478631',
-        department: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
-        samplecode: 'BP214274',
-        samplename: '缁濈紭鏉�',
-        modelandspecification: 'JLHA/G1A-185/30-26/7',
-        arrivetime: '2023-08-01',
-        deadline: '2023-08-05',
-        person: '榛勫皬鏄�',
-        checkdate: '2023-08-02',
-        state: '宸叉娴�'
-      }, {
-        commisioncode: 'GW31478631',
-        department: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
-        samplecode: 'BP214274',
-        samplename: '缁濈紭鏉�',
-        modelandspecification: 'JLHA/G1A-185/30-26/7',
-        arrivetime: '2023-08-01',
-        deadline: '2023-08-05',
-        person: '榛勫皬zhi',
-        checkdate: '2023-08-02',
-        state: '宸叉娴�'
+        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
       }],
-      currentPage: 0,
-      showDetail: false
+      conditionsOptions: [
+        {
+          label: '鍏ㄩ儴',
+          value: 0
+        },
+        {
+          label: '宸叉楠�',
+          value: 1
+        },
+        {
+          label: '寰呮楠�',
+          value: 2
+        }
+      ],
+      currentPage: 1,
+      pageSize: 5,
+      total: 100,
+      showlinkDiv: false,
+      copied: false,
+      textToCopy: 'http://localhost:8080/#/addCommision'
     }
   },
-  updated() {
-    if (this.$router.currentRoute.name === 'AddCommision') {
-      // console.log(this.$router.currentRoute.name)
-      this.showDetail = true
-    }
+  created() {
+    this.getCommisionList()
   },
+  // 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})
+      this.commisionTable = res.data.row
+      this.total = res.data.total
+      // console.log(res)
+       // 鑾峰彇鎵�鏈夌殑濮旀墭鍗曚綅鍚嶇О
+      const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))]
+      // 灏哸llDepartmentNames杞崲涓簅ptions闇�瑕佺殑鏍煎紡
+      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
+      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;
@@ -243,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;
@@ -281,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>
\ No newline at end of file

--
Gitblit v1.9.3