From 3f3f8aa865dd03a9dd2363ceabc61cc458a088d7 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期二, 15 八月 2023 17:59:36 +0800
Subject: [PATCH] modified: src/views/laboratory/ledger/index.vue modified: src/views/standardLibrary/index.vue
---
src/views/experiment/inspectionApplication/index.vue | 557 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 555 insertions(+), 2 deletions(-)
diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue
index e3a2d0e..b53ff7c 100644
--- a/src/views/experiment/inspectionApplication/index.vue
+++ b/src/views/experiment/inspectionApplication/index.vue
@@ -1,5 +1,558 @@
<template>
<div>
- 妫�楠岀敵璇�
+ <template v-if="!showDetail">
+ <div class="content-main">
+ <div class="top-bar">
+ <el-form ref="form" :inline="true" :model="searchData">
+ <el-form-item label="鐢宠鍗曞彿:">
+ <el-input
+ v-model="searchData.applicationnumber"
+ class="input-form"
+ placeholder="璇疯緭鍏ョ敵璇峰崟鍙�"
+ style="width: 200px; margin-right: 20px;"
+ >
+ <i slot="prefix" class="el-input__icon el-icon-search" />
+ </el-input>
+ </el-form-item>
+ <el-form-item label="妫�楠岀被鍨�:">
+ <el-select v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;">
+ <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 label="妫�楠岀姸鎬�:" style="margin-right: 20px;">
+ <el-select v-model="searchData.state" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;">
+ <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">鏌ヨ</el-button>
+ <el-button type="primary" plain>閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+ <el-form class="rightBtn">
+ <el-form-item class="createBtn">
+ <el-button type="primary" icon="el-icon-document-add" @click="checkTypeVisible = true" style="background-color: rgb(1, 102, 226);">鏂板妫�楠屽崟</el-button>
+ </el-form-item>
+ <el-form-item class="getDataBtn">
+ <el-button type="primary" icon="el-icon-download" style="background-color: rgb(1, 102, 226);">瀵煎嚭妫�楠屽崟</el-button>
+ </el-form-item>
+ </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-button label="宸蹭綔搴�" />
+ </el-radio-group>
+ </div>
+ </div>
+ <div class="table-box">
+ <el-table
+ ref="inspectionTable"
+ :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="inspectionTable"
+ style="width: 100%"
+ >
+ <el-table-column
+ type="selection"
+ min-width="30px"
+ />
+ <el-table-column
+ prop="applicationnum"
+ label="鐢宠鍗曞彿"
+ min-width="100px"
+ />
+ <el-table-column
+ prop="checktype"
+ label="妫�楠岀被鍨�"
+ min-width="80px"
+ />
+ <el-table-column
+ prop="checkstate"
+ label="妫�楠岀姸鎬�"
+ min-width="70px">
+ <template slot-scope="scope">
+ <div v-if="scope.row.checkstate === '1'">
+ <span style="color: green;">宸叉娴�</span>
+ </div>
+ <div v-else>
+ <span style="color: red;">鏈娴�</span>
+ </div>
+
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="deliverydate"
+ label="鏉ユ枡鏃ユ湡"
+ min-width="100px"
+ />
+ <el-table-column
+ prop="provider"
+ label="渚涘簲鍟嗗悕绉�"
+ min-width="150px"
+ />
+ <el-table-column
+ prop="rawcode"
+ label="鍘熸潗鏂欑紪鐮�"
+ min-width="120px"
+ />
+ <el-table-column
+ prop="rawname"
+ label="鍘熸潗鏂欏悕绉�"
+ min-width="80px"
+ />
+ <el-table-column
+ prop="modelandspecification"
+ label="瑙勬牸鍨嬪彿"
+ min-width="160px"
+ />
+ <el-table-column
+ prop="unit"
+ label="鍗曚綅"
+ min-width="50px"
+ />
+ <el-table-column
+ prop="amount"
+ label="鏁伴噺"
+ min-width="50px"
+ />
+ <el-table-column
+ prop="registrationdate"
+ label="鐧昏鏃ユ湡"
+ min-width="80px"
+ />
+ <el-table-column
+ prop="registrator"
+ label="鐧昏浜�"
+ min-width="80px"
+ />
+ <el-table-column
+ prop="qualified"
+ label="妫�楠岀姸鎬�"
+ min-width="80px">
+ <template slot-scope="scope">
+ <div v-if="scope.row.qualified === null">
+ <span></span>
+ </div>
+ <div v-else>
+ <el-tag :type="scope.row.qualified === '0' ? 'success' : 'danger'"
+ disable-transitions
+ >{{ scope.row.qualified === '0' ? '鍚堟牸' : '涓嶅悎鏍�' }}</el-tag>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="applier"
+ label="鐢宠浜�"
+ min-width="80px"
+ />
+ <el-table-column
+ prop="checker"
+ label="妫�楠屼汉"
+ min-width="80px"
+ />
+ <el-table-column
+ prop="checktime"
+ label="妫�楠屾棩鏈�"
+ min-width="80px"
+ />
+ <el-table-column
+ label="鎿嶄綔"
+ min-width="150"
+ fixed="right"
+ >
+ <template slot-scope="scope">
+ <el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button>
+ <el-button type="text" size="small" >鎻愪氦</el-button>
+ <el-button type="text" size="small" >浣滃簾</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鍒嗛〉鍣� -->
+ <div>
+ <el-pagination
+ class="pagination"
+ :current-page="currentPage"
+ :page-sizes="[100, 200, 300, 400]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </div>
+ <div class="checkType">
+ <el-dialog
+ title="鏂板妫�楠屽崟"
+ :visible.sync="checkTypeVisible"
+ width="50%"
+ >
+ <div class="check-box">
+ <el-radio-group v-model="type">
+ <el-radio :label="0" border>鍘熸潗鏂欐楠�</el-radio>
+ <el-radio :label="1" border>鍗婃垚鍝佹楠�</el-radio>
+ <el-radio :label="2" border>鎴愬搧妫�楠�</el-radio>
+ </el-radio-group>
+ </div>
+ <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="top" label-width="200px" size="mini">
+ <el-row :gutter="100">
+ <el-col :span="10">
+ <el-form-item label="鏉ユ枡鏃ユ湡锛�">
+ <el-input style="width: 300px" type="text" :value="infoForm.deliverydate" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="渚涘簲鍟嗗悕绉帮細">
+ <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="100">
+ <el-col :span="10">
+ <el-form-item label="鍘熸潗鏂欑紪鐮侊細">
+ <el-input style="width: 300px" type="text" :value="infoForm.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="鍘熸潗鏂欏悕绉帮細">
+ <el-input style="width: 300px" type="text" :value="infoForm.name" placeholder="璇疯緭鍏ュ師鏉愭枡鍚嶇О" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="100">
+ <el-col :span="10">
+ <el-form-item label="瑙勬牸鍨嬪彿锛�">
+ <el-input style="width: 300px" type="text" :value="infoForm.modelandspecification" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="鍗曚綅锛�">
+ <el-input style="width: 300px" type="text" :value="infoForm.unit" placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="100">
+ <el-col :span="10">
+ <el-form-item label="鏁伴噺锛�">
+ <el-input style="width: 300px" type="text" :value="infoForm.amount" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="妫�楠屾椂闂达細">
+ <el-date-picker
+ v-model="infoForm.checkdate"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ style="width: 300px;">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="checkTypeVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="goToForInspectionDetail">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+ </div>
+ </template>
+ <template v-else>
+ <router-view />
+ </template>
</div>
-</template>
+ </template>
+
+ <script>
+ import { getInspectionList } from '@/api/rawMaterials/reportForInspection'
+ export default {
+ data() {
+ return {
+ showDetail: false,
+ searchData: {
+ applicationnumber: '',
+ type: '',
+ state: ''
+ },
+ inspectionTable: [{
+ applicationnum: 'QC22-09155',
+ checktype: '鍘熸潗鏂欐楠�',
+ checkstate: '1',
+ deliverydate: '2023-07-31',
+ provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
+ rawcode: '1010010090124',
+ rawname: '閾濆寘閽㈢粸绾�',
+ modelandspecification: 'JLHA1/G1A-185/30-27/7',
+ unit: 'ml/kg',
+ amount: '1999',
+ registrationdate: '2022-09-23',
+ registrator: '鏉庡皬榫�',
+ qualified: '0',
+ applier: '鏉庡皬榫�',
+ checker: '鏉庡皬榫�',
+ checktime: '2023-12-09'
+ },{
+ applicationnum: 'QC22-09155',
+ checktype: '鍘熸潗鏂欐楠�',
+ checkstate: '1',
+ deliverydate: '2023-07-31',
+ provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
+ rawcode: '1010010090124',
+ rawname: '閾濆寘閽㈢粸绾�',
+ modelandspecification: 'JLHA1/G1A-185/30-27/7',
+ unit: 'ml/kg',
+ amount: '1999',
+ registrationdate: '2022-09-23',
+ registrator: '鏉庡皬榫�',
+ qualified: '0',
+ applier: '鏉庡皬榫�',
+ checker: '鏉庡皬榫�',
+ checktime: '2023-12-09'
+ },{
+ applicationnum: 'QC22-09155',
+ checktype: '鍘熸潗鏂欐楠�',
+ checkstate: '0',
+ deliverydate: '2023-07-31',
+ provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
+ rawcode: '1010010090124',
+ rawname: '閾濆寘閽㈢粸绾�',
+ modelandspecification: 'JLHA1/G1A-185/30-27/7',
+ unit: 'ml/kg',
+ amount: '1999',
+ registrationdate: '2022-09-23',
+ registrator: '鏉庡皬榫�',
+ qualified: null,
+ applier: '鏉庡皬榫�',
+ checker: '鏉庡皬榫�',
+ checktime: '2023-12-09'
+ },{
+ applicationnum: 'QC22-09155',
+ checktype: '鍘熸潗鏂欐楠�',
+ checkstate: '1',
+ deliverydate: '2023-07-31',
+ provider: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
+ rawcode: '1010010090124',
+ rawname: '閾濆寘閽㈢粸绾�',
+ modelandspecification: 'JLHA1/G1A-185/30-27/7',
+ unit: 'ml/kg',
+ amount: '1999',
+ registrationdate: '2022-09-23',
+ registrator: '鏉庡皬榫�',
+ qualified: '1',
+ applier: '鏉庡皬榫�',
+ checker: '鏉庡皬榫�',
+ checktime: '2023-12-09'
+ }],
+ infoForm:{
+ deliverydate: '',
+ provider: '',
+ code: '',
+ name: '',
+ modelandspecification: '',
+ unit: '',
+ amount: '',
+ checkdate: ''
+ },
+ options:[{
+ value: '0',
+ label: '閫夐」1'
+ },{
+ value:'1',
+ label: '閫夐」2'
+ }],
+ currentPage: 1,
+ total: 20, // 鎬绘潯鏁�
+ pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁�
+ radioValue: '鍏ㄩ儴',
+ checkTypeVisible: false,
+ type: 0
+ }
+ },
+ watch: {
+ $route: {
+ handler(val, oldval) {
+ console.log(val)// 鏂拌矾鐢变俊鎭�
+ console.log(oldval)// 鑰佽矾鐢变俊鎭�
+ },
+ // 娣卞害瑙傚療鐩戝惉
+ deep: true
+ }
+ },
+ // beforeRouteEnter(to, from, next) {
+ // console.log(to, from)
+ // next()
+ // // 鍦ㄦ覆鏌撹缁勪欢鐨勫搴旇矾鐢辫 confirm 鍓嶈皟鐢�
+ // // 涓嶏紒鑳斤紒鑾峰彇缁勪欢瀹炰緥 `this`
+ // // 鍥犱负褰撻挬瀛愭墽琛屽墠锛岀粍浠跺疄渚嬭繕娌¤鍒涘缓
+ // },
+ // beforeRouteUpdate(to, from, next) {
+ // console.log(to, from)
+ // if (to.name === 'ForInspectionDetail') this.showDetail = true
+ // this.$nextTick(() => {
+ // console.log(1)
+ // this.showDetail = true
+ // })
+ // next()
+ // // 鍦ㄥ綋鍓嶈矾鐢辨敼鍙橈紝浣嗘槸璇ョ粍浠惰澶嶇敤鏃惰皟鐢�
+ // // 涓句緥鏉ヨ锛屽浜庝竴涓甫鏈夊姩鎬佸弬鏁扮殑璺緞 /foo/:id锛屽湪 /foo/1 鍜� /foo/2 涔嬮棿璺宠浆鐨勬椂鍊欙紝
+ // // 鐢变簬浼氭覆鏌撳悓鏍风殑 Foo 缁勪欢锛屽洜姝ょ粍浠跺疄渚嬩細琚鐢ㄣ�傝�岃繖涓挬瀛愬氨浼氬湪杩欎釜鎯呭喌涓嬭璋冪敤銆�
+ // // 鍙互璁块棶缁勪欢瀹炰緥 `this`
+ // },
+ created() {
+ this.getInspectionTableData()
+ },
+ updated() {
+ if (this.$route.name === 'ForInspectionDetail') this.showDetail = true
+ },
+ methods: {
+ async getInspectionTableData() {
+ const res = await getInspectionList({ pageSize: this.currentPage, countSize: this.pageSize })
+ // this.inspectionTable = data
+ console.log(res)
+ },
+ goToForInspectionDetail() {
+ this.$router.push('/rawMaterials/reportForInspection/forInspectionDetail')
+ },
+ handleClick(row) {
+ console.log(row)
+ },
+ // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+ handleSizeChange(val) {
+ console.log(`姣忛〉 ${val} 鏉)
+ this.currentPage = 1
+ this.pageSize = val
+ },
+ // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+ handleCurrentChange(val) {
+ console.log(`褰撳墠椤�: ${val}`)
+ this.currentPage = val
+ }
+ }
+ }
+ </script>
+
+ <style lang="scss" scoped>
+ .checkType{
+ .check-box{
+ .el-radio-group{
+ display: flex;
+ justify-content: space-around;
+ .el-radio{
+ // display: flex;
+ // align-items: center;
+ &.is-checked{
+ background: #ecf5ff;
+ border-color: #b3d8ff;
+ ::v-deep .el-radio__label{
+ color: #333 !important;
+
+ }
+ }
+ height: auto;
+ font-size: 22px !important;
+ padding: 20px 40px !important;
+ ::v-deep .el-radio__label{
+ font-size: 22px !important;
+ padding-left: 0px !important;
+ }
+ ::v-deep .el-radio__input{
+ display: none !important;
+ }
+ }
+ }
+ }
+ }
+ .content-main{
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ }
+ .top-bar{
+ margin: -25px -15px;
+ background: #fff;
+ display: flex;
+ justify-content: space-between;
+ padding: 5px 24px 0px 24px;
+ }
+ .input-form{
+ width: 500px;
+ }
+ .retrieval{
+ float: right;
+ font-size: 14px;
+ color: rgb(0, 120, 255);
+ line-height: 40px;
+ }
+ .rightBtn {
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ .getDataBtn, .createBtn {
+ margin-left: 10px; /* Optional: Add some space between the buttons */
+ }
+ .library-table{
+ background-color: #fff;
+ flex: 1;
+ max-width: 100%;
+ margin-left: -15px;
+ margin-right: -15px;
+ margin-top: 50px;
+ 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: 20px;
+ 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: 20px 0;
+ margin-top: 30px;
+ }
+ }
+ }
+.infoForm{
+ margin-top: 30px;
+ margin-left: 50px;
+ .el-row{
+ margin-bottom: 10px;
+ }
+}
+ </style>
+
\ No newline at end of file
--
Gitblit v1.9.3