From 5fa8dc320c2d2ec68fb0392f7e52cb49874b2bff Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 05 九月 2023 16:47:57 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.65.113:9001/r/lims-before
---
src/views/experiment/inspectionApplication/index.vue | 925 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 922 insertions(+), 3 deletions(-)
diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue
index e3a2d0e..5f63b6c 100644
--- a/src/views/experiment/inspectionApplication/index.vue
+++ b/src/views/experiment/inspectionApplication/index.vue
@@ -1,5 +1,924 @@
<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 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 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-select 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 type="primary" @click="searchInspections">鏌ヨ</el-button>
+ <el-button type="primary" plain @click="reset">閲嶇疆</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-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="danger" disable-transitions
+ v-if="scope.row.inspection_status == 0">涓嶅悎鏍�</el-tag>
+ <el-tag class="tag" effect="dark" type="success" disable-transitions
+ v-else-if="scope.row.inspection_status == 1">鍚堟牸</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==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>
+ <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-date-picker style="width: 300px" 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" :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" :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.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>
+ <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="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>
+ </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="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 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;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="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 {
+ selectInspectsList,
+ selectAll,
+ addInspect,
+ chooseVer,
+ lookProByVer,
+ delInspect
+ } from '@/api/experiment/planAssignments'
+ export default {
+ data() {
+ return {
+ showDetail: false,
+ searchData: {
+ applicationnumber: '',
+ type: '',
+ state: '',
+ },
+ valu: {},
+ inputValue: '',
+ icode: '',
+ inspectionTable: [],
+ rawMaterialTable: [],
+ commisionTable: [],
+ finishedTable: {
+ deliverydate: '',
+ supplier: '',
+ 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: 0, // 榛樿涓嶉�変腑鐨勭姸鎬�
+ rawmaterialVisible: false,
+ commisionVisible: false,
+ tmp: {},
+ Standardframe: false,
+ tableData: [],
+ tableRow: {},
+ BANben: [],
+ version: null,
+ listdata: [],
+ ddd: {}
+ }
+ },
+ watch: {
+ $route: {
+ handler(val, oldval) {},
+ // 娣卞害瑙傚療鐩戝惉
+ deep: true
+ }
+ },
+ created() {
+ this.selectInspectsList()
+ },
+ updated() {
+ if (this.$route.name === 'ForInspectionDetail') this.showDetail = true
+ },
+ methods: {
+ 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.specifications
+ })
+ this.BANben = []
+ res.data.forEach(a => {
+ this.BANben.push('V ' + a)
+ })
+ this.version = 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.version.replace('V ', '')
+ })
+ this.tableData = res.data
+ },
+ getProductVerison(val) {
+ this.version = val
+ this.lookProByVer()
+ },
+ 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 === 1) {
+ 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() {
+ if (this.type === 0) {
+ addInspect({
+ 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,
+ startTime: this.infoForm.checkdate[0],
+ supplier: this.infoForm.supplier,
+ type: this.type,
+ unit: this.infoForm.unit,
+ version: this.version.replace('V ', '')
+ }).then(res => {
+ this.$message({
+ message: '娣诲姞鎴愬姛锛�',
+ type: 'success'
+ });
+ this.$router.push(`Viewdetails/${res.data}`)
+ })
+ }
+ if (this.type === 1) {
+ 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,
+ version: this.version
+ })
+ }
+ if (this.type === 2) {
+ 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,
+ version: this.version
+ })
+ }
+ this.type = 0
+ this.checkTypeVisible = false
+ // this.$message({
+ // message: '娣诲姞鎴愬姛锛�',
+ // type: 'success'
+ // });
+ // this.$router.push({name: 'Viewdetails'})
+ },
+ // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+ 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() {
+ if (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