From 22a0512510da46df94afd7f7733cdf6c6bc38518 Mon Sep 17 00:00:00 2001
From: yuyu <1981343953@qq.com>
Date: 星期三, 30 八月 2023 11:34:03 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before

---
 .env.development                                                     |    2 
 src/api/inspection/commisioninspection.js                            |   19 
 src/views/experiment/inspectionApplication/index.vue                 |    2 
 src/views/inspectionManagement/reportForInspection/index.vue         | 1016 +++++++++++++++---------------
 src/views/laboratory/organizational/index.vue                        |    1 
 src/views/CNAS/satisfactionSurveys/index.vue                         |    4 
 src/views/laboratory/personnel/index.vue                             |  801 ++++++++++-------------
 src/api/inspection/rawmaterial.js                                    |   16 
 src/layout/components/Sidebar/SidebarItem.vue                        |    1 
 src/views/experiment/inspectionApplication/Viewdetails/index.vue     |   20 
 src/views/inspectionManagement/commissionInspection/addCommision.vue |   62 +
 src/views/inspectionManagement/commissionInspection/index.vue        |   23 
 12 files changed, 964 insertions(+), 1,003 deletions(-)

diff --git a/.env.development b/.env.development
index d00c942..ab9be2d 100644
--- a/.env.development
+++ b/.env.development
@@ -2,4 +2,4 @@
 ENV = 'development'
 
 # base api
-VUE_APP_BASE_API =  'http://192.168.110.107:1234/'
+VUE_APP_BASE_API =  'http://localhost:1234/'
diff --git a/src/api/inspection/commisioninspection.js b/src/api/inspection/commisioninspection.js
index 4deddd4..d986bb3 100644
--- a/src/api/inspection/commisioninspection.js
+++ b/src/api/inspection/commisioninspection.js
@@ -25,6 +25,14 @@
   })
 
 }
+//
+export function getContractsSampleInfo(params){
+  return request({
+    url: 'link-basic/getContractsSampleInfo',
+    method: 'get',
+    params
+  })
+}
 //瑙勬牸鍨嬪彿
 export function getModelSpecification(params){
   return request({
@@ -57,7 +65,6 @@
   })
 }
 
-
 export function isIfViewUUID(params){
   return request({
     url: '/link-basic/isIfViewUUID',
@@ -72,4 +79,12 @@
     method: 'get',
 		params
   })
-}
\ No newline at end of file
+}
+
+export function delLink(params){
+  return request({
+    url: '/link-basic-table/delLink',
+    method: 'post',
+		params
+  })
+}
diff --git a/src/api/inspection/rawmaterial.js b/src/api/inspection/rawmaterial.js
index f32b4c3..9b975ce 100644
--- a/src/api/inspection/rawmaterial.js
+++ b/src/api/inspection/rawmaterial.js
@@ -8,3 +8,19 @@
     params
   })
 }
+
+export function addInspect(data){
+  return request({
+    url: '/inspection/addInspect',
+    method: 'post',
+    data
+  })
+}
+
+export function selectInspectsListById(params){
+  return request({
+    url: '/inspection/selectInspectsListById',
+    method: 'get',
+    params
+  })
+}
\ No newline at end of file
diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue
index 3e5922c..cf9ad14 100644
--- a/src/layout/components/Sidebar/SidebarItem.vue
+++ b/src/layout/components/Sidebar/SidebarItem.vue
@@ -2,7 +2,6 @@
   <div v-if="!item.hidden">
     <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
       <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
-
         <el-menu-item v-if="onlyOneChild.meta.show==false ?onlyOneChild.meta.show: true" :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
           <item :show="onlyOneChild.meta.show" :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />
           <span v-if="onlyOneChild.meta.title==='涓婚〉'">涓婚〉</span>
diff --git a/src/views/CNAS/satisfactionSurveys/index.vue b/src/views/CNAS/satisfactionSurveys/index.vue
index 05f49fe..c89b437 100644
--- a/src/views/CNAS/satisfactionSurveys/index.vue
+++ b/src/views/CNAS/satisfactionSurveys/index.vue
@@ -224,7 +224,7 @@
       otherSupplements: "鏃�",
       improvementRequirements: "鏃�",
       dialogVisible2: false,
