From b7adcaff77a5028458380ab1e86a1087f35e7b60 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期一, 17 二月 2025 11:06:51 +0800 Subject: [PATCH] 1.分页查询修改 --- src/views/structural/capabilityAndLaboratory/capability/index.vue | 156 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 116 insertions(+), 40 deletions(-) diff --git a/src/views/structural/capabilityAndLaboratory/capability/index.vue b/src/views/structural/capabilityAndLaboratory/capability/index.vue index 9916b1e..ac63cea 100644 --- a/src/views/structural/capabilityAndLaboratory/capability/index.vue +++ b/src/views/structural/capabilityAndLaboratory/capability/index.vue @@ -3,7 +3,7 @@ <div> <el-row class="title"> <el-col :span="12" style="text-align: left"> - <el-radio-group v-model="radio" size="medium" fill="#409EFF"> + <el-radio-group v-model="radio" size="medium" fill="#409EFF" @change="refreshTable"> <el-radio-button :label="0">妫�楠岄」鐩弬鏁�</el-radio-button> <el-radio-button :label="1">妫�楠屽璞�</el-radio-button> </el-radio-group> @@ -43,29 +43,31 @@ <el-button icon="el-icon-refresh" size="mini" @click="refresh">閲� 缃�</el-button> </el-form-item> </el-form> +<!-- 妫�楠岄」鐩弬鏁拌〃鏍�--> <div class="table" v-if="radio===0"> <lims-table :tableData="tableData" :column="column" + @pagination="pagination" :page="page" :tableLoading="tableLoading"></lims-table> </div> +<!-- 妫�楠屽璞¤〃鏍�--> <div class="table" v-if="radio===1"> <lims-table :tableData="testObjectTableData" :column="testObjectColumn" + @pagination="pagination" :page="testObjectPage" :tableLoading="tableLoading"></lims-table> </div> </div> <!--浜у搧缁存姢寮规--> - <el-dialog title="浜у搧缁存姢" :visible.sync="diaProduct" width="600px"> - <div class="body" v-if="diaProduct" style="height: 350px;overflow-y: auto;padding: 5px 0;"> - <lims-table :tableData="productData" :column="productColumn" - :page="productPage" :tableLoading="productableLoading"></lims-table> - </div> + <el-dialog title="浜у搧缁存姢" :visible.sync="diaProduct" width="900px"> + <lims-table :tableData="productData" :column="productColumn" height="460" + :page="productPage" :tableLoading="productableLoading"></lims-table> <span slot="footer" class="dialog-footer"> <el-button @click="diaProduct = false">鍙� 娑�</el-button> <el-button type="primary" @click="editProduct('add')" :loading="productLoad">鏂� 澧�</el-button> </span> </el-dialog> <!--浜у搧缁存姢缂栬緫--> - <el-dialog title="缂栬緫浜у搧缁存姢" :visible.sync="productEditDia" width="400px"> - <el-form :model="productEditForm" ref="productEditForm" :rules="productRules"> + <el-dialog title="鎿嶄綔浜у搧缁存姢" :visible.sync="productEditDia" width="400px"> + <el-form :model="productEditForm" ref="productEditForm" :rules="productRules" label-position="right" label-width="100px"> <el-form-item label="浜у搧鍚嶇О" prop="name"> <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="productEditForm.name"></el-input> </el-form-item> @@ -96,8 +98,8 @@ </span> </el-dialog> <!--妫�楠岄」鐩弬鏁�-缂栬緫寮规--> - <EditForm ref="editForm" @refreshTable="refreshTable"></EditForm> - <testObjectEditForm ref="testObjectEditForm"></testObjectEditForm> + <EditForm ref="editForm" @refreshList="refreshList1"></EditForm> + <testObjectEditForm ref="testObjectEditForm" @refreshList="refreshList"></testObjectEditForm> <BindPartDialog v-if="bindPartDialog" :bindPartDialog="bindPartDialog" :currentRow="currentRow" :type="type" @@ -113,8 +115,9 @@ import BindPartDialog from "@/components/capability/bindPartDialog.vue" import BindSupplierDensityDialog from "@/components/capability/bindSupplierDensityDialog.vue" import { + addProduct, delItemParameter, delProduct, delTestObject, selectItemParameterList, selectProductListByObjectId, - selectTestObjectList, + selectTestObjectList, upProduct, } from "@/api/structural/capability"; import limsTable from "@/components/Table/lims-table.vue"; import EditForm from "@/components/capability/EditForm.vue"; @@ -151,6 +154,7 @@ dataType: 'action', fixed: 'right', label: '鎿嶄綔', + width: '140px', operation: [ { name: '缂栬緫', @@ -172,7 +176,7 @@ page: { total:0, size:10, - current:0 + current:1 }, testObjectTableData: [], testObjectColumn: [ @@ -240,6 +244,7 @@ dataType: 'action', fixed: 'right', label: '鎿嶄綔', + width: '240px', operation: [ { name: '缂栬緫', @@ -294,7 +299,6 @@ {label: '浜у搧鍚嶇ОEN', prop: 'nameEn'}, { dataType: 'action', - fixed: 'right', label: '鎿嶄綔', operation: [ { @@ -332,14 +336,19 @@ productPage: { total:0, size:10, - current:0 + current:0, + layout: 'total, prev, pager, next' }, productableLoading: false, productEditDia: false, + operationType: '', productEditForm: { + objectId: '', + id: '', name: '', nameEn: '' }, + objectId: '', productRules: { name: [{ required: true, message: '璇峰~鍐欎骇鍝佸悕绉�', trigger: 'blur' }], nameEn: [{ required: true, message: '璇峰~鍐欎骇鍝佸悕绉癊N', trigger: 'blur' }] @@ -355,7 +364,7 @@ type: null, // 闆朵欢缁戝畾鐨勭被鍨�--0锛氭楠屽璞★紝1锛氫骇鍝佺淮鎶� } }, - mounted() { + created() { this.refreshTable() }, computed: { @@ -365,7 +374,7 @@ }, methods: { submitUpload() { - if (this.$refs.upload.uploadFiles.length == 0) { + if (this.$refs.upload.uploadFiles.length === 0) { this.$message.error('鏈�夋嫨鏂囦欢') return } @@ -376,7 +385,7 @@ this.$refs.upload.clearFiles() this.uploadDia = false this.uploading = false - if (response.code == 201) { + if (response.code === 201) { this.$message.error(response.message) return } @@ -414,11 +423,17 @@ }, handleSuccessUp (response, file, fileList) { this.$refs.upload.clearFiles() - if (response.code == 201) { + if (response.code === 201) { this.$message.error(response.message) return } this.$message.success('涓婁紶鎴愬姛') + this.refreshTable() + }, + refreshList () { + this.refreshTable() + }, + refreshList1 () { this.refreshTable() }, refreshTable() { @@ -449,6 +464,10 @@ this.resetForm('itemParameterForm') this.refreshTable() }, + pagination (page) { + this.page.size = page.pageNum.limit + this.refreshTable() + }, // 妫�楠岄」鐩弬鏁版柊澧� openAdd() { if (this.radio === 0) { @@ -463,12 +482,23 @@ }, // 妫�楠岄」鐩弬鏁�-鍒犻櫎 delete (row) { - this.$modal.confirm('鏄惁纭鍒犻櫎姝ゆ暟鎹」锛�').then(function() { - return delItemParameter(row.id); + this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); + delItemParameter({id:row.id}).then(res => { + if (res.code === 200) { + this.$message.success('鍒犻櫎鎴愬姛') + this.refreshTable(); + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝垹闄�' + }); + }) }, // 妫�楠屽璞�-鎵撳紑淇敼寮规 editTestObjectForm (row) { @@ -476,27 +506,37 @@ }, // 妫�楠岄」鐩弬鏁�-鍒犻櫎 deleteTest (row) { - this.$modal.confirm('鏄惁纭鍒犻櫎姝ゆ暟鎹」锛�').then(function() { - return delTestObject(row.id); + this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); + delTestObject({id:row.id}).then(res => { + if (res.code === 200) { + this.$message.success('鍒犻櫎鎴愬姛') + this.refreshTable(); + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝垹闄�' + }); + }) }, // 浜у搧缁存姢 upProduct(row) { this.diaProduct = true + this.objectId = row.id this.getProductList(row) }, - getProductList (row) { + getProductList () { const params = { - objectId: 0, - partNo: row.partNo + objectId: this.objectId, } this.productableLoading = true selectProductListByObjectId({...params, ...this.productPage}).then(res => { this.productableLoading = false - if (res.code === 200) return this.productData = res.data.records this.productPage.total = res.data.total }).catch(err => { @@ -506,30 +546,66 @@ // 浜у搧缁存姢-鏂板-缂栬緫 editProduct (type, row) { this.productEditDia = true + this.operationType = type if (type === 'edit') { - this.productEditForm = row + this.productEditForm = this.HaveJson(row) } }, // 鎻愪氦浜у搧缁存姢淇敼 submitProduct () { this.$refs['productEditForm'].validate((valid) => { if (valid) { - + this.uploading = true + this.productEditForm.objectId = this.objectId + if (this.operationType === 'add') { + addProduct(this.productEditForm).then(res => { + this.uploading = false + if (res.code === 200) { + this.$message.success('鏂板鎴愬姛') + this.closeProduct() + this.getProductList(); + } + }).catch(err => { + this.uploading = false + }) + } else { + upProduct(this.productEditForm).then(res => { + this.uploading = false + if (res.code === 200) { + this.$message.success('鏂板鎴愬姛') + this.closeProduct() + this.getProductList(); + } + }).catch(err => { + this.uploading = false + }) + } } }) }, closeProduct() { - this.productEditDia = false this.resetForm('productEditForm') + this.productEditDia = false }, // 浜у搧缁存姢-鍒犻櫎 deleteProduct (row) { - this.$modal.confirm('鏄惁纭鍒犻櫎姝ゆ暟鎹」锛�').then(function() { - return delProduct(row.id); + this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); + delProduct({id:row.id}).then(res => { + if (res.code === 200) { + this.$message.success('鍒犻櫎鎴愬姛') + this.getProductList(); + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝垹闄�' + }); + }) }, // 闆朵欢缁戝畾 bindPartFirst (row) { -- Gitblit v1.9.3