From e2ca529f2d095293d737b5a2f0b7562e85919418 Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期五, 04 七月 2025 09:15:16 +0800 Subject: [PATCH] 检验方案 --- src/views/qms/SamplingRulesList.vue | 2 src/views/qms/modules/defect/DefectModel.vue | 1 src/views/qms/InspectionToolsList.vue | 2 src/views/qms/modules/inspectionTools/InspectionToolsModel.vue | 1 src/views/qms/modules/samplingRules/SamplingRulesModel.vue | 1 src/views/base/modules/shift/ShiftModel.vue | 12 src/views/qms/modules/inspectionItem/InspectionItemModel.vue | 1 src/views/base/modules/warehouse/WarehouseModel.vue | 1 src/views/qms/InspectionPlanList.vue | 429 +++++++++++++++++ src/views/qms/InspectionItemList.vue | 2 src/views/base/SupplierList.vue | 2 src/views/base/modules/group/GroupModal.vue | 1 src/views/qms/modules/inspectionPlan/InspectionPlanModel.vue | 525 +++++++++++++++++++++ src/views/base/modules/FactoryManager/SelectUserModal.vue | 1 src/views/base/WarehouseList.vue | 2 src/views/base/modules/group/SelectUserModal.vue | 1 src/views/base/modules/supplier/SupplierModel.vue | 1 src/views/qms/modules/inspectionPlan/JSelectInspectionItemListModal.vue | 258 ++++++++++ src/views/qms/DefectList.vue | 2 src/views/qms/modules/inspectionPlan/InspectionPlanItemList.vue | 103 ++++ src/views/qms/modules/inspectionPlan/MaterialListModal.vue | 137 +++++ src/views/base/modules/FactoryManager/FactoryModal.vue | 1 22 files changed, 1,478 insertions(+), 8 deletions(-) diff --git a/src/views/base/SupplierList.vue b/src/views/base/SupplierList.vue index 270a0c6..81e83ca 100644 --- a/src/views/base/SupplierList.vue +++ b/src/views/base/SupplierList.vue @@ -102,7 +102,7 @@ <a-icon type="down" /> </a> <a-menu slot="overlay"> - <a-menu-item> + <a-menu-item v-if="record.supplierStatus==1"> <a @click="handleEdit(record)">缂栬緫</a> </a-menu-item> <a-menu-item> diff --git a/src/views/base/WarehouseList.vue b/src/views/base/WarehouseList.vue index fbb8ec7..38dde11 100644 --- a/src/views/base/WarehouseList.vue +++ b/src/views/base/WarehouseList.vue @@ -98,7 +98,7 @@ <a-icon type="down" /> </a> <a-menu slot="overlay"> - <a-menu-item> + <a-menu-item v-if="record.warehouseStatus==1"> <a @click="handleEdit(record)">缂栬緫</a> </a-menu-item> <a-menu-item> diff --git a/src/views/base/modules/FactoryManager/FactoryModal.vue b/src/views/base/modules/FactoryManager/FactoryModal.vue index 328546f..dea6f54 100644 --- a/src/views/base/modules/FactoryManager/FactoryModal.vue +++ b/src/views/base/modules/FactoryManager/FactoryModal.vue @@ -5,6 +5,7 @@ :ok=false :visible="visible" :confirmLoading="confirmLoading" + :maskClosable="false" :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" diff --git a/src/views/base/modules/FactoryManager/SelectUserModal.vue b/src/views/base/modules/FactoryManager/SelectUserModal.vue index 4a374c6..ee1d373 100644 --- a/src/views/base/modules/FactoryManager/SelectUserModal.vue +++ b/src/views/base/modules/FactoryManager/SelectUserModal.vue @@ -5,6 +5,7 @@ :title="title" :width="1000" :visible="visible" + :maskClosable="false" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> diff --git a/src/views/base/modules/group/GroupModal.vue b/src/views/base/modules/group/GroupModal.vue index a7d7e2d..70dca51 100644 --- a/src/views/base/modules/group/GroupModal.vue +++ b/src/views/base/modules/group/GroupModal.vue @@ -4,6 +4,7 @@ :width="800" :visible="visible" :confirmLoading="confirmLoading" + :maskClosable="false" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴" diff --git a/src/views/base/modules/group/SelectUserModal.vue b/src/views/base/modules/group/SelectUserModal.vue index 5aed197..36eeb3b 100644 --- a/src/views/base/modules/group/SelectUserModal.vue +++ b/src/views/base/modules/group/SelectUserModal.vue @@ -5,6 +5,7 @@ :title="title" :width="1000" :visible="visible" + :maskClosable="false" @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> diff --git a/src/views/base/modules/shift/ShiftModel.vue b/src/views/base/modules/shift/ShiftModel.vue index dce3877..6ebf032 100644 --- a/src/views/base/modules/shift/ShiftModel.vue +++ b/src/views/base/modules/shift/ShiftModel.vue @@ -1,6 +1,14 @@ <template> - <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading" :okButtonProps="{ props: {disabled: disableSubmit} }" - @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> + <a-modal + :title="title" + :width="800" + :visible="visible" + :maskClosable="false" + :confirmLoading="confirmLoading" + :okButtonProps="{ props: {disabled: disableSubmit} }" + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴"> <a-spin :spinning="confirmLoading"> <a-form :form="form"> <a-row :gutter="24"> diff --git a/src/views/base/modules/supplier/SupplierModel.vue b/src/views/base/modules/supplier/SupplierModel.vue index 8f5aa30..68eef68 100644 --- a/src/views/base/modules/supplier/SupplierModel.vue +++ b/src/views/base/modules/supplier/SupplierModel.vue @@ -3,6 +3,7 @@ :title="title" :width="800" :visible="visible" + :maskClosable="false" :confirmLoading="confirmLoading" :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" diff --git a/src/views/base/modules/warehouse/WarehouseModel.vue b/src/views/base/modules/warehouse/WarehouseModel.vue index c268b71..2e3c80f 100644 --- a/src/views/base/modules/warehouse/WarehouseModel.vue +++ b/src/views/base/modules/warehouse/WarehouseModel.vue @@ -4,6 +4,7 @@ :width="800" :visible="visible" :confirmLoading="confirmLoading" + :maskClosable="false" :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" diff --git a/src/views/qms/DefectList.vue b/src/views/qms/DefectList.vue index 5cf5eef..83f75f1 100644 --- a/src/views/qms/DefectList.vue +++ b/src/views/qms/DefectList.vue @@ -98,7 +98,7 @@ <a-icon type="down" /> </a> <a-menu slot="overlay"> - <a-menu-item> + <a-menu-item v-if="record.defectStatus==1"> <a @click="handleEdit(record)">缂栬緫</a> </a-menu-item> <a-menu-item> diff --git a/src/views/qms/InspectionItemList.vue b/src/views/qms/InspectionItemList.vue index 0689c6a..476a032 100644 --- a/src/views/qms/InspectionItemList.vue +++ b/src/views/qms/InspectionItemList.vue @@ -98,7 +98,7 @@ <a-icon type="down" /> </a> <a-menu slot="overlay"> - <a-menu-item> + <a-menu-item v-if="record.itemStatus==1"> <a @click="handleEdit(record)">缂栬緫</a> </a-menu-item> <a-menu-item> diff --git a/src/views/qms/InspectionPlanList.vue b/src/views/qms/InspectionPlanList.vue new file mode 100644 index 0000000..b1fb60e --- /dev/null +++ b/src/views/qms/InspectionPlanList.vue @@ -0,0 +1,429 @@ +<template> + <a-card :bordered="false"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :md="6" :sm="8"> + <a-form-item label="妫�楠屾柟妗堢紪鐮�"> + <a-input placeholder="璇疯緭鍏ユ楠屾柟妗堢紪鐮�" v-model="queryParam.planCode" /> + </a-form-item> + </a-col> + <a-col :md="6" :sm="8"> + <a-form-item label="妫�楠屾柟妗堝垎绫�"> + <j-search-select-tag + placeholder="璇烽�夋嫨妫�楠屾柟妗堝垎绫�" + v-model="queryParam.planCategory" + dict="plan_category" + /> + </a-form-item> + </a-col> + <a-col :md="6" :sm="8"> + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> + </span> + </a-col> + </a-row> + </a-form> + </div> + + <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> + <div class="table-operator"> + <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + </div> + + <!-- table鍖哄煙-begin --> + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :customRow="customRow" + :rowClassName="tableRowClass" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}" + @change="handleTableChange" + > + <!--鐘舵�佹爮涓�у睍绀�--> + <span + slot="status" + slot-scope="text,record" + > + <a-badge + v-if="record.planStatus==1" + status="success" + /> + <span + v-if="record.planStatus==1" + class="success" + >鍚敤</span> + <a-badge + v-if="record.planStatus==0" + status="error" + /> + <span + v-if="record.planStatus==0" + class="error" + >绂佺敤</span> + </span> + <span + slot="publishStatus" + slot-scope="text,record" + > + <a-badge + v-if="record.publishStatus==1" + status="success" + /> + <span + v-if="record.publishStatus==1" + class="success" + >宸插彂甯�</span> + <a-badge + v-if="record.publishStatus==0" + status="error" + /> + <span + v-if="record.publishStatus==0" + class="error" + >寰呭彂甯�</span> + </span> + <span + slot="version" + slot-scope="text,record" + > + <span + v-if="record.planStatus==1" + class="success" + >{{record.version}}</span> + <span + v-if="record.planStatus==0" + class="error" + >{{record.version}}</span> + </span> + <span + slot="action" + slot-scope="text, record" + v-if="record.isNewVersion == 1" + > + <a-popconfirm + v-if="record.publishStatus == 0 && record.planStatus == 1" + title="纭畾鍙戝竷鍚�?" + @confirm="() => handlePublish(record.id)" + > + <a>鍙戝竷</a> + </a-popconfirm> + <a-popconfirm + v-if="record.publishStatus == 1 && record.planStatus == 1" + title="纭畾鍙栨秷鍙戝竷鍚�?" + @confirm="() => handlePublish(record.id)" + > + <a>鍙栨秷鍙戝竷</a> + </a-popconfirm> + <a-divider type="vertical" v-if="record.publishStatus == 1 && record.planStatus == 1"/> + <a-popconfirm + v-if="record.publishStatus == 1 && record.planStatus == 1" + title="纭畾鍗囩増鍚�?" + @confirm="() => handleVersion(record.id)" + > + <a>鍗囩増</a> + </a-popconfirm> + <a-divider type="vertical" v-if="record.planStatus == 1"/> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item v-if="record.planStatus==1 && record.publishStatus==0"> + <a @click="handleEdit(record)">缂栬緫</a> + </a-menu-item> + <a-menu-item> + <a + href="javascript:;" + @click="handleDetail(record)" + >璇︽儏</a> + </a-menu-item> + <a-menu-item v-if="record.publishStatus==0"> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + > + <a>鍒犻櫎</a> + </a-popconfirm> + + </a-menu-item> + <a-menu-item v-if="record.planStatus == 0"> + <a-popconfirm + title="纭畾鍚敤鍚�?" + @confirm="() => handleActive(record.id)" + > + <a>鍚敤</a> + </a-popconfirm> + </a-menu-item> + <a-menu-item v-if="record.planStatus == 1 && record.publishStatus == 0"> + <a-popconfirm + title="纭畾绂佺敤鍚�?" + @confirm="() => handleActive(record.id)" + > + <a>绂佺敤</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + </a-table> + <a-tabs defaultActiveKey="1"> + <a-tab-pane tab="妫�楠屾柟妗堟楠岄」鏄庣粏" key="1"> + <inspection-plan-item-list ref="inspectionPlanItemList"></inspection-plan-item-list> + </a-tab-pane> + </a-tabs> + <!-- table鍖哄煙-end --> + <inspection-plan-model ref="modalForm" @ok="modalFormOk"></inspection-plan-model> + </a-card> +</template> + +<script> +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import InspectionPlanModel from './modules/inspectionPlan/InspectionPlanModel' +import InspectionPlanItemList from './modules/inspectionPlan/InspectionPlanItemList' +import { requestPut,postAction,getAction } from '@/api/manage' +import JDictSelectTag from '@/components/dict/JDictSelectTag' +import JSearchSelectTag from '@/components/dict/JSearchSelectTag' + +export default { + name: 'InspectionPlanList', + mixins: [JeecgListMixin], + components: { + InspectionPlanModel, + InspectionPlanItemList, + JDictSelectTag, + JSearchSelectTag, + }, + data() { + return { + description: '妫�楠屾柟妗�', + url: { + list: '/qms/inspectionPlan/list', + importExcelUrl: '/qms/inspectionPlan/importExcel', + exportXlsUrl: '/qms/inspectionPlan/exportXls', + edit:'/qms/inspectionPlan/edit', + submit:'/qms/inspectionPlan/submit', + active: '/qms/inspectionPlan/active', + publish:'/qms/inspectionPlan/publish', + version:'/qms/inspectionPlan/version' + }, + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + }, + { + title: '妫�楠屾柟妗堢紪鐮�', + align: 'center', + dataIndex: 'planCode', + sorter: true, + }, + { + title: '妫�楠屾柟妗堝悕绉�', + align: 'center', + dataIndex: 'planName', + }, + { + title: '妫�楠屾柟妗堝垎绫�', + align: 'center', + dataIndex: 'planCategory_dictText', + }, + { + title: '鐗╂枡缂栫爜', + align: 'center', + dataIndex: 'materialNumber', + }, + { + title: '鐗╂枡鍚嶇О', + align: 'center', + dataIndex: 'materialName', + }, + { + title: '鎶芥牱瑙勫垯', + align: 'center', + dataIndex: 'ruleId_dictText', + }, + { + title: '鏂规鎻忚堪', + align: 'center', + dataIndex: 'descreption', + }, + { + title: '鐗堟湰', + align: 'center', + scopedSlots: { + customRender: 'version', + }, + dataIndex: 'version', + }, + { + title: '鏂规鐘舵��', + align: 'center', + scopedSlots: { + customRender: 'status', + }, + dataIndex: 'planStatus', + }, + { + title: '鍙戝竷鐘舵��', + align: 'center', + scopedSlots: { + customRender: 'publishStatus', + }, + dataIndex: 'publishStatus', + }, + { + width: 180, + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' }, + }, + ], + loading:false + } + }, + computed: { + /* 瀵煎叆璺緞椤甸潰閲嶆柊璁$畻 */ + importExcelUrl: function () { + // return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;//寮�鍙戠幆澧冩寚鍚� + return `${window._CONFIG['hxFileURL']}/${this.url.importExcelUrl}` + }, + }, + methods: { + searchQuery(){ + this.selectedRowKeys = [] + this.$refs.inspectionPlanItemList.dataSource = [] + this.loadData(1); + }, + searchReset() { + this.queryParam = {} + this.selectedRowKeys = [] + this.$refs.inspectionPlanItemList.dataSource = [] + this.loadData(1); + }, + customRow(record) { + return { + on: { + click: (e) => { + this.onSelectChange(record.id.split(","), [record]); + }, + }, + } + }, + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + //灏嗗綋鍓嶉�変腑鐨勮褰曚紶鍒板瓙椤甸潰 + this.$bus.$emit('getInspectionPlanItemData', this.selectionRows[0]) + }, + handleEdit: function (record) { + this.$refs.modalForm.edit(record) + this.$refs.modalForm.title = '缂栬緫' + this.$refs.modalForm.disableSubmit = false + }, + handleAdd() { + this.$refs.modalForm.add() + this.$refs.modalForm.title = '鏂板' + this.$refs.modalForm.disableSubmit = false + }, + handleSubmit(record) { + let that = this; + that.loading = true + getAction(that.url.submit, { id:record.id}).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.loadData(); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.loading = false + }) + }, + //鍚敤绂佺敤 + handleActive(id) { + if (!this.url.active) { + this.$message.error("璇疯缃畊rl.active!") + return + } + let that = this; + requestPut(that.url.active, {}, { id: id }).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.loadData(); + } else { + that.$message.warning(res.message); + } + }); + }, + + //鍙戝竷 + handlePublish(id) { + if (!this.url.publish) { + this.$message.error("璇疯缃畊rl.publish!") + return + } + let that = this; + requestPut(that.url.publish, {}, { id: id }).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.loadData(); + } else { + that.$message.warning(res.message); + } + }); + }, + + //鍗囩増 + handleVersion(id) { + if (!this.url.version) { + this.$message.error("璇疯缃畊rl.version!") + return + } + let that = this; + requestPut(that.url.version, {}, { id: id }).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.loadData(); + } else { + that.$message.warning(res.message); + } + }); + }, + + tableRowClass(record, index) { + if (record.isNewVersion != '1') { + return "frozenRowClass"; + } + return ""; + }, + }, +} +</script> + +<style lang="less" scoped> +@import '~@assets/less/common.less'; +/deep/ .frozenRowClass { + color: #c9c9c9; +} +/deep/ .notshow { + display: none; +} +/deep/ .checked-td-of-add-table { + background-color: rgba(220, 220, 220, 1); +} +</style> \ No newline at end of file diff --git a/src/views/qms/InspectionToolsList.vue b/src/views/qms/InspectionToolsList.vue index b0eb2fa..da06d5e 100644 --- a/src/views/qms/InspectionToolsList.vue +++ b/src/views/qms/InspectionToolsList.vue @@ -98,7 +98,7 @@ <a-icon type="down" /> </a> <a-menu slot="overlay"> - <a-menu-item> + <a-menu-item v-if="record.toolStatus==1"> <a @click="handleEdit(record)">缂栬緫</a> </a-menu-item> <a-menu-item> diff --git a/src/views/qms/SamplingRulesList.vue b/src/views/qms/SamplingRulesList.vue index 28882b9..f0cca90 100644 --- a/src/views/qms/SamplingRulesList.vue +++ b/src/views/qms/SamplingRulesList.vue @@ -98,7 +98,7 @@ <a-icon type="down" /> </a> <a-menu slot="overlay"> - <a-menu-item> + <a-menu-item v-if="record.ruleStatus==1"> <a @click="handleEdit(record)">缂栬緫</a> </a-menu-item> <a-menu-item> diff --git a/src/views/qms/modules/defect/DefectModel.vue b/src/views/qms/modules/defect/DefectModel.vue index 86c508f..6878389 100644 --- a/src/views/qms/modules/defect/DefectModel.vue +++ b/src/views/qms/modules/defect/DefectModel.vue @@ -4,6 +4,7 @@ :width="800" :visible="visible" :confirmLoading="confirmLoading" + :maskClosable="false" :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" diff --git a/src/views/qms/modules/inspectionItem/InspectionItemModel.vue b/src/views/qms/modules/inspectionItem/InspectionItemModel.vue index 76fde16..c687893 100644 --- a/src/views/qms/modules/inspectionItem/InspectionItemModel.vue +++ b/src/views/qms/modules/inspectionItem/InspectionItemModel.vue @@ -3,6 +3,7 @@ :title="title" :width="800" :visible="visible" + :maskClosable="false" :confirmLoading="confirmLoading" :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" diff --git a/src/views/qms/modules/inspectionPlan/InspectionPlanItemList.vue b/src/views/qms/modules/inspectionPlan/InspectionPlanItemList.vue new file mode 100644 index 0000000..7b24d4c --- /dev/null +++ b/src/views/qms/modules/inspectionPlan/InspectionPlanItemList.vue @@ -0,0 +1,103 @@ +<template> + <a-card + :bordered="false" + class="card-area" + > + <a-table + ref="table" + bordered + size="middle" + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + @change="handleTableChange" + > + </a-table> + </a-card> +</template> + +<script> +import { requestPut } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' + +export default { + name: 'InspectionPlanItemList', + mixins: [JeecgListMixin], + components: {}, + data() { + return { + url: { + list: '/qms/inspectionItem/queryListByPlanId', + }, + queryParam: {}, + nodeType: 0, + dataSource: [], + disableMixinCreated:true, + columns: [ + { + title: '妫�楠岄」鐩紪鐮�', + align: 'center', + dataIndex: 'itemCode', + width: '10%', + }, + { + title: '妫�楠岄」鐩悕绉�', + dataIndex: 'itemName', + align: 'center', + }, + { + title: '妫�楠岄」鐩垎绫�', + dataIndex: 'itemCategoryName', + align: 'center', + }, + + { + title: '瀹氶噺/瀹氭��', + dataIndex: 'qualitativeOrQuantitativeName', + align: 'center', + }, + { + title: '娴嬮噺宸ュ叿', + dataIndex: 'inspectionToolsNames', + align: 'center', + }, + { + title: '鎺掑簭', + dataIndex: 'sorter', + align: 'center', + }, + { + title: '鏍囧噯鍊�', + dataIndex: 'standardValue', + align: 'center', + }, + { + title: '涓婂叕宸�', + dataIndex: 'maxValue', + align: 'center', + }, + { + title: '涓嬪叕宸�', + dataIndex: 'minValue', + align: 'center', + } + ] + } + }, + + methods: { + }, + mounted() { + this.$bus.$on('getInspectionPlanItemData', (data) => { + this.queryParam.inspectionPlanId = data.id; + this.searchQuery(); + }) + } +} +</script> + +<style scoped> +@import '~@assets/less/common.less'; +</style> \ No newline at end of file diff --git a/src/views/qms/modules/inspectionPlan/InspectionPlanModel.vue b/src/views/qms/modules/inspectionPlan/InspectionPlanModel.vue new file mode 100644 index 0000000..0c6c049 --- /dev/null +++ b/src/views/qms/modules/inspectionPlan/InspectionPlanModel.vue @@ -0,0 +1,525 @@ +<template> + <a-modal + :title="title" + :visible="visible" + :fullScreen="true" + :width="1200" + @ok="handleOk" + @cancel="handleCancel" + :maskClosable="false" + > + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-row style="width: 100%"> + <a-col :span="24 / 2"> + <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="妫�楠屾柟妗堢紪鐮�"> + <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ楠屾柟妗堢紪鐮�" v-decorator="['planCode', validatorRules.planCode]" /> + </a-form-item> + </a-col> + <a-col :span="24 / 2"> + <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="妫�楠屾柟妗堝悕绉�"> + <a-input :disabled="disableSubmit" placeholder="璇疯緭鍏ユ楠屾柟妗堝悕绉�" v-decorator="['planName', validatorRules.planName]" /> + </a-form-item> + </a-col> + </a-row> + <a-row style="width: 100%"> + <a-col :span="24 / 2"> + <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="妫�楠屾柟妗堝垎绫�"> + <j-dict-select-tag + :disabled="disableSubmit" + type="list" + v-decorator="['planCategory', validatorRules.planCategory]" + :triggerChange="true" + dictCode="plan_category" + placeholder="璇烽�夋嫨妫�楠屾柟妗堝垎绫�" + /> + </a-form-item> + </a-col> + <a-col :span="24 / 2"> + <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鎶芥牱瑙勫垯"> + <a-select + :disabled="disableSubmit" + :triggerChange="true" + :options="ruleOptions" + v-decorator="[ 'ruleId', validatorRules.ruleId ]" + placeholder='璇烽�夋嫨鎶芥牱瑙勫垯' + /> + </a-form-item> + </a-col> + </a-row> + <a-row style="width: 100%"> + <a-col :span="24 / 2"> + <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鐗╂枡缂栫爜"> + <a-input-search v-decorator="['materialNumber', validatorRules.materialNumber]" :disabled="disableSubmit" @search="materialSearch" enter-button + placeholder='璇烽�夋嫨鐗╂枡淇℃伅'/> + </a-form-item> + </a-col> + <a-col :span="24 / 2"> + <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鐗╂枡鍚嶇О"> + <a-input :disabled="true" v-decorator="['materialName', validatorRules.materialName]" placeholder='閫夋嫨鐗╂枡鍚庤嚜鍔ㄥ甫鍑�' /> + </a-form-item> + </a-col> + </a-row> + <a-row style="width: 100%"> + <a-col :span="24"> + <a-form-item :labelCol="{ span: 3 }" :wrapperCol="{ span: 21 }" label="鏂规鎻忚堪"> + <a-textarea + :disabled="disableSubmit" + :rows="2" + placeholder="..." + v-decorator="['descreption', validatorRules.descreption]" + /> + </a-form-item> + </a-col> + </a-row> + </a-form> + </a-spin> + <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectInspectionItemList()" :disabled="disableSubmit">閫夋嫨妫�楠岄」鐩�</a-button> + <a-table + ref="table" + bordered + size="middle" + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + @change="handleTableChange" + > + <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index"> + <div :key="col.dataIndex"> + <a-input-number + :disabled="disableSubmit" + v-if="col.dataIndex == 'sorter'" + :value="text" + @change="(e) => handleChange(e, record.key, col, index)" + :min="1" + /> + </div> + <div :key="col.dataIndex"> + <a-input-number + :disabled="disableSubmit" + v-if="col.dataIndex == 'standardValue'" + :value="text" + @change="(e) => handleChange(e, record.key, col, index)" + :min="0" + /> + </div> + <div :key="col.dataIndex"> + <a-input-number + :disabled="disableSubmit" + v-if="col.dataIndex == 'maxValue'" + :value="text" + @change="(e) => handleChange(e, record.key, col, index)" + :min="0" + /> + </div> + <div :key="col.dataIndex"> + <a-input-number + :disabled="disableSubmit" + v-if="col.dataIndex == 'minValue'" + :value="text" + @change="(e) => handleChange(e, record.key, col, index)" + :min="0" + /> + </div> + </template> + <span slot="action" slot-scope="text, record, index"> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record, index)" :disabled="disableSubmit"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + </a-table> + <template slot="footer" v-if="disableSubmit == false"> + <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button> + <a-button @click="handleOk" :disabled="isDisabled" type="primary">纭畾</a-button> + </template> + + <template slot="footer" v-if="disableSubmit == true"> + <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button> + </template> + <j-select-inspection-item-list-modal ref="inspectionItemForm" @ok="modalFormOk"></j-select-inspection-item-list-modal> + <material-list-modal ref="materialListModel" @sendSelectionRows="getMaterialRows"></material-list-modal> + </a-modal> +</template> + +<script> +import pick from 'lodash.pick' +import { ajaxGetDictItems } from '@/api/api' +import moment from 'moment' +import { getAction, postAction, requestPut } from '@/api/manage' +import JDictSelectTag from '@/components/dict/JDictSelectTag' +import JSearchSelectTag from '@/components/dict/JSearchSelectTag' +import JMultiSelectTag from '@/components/dict/JMultiSelectTag' +import { filterObj } from '@/utils/util' +import JSelectInspectionItemListModal from './JSelectInspectionItemListModal' +import store from '@/store' +import MaterialListModal from './MaterialListModal' + +export default { + name: 'InspectionPlanModel', + components: { + JMultiSelectTag, + JDictSelectTag, + JSelectInspectionItemListModal, + JSearchSelectTag, + store, + MaterialListModal + }, + data() { + return { + /* 鍒嗛〉鍙傛暟 */ + ipagination: { + current: 1, + pageSize: 10, + pageSizeOptions: ['10', '20', '30'], + showTotal: (total, range) => { + return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�' + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + isDisabled: false, + selectedRowKeys: {}, + state: { + show: false, + maintenanceValue: 1, + checkValue: 1, + maintenanceState: false, + checkState: false, + }, + inboundDate: '', + applicationDate: '', + supplierShow: false, + disableSubmit: false, + numDisable:false, + quantityDisable:false, + onlyCodeDisable:true, + returnShow:false, + toolingShow:false, + sharpenShow:false, + addDisable:false, + toolinngOptions:[], + title: '鎿嶄綔', + visible: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 6 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 }, + }, + confirmLoading: false, + loading: false, + form: this.$form.createForm(this), + dataSource: [], + toolingTreeData:[], + warehouseOptions:[], + locationOptions:[], + allToolingList:[], + param: {}, + barcodeCurrentType: false, + planId:'', + validatorRules: { + planCode: { + rules: [ + { + required: true, + message: '璇疯緭鍏ユ楠屾柟妗堢紪鐮�!', + }, + ], + }, + planName: { + rules: [ + { + required: true, + message: '璇疯緭鍏ユ楠屾柟妗堝悕绉�!', + }, + ], + }, + planCategory: { + rules: [ + { + required: true, + message: '璇烽�夋嫨妫�楠屾柟妗堝垎绫�!', + }, + ], + }, + }, + url: { + add: '/qms/inspectionPlan/add', + edit: '/qms/inspectionPlan/edit', + inpspectionItemList:'/qms/inspectionItem/list', + detailList:'/qms/inspectionItem/queryList', + }, + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 50, + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + }, + { + title: '妫�楠岄」鐩紪鐮�', + align: 'center', + dataIndex: 'itemCode', + width: 150, + }, + { + title: '妫�楠岄」鐩悕绉�', + align: 'center', + dataIndex: 'itemName' + }, + { + title: '妫�楠岄」鐩垎绫�', + align: 'center', + dataIndex: 'itemCategoryName', + }, + { + title: '瀹氶噺/瀹氭��', + align: 'center', + dataIndex: 'qualitativeOrQuantitativeName' + }, + { + title: '娴嬮噺宸ュ叿', + align: 'center', + dataIndex: 'inspectionToolsNames', + }, + { + title: '鎺掑簭', + dataIndex: 'sorter', + align: 'center', + scopedSlots: { customRender: 'sorter' }, + }, + { + title: '鏍囧噯鍊�', + dataIndex: 'standardValue', + align: 'center', + scopedSlots: { customRender: 'standardValue' }, + }, + { + title: '涓婂叕宸�', + dataIndex: 'maxValue', + align: 'center', + scopedSlots: { customRender: 'maxValue' }, + }, + { + title: '涓嬪叕宸�', + dataIndex: 'minValue', + align: 'center', + scopedSlots: { customRender: 'minValue' }, + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' }, + }, + ], + ruleOptions:[] + } + }, + created() { + ajaxGetDictItems("qms_sampling_rules,rule_name,id", null).then((res) => { + if (res.success) { + this.ruleOptions = res.result + } + }) + }, + methods: { + + materialSearch() { + this.$refs.materialListModel.openPage() + this.$refs.materialListModel.title = '閫夋嫨鐗╂枡' + this.$refs.materialListModel.disableSubmit = false + }, + getMaterialRows(val) { + if (val.materialNumber) { + const initialData = { + materialNumber: val.materialNumber, + materialName: val.materialName + }; + this.form.setFieldsValue(initialData); + } + + }, + handleChange(value, key, column, index) { + const temp = [...this.dataSource] + const target = temp.filter(item => key === item.key)[index]; + if (target) { + target[column.dataIndex] = value + this.dataSource = temp + } + }, + modalFormOk() { + }, + getQueryParams() { + this.param.pageNo = this.ipagination.current + this.param.pageSize = this.ipagination.pageSize + return filterObj(this.param) + }, + add() { + this.handle = store.getters.userInfo.username + this.edit({}) + }, + edit(record) { + let that = this + this.form.resetFields() + this.model = Object.assign({}, record) + this.visible = true + this.isDisabled = false + this.disableSubmit = false + if (record.id) { + this.planId = record.id + this.detailList(this.planId) + } + this.$nextTick(() => { + this.form.setFieldsValue( + pick(this.model, 'planCode', 'planName', 'planCategory', 'materialNumber', 'materialName','ruleId','planStatus','descreption') + ) + }) + }, + close() { + this.$emit('close') + this.dataSource = [] + this.visible = false + this.supplierShow = false, + this.disableSubmit = false, + this.numDisable = false, + this.quantityDisable = false, + this.onlyCodeDisable = true, + this.returnShow = false, + this.toolingShow = false, + this.sharpenShow = false, + this.addDisable = false + }, + handleTableChange(pagination, filters, sorter) { + this.ipagination = pagination + this.detailList(this.planId); + }, + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true + let formData = Object.assign(this.model, values) + formData.detailData = this.dataSource + let http = '' + if(this.model.id){ + http = this.url.edit + }else{ + http = this.url.add + } + postAction(http, formData) + .then((res) => { + if (res.success) { + that.$message.success(res.message) + that.$emit('ok', new Date()) + } else { + that.$message.warning(res.message) + } + }) + .finally(() => { + that.confirmLoading = false + that.close() + }) + } + }) + }, + handleCancel() { + this.close() + }, + //閫夋嫨宸ュ叿 + selectInspectionItemList: function () { + let ids = [] + for (let i = 0; i < this.dataSource.length; i++) { + ids.push(this.dataSource[i].id) + } + this.$refs.inspectionItemForm.showModal(ids) + this.$refs.inspectionItemForm.title = '閫夋嫨妫�楠岄」鐩�' + this.$refs.inspectionItemForm.disableSubmit = false + }, + handleDelete(record, index) { + this.dataSource.splice(index, 1) + }, + onChange() {}, + //鎵嬮�変汉鍛樺�� + selectCurrentUserChange(e) { + console.log('褰撳墠鎵嬮��', e) + // this.form.setFieldsValue({ + // // userName: e, + // userNameId: e, + // }) + }, + detailList(planId) { + this.param.planId = planId + getAction(this.url.detailList, this.getQueryParams()).then((res) => { + if (res.success) { + this.dataSource = res.result.records + this.ipagination.total = res.result.total; + } + }) + }, + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 + ); + }, + }, + watch: {}, + mounted() { + this.$bus.$on('selectionRows', (data) => { + //getCurrSelected 浜嬩欢 鎺ユ敹缁勪欢浼犻�掔殑鍙傛暟 + for (let i = 0; i < data.length; i++) { + this.dataSource.push({ + id:data[i].id, + itemCode: data[i].itemCode, + itemName: data[i].itemName, + inspectionTools: data[i].inspectionTools, + inspectionToolsNames: data[i].inspectionToolsNames, + itemCategory: data[i].itemCategory, + itemCategoryName:data[i].itemCategoryName, + itemStatus:data[i].itemStatus, + qualitativeOrQuantitative:data[i].qualitativeOrQuantitative, + qualitativeOrQuantitativeName:data[i].qualitativeOrQuantitativeName + }) + } + //this.ipaginationm.total = this.dataSource.length + }) + }, +} +</script> + + +<style lang="less" scoped> +.ant-btn { + padding: 0 10px; + margin-left: 3px; +} + +.ant-form-item-control { + line-height: 0px; +} + +/** 涓昏〃鍗曡闂磋窛 */ +.ant-form .ant-form-item { + margin-bottom: 10px; +} + +/** Tab椤甸潰琛岄棿璺� */ +.ant-tabs-content .ant-form-item { + margin-bottom: 0px; +} + +/deep/ .notshow { + display: none; +} +</style> diff --git a/src/views/qms/modules/inspectionPlan/JSelectInspectionItemListModal.vue b/src/views/qms/modules/inspectionPlan/JSelectInspectionItemListModal.vue new file mode 100644 index 0000000..2225872 --- /dev/null +++ b/src/views/qms/modules/inspectionPlan/JSelectInspectionItemListModal.vue @@ -0,0 +1,258 @@ +<template> + <!--鏀寔鍏ㄥ睆缂╂斁--> + <j-modal + :visible="visible" + :title="title" + switchFullscreen + :maskClosable="false" + :width="1200" + @ok="handleSubmit" + @cancel="close" + style="top: 50px" + cancelText="鍏抽棴" + > + <a-card :bordered="false"> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="妫�楠岄」鐩紪鐮�"> + <a-input placeholder="璇疯緭鍏ユ楠岄」鐩紪鐮�,鏀寔妯$硦鏌ヨ" v-model="queryParam.itemCode"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="妫�楠岄」鐩悕绉�"> + <a-input placeholder="璇疯緭鍏ユ楠岄」鐩悕绉�,鏀寔妯$硦鏌ヨ" v-model="queryParam.itemName"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="妫�楠岄」鐩垎绫�"> + <j-search-select-tag + placeholder="璇烽�夋嫨妫�楠岄」鐩垎绫�" + v-model="queryParam.itemCategory" + dict="item_category" + /> + </a-form-item> + </a-col> + + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> + </a-row> + </a-form> + </div> + <!--妫�楠岄」鐩垪琛�--> + <a-table + ref="table" + :scroll="scrollTrigger" + size="middle" + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :rowSelection="rowSelection" + :loading="loading" + @change="handleTableChange" + > + </a-table> + </a-card> + </j-modal> +</template> + +<script> +import { filterObj } from '@/utils/util' +import { getAction } from '@/api/manage' +import JDictSelectTag from '@/components/dict/JDictSelectTag' +import JSearchSelectTag from '@/components/dict/JSearchSelectTag' + +export default { + name: 'JSelectInspectionItemListModal', + components: {JDictSelectTag,JSearchSelectTag}, + props: { + }, + data() { + return { + queryParam: {}, + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 50, + align: 'center', + customRender: function (t, r, index) { + return parseInt(index) + 1 + }, + }, + { + title: '妫�楠岄」鐩紪鐮�', + align: 'center', + dataIndex: 'itemCode', + }, + { + title: '妫�楠岄」鐩悕绉�', + align: 'center', + dataIndex: 'itemName', + }, + { + title: '妫�楠岄」鐩垎绫�', + align: 'center', + dataIndex: 'itemCategoryName', + }, + { + title: '瀹氶噺/瀹氭��', + align: 'center', + dataIndex: 'qualitativeOrQuantitativeName', + }, + { + title: '娴嬮噺宸ュ叿', + align: 'center', + dataIndex: 'inspectionToolsNames', + } + ], + selectedRowKeys: [], + oldSlelectRows: [], + scrollTrigger: {}, + dataSource: [], + selectionRows: [], + title: '鏍规嵁鏌ヨ缁撴灉閫夋嫨妫�楠岄」鐩�', + ipagination: { + current: 1, + pageSize: 10, + pageSizeOptions: ['5', '10', '20'], + showTotal: (total, range) => { + return range[0] + '-' + range[1] + ' 鍏�' + total + '鏉�' + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0, + }, + departTree: [], + visible: false, + loading: false, + url: { + list: '/qms/inspectionItem/queryList', + }, + } + }, + computed: { + rowSelection() { + return { + type: 'checkbox', + onChange: (selectedRowKeys, selectedRows) => { + this.selectedRowKeys = selectedRowKeys + this.onSelectChange(selectedRows) + }, + getCheckboxProps: (record) => ({ + props: { + disabled: record.distable, + }, + }), + selectedRowKeys: this.selectedRowKeys, + } + }, + }, + watch: {}, + created() {}, + methods: { + async loadData(arg) { + if (arg === 1) { + this.ipagination.current = 1 + } + let that = this + this.loading = true + let params = this.getQueryParams() //鏌ヨ鏉′欢 + await getAction(this.url.list, params).then((res) => { + if (res.success) { + for (let i = 0; i < res.result.records.length; i++) { + if (that.oldSlelectRows.indexOf(res.result.records[i].id) > -1) { + res.result.records[i].distable = true + } else { + res.result.records[i].distable = false + } + } + this.dataSource = res.result.records + this.ipagination.total = res.result.total + } + if (res.code === 510) { + this.$message.warning(res.message) + } + this.loading = false + }) + }, + showModal(oldSlelectRows) { + this.oldSlelectRows = oldSlelectRows + this.visible = true + this.loadData(1) + }, + getQueryParams() { + let param = Object.assign({}, this.queryParam) + param.field = this.getQueryField() + param.pageNo = this.ipagination.current + param.pageSize = this.ipagination.pageSize + return filterObj(param) + }, + //鏌ヨ鏉′欢澶勭悊 + getQueryField() { + let str = 'id,' + for (let a = 0; a < this.columns.length; a++) { + str += ',' + this.columns[a].dataIndex + } + return str + }, + searchReset(num) { + let that = this + if (num !== 0) { + that.loadData(1) + } + that.selectborrowIds = [] + }, + close() { + this.searchReset(0) + this.selectedRowKeys = [] + this.visible = false + }, + handleTableChange(pagination, filters, sorter) { + //TODO 绛涢�� + // if (Object.keys(sorter).length > 0) { + // this.isorter.column = sorter.field + // this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc' + // } + this.ipagination = pagination + this.loadData() + }, + handleSubmit() { + this.$bus.$emit('selectionRows', this.selectionRows) + this.searchReset(0) + this.close() + }, + onSelectChange(selectionRows) { + this.selectionRows = selectionRows + }, + onSearch() { + this.loadData(1) + }, + searchQuery() { + this.loadData(1); + }, + searchReset() { + this.queryParam = {} + this.loadData(1) + }, + }, +} +</script> + +<style scoped> +.ant-table-tbody .ant-table-row td { + padding-top: 10px; + padding-bottom: 10px; +} + +#components-layout-demo-custom-trigger .trigger { + font-size: 18px; + line-height: 64px; + padding: 0 24px; + cursor: pointer; + transition: color 0.3s; +} +</style> \ No newline at end of file diff --git a/src/views/qms/modules/inspectionPlan/MaterialListModal.vue b/src/views/qms/modules/inspectionPlan/MaterialListModal.vue new file mode 100644 index 0000000..7091cd4 --- /dev/null +++ b/src/views/qms/modules/inspectionPlan/MaterialListModal.vue @@ -0,0 +1,137 @@ +<template> + <a-modal :title="title" :width="1000" :visible="visible" :maskClosable="false" @ok="handleOk" @cancel="handleCancel" + cancelText="鍏抽棴"> + <a-card :bordered="false"> + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :md="9" :sm="9"> + <a-form-item label="鐗╂枡缂栫爜"> + <a-input placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" v-model="queryParam.materialNumber"></a-input> + </a-form-item> + </a-col> + + <a-col :md="9" :sm="9"> + <a-form-item label="鐗╂枡鍚嶇О"> + <a-input placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" v-model="queryParam.materialName"></a-input> + </a-form-item> + </a-col> + + <a-col :md="3" :sm="3"> + <a-space> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button> + </a-space> + </a-col> + </a-row> + </a-form> + </div> + + <!-- table鍖哄煙-begin --> + <div> + <a-table bordered rowKey="materialNumber" :scroll="{聽 y: 300聽}" :columns="columns" + :dataSource="dataSource" :pagination="ipagination" :loading="loading" :customRow="customRow" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}" + @change="handleTableChange"> + </a-table> + </div> + <!-- table鍖哄煙-end --> + </a-card> + </a-modal> +</template> + +<script> + import { getAction } from '@/api/manage' + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + + export default { + name: 'MaterialListModal', + mixins: [JeecgListMixin], + data() { + return { + title: '', + visible: false, + disableMixinCreated: true, + columns: [ + { + title: '鐗╂枡缂栫爜', + align: 'center', + dataIndex: 'materialNumber' + }, + { + title: '鐗╂枡鍚嶇О', + align: 'center', + dataIndex: 'materialName' + }, + { + title: '鐗╂枡鍨嬪彿', + align: 'center', + dataIndex: 'materialModel' + }, + { + title: '鐗╂枡绫诲瀷', + align: 'center', + dataIndex: 'materialCategory' + }, + { + title: '鍗曚綅', + align: 'center', + dataIndex: 'materialUnit' + } + ], + /* 鎺掑簭鍙傛暟 */ + isorter: { + column: '', + order: '' + }, + url: { + list: '/lswmaterial/lswMaterial/list' + } + } + }, + methods: { + openPage() { + this.visible = true + this.onClearSelected() + this.dataSource = [] + this.loadData() + }, + + /** + * 鑷畾涔夎〃鏍艰 + * @param record 琛ㄦ牸琛屼俊鎭� + * @returns {{style: {cursor: string}, on: {click: on.click}}} + */ + customRow(record) { + return { + style: { + cursor: 'pointer' + }, + on: { + click: () => { + this.onSelectChange([record.materialNumber], [record]) + } + } + } + }, + + close() { + this.$emit('close') + this.visible = false + }, + + handleCancel() { + this.close() + }, + + handleOk() { + this.$emit('sendSelectionRows', this.selectionRows[0]) + this.close() + } + } + } +</script> +<style> + @import '~@assets/less/common.less'; +</style> diff --git a/src/views/qms/modules/inspectionTools/InspectionToolsModel.vue b/src/views/qms/modules/inspectionTools/InspectionToolsModel.vue index 84aea64..913ccae 100644 --- a/src/views/qms/modules/inspectionTools/InspectionToolsModel.vue +++ b/src/views/qms/modules/inspectionTools/InspectionToolsModel.vue @@ -4,6 +4,7 @@ :width="800" :visible="visible" :confirmLoading="confirmLoading" + :maskClosable="false" :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" diff --git a/src/views/qms/modules/samplingRules/SamplingRulesModel.vue b/src/views/qms/modules/samplingRules/SamplingRulesModel.vue index d4190f2..6352ca4 100644 --- a/src/views/qms/modules/samplingRules/SamplingRulesModel.vue +++ b/src/views/qms/modules/samplingRules/SamplingRulesModel.vue @@ -4,6 +4,7 @@ :width="800" :visible="visible" :confirmLoading="confirmLoading" + :maskClosable="false" :okButtonProps="{ props: {disabled: disableSubmit} }" @ok="handleOk" @cancel="handleCancel" -- Gitblit v1.9.3