-      path: 'http://192.168.110.254:1234/cnasSatisfactionSurvey/uploadFile',
+      path: 'http://localhost:1234/cnasSatisfactionSurvey/uploadFile',
       ruleForm: {
         surveyDate: '',
         userUnit: '',
@@ -263,7 +263,7 @@
     }
   },
   created() {
-
+      // this.path=process.env.VUE_APP_BASE_API+"cnasSatisfactionSurvey/uploadFile"
   },
   mounted() {
     this.getData()
diff --git a/src/views/experiment/inspectionApplication/Viewdetails/index.vue b/src/views/experiment/inspectionApplication/Viewdetails/index.vue
index 8e0fb3c..244a2d7 100644
--- a/src/views/experiment/inspectionApplication/Viewdetails/index.vue
+++ b/src/views/experiment/inspectionApplication/Viewdetails/index.vue
@@ -1,7 +1,7 @@
 <template>
 <div> 
     <div style="overflow: hidden;">
-        <el-card style="margin: 10px;" v-model="searchData" >
+        <el-card style="margin: 10px;" >
         <div slot="header" class="clearfix">
             <span>
                 <i slot="prefix" class="el-icon-s-home" />               
@@ -116,7 +116,7 @@
                     <el-table-column prop="userName" label="缁忛獙浜�">
                         <template slot-scope="scope">
                             <el-select v-model="value" size="small" slot="append" style="width: 220px;">
-                            <el-option v-for="item in ZERENren" :key="item.id" :label="item.name"  :value="item.name"></el-option>
+                            <el-option v-for="(item,indxe) in ZERENren" :key="indxe" :label="item.name"  :value="item.name"></el-option>
                             </el-select>
                         </template>
                     </el-table-column>
@@ -125,7 +125,7 @@
                         label="瀹為獙璁惧">
                         <template slot-scope="scope">
                             <el-select v-model="SHEbei" size="small" slot="append" style="width: 220px;">
-                            <el-option v-for="item in getDevices" :key="item.id" :label="item.name"></el-option>
+                            <el-option v-for="(item,index) in getDevices" :key="index" :label="item.name"></el-option>
                             </el-select>
                         </template>
                     </el-table-column>
@@ -141,10 +141,20 @@
 export default {
     data(){
         return {
-            searchData:{ },
+            searchData:{
+                formTime: '',
+                supplier: '',
+                code: '',
+                name: '',
+                specifications: '',
+                unit: '',
+                num: '',
+                endTime: '',
+                userName: '',
+            },
             insProducts:[],
             value:'',
-            SHEbei:'',
+            SHEbei:[],
             aaa:{},
             ZERENren:[],
             // getDevices:[]
diff --git a/src/views/experiment/inspectionApplication/index.vue b/src/views/experiment/inspectionApplication/index.vue
index 78e28ef..94664a1 100644
--- a/src/views/experiment/inspectionApplication/index.vue
+++ b/src/views/experiment/inspectionApplication/index.vue
@@ -517,8 +517,6 @@
 		watch: {
 			$route: {
 				handler(val, oldval) {
-					console.log(val) // 鏂拌矾鐢变俊鎭�
-					console.log(oldval) // 鑰佽矾鐢变俊鎭�
 				},
 				// 娣卞害瑙傚療鐩戝惉
 				deep: true
diff --git a/src/views/inspectionManagement/commissionInspection/addCommision.vue b/src/views/inspectionManagement/commissionInspection/addCommision.vue
index 5874594..cbb7408 100644
--- a/src/views/inspectionManagement/commissionInspection/addCommision.vue
+++ b/src/views/inspectionManagement/commissionInspection/addCommision.vue
@@ -21,13 +21,11 @@
 						:data="detectionInfo" style="width: 100%;margin-bottom: 20px;">
 						<el-table-column type="index" label="搴忓彿" min-width="10%" />
 						<el-table-column prop="sampleNumber" label="鏍峰搧缂栧彿" min-width="8%" />
-
 						<el-table-column prop="sampleName" label="鏍峰搧鍚嶇О" min-width="10%" />
-
 						<el-table-column prop="specificationsModels" label="瑙勬牸鍨嬪彿" min-width="10%" />
 						<el-table-column prop="unit" label="鍗曚綅" min-width="8%" />
 						<el-table-column prop="samplesNumber" label="鏁伴噺" min-width="8%" />
-						<el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%">
+						<!-- <el-table-column prop="addway" label="娣诲姞鏂瑰紡" min-width="8%">
 							<template slot-scope="scope">
 								<div v-if="scope.row.addway === 0">
 									<el-tag type="success" disable-transitions>鎵弿</el-tag>
@@ -37,7 +35,7 @@
 								</div>
 								<div v-else></div>
 							</template>
-						</el-table-column>
+						</el-table-column> -->
 						<el-table-column prop="remarks" label="澶囨敞" min-width="8%" />
 						<el-table-column label="鎿嶄綔" min-width="8%">
 							<template slot-scope="scope">
@@ -102,8 +100,8 @@
 								<el-col :span="5">
 									<el-form-item label="閫佹牱鏂瑰紡锛�">
 										<el-select style="width: 200px;" v-model="infoForm.way" size="small" placeholder="閫佹牱">
-											<el-option v-for="options in sampleDeliveryMode" :key="options.key"
-												:value="options.value">{{ options.value }}</el-option>
+											<el-option v-for="options in sampleDeliveryMode" :key="options.key" :value="options.key"
+												:label="options.value">{{ options.value }}</el-option>
 										</el-select>
 									</el-form-item>
 								</el-col>
@@ -229,7 +227,8 @@
 		getlink,
 		addInspection,
 		isIfViewUUID,
-		getProductList
+		getProductList,
+		getContractsSampleInfo
 	} from '@/api/inspection/commisioninspection'
 	export default {
 		data() {
@@ -274,17 +273,8 @@
 					key: '4',
 					label: '缁濈紭閮ㄥ垎浜ゆ祦鑰愬帇璇曢獙'
 				}],
-				sampleoptions: [{
-					key: '1',
-					value: '閫夐」1'
-				}, {
-					key: '2',
-					value: '閫夐」2'
-				}],
-				samplecodeoptions: [{
-					key: '1',
-					value: ''
-				}],
+				sampleoptions: [],
+				samplecodeoptions: [],
 				model_spe_options: [],
 				model_sta_options: [],
 				model_options: [],
@@ -325,6 +315,7 @@
 			this.viewId = this.$route.params.viewId
 			this.$store.commit('settings/SAVE_LINK', this.viewId)
 			this.getlink(this.$route.params.viewId)
+			this.getContractsSampleInfo(this.$route.params.viewId)
 		},
 		mounted() {
 			this.getSampleName()
@@ -342,8 +333,16 @@
 					if (!res.data) {
 						this.$message.error('褰撳墠閾炬帴涓嶅湪鏈夋晥鏈熷唴,绯荤粺鑷姩鍏抽棴')
 						this.$router.push('/404')
+					} else {
+						this.getContractsSampleInfo()
 					}
 				})
+			},
+			async getContractsSampleInfo(viewId) {
+				let res = await getContractsSampleInfo({
+					viewId
+				})
+				console.log(res.data);
 			},
 			async getSampleName() {
 				const res = await getSampleName()
@@ -373,8 +372,6 @@
 				for (let i = 1; i < this.addPointerForm.experiment.length; i++) {
 					exper += ',' + this.addPointerForm.experiment[i]
 				}
-
-				// console.log(exper)
 				this.addPointerForm.experiment = exper
 				let tmp = this.addPointerForm
 				this.detectionInfo.push(tmp)
@@ -414,7 +411,7 @@
 				this.infoForm.commisioncode = res.data
 				if (res.data) {
 					this.$message({
-						message: '鎭枩浣�!',
+						message: '娣诲姞鎴愬姛!',
 						type: 'success'
 					})
 					this.showDetail = true
@@ -447,6 +444,29 @@
 						return item.name
 					})
 				})
+			},
+			getContractsSampleInfo() {
+				getContractsSampleInfo({
+					viewId: this.viewId
+				}).then(res => {
+					if (res.data == null) return
+					this.infoForm = {
+						commisioncode: res.data.entrustCoding,
+						deadline: res.data.completionDeadline,
+						address: res.data.contactAddress,
+						tel: res.data.contactNumber,
+						contacter: res.data.contacts,
+						other: res.data.entrustRemarks,
+						department: res.data.entrusted,
+						time: res.data.inspectionTime,
+						detectionInfo: res.data.linkDetectionList,
+						num: res.data.reportNumber,
+						way: '' + res.data.sampleDeliveryMode,
+						sendertel: res.data.sampleDeliveryPhone,
+						sender: res.data.sampleSender
+					}
+					this.detectionInfo = res.data.linkDetectionList
+				})
 			}
 		}
 	}
