From 9f571972ce45d45facd8ca667376e2d4c99da3af Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期一, 07 四月 2025 13:22:06 +0800 Subject: [PATCH] 原辅料下单修改 --- src/views/structural/capabilityAndLaboratory/capability/index.vue | 449 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 302 insertions(+), 147 deletions(-) diff --git a/src/views/structural/capabilityAndLaboratory/capability/index.vue b/src/views/structural/capabilityAndLaboratory/capability/index.vue index e23cb5b..f184385 100644 --- a/src/views/structural/capabilityAndLaboratory/capability/index.vue +++ b/src/views/structural/capabilityAndLaboratory/capability/index.vue @@ -9,11 +9,9 @@ </el-radio-group> </el-col> <el-col :span="12" style="text-align: right;"> - <el-upload v-if="radio === 0" ref='upload1' - style="display: inline;margin-right: 8px" - :action="uploadAction1" - :before-upload="beforeUpload1" :headers="token" :on-error="onError1" - :on-success="handleSuccessUp" :show-file-list="false" accept='.doc,.docx,.xls,.xlsx'> + <el-upload v-if="radio === 0" ref='upload1' style="display: inline;margin-right: 8px" :action="uploadAction1" + :before-upload="beforeUpload1" :headers="token" :on-error="onError1" :on-success="handleSuccessUp1" + :show-file-list="false" accept='.doc,.docx,.xls,.xlsx'> <el-button size="small" type="primary">瀵煎叆</el-button> </el-upload> <el-button size="small" type="primary" v-if="radio === 1" @click="uploadDia = true">瀵煎叆</el-button> @@ -23,19 +21,19 @@ </div> <div> <el-form :model="itemParameterForm" ref="itemParameterForm" size="small" :inline="true"> - <el-form-item label="妫�楠岄」" prop="inspectionItem" v-if="radio===0"> - <el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="itemParameterForm.inspectionItem" @keyup.enter.native="refreshTable()"> + <el-form-item label="妫�楠岄」" prop="inspectionItem" v-if="radio === 0"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="itemParameterForm.inspectionItem" + @keyup.enter.native="refreshTable()"> </el-input> </el-form-item> - <el-form-item label="妫�楠屽瓙椤�" prop="inspectionItemSubclass" v-if="radio===0"> - <el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="itemParameterForm.inspectionItemSubclass" @keyup.enter.native="refreshTable()"> + <el-form-item label="妫�楠屽瓙椤�" prop="inspectionItemSubclass" v-if="radio === 0"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="itemParameterForm.inspectionItemSubclass" + @keyup.enter.native="refreshTable()"> </el-input> </el-form-item> <el-form-item label="妫�楠屽璞�" prop="sample"> - <el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="itemParameterForm.sample" @keyup.enter.native="refreshTable()"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="itemParameterForm.sample" + @keyup.enter.native="refreshTable()"> </el-input> </el-form-item> <el-form-item> @@ -43,21 +41,22 @@ <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 class="table" v-if="radio === 0"> + <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" - :page="testObjectPage" :tableLoading="tableLoading"></lims-table> + <!-- 妫�楠屽璞¤〃鏍�--> + <div class="table" v-if="radio === 1"> + <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="900px"> - <lims-table :tableData="productData" :column="productColumn" height="460" - :page="productPage" :tableLoading="productableLoading"></lims-table> + <lims-table :tableData="productData" :column="productColumn" height="460" @pagination="productPagination" + :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> @@ -65,7 +64,8 @@ </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 :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> @@ -81,11 +81,9 @@ </el-dialog> <el-dialog :visible.sync="uploadDia" title="鏁版嵁瀵煎叆" width="500px"> <div style="margin: 0 auto;"> - <el-upload ref="upload" :action="uploadAction" - :auto-upload="false" :file-list="fileList" - :headers="token" :limit="1" - :on-change="beforeUpload" :on-error="onError" :on-success="onSuccess" accept=".xlsx" drag - name="file"> + <el-upload ref="upload" :action="uploadAction" :auto-upload="false" :file-list="fileList" :headers="token" + :limit="1" :on-change="beforeUpload" :on-error="onError" :on-success="onSuccess" accept=".xlsx" drag + name="file"> <i class="el-icon-upload"></i> <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> </el-upload> @@ -98,56 +96,72 @@ <!--妫�楠岄」鐩弬鏁�-缂栬緫寮规--> <EditForm ref="editForm" @refreshList="refreshList1"></EditForm> <testObjectEditForm ref="testObjectEditForm" @refreshList="refreshList"></testObjectEditForm> - <BindPartDialog v-if="bindPartDialog" :bindPartDialog="bindPartDialog" - :currentRow="currentRow" - :type="type" - @closeBindPartDialog="closeBindPartDialog"></BindPartDialog> - <BindSupplierDensityDialog v-if="bindSupplierDensityDialog" - :bindSupplierDensityDialog="bindSupplierDensityDialog" - :currentRow="currentSupplierDensityRow" - @closeBindPartDialog="closeBindSupplierDensityDialog"></BindSupplierDensityDialog> + <BindPartDialog v-if="bindPartDialog" :bindPartDialog="bindPartDialog" :currentRow="currentRow" :type="type" + @closeBindPartDialog="closeBindPartDialog" :currentObj="currentObj"> + </BindPartDialog> + <BindSupplierDensityDialog v-if="bindSupplierDensityDialog" :bindSupplierDensityDialog="bindSupplierDensityDialog" + :currentRow="currentSupplierDensityRow" @closeBindPartDialog="closeBindSupplierDensityDialog"> + </BindSupplierDensityDialog> + <el-dialog title="杞﹂棿缁戝畾" :visible.sync="workshopVisible" width="400px"> + <el-form :model="workshopForm" ref="workshopForm" :rules="workshopRules" label-position="right" + label-width="100px"> + <el-form-item label="杞﹂棿鍚嶇О" prop="workShopId"> + <el-select v-model="workshopForm.workShopId" placeholder="璇烽�夋嫨" size="small"> + <el-option v-for="item in workshopList" :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="workshopVisible = false">鍙� 娑�</el-button> + <el-button :loading="uploading" type="primary" @click="submitWorkshop">纭� 璁�</el-button> + </span> + </el-dialog> </div> </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, upProduct, + selectTestObjectList, upProduct, updateWorkShop, updateObjectWorkShop } 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 {getToken} from "@/utils/auth"; - +import EditForm from "@/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue"; +import testObjectEditForm from "@/views/structural/capabilityAndLaboratory/capabilityComponents/testObjectEditForm.vue"; +import { getToken } from "@/utils/auth"; +import { obtainItemParameterList } from '@/api/structural/laboratoryScope' +import { selectWorkShop } from "@/api/structural/workshop.js" export default { - components: {limsTable, EditForm, testObjectEditForm, BindPartDialog, BindSupplierDensityDialog}, + name: 'Capability', + components: { limsTable, EditForm, testObjectEditForm, BindPartDialog, BindSupplierDensityDialog }, data() { return { 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'}, - {label: '妫�楠屽瓙椤�', prop: 'inspectionItemSubclass'}, - {label: '妫�楠屽瓙椤笶N', prop: 'inspectionItemSubclassEn'}, - {label: '妫�楠岄」鍒嗙被', prop: 'inspectionItemClass'}, - {label: '妫�楠岄」鍒嗙被EN', prop: 'inspectionItemClassEn'}, - {label: '妫�楠屽璞�', prop: 'sample'}, - {label: '鍗曚环(鍏�)', prop: 'price'}, - {label: '璇曢獙瀹�', prop: 'sonLaboratory'}, - {label: '瑕佹眰鎻忚堪', prop: 'askTell'}, - {label: '瑕佹眰鍊�', prop: 'ask'}, - {label: '璁¢噺鍗曚綅', prop: 'unit'}, - {label: '宸ユ椂(H)', prop: 'manHour'}, - {label: '棰勮鏃堕棿(H)', prop: 'manDay'}, - {label: '宸ユ椂鍒嗙粍', prop: 'manHourGroup'}, - {label: '鍒涘缓鏃堕棿', prop: 'createTime'}, - {label: '淇敼鏃堕棿', prop: 'updateTime'}, - {label: '鏉′欢', prop: 'radiusList'}, + { label: '妫�楠岄」', prop: 'inspectionItem' }, + { label: '妫�楠岄」EN', prop: 'inspectionItemEn' }, + { label: '妫�楠屽瓙椤�', prop: 'inspectionItemSubclass' }, + { label: '妫�楠屽瓙椤笶N', prop: 'inspectionItemSubclassEn' }, + { label: '妫�楠岄」鍒嗙被', prop: 'inspectionItemClass' }, + { label: '妫�楠岄」鍒嗙被EN', prop: 'inspectionItemClassEn' }, + { label: '妫�楠屽璞�', prop: 'sample' }, + { label: '鍗曚环(鍏�)', prop: 'price' }, + { label: '璇曢獙瀹�', prop: 'sonLaboratory' }, + { label: '瑕佹眰鎻忚堪', prop: 'askTell' }, + { label: '瑕佹眰鍊�', prop: 'ask' }, + // { label: '璇曢獙鏉′欢', prop: 'radiusList' }, + { label: '璁¢噺鍗曚綅', prop: 'unit' }, + { label: '宸ユ椂(H)', prop: 'manHour' }, + { label: '棰勮鏃堕棿(H)', prop: 'manDay' }, + { label: '宸ユ椂鍒嗙粍', prop: 'manHourGroup' }, + { label: '鍒涘缓鏃堕棿', prop: 'createTime' }, + { label: '淇敼鏃堕棿', prop: 'updateTime' }, { dataType: 'action', fixed: 'right', @@ -172,9 +186,9 @@ } ], page: { - total:0, - size:10, - current:1 + total: 0, + size: 10, + current: 1 }, testObjectTableData: [], testObjectColumn: [ @@ -184,17 +198,23 @@ prop: 'laboratoryId', minWidth: '130', formatData: (params) => { - if (params == 1) { - return '瑁呭鐢电紗璇曢獙瀹�' - } else if (params == 5) { - return '閫氫俊浜у搧瀹為獙瀹�' - } else if (params == 6) { - return '鐢靛姏浜у搧瀹為獙瀹�' - } else if (params == 8) { - return '鍌ㄨ兘浜у搧瀹為獙瀹�' + let index = this.laboratoryList.findIndex(item => item.value == params) + if (index > -1) { + return this.laboratoryList[index].label } else { - return '灏勯绾跨紗瀹為獙瀹�' + return null } + // if (params == 1) { + // return '瑁呭鐢电紗璇曢獙瀹�' + // } else if (params == 5) { + // return '閫氫俊浜у搧瀹為獙瀹�' + // } else if (params == 6) { + // return '鐢靛姏浜у搧瀹為獙瀹�' + // } else if (params == 8) { + // return '鍌ㄨ兘浜у搧瀹為獙瀹�' + // } else { + // return '灏勯绾跨紗瀹為獙瀹�' + // } }, formatType: (params) => { if (params == 1) { @@ -206,38 +226,29 @@ } else if (params == 8) { return 'danger' } else { - return '' + return null } } }, - {label: '妫�楠屽璞�', prop: 'specimenName'}, - {label: '妫�楠屽璞N', prop: 'specimenNameEn'}, - {label: '浜у搧', prop: 'product'}, - {label: '瀵硅薄浠e彿', prop: 'code'}, - {label: '瀵硅薄绫诲瀷', prop: 'objectType', + { label: '妫�楠屽璞�', prop: 'specimenName' }, + { label: '妫�楠屽璞N', prop: 'specimenNameEn' }, + { label: '浜у搧', prop: 'product' }, + // { label: '瀵硅薄浠e彿', prop: 'code' }, + { + label: '瀵硅薄绫诲瀷', prop: 'objectType', dataType: 'tag', formatData: (params) => { - if (params == 1) { - return '鍘熸潗鏂�' - } else if (params == 2) { - return '鎴愬搧' - } else { - return '杈呮潗' + let obj = this.productClassification.find(m => params == m.value) + if (obj) { + return obj.label } }, - formatType: (params) => { - if (params == 1) { - return 'success' - } else if (params == 2) { - return 'info' - } else { - return 'warning' - } - }}, - {label: '鍒涘缓浜�', prop: 'createUserName'}, - {label: '鏇存柊浜�', prop: 'updateUserName'}, - {label: '鍒涘缓鏃堕棿', prop: 'createTime'}, - {label: '鏇存柊鏃堕棿', prop: 'updateTime'}, + }, + { label: '杞﹂棿鍚嶇О', prop: 'workShopName' }, + { label: '鍒涘缓浜�', prop: 'createUserName' }, + { label: '鏇存柊浜�', prop: 'updateUserName' }, + { label: '鍒涘缓鏃堕棿', prop: 'createTime' }, + { label: '鏇存柊鏃堕棿', prop: 'updateTime' }, { dataType: 'action', fixed: 'right', @@ -271,16 +282,28 @@ clickFun: (row) => { this.bindPartFirst(row); }, + disabled: (row) => { + return row.product + } + }, + { + name: '杞﹂棿缁戝畾', + type: 'text', + clickFun: (row) => { + this.bindWokshop1(row); + }, + disabled: (row) => { + return row.objectType != '鍘熻緟鏉�' && row.objectType != '鍖呮潗' + } }, ] } ], testObjectPage: { - total:0, - size:10, - current:0 + total: 0, + size: 10, + current: 0 }, - tableLoading: false, addOrUpdate: '', tree: null, loading: true, @@ -293,8 +316,9 @@ productLoad: false, diaProduct: false, productColumn: [ - {label: '浜у搧鍚嶇О', prop: 'name'}, - {label: '浜у搧鍚嶇ОEN', prop: 'nameEn'}, + { label: '浜у搧鍚嶇О', prop: 'name' }, + { label: '浜у搧鍚嶇ОEN', prop: 'nameEn' }, + // { label: '杞﹂棿鍚嶇О', prop: 'workShopName' }, { dataType: 'action', label: '鎿嶄綔', @@ -320,21 +344,36 @@ this.bindPartSecond(row); }, }, - { - name: '鍘傚瀵嗗害缁戝畾', - type: 'text', - clickFun: (row) => { - this.bindSupplierDensitySecond(row); - }, - }, + // { + // name: '杞﹂棿缁戝畾', + // type: 'text', + // clickFun: (row) => { + // this.bindWokshop(row); + // }, + // showHide: (row) => { + // if (this.currentObj.objectType != '鍘熻緟鏉�' && row.objectType != '鍖呮潗') { + // return false + // } else { + // return true + // } + // } + // }, + // { + // name: '鍘傚瀵嗗害缁戝畾', + // type: 'text', + // clickFun: (row) => { + // this.bindSupplierDensitySecond(row); + // }, + // }, ] } ], productData: [], productPage: { - total:0, - size:10, - current:0 + total: 0, + size: 10, + current: 1, + layout: 'total, prev, pager, next' }, productableLoading: false, productEditDia: false, @@ -352,17 +391,32 @@ }, uploadDia: false, fileList: [], - token: {Authorization: "Bearer " + getToken()}, + token: { Authorization: "Bearer " + getToken() }, uploading: false, currentRow: {}, // 閫夋嫨闆朵欢缁戝畾鏈潯鏁版嵁鐨勪俊鎭� currentSupplierDensityRow: {}, // 閫夋嫨闆朵欢缁戝畾鏈潯鏁版嵁鐨勪俊鎭� bindSupplierDensityDialog: false, bindPartDialog: false, - type: null, // 闆朵欢缁戝畾鐨勭被鍨�--0锛氭楠屽璞★紝1锛氫骇鍝佺淮鎶� + type: null, // 闆朵欢缁戝畾鐨勭被鍨�--0锛氭楠屽璞★紝1锛氫骇鍝佺淮鎶�, + laboratoryList: [], + productClassification: [],//浜у搧绫诲瀷 + currentObj: {},//褰撳墠瀵硅薄 + currentProduct: {},//褰撳墠浜у搧 + workshopVisible: false, + workshopForm: {}, + workshopRules: { + workShopId: [{ required: true, message: '璇烽�夋嫨杞﹂棿', trigger: 'change' }] + }, + workshopList: [],//杞﹂棿鍒楄〃 } }, created() { + this.getItemParameterList() this.refreshTable() + this.getDicts("product_classification").then((response) => { + this.productClassification = this.dictToValue(response.data); + }); + this.selectWorkShop() }, computed: { title() { @@ -370,6 +424,11 @@ } }, methods: { + selectWorkShop() { + selectWorkShop({ size: -1, current: -1 }).then(res => { + this.workshopList = res.data.records + }) + }, submitUpload() { if (this.$refs.upload.uploadFiles.length === 0) { this.$message.error('鏈�夋嫨鏂囦欢') @@ -382,8 +441,8 @@ this.$refs.upload.clearFiles() this.uploadDia = false this.uploading = false - if (response.code === 201) { - this.$message.error(response.message) + if (response.code !== 200) { + this.$message.error(response.msg) return } this.$message.success('涓婁紶鎴愬姛') @@ -418,25 +477,25 @@ return true; } }, - handleSuccessUp (response, file, fileList) { - this.$refs.upload.clearFiles() - if (response.code === 201) { - this.$message.error(response.message) + handleSuccessUp1(response, file, fileList) { + this.$refs.upload1.clearFiles() + if (response.code !== 200) { + this.$message.error(response.msg) return } this.$message.success('涓婁紶鎴愬姛') this.refreshTable() }, - refreshList () { + refreshList() { this.refreshTable() }, - refreshList1 () { + refreshList1() { this.refreshTable() }, refreshTable() { this.tableLoading = true if (this.radio === 0) { - selectItemParameterList({...this.page, ...this.itemParameterForm}).then(res => { + selectItemParameterList({ ...this.page, ...this.itemParameterForm }).then(res => { this.tableLoading = false if (res.code === 200) { this.tableData = res.data.records @@ -446,7 +505,7 @@ this.tableLoading = false }) } else { - selectTestObjectList({...this.testObjectPage, ...this.itemParameterForm}).then(res => { + selectTestObjectList({ ...this.testObjectPage, ...this.itemParameterForm }).then(res => { this.tableLoading = false if (res.code === 200) { this.testObjectTableData = res.data.records @@ -458,7 +517,17 @@ } }, refresh() { + this.itemParameterForm = { + inspectionItem: null, + inspectionItemSubclass: null, + sample: null + } this.resetForm('itemParameterForm') + this.page.current = 1 + this.refreshTable() + }, + pagination(page) { + this.page.size = page.limit this.refreshTable() }, // 妫�楠岄」鐩弬鏁版柊澧� @@ -470,17 +539,17 @@ } }, // 妫�楠岄」鐩弬鏁�-鎵撳紑淇敼寮规 - editForm (row) { + editForm(row) { this.$refs.editForm.openDia('edit', row) }, // 妫�楠岄」鐩弬鏁�-鍒犻櫎 - delete (row) { + delete(row) { this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - delItemParameter({id:row.id}).then(res => { + delItemParameter({ id: row.id }).then(res => { if (res.code === 200) { this.$message.success('鍒犻櫎鎴愬姛') this.refreshTable(); @@ -494,17 +563,17 @@ }) }, // 妫�楠屽璞�-鎵撳紑淇敼寮规 - editTestObjectForm (row) { + editTestObjectForm(row) { this.$refs.testObjectEditForm.openDia('edit', row) }, // 妫�楠岄」鐩弬鏁�-鍒犻櫎 - deleteTest (row) { + deleteTest(row) { this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - delTestObject({id:row.id}).then(res => { + delTestObject({ id: row.id }).then(res => { if (res.code === 200) { this.$message.success('鍒犻櫎鎴愬姛') this.refreshTable(); @@ -519,16 +588,28 @@ }, // 浜у搧缁存姢 upProduct(row) { + this.currentObj = row; + // if (this.currentObj.objectType == '鍘熻緟鏉�') { + // if (this.productColumn.length < 4) { + // this.productColumn.splice(2, 0, { label: '杞﹂棿鍚嶇О', prop: 'workShopName' }) + // } + // } else { + // if (this.productColumn.length == 4) { + // this.productColumn.splice(2, 1) + // } + // } this.diaProduct = true this.objectId = row.id + this.productPage.current = 1 this.getProductList(row) }, - getProductList () { + // 鏌ヨ浜у搧缁存姢鍒楄〃鏁版嵁 + getProductList() { const params = { objectId: this.objectId, } this.productableLoading = true - selectProductListByObjectId({...params, ...this.productPage}).then(res => { + selectProductListByObjectId({ ...params, ...this.productPage }).then(res => { this.productableLoading = false this.productData = res.data.records this.productPage.total = res.data.total @@ -536,8 +617,13 @@ this.productableLoading = false }) }, + // 浜у搧缁存姢鍒楄〃鍒嗛〉 + productPagination(page) { + this.productPage.current = page.page + this.getProductList() + }, // 浜у搧缁存姢-鏂板-缂栬緫 - editProduct (type, row) { + editProduct(type, row) { this.productEditDia = true this.operationType = type if (type === 'edit') { @@ -545,7 +631,7 @@ } }, // 鎻愪氦浜у搧缁存姢淇敼 - submitProduct () { + submitProduct() { this.$refs['productEditForm'].validate((valid) => { if (valid) { this.uploading = true @@ -581,13 +667,13 @@ this.productEditDia = false }, // 浜у搧缁存姢-鍒犻櫎 - deleteProduct (row) { + deleteProduct(row) { this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ユ暟鎹�, 鏄惁缁х画?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - delProduct({id:row.id}).then(res => { + delProduct({ id: row.id }).then(res => { if (res.code === 200) { this.$message.success('鍒犻櫎鎴愬姛') this.getProductList(); @@ -601,33 +687,102 @@ }) }, // 闆朵欢缁戝畾 - bindPartFirst (row) { + bindPartFirst(row) { this.bindPart(row, 0) }, - bindPartSecond (row) { + bindPartSecond(row) { this.bindPart(row, 1) }, + // 浜у搧-杞﹂棿缁戝畾 + bindWokshop(row) { + this.workshopForm.workShopId = row.workShopId + this.currentProduct = row; + this.workshopVisible = true + }, + // 瀵硅薄-杞﹂棿缁戝畾 + bindWokshop1(row) { + this.$set(this.workshopForm, 'workShopId', row.workShopId) + this.currentProduct = {}; + this.currentObj = row; + this.workshopVisible = true + }, // 鍘傚瀵嗗害缁戝畾 - bindSupplierDensitySecond (row) { + bindSupplierDensitySecond(row) { this.bindSupplierDensity(row) }, // 鎵撳紑鍘傚瀵嗗害缁戝畾寮规 - bindSupplierDensity (row) { + bindSupplierDensity(row) { this.currentSupplierDensityRow = row this.bindSupplierDensityDialog = true }, // 鎵撳紑闆朵欢缁戝畾寮规 - bindPart (row, index) { + bindPart(row, index) { + if (index == 0) { + this.currentObj = row + } this.type = index this.currentRow = row this.bindPartDialog = true }, - closeBindPartDialog () { + closeBindPartDialog() { this.bindPartDialog = false }, - closeBindSupplierDensityDialog () { + closeBindSupplierDensityDialog() { this.bindSupplierDensityDialog = false }, + getItemParameterList() { + obtainItemParameterList().then(res => { + let data = [] + res.data.forEach(a => { + data.push({ + label: a.laboratoryName, + value: a.id + }) + }) + this.laboratoryList = data + }) + }, + // 缁戝畾杞﹂棿 + submitWorkshop() { + this.$refs['workshopForm'].validate((valid) => { + if (valid) { + this.uploading = true + if (this.currentProduct.id) { + // 浜у搧缁戝畾杞﹂棿 + updateWorkShop({ + id: this.currentProduct.id ? this.currentProduct.id : null, + workShopId: this.workshopForm.workShopId, + workShopName: this.workshopList.find(m => m.id == this.workshopForm.workShopId).name, + }).then(res => { + this.uploading = false + if (res.code === 200) { + this.$message.success('缁戝畾鎴愬姛') + this.getProductList(); + this.workshopVisible = false + } + }).catch(err => { + this.uploading = false + }) + } else { + // 瀵硅薄缁戝畾杞﹂棿 + updateObjectWorkShop({ + id: this.currentObj.id ? this.currentObj.id : null, + workShopId: this.workshopForm.workShopId, + workShopName: this.workshopList.find(m => m.id == this.workshopForm.workShopId).name, + }).then(res => { + this.uploading = false + if (res.code === 200) { + this.$message.success('缁戝畾鎴愬姛') + this.refreshTable() + this.workshopVisible = false + } + }).catch(err => { + this.uploading = false + }) + } + } + }) + } } } </script> -- Gitblit v1.9.3