From ae7722004ef0ce44416dd080650acc3e4cbea396 Mon Sep 17 00:00:00 2001
From: “zhuo” <“zhuo@itcast.cn”>
Date: 星期三, 09 八月 2023 09:28:28 +0800
Subject: [PATCH] new file:   src/api/experiment/checkTheReport.js new file:   src/api/experiment/reportAuditing.js modified:   src/views/experiment/checkTheReport/index.vue modified:   src/views/experiment/reportAuditing/index.vue

---
 .env.staging                                  |    2 
 .env.development                              |    3 
 src/views/experiment/reportAuditing/index.vue |  202 ++++++++++++++++++++++++
 src/api/experiment/reportAuditing.js          |    9 +
 src/api/experiment/checkTheReport.js          |    9 +
 .env.production                               |    2 
 src/views/experiment/checkTheReport/index.vue |  210 +++++++++++++++++++++++++
 7 files changed, 428 insertions(+), 9 deletions(-)

diff --git a/.env.development b/.env.development
index cc5188c..0e0a98c 100644
--- a/.env.development
+++ b/.env.development
@@ -2,4 +2,5 @@
 ENV = 'development'
 
 # base api
-VUE_APP_BASE_API = 'http://192.168.110.167:1234/'
+# VUE_APP_BASE_API = 'http://192.168.110.167:1234/'
+VUE_APP_BASE_API = 'http://localhost:1234/'
diff --git a/.env.production b/.env.production
index d5166db..dd72fa5 100644
--- a/.env.production
+++ b/.env.production
@@ -3,5 +3,5 @@
 
 # base api
 # VUE_APP_BASE_API = '/prod-api'
-VUE_APP_BASE_API = 'http://192.168.110.167:1234/'
+VUE_APP_BASE_API = 'http://localhost:1234/'
 
diff --git a/.env.staging b/.env.staging
index 65e5ce8..92fbe73 100644
--- a/.env.staging
+++ b/.env.staging
@@ -5,6 +5,6 @@
 
 # base api
 # VUE_APP_BASE_API = '/stage-api'
-VUE_APP_BASE_API = 'http://192.168.110.167:1234/'
+VUE_APP_BASE_API = 'http://localhost:1234/'
 
 
diff --git a/src/api/experiment/checkTheReport.js b/src/api/experiment/checkTheReport.js
new file mode 100644
index 0000000..940fb8a
--- /dev/null
+++ b/src/api/experiment/checkTheReport.js
@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+export function selectAllReport(params) {
+  return request({
+    url: '/report/selectAllReport',
+    method: 'get',
+    params
+  })
+}
diff --git a/src/api/experiment/reportAuditing.js b/src/api/experiment/reportAuditing.js
new file mode 100644
index 0000000..f6a7bae
--- /dev/null
+++ b/src/api/experiment/reportAuditing.js
@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+export function selectAllReportCheck(params) {
+  return request({
+    url: '/reportAuditing/selectAllReportAuditing',
+    method: 'get',
+    params
+  })
+}
diff --git a/src/views/experiment/checkTheReport/index.vue b/src/views/experiment/checkTheReport/index.vue
index d08ff60..e14b79e 100644
--- a/src/views/experiment/checkTheReport/index.vue
+++ b/src/views/experiment/checkTheReport/index.vue
@@ -1,13 +1,217 @@
 <template>