diff --git a/src/views/inspectionManagement/commissionInspection/index.vue b/src/views/inspectionManagement/commissionInspection/index.vue
index 3a9c084..51c08b0 100644
--- a/src/views/inspectionManagement/commissionInspection/index.vue
+++ b/src/views/inspectionManagement/commissionInspection/index.vue
@@ -68,10 +68,10 @@
 							<el-table-column prop="samples_number" label="鏍峰搧鏁伴噺" min-width="8%" />
 							<el-table-column prop="sample_name" label="鏍峰搧鍚嶇О" min-width="8%" />
 							<el-table-column prop="specifications_models" label="瑙勬牸鍨嬪彿" min-width="12%" />
-							<el-table-column prop="dateSurvey" label="閫佹牱鏃堕棿" min-width="8%" />
+							<el-table-column prop="inspectionTime" label="閫佹牱鏃堕棿" min-width="8%" />
 							<el-table-column prop="completionDeadline" label="瀹屾垚鏈熼檺" min-width="8%" />
 							<el-table-column prop="contacts" label="濮旀墭缂栧埗浜�" min-width="8%" />
-							<el-table-column prop="inspectionTime" label="妫�楠屾棩鏈�" min-width="8%" />
+							<el-table-column prop="insTime" 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 === 0">
@@ -133,7 +133,8 @@
 	import {
 		getCommisionList,
 		getViewUUID,
-		selectViewUUID
+		selectViewUUID,
+		delLink
 	} from '@/api/inspection/commisioninspection'
 	export default {
 		data() {
@@ -191,7 +192,6 @@
 		},
 		updated() {
 			if (this.$router.currentRoute.name === 'AddCommision') {
-				// console.log(this.$router.currentRoute.name)
 				this.showDetail = true
 			}
 		},
@@ -203,7 +203,6 @@
 				})
 				this.commisionTable = res.data.row
 				this.total = res.data.total
-				// console.log(res)
 				// 鑾峰彇鎵�鏈夌殑濮旀墭鍗曚綅鍚嶇О
 				const allDepartmentNames = [...new Set(this.commisionTable.map(item => item.entrusted))]
 				// 灏哸llDepartmentNames杞崲涓簅ptions闇�瑕佺殑鏍煎紡
@@ -235,7 +234,6 @@
 						inspectionStatus: this.radioValue
 					})
 				}
-				// console.log(res)
 				this.commisionTable = res.data.row
 				this.total = res.data.total
 			},
@@ -252,7 +250,6 @@
 			},
 			async radioclick() {
 				// 澶勭悊鐐瑰嚮radio鐨勬椂闂�
-				console.log('radioValue', this.radioValue)
 				if (this.radioValue === 0) {
 					this.getCommisionList()
 				} else {
@@ -261,7 +258,6 @@
 						pageSize: this.pageSize,
 						inspectionStatus: this.radioValue
 					})
-					// console.log(res)
 					this.commisionTable = res.data.row
 					this.total = res.data.total
 				}
@@ -269,7 +265,6 @@
 			},
 			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
 			async handleSizeChange(val) {
-				// console.log(`姣忛〉 ${val} 鏉)
 				this.currentPage = 1
 				this.pageSize = val
 				if (this.radioValue === 0) {
@@ -286,7 +281,6 @@
 			},
 			// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
 			async handleCurrentChange(val) {
-				// console.log(`褰撳墠椤�: ${val}`)
 				this.currentPage = val
 				if (this.radioValue === 0) {
 					this.getCommisionList()
@@ -329,13 +323,18 @@
 				}
 			},
 			handleClick(row){
-				console.log(row);
+				delLink({
+					id: row.id
+				}).then(res=>{
+					this.$message.success('鍒犻櫎鎴愬姛')
+					this.getCommisionList()
+				})
 			}
 		}
 	}
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 	.top-bar {
 		margin: -25px -15px;
 		background: #fff;
diff --git a/src/views/inspectionManagement/reportForInspection/index.vue b/src/views/inspectionManagement/reportForInspection/index.vue
index 2526f59..b6a1fdb 100644
--- a/src/views/inspectionManagement/reportForInspection/index.vue
+++ b/src/views/inspectionManagement/reportForInspection/index.vue
@@ -1,525 +1,513 @@
 <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-form-item>
-            </el-form>
-        </div>
-        <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="showNewPage = true" 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%"
-            >
-              <el-table-column
-                type="selection"
-                min-width="10%"
-              /> 
-              <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>
-            <!-- 鍒嗛〉鍣� -->
-            <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="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="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.createTime" disabled autocomplete="off" />  
-                  </el-form-item>
-                </el-col>
-                <el-col  :span="8">
-                  <el-form-item label="渚涘簲鍟嗗悕绉帮細">
-                    <el-input style="width: 180px;" :value="inspectionForm.supplier_name" disabled autocomplete="off" />                  </el-form-item>
-                </el-col>
-                <el-col  :span="8">
-                  <el-form-item label="鏍峰搧缂栧彿锛�">
-                    <el-input style="width: 180px;" :value="inspectionForm.materialCoding" 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.materialName" disabled autocomplete="off" />
-                  </el-form-item>
-                </el-col>
-                <el-col  :span="8">
-                  <el-form-item label="瑙勬牸鍨嬪彿锛�">
-                    <el-input style="width: 180px;" :value="inspectionForm.specificationsModels" 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.quantity" disabled autocomplete="off" />                       
-                  </el-form-item>
-                  </el-col>
-                  <el-col :span="8">
-                    <el-form-item label="鎶ユ鏃ユ湡锛�" >
-                      <el-input style="width: 180px;" :value="inspectionForm.dateSurvey" disabled autocomplete="off" />                       
-                    </el-form-item>
-                  </el-col>
-                  <el-col :span="8">
-                    <el-form-item label="鎶ユ浜猴細">
-                        <el-input style="width: 180px;" :value="inspectionForm.surveyor" 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="project" label="椤圭洰" width="250"></el-table-column>
-            <el-table-column prop="unit" label="鍗曚綅" width="125"></el-table-column>
-            <el-table-column prop="standardVal" label="鏍囧噯鍊�" width="125"></el-table-column>
-            <el-table-column prop="controlVal" label="鍐呮祴鍊�" width="125"></el-table-column>
-            <el-table-column prop="detectionVal" label="妫�楠屽��" width="125"></el-table-column>
-            <el-table-column prop="checker" label="妫�楠屼汉">
-              <template slot-scope="scope">
-                <el-select v-model="scope.row.checker" size="small" slot="append" style="width: 260px;">
-                    <el-option v-for="item in checkeroptions" :key="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 in deviceoptions" :key="item.value" :label="item.label">{{ item.label }}</el-option>
-                </el-select>
-            </template>
-            </el-table-column>
-          </el-table>
-        </div>
-      </div>
-  </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)">鍒犻櫎</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>
 </template>
 
 <script>
