From f761b7eb031c316afb754c73f2d985368958d745 Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期四, 03 七月 2025 09:11:52 +0800 Subject: [PATCH] 质量管理-抽样规则、缺陷维护功能 --- src/views/qms/modules/inspectionItem/JSelectMultiInspectionTools.vue | 63 ++ src/views/qms/SamplingRulesList.vue | 342 ++++++++++++++ src/views/qms/modules/defect/DefectModel.vue | 248 ++++++++++ src/views/qms/InspectionToolsList.vue | 6 src/views/base/ShiftGroupManager.vue | 4 src/views/qms/modules/samplingRules/SamplingRulesModel.vue | 287 ++++++++++++ src/views/qms/modules/inspectionItem/InspectionItemModel.vue | 15 src/views/qms/InspectionItemList.vue | 14 src/views/base/SupplierList.vue | 6 src/components/jeecgbiz/JSelectMultiUser.vue | 22 src/views/base/WarehouseList.vue | 6 src/views/qms/DefectList.vue | 322 ++++++++++++++ src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue | 20 src/views/base/ShiftManager.vue | 6 14 files changed, 1,319 insertions(+), 42 deletions(-) diff --git a/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue b/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue index f99ff94..bac8abb 100644 --- a/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue +++ b/src/components/jeecgbiz/JSelectBizComponent/JSelectBizComponentModal.vue @@ -14,18 +14,18 @@ <!-- 鏌ヨ鍖哄煙 --> <a-form layout="inline" class="j-inline-form"> <!-- 鍥哄畾鏉′欢 --> - <a-form-item :label="(queryParamText||name)"> + <!-- <a-form-item :label="(queryParamText||name)"> <a-input v-model="queryParam[queryParamCode||valueKey]" :placeholder="'璇疯緭鍏�' + (queryParamText||name)" @pressEnter="searchQuery"/> - </a-form-item> + </a-form-item> --> <!-- 鍔ㄦ�佺敓鎴愮殑鏌ヨ鏉′欢 --> - <j-select-biz-query-item v-if="queryConfig.length>0" v-show="showMoreQueryItems" :queryParam="queryParam" :queryConfig="queryConfig" @pressEnter="searchQuery"/> + <j-select-biz-query-item v-if="queryConfig.length>0" :queryParam="queryParam" :queryConfig="queryConfig" @pressEnter="searchQuery"/> <!-- 鎸夐挳 --> <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 v-if="queryConfig.length>0" @click="showMoreQueryItems=!showMoreQueryItems" style="margin-left: 8px"> + <!-- <a v-if="queryConfig.length>0" @click="showMoreQueryItems=!showMoreQueryItems" style="margin-left: 8px"> {{ showMoreQueryItems ? '鏀惰捣' : '灞曞紑' }} <a-icon :type="showMoreQueryItems ? 'up' : 'down'"/> - </a> + </a> --> </a-form> <a-table @@ -354,6 +354,16 @@ } }, + searchQuery() { + this.loadData(1); + this.selectedRowKeys = [] + }, + searchReset() { + this.queryParam = {} + this.loadData(1); + this.selectedRowKeys = [] + }, + } } </script> diff --git a/src/components/jeecgbiz/JSelectMultiUser.vue b/src/components/jeecgbiz/JSelectMultiUser.vue index f8609f9..0105c57 100644 --- a/src/components/jeecgbiz/JSelectMultiUser.vue +++ b/src/components/jeecgbiz/JSelectMultiUser.vue @@ -44,20 +44,24 @@ // 澶氭潯浠舵煡璇㈤厤缃� queryConfigDefault: [ { + key: 'username', + label: '璐﹀彿', + }, + { key: 'sex', label: '鎬у埆', // 濡傛灉鍖呭惈 dictCode锛岄偅涔堝氨浼氭樉绀烘垚涓嬫媺妗� dictCode: 'sex', }, - { - key: 'birthday', - label: '鐢熸棩', - placeholder: '璇烽�夋嫨鍑虹敓鏃ユ湡', - // 濡傛灉鎯宠浣跨敤灞�閮ㄦ敞鍐岀殑缁勪欢锛屽氨蹇呴』瑕佷娇鐢ㄧ澶村嚱鏁� - customRender: ({key, queryParam, options}) => { - return <j-date {...options} vModel={queryParam[key]} style="width:180px;"/> - }, - }, + // { + // key: 'birthday', + // label: '鐢熸棩', + // placeholder: '璇烽�夋嫨鍑虹敓鏃ユ湡', + // // 濡傛灉鎯宠浣跨敤灞�閮ㄦ敞鍐岀殑缁勪欢锛屽氨蹇呴』瑕佷娇鐢ㄧ澶村嚱鏁� + // customRender: ({key, queryParam, options}) => { + // return <j-date {...options} vModel={queryParam[key]} style="width:180px;"/> + // }, + // }, ], } }, diff --git a/src/views/base/ShiftGroupManager.vue b/src/views/base/ShiftGroupManager.vue index 1da4708..1e4f5c1 100644 --- a/src/views/base/ShiftGroupManager.vue +++ b/src/views/base/ShiftGroupManager.vue @@ -7,13 +7,13 @@ <!-- 鎼滅储鍖哄煙 --> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> - <a-col :md="12" :sm="8"> + <a-col :md="6" :sm="8"> <a-form-item label="鐝粍鍚嶇О" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}"> <a-input placeholder="" v-model="queryParam.groupName"></a-input> </a-form-item> </a-col> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> - <a-col :md="12" :sm="24"> + <a-col :md="6" :sm="24"> <a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">鏌ヨ</a-button> <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> </a-col> diff --git a/src/views/base/ShiftManager.vue b/src/views/base/ShiftManager.vue index 31f6d33..69321bc 100644 --- a/src/views/base/ShiftManager.vue +++ b/src/views/base/ShiftManager.vue @@ -5,17 +5,17 @@ <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="鐝缂栧彿"> <j-input placeholder="璇疯緭鍏ョ彮娆$紪鍙�" v-model="queryParam.shiftCode"></j-input> </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="鐝鍚嶇О"> <j-input placeholder="璇疯緭鍏ョ彮娆″悕绉�" v-model="queryParam.shiftName"></j-input> </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <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> diff --git a/src/views/base/SupplierList.vue b/src/views/base/SupplierList.vue index bbc0a89..270a0c6 100644 --- a/src/views/base/SupplierList.vue +++ b/src/views/base/SupplierList.vue @@ -10,7 +10,7 @@ > <a-row :gutter="30"> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="渚涘簲鍟嗙紪鍙�"> <j-input placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿妫�绱�" @@ -19,7 +19,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="渚涘簲鍟嗗悕绉�"> <j-input placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О妫�绱�" @@ -28,7 +28,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <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> diff --git a/src/views/base/WarehouseList.vue b/src/views/base/WarehouseList.vue index 0d13ebd..fbb8ec7 100644 --- a/src/views/base/WarehouseList.vue +++ b/src/views/base/WarehouseList.vue @@ -10,7 +10,7 @@ > <a-row :gutter="30"> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="浠撳簱缂栧彿"> <j-input placeholder="璇疯緭鍏ヤ粨搴撶紪鍙锋绱�" @@ -19,7 +19,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="浠撳簱鍚嶇О"> <j-input placeholder="璇疯緭鍏ヤ粨搴撳悕绉版绱�" @@ -28,7 +28,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <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> diff --git a/src/views/qms/DefectList.vue b/src/views/qms/DefectList.vue new file mode 100644 index 0000000..5cf5eef --- /dev/null +++ b/src/views/qms/DefectList.vue @@ -0,0 +1,322 @@ +<template> + <a-card + :bordered="false" + > + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form + layout="inline" + @keyup.enter.native="searchQuery" + > + <a-row :gutter="30"> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="缂洪櫡缂栫爜"> + <j-input + placeholder="璇疯緭鍏ョ己闄风紪鐮�" + v-model="queryParam.defectCode" + ></j-input> + </a-form-item> + </a-col> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="缂洪櫡鍚嶇О"> + <j-input + placeholder="璇疯緭鍏ョ己闄峰悕绉�" + v-model="queryParam.defectName" + ></j-input> + </a-form-item> + </a-col> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <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 --> + <div> + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + filterMultiple="filterMultiple" + :columns="columns" + :rowClassName="tableRowClass" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + > + <!--鐘舵�佹爮涓�у睍绀�--> + <span + slot="status" + slot-scope="text,record" + > + <a-badge + v-if="record.defectStatus==1" + status="success" + /> + <span + v-if="record.defectStatus==1" + class="success" + >鍚敤</span> + <a-badge + v-if="record.defectStatus==0" + status="error" + /> + <span + v-if="record.defectStatus==0" + class="error" + >绂佺敤</span> + </span> + <span + slot="action" + slot-scope="text, record" + > + <a + href="javascript:;" + @click="handleDetail(record)" + >璇︽儏</a> + + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="handleEdit(record)">缂栬緫</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + > + <a>鍒犻櫎</a> + </a-popconfirm> + + </a-menu-item> + <a-menu-item v-if="record.defectStatus == 0"> + <a-popconfirm + title="纭畾鍚敤鍚�?" + @confirm="() => handleActive(record.id)" + > + <a>鍚敤</a> + </a-popconfirm> + </a-menu-item> + <a-menu-item v-if="record.defectStatus == 1"> + <a-popconfirm + title="纭畾绂佺敤鍚�?" + @confirm="() => handleActive(record.id)" + > + <a>绂佺敤</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + <!-- table鍖哄煙-end --> + + <!-- 琛ㄥ崟鍖哄煙 --> + <defect-model + ref="modalForm" + @ok="modalFormOk" + ></defect-model> + </a-card> +</template> + +<script> +//鎸夐渶寮曞叆 缁勪欢 +import DefectModel from './modules/defect/DefectModel' + +import { deleteAction, requestPut, getAction } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import JEllipsis from '@/components/jeecg/JEllipsis' +import JInput from '@/components/jeecg/JInput' + +export default { + name: 'DefectList', + mixins: [JeecgListMixin], + components: { + DefectModel, + JEllipsis, + JInput, + }, + data() { + return { + dataSource: [], + /* 鍒嗛〉鍙傛暟 */ + ipagination: { + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '20'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + total: 0 + }, + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: "center", + customRender: function (t, r, index) { + return parseInt(index) + 1; + } + }, + { + title: '缂洪櫡缂栫爜', + align: "center", + dataIndex: 'defectCode' + }, + { + title: '缂洪櫡鍚嶇О', + align: "center", + dataIndex: 'defectName' + }, + { + title: '缂洪櫡鍒嗙被', + align: "center", + dataIndex: 'defectCategory_dictText' + }, + { + title: '鎻忚堪', + align: 'center', + dataIndex: 'descreption' + }, + { + width: 100, + title: '鐘舵��', + align: 'center', + scopedSlots: { + customRender: 'status', + }, + dataIndex: 'defectStatus' + }, + { + width: 150, + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' }, + } + ], + url: { + list: '/qms/defect/list', + delete: '/qms/defect/delete', + active: '/qms/defect/active', + }, + } + }, + mounted() { + }, + methods: { + loadData(arg) { + if (arg === 1) { + this.ipagination.current = 1; + } + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if (res.code === 510) { + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + //绂佺敤鐘舵�佹牱寮� + tableRowClass(record, index) { + if (record.warehouseStatus != "1") { + return "frozenRowClass"; + } + return ""; + }, + //鍚敤绂佺敤 + 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); + } + }); + }, + }, + +} +</script> +<style lang="less" scoped> +@import '~@assets/less/common.less'; +.frozenRowClass { + color: #c9c9c9; +} +.success { + color: green; +} +.error { + color: red; +} +.fontweight { + font-weight: bold; +} +.ant-card-body .table-operator { + margin-bottom: 18px; +} + +.ant-table-tbody .ant-table-row td { + padding-top: 15px; + padding-bottom: 15px; +} + +.anty-row-operator button { + margin: 0 5px; +} + +/deep/.ant-btn-danger { + background-color: #ffffff; +} + +.ant-modal-cust-warp { + height: 100%; +} + +.ant-modal-cust-warp .ant-modal-body { + height: calc(100% - 110px) !important; + overflow-y: auto; +} + +.ant-modal-cust-warp .ant-modal-content { + height: 90% !important; + overflow-y: hidden; +} +</style> \ No newline at end of file diff --git a/src/views/qms/InspectionItemList.vue b/src/views/qms/InspectionItemList.vue index cf9db17..0689c6a 100644 --- a/src/views/qms/InspectionItemList.vue +++ b/src/views/qms/InspectionItemList.vue @@ -10,7 +10,7 @@ > <a-row :gutter="30"> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="妫�楠岄」鐩紪鍙�"> <j-input placeholder="璇疯緭鍏ユ楠岄」鐩紪鍙锋绱�" @@ -19,7 +19,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="妫�楠岄」鐩悕绉�"> <j-input placeholder="璇疯緭鍏ユ楠岄」鐩悕绉版绱�" @@ -28,7 +28,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <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> @@ -197,17 +197,17 @@ { title: '妫�楠岄」鐩垎绫�', align: "center", - dataIndex: 'itemCategory' + dataIndex: 'itemCategoryName' }, { title: '瀹氶噺/瀹氭��', align: "center", - dataIndex: 'qualitativeOrQuantitative' + dataIndex: 'qualitativeOrQuantitativeName' }, { title: '娴嬮噺宸ュ叿', align: "center", - dataIndex: 'inspectionTools' + dataIndex: 'inspectionToolsNames' }, { title: '澶囨敞', @@ -232,7 +232,7 @@ } ], url: { - list: '/qms/inspectionItem/list', + list: '/qms/inspectionItem/queryList', delete: '/qms/inspectionItem/delete', active: '/qms/inspectionItem/active', }, diff --git a/src/views/qms/InspectionToolsList.vue b/src/views/qms/InspectionToolsList.vue index 94d5217..b0eb2fa 100644 --- a/src/views/qms/InspectionToolsList.vue +++ b/src/views/qms/InspectionToolsList.vue @@ -10,7 +10,7 @@ > <a-row :gutter="30"> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="妫�楠屽伐鍏风紪鐮�"> <j-input placeholder="璇疯緭鍏ユ楠屽伐鍏风紪鐮佹绱�" @@ -19,7 +19,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="妫�楠屽伐鍏峰悕绉�"> <j-input placeholder="璇疯緭鍏ユ楠屽伐鍏峰悕绉版绱�" @@ -28,7 +28,7 @@ </a-form-item> </a-col> - <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> <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> diff --git a/src/views/qms/SamplingRulesList.vue b/src/views/qms/SamplingRulesList.vue new file mode 100644 index 0000000..28882b9 --- /dev/null +++ b/src/views/qms/SamplingRulesList.vue @@ -0,0 +1,342 @@ +<template> + <a-card + :bordered="false" + > + <!-- 鏌ヨ鍖哄煙 --> + <div class="table-page-search-wrapper"> + <a-form + layout="inline" + @keyup.enter.native="searchQuery" + > + <a-row :gutter="30"> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="瑙勫垯缂栫爜"> + <j-input + placeholder="璇疯緭鍏ヨ鍒欑紪鐮佹绱�" + v-model="queryParam.ruleCode" + ></j-input> + </a-form-item> + </a-col> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="瑙勫垯鍚嶇О"> + <j-input + placeholder="璇疯緭鍏ヨ鍒欏悕绉版绱�" + v-model="queryParam.ruleName" + ></j-input> + </a-form-item> + </a-col> + + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <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 --> + <div> + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + filterMultiple="filterMultiple" + :columns="columns" + :rowClassName="tableRowClass" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + > + <!--鐘舵�佹爮涓�у睍绀�--> + <span + slot="status" + slot-scope="text,record" + > + <a-badge + v-if="record.ruleStatus==1" + status="success" + /> + <span + v-if="record.ruleStatus==1" + class="success" + >鍚敤</span> + <a-badge + v-if="record.ruleStatus==0" + status="error" + /> + <span + v-if="record.ruleStatus==0" + class="error" + >绂佺敤</span> + </span> + <span + slot="action" + slot-scope="text, record" + > + <a + href="javascript:;" + @click="handleDetail(record)" + >璇︽儏</a> + + <a-divider type="vertical" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 + <a-icon type="down" /> + </a> + <a-menu slot="overlay"> + <a-menu-item> + <a @click="handleEdit(record)">缂栬緫</a> + </a-menu-item> + <a-menu-item> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + > + <a>鍒犻櫎</a> + </a-popconfirm> + + </a-menu-item> + <a-menu-item v-if="record.ruleStatus == 0"> + <a-popconfirm + title="纭畾鍚敤鍚�?" + @confirm="() => handleActive(record.id)" + > + <a>鍚敤</a> + </a-popconfirm> + </a-menu-item> + <a-menu-item v-if="record.ruleStatus == 1"> + <a-popconfirm + title="纭畾绂佺敤鍚�?" + @confirm="() => handleActive(record.id)" + > + <a>绂佺敤</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + <!-- table鍖哄煙-end --> + + <!-- 琛ㄥ崟鍖哄煙 --> + <sampling-rules-model + ref="modalForm" + @ok="modalFormOk" + ></sampling-rules-model> + </a-card> +</template> + +<script> +//鎸夐渶寮曞叆 缁勪欢 +import SamplingRulesModel from './modules/samplingRules/SamplingRulesModel' + +import { deleteAction, requestPut, getAction } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import JEllipsis from '@/components/jeecg/JEllipsis' +import JInput from '@/components/jeecg/JInput' + +export default { + name: 'SamplingRulesList', + mixins: [JeecgListMixin], + components: { + SamplingRulesModel, + JEllipsis, + JInput, + }, + data() { + return { + dataSource: [], + /* 鍒嗛〉鍙傛暟 */ + ipagination: { + current: 1, + pageSize: 5, + pageSizeOptions: ['5', '10', '20'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�" + }, + total: 0 + }, + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: "center", + customRender: function (t, r, index) { + return parseInt(index) + 1; + } + }, + { + title: '鎶芥牱瑙勫垯缂栫爜', + align: "center", + dataIndex: 'ruleCode' + }, + { + title: '鎶芥牱瑙勫垯鍚嶇О', + align: "center", + dataIndex: 'ruleName' + }, + { + title: '鎶芥牱瑙勫垯鍒嗙被', + align: "center", + dataIndex: 'ruleCategory_dictText' + }, + { + title: '鎶芥牱鏁伴噺', + align: "center", + dataIndex: 'samplingQuantity' + }, + { + title: '鎵归噺涓婇檺鍊�', + align: "center", + dataIndex: 'batchUpperLimit' + }, + { + title: '鎵归噺涓嬮檺鍊�', + align: "center", + dataIndex: 'batchLowerLimit' + }, + { + title: '鏈�澶т笉鍚堟牸鏁�', + align: "center", + dataIndex: 'maxUnqualifiedQuantity' + }, + { + title: '澶囨敞', + align: 'center', + dataIndex: 'remark' + }, + { + width: 100, + title: '鐘舵��', + align: 'center', + scopedSlots: { + customRender: 'status', + }, + dataIndex: 'ruleStatus' + }, + { + width: 150, + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' }, + } + ], + url: { + list: '/qms/samplingRules/list', + delete: '/qms/samplingRules/delete', + active: '/qms/samplingRules/active', + }, + } + }, + mounted() { + }, + methods: { + loadData(arg) { + if (arg === 1) { + this.ipagination.current = 1; + } + var params = this.getQueryParams();//鏌ヨ鏉′欢 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + this.dataSource = res.result.records; + this.ipagination.total = res.result.total; + } + if (res.code === 510) { + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + //绂佺敤鐘舵�佹牱寮� + tableRowClass(record, index) { + if (record.warehouseStatus != "1") { + return "frozenRowClass"; + } + return ""; + }, + //鍚敤绂佺敤 + 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); + } + }); + }, + }, + +} +</script> +<style lang="less" scoped> +@import '~@assets/less/common.less'; +.frozenRowClass { + color: #c9c9c9; +} +.success { + color: green; +} +.error { + color: red; +} +.fontweight { + font-weight: bold; +} +.ant-card-body .table-operator { + margin-bottom: 18px; +} + +.ant-table-tbody .ant-table-row td { + padding-top: 15px; + padding-bottom: 15px; +} + +.anty-row-operator button { + margin: 0 5px; +} + +/deep/.ant-btn-danger { + background-color: #ffffff; +} + +.ant-modal-cust-warp { + height: 100%; +} + +.ant-modal-cust-warp .ant-modal-body { + height: calc(100% - 110px) !important; + overflow-y: auto; +} + +.ant-modal-cust-warp .ant-modal-content { + height: 90% !important; + overflow-y: hidden; +} +</style> \ No newline at end of file diff --git a/src/views/qms/modules/defect/DefectModel.vue b/src/views/qms/modules/defect/DefectModel.vue new file mode 100644 index 0000000..86c508f --- /dev/null +++ b/src/views/qms/modules/defect/DefectModel.vue @@ -0,0 +1,248 @@ +<template> + <a-modal + :title="title" + :width="800" + :visible="visible" + :confirmLoading="confirmLoading" + :okButtonProps="{ props: {disabled: disableSubmit} }" + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴" + > + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缂洪櫡缂栫爜" + > + <a-input + :disabled="disableSubmit" + allow-clear + placeholder="璇疯緭鍏ョ己闄风紪鐮�" + v-decorator="['defectCode', validatorRules.defectCode ]" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缂洪櫡鍚嶇О" + > + <a-input + :disabled="disableSubmit" + allow-clear + placeholder="璇疯緭鍏ョ己闄峰悕绉�" + v-decorator="['defectName', validatorRules.defectName ]" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缂洪櫡鍒嗙被" + > + <j-dict-select-tag + :disabled="disableSubmit" + placeholder="璇疯緭鍏ョ己闄峰垎绫�" + v-decorator="['defectCategory', validatorRules.defectCategory ]" + dictCode="defect_category" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鎻忚堪" + > + <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ユ弿杩�" v-decorator="['descreption', validatorRules.descreption ]"/> + </a-form-item> + </a-col> + </a-row> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import { httpAction, getAction } from '@/api/manage' +import pick from 'lodash.pick' +import { duplicateCheck } from '@/api/api'//閲嶅鏍¢獙 +import JDictSelectTag from '../../../../components/dict/JDictSelectTag.vue' + +export default { + components: { JDictSelectTag }, + name: "DefectModal", + data() { + return { + title: "鎿嶄綔", + visible: false, + disableSubmit: false, + model: {}, + defectId: "", //淇濆瓨缂洪櫡id + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + + confirmLoading: false, + form: this.$form.createForm(this), + validatorRules: { + defectCode: { + rules: [ + { required: true, message: '璇疯緭鍏ョ己闄风紪鐮�' }, + { validator: this.validateNum }, + ] + }, + defectName: { + rules: [ + { required: true, message: '璇疯緭鍏ョ己闄峰悕绉�' }, + { validator: this.validateName }, + ] + }, + defectCategory: { + rules: [ + { required: true, message: '璇烽�夋嫨缂洪櫡鍒嗙被' }, + ] + }, + }, + url: { + add: "/qms/defect/add", + edit: "/qms/defect/edit", + }, + } + }, + created() { + }, + methods: { + add() { + this.edit({}); + }, + edit(record) { + this.form.resetFields(); + this.model = Object.assign({}, record); + this.defectId = record.id; + this.visible = true; + this.$nextTick(() => { + this.form.setFieldsValue( + pick(this.model, 'defectCode', 'defectName','defectCategory','defectStatus','descreption') + ) + }); + }, + close() { + this.$emit('close'); + this.visible = false; + }, + handleOk() { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if (!this.model.id) { + httpurl += this.url.add; + method = 'post'; + } else { + httpurl += this.url.edit; + method = 'put'; + } + let formData = Object.assign(this.model, values); + httpAction(httpurl, formData, method).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.$emit('ok'); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + that.close(); + }) + } + }) + }, + handleCancel() { + this.close() + }, + //楠岃瘉 缂栧彿 + validateNum(rule, value, callback) { + var params = { + tableName: 'qms_defect', + fieldName: 'defect_code', + fieldVal: value, + dataId: this.defectId, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: 'true', + }; + duplicateCheck(params).then((res) => { + if (res.success) { + callback(); + } else { + callback("缂洪櫡缂栫爜宸插瓨鍦�!"); + } + }) + }, + //楠岃瘉 鍚嶇О + validateName(rule, value, callback) { + var params = { + tableName: 'qms_defect', + fieldName: 'defect_name', + fieldVal: value, + dataId: this.defectId, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: 'true', + }; + duplicateCheck(params).then((res) => { + if (res.success) { + callback(); + } else { + callback("缂洪櫡鍚嶇О宸插瓨鍦�!"); + } + }) + }, + // 鍏抽棴寮圭獥鏃舵竻闄よ〃鍗曟牎楠� + removeValidate() { + if (this.$refs.form) this.$refs.form.clearValidate() + } + } +} +</script> + +<style 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; +} +</style> \ No newline at end of file diff --git a/src/views/qms/modules/inspectionItem/InspectionItemModel.vue b/src/views/qms/modules/inspectionItem/InspectionItemModel.vue index 272f420..76fde16 100644 --- a/src/views/qms/modules/inspectionItem/InspectionItemModel.vue +++ b/src/views/qms/modules/inspectionItem/InspectionItemModel.vue @@ -82,12 +82,11 @@ :wrapperCol="wrapperCol" label="娴嬮噺宸ュ叿" > - <a-input - :disabled="disableSubmit" - allow-clear - placeholder="璇烽�夋嫨娴嬮噺宸ュ叿" - v-decorator="['inspectionTools', validatorRules.inspectionTools ]" - /> + <j-select-multi-inspection-tools + :disabled="disableSubmit" + v-decorator="['inspectionTools', validatorRules.inspectionTools ]" + valueKey="id"> + </j-select-multi-inspection-tools> </a-form-item> </a-col> </a-row> @@ -111,9 +110,11 @@ import { httpAction, getAction } from '@/api/manage' import pick from 'lodash.pick' import { duplicateCheck } from '@/api/api'//閲嶅鏍¢獙 +import JSelectMultiInspectionTools from './JSelectMultiInspectionTools' export default { name: "InspectionItemModal", + components: {JSelectMultiInspectionTools}, data() { return { title: "鎿嶄綔", @@ -229,7 +230,7 @@ //楠岃瘉 鍚嶇О validateName(rule, value, callback) { var params = { - tableName: 'qms_inspection_items', + tableName: 'qms_inspection_item', fieldName: 'item_name', fieldVal: value, dataId: this.inspectionItemId, diff --git a/src/views/qms/modules/inspectionItem/JSelectMultiInspectionTools.vue b/src/views/qms/modules/inspectionItem/JSelectMultiInspectionTools.vue new file mode 100644 index 0000000..c1de5e1 --- /dev/null +++ b/src/views/qms/modules/inspectionItem/JSelectMultiInspectionTools.vue @@ -0,0 +1,63 @@ +<template> + <!-- 瀹氫箟鍦ㄨ繖閲岀殑鍙傛暟閮芥槸涓嶅彲鍦ㄥ閮ㄨ鐩栫殑锛岄槻姝㈠嚭鐜伴棶棰� --> + <j-select-biz-component + :value="value" + :ellipsisLength="25" + :listUrl="url.list" + :columns="columns" + v-on="$listeners" + v-bind="attrs" + /> +</template> + +<script> + import JDate from '@comp/jeecg/JDate' + import JSelectBizComponent from '../../../../components/jeecgbiz/JSelectBizComponent' + + export default { + name: 'JSelectMultiInspectionTools', + components: {JDate, JSelectBizComponent}, + props: { + value: null, // any type + queryConfig: { + type: Array, + default: () => [] + }, + }, + data() { + return { + url: { list: '/qms/inspectionTools/list' }, + columns: [ + { title: '宸ュ叿缂栫爜', align: 'center', width: '25%', widthRight: '70%', dataIndex: 'toolCode' }, + { title: '宸ュ叿鍚嶇О', align: 'center', width: '25%', dataIndex: 'toolName' }, + { title: '宸ュ叿鐘舵��', align: 'center', width: '20%', dataIndex: 'toolStatus' }, + { title: '澶囨敞', align: 'center', width: '20%', dataIndex: 'remark' } + ], + // 瀹氫箟鍦ㄨ繖閲岀殑鍙傛暟閮芥槸鍙互鍦ㄥ閮ㄤ紶閫掕鐩栫殑锛屽彲浠ユ洿鐏垫椿鐨勫畾鍒跺寲浣跨敤鐨勭粍浠� + default: { + name: '宸ュ叿', + width: 1200, + displayKey: 'toolCode', + returnKeys: ['id', 'toolName'], + queryParamText: '宸ュ叿缂栫爜', + }, + // 澶氭潯浠舵煡璇㈤厤缃� + queryConfigDefault: [ + { + key: 'toolName', + label: '妫�楠屽伐鍏峰悕绉�', + }, + ], + } + }, + computed: { + attrs() { + return Object.assign(this.default, this.$attrs, { + queryConfig: this.queryConfigDefault.concat(this.queryConfig) + }) + } + } + } +</script> + +<style lang="less" scoped></style> \ No newline at end of file diff --git a/src/views/qms/modules/samplingRules/SamplingRulesModel.vue b/src/views/qms/modules/samplingRules/SamplingRulesModel.vue new file mode 100644 index 0000000..d4190f2 --- /dev/null +++ b/src/views/qms/modules/samplingRules/SamplingRulesModel.vue @@ -0,0 +1,287 @@ +<template> + <a-modal + :title="title" + :width="800" + :visible="visible" + :confirmLoading="confirmLoading" + :okButtonProps="{ props: {disabled: disableSubmit} }" + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴" + > + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="瑙勫垯缂栫爜" + > + <a-input + :disabled="disableSubmit" + allow-clear + placeholder="璇疯緭鍏ヨ鍒欑紪鐮�" + v-decorator="['ruleCode', validatorRules.ruleCode ]" + /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="瑙勫垯鍚嶇О" + > + <a-input + :disabled="disableSubmit" + allow-clear + placeholder="璇疯緭鍏ヨ鍒欏悕绉�" + v-decorator="['ruleName', validatorRules.ruleName ]" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-item + :labelCol="{ span: 3 }" + :wrapperCol="{ span: 21 }" + label="瑙勫垯鍒嗙被" + > + <j-dict-select-tag + :disabled="disableSubmit" + placeholder="璇疯緭鍏ヨ鍒欏垎绫�" + v-decorator="['ruleCategory', validatorRules.ruleCategory ]" + dictCode="rule_category" + /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鎶芥牱鏁伴噺" + > + <a-input-number :disabled="disableSubmit" v-decorator="['samplingQuantity', validatorRules.samplingQuantity ]" :min="1" style="width: 100%" placeholder="璇疯緭鍏ユ娊鏍锋暟閲�" /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鏈�澶т笉鍚堟牸鏁�" + > + <a-input-number :disabled="disableSubmit" v-decorator="['maxUnqualifiedQuantity', validatorRules.maxUnqualifiedQuantity ]" :min="1" style="width: 100%" placeholder="璇疯緭鍏ユ渶澶т笉鍚堟牸鏁�" /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="12"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鎵归噺涓嬮檺鍊�" + > + <a-input-number :disabled="disableSubmit" v-decorator="['batchLowerLimit', validatorRules.batchLowerLimit ]" :min="1" style="width: 100%" placeholder="璇疯緭鍏ユ壒閲忎笅闄愬��" /> + </a-form-item> + </a-col> + <a-col :span="12"> + <a-form-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鎵归噺涓婇檺鍊�" + > + <a-input-number :disabled="disableSubmit" v-decorator="['batchUpperLimit', validatorRules.batchUpperLimit ]" :min="1" style="width: 100%" placeholder="璇疯緭鍏ユ壒閲忎笂闄愬��" /> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col :span="24"> + <a-form-item + :labelCol="{ span: 3 }" + :wrapperCol="{ span: 21 }" + label="澶囨敞" + > + <a-textarea :disabled="disableSubmit" placeholder="璇疯緭鍏ュ娉�" v-decorator="['remark', validatorRules.remark ]"/> + </a-form-item> + </a-col> + </a-row> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import { httpAction, getAction } from '@/api/manage' +import pick from 'lodash.pick' +import { duplicateCheck } from '@/api/api'//閲嶅鏍¢獙 +import JDictSelectTag from '../../../../components/dict/JDictSelectTag.vue' + +export default { + components: { JDictSelectTag }, + name: "SamplingRulesModal", + data() { + return { + title: "鎿嶄綔", + visible: false, + disableSubmit: false, + model: {}, + samplingRulesId: "", //淇濆瓨鎶芥牱瑙勫垯id + labelCol: { + xs: { span: 24 }, + sm: { span: 6 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 }, + }, + + confirmLoading: false, + form: this.$form.createForm(this), + validatorRules: { + ruleCode: { + rules: [ + { required: true, message: '璇疯緭鍏ヨ鍒欑紪鐮�' }, + { validator: this.validateNum }, + ] + }, + ruleName: { + rules: [ + { required: true, message: '璇疯緭鍏ヨ鍒欏悕绉�' }, + { validator: this.validateName }, + ] + }, + ruleCategory: { + rules: [ + { required: true, message: '璇烽�夋嫨瑙勫垯鍒嗙被' }, + ] + }, + }, + url: { + add: "/qms/samplingRules/add", + edit: "/qms/samplingRules/edit", + }, + } + }, + created() { + }, + methods: { + add() { + this.edit({}); + }, + edit(record) { + this.form.resetFields(); + this.model = Object.assign({}, record); + this.samplingRulesId = record.id; + this.visible = true; + this.$nextTick(() => { + this.form.setFieldsValue( + pick(this.model, 'ruleCode', 'ruleName','ruleCategory','ruleStatus','maxUnqualifiedQuantity', + 'samplingQuantity','batchLowerLimit','batchUpperLimit', 'remark') + ) + }); + }, + close() { + this.$emit('close'); + this.visible = false; + }, + handleOk() { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.form.validateFields((err, values) => { + if (!err) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if (!this.model.id) { + httpurl += this.url.add; + method = 'post'; + } else { + httpurl += this.url.edit; + method = 'put'; + } + let formData = Object.assign(this.model, values); + httpAction(httpurl, formData, method).then((res) => { + if (res.success) { + that.$message.success(res.message); + that.$emit('ok'); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + that.close(); + }) + } + }) + }, + handleCancel() { + this.close() + }, + //楠岃瘉 缂栧彿 + validateNum(rule, value, callback) { + var params = { + tableName: 'qms_sampling_rules', + fieldName: 'rule_code', + fieldVal: value, + dataId: this.samplingRulesId, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: 'true', + }; + duplicateCheck(params).then((res) => { + if (res.success) { + callback(); + } else { + callback("瑙勫垯缂栫爜宸插瓨鍦�!"); + } + }) + }, + //楠岃瘉 鍚嶇О + validateName(rule, value, callback) { + var params = { + tableName: 'qms_sampling_rules', + fieldName: 'rule_name', + fieldVal: value, + dataId: this.samplingRulesId, + //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true + delFlag: 'true', + }; + duplicateCheck(params).then((res) => { + if (res.success) { + callback(); + } else { + callback("瑙勫垯鍚嶇О宸插瓨鍦�!"); + } + }) + }, + // 鍏抽棴寮圭獥鏃舵竻闄よ〃鍗曟牎楠� + removeValidate() { + if (this.$refs.form) this.$refs.form.clearValidate() + } + } +} +</script> + +<style 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; +} +</style> \ No newline at end of file -- Gitblit v1.9.3