From 20cf1938a8aa04a3f911d6d3729e8aec08a7d658 Mon Sep 17 00:00:00 2001
From: 曹睿 <360930172@qq.com>
Date: 星期二, 25 二月 2025 09:08:51 +0800
Subject: [PATCH] feat: 完成检测单页面
---
src/views/structural/premises/index.vue | 176 +++++++++++++++++++++++++++-------------------------------
1 files changed, 82 insertions(+), 94 deletions(-)
diff --git a/src/views/structural/premises/index.vue b/src/views/structural/premises/index.vue
index 0204f36..8ff0e53 100644
--- a/src/views/structural/premises/index.vue
+++ b/src/views/structural/premises/index.vue
@@ -5,11 +5,11 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item label="瀹為獙瀹ゅ悕绉�" prop="laboratoryName">
<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.laboratoryName"
- @keyup.enter.native="refreshTable"></el-input>
+ @keyup.enter.native="refreshTable"></el-input>
</el-form-item>
<el-form-item label="瀹為獙瀹ょ紪鐮�" prop="laboratoryNumber">
<el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.laboratoryNumber"
- @keyup.enter.native="refreshTable"></el-input>
+ @keyup.enter.native="refreshTable"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="refreshTable">鏌� 璇�</el-button>
@@ -22,15 +22,13 @@
</div>
</div>
<div class="table">
- <lims-table :tableData="tableData" :column="column"
- :height="'calc(100vh - 250px)'"
- @pagination="pagination"
- :page="page" :tableLoading="tableLoading"></lims-table>
+ <lims-table :tableData="tableData" :column="column" :height="'calc(100vh - 250px)'" @pagination="pagination"
+ :page="page" :tableLoading="tableLoading"></lims-table>
</div>
-<!-- 鏂板瀹為獙瀹�-->
+ <!-- 鏂板瀹為獙瀹�-->
<el-dialog :title="formTitle" :visible.sync="addDia" width="450px">
- <el-form ref="laboratoryForm" :model="laboratoryForm" :rules="userRules"
- label-position="right" label-width="100px">
+ <el-form ref="laboratoryForm" :model="laboratoryForm" :rules="userRules" label-position="right"
+ label-width="100px">
<el-form-item label="瀹為獙瀹ゅ悕绉�" prop="laboratoryName">
<el-input v-model="laboratoryForm.laboratoryName" size="small" clearable></el-input>
</el-form-item>
@@ -51,52 +49,36 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
- <el-button @click="reset">鍙� 娑�</el-button>
- <el-button type="primary" @click="customAdd" :loading="loading">纭� 瀹�</el-button>
- </span>
+ <el-button @click="reset">鍙� 娑�</el-button>
+ <el-button type="primary" @click="customAdd" :loading="loading">纭� 瀹�</el-button>
+ </span>
</el-dialog>
<el-dialog title="鍗扮珷绠$悊" :visible.sync="fileVisible" width="60vw">
<div class="btns">
<el-button size="medium" type="primary" @click="openUpload">鏇存柊鍗扮珷</el-button>
</div>
- <lims-table :tableData="fileComponentData" :column="fileComponentDataColumn"
- @pagination="fileComponentPagination" height="500px"
- :page="fileComponentPage" :tableLoading="fileComponentTableLoading"></lims-table>
+ <lims-table :tableData="fileComponentData" :column="fileComponentDataColumn" @pagination="fileComponentPagination"
+ height="500px" :page="fileComponentPage" :tableLoading="fileComponentTableLoading"></lims-table>
</el-dialog>
<el-dialog title="鏇存柊鍗扮珷" :visible.sync="upFileVisible" width="400px">
- <el-form ref="dataForm" :model="dataForm" :rules="dataFormRules"
- label-position="right" label-width="80px">
+ <el-form ref="dataForm" :model="dataForm" :rules="dataFormRules" label-position="right" label-width="80px">
<el-form-item label="鍗扮珷绫诲瀷" prop="type">
- <el-cascader
- v-model="dataForm.type"
- :options="options"
- :show-all-levels="false"
- :props="props"
- placeholder="璇烽�夋嫨" size="small"
- style="width:100%"
- collapse-tags
- clearable></el-cascader>
+ <el-cascader v-model="dataForm.type" :options="options" :show-all-levels="false" :props="props"
+ placeholder="璇烽�夋嫨" size="small" style="width:100%" collapse-tags clearable></el-cascader>
</el-form-item>
<el-form-item label="鍗扮珷鍥剧墖" prop="address">
- <el-upload
- class="avatar-uploader"
- :action="action"
- :headers="headers"
- accept='image/jpg,image/jpeg,image/png'
- :show-file-list="false"
- :on-success="handleSuccess"
- :on-change="beforeUpload"
- ref="upload"
+ <el-upload class="avatar-uploader" :action="action" :headers="headers" accept='image/jpg,image/jpeg,image/png'
+ :show-file-list="false" :on-success="handleSuccess" :on-change="beforeUpload" ref="upload"
:on-error="onError">
- <img v-if="dataForm.address" :src="javaApi+'/img/'+dataForm.address" class="avatar" >
+ <img v-if="dataForm.address" :src="javaApi + '/img/' + dataForm.address" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
- <el-button @click="upFileVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="confirmConnect" :loading="loading">纭� 瀹�</el-button>
- </span>
+ <el-button @click="upFileVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmConnect" :loading="loading">纭� 瀹�</el-button>
+ </span>
</el-dialog>
</div>
</template>
@@ -111,8 +93,8 @@
selectSeal,
upParameter
} from "@/api/structural/laboratoryScope";
-import {getCertificationDetail} from "@/api/structural/laboratory";
-
+import { getCertificationDetail } from "@/api/structural/laboratory";
+import { getToken } from "@/utils/auth";
export default {
components: {
limsTable
@@ -121,7 +103,7 @@
computed: {
headers() {
return {
- 'token': sessionStorage.getItem('token')
+ 'Authorization': "Bearer " + getToken()
}
},
action() {
@@ -137,14 +119,14 @@
tableData: [],
tableLoading: false,
column: [
- {label: '瀹為獙瀹ゅ悕绉�', prop: 'laboratoryName'},
- {label: '鍦烘墍缂栫爜', prop: 'laboratoryNumber'},
- {label: '瀹為獙瀹や唬鍙�', prop: 'laboratoryCode'},
- {label: '璐熻矗浜�', prop: 'head'},
- {label: '璐熻矗浜虹數璇�', prop: 'phoneNumber'},
- {label: '鍦板潃', prop: 'address'},
- {label: '鍒涘缓浜�', prop: 'createUserName'},
- {label: '鍒涘缓鏃堕棿', prop: 'createTime'},
+ { label: '瀹為獙瀹ゅ悕绉�', prop: 'laboratoryName' },
+ { label: '鍦烘墍缂栫爜', prop: 'laboratoryNumber' },
+ { label: '瀹為獙瀹や唬鍙�', prop: 'laboratoryCode' },
+ { label: '璐熻矗浜�', prop: 'head' },
+ { label: '璐熻矗浜虹數璇�', prop: 'phoneNumber' },
+ { label: '鍦板潃', prop: 'address' },
+ { label: '鍒涘缓浜�', prop: 'createUserName' },
+ { label: '鍒涘缓鏃堕棿', prop: 'createTime' },
{
dataType: 'action',
fixed: 'right',
@@ -176,9 +158,9 @@
}
],
page: {
- total:0,
- size:10,
- current:1
+ total: 0,
+ size: 10,
+ current: 1
},
addDia: false,
formTitle: '',
@@ -196,43 +178,43 @@
fileComponentTableLoading: false,
fileComponentData: [],
fileComponentDataColumn: [
- {label: '瀹為獙瀹ゅ悕绉�', prop: 'laboratoryName'},
- {label: '鍗扮珷鍥剧墖', prop: 'address', dataType: 'image'},
- {label: '鍗扮珷绫诲瀷', prop: 'type'},
+ { label: '瀹為獙瀹ゅ悕绉�', prop: 'laboratoryName' },
+ { label: '鍗扮珷鍥剧墖', prop: 'address', dataType: 'image' },
+ { label: '鍗扮珷绫诲瀷', prop: 'type' },
],
fileComponentPage: {
- total:0,
- size:10,
- current:1,
+ total: 0,
+ size: 10,
+ current: 1,
layout: 'total, prev, pager, next'
},
- fileVisible:false,
- upFileVisible:false,
- loading:false,
- dataForm:{
- type:'',
- address:'',
+ fileVisible: false,
+ upFileVisible: false,
+ loading: false,
+ dataForm: {
+ type: '',
+ address: '',
},
dataFormRules: {
type: [{ required: true, message: '璇烽�夋嫨鍗扮珷绫诲瀷', trigger: 'change' }],
address: [{ required: false, message: '璇蜂笂浼犲浘鐗�', trigger: 'change' }],
},
- props: { multiple: false,emitPath:false,},
- options:[
+ props: { multiple: false, emitPath: false, },
+ options: [
{
- value:'瀹為獙瀹よ祫璐�',
- label:'瀹為獙瀹よ祫璐�',
- children:[]
+ value: '瀹為獙瀹よ祫璐�',
+ label: '瀹為獙瀹よ祫璐�',
+ children: []
},
{
- value:'濮旀墭鎶ュ憡',
- label:'濮旀墭鎶ュ憡',
- children:null
+ value: '濮旀墭鎶ュ憡',
+ label: '濮旀墭鎶ュ憡',
+ children: null
},
{
- value:'杩涘巶鎶ュ憡',
- label:'杩涘巶鎶ュ憡',
- children:null
+ value: '杩涘巶鎶ュ憡',
+ label: '杩涘巶鎶ュ憡',
+ children: null
},
],
}
@@ -243,7 +225,7 @@
methods: {
refreshTable() {
this.tableLoading = true
- selectItemParameter({...this.page, ...this.queryParams}).then(res => {
+ selectItemParameter({ ...this.page, ...this.queryParams }).then(res => {
this.tableLoading = false
if (res.code === 200) {
this.tableData = res.data.records
@@ -259,7 +241,7 @@
this.refreshTable()
},
// 鍒嗛〉鍒囨崲
- pagination (page) {
+ pagination(page) {
this.page.size = page.limit
this.refreshTable()
},
@@ -300,34 +282,34 @@
}
})
},
- reset () {
+ reset() {
this.resetForm('laboratoryForm')
this.addDia = false
},
// 鍒犻櫎瀹為獙瀹�
- delete (row) {
+ delete(row) {
this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
}).then(() => {
- delParameter({id: row.id}).then(res => {
+ delParameter({ id: row.id }).then(res => {
this.$message.success('鍒犻櫎鎴愬姛')
this.refreshTable()
}).catch(e => {
this.$message.error('鍒犻櫎澶辫触')
})
- }).catch(() => {})
+ }).catch(() => { })
},
// 鎵撳紑鍗扮珷绠$悊寮规
- fileManagement(row){
+ fileManagement(row) {
this.fileVisible = true;
this.fileComponentTableLoading = true
this.currentRow = row
this.getFileComponentList()
},
- getFileComponentList () {
- selectSeal({id: this.currentRow.id, ...this.fileComponentPage}).then(res => {
+ getFileComponentList() {
+ selectSeal({ id: this.currentRow.id, ...this.fileComponentPage }).then(res => {
this.fileComponentTableLoading = false
if (res.code === 200) {
this.fileComponentData = res.data.records
@@ -337,19 +319,19 @@
this.fileComponentTableLoading = false
})
},
- fileComponentPagination (page) {
+ fileComponentPagination(page) {
this.fileComponentPage.size = page.limit
this.getFileComponentList()
},
// 鎵撳紑鏇存柊鍗扮珷寮规
- openUpload(){
+ openUpload() {
this.dataForm.type = '';
this.dataForm.address = '';
this.upFileVisible = true;
this.getCertificationOperation()
},
// 鏌ヨ鍗扮珷绫诲瀷
- getCertificationOperation(){
+ getCertificationOperation() {
const params = {
current: -1,
size: -1,
@@ -363,11 +345,11 @@
})
},
// 鎻愪氦鏇存柊鍗扮珷
- confirmConnect(){
+ confirmConnect() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.loading = true;
- addSeal({labId:this.currentRow.id, ...this.dataForm}).then(res => {
+ addSeal({ labId: this.currentRow.id, ...this.dataForm }).then(res => {
this.loading = false;
this.getFileComponentList()
this.upFileVisible = false;
@@ -375,12 +357,12 @@
}
})
},
- handleSuccess(response,){
+ handleSuccess(response,) {
if (response.code === 200) {
this.dataForm.address = response.data.url
}
},
- beforeUpload(file,type) {
+ beforeUpload(file, type) {
if (file.size > 1024 * 1024 * 10) {
this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
this.$refs.upload.clearFiles()
@@ -389,7 +371,7 @@
return true;
}
},
- onError(err, file, fileList,type) {
+ onError(err, file, fileList, type) {
this.$message.error('涓婁紶澶辫触')
this.$refs.upload.clearFiles()
},
@@ -402,13 +384,16 @@
display: flex;
justify-content: space-between;
}
-.btns{
+
+.btns {
text-align: right;
margin-bottom: 10px;
}
+
::v-deep .el-dialog__body {
padding-top: 8px !important;
}
+
.avatar-uploader ::v-deep .el-upload {
border: 1px dashed #666666;
border-radius: 6px;
@@ -416,9 +401,11 @@
position: relative;
overflow: hidden;
}
+
.avatar-uploader ::v-deep .el-upload:hover {
border-color: #409EFF;
}
+
.avatar-uploader-icon {
font-size: 20px;
color: #8c939d;
@@ -427,6 +414,7 @@
line-height: 90px;
text-align: center;
}
+
.avatar {
width: 90px;
height: 90px;
--
Gitblit v1.9.3