From 3757cdb07c84ab2eac4bdb41a7d98b46d38fdf48 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 30 八月 2023 18:06:30 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before

---
 src/views/inspectionManagement/reportForInspection/index.vue | 1000 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 594 insertions(+), 406 deletions(-)

diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index b6a1fdb..09a6b65 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -1,416 +1,604 @@
 <template>
-	<div class="content-main">
-		<div class="rawPage" v-if="!showNewPage">
-			<div class="top-bar">
-				<el-form ref="form" :inline="true" :model="searchData">
-					<el-form-item label="鏉愭枡缂栫爜:" position="left" class="sermargin">
-						<el-input v-model="searchData.code" class="input-form" placeholder="璇疯緭鍏�">
-						</el-input>
-					</el-form-item>
-					<el-form-item label="鏉愭枡鍚嶇О:" class="sermargin">
-						<el-input v-model="searchData.name" class="input-form" placeholder="璇疯緭鍏�">
-						</el-input>
-					</el-form-item>
-					<el-form-item label="鐘舵��:" class="sermargin">
-						<el-select v-model="searchData.state" placeholder="鍏ㄩ儴">
-							<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
-							</el-option>
-						</el-select>
-					</el-form-item>
-					<el-form-item label="鏉ユ枡鏃ユ湡:" style="margin-right: 20px;">
-						<el-input v-model="searchData.date" class="input-form" placeholder="璇疯緭鍏�">
-						</el-input>
-					</el-form-item>
-					<el-form-item>
-						<el-button type="primary" @click="search">鏌ヨ</el-button>
-						<el-button type="primary" plain @click="reset">閲嶇疆</el-button>
-						<el-button type="primary" icon="el-icon-plus" @click="addReportVisible = true">鏂板</el-button>
-					</el-form-item>
-				</el-form>
-			</div>
-			<el-dialog title="鏂板鍘熸潗鏂欐姤妫�" :visible.sync="addReportVisible" width="40%">
-				<el-form v-model="insertData" label-position="left" label-width="80px">
-					<el-form-item label="鏍囧噯绫诲瀷">
-						<el-input v-model="insertData.materialName" />
-					</el-form-item>
-					<el-form-item label="鐗╂枡鍚嶇О">
-						<el-input v-model="insertData.materialName" />
-					</el-form-item>
-					<el-form-item label="鎵ц鏍囧噯">
-						<el-input v-model="insertData.standardName" />
-					</el-form-item>
-					<el-form-item label="瑙勬牸鍨嬪彿">
-						<el-input v-model="insertData.specificationsName" />
-					</el-form-item>
-				</el-form>
-				<span slot="footer" class="dialog-footer">
-					<el-button @click="addReportVisible = false">鍙� 娑�</el-button>
-					<el-button type="primary" @click="insert()">纭� 瀹�</el-button>
-				</span>
-			</el-dialog>
-			<div class="library-table">
-				<div class="table-header">
-					<div class="search-bar">
-						<el-radio-group v-model="radioValue" @change="radioclick">
-							<el-radio-button v-for="option in radioOptions" :key="option.value"
-								:label="option.value">{{ option.label }}</el-radio-button>
-						</el-radio-group>
-					</div>
-					<div class="generateInsp">
-						<el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document"
-							style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button>
-					</div>
+    <div class="content-main">
+      <div class="rawPage" v-if="!showNewPage">
+        <div class="top-bar">
+            <el-form ref="form" :inline="true" :model="searchData">
+            <el-form-item label="鏉愭枡缂栫爜:" position="left" class="sermargin">
+              <el-input
+                v-model="searchData.code"
+                class="input-form"
+                placeholder="璇疯緭鍏�"
+              >
+              </el-input>
+            </el-form-item>
+            <el-form-item label="鏉愭枡鍚嶇О:" class="sermargin">
+              <el-input
+                v-model="searchData.name"
+                class="input-form"
+                placeholder="璇疯緭鍏�"
+              >
+              </el-input>
+            </el-form-item>
+            <el-form-item label="鐘舵��:" class="sermargin">
+              <el-select v-model="searchData.state" placeholder="鍏ㄩ儴">
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鏉ユ枡鏃ユ湡:" style="margin-right: 20px;">
+              <el-input
+                v-model="searchData.date"
+                class="input-form"
+                placeholder="璇疯緭鍏�"
+              >
+              </el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="search">鏌ヨ</el-button>
+              <el-button type="primary" plain @click="reset">閲嶇疆</el-button>
+              <el-button type="primary" icon="el-icon-plus" @click="addReportVisible = true">鏂板</el-button>
+            </el-form-item>
+            </el-form>
+        </div>
+        <el-dialog
+          title="鏂板鍘熸潗鏂欐姤妫�"
+          :visible.sync="addReportVisible"
+          width="40%">
+          <el-form v-model="insertData" :inline="true" label-position="right" label-width="80px">
+            <el-form-item label="鏉ユ枡鏃ユ湡:">
+              <el-date-picker
+                v-model="insertData.fromDate"
+                type="date"
+                value-format="yyyy-MM-dd"
+              ></el-date-picker>
+            </el-form-item>
+            <el-form-item label="渚涜揣鍟嗗悕绉�:">
+              <el-input v-model="insertData.supplierName" />
+            </el-form-item>
+            <el-form-item label="鏉愭枡鍚嶇О:">
+              <el-select v-model="insertData.mName" placeholder="璇烽�夋嫨鏉愭枡鍚嶇О">
+                  <el-option v-for="(item,index) in 5" :key="index" :label="item" :value="item"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="鏉愭枡缂栫爜:">
+              <el-input disabled v-model="insertData.mCode" />
+            </el-form-item>
+            <el-form-item label="瑙勬牸鍨嬪彿:">
+              <el-cascader
+                v-model="insertData.specificationsNumber"
+                :options="childrenOptions"
+                @change="handleChange"></el-cascader>
+            </el-form-item>
+            <el-form-item label="鍗曚綅:">
+              <el-input type="text" v-model="insertData.unit" />
+            </el-form-item>
+            <el-form-item label="鏁伴噺:">
+              <el-input type="number" v-model="insertData.num" />
+            </el-form-item>
+          </el-form>
+          <span slot="footer" class="dialog-footer">
+            <el-button @click="addReportVisible = false">鍙� 娑�</el-button>
+            <el-button type="primary" @click="insert()">纭� 瀹�</el-button>
+          </span>
+        </el-dialog>
+        <div class="library-table">
+          <div class="table-header">
+            <div class="search-bar">
+              <el-radio-group v-model="radioValue" @change="radioclick">
+                <el-radio-button v-for="option in radioOptions" :key="option.value" :label="option.value">{{ option.label }}</el-radio-button>
+              </el-radio-group>
+            </div>
+            <div class="generateInsp">
+              <el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">鐢熸垚鎶ユ鍗�</el-button>
+            </div>
+          </div>
+          <div class="table-box">
+            <el-table
+              ref="inspectionTable"
+              :max-height="800"
+              :cell-style="{textAlign: 'center'}"
+              :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
+              :data="inspectionTable"
+              style="width: 100%"
+              @selection-change="handleSelectionChange"
+            >
+              <el-table-column
+                type="selection"
+                :selectable="checkSelect"
+                min-width="5%">
+              </el-table-column> 
+              <el-table-column
+                type="index"
+                label="搴忓彿"
+                min-width="8%"
+              />
+              <el-table-column
+                prop="createTime"
+                label="鏉ユ枡鏃ユ湡"
+                min-width="8%"
+              />
+              <el-table-column
+                prop="supplierName"
+                label="渚涘簲鍟嗗悕绉�"
+                min-width="12%"
+              />
+              <el-table-column
+                prop="materialCoding"
+                label="鏉愭枡缂栫爜"
+                min-width="8%"
+              />
+              <el-table-column
+                prop="materialName"
+                label="鏉愭枡鍚嶇О"
+                min-width="8%"
+              />
+              <el-table-column
+                prop="specificationsModels"
+                label="瑙勬牸鍨嬪彿"
+                min-width="12%"
+              />
+              <el-table-column
+                prop="unit"
+                label="鍗曚綅"
+                min-width="5%"
+              />
+              <el-table-column
+                prop="quantity"
+                label="鏁伴噺"
+                min-width="5%"
+              />
+              <el-table-column
+                prop="inspectionDate"
+                label="鎶ユ鏃ユ湡"
+                min-width="8%"
+              />
+              <el-table-column
+                prop="surveyor"
+                label="妫�楠屼汉"
+                min-width="8%"
+              />
+              <el-table-column
+                prop="dateSurvey"
+                label="妫�楠屾棩鏈�"
+                min-width="8%"
+              />
+              <el-table-column
+                prop="type"
+                label="鐘舵��"
+                min-width="8%"
+              >
+              <template slot-scope="scope">
+                <span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }">
+                  {{ scope.row.type === 1 ? '宸叉姤妫�':'鏈姤妫�' }}
+                </span>
+              </template>
+              </el-table-column>
+              <el-table-column
+                label="鎿嶄綔"
+                min-width="8%">
+                <template slot-scope="scope">
+                  <el-button type="text" size="small" @click="removeFun(scope.row,scope.$index)">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <!-- 鍒嗛〉鍣� -->
+            <div>
+              <el-pagination
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+                :current-page="currentPage"
+                :page-sizes="[5, 10, 15, 20]"
+                :page-size="pageSize"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="total">
+              </el-pagination>
+            </div>
+          </div>
+        </div>
+      </div>
+      <el-dialog title="閫夋嫨鏃ユ湡" :visible.sync="addReportDialog" width="30%">
+        <el-form :model="addInspectionForm" :rules="addInspectionFormRules" rule="addInspectionForm">
+          <el-form-item label="妫�楠屾棩鏈�" label-width="100px" prop="inspectionDate">
+            <el-date-picker
+              v-model="addInspectionForm.inspectionDate"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              range-separator="鑷�"
+              start-placeholder="寮�濮嬫棩鏈�"
+              end-placeholder="缁撴潫鏃ユ湡">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="鐗堟湰" label-width="100px" prop="version">
+            <el-select v-model="addInspectionForm.version" placeholder="璇烽�夋嫨鐗堟湰">
+              <el-option v-for="(item,index) in 5" :key="index" :value="item" :label="item"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="resetForm('addInspectionForm')">鍙� 娑�</el-button>
+          <el-button type="primary" @click="confirmBtn('addInspectionForm')">纭� 瀹�</el-button>
+        </div>
+      </el-dialog>
 
