From 2c38eea08bc6060c3371885e9f7fe79473968223 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 08 九月 2023 17:28:57 +0800
Subject: [PATCH] 	modified:   .env.development 	modified:   src/api/experiment/planAssignments.js 	deleted:    src/styles/fonts/element-icons.ttf 	deleted:    src/styles/fonts/element-icons.woff 	deleted:    src/styles/icon.css 	modified:   src/views/experiment/checkTheReport/index.vue 	modified:   src/views/experiment/inspectionApplication/index.vue 	modified:   src/views/experiment/reportAuditing/index.vue 	modified:   src/views/inspectionManagement/commissionInspection/addCommision.vue 	modified:   src/views/laboratory/ledger/index.vue

---
 src/views/experiment/inspectionApplication/index.vue |  987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 984 insertions(+), 3 deletions(-)

diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue
index e3a2d0e..b1ad99c 100644
--- a/src/views/experiment/inspectionApplication/index.vue
+++ b/src/views/experiment/inspectionApplication/index.vue
@@ -1,5 +1,986 @@
 <template>
-    <div>
-        妫�楠岀敵璇�
-    </div>
+	<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 size="small" 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="妫�楠岀被鍨�:" width="200">
+							<el-select size="small" v-model="searchData.type" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;">
+								<el-option 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="妫�楠岀粨鏋�:" width="200">
+							<el-select size="small" v-model="searchData.state" placeholder="鍏ㄩ儴" style="width: 100px;margin-right: 20px;">
+								<el-option v-for="item in stateoptions" :key="item.value" :label="item.label" :value="item.value">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<el-button size="small" type="primary" @click="searchInspections">鏌ヨ</el-button>
+							<el-button size="small" type="primary" plain @click="reset">閲嶇疆</el-button>
+						</el-form-item>
+					</el-form>
+					<el-form class="rightBtn">
+						<el-form-item class="createBtn">
+							<el-button size="small" type="primary" icon="el-icon-plus" @click="showAddDialog"
+								style="background-color: rgb(1, 102, 226);">鏂板妫�楠屽崟</el-button>
+						</el-form-item>
+						<el-form-item class="getDataBtn">
+							<el-button size="small" 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-box">
+						<el-table ref="inspectionTable" style="width: 100%;overflow-y: auto;max-height: 600px;" :height="600"
+							:cell-style="{textAlign: 'left'}"
+							:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}"
+							:data="inspectionTable">
+							<el-table-column type="selection" min-width="30px" />
+							<el-table-column prop="icode" label="鐢宠鍗曞彿" min-width="160px" />
+							<el-table-column prop="type" label="妫�楠岀被鍨�" min-width="100px">
+								<template slot-scope="scope">
+									<div v-if="scope.row.type === 0"><el-tag type="success">鍘熸潗鏂欐楠�</el-tag></div>
+									<div v-if="scope.row.type === 2"><el-tag>濮旀墭妫�楠�</el-tag></div>
+									<div v-if="scope.row.type === 1"><el-tag type="warning">鎴愬搧妫�楠�</el-tag></div>
+								</template>
+							</el-table-column>
+							<el-table-column prop="formTime" label="鏉ユ枡鏃ユ湡" min-width="90px" />
+							<el-table-column prop="supplier" label="渚涘簲鍟嗗悕绉�" min-width="150px" show-overflow-tooltip />
+							<el-table-column prop="mcode" label="鍘熸潗鏂欑紪鐮�" min-width="170px" />
+							<el-table-column prop="name" label="鍘熸潗鏂欏悕绉�" min-width="90px" />
+							<el-table-column prop="specifications" label="瑙勬牸鍨嬪彿" min-width="160px" />
+							<el-table-column prop="unit" label="鍗曚綅" min-width="50px" />
+							<el-table-column prop="num" label="鏁伴噺" min-width="50px" />
+							<el-table-column prop="createTime" label="鐧昏鏃ユ湡" min-width="90px" />
+							<el-table-column prop="inspection_status" label="妫�楠岀粨鏋�" min-width="95px">
+								<template slot-scope="scope">
+									<el-tag class="tag" effect="dark" type="success" disable-transitions
+										v-if="scope.row.inspection_status == 1">鍚堟牸</el-tag>
+									<el-tag class="tag" effect="dark" type="danger" disable-transitions
+										v-else>涓嶅悎鏍�</el-tag>
+								</template>
+							</el-table-column>
+							<el-table-column prop="userName" label="鐧昏浜�" min-width="80px" />
+							<el-table-column prop="checkdate" label="妫�楠屾棩鏈�" min-width="170px" />
+							<el-table-column label="鎿嶄綔" min-width="120" fixed="right">
+								<template slot-scope="scope">
+									<el-button type="text" size="small" @click="handleClick(scope.row)">鏌ョ湅</el-button>
+									<el-button type="text" size="small" @click="delInspect(scope.row)">浣滃簾</el-button>
+								</template>
+							</el-table-column>
+						</el-table>
+						<!-- 鍒嗛〉鍣� -->
+						<div>
+							<el-pagination class="pagination" :current-page="currentPage" :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 class="checkType">
+					<el-dialog title="鏂板妫�楠屽崟" :visible.sync="checkTypeVisible" width="50%" top="10vh">
+						<div class="check-box">
+							<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==2?'rgb(170, 236, 214)':'#fff'};border-radius: 10px;`"
+									:label="2" 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-group>
+						</div>
+						<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-date-picker style="width: 300px" disabled v-model="infoForm.formTime" type="date" placeholder="閫夋嫨鏃ユ湡">
+											</el-date-picker>
+										</el-form-item>
+									</el-col>
+									<el-col :span="10">
+										<el-form-item label="渚涘簲鍟嗗悕绉帮細">
+											<el-input style="width: 300px" type="text" disabled :value="infoForm.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" disabled :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" disabled :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" disabled :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" disabled :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" disabled :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.checkdate" type="daterange" range-separator="鑷�"
+												start-placeholder="寮�濮嬫棩鏈�" value-format="yyyy-MM-dd" end-placeholder="缁撴潫鏃ユ湡" style="width: 300px;">
+											</el-date-picker>
+										</el-form-item>
+									</el-col>
+								</el-row>
+							</el-form>
+						</div>
+						<div v-if="type === 2">
+							<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" disabled :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" disabled :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" disabled :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" disabled :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" disabled :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" disabled :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" disabled :value="commisionSelection.completionDeadline"
+												placeholder="璇疯緭鍏ュ畬鎴愭湡闄�" autocomplete="off" />
+										</el-form-item>
+									</el-col>
+									<el-col :span="10">
+										<el-form-item label="妫�楠屾棩鏈燂細">
+											<el-date-picker v-model="commisionSelection.checkdate" type="daterange" range-separator="鑷�"
+												start-placeholder="寮�濮嬫棩鏈�" value-format="yyyy-MM-dd" 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="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" disabled v-model="finishedTable.code" placeholder="璇疯緭鍏ユ垚鍝佺紪鐮�"
+												autocomplete="off" />
+										</el-form-item>
+									</el-col>
+									<el-col :span="10">
+										<el-form-item label="鎴愬搧鍚嶇О锛�">
+											<el-select style="width: 300px" v-model="finishedTable.name" @change="getSpecifications">
+												<el-option v-for="(item,index) in mList" :key="index" :label="item.name" :value="item.id"></el-option>
+											</el-select>
+										</el-form-item>
+									</el-col>
+								</el-row>
+								<el-row :gutter="100">
+									<el-col :span="10">
+										<el-form-item label="瑙勬牸鍨嬪彿锛�">
+												<el-cascader style="width: 300px" v-model="finishedTable.modelandspecification" 
+												:options="specificationList" :show-all-levels="false" @change="changeSpe"
+												:props="{label:'name',value:'id',children:'children'}"></el-cascader>
+										</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" min="0" type="number" 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="寮�濮嬫棩鏈�" value-format="yyyy-MM-dd" 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="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="getProductVerison" v-model="version" size="small" slot="append" style="width: 220px;">
+							<el-option v-for="(item,index) in BANben" :key="index" :label="item.label" :value="item.value"></el-option>
+						</el-select>
+					</template>
+				</el-card>
+				<el-table :data="tableData" style="width: 100%; margin-bottom: 20px;overflow-y: auto;" row-key="id" border height="40vh"
+					default-expand-all ref="multipleTable" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+					<el-table-column type="index" width="50px" label="搴忓彿"></el-table-column>
+					<el-table-column prop="name" label="椤圭洰鍚嶇О" sortable>
+					</el-table-column>
+					<el-table-column prop="unit" label="鍗曚綅" sortable></el-table-column>
+					<el-table-column prop="required" label="鏍囧噯鍊�" sortable>
+					</el-table-column>
+					<el-table-column prop="internal" label="鍐呮帶鍊�" sortable>
+					</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%" top="100px">
+				<div class="table-box">
+					<el-table ref="multipleTable" :max-height="600" :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="formTime" label="鏉ユ枡鏃ユ湡" min-width="8%" />
+						<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="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="surveyor" label="妫�楠屼汉" min-width="8%" />
+						<el-table-column prop="startTime" label="妫�楠屾棩鏈�" min-width="8%" />
+						<el-table-column prop="type" label="鐘舵��" min-width="8%">
+							<template>
+								<span style="color: red">寰呮楠�</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="entrustCoding" 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="formTime" label="閫佽揪鏃堕棿" min-width="8%" />
+						<el-table-column prop="endTime" 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 {
+		selectInspectsList,
+		selectAll,
+		addInspect,
+		chooseVer,
+		lookProByVer,
+		delInspect,
+		getSpecificationByMaterielId,
+		getMaterielList
+	} from '@/api/experiment/planAssignments'
+	export default {
+		data() {
+			return {
+				speName:"",
+				specificationList: [],
+				mList:[],
+				showDetail: false,
+				searchData: {
+					applicationnumber: '',
+					type: '',
+					state: '',
+				},
+				valu: {},
+				inputValue: '',
+				icode: '',
+				inspectionTable: [],
+				rawMaterialTable: [],
+				commisionTable: [],
+				finishedTable: {
+					code: '',
+					name: '',
+					modelandspecification: '',
+					unit: '',
+					amount: '',
+					checkdate: []
+				},
+				selectedValue: null,
+				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'
+				}, {
+					value: '1',
+					label: '閫夐」2'
+				}],
+				currentPage: 1,
+				total: 20, // 鎬绘潯鏁�
+				pageSize: 10, // 姣忛〉鐨勬暟鎹潯鏁�
+				radioValue: '鍏ㄩ儴',
+				checkTypeVisible: false,
+				type: 1, // 榛樿涓嶉�変腑鐨勭姸鎬�
+				rawmaterialVisible: false,
+				commisionVisible: false,
+				tmp: {},
+				Standardframe: false,
+				tableData: [],
+				tableRow: {},
+				BANben: [],
+				version: null,
+				listdata: [],
+				ddd: {}
+			}
+		},
+		watch: {
+			$route: {
+				handler(val, oldval) {},
+				// 娣卞害瑙傚療鐩戝惉
+				deep: true
+			},
+			checkTypeVisible(newVal){
+				if(newVal == false){
+					this.finishedTable = {
+						code: '',
+						name: '',
+						modelandspecification: '',
+						unit: '',
+						amount: '',
+						checkdate: []
+					};
+					this.infoForm = {};
+					this.commisionSelection = {
+						entrust_coding: '',
+						entrusted: '',
+						samples_number: '',
+						sample_name: '',
+						specifications_models: '',
+						dateSurvey: '',
+						completionDeadline: '',
+						contacts: '',
+						inspectionTime: ''
+					};
+				}
+			}
+		},
+		created() {
+			this.selectInspectsList()
+		},
+		updated() {
+			if (this.$route.name === 'ForInspectionDetail') this.showDetail = true
+		},
+		methods: {
+			changeSpe(val){
+				this.tmp.specificationsId = val[val.length-1];
+				let arr1 = this.specificationList[0].children.filter(item=>{
+					return item.id==val[1]
+				});
+				let arr2 = arr1[0].children.filter(item=>{
+					return item.id = val[2]
+				})
+				let speName = arr1[0].name + "-" + arr2[0].name;
+				this.speName = speName;
+
+			},
+			getSpecifications(val){
+				if(val != null){
+					this.selectSpecificationByMaterielId(val);
+					let item = this.mList.filter(item => {
+							return item.id == val;
+					});
+					this.finishedTable.code = item[0].code;
+					this.tmp.mcode = item[0].code;
+					this.tmp.name = item[0].name;
+				}
+			},
+			async selectSpecificationByMaterielId(mId){
+				await getSpecificationByMaterielId({id : mId}).then(res=>{
+					this.specificationList = new Array(res.data);
+				}).catch(error => {
+					this.$message.error(error.message);
+				});
+			},
+			//鏄剧ず鏂板妫�楠屽崟妯℃�佹
+			showAddDialog(){
+				this.selectMaterielList();
+				this.checkTypeVisible = true
+			},
+			//鑾峰彇鎴愬搧淇℃伅
+			async selectMaterielList(){
+				await getMaterielList().then(res=>{
+					this.mList = res.data
+				}).catch(error => {
+					this.$message.error(error.message);
+				});
+			},
+			async selectAll() {
+
+				const res = selectAll({
+					type: 0
+				})
+				this.rawMaterialTable = res.data
+			},
+			async selectAll() {
+				const res = selectAll({
+					type: 2
+				})
+				this.commisionTable = res.data
+			},
+			async handleClick(row) {
+				// this.$router.push({
+				// 	name: 'Viewdetails',
+				// 	query: {
+				// 		id: row.id
+				// 	}
+				// });
+				this.$router.push(`Viewdetails/${row.id}`);
+			},
+			//鐗堟湰搴�
+			async chooseVer() {
+				const res = await chooseVer({
+					mcode: this.tmp.mcode,
+					name: this.tmp.name,
+					specifications: this.tmp.specificationsId
+				})
+				this.BANben = []
+				res.data.forEach(a => {
+					this.BANben.push({
+						label: "V" + a,
+						value: a
+					})
+				})
+				this.version = this.BANben[0].value;
+				this.lookProByVerFun()
+			},
+			//鏍囧噯搴�
+			async lookProByVerFun() {
+				const res = await lookProByVer({
+					mcode: this.tmp.mcode,
+					name: this.tmp.name,
+					specifications: this.tmp.specificationsId,
+					version: this.version
+				})
+				this.tableData = res.data
+			},
+			getProductVerison(val) {
+				this.version = val
+				this.lookProByVerFun()
+			},
+			async selectInspectsList() {
+				// 鑾峰彇鍒嗛〉鍒楄〃
+				const res = await selectInspectsList({
+					countSize: this.pageSize,
+					pageSize: this.currentPage,
+					message: this.id
+				})
+				const data = res.data.row
+				data.forEach((item) => {
+					var formTime = item["form_time"]
+					var startTime = item["start_time"]
+					var endTime = item["end_time"]
+					var checkdate = startTime + '~' + endTime
+					var createTime = item["create_time"]
+					item['formTime'] = formTime // 鏉ユ枡鏃ユ湡
+					item['checkdate'] = checkdate // 妫�楠屾棩鏈�
+					item['createTime'] = createTime // 鐧昏鏃ユ湡
+				})
+				this.inspectionTable = data
+				this.total = res.data.total
+			},
+			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["form_time"]
+					var startTime = item["start_time"]
+					var endTime = item["end_time"]
+					var checkdate = startTime + '~' + endTime
+					var createTime = item["create_time"]
+					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 = 10;
+				this.searchData = {
+					applicationnumber: '',
+					type: '',
+					state: '',
+				};
+				this.selectInspectsList();
+			},
+			//琚�変腑鐨勪俊鎭� 鍗曢��
+			handleSelectionChange(val) {
+				if (val.length > 1) {
+					this.$refs.multipleTable.clearSelection();
+					this.$refs.multipleTable.toggleRowSelection(val.pop())
+				}
+				this.tmp = val[0]
+			},
+			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 => {
+							var data = res.data
+							data.forEach((item) => {
+								var checkdate = []
+								checkdate.push(item['createTime'])
+								checkdate.push(item['updateTime'])
+								item['checkdate'] = checkdate // 妫�楠屾棩鏈�
+							})
+							let arr = res.data.filter((val)=>{
+								return val.type === 0;
+							})
+							this.rawMaterialTable = arr
+						})
+					} else if (this.type === 2) {
+						this.commisionVisible = true
+						selectAll({
+							type: 2
+						}).then(res => {
+							var data = res.data
+							data.forEach((item) => {
+								var checkdate = []
+								checkdate.push(item['createTime'])
+								checkdate.push(item['updateTime'])
+								item['checkdate'] = checkdate // 妫�楠屾棩鏈�
+							})
+							this.commisionTable = res.data
+						})
+					}
+				}, 100)
+			},
+			// 鏂板妫�楠�
+			async addInspection() {
+				let obj = {};
+				if (this.type === 0) {
+					obj = {
+						endTime: this.infoForm.checkdate[1],
+						formTime: this.infoForm.formTime,
+						mcode: this.infoForm.mcode,
+						name: this.infoForm.name,
+						num: this.infoForm.num,
+						specifications: this.infoForm.specifications,
+						specificationId: this.infoForm.specificationsId,
+						startTime: this.infoForm.checkdate[0],
+						supplier: this.infoForm.supplier,
+						type: this.type,
+						unit: this.infoForm.unit,
+						version: this.version
+					}
+				}
+				if (this.type === 2) {
+					obj = {
+						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,
+						specificationId:this.commisionSelection.specificationsId,
+						startTime: this.commisionSelection.checkdate[0],
+						supplier: this.commisionSelection.supplier,
+						type: this.type,
+						unit: this.commisionSelection.unit,
+						version: this.version
+					}
+				}
+				if (this.type === 1) {
+					obj = {
+						endTime: this.finishedTable.checkdate[1],
+						mcode: this.finishedTable.code,
+						name: this.tmp.name,
+						num: parseInt(this.finishedTable.amount),
+						specifications: this.speName,
+						specificationId: this.finishedTable.modelandspecification[2],
+						startTime: this.finishedTable.checkdate[0],
+						type: this.type,
+						unit: this.finishedTable.unit,
+						version: this.version
+					}
+				}
+				addInspect(obj).then(res => {
+					this.$message({
+						message: '娣诲姞鎴愬姛锛�',
+						type: 'success'
+					});
+					this.type = 1
+					this.checkTypeVisible = false
+					this.$router.push(`Viewdetails/${res.data}`)
+				}).catch(error=>{
+					this.$message.error(error.message);
+				})
+			},
+			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+			handleSizeChange(val) {
+				// this.currentPage = 1
+				this.pageSize = val
+				this.selectInspectsList()
+			},
+			// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+			handleCurrentChange(val) {
+				this.currentPage = val
+				this.selectInspectsList()
+			},
+			// 	//琛ㄥ崟鏍¢獙
+			// validateForm(infoForm){
+			// 	console.log(this.infoForm);
+
+			// 	if (infoForm.checkdate == undefined) {
+			//   		alert('璇疯緭鍏ユ楠屾椂闂�');
+			// 		return false;
+			// 	}
+			// 	// 鏍¢獙閫氳繃
+			// 	return true;
+			// },
+			//纭畾璺宠浆
+			QUEding() {
+				console.log(this.infoForm);
+				if (this.type==0 &&(this.infoForm.checkdate[0] == undefined || this.infoForm.checkdate[1] == undefined)) {
+					this.$message({
+						message: '璇烽�夋嫨妫�楠屾椂闂�',
+						type: 'warning'
+					});
+					return;
+				}
+				this.Standardframe = true
+				this.skipshow()
+				this.chooseVer()
+			},
+			//鏂板鐨勬暟鎹�
+			skipshow() {
+				const data = this.inspectionTable.at(-1)
+				this.listdata = data
+			},
+			//纰哄畾瑭虫儏闋�
+			async GOfrom() {
+				this.addInspection()
+			},
+			delInspect(row){
+				this.$confirm('鎮ㄧ‘璁ゅ垹闄よ繖鏉℃暟鎹悧?', '鎻愮ず', {
+					confirmButtonText: '纭畾',
+					cancelButtonText: '鍙栨秷',
+					type: 'warning'
+				}).then(() => {
+					delInspect({
+						id: row.id
+					}).then(()=>{
+						this.$message.success('宸蹭綔搴�')
+						this.selectInspectsList()
+					})
+				}).catch(() => {});
+			}
+		}
+	}
+</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: 40px 50px !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: 20px 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;
+		margin-left: -15px;
+		margin-right: -15px;
+		margin-top: 50px;
+		display: flex;
+		flex-direction: column;
+
+		.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;
+
+				.tag {
+					width: 80px;
+				}
+			}
+
+			>div:nth-child(2) {
+				display: flex;
+				justify-content: end;
+				margin: 20px 0;
+				margin-top: 30px;
+			}
+		}
+	}
+
+	.checkTypeForm {
+		margin-top: 30px;
+		margin-left: 50px;
+
+		.el-row {
+			margin-bottom: 10px;
+		}
+	}
+
+	.pagination {
+		display: flex;
+		justify-content: end;
+	}
+
+	.dialog-footer {
+		display: flex;
+		margin-top: 20px;
+		justify-content: end;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3