-  <div>妫�娴嬫姤鍛�</div>
+  <div class="content-main">
+    <div class="top-bar">
+      <el-form ref="form" :inline="true">
+        <el-form-item class="sermargin">
+          <el-input
+            v-model="input"
+            class="input-form"
+            placeholder="璇风洿鎺ヨ緭鍏ユ牱寮忕紪鍙�/鎶ュ憡鍗曞彿/鏍峰搧缂栧彿/杩涜鎼滅储鎴栦笅鎷夐�夋嫨杩涜缁勫悎鏌ヨ"
+            @keyup.enter.native="getData"
+          />
+        </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-form>
+      <el-form>
+        <el-button class="rightBtn" type="primary" icon="el-icon-document" @click="exportData">瀵煎嚭鎶ュ憡</el-button>
+      </el-form>
+    </div>
+    <div class="library-table">
+      <div class="table-header">
+        <div class="search-bar">
+          <el-radio-group v-model="checkStatus" @change="handleRadioChange">
+            <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-group>
+        </div>
+      </div>
+      <div class="table-box">
+        <el-table
+          ref="reportTable"
+          :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="reportTable"
+          style="width: 100%"
+        >
+          <el-table-column
+            type="selection"
+            label=""
+            min-width="5%"
+          />
+
+          <el-table-column
+            prop="materialCode"
+            label="鏍峰搧缂栧彿"
+            sortable
+            min-width="10%"
+          />
+          <el-table-column
+            prop="reportCode"
+            label="鎶ュ憡鍗曞彿"
+            sortable
+            min-width="10%"
+          />
+          <el-table-column
+            prop="inspectionCode"
+            label="鐢宠鍗曞彿"
+            sortable
+            min-width="10%"
+          />
+          <el-table-column
+            prop="approver"
+            label="瀹℃壒浜�"
+            min-width="5%"
+          />
+          <el-table-column
+            prop="status"
+            label="瀹℃壒鐘舵��"
+            min-width="8%"
+          >
+            <template slot-scope="scope">
+              <span>
+                <el-tag type="info">{{ scope.row.status == 0 ? '寰呮彁浜�' :
+                  scope.row.status == 1 ? '寰呭鏍�' :
+                  scope.row.status == 2 ? '浠g瀛�' :'宸插畬鎴�' }}</el-tag>
+              </span>
+            </template></el-table-column>
+          <el-table-column
+            prop="conclusion"
+            label="妫�楠岀粨璁�"
+            min-width="10%"
+          />
+          <el-table-column
+            prop="name"
+            label="缂栧埗浜�"
+            min-width="8%"
+          />
+          <el-table-column
+            label="鎿嶄綔"
+            min-width="8%"
+          >
+            <template slot-scope="scope">
+              <el-button type="text" size="small" @click="handleClick(scope.row)">棰勮</el-button>
+              <el-button type="text" size="small">鎵撳嵃</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鍒嗛〉鍣� -->
+        <div>
+          <el-pagination
+            :current-page="page"
+            :page-sizes="[10, 20, 30, 40]"
+            :page-size="pageSize"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="total"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+          />
+        </div>
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
+import { selectAllReport } from '@/api/experiment/checkTheReport'
 export default {
-
+  data() {
+    return {
+      input: '',
+      checkStatus: undefined,
+      reportTable: [],
+      page: 1,
+      total: 0,
+      pageSize: 10
+    }
+  },
+  created() {
+    this.getData()
+  },
+  methods: {
+    // 鐘舵�佹寜閽�
+    handleRadioChange() {
+      this.getData()
+    },
+    // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+    handleSizeChange(val) {
+      console.log(`姣忛〉 ${val} 鏉)
+      this.pageSize = val
+      this.getData()
+    },
+    // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+    handleCurrentChange(val) {
+      console.log(`褰撳墠椤�: ${val}`)
+      this.page = val
+      this.getData()
+    },
+    // 閲嶇疆鎸夐挳
+    resetData() {
+      this.input = undefined
+      this.page = 1
+      this.pageSize = 10
+      this.checkStatus = undefined
+      this.getData()
+    },
+    // 鏌ヨ鍒楄〃
+    async getData() {
+      const params = {
+        page: this.page,
+        pageSize: this.pageSize,
+        name: this.input ? this.input : undefined,
+        status: this.checkStatus ? this.checkStatus : undefined
+      }
+      const { data } = await selectAllReport(params)
+      this.reportTable = data.row
+      this.total = data.total
+    }
+  }
 }
 </script>
 
 <style lang="scss" scoped>
-
+.top-bar{
+    margin: -25px -15px;
+    background: #fff;
+    display: flex;
+    justify-content: space-between;
+    padding: 5px 24px 0px 24px;
+    .input-form {
+    width: 800px;
+    }
+}
+.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;
+          display: flex;
+          flex-direction: column;
+          >div:nth-child(2){
+            display: flex;
+            justify-content: end;
+            margin: 10px 0;
+          }
+      }
+    }
 </style>
diff --git a/src/views/experiment/reportAuditing/index.vue b/src/views/experiment/reportAuditing/index.vue
index f409c24..f016938 100644
--- a/src/views/experiment/reportAuditing/index.vue
+++ b/src/views/experiment/reportAuditing/index.vue
@@ -1,13 +1,209 @@
 <template>
-  <div>鎶ュ憡瀹℃牳</div>
+  <div class="content-main">
+    <div class="top-bar">
+      <el-form ref="form" :inline="true">
+        <el-form-item class="sermargin">
+          <el-input
+            v-model="input"
+            class="input-form"
+            placeholder="璇风洿鎺ヨ緭鍏ユ牱寮忕紪鍙�/鎶ュ憡缂栧彿/鏍峰搧鍚嶇О/杩涜鎼滅储鎴栦笅鎷夐�夋嫨杩涜缁勫悎鏌ヨ"
+            @keyup.enter.native="getData"
+          />
+        </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-form>
+      <el-form>
+        <el-button class="rightBtn" type="primary" @click="exportData">瀹℃牳</el-button>
+      </el-form>
+    </div>
+    <div class="library-table">
+      <div class="table-header">
+        <div class="search-bar">
+          <el-radio-group v-model="checkStatus" @change="handleRadioChange">
+            <el-radio-button>鍏ㄩ儴</el-radio-button>
+            <el-radio-button label="0">寰呮彁浜�</el-radio-button>
+            <el-radio-button label="2">寰呴�氳繃</el-radio-button>
+          </el-radio-group>
+        </div>
+      </div>
+      <div class="table-box">
+        <el-table
+          ref="reportTable"
+          :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="reportTable"
+          style="width: 100%"
+        >
+          <el-table-column
+            type="selection"
+            label=""
+            min-width="5%"
+          />
+          <el-table-column
+            prop="materialCode"
+            label="鏍峰搧缂栧彿"
+            min-width="10%"
+          />
+          <el-table-column
+            prop="reportCode"
+            label="鎶ュ憡鍗曞彿"
+            min-width="10%"
+          />
+          <el-table-column
+            prop="materialName"
+            label="鏍峰搧鍚嶇О"
+            min-width="10%"
+          />
+          <el-table-column
+            prop="status"
+            label="瀹℃壒鐘舵��"
+            min-width="8%"
+          >
+            <template slot-scope="scope">
+              <span>
+                <el-tag type="warning">{{ scope.row.status == 0 ? '寰呮彁浜�' : '宸插鏍�' }}</el-tag>
+              </span>
+            </template></el-table-column>
+          <el-table-column
+            prop="approver"
+            label="瀹℃壒浜�"
+            min-width="8%"
+          />
+          <el-table-column
+            prop="submitTime"
+            label="鎻愪氦鏃ユ湡"
+            min-width="8%"
+          />
+          <el-table-column
+            prop="checkTime"
+            label="瀹℃牳鏃ユ湡"
+            min-width="8%"
+          />
+          <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
+            :current-page="page"
+            :page-sizes="[10, 20, 30, 40]"
+            :page-size="pageSize"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="total"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+          />
+        </div>
+      </div>
+    </div>
+  </div>
 </template>
 
 <script>
+import { selectAllReportCheck } from '@/api/experiment/reportAuditing'
 export default {
-
+  data() {
+    return {
+      input: '',
+      checkStatus: undefined,
+      reportTable: [],
+      page: 1,
+      total: 0,
+      pageSize: 10
+    }
+  },
+  created() {
+    this.getData()
+  },
+  methods: {
+    // 鐘舵�佹寜閽�
+    handleRadioChange() {
+      this.getData()
+    },
+    // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+    handleSizeChange(val) {
+      console.log(`姣忛〉 ${val} 鏉)
+      this.pageSize = val
+      this.getData()
+    },
+    // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+    handleCurrentChange(val) {
+      console.log(`褰撳墠椤�: ${val}`)
+      this.page = val
+      this.getData()
+    },
+    // 閲嶇疆鎸夐挳
+    resetData() {
+      this.input = undefined
+      this.page = 1
+      this.pageSize = 10
+      this.checkStatus = undefined
+      this.getData()
+    },
+    // 鏌ヨ鍒楄〃
+    async getData() {
+      const params = {
+        page: this.page,
+        pageSize: this.pageSize,
+        name: this.input ? this.input : undefined,
+        status: this.checkStatus ? this.checkStatus : undefined
+      }
+      const { data } = await selectAllReportCheck(params)
+      this.reportTable = data.row
+      this.total = data.total
+    }
+  }
 }
 </script>
 
 <style lang="scss" scoped>
-
+.top-bar{
+    margin: -25px -15px;
+    background: #fff;
+    display: flex;
+    justify-content: space-between;
+    padding: 5px 24px 0px 24px;
+    .input-form {
+    width: 800px;
+    }
+}
+.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;
+          display: flex;
+          flex-direction: column;
+          >div:nth-child(2){
+            display: flex;
+            justify-content: end;
+            margin: 10px 0;
+          }
+      }
+    }
 </style>

--
Gitblit v1.9.3