From b1187d1141a17fea3a7c184db73f232ca9877a85 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期六, 15 二月 2025 15:41:39 +0800 Subject: [PATCH] 能力范围-零件绑定联调 --- src/views/structural/capabilityAndLaboratory/capability/index.vue | 187 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 145 insertions(+), 42 deletions(-) diff --git a/src/views/structural/capabilityAndLaboratory/capability/index.vue b/src/views/structural/capabilityAndLaboratory/capability/index.vue index 072d09b..d026e38 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,15 +43,18 @@ <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" :page="page" :tableLoading="tableLoading"></lims-table> </div> +<!-- 妫�楠屽璞¤〃鏍�--> <div class="table" v-if="radio===1"> <lims-table :tableData="testObjectTableData" :column="testObjectColumn" :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" @@ -59,7 +62,23 @@ </div> <span slot="footer" class="dialog-footer"> <el-button @click="diaProduct = false">鍙� 娑�</el-button> - <el-button type="primary" @click="openAdd2" :loading="productLoad">鏂� 澧�</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" 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> + <el-form-item label="浜у搧鍚嶇ОEN" prop="nameEn"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="productEditForm.nameEn"> + </el-input> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="closeProduct">鍙� 娑�</el-button> + <el-button :loading="uploading" type="primary" @click="submitProduct">纭� 璁�</el-button> </span> </el-dialog> <el-dialog :visible.sync="uploadDia" title="鏁版嵁瀵煎叆" width="500px"> @@ -79,8 +98,8 @@ </span> </el-dialog> <!--妫�楠岄」鐩弬鏁�-缂栬緫寮规--> - <EditForm ref="editForm"></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" @@ -96,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"; @@ -134,10 +154,12 @@ dataType: 'action', fixed: 'right', label: '鎿嶄綔', + width: '140px', operation: [ { name: '缂栬緫', type: 'text', + icon: 'el-icon-edit', clickFun: (row) => { this.editForm(row); }, @@ -145,6 +167,7 @@ { name: '鍒犻櫎', type: 'text', + icon: 'el-icon-delete', clickFun: (row) => { this.delete(row); }, @@ -223,10 +246,12 @@ dataType: 'action', fixed: 'right', label: '鎿嶄綔', + width: '240px', operation: [ { name: '缂栬緫', type: 'text', + icon: 'el-icon-edit', clickFun: (row) => { this.editTestObjectForm(row); }, @@ -234,6 +259,7 @@ { name: '鍒犻櫎', type: 'text', + icon: 'el-icon-delete', clickFun: (row) => { this.deleteTest(row); }, @@ -283,13 +309,15 @@ { name: '缂栬緫', type: 'text', + icon: 'el-icon-edit', clickFun: (row) => { - this.editProduct(row); + this.editProduct('edit', row); }, }, { name: '鍒犻櫎', type: 'text', + icon: 'el-icon-delete', clickFun: (row) => { this.deleteProduct(row); }, @@ -318,7 +346,19 @@ current:0 }, productableLoading: false, - inPower: true, + productEditDia: false, + operationType: '', + productEditForm: { + objectId: '', + id: '', + name: '', + nameEn: '' + }, + objectId: '', + productRules: { + name: [{ required: true, message: '璇峰~鍐欎骇鍝佸悕绉�', trigger: 'blur' }], + nameEn: [{ required: true, message: '璇峰~鍐欎骇鍝佸悕绉癊N', trigger: 'blur' }] + }, uploadDia: false, fileList: [], token: {Authorization: "Bearer " + getToken()}, @@ -333,12 +373,6 @@ created() { this.refreshTable() }, - mounted() { - this.token = { - 'token': sessionStorage.getItem('token') - } - this.refreshTable() - }, computed: { title() { return this.addOrUpdate === 1 ? '鏂板' : '缂栬緫' @@ -346,7 +380,7 @@ }, methods: { submitUpload() { - if (this.$refs.upload.uploadFiles.length == 0) { + if (this.$refs.upload.uploadFiles.length === 0) { this.$message.error('鏈�夋嫨鏂囦欢') return } @@ -357,7 +391,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 } @@ -395,11 +429,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() { @@ -408,8 +448,8 @@ selectItemParameterList({...this.page, ...this.itemParameterForm}).then(res => { this.tableLoading = false if (res.code === 200) { - this.tableData = res.data - this.page.total = res.total + this.tableData = res.data.records + this.page.total = res.data.total } }).catch(err => { this.tableLoading = false @@ -418,8 +458,8 @@ selectTestObjectList({...this.testObjectPage, ...this.itemParameterForm}).then(res => { this.tableLoading = false if (res.code === 200) { - this.testObjectTableData = res.data - this.testObjectPage.total = res.total + this.testObjectTableData = res.data.records + this.testObjectPage.total = res.data.total } }).catch(err => { this.tableLoading = false @@ -444,12 +484,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) { @@ -457,16 +508,28 @@ }, // 妫�楠岄」鐩弬鏁�-鍒犻櫎 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) { @@ -478,28 +541,68 @@ selectProductListByObjectId({...params, ...this.productPage}).then(res => { this.productableLoading = false if (res.code === 200) return - this.productData = res.data + this.productData = res.data.records this.productPage.total = res.data.total }).catch(err => { this.productableLoading = false }) }, - // 浜у搧缁存姢-鏂板 - openAdd2(){ - + // 浜у搧缁存姢-鏂板-缂栬緫 + editProduct (type, row) { + this.productEditDia = true + this.operationType = type + if (type === 'edit') { + this.productEditForm = row + } }, - // 浜у搧缁存姢-缂栬緫 - editProduct () { - + // 鎻愪氦浜у搧缁存姢淇敼 + submitProduct () { + this.$refs['productEditForm'].validate((valid) => { + if (valid) { + this.productEditForm.objectId = this.objectId + if (this.operationType === 'add') { + addProduct(this.productEditForm).then(res => { + if (res.code === 200) { + this.$message.success('鏂板鎴愬姛') + this.productEditDia = false + this.refreshTable(); + } + }) + } else { + upProduct(this.productEditForm).then(res => { + if (res.code === 200) { + this.$message.success('鏂板鎴愬姛') + this.productEditDia = false + this.refreshTable(); + } + }) + } + } + }) + }, + closeProduct() { + this.productEditDia = false + this.resetForm('productEditForm') }, // 浜у搧缁存姢-鍒犻櫎 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.refreshTable(); + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝垹闄�' + }); + }) }, // 闆朵欢缁戝畾 bindPartFirst (row) { -- Gitblit v1.9.3