-import { getRawMaterialList } from '@/api/inspection/rawmaterial'
-export default {
-  data() {
-    return {
-      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:{
-        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',
-      },
-      inspectionItems:[{
-        project:'瀵肩嚎澶栧緞',
-        unit: 'mm',
-        standardVal: '30.0',
-        controlVal: '30.0',
-        detectionVal: '30.0',
-        device:'',
-        checker: '',
-      },{
-        project:'瀵肩嚎澶栧緞',
-        unit: 'mm',
-        standardVal: '30.0',
-        controlVal: '30.0',
-        detectionVal: '30.0',
-        device:'',
-        checker: ''
-      },{
-        project:'瀵肩嚎澶栧緞',
-        unit: 'mm',
-        standardVal: '30.0',
-        controlVal: '30.0',
-        detectionVal: '30.0',
-        device:'',
-        checker: ''
-      },{
-        project:'瀵肩嚎澶栧緞',
-        unit: 'mm',
-        standardVal: '30.0',
-        controlVal: '30.0',
-        detectionVal: '30.0',
-        device:'',
-        checker: ''
-      },{
-        project:'瀵肩嚎澶栧緞',
-        unit: 'mm',
-        standardVal: '30.0',
-        controlVal: '30.0',
-        detectionVal: '30.0',
-        device:'',
-        checker: ''
-      },{
-        project:'瀵肩嚎澶栧緞',
-        unit: 'mm',
-        standardVal: '30.0',
-        controlVal: '30.0',
-        detectionVal: '30.0',
-        device:'',
-        checker: ''
-      }]
-    }
-  },
-  created(){
-    this.getRawMaterialList()
-  },
-  methods: {
-    // 鑾峰彇鍒嗛〉鍒楄〃鏁版嵁
-    async getRawMaterialList(){
-      const res = await getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
-      // console.log(res)
-      this.inspectionTable = res.data.row
-      this.data = res.data.row
-      console.log(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
-      })
-      // console.log(res)
-      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
-      // console.log(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) {
-      console.log(`姣忛〉 ${val} 鏉)
-      this.pageSize = val
-      this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
-    },
-    // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
-    handleCurrentChange(val) {
-      console.log(`褰撳墠椤�: ${val}`)
-      this.currentPage = val
-      this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize})
-    }
-  }
-}
+	import {
+		getRawMaterialList,
+		addInspect,
+		selectInspectsListById
+	} from '@/api/inspection/rawmaterial'
+	export default {
+		data() {
+			return {
+				insertData: {
+
+				},
+				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 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
+				})
+			}
+		}
+	}
 </script>
 
-<style scoped>
-.content-main{
-  height: 100%;
-  .top-bar{
-    margin: -25px -15px;
-    background: #fff;
-    display: flex;
-    justify-content: space-between;
-    padding: 24px 24px 0px 24px;
-    .sermargin{
-        margin-right: 60px;
-    }
-}
-.rightBtn{
-    background-color: rgb(1, 102, 226);
-}
-.library-table{
-      background-color: #fff;
-      flex: 1;
-      margin: 0px -15px;
-      margin-top: 40px;
-      display: flex;
-      flex-direction: column;
-      .table-header{
-        padding: 20px;
-        display: flex;
-        justify-content: space-between;
-        .el-form-item{
-          margin-bottom: 30px !important;
-        }
-      }
-      .table-box{
-          padding: 0px 20px;
-          margin-top: 0px;
-          flex: 1;
-          background: #fff;
-          /* padding: 20px 20px 10px 20px; */
-          display: flex;
-          flex-direction: column;
-          .el-table {
-            flex: 1;
-          }
-          >div:nth-child(2){
-            display: flex;
-            justify-content: end;
-            margin: 10px 0;
-          }
-      }
-    }
-.checked {
-  color: green;
-}
+<style scoped lang="scss">
+	.content-main {
+		height: 100%;
 
-.unchecked {
-  color: red;
-}
+		.top-bar {
+			margin: -25px -15px;
+			background: #fff;
+			display: flex;
+			justify-content: space-between;
+			padding: 24px 24px 0px 24px;
 
-.newPage{
-  margin: -25px -15px;
-  .inspectionForm{
-    background-color:#fff;
-    .formwrapper{
-      margin-left: 80px;
-      padding:10px 0px;
-    }
-  }
-  .inspectionProject{
-    margin:10px 0px;
-    .header{
-      display:flex;
-      justify-content: space-between;
-      padding-top: -3px;
-      padding-bottom: 3px;
-    }
-    .el-table{
-      padding: 10px 10px;
-      height: 65vh;
-      overflow-y: auto;
-    }
-  }
-}
-}
+			.sermargin {
+				margin-right: 60px;
+			}
+		}
 
+		.rightBtn {
+			background-color: rgb(1, 102, 226);
+		}
+
+		.library-table {
+			background-color: #fff;
+			flex: 1;
+			margin: 0px -15px;
+			margin-top: 40px;
+			display: flex;
+			flex-direction: column;
+
+			.table-header {
+				padding: 20px;
+				display: flex;
+				justify-content: space-between;
+
+				.el-form-item {
+					margin-bottom: 30px !important;
+				}
+			}
+
+			.table-box {
+				padding: 0px 20px;
+				margin-top: 0px;
+				flex: 1;
+				background: #fff;
+				/* padding: 20px 20px 10px 20px; */
+				display: flex;
+				flex-direction: column;
+
+				.el-table {
+					flex: 1;
+				}
+
+				>div:nth-child(2) {
+					display: flex;
+					justify-content: end;
+					margin: 10px 0;
+				}
+			}
+		}
+
+		.checked {
+			color: green;
+		}
+
+		.unchecked {
+			color: red;
+		}
+
+		.newPage {
+			margin: -25px -15px;
+
+			.inspectionForm {
+				background-color: #fff;
+
+				.formwrapper {
+					margin-left: 80px;
+					padding: 10px 0px;
+				}
+			}
+
+			.inspectionProject {
+				margin: 10px 0px;
+
+				.header {
+					display: flex;
+					justify-content: space-between;
+					padding-top: -3px;
+					padding-bottom: 3px;
+				}
+
+				.el-table {
+					padding: 10px 10px;
+					height: 65vh;
+					overflow-y: auto;
+				}
+			}
+		}
+	}
 </style>
diff --git a/src/views/laboratory/organizational/index.vue b/src/views/laboratory/organizational/index.vue
index b44012b..3561611 100644
--- a/src/views/laboratory/organizational/index.vue
+++ b/src/views/laboratory/organizational/index.vue
@@ -12,6 +12,7 @@
         :filter-node-method="filterNode"
         ref="tree"
         @node-click="handleNodeClick"
+				:expand-on-click-node="false"
       >
       </el-tree>
     </div>
diff --git a/src/views/laboratory/personnel/index.vue b/src/views/laboratory/personnel/index.vue
index f4f4ee2..f469fa9 100644
--- a/src/views/laboratory/personnel/index.vue
+++ b/src/views/laboratory/personnel/index.vue
@@ -1,478 +1,393 @@
 <template>
-  <div class="personnel-main">
-    <div class="page-header-search">
-      <div class="search-bar">
-        <el-form ref="form" :inline="true">
-          <el-form-item>
-            <el-input v-model="keyword" placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�">
-              <i slot="prefix" class="el-input__icon el-icon-search" />
-            </el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" @click="getData()">鏌ヨ</el-button>
-            <el-button type="primary" plain @click="resetData()"
-              >閲嶇疆</el-button
-            >
-            <!-- <el-button type="text">楂樼骇鎼滅储<i class="el-icon-arrow-down el-icon--right" /></el-button> -->
-          </el-form-item>
-        </el-form>
-      </div>
-      <div class="serve-btn">
-        <el-button
-          type="primary"
-          icon="el-icon-plus"
-          @click="dialogFormVisible = true"
-          >鏂板浜哄憳</el-button
-        >
-
-        <el-dialog
-          :title="isUpdate == true ? '鏇存柊浜哄憳淇℃伅' : '鏂板浜哄憳'"
-          :visible.sync="dialogFormVisible"
-          width="30%"
-        >
-          <el-form :model="form" ref="form" :rules="rules">
-            <el-form-item
-              label="璐﹀彿"
-              :label-width="formLabelWidth"
-              prop="account"
-            >
-              <el-input v-model="form.account" />
-            </el-form-item>
-            <el-form-item label="骞撮緞" :label-width="formLabelWidth">
-              <el-input v-model="form.age" />
-            </el-form-item>
-            <el-form-item
-              label="閭"
-              :label-width="formLabelWidth"
-              prop="email"
-            >
-              <el-input v-model="form.email" />
-            </el-form-item>
-            <el-form-item
-              label="鍚嶅瓧"
-              :label-width="formLabelWidth"
-              prop="name"
-            >
-              <el-input v-model="form.name" />
-            </el-form-item>
-            <el-form-item
-              label="鐢佃瘽"
-              :label-width="formLabelWidth"
-              prop="phone"
-            >
-              <el-input v-model="form.phone" />
-            </el-form-item>
-
-            <el-form-item
-              label="閮ㄩ棬"
-              :label-width="formLabelWidth"
-              required
-              prop="organizationId"
-            >
-              <el-cascader
-                style="width: 100%"
-                :options="options"
-                :props="myProp"
-                v-model="form.organizationId"
-                clearable
-              ></el-cascader>
-            </el-form-item>
-
-            <el-form-item
-              label="鏉冮檺"
-              :label-width="formLabelWidth"
-              prop="roleId"
-            >
-              <el-select
-                v-model="form.roleId"
-                clearable
-                style="width: 100%"
-                placeholder="璇烽�夋嫨鏉冮檺"
-              >
-                <el-option
-                  v-for="item in roleList"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
-            <el-button type="primary" @click="submitForm()">{{
+	<div class="personnel-main">
+		<div class="page-header-search">
+			<div class="search-bar">
+				<el-form ref="form" :inline="true">
+					<el-form-item>
+						<el-input v-model="keyword" placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�">
+							<i slot="prefix" class="el-input__icon el-icon-search" />
+						</el-input>
+					</el-form-item>
+					<el-form-item>
+						<el-button type="primary" @click="getData()">鏌ヨ</el-button>
+						<el-button type="primary" plain @click="resetData()">閲嶇疆</el-button>
+						<!-- <el-button type="text">楂樼骇鎼滅储<i class="el-icon-arrow-down el-icon--right" /></el-button> -->
+					</el-form-item>
+				</el-form>
+			</div>
+			<div class="serve-btn">
+				<el-button type="primary" icon="el-icon-plus" @click="dialogFormVisible = true">鏂板浜哄憳</el-button>
+				<el-dialog :title="isUpdate == true ? '鏇存柊浜哄憳淇℃伅' : '鏂板浜哄憳'" :visible.sync="dialogFormVisible" width="30%">
+					<el-form :model="form" ref="form" :rules="rules" style="padding-right: 50px;">
+						<el-form-item label="璐﹀彿" :label-width="formLabelWidth" prop="account">
+							<el-input v-model="form.account" />
+						</el-form-item>
+						<el-form-item label="骞撮緞" :label-width="formLabelWidth">
+							<el-input v-model="form.age" />
+						</el-form-item>
+						<el-form-item label="閭" :label-width="formLabelWidth" prop="email">
+							<el-input v-model="form.email" />
+						</el-form-item>
+						<el-form-item label="鍚嶅瓧" :label-width="formLabelWidth" prop="name">
+							<el-input v-model="form.name" />
+						</el-form-item>
+						<el-form-item label="鐢佃瘽" :label-width="formLabelWidth" prop="phone">
+							<el-input v-model="form.phone" />
+						</el-form-item>
+						<el-form-item label="閮ㄩ棬" :label-width="formLabelWidth" required prop="organizationId">
+							<el-cascader style="width: 100%" :options="options" :props="myProp" v-model="form.organizationId"
+								clearable></el-cascader>
+						</el-form-item>
+						<el-form-item label="鏉冮檺" :label-width="formLabelWidth" prop="roleId">
+							<el-select v-model="form.roleId" clearable style="width: 100%" placeholder="璇烽�夋嫨鏉冮檺">
+								<el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id">
+								</el-option>
+							</el-select>
+						</el-form-item>
+					</el-form>
+					<div slot="footer" class="dialog-footer">
+						<el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+						<el-button type="primary" @click="submitForm()">{{
               isUpdate == true ? "鏇� 鏂�" : "纭� 瀹�"
             }}</el-button>
-          </div>
-        </el-dialog>
-      </div>
-    </div>
-    <div class="content-main">
-      <div class="personner-table">
-        <el-table
-          ref="personnerlTable"
-          height="calc(100vh - 240px)"
-          border
-          :cell-style="{ textAlign: 'center' }"
-          :header-cell-style="{
+					</div>
+				</el-dialog>
+			</div>
+		</div>
+		<div class="content-main">
+			<div class="personner-table">
+				<el-table ref="personnerlTable" height="calc(100vh - 240px)" border :cell-style="{ textAlign: 'center' }"
+					:header-cell-style="{
             border: '0px',
             background: '#f5f7fa',
             color: '#606266',
             boxShadow: 'inset 0 1px 0 #ebeef5',
             textAlign: 'center',
-          }"
-          @filter-change="fnFilterChangeInit"
-          :data="personnerlTable"
-          style="width: 100%"
-        >
-          <el-table-column prop="username" label="瑙掕壊鍚嶇О" min-width="120" />
-          <el-table-column prop="roleName" label="瑙掕壊鏉冮檺" min-width="120" />
-          <el-table-column prop="age" label="骞撮緞" min-width="150">
-            <template scope="scope">
-              {{
+          }" @filter-change="fnFilterChangeInit" :data="personnerlTable" style="width: 100%">
+					<el-table-column prop="username" label="瑙掕壊鍚嶇О" min-width="120" />
+					<el-table-column prop="roleName" label="瑙掕壊鏉冮檺" min-width="120" />
+					<el-table-column prop="age" label="骞撮緞" min-width="150">
+						<template scope="scope">
+							{{
                 scope.row.age === "" ||
                 scope.row.age === null ||
                 scope.row.age == undefined
                   ? "---"
                   : scope.row.age
               }}
-            </template>
-          </el-table-column>
-          <el-table-column prop="department" label="閮ㄩ棬" min-width="150" />
-          <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="180" />
-          <el-table-column prop="phone" label="鐢佃瘽" min-width="200">
-            <template scope="scope">
-              {{
+						</template>
+					</el-table-column>
+					<el-table-column prop="department" label="閮ㄩ棬" min-width="150" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="180" />
+					<el-table-column prop="phone" label="鐢佃瘽" min-width="200">
+						<template scope="scope">
+							{{
                 scope.row.phone === "" || scope.row.phone === undefined
                   ? "---"
                   : scope.row.phone
               }}
-            </template>
-          </el-table-column>
-          <el-table-column prop="email" label="閭" min-width="200">
-            <template scope="scope">
-              {{
+						</template>
+					</el-table-column>
+					<el-table-column prop="email" label="閭" min-width="200">
+						<template scope="scope">
+							{{
                 scope.row.email === "" || scope.row.email === undefined
                   ? "---"
                   : scope.row.email
               }}
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="jobState"
-            label="鍦ㄨ亴鐘舵��"
-            min-width="120"
-            :filters="[
+						</template>
+					</el-table-column>
+					<el-table-column prop="jobState" label="鍦ㄨ亴鐘舵��" min-width="120" :filters="[
               { text: '鍦ㄨ亴', value: 1 },
               { text: '绂诲矖', value: 0 },
-            ]"
-            column-key="status"
-            :filter-method="filterTag"
-            filter-placement="bottom-end"
-          >
-            <template slot-scope="scope">
-              <el-tag
-                :type="scope.row.jobState === 0 ? 'danger' : 'success'"
-                disable-transitions
-                >{{ scope.row.jobState === 0 ? "绂诲矖" : "鍦ㄨ亴" }}</el-tag
-              >
-            </template>
-          </el-table-column>
-          <el-table-column label="鎿嶄綔" min-width="120">
-            <template slot-scope="scope">
-              <el-button
-                type="text"
-                size="small"
-                @click="handleClick(scope.row)"
-                >缂栬緫</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-        <div>
-          <!-- 鍒嗛〉鍣� -->
-          <el-pagination
-            :current-page="currentPage"
-            :page-sizes="[10, 15, 20, 25]"
-            :page-size="pageSize"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="total"
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-          />
-        </div>
-      </div>
-    </div>
-  </div>
+            ]" column-key="status" :filter-method="filterTag" filter-placement="bottom-end">
+						<template slot-scope="scope">
+							<el-tag :type="scope.row.jobState === 0 ? 'danger' : 'success'"
+								disable-transitions>{{ scope.row.jobState === 0 ? "绂诲矖" : "鍦ㄨ亴" }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column label="鎿嶄綔" min-width="120">
+						<template slot-scope="scope">
+							<el-button type="text" size="small" @click="handleClick(scope.row)">缂栬緫</el-button>
+						</template>
+					</el-table-column>
+				</el-table>
+				<div>
+					<!-- 鍒嗛〉鍣� -->
+					<el-pagination :current-page="currentPage" :page-sizes="[10, 15, 20, 25]" :page-size="pageSize"
+						layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange"
+						@current-change="handleCurrentChange" />
+				</div>
+			</div>
+		</div>
+	</div>
 </template>
 
 <script>
-import { get, post, put } from "@/api/util/requestUtil";
-import urlInfo from "../../../api/urlEnum/personnel.js";
-import { getOrganizationalApi } from "@/api/laboratory/organizational";
-export default {
-  data() {
-    return {
-      keyword: "",
-      roleList: "",
-      personnerlTable: [],
-      filteredpersonnerlTable: [],
-      currentindex: 1,
-      currentPage: 1, // 褰撳墠椤电爜
-      total: 0, // 鎬绘潯鏁�
-      pageSize: 100, // 姣忛〉鐨勬暟鎹潯鏁�
-      personData: [], // 鐢ㄦ潵瀛樻斁鎺ュ彛浼犺繃鏉ョ殑浜哄憳鍒楄〃鏁版嵁
-      dialogFormVisible: false,
-      form: {
-        account: "",
-        age: "",
-        email: "",
-        name: "",
-        phone: "",
-        organizationId: "",
-        roleId: "",
-      },
-      myProp: {
-        value: "id",
-        label: "department",
-        checkStrictly: true, //鍏佽閫夋嫨浠绘剰涓�鑺�
-      },
-      formLabelWidth: "100px",
-      rules: {
-        account: [
-          {
-            required: true,
-            message: "璇疯緭鍏ヨ处鍙�",
-            trigger: "blur",
-          },
-        ],
-        name: [
-          {
-            required: true,
-            message: "璇疯緭鍏ュ悕瀛�",
-            trigger: "blur",
-          },
-        ],
-        phone: [
-          // { required: true, message: '璇疯緭鍏�11浣嶇數璇濆彿鐮�', trigger: 'blur' },
-          {
-            pattern: /^1[3456789]\d{9}$/,
-            message: "闈炴硶鎵嬫満鍙风爜",
-            trigger: ["blur", "change"],
-          },
-        ],
-        email: [
-          // { required: true, message: '璇疯緭鍏ラ偖绠卞湴鍧�', trigger: 'blur' },
-          {
-            type: "email",
-            message: "闈炴硶閭鍦板潃",
-            trigger: ["blur", "change"],
-          },
-        ],
-        organizationId: [
-          {
-            required: true,
-            type: "array",
-            message: "璇烽�夋嫨閮ㄩ棬",
-            trigger: "change",
-          },
-        ],
-        roleId: [
-          { required: true, message: "璇疯緭鍏ユ潈闄�(0鎴�1)", trigger: "blur" },
-        ],
-      },
-      options: [],
-      status: "",
-      isUpdate: false,
-    };
-  },
-  mounted() {
-    this.getData();
-    this.getTreeData();
-  },
-  methods: {
-    // 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
-    handleSizeChange(val) {
-      console.log(`姣忛〉 ${val} 鏉);
-      this.currentPage = 1;
-      this.pageSize = val;
-    },
-    filterTag(value) {
-      this.status = "";
-      this.status = value;
-      return true;
-    },
-    // 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
-    handleCurrentChange(val) {
-      console.log(`褰撳墠椤�: ${val}`);
-      this.currentPage = val;
-    },
-    async getData() {
-      let data = {
-        pageNo: 0,
-        pageSize: 10,
-        name: this.keyword,
-        status: this.status,
-      };
-      let res = await get(urlInfo.url.list_new_personnel, data);
-      this.personnerlTable = res.data.row;
-      this.total = res.data.total;
-    },
-    searchData() {
-      this.filteredpersonnerlTable = this.personnerlTable.filter((item) => {
-        return item.username === this.keyword;
-      });
-      this.personnerlTable = this.filteredpersonnerlTable;
-    },
-    resetData() {
-      this.personnerlTable = this.personData;
-      this.keyword = "";
-      this.status = "";
-      this.getData();
-    },
-    // 鎻愪氦鏂板浜哄憳琛ㄥ崟
-    submitForm() {
-      this.$refs.form.validate((valid) => {
-        if (valid) {
-          let departmentId = this.form.organizationId;
-          this.form.organizationId = departmentId[departmentId.length - 1];
-          if (!this.isUpdate) {
-            post("/user/add_new_personnel", this.form).then((response) => {
-              this.$message({
-                message: response.message,
-                type: "success",
-              });
-              this.dialogFormVisible = false;
-              this.getData();
-            });
-          } else {
-            put("/user/update_new_personnel", this.form).then((res) => {
-              this.$message({
-                message: res.message,
-                type: "success",
-              });
-              this.dialogFormVisible = false;
-              this.getData();
-            });
-          }
-        } else {
-          console.log("error submit!!");
-          return false;
-        }
-      });
-    },
-    // 娓呯┖Cascader绌虹櫧
-    clearCascaderBlank(list) {
-      list.forEach((i) => {
-        if (i.children.length === 0) {
-          i.children = undefined;
-        } else {
-          this.clearCascaderBlank(i.children);
-        }
-      });
-    },
-    fnFilterChangeInit() {
-      this.personData = [];
-      this.getData();
-    },
-    /*
-     * @param  list 鏁版嵁鍒楄〃
-     * @param  id 鍚庣杩斿洖鐨刬d
-     **/
-    getParentsById(list, id) {
-      for (let i in list) {
-        if (list[i].id == id) {
-          return [list[i].id];
-        }
-        if (list[i].children) {
-          let node = this.getParentsById(list[i].children, id);
-          if (node !== undefined) {
-            //鏌ヨ鍒版妸鐖惰妭鎶婄埗鑺傜偣鍔犲埌鏁扮粍鍓嶉潰
-            node.unshift(list[i].id);
-            return node;
-          }
-        }
-      }
-    },
+	import {
+		get,
+		post,
+		put
+	} from "@/api/util/requestUtil";
+	import urlInfo from "../../../api/urlEnum/personnel.js";
+	import {
+		getOrganizationalApi
+	} from "@/api/laboratory/organizational";
+	export default {
+		data() {
+			return {
+				keyword: "",
+				roleList: "",
+				personnerlTable: [],
+				filteredpersonnerlTable: [],
+				currentindex: 1,
+				currentPage: 1, // 褰撳墠椤电爜
+				total: 0, // 鎬绘潯鏁�
+				pageSize: 100, // 姣忛〉鐨勬暟鎹潯鏁�
+				personData: [], // 鐢ㄦ潵瀛樻斁鎺ュ彛浼犺繃鏉ョ殑浜哄憳鍒楄〃鏁版嵁
+				dialogFormVisible: false,
+				form: {
+					account: "",
+					age: "",
+					email: "",
+					name: "",
+					phone: "",
+					organizationId: "",
+					roleId: "",
+				},
+				myProp: {
+					value: "id",
+					label: "department",
+					checkStrictly: true, //鍏佽閫夋嫨浠绘剰涓�鑺�
+				},
+				formLabelWidth: "100px",
+				rules: {
+					account: [{
+						required: true,
+						message: "璇疯緭鍏ヨ处鍙�",
+						trigger: "blur",
+					}, ],
+					name: [{
+						required: true,
+						message: "璇疯緭鍏ュ悕瀛�",
+						trigger: "blur",
+					}, ],
+					phone: [
+						// { required: true, message: '璇疯緭鍏�11浣嶇數璇濆彿鐮�', trigger: 'blur' },
+						{
+							pattern: /^1[3456789]\d{9}$/,
+							message: "闈炴硶鎵嬫満鍙风爜",
+							trigger: ["blur", "change"],
+						},
+					],
+					email: [
+						// { required: true, message: '璇疯緭鍏ラ偖绠卞湴鍧�', trigger: 'blur' },
+						{
+							type: "email",
+							message: "闈炴硶閭鍦板潃",
+							trigger: ["blur", "change"],
+						},
+					],
+					organizationId: [{
+						required: true,
+						type: "array",
+						message: "璇烽�夋嫨閮ㄩ棬",
+						trigger: "change",
+					}, ],
+					roleId: [{
+						required: true,
+						message: "璇疯緭鍏ユ潈闄�(0鎴�1)",
+						trigger: "blur"
+					}, ],
+				},
+				options: [],
+				status: "",
+				isUpdate: false,
+			};
+		},
+		mounted() {
+			this.getData();
+			this.getTreeData();
+		},
+		methods: {
+			// 姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� 閫夋嫨涓�椤垫樉绀哄灏戣
+			handleSizeChange(val) {
+				this.currentPage = 1;
+				this.pageSize = val;
+			},
+			filterTag(value) {
+				this.status = "";
+				this.status = value;
+				return true;
+			},
+			// 褰撳墠椤垫敼鍙樻椂瑙﹀彂 璺宠浆鍏朵粬椤�
+			handleCurrentChange(val) {
+				this.currentPage = val;
+			},
+			async getData() {
+				let data = {
+					pageNo: 0,
+					pageSize: 10,
+					name: this.keyword,
+					status: this.status,
+				};
+				let res = await get(urlInfo.url.list_new_personnel, data);
+				this.personnerlTable = res.data.row;
+				this.total = res.data.total;
+			},
+			searchData() {
+				this.filteredpersonnerlTable = this.personnerlTable.filter((item) => {
+					return item.username === this.keyword;
+				});
+				this.personnerlTable = this.filteredpersonnerlTable;
+			},
+			resetData() {
+				this.personnerlTable = this.personData;
+				this.keyword = "";
+				this.status = "";
+				this.getData();
+			},
+			// 鎻愪氦鏂板浜哄憳琛ㄥ崟
+			submitForm() {
+				this.$refs.form.validate((valid) => {
+					if (valid) {
+						let departmentId = this.form.organizationId;
+						this.form.organizationId = departmentId[departmentId.length - 1];
+						if (!this.isUpdate) {
+							post("/user/add_new_personnel", this.form).then((response) => {
+								this.$message({
+									message: response.message,
+									type: "success",
+								});
+								this.dialogFormVisible = false;
+								this.getData();
+							});
+						} else {
+							put("/user/update_new_personnel", this.form).then((res) => {
+								this.$message({
+									message: res.message,
+									type: "success",
+								});
+								this.dialogFormVisible = false;
+								this.getData();
+							});
+						}
+					} else {
+						return false;
+					}
+				});
+			},
+			// 娓呯┖Cascader绌虹櫧
+			clearCascaderBlank(list) {
+				list.forEach((i) => {
+					if (i.children.length === 0) {
+						i.children = undefined;
+					} else {
+						this.clearCascaderBlank(i.children);
+					}
+				});
+			},
+			fnFilterChangeInit() {
+				this.personData = [];
+				this.getData();
+			},
+			/*
+			 * @param  list 鏁版嵁鍒楄〃
+			 * @param  id 鍚庣杩斿洖鐨刬d
+			 **/
+			getParentsById(list, id) {
+				for (let i in list) {
+					if (list[i].id == id) {
+						return [list[i].id];
+					}
+					if (list[i].children) {
+						let node = this.getParentsById(list[i].children, id);
+						if (node !== undefined) {
+							//鏌ヨ鍒版妸鐖惰妭鎶婄埗鑺傜偣鍔犲埌鏁扮粍鍓嶉潰
+							node.unshift(list[i].id);
+							return node;
+						}
+					}
+				}
+			},
 
-    handleClick(row) {
-      this.isUpdate = true;
-      this.dialogFormVisible = true;
-      this.form.name = row.username;
-      this.form.roleName = row.roleName;
-      this.form.phone = row.phone;
-      this.form.id = row.id;
-      this.form.email = row.email;
-      this.form.organizationId = this.getParentsById(
-        this.options,
-        row.departmentId
-      );
-      this.form.roleId = row.roleName;
-      this.form.age = row.age;
-      this.form.account = row.account;
-    },
-    getTreeData() {
-      getOrganizationalApi().then((res) => {
-        this.options = res.data[0].children;
-        this.clearCascaderBlank(this.options);
-      });
-    },
-    getRoleList() {
-      get("/user/list").then((res) => {
-        console.log(`output->res`, res);
-        this.roleList = res.data;
-      });
-    },
-  },
-  watch: {
-    dialogFormVisible: {
-      handler(newVal, oldVal) {
-        if (newVal == false) {
-          this.isUpdate = false;
-          this.form = {};
-          this.$refs.form.resetFields();
-        } else {
-          this.getRoleList();
-        }
-      },
-    },
-  },
-};
+			handleClick(row) {
+				this.isUpdate = true;
+				this.dialogFormVisible = true;
+				this.form.name = row.username;
+				this.form.roleName = row.roleName;
+				this.form.phone = row.phone;
+				this.form.id = row.id;
+				this.form.email = row.email;
+				this.form.organizationId = this.getParentsById(
+					this.options,
+					row.departmentId
+				);
+				this.form.roleId = row.roleName;
+				this.form.age = row.age;
+				this.form.account = row.account;
+			},
+			getTreeData() {
+				getOrganizationalApi().then((res) => {
+					this.options = res.data[0].children;
+					this.clearCascaderBlank(this.options);
+				});
+			},
+			getRoleList() {
+				get("/user/list").then((res) => {
+					this.roleList = res.data;
+				});
+			},
+		},
+		watch: {
+			dialogFormVisible: {
+				handler(newVal, oldVal) {
+					if (newVal == false) {
+						this.isUpdate = false;
+						this.form = {};
+						this.$refs.form.resetFields();
+					} else {
+						this.getRoleList();
+					}
+				},
+			},
+		},
+	};
 </script>
 
 <style lang="scss" scoped>