-				</div>
-				<div class="table-box">
-					<el-table ref="inspectionTable" :max-height="800" :cell-style="{textAlign: 'center'}"
-						:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
-						:data="inspectionTable" style="width: 100%" @selection-change="handleSelectionChange">
-						<el-table-column type="selection" :selectable="checkSelect" min-width="5%">
-						</el-table-column>
-						<el-table-column type="index" label="搴忓彿" min-width="8%" />
-						<el-table-column prop="createTime" label="鏉ユ枡鏃ユ湡" min-width="8%" />
-						<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" min-width="12%" />
-						<el-table-column prop="materialCoding" label="鏉愭枡缂栫爜" min-width="8%" />
-						<el-table-column prop="materialName" label="鏉愭枡鍚嶇О" min-width="8%" />
-						<el-table-column prop="specificationsModels" label="瑙勬牸鍨嬪彿" min-width="12%" />
-						<el-table-column prop="unit" label="鍗曚綅" min-width="5%" />
-						<el-table-column prop="quantity" label="鏁伴噺" min-width="5%" />
-						<el-table-column prop="inspectionDate" label="鎶ユ鏃ユ湡" min-width="8%" />
-						<el-table-column prop="surveyor" label="妫�楠屼汉" min-width="8%" />
-						<el-table-column prop="dateSurvey" label="妫�楠屾棩鏈�" min-width="8%" />
-						<el-table-column prop="type" label="鐘舵��" min-width="8%">
-							<template slot-scope="scope">
-								<span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }">
-									{{ scope.row.type === 1 ? '宸叉姤妫�':'鏈姤妫�' }}
-								</span>
-							</template>
-						</el-table-column>
-						<el-table-column label="鎿嶄綔" min-width="8%">
-							<template slot-scope="scope">
-								<el-button type="text" size="small" @click="removeFun(scope.row)">鍒犻櫎</el-button>
-							</template>
-						</el-table-column>
-					</el-table>
-					<!-- 鍒嗛〉鍣� -->
-					<div>
-						<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
-							:current-page="currentPage" :page-sizes="[5, 10, 15, 20]" :page-size="pageSize"
-							layout="total, sizes, prev, pager, next, jumper" :total="total">
-						</el-pagination>
-					</div>
-				</div>
-			</div>
-		</div>
-
-		<!-- 鐢熸垚鎶ユ鍗� -->
-		<div class="newPage" v-if="showNewPage">
-			<!-- 鏂板椤甸潰 -->
-			<div class="inspectionForm">
-				<el-form :model="inspectionForm" ref="inspectionForm" label-position="right" label-width="100px" size="mini">
-					<div class="formwrapper">
-						<el-row>
-							<el-col :span="8">
-								<el-form-item label="鏉ユ枡鏃ユ湡锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.formTime" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="渚涘簲鍟嗗悕绉帮細">
-									<el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鏍峰搧缂栧彿锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.code" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-						</el-row>
-						<el-row>
-							<el-col :span="8">
-								<el-form-item label="鏍峰搧鍚嶇О锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.name" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="瑙勬牸鍨嬪彿锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.specifications" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鍗曚綅锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.unit" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-						</el-row>
-						<el-row>
-							<el-col :span="8">
-								<el-form-item label="鏁伴噺锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.num" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鎶ユ鏃ユ湡锛�">
-									<el-input style="width: 180px;" :value="inspectionForm.endTime" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-							<el-col :span="8">
-								<el-form-item label="鎶ユ浜猴細">
-									<el-input style="width: 180px;" :value="inspectionForm.userName" disabled autocomplete="off" />
-								</el-form-item>
-							</el-col>
-						</el-row>
-					</div>
-				</el-form>
-			</div>
-			<div class="inspectionProject">
-				<div class="header">
-					<span style="font-size: 14px">妫�楠岄」鐩�</span>
-					<div>
-						<!-- <el-button  type="primary" plain size="mini">淇濆瓨</el-button> -->
-						<el-button @click="showNewPage = false" type="primary" plain size="mini" icon="el-icon-back">杩斿洖</el-button>
-					</div>
-				</div>
-				<el-table :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="inspectionItems">
-					<el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
-					<el-table-column prop="name" label="椤圭洰" width="250"></el-table-column>
-					<el-table-column prop="unit" label="鍗曚綅" width="125"></el-table-column>
-					<el-table-column prop="required" label="鏍囧噯鍊�" width="125"></el-table-column>
-					<el-table-column prop="internal" label="鍐呮祴鍊�" width="125"></el-table-column>
-					<el-table-column prop="testValue" label="妫�楠屽��" width="125"></el-table-column>
-					<el-table-column prop="userName" label="妫�楠屼汉">
-						<template slot-scope="scope">
-							<el-select v-model="scope.row.checker" size="small" slot="append" style="width: 260px;">
-								<el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.value"
-									:label="item.label">{{ item.label }}</el-option>
-							</el-select>
-						</template>
-					</el-table-column>
-					<el-table-column prop="device" label="璇曢獙璁惧">
-						<template slot-scope="scope">
-							<el-select v-model="scope.row.device" size="small" slot="append" style="width: 260px;">
-								<el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.value"
-									:label="item.label">{{ item.label }}</el-option>
-							</el-select>
-						</template>
-					</el-table-column>
-				</el-table>
-			</div>
-		</div>
-	</div>
+    <!-- 鐢熸垚鎶ユ鍗� -->
+      <div class="newPage" v-if="showNewPage">
+        <!-- 鏂板椤甸潰 -->
+        <div class="inspectionForm">
+          <el-form :model="inspectionForm" label-position="right" label-width="100px" size="mini" >
+            <div class="formwrapper">
+              <el-row>
+                <el-col  :span="8">
+                  <el-form-item label="鏉ユ枡鏃ユ湡锛�">
+                    <el-input  style="width: 180px;" :value="inspectionForm.formTime" disabled autocomplete="off" />  
+                  </el-form-item>
+                </el-col>
+                <el-col  :span="8">
+                  <el-form-item label="渚涘簲鍟嗗悕绉帮細">
+                    <el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" />                  </el-form-item>
+                </el-col>
+                <el-col  :span="8">
+                  <el-form-item label="鏍峰搧缂栧彿锛�">
+                    <el-input style="width: 180px;" :value="inspectionForm.code" disabled autocomplete="off" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row >
+                <el-col  :span="8">
+                  <el-form-item label="鏍峰搧鍚嶇О锛�" >
+                    <el-input style="width: 180px;" :value="inspectionForm.name" disabled autocomplete="off" />
+                  </el-form-item>
+                </el-col>
+                <el-col  :span="8">
+                  <el-form-item label="瑙勬牸鍨嬪彿锛�">
+                    <el-input style="width: 180px;" :value="inspectionForm.specifications" disabled autocomplete="off" />                       
+                  </el-form-item>
+                </el-col>
+                <el-col  :span="8">
+                  <el-form-item label="鍗曚綅锛�">
+                    <el-input style="width: 180px;" :value="inspectionForm.unit" disabled autocomplete="off" />
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row >
+                <el-col  :span="8">
+                  <el-form-item label="鏁伴噺锛�" >
+                    <el-input style="width: 180px;" :value="inspectionForm.num" disabled autocomplete="off" />                       
+                  </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="鎶ユ鏃ユ湡锛�" >
+                      <el-input style="width: 180px;" :value="inspectionForm.endTime" disabled autocomplete="off" />                       
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="鎶ユ浜猴細">
+                        <el-input style="width: 180px;" :value="inspectionForm.userName" disabled autocomplete="off" />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+            </div>
+            </el-form>
+        </div>
+        <div class="inspectionProject">
+          <div class="header">
+            <span style="font-size: 14px">妫�楠岄」鐩�</span>
+            <div>
+            <!-- <el-button  type="primary" plain size="mini">淇濆瓨</el-button> -->
+            <el-button @click="showNewPage = false" type="primary" plain size="mini" icon="el-icon-back">杩斿洖</el-button>
+          </div>
+          </div>
+            <el-table
+              :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="inspectionItems">
+            <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
+            <el-table-column prop="name" label="椤圭洰" width="250"></el-table-column>
+            <el-table-column prop="unit" label="鍗曚綅" width="125"></el-table-column>
+            <el-table-column prop="required" label="鏍囧噯鍊�" width="125"></el-table-column>
+            <el-table-column prop="internal" label="鍐呮祴鍊�" width="125"></el-table-column>
+            <el-table-column prop="testValue" label="妫�楠屽��" width="125"></el-table-column>
+            <el-table-column prop="userName" label="妫�楠屼汉">
+              <template slot-scope="scope">
+                <el-select @blur="blurOptions(scope.row)" v-model="scope.row.check" size="small" slot="append" style="width: 260px;">
+                    <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.id" :label="item.name"></el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column prop="device" label="璇曢獙璁惧">
+              <template slot-scope="scope">
+                <el-select @blur="blurOptions(scope.row)" v-model="scope.row.device" size="small" slot="append" style="width: 260px;">
+                    <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.id" :label="item.equipmentName"></el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+      </div>
+  </div>
 </template>
 
 <script>
