From 7f9514f20911fbb8046ca03716c2bc9304ec2fa0 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 18 二月 2025 17:43:44 +0800 Subject: [PATCH] 1.原材料报检迁移 2.原材料下单迁移 3.同材料下单迁移 --- src/views/structural/capabilityAndLaboratory/capability/index.vue | 171 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 124 insertions(+), 47 deletions(-) diff --git a/src/views/structural/capabilityAndLaboratory/capability/index.vue b/src/views/structural/capabilityAndLaboratory/capability/index.vue index 9916b1e..1bb6202 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" + <lims-table :tableData="tableData" :column="column" key="tableData" + @pagination="pagination" :height="'calc(100vh - 290px)'" :page="page" :tableLoading="tableLoading"></lims-table> </div> +<!-- 妫�楠屽璞¤〃鏍�--> <div class="table" v-if="radio===1"> - <lims-table :tableData="testObjectTableData" :column="testObjectColumn" + <lims-table :tableData="testObjectTableData" :column="testObjectColumn" key="testObjectTableData" + @pagination="pagination" :height="'calc(100vh - 290px)'" :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" @@ -110,15 +112,16 @@ </template> <script> -import BindPartDialog from "@/components/capability/bindPartDialog.vue" -import BindSupplierDensityDialog from "@/components/capability/bindSupplierDensityDialog.vue" +import BindPartDialog from "@/views/structural/capabilityAndLaboratory/capabilityComponents/bindPartDialog.vue" +import BindSupplierDensityDialog from "@/views/structural/capabilityAndLaboratory/capabilityComponents/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"; -import testObjectEditForm from "@/components/capability/testObjectEditForm.vue"; +import EditForm from "@/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue"; +import testObjectEditForm from "@/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue"; import {getToken} from "@/utils/auth"; export default { @@ -128,6 +131,7 @@ uploadAction: process.env.VUE_APP_BASE_API + '/capacityScope/importExcel', uploadAction1: process.env.VUE_APP_BASE_API + '/capacityScope/importEquipData', tableData: [], + tableLoading: false, column: [ {label: '妫�楠岄」', prop: 'inspectionItem'}, {label: '妫�楠岄」EN', prop: 'inspectionItemEn'}, @@ -151,6 +155,7 @@ dataType: 'action', fixed: 'right', label: '鎿嶄綔', + width: '140px', operation: [ { name: '缂栬緫', @@ -172,7 +177,7 @@ page: { total:0, size:10, - current:0 + current:1 }, testObjectTableData: [], testObjectColumn: [ @@ -240,6 +245,7 @@ dataType: 'action', fixed: 'right', label: '鎿嶄綔', + width: '240px', operation: [ { name: '缂栬緫', @@ -277,7 +283,6 @@ size:10, current:0 }, - tableLoading: false, addOrUpdate: '', tree: null, loading: true, @@ -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() { @@ -447,6 +462,11 @@ }, refresh() { this.resetForm('itemParameterForm') + this.page.current = 1 + this.refreshTable() + }, + pagination (page) { + this.page.size = page.limit this.refreshTable() }, // 妫�楠岄」鐩弬鏁版柊澧� @@ -463,12 +483,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 +507,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 +547,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