-.personnel-main {
-  // width: 100%;
-  // height: 100%;
-  .page-header-search {
-    background: #fff;
-    display: flex;
-    justify-content: space-between;
-    padding: 0 24px 12px 24px;
+	.personnel-main {
 
-    .search-bar {
-      .el-form {
-        .el-form-item {
-          margin-bottom: 0px !important;
+		// width: 100%;
+		// height: 100%;
+		.page-header-search {
+			background: #fff;
+			display: flex;
+			justify-content: space-between;
+			padding: 20px 24px 12px 24px;
 
-          .el-input {
-            width: 360px;
-          }
-        }
-      }
-    }
-  }
+			.search-bar {
+				.el-form {
+					.el-form-item {
+						margin-bottom: 0px !important;
 
-  .personner-table {
-    background: #fff;
-    padding: 20px 20px 10px 20px;
+						.el-input {
+							width: 360px;
+						}
+					}
+				}
+			}
+		}
 
-    > div:nth-child(2) {
-      display: flex;
-      justify-content: end;
-      margin: 10px 0;
-    }
-  }
-}
-</style>
+		.personner-table {
+			background: #fff;
+			padding: 20px 20px 10px 20px;
+
+			>div:nth-child(2) {
+				display: flex;
+				justify-content: end;
+				margin: 10px 0;
+			}
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3