-	import {
-		getRawMaterialList,
-		addInspect,
-		selectInspectsListById
-	} from '@/api/inspection/rawmaterial'
-	export default {
-		data() {
-			return {
-				insertData: {
+import { getRawMaterialList,
+  addInspect,
+  selectInspectsListById,
+  selectUser,
+  selectEquipment,
+  deleteMaterial,
+  addMaterial
+ } from '@/api/inspection/rawmaterial'
+export default {
+  data() {
+    return {
+      userName: "",
+      devices: "",
+      addInspectionForm: {
+        inspectionDate: ['2023-08-01','2023-08-31'],
+        version: 5
+      },
+      addInspectionFormRules: {
+        inspectionDate: [{required: true, message: '璇烽�夋嫨鏃ユ湡鍖洪棿', trigger: 'change' }],
+      },
+      addReportDialog: false,
+      insertData:{},
+      addReportVisible: false,
+      checked: false,
+      resultData : {},
+      checkData:[],
+      form: [],
+      searchData: {
+        code: '',
+        name: '',
+        state: '',
+        date: ''
+      },
+      childrenOptions: [{
+        value: 'zhinan',
+        label: '鎸囧崡',
+        children: [{
+          value: 'shejiyuanze',
+          label: '璁捐鍘熷垯',
+          children: [{
+            value: 'yizhi',
+            label: '涓�鑷�'
+          }, {
+            value: 'fankui',
+            label: '鍙嶉'
+          }, {
+            value: 'xiaolv',
+            label: '鏁堢巼'
+          }, {
+            value: 'kekong',
+            label: '鍙帶'
+          }]
+        }]
+      }],
+      options: [{
+        value: null,
+        label: '鍏ㄩ儴'
+      }, {
+        value: 1,
+        label: '宸叉姤妫�'
+      }, {
+        value: 0,
+        label: '鏈姤妫�'
+      }],
+      deviceoptions:[{
+        value: 0,
+        label: '鎷夊姏鏈�'
+      },{
+        value: 1,
+        label: '鎷栨媺鏈�'
+      }],
+      checkeroptions:[{
+        value: 0,
+        label: '榛勫皬鏄�'
+      },{
+        value: 1,
+        label: '寮犱笁'
+      }],
+      radioOptions:[{
+        label: '鍏ㄩ儴',
+        value: null
+      },{
+        value: 1,
+        label: '宸叉姤妫�'
+      },{
+        value: 0,
+        label: '鏈姤妫�'
+      }],
+      radioValue: null,
+      inspectionTable: [{
+        createTime: '2023-07-28',
+        supplier_name: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
+        materialCoding: 'BP214274',
+        materialName: '閾濆寘閽㈢粸绾�',
+        specificationsModels: 'JLHA/G1A-185/30-26/7',
+        unit: '鍚�',
+        quantity: 21,
+        dateSurvey: '2023-08-02',
+        surveyor: '榛勫皬鏄�',
+        inspectionDate: '2023-12-09',
+        condition: 1
+      }],
+      currentPage: 1,
+      pageSize: 5,
+      total:20,
+      data: '',
+      showNewPage: false,
+      inspectionForm:{},
+      inspectionItems:[{
+        index: 1,
+        name: "aaa",
+        unit: "KB",
+        required: "1",
+        internal: "2",
+        testValue: "3",
+        userName:"",
+        device: ""
+      }]
+    }
+  },
+  created(){
+    this.getRawMaterialList()
+  },
+  mounted(){
+   
+  },
+  methods: {
+    handleChange(){
 
-				},
-				addReportVisible: false,
-				checked: false,
-				resultData: {},
-				checkData: [],
-				form: [],
-				searchData: {
-					code: '',
-					name: '',
-					state: '',
-					date: ''
-				},
-				options: [{
-					value: 0,
-					label: '鍏ㄩ儴'
-				}, {
-					value: 1,
-					label: '宸叉楠�'
-				}, {
-					value: 2,
-					label: '寰呮楠�'
-				}],
-				deviceoptions: [{
-					value: 0,
-					label: '鎷夊姏鏈�'
-				}, {
-					value: 1,
-					label: '鎷栨媺鏈�'
-				}],
-				checkeroptions: [{
-					value: 0,
-					label: '榛勫皬鏄�'
-				}, {
-					value: 1,
-					label: '寮犱笁'
-				}],
-				radioOptions: [{
-					label: '鍏ㄩ儴',
-					value: 0
-				}, {
-					value: 1,
-					label: '宸叉楠�'
-				}, {
-					value: 2,
-					label: '寰呮楠�'
-				}],
-				radioValue: 0,
-				inspectionTable: [{
-					createTime: '2023-07-28',
-					supplier_name: '鍥界綉灞变笢鐪佺數鍔涙湁闄愬叕鍙�',
-					materialCoding: 'BP214274',
-					materialName: '閾濆寘閽㈢粸绾�',
-					specificationsModels: 'JLHA/G1A-185/30-26/7',
-					unit: '鍚�',
-					quantity: 21,
-					dateSurvey: '2023-08-02',
-					surveyor: '榛勫皬鏄�',
-					inspectionDate: '2023-12-09',
-					condition: 1
-				}],
-				currentPage: 1,
-				pageSize: 5,
-				total: 20,
-				data: '',
-				showNewPage: false,
-				inspectionForm: {},
-				inspectionItems: []
-			}
-		},
-		created() {
-			this.getRawMaterialList()
-		},
-		methods: {
-			removeFun(row) {
-				this.$confirm('纭鍒犻櫎璇ユ暟鎹悧?', '鎻愮ず', {
-					confirmButtonText: '纭畾',
-					cancelButtonText: '鍙栨秷',
-					type: 'warning'
-				}).then(() => {
-					this.$message({
-						type: 'success',
-						message: '鍒犻櫎鎴愬姛!'
-					});
-				}).catch(() => {});
-			},
-			checkSelect(row, index) {
-				if (row.type === 1) {
-					return false;
-				} else {
-					return true;
-				}
-			},
-			handleSelectionChange(val) {
-				this.checkData = val;
-			},
-			//鐢熸垚鎶ユ鍗曟寜閽�
-			addReportBtn() {
-				let arr = this.checkData;
-				if (arr.length < 1) {
-					this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�!");
-				} else {
-					if (arr.length > 1) {
-						this.$message.error("鏈�澶氶�夋嫨涓�鏉℃暟鎹�!");
-					} else {
-						//娣诲姞鎶ユ鍗�
-						let val = arr[0];
-						let obj = {
-							"endTime": val.dateSurvey,
-							"experiment": "",
-							"formTime": val.createTime,
-							"id": val.id,
-							"mcode": val.materialCoding,
-							"name": val.materialName,
-							"num": val.quantity,
-							"specifications": val.specificationsModels,
-							"startTime": val.inspectionDate,
-							"supplier": val.supplierName,
-							"type": val.type,
-							"unit": val.unit,
-							"version": val.version
-						}
-						this.createReport(obj);
-						this.showNewPage = true;
-					}
-				}
-			},
-			//鐢熸垚鎶ヤ环鍗�
-			async createReport(param) {
-				await addInspect(param);
-				const res2 = await selectInspectsListById({
-					id: 59
-				});
-				this.resultData = res2.data;
-				this.inspectionForm = res2.data;
-				this.inspectionItems = res2.data.insProducts;
+    },
+    async deleteMaterialFun(row,index){
+      let formData=new FormData();
+      formData.append("deleteId",row.id)
+      await deleteMaterial(formData).then(() => {
+        this.inspectionTable.splice(index,1);
+        this.$message.success("鍒犻櫎鎴愬姛");
+      }).catch(error => {
+        this.$message.error(error.message);
+      });
+    },
+    blurOptions(row){
+        console.log("鏇存柊",row);
+    },
+    async initNewSelection(){
+        const res = await selectUser();
+        const res2 = await selectEquipment();
+        this.checkeroptions = res.data;
+        this.deviceoptions = res2.data;
+    },
+    resetForm(formName) {
+        // this.addInspectionForm.inspectionDate = [],
+        // this.$refs[formName].resetFields();
+        // this.addReportDialog = false
+    },
+    removeFun(row,index){
+      this.$confirm('纭鍒犻櫎璇ユ暟鎹悧?', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        }).then(() => {
+          console.log(row.id);
+          this.deleteMaterialFun(row,index);
+        }).catch(() => {});
+    },
+    checkSelect(row,index){
+      if(row.type === 1){
+        return false;
+      }else{
+        return true;
+      }
+    },
+    handleSelectionChange(val){
+      this.checkData = val;
+    },
+    //鐢熸垚鎶ユ鍗曟寜閽�
+    addReportBtn(){
+        if(this.checkData.length < 1){
+          this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+        }else{
+          if(this.checkData.length > 1){
+            this.$message.error("鏈�澶氶�夋嫨涓�鏉℃暟鎹�!");
+          }else{
+            this.addReportDialog = true;
+          }
+      }
+    },
+    //鐢熸垚鎶ユ鍗曠‘璁ゆ寜閽�
+    confirmBtn(formName){
+          let dateArr = this.addInspectionForm.inspectionDate;
+          //娣诲姞鎶ユ鍗�
+          let val = this.checkData[0];
+          let obj = {
+            "endTime": dateArr[1],
+            "experiment": "",
+            "formTime": val.createTime,
+            "id": val.id,
+            "mcode": val.materialCoding,
+            "name": val.materialName,
+            "num": val.quantity,
+            "specifications": val.specificationsModels,
+            "startTime": dateArr[0],
+            "supplier": val.supplierName,
+            "type": val.type,
+            "unit": val.unit,
+            "version": val.version
+          }
+          // this.createReport(obj);
+          this.addReportDialog = false;
+          this.initNewSelection();
+          this.showNewPage = true;
+    },
+    //鐢熸垚鎶ヤ环鍗�
+    async createReport(param){
+      let res = await addInspect(param);
+      const res2 = await selectInspectsListById({ id : res.data});
+      this.resultData = res2.data;
+      this.inspectionForm = res2.data;
+      this.inspectionItems = res2.data.insProducts;
 
-			},
-			// 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁
-			async getRawMaterialList() {
-				const res = await getRawMaterialList({
-					pageNo: this.currentPage,
-					pageSize: this.pageSize
-				})
-				this.inspectionTable = res.data.row
-				this.data = res.data.row
-				this.total = res.data.total
-			},
-			async search() {
-				this.radioValue = this.searchData.state
-				const res = await getRawMaterialList({
-					condition: this.searchData.state,
-					createTime: this.searchData.date,
-					materialCoding: this.searchData.code,
-					materialName: this.searchData.name,
-					pageNo: this.currentPage,
-					pageSize: this.pageSize
-				})
-				this.inspectionTable = res.data.row
-				this.data = res.data.row
-				this.total = res.data.total
-			},
-			reset() {
-				this.searchData = {
-					code: '',
-					name: '',
-					state: '',
-					date: ''
-				}
-				this.getRawMaterialList()
-			},
-			radioclick() {
-				this.searchData.state = this.radioValue
-				this.inspectionTable = this.data.filter((item) => {
-					return item.condition === this.radioValue
-				})
-				if (this.radioValue === 0) {
-					this.inspectionTable = this.data
-				}
-				this.total = this.inspectionTable.length
-			},
-			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
-			handleSizeChange(val) {
-				this.pageSize = val
-				this.getRawMaterialList({
-					pageNo: this.currentPage,
-					pageSize: this.pageSize
-				})
-			},
-			// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
-			handleCurrentChange(val) {
-				this.currentPage = val
-				this.getRawMaterialList({
-					pageNo: this.currentPage,
-					pageSize: this.pageSize
-				})
-			}
-		}
-	}
+    },
+    // 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁
+    async getRawMaterialList(){
+      const res = await getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
+      this.inspectionTable = res.data.row
+      this.data = res.data.row
+      this.total = res.data.total
+    },
+    async search(){
+      this.radioValue = this.searchData.state
+      const res = await getRawMaterialList({type: this.searchData.state,
+        createTime:this.searchData.date,
+        materialCoding:this.searchData.code,
+        materialName: this.searchData.name,
+        pageNo: this.currentPage,
+        pageSize: this.pageSize
+      })
+      this.inspectionTable = res.data.row
+      this.data = res.data.row
+      this.total = res.data.total
+    },
+    reset(){
+      this.searchData = {
+        code: '',
+        name: '',
+        state: '',
+        date: ''
+      }
+      this.getRawMaterialList()
+    },
+    radioclick(){
+      console.log(this.inspectionTable);
+      if(this.radioValue === 0){
+
+      }
+    },
+    getAllTableData(){
+      this.getRawMaterialList()
+    },
+    getCheckData(){
+
+    },
+    getUnCheckData(){
+
+    },
+    // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
+    },
+    // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+    handleCurrentChange(val) {
+      this.currentPage = val
+      this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
+    }
+  }
+}
 </script>
 
 <style scoped lang="scss">

--
Gitblit v1.9.3