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