From fe1ca6baff74b189c737e28e4a5fc2090e0e55b5 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 05 七月 2025 17:26:06 +0800 Subject: [PATCH] art: HF编码维护-新增页面 --- src/views/eam/base/EamBaseHFCodeList.vue | 183 ++++++++++++++++++++++++++++++ src/views/eam/base/modules/EamBaseHFCodeModal.vue | 143 +++++++++++++++++++++++ 2 files changed, 326 insertions(+), 0 deletions(-) diff --git a/src/views/eam/base/EamBaseHFCodeList.vue b/src/views/eam/base/EamBaseHFCodeList.vue new file mode 100644 index 0000000..17e43fa --- /dev/null +++ b/src/views/eam/base/EamBaseHFCodeList.vue @@ -0,0 +1,183 @@ +<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 :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="HF缂栫爜"> + <j-input placeholder="璇疯緭鍏F缂栫爜" v-model="queryParam.hfCode"></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.hfName"></j-input> + </a-form-item> + </a-col> + <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-form-item label="妯℃澘鍒嗙被"> + <j-dict-select-tag dict-code="hf_template_category" placeholder="璇烽�夋嫨妯℃澘鍒嗙被" + v-model="queryParam.hfCategory"></j-dict-select-tag> + </a-form-item> + </a-col> + <a-col :xl="4" :lg="7" :md="8" :sm="24"> + <a-form-item label="鐘舵��"> + <j-dict-select-tag dict-code="enable_disable" placeholder="璇烽�夋嫨鐘舵��" + v-model="queryParam.hfStatus"></j-dict-select-tag> + </a-form-item> + </a-col> + + <a-col :xl="4" :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> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="batchDel"> + <a-icon type="delete" /> + 鍒犻櫎 + </a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 + <a-icon type="down" /> + </a-button> + </a-dropdown> + </div> + + <!-- table鍖哄煙-begin --> + <div> + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a + style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� + <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :pagination="ipagination" + :loading="loading" + class="j-table-force-nowrap" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" + @change="handleTableChange"> + + <span slot="action" slot-scope="text, record"> + <a @click="handleEdit(record)" v-if="record.hfStatus === 'ENABLE'">缂栬緫</a> + <a-divider type="vertical" v-if="record.hfStatus === 'ENABLE'" /> + <a @click="handleUpgrade(record)" v-if="record.hfStatus === 'ENABLE'">鍗囩増</a> + <a-divider type="vertical" v-if="record.hfStatus === 'ENABLE'" /> + <a-dropdown> + <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <a-menu slot="overlay"> + <a-menu-item> + <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </a-menu-item> + </a-menu> + </a-dropdown> + </span> + + </a-table> + </div> + <!-- table鍖哄煙-end --> + + <!-- 琛ㄥ崟鍖哄煙 --> + <eamBaseHFCode-modal ref="modalForm" @ok="modalFormOk"></eamBaseHFCode-modal> + </a-card> +</template> + +<script> +import '@/assets/less/TableExpand.less' +import EamBaseHFCodeModal from './modules/EamBaseHFCodeModal' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' + +export default { + name: 'EamBaseHFCodeList', + mixins: [JeecgListMixin], + components: { + EamBaseHFCodeModal + }, + data() { + return { + description: 'HFCode缁存姢绠$悊椤甸潰', + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + } + }, + { + title: 'HF缂栫爜', + align: 'center', + dataIndex: 'hfCode' + }, + { + title: '妯℃澘鍚嶇О', + align: 'center', + dataIndex: 'hfName' + }, + { + title: '妯℃澘鍒嗙被', + align: 'center', + dataIndex: 'hfCategory_dictText' + }, + { + title: '鐘舵��', + align: 'center', + dataIndex: 'hfStatus_dictText' + }, + { + title: '鐗堟湰', + align: 'center', + dataIndex: 'hfVersion' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' } + } + ], + url: { + list: '/eam/eamBaseHFCode/list', + delete: '/eam/eamBaseHFCode/delete', + deleteBatch: '/eam/eamBaseHFCode/deleteBatch' + } + } + }, + computed: {}, + methods: { + handleUpgrade(record) { + //鍗囩増 + this.$refs.modalForm.upgrade(record); + this.$refs.modalForm.title = "鍗囩増"; + this.$refs.modalForm.disableSubmit = false; + }, + } +} +</script> +<style scoped> +@import '~@assets/less/common.less'; +</style> \ No newline at end of file diff --git a/src/views/eam/base/modules/EamBaseHFCodeModal.vue b/src/views/eam/base/modules/EamBaseHFCodeModal.vue new file mode 100644 index 0000000..091bc52 --- /dev/null +++ b/src/views/eam/base/modules/EamBaseHFCodeModal.vue @@ -0,0 +1,143 @@ +<template> + <j-modal + :title="title" + :width="800" + :visible="visible" + :confirmLoading="confirmLoading" + switchFullscreen + @ok="handleOk" + @cancel="handleCancel" + cancelText="鍏抽棴"> + + <a-spin :spinning="confirmLoading"> + <a-form-model ref="form" :model="model" :rules="validatorRules"> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCode" label="HF缂栫爜"> + <a-input placeholder="璇疯緭鍏F缂栫爜" v-model="model.hfCode" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfName" label="妯℃澘鍚嶇О"> + <a-input placeholder="璇疯緭鍏ユā鏉垮悕绉�" v-model="model.hfName" /> + </a-form-model-item> + <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCategory" label="妯℃澘鍒嗙被"> + <j-dict-select-tag dict-code="hf_template_category" placeholder="璇烽�夋嫨妯℃澘鍒嗙被" :disabled="editable" + v-model="model.hfCategory"></j-dict-select-tag> + </a-form-model-item> + </a-form-model> + </a-spin> + </j-modal> +</template> + +<script> +import { httpAction } from '@/api/manage' +import moment from 'moment' + +export default { + name: 'EamBaseHFCodeModal', + data() { + return { + title: '鎿嶄綔', + visible: false, + model: {}, + editable: false, + upgradeFlag: false, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 } + }, + + confirmLoading: false, + validatorRules: { + hfCode:[ + { required: true, message: '璇疯緭鍏F缂栫爜!' } + ], + hfName: [ + { required: true, message: '璇疯緭鍏ユā鏉垮悕绉�!' } + ], + hfCategory: [ + { required: true, message: '璇烽�夋嫨妯℃澘鍒嗙被!' } + ], + }, + url: { + add: '/eam/eamBaseHFCode/add', + edit: '/eam/eamBaseHFCode/edit', + upgrade: '/eam/eamBaseHFCode/upgrade', + } + } + }, + created() { + }, + methods: { + add() { + //鍒濆鍖栭粯璁ゅ�� + this.model = {}; + this.visible = true; + this.editable = false; + this.upgradeFlag = false; + }, + edit(record) { + this.model = Object.assign({}, record); + this.visible = true; + this.editable = true; + this.upgradeFlag = false; + }, + upgrade(record) { + this.model = Object.assign({}, record); + this.visible = true; + this.editable = true; + this.upgradeFlag = true; + }, + close() { + this.$emit('close') + this.visible = false + this.$refs.form.clearValidate() + }, + handleOk() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true + let httpurl = '' + let method = '' + if (!this.model.id) { + httpurl += this.url.add + method = 'post' + } else { + if(this.upgradeFlag) { + httpurl+=this.url.upgrade; + }else { + httpurl+=this.url.edit; + } + method = 'put'; + } + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.$emit('ok') + that.close(); + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = false + }) + } else { + return false + } + }) + }, + handleCancel() { + this.close() + } + + + } +} +</script> + +<style lang="less" scoped> + +</style> \ No newline at end of file -- Gitblit v1.9.3