From a5d01d5503750b6c95f9393d7cd4da880de6024c Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 28 八月 2023 15:50:51 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before
---
src/views/experiment/inspectionApplication/index.vue | 969 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 741 insertions(+), 228 deletions(-)
diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue
index b53ff7c..0ebe171 100644
--- a/src/views/experiment/inspectionApplication/index.vue
+++ b/src/views/experiment/inspectionApplication/index.vue
@@ -17,17 +17,17 @@
<el-form-item label="妫�楠岀被鍨�:">
<el-select v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;">
<el-option
- v-for="item in options"
+ v-for="item in typeoptions"
: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-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"
+ v-for="item in stateoptions"
:key="item.value"
:label="item.label"
:value="item.value">
@@ -35,8 +35,8 @@
</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="searchInspections">鏌ヨ</el-button>
+ <el-button type="primary" plain @click="reset">閲嶇疆</el-button>
</el-form-item>
</el-form>
<el-form class="rightBtn">
@@ -73,51 +73,42 @@
min-width="30px"
/>
<el-table-column
- prop="applicationnum"
+ prop="icode"
label="鐢宠鍗曞彿"
min-width="100px"
/>
<el-table-column
- prop="checktype"
+ prop="type"
label="妫�楠岀被鍨�"
- min-width="80px"
- />
- <el-table-column
- prop="checkstate"
- label="妫�楠岀姸鎬�"
- min-width="70px">
+ min-width="80px">
<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>
-
+ <div v-if="scope.row.type === 0" ><span >鍘熸潗鏂欐楠�</span></div>
+ <div v-if="scope.row.type === 1" ><span>濮旀墭妫�楠�</span></div>
+ <div v-if="scope.row.type === 2" ><span>鎴愬搧妫�楠�</span></div>
</template>
</el-table-column>
<el-table-column
- prop="deliverydate"
+ prop="formTime"
label="鏉ユ枡鏃ユ湡"
min-width="100px"
/>
<el-table-column
- prop="provider"
+ prop="supplier"
label="渚涘簲鍟嗗悕绉�"
min-width="150px"
/>
<el-table-column
- prop="rawcode"
+ prop="mcode"
label="鍘熸潗鏂欑紪鐮�"
- min-width="120px"
+ min-width="150px"
/>
<el-table-column
- prop="rawname"
+ prop="name"
label="鍘熸潗鏂欏悕绉�"
min-width="80px"
/>
<el-table-column
- prop="modelandspecification"
+ prop="specifications"
label="瑙勬牸鍨嬪彿"
min-width="160px"
/>
@@ -127,49 +118,34 @@
min-width="50px"
/>
<el-table-column
- prop="amount"
+ prop="num"
label="鏁伴噺"
min-width="50px"
/>
<el-table-column
- prop="registrationdate"
+ prop="createTime"
label="鐧昏鏃ユ湡"
min-width="80px"
/>
<el-table-column
- prop="registrator"
+ prop="userName"
label="鐧昏浜�"
min-width="80px"
/>
<el-table-column
- prop="qualified"
- label="妫�楠岀姸鎬�"
+ prop="inspection_status"
+ 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'"
+ <el-tag class="tag" :type="scope.row.inspection_status === 0 ? 'danger' : 'success'"
disable-transitions
- >{{ scope.row.qualified === '0' ? '鍚堟牸' : '涓嶅悎鏍�' }}</el-tag>
- </div>
+ >{{ scope.row.inspection_status === 0 ? '涓嶅悎鏍�' : '鍚堟牸' }}</el-tag>
</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"
+ prop="checkdate"
label="妫�楠屾棩鏈�"
- min-width="80px"
+ min-width="150px"
/>
<el-table-column
label="鎿嶄綔"
@@ -178,7 +154,7 @@
>
<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> -->
<el-button type="text" size="small" >浣滃簾</el-button>
</template>
</el-table-column>
@@ -188,7 +164,7 @@
<el-pagination
class="pagination"
:current-page="currentPage"
- :page-sizes="[100, 200, 300, 400]"
+ :page-sizes="[ 10, 20, 30,40]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@@ -198,180 +174,492 @@
</div>
</div>
</div>
+ <!-- 瀵硅瘽妗� -->
<div class="checkType">
<el-dialog
title="鏂板妫�楠屽崟"
:visible.sync="checkTypeVisible"
width="50%"
+ top="10vh"
>
<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 v-model="type" @click.native="handleRadioChange">
+ <el-radio :style="`background-color: ${type==0?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="0" border>鍘熸潗鏂欐楠�</el-radio>
+ <el-radio :style="`background-color: ${type==1?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :label="1" border>濮旀墭妫�楠�</el-radio>
+ <el-radio :style="`background-color: ${type==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`" :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="妫�楠屾椂闂达細">
+ <div v-if="type === 0">
+ <el-form :model="infoForm" ref="infoForm" class="checkTypeForm" label-position="top" label-width="200px" size="medium">
+ <el-row :gutter="100">
+ <el-col :span="10">
+ <el-form-item label="鏉ユ枡鏃ユ湡锛�">
+ <el-input style="width: 300px" type="text" :value="infoForm.startTime" 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.supplierName" 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.mcode" 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.specifications" 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.num" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="妫�楠屾椂闂达細">
+ <el-date-picker
+ v-model="infoForm.endTime"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ style="width: 300px;">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ <div v-if="type === 1">
+ <el-form :model="commisionSelection" ref="commisionSelection" class="checkTypeForm" 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="commisionSelection.entrust_coding" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="濮旀墭鍗曚綅">
+ <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" 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="commisionSelection.mcode" placeholder="璇疯緭鍏ユ牱鍝佺紪鍙�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="鏍峰搧鍚嶇О">
+ <el-input style="width: 300px" type="text" :value="commisionSelection.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="commisionSelection.specifications" placeholder="璇疯緭鍏ュ瀷鍙疯鏍�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="閫佽揪鏃堕棿">
+ <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" 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="commisionSelection.completionDeadline" 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;">
+ v-model="commisionSelection.checkdate"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ style="width: 300px;">
</el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
+ <div v-if="type === 2">
+ <el-form :model="finishedTable" ref="finishedTable" class="checkTypeForm" 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" v-model="finishedTable.deliverydate" placeholder="璇疯緭鍏ユ潵鏂欐棩鏈�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="渚涘簲鍟嗗悕绉帮細">
+ <el-input style="width: 300px" type="text" v-model="finishedTable.supplier" 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" v-model="finishedTable.code" placeholder="璇疯緭鍏ュ師鏉愭枡缂栫爜" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="鍘熸潗鏂欏悕绉帮細">
+ <el-input style="width: 300px" type="text" v-model="finishedTable.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" v-model="finishedTable.modelandspecification" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="鍗曚綅锛�">
+ <el-input style="width: 300px" type="text" v-model="finishedTable.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" v-model="finishedTable.amount" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="妫�楠屾椂闂达細">
+ <el-date-picker
+ v-model="finishedTable.checkdate"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ style="width: 300px;">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
<span slot="footer" class="dialog-footer">
<el-button @click="checkTypeVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="goToForInspectionDetail">纭� 瀹�</el-button>
+ <!-- <el-button type="primary" @click="addInspection">纭� 瀹�</el-button> -->
+ <el-button type="primary" @click="QUEding">纭� 瀹�</el-button>
</span>
</el-dialog>
</div>
</div>
+
+ <!-- 纭畾璺宠浆鍩烘湰搴撳脊绐� -->
+ <el-dialog
+ title="鏍囧噯搴�"
+ :visible.sync="Standardframe"
+ width="49%"
+ >
+ <el-card>
+ <template slot-scope="scope" >
+ <span>鐗堟湰閫夋嫨锛�</span>
+ <el-select @change="ccc" v-model="selectedValue" size="small" slot="append" style="width: 220px;">
+ <el-option v-for="item in BANben" :key="item" :label="item"
+ :value="item"></el-option>
+
+ </el-select>
+ </template>
+ </el-card>
+ <el-table
+ :data="tableData"
+ style="width: 100%; margin-bottom: 20px"
+ row-key="id"
+ border
+ height="calc(80vh - 250px)"
+ default-expand-all
+ ref="multipleTable"
+ :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
+ >
+ <el-table-column type="selection" label="搴忓彿"> </el-table-column>
+ <el-table-column
+ type="index"
+ width="50px"
+ label="搴忓彿"
+ ></el-table-column>
+ <el-table-column label="椤圭洰鍚嶇О" sortable>
+ <template scope="scope">
+ <el-tag
+ ><div
+ class="firstDiv"
+ :style="`color: ${
+ scope.row.code == '[1]' ? '#16a7ff' : '#58c173'
+ }`"
+ >
+ {{ scope.row.code == "[1]" ? "01" : "02" }}
+ </div>
+ <span style="color: black">{{ scope.row.name }}</span></el-tag
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="unit"
+ label="鍗曚綅"
+ sortable
+ ></el-table-column>
+ <el-table-column label="鏍囧噯鍊�" sortable>
+ <template scope="scope">
+ <el-input
+ v-if="scope.row.edit === true || scope.row.code === '[2]'"
+ @blur="requiredOnfocus(scope)"
+ v-model="scope.row.required"
+ placeholder="璇疯緭鍏ユ爣鍑嗗��"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="internal" label="鍐呮帶鍊�" sortable>
+ <template scope="scope">
+ <el-input
+ v-if="scope.row.edit === true || scope.row.code === '[2]'"
+ @blur="requiredOnfocus(scope)"
+ v-model="scope.row.internal"
+ placeholder="璇疯緭鍏ュ唴鎺у��"
+ ></el-input>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="Standardframe = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="GOfrom">纭� 瀹�</el-button>
+ </span>
+
+ </el-dialog>
+
+ <!-- 鍘熸潗鏂欐楠屾ā鎬佹 -->
+ <el-dialog
+ title="鍘熸潗鏂欐楠�"
+ :visible.sync="rawmaterialVisible"
+ width="60%">
+ <div class="table-box">
+ <el-table
+ ref="multipleTable"
+ :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="rawMaterialTable"
+ style="width: 100%"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column
+ type="selection"
+ min-width="10%"
+ />
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ min-width="8%"
+ />
+ <el-table-column
+ prop="startTime"
+ label="鏉ユ枡鏃ユ湡"
+ min-width="8%"
+ />
+ <el-table-column
+ prop="supplierName"
+ label="渚涘簲鍟嗗悕绉�"
+ min-width="12%"
+ />
+ <el-table-column
+ prop="mcode"
+ label="鏉愭枡缂栫爜"
+ min-width="8%"
+ />
+ <el-table-column
+ prop="name"
+ label="鏉愭枡鍚嶇О"
+ min-width="8%"
+ />
+ <el-table-column
+ prop="specifications"
+ label="瑙勬牸鍨嬪彿"
+ min-width="12%"
+ />
+ <el-table-column
+ prop="unit"
+ label="鍗曚綅"
+ min-width="5%"
+ />
+ <el-table-column
+ prop="num"
+ label="鏁伴噺"
+ min-width="5%"
+ />
+ <el-table-column
+ prop="endTime"
+ label="鎶ユ鏃ユ湡"
+ min-width="8%"
+ />
+ <el-table-column
+ prop="supplier"
+ label="妫�楠屼汉"
+ min-width="8%"
+ />
+ <el-table-column
+ prop="startTime"
+ label="妫�楠屾棩鏈�"
+ min-width="8%"
+ />
+ <el-table-column
+ prop="condition"
+ label="鐘舵��"
+ min-width="8%"
+ >
+ <template slot-scope="scope">
+ <span :style="{ color: scope.row.state === 1 ? 'green' : 'red' }">
+ {{ scope.row.state===1 ? '宸叉娴�':'寰呮娴�' }}
+ </span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="rawmaterialVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="handleRawMaterialSelection">纭� 瀹�</el-button>
+ </span>
+ </div>
+ </el-dialog>
+ <!-- 濮旀墭妫�楠屾ā鎬佹 -->
+ <el-dialog
+ title="濮旀墭妫�楠�"
+ :visible.sync="commisionVisible"
+ width="60%">
+ <div class="table-box">
+ <el-table
+ ref="multipleTable"
+ :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"
+ @selection-change="handleSelectionChange"
+ 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="supplier" label="濮旀墭鍗曚綅" min-width="12%" />
+ <el-table-column prop="mcode" label="鏍峰搧缂栧彿" min-width="8%" />
+ <el-table-column prop="name" label="鏍峰搧鍚嶇О" min-width="8%" />
+ <el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="12%" />
+ <el-table-column prop="endTime" label="閫佽揪鏃堕棿" min-width="8%" />
+ <el-table-column prop="formTime" label="瀹屾垚鏈熼檺" min-width="8%" />
+ <el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" />
+ <el-table-column prop="endTime" 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">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="commisionVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="handleCommisionSelection">纭� 瀹�</el-button>
+ </span>
+ </div>
+ </el-dialog>
</template>
<template v-else>
<router-view />
</template>
</div>
</template>
-
+
<script>
- import { getInspectionList } from '@/api/rawMaterials/reportForInspection'
+ import { selectInspectsList, selectAll, addInspect,chooseVer,lookProByVer} from '@/api/experiment/planAssignments'
export default {
data() {
+
return {
showDetail: false,
searchData: {
applicationnumber: '',
type: '',
- state: ''
+ 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:{
+ valu:{},
+ inputValue: '',
+ icode:'',
+ inspectionTable: [],
+ rawMaterialTable: [],
+ commisionTable: [],
+ finishedTable: {
deliverydate: '',
- provider: '',
+ supplier: '',
code: '',
name: '',
modelandspecification: '',
unit: '',
amount: '',
- checkdate: ''
+ checkdate: []
},
+ selectedValue:1,
+ infoForm:{},
+ commisionSelection:{
+ entrust_coding: '',
+ entrusted: '',
+ samples_number: '',
+ sample_name: '',
+ specifications_models: '',
+ dateSurvey: '',
+ completionDeadline: '',
+ contacts: '',
+ inspectionTime: ''
+ },
+ typeoptions:[{
+ value: 0,
+ label:'鍘熸潗鏂欐楠�'
+ },{
+ value: 1,
+ label: '濮旀墭妫�楠�'
+ },{
+ value: 2,
+ label: '鎴愬搧妫�楠�'
+ }],
+ stateoptions:[{
+ value: 0,
+ label:'涓嶅悎鏍�'
+ },{
+ value: 1,
+ label:'鍚堟牸'
+ }],
options:[{
value: '0',
label: '閫夐」1'
@@ -381,10 +669,19 @@
}],
currentPage: 1,
total: 20, // 鎬绘潯鏁�
- pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁�
+ pageSize: 8, // 姣忛〉鐨勬暟鎹潯鏁�
radioValue: '鍏ㄩ儴',
checkTypeVisible: false,
- type: 0
+ type: 0, // 榛樿涓嶉�変腑鐨勭姸鎬�
+ rawmaterialVisible: false,
+ commisionVisible: false,
+ tmp: '',
+ Standardframe: false,
+ tableData: [],
+ tableRow:{},
+ BANben:[],
+ select_1: [],
+ aa:{}
}
},
watch: {
@@ -397,59 +694,264 @@
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()
+ this.selectInspectsList()
},
updated() {
if (this.$route.name === 'ForInspectionDetail') this.showDetail = true
},
methods: {
- async getInspectionTableData() {
- const res = await getInspectionList({ pageSize: this.currentPage, countSize: this.pageSize })
+ async selectAll(){
+ const res = selectAll({type:0})
+ // console.log(res);
+ this.rawMaterialTable = res.data
+ },
+ async selectAll(){
+ const res = selectAll({type:2})
+ // console.log(res);
+ this.commisionTable = res.data
+ },
+ async handleClick(row){
+ this.inspectionTable = row;
+ this.id = row.id
+ this.$router.push({name:'Viewdetails',query: {id:row.id}});
+ this.selectInspectsList()
+ },
+ // validateInput() {
+ // if (this.inputValue.trim() === '') {
+ // }
+ // }, // 杈撳叆鍊间负绌猴紝寮瑰嚭鎻愮ず淇℃伅鎴栬繘琛屽叾浠栧鐞�
+ // alert('杈撳叆鍊间笉鑳戒负绌�');
+ // return;
+
+ //鐗堟湰搴�
+ async chooseVer() {
+ console.log(this.tmp.materialCoding);
+ console.log(this.tmp.materialName);
+ console.log(this.tmp.specificationsModels);
+ const res = await chooseVer ({
+ mcode:this.tmp.mcode,
+ name:this.tmp.name,
+ specifications:this.tmp.specifications
+ })
+ this.BANben = res.data
+ console.log(res.data);
+ this.aa = this.BANben[0]
+ this.lookProByVer()
+ },
+ //鏍囧噯搴�
+ async lookProByVer() {
+ const res = await lookProByVer({
+ mcode:this.tmp.mcode,
+ name:this.tmp.name,
+ specifications:this.tmp.specifications,
+ version:this.aa
+ })
+ console.log(res);
+ this.tableData = res.data
+ },
+ ccc(val){
+ // console.log(val);
+ this.aa = val
+ this.lookProByVer()
+ },
+ async selectInspectsList() {
+ // 鑾峰彇鍒嗛〉鍒楄〃
+ const res = await selectInspectsList({ countSize: this.pageSize, pageSize: this.currentPage,message:this.id})
// this.inspectionTable = data
- console.log(res)
+ // console.log(res.data.row)
+ const data = res.data.row
+ data.forEach((item) => {
+ var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"]
+ var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"]
+ var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"]
+ var checkdate = startTime + '~' + endTime
+ var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%d')"]
+ item['formTime'] = formTime // 鏉ユ枡鏃ユ湡
+ item['checkdate'] = checkdate // 妫�楠屾棩鏈�
+ item['createTime'] = createTime // 鐧昏鏃ユ湡
+ })
+ this.inspectionTable = data
+ this.total = res.data.total
},
- goToForInspectionDetail() {
- this.$router.push('/rawMaterials/reportForInspection/forInspectionDetail')
- },
- handleClick(row) {
- console.log(row)
- },
+ async searchInspections(){
+ const res = await selectInspectsList({countSize:this.pageSize,pageSize:this.currentPage,message:this.searchData.applicationnumber})
+ var data = res.data.row
+ data.forEach((item) => {
+ var formTime = item["DATE_FORMAT(`form_time`,'%Y-%m-%d')"]
+ var startTime = item["DATE_FORMAT(i"]["`start_time`,'%Y-%m-%d')"]
+ var endTime = item["DATE_FORMAT(i"]["`end_time`,'%Y-%m-%d')"]
+ var checkdate = startTime + '~' + endTime
+ var createTime = item["DATE_FORMAT(i"]["`create_time`,'%Y-%m-%d')"]
+ item['formTime'] = formTime // 鏉ユ枡鏃ユ湡
+ item['checkdate'] = checkdate // 妫�楠屾棩鏈�
+ item['createTime'] = createTime // 鐧昏鏃ユ湡
+ })
+ this.inspectionTable = data
+ if(this.searchData.type !== ''){
+ if(this.searchData.state !== ''){
+ this.inspectionTable = data.filter((item)=>{
+ return item.type===this.searchData.type && item.inspection_status === this.searchData.state
+ })
+ }else{
+ this.inspectionTable = data.filter((item)=>{
+ return item.type===this.searchData.type
+ })
+ }
+ }else{
+ if(this.searchData.state !== ''){
+ this.inspectionTable = data.filter((item)=>{
+ return item.inspection_status===this.searchData.state
+ })
+ }
+ }
+ this.total = this.inspectionTable.length
+ },
+ reset(){
+ this.countSize = 1;
+ this.pageSize = 8;
+ this.searchData = { };
+ this.selectInspectsList();
+ },
+ //琚�変腑鐨勪俊鎭� 鍗曢��
+ handleSelectionChange(val) {
+ if (val.length > 1) {
+ this.$refs.multipleTable.clearSelection();
+ this.$refs.multipleTable.toggleRowSelection(val.pop())
+ }
+ this.tmp = val[0]
+ // console.log(this.tmp);
+ },
+ handleCommisionSelection(){
+ this.commisionSelection = this.tmp
+ this.commisionVisible = false
+ },
+ handleRawMaterialSelection(){
+ this.infoForm = this.tmp
+ // console.log(this.infoForm);
+
+ this.rawmaterialVisible = false
+ },
+ handleRadioChange(){
+ setTimeout(()=>{
+ if(this.type === 0){
+ // 鍘熸潗鏂欐姤妫�
+ this.rawmaterialVisible = true
+ selectAll({type:0}).then(res=>{
+ // console.log(res);
+ // var data = res.data
+ // data.forEach((item)=>{
+ // var checkdate = []
+ // checkdate.push(item['createTime'])
+ // checkdate.push(item['updateTime'])
+ // item['checkdate'] = checkdate // 妫�楠屾棩鏈�
+ // })
+ console.log(res);
+ this.rawMaterialTable = res.data
+ })
+
+ // this.infoForm = res.data
+ // this.$router.push({ name: 'ReportForInspection' });
+ }else if(this.type === 1){
+ this.commisionVisible = true
+ selectAll({type:2}).then(res=>{
+
+ this.commisionTable = res.data
+ })
+ }
+ },100)
+ },
+ // 鏂板妫�楠�
+ async addInspection(){
+ if(this.type === 0){
+ await addInspect({endTime: this.infoForm.checkdate[1],
+ formTime: this.infoForm.dateSurvey,
+ mcode: this.infoForm.materialCoding,
+ name: this.infoForm.materialName,
+ num: this.infoForm.quantity,
+ specifications: this.infoForm.specificationsModels,
+ startTime: this.infoForm.checkdate[0] ,
+ supplier: this.infoForm.supplierName,
+ type: this.type,
+ unit: this.infoForm.unit})
+ }
+ if(this.type === 1){
+ console.log(this.commisionSelection)
+ const res = await addInspect({endTime: this.commisionSelection.checkdate[1],
+ formTime: this.commisionSelection.formTime,
+ mcode: this.commisionSelection.mcode,
+ name: this.commisionSelection.name,
+ num: this.commisionSelection.num,
+ specifications: this.commisionSelection.specifications,
+ startTime: this.commisionSelection.checkdate[0] ,
+ supplier: this.commisionSelection.supplier,
+ type: this.type,
+ unit: this.commisionSelection.unit})
+ console.log('res',res)
+ }
+ if(this.type === 2){
+ console.log(this.finishedTable)
+ const res = await addInspect({ endTime: '2023-08-15',
+ formTime: this.finishedTable.deliverydate,
+ mcode: this.finishedTable.code,
+ name: this.finishedTable.name,
+ num: parseInt(this.finishedTable.amount),
+ specifications: this.finishedTable.modelandspecification,
+ startTime: '2023-08-14',
+ supplier: this.finishedTable.supplier,
+ type: this.type,
+ unit: this.finishedTable.unit })
+ }
+ this.type = 0
+ this.checkTypeVisible = false
+ this.$message({
+ message: '娣诲姞鎴愬姛锛�',
+ type: 'success'
+ });
+ },
// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
handleSizeChange(val) {
console.log(`姣忛〉 ${val} 鏉)
- this.currentPage = 1
+ // this.currentPage = 1
this.pageSize = val
+ this.selectInspectsList()
},
// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
handleCurrentChange(val) {
console.log(`褰撳墠椤�: ${val}`)
this.currentPage = val
- }
+ this.selectInspectsList()
+ },
+ //纭畾璺宠浆
+ QUEding(){
+ // this.tableRow = a
+
+ this.Standardframe = true
+
+ this.chooseVer()
+
+ },
+ //纰哄畾瑭虫儏闋�
+ GOfrom( ){
+ this.Standardframe = false
+ // console.log(this.tmp.materialCoding);
+ // console.log(this.tmp.materialName);
+ // console.log(this.tmp.specificationsModels);
+ // console.log(this.aa)
+ // const data = {
+ // // mcode : this.tmp.mcode,
+ // // name:this.tmp.name,
+ // // specifications:this.tmp.specifications,
+ // version:this.tmp.id
+ // }
+
+ this.$router.push({name:'Viewdetails',query:{id:this.tmp.id}})
+
+ },
}
}
</script>
-
+
<style lang="scss" scoped>
.checkType{
.check-box{
@@ -464,12 +966,12 @@
border-color: #b3d8ff;
::v-deep .el-radio__label{
color: #333 !important;
-
+
}
}
height: auto;
font-size: 22px !important;
- padding: 20px 40px !important;
+ padding: 40px 50px !important;
::v-deep .el-radio__label{
font-size: 22px !important;
padding-left: 0px !important;
@@ -507,14 +1009,13 @@
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;
@@ -538,6 +1039,9 @@
flex-direction: column;
.el-table {
flex: 1;
+ .tag{
+ width: 80px;
+ }
}
>div:nth-child(2){
display: flex;
@@ -547,12 +1051,21 @@
}
}
}
-.infoForm{
+.checkTypeForm{
margin-top: 30px;
margin-left: 50px;
.el-row{
margin-bottom: 10px;
}
}
+.pagination{
+ display: flex;
+ margin-top: 20px;
+ justify-content: end;
+}
+.dialog-footer{
+ display: flex;
+ margin-top: 20px;
+ justify-content: end;
+}
</style>
-
\ No newline at end of file
--
Gitblit v1.9.3