| | |
| | | @click="searchReset" |
| | | icon="reload" |
| | | >重置</a-button> |
| | | <a-button |
| | | <!-- <a-button |
| | | @click="handleAdd" |
| | | type="primary" |
| | | icon="plus" |
| | | >新增</a-button> |
| | | >新增</a-button> --> |
| | | <a-button |
| | | type="primary" |
| | | icon="download" |
| | | @click="handleExportXls('工厂')" |
| | | @click="handleExportXls('设备分类报表')" |
| | | >导出</a-button> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-button style="margin-left: 8px"> |
| | |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, getCheckboxProps:getCheckboxProps}" |
| | | @change="handleTableChange" |
| | | :scroll="{ x: 'calc(1200px + 50%)', y: 900 }" |
| | | :scroll="{ x: true, y: 900 }" |
| | | > |
| | | |
| | | <!--状态栏个性展示--> |
| | |
| | | <a-icon type="down" /> |
| | | </a> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item> |
| | | <!-- <a-menu-item> |
| | | <a @click="handleEdit(record)">编辑</a> |
| | | </a-menu-item> |
| | | </a-menu-item> --> |
| | | |
| | | <a-menu-item v-if="record.equipmentCategoryDtlList.length==0"> |
| | | <a-popconfirm |
| | |
| | | </span> |
| | | |
| | | </a-table> |
| | | <equipment-category-model |
| | | <!-- <equipment-category-model |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | ></equipment-category-model> |
| | | ></equipment-category-model> --> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | name: 'EquipmentCategory2List.', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EquipmentCategoryModel, |
| | | // EquipmentCategoryModel, |
| | | JInput, |
| | | JEllipsis, |
| | | }, |
| | |
| | | dataIndex: 'parentName', |
| | | }, */ |
| | | { |
| | | title: '设备分类编码', |
| | | title: '分类编码', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | width: 200 , |
| | | // scopedSlots: { |
| | | // customRender: 'num', |
| | | // }, |
| | | // sorter: true, |
| | | }, |
| | | { |
| | | title: '设备分类名称', |
| | | title: '分类名称', |
| | | |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | width: 200 , |
| | | // scopedSlots: { |
| | | // customRender: 'name', |
| | | // }, |
| | | // sorter: true, |
| | | }, |
| | | { |
| | | title: '分类标识', |
| | | |
| | | align: "center", |
| | | dataIndex: 'equipmentCategoryUda1_dictText', |
| | | // scopedSlots: { |
| | | // customRender: 'name', |
| | | // }, |
| | | // sorter: true, |
| | | width: 200 , |
| | | }, |
| | | { |
| | | title: '技术状态鉴定周期', |
| | | |
| | | align: "center", |
| | | dataIndex: 'equipmentCategoryUda2_dictText', |
| | | // scopedSlots: { |
| | | // customRender: 'name', |
| | | // }, |
| | | // sorter: true, |
| | | width: 200 , |
| | | }, |
| | | { |
| | | title: '创建人', |
| | | align: "center", |
| | | dataIndex: 'createBy', |
| | | width: 200 , |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | align: "center", |
| | | dataIndex: 'createTime', |
| | | width: 200 , |
| | | }, |
| | | { |
| | | title: '修改人', |
| | | align: "center", |
| | | dataIndex: 'updateBy', |
| | | width: 200 , |
| | | }, |
| | | { |
| | | title: '修改时间', |
| | | align: "center", |
| | | dataIndex: 'updateTime', |
| | | width: 200 , |
| | | }, |
| | | |
| | | // { |
| | |
| | | // sorter: true, |
| | | // width: 100, |
| | | // }, |
| | | { |
| | | title: '操作', |
| | | align: "center", |
| | | dataIndex: 'action', |
| | | scopedSlots: { |
| | | customRender: 'action', |
| | | }, |
| | | width: 150, |
| | | fixed: 'right', |
| | | }, |
| | | // { |
| | | // title: '操作', |
| | | // align: "center", |
| | | // dataIndex: 'action', |
| | | // scopedSlots: { |
| | | // customRender: 'action', |
| | | // }, |
| | | // }, |
| | | ], |
| | | url: { |
| | | list: "/eam/equipmentCategory/list", |
| | |
| | | this.queryParam = {}; |
| | | this.queryParam.id = this.nodeSelected.key; |
| | | this.loadData(1); |
| | | } |
| | | |
| | | }, |
| | | mounted() { |
| | | this.$bus.$on('loadData', (data) => { |
| | | this.loadData(); |
| | | }) |
| | | }, |
| | | |
| | | } |
| | | </script> |
| | |
| | | @select="onSelect" |
| | | @expand="onExpand" |
| | | > |
| | | <template |
| | | slot="title" |
| | | slot-scope="{key,entity,title,leaf}" |
| | | > |
| | | <span>{{ title }}</span> |
| | | <a-dropdown |
| | | v-if="entity" |
| | | :trigger="['click']" |
| | | placement="bottomCenter" |
| | | > |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item v-if="key!=-1"> |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleEdit(entity)" |
| | | >编辑</a> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a |
| | | href="javascript:;" |
| | | @click="handleAdd(entity)" |
| | | > |
| | | 添加子类别 |
| | | </a> |
| | | </a-menu-item> |
| | | <a-menu-item v-if="key!=-1&&leaf"> |
| | | <a-popconfirm |
| | | title="确定删除吗?" |
| | | @confirm="() => handleDelete(entity.id)" |
| | | > |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | <span :style="{position: 'absolute',right: 0}"> |
| | | <a-icon type="down" /> |
| | | </span> |
| | | </a-dropdown> |
| | | </template> |
| | | </a-tree> |
| | | <equipment-category-model |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | :mainId="mainId" |
| | | ></equipment-category-model> |
| | | </a-spin> |
| | | </a-card> |
| | | </template> |
| | |
| | | import { getAction } from '@/api/manage' |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | import JEllipsis from "@/components/jeecg/JEllipsis" |
| | | import EquipmentCategoryModel from './EquipmentCategoryModel' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { deleteAction } from '../../../../api/manage' |
| | | |
| | | export default { |
| | | name: 'EquipmentCategoryLeft', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | Tooltip, |
| | | JEllipsis |
| | | JEllipsis, |
| | | EquipmentCategoryModel, |
| | | }, |
| | | props: ['value'], |
| | | data() { |
| | | return { |
| | | searchInput: '', |
| | | disableMixinCreated:true, |
| | | cardLoading: false, |
| | | loading: false, |
| | | treeDataSource: [], |
| | | selectedKeys: [], |
| | | expandedKeys: [], |
| | | mainId:'', |
| | | url: { |
| | | equipmentCategoryTreeList: '/eam/equipmentCategory/loadTree' |
| | | equipmentCategoryTreeList: '/eam/equipmentCategory/loadTree', |
| | | delete: "/eam/equipmentCategory/delete", |
| | | list: "/eam/equipmentCategory/getAllChildren", |
| | | }, |
| | | searchValue: '', |
| | | dataList: [], |
| | |
| | | getCurrSelectedTitle() { |
| | | return !this.currSelected.title ? '' : this.currSelected.title; |
| | | }, |
| | | handleAdd: function (record) { |
| | | this.$refs.modalForm.add({ parentNum: record.num, parentName: record.name }); |
| | | this.$refs.modalForm.title = "新增"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | | this.$refs.modalForm.parentId = record.id; |
| | | }, |
| | | onClearSelected() { |
| | | this.hiding = true; |
| | | this.currSelected = {}; |
| | |
| | | let record = e.node.dataRef; |
| | | this.currSelected = Object.assign({}, record); |
| | | this.selectedKeys = [record.key]; |
| | | this.mainId = record.key; |
| | | }, |
| | | onExpand(expandedKeys) { |
| | | this.expandedKeys = expandedKeys; |
| | |
| | | } |
| | | return parentKey; |
| | | }, |
| | | |
| | | handleDelete(id) { |
| | | if (!this.url.delete) { |
| | | this.$message.error("请设置url.delete属性!") |
| | | return |
| | | } |
| | | var that = this; |
| | | deleteAction(that.url.delete, { id: id }).then((res) => { |
| | | if (res.success) { |
| | | //重新计算分页问题 |
| | | that.reCalculatePage(1) |
| | | that.$message.success(res.message); |
| | | that.queryTreeData(); |
| | | that.$bus.$emit('loadData') |
| | | that.alterFlag = new Date(); |
| | | } else { |
| | | that.$message.warning(res.message); |
| | | } |
| | | }); |
| | | }, |
| | | generateList(data) { |
| | | for (let i = 0; i < data.length; i++) { |
| | | const node = data[i]; |
| | |
| | | <template> |
| | | <a-modal |
| | | :title="title" |
| | | :width="1050" |
| | | :width="1250" |
| | | :visible="visible" |
| | | :maskClosable="false" |
| | | :confirmLoading="confirmLoading" |
| | |
| | | </a-row>--> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | label="设备分类编号" |
| | | :labelCol="labelCol" |
| | |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | </a-row> |
| | | <a-row :gutter="24" v-if="parentId!='-1'"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | label="设备分类名称" |
| | | :labelCol="labelCol" |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24" v-if="parentId=='-1'"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | label="设备分类名称" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | > |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请选择分类名称'" |
| | | :triggerChange="true" |
| | | dictCode="sys_dict_item,item_text,item_text,dict_id ='1695985281980776449'" |
| | | v-decorator="['name', validatorRules.name ]" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | :labelCol="{span:3}" |
| | | :wrapperCol="{span:21}" |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | label="分类标识" |
| | | > |
| | | <j-dict-select-tag |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请选择分类标识'" |
| | | :triggerChange="true" |
| | | dictCode="equipment_category" |
| | | v-decorator="['equipmentCategoryUda1', validatorRules.equipmentCategoryUda1]" |
| | | /> |
| | | </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 |
| | | allow-clear |
| | | :disabled="disableSubmit" |
| | | :placeholder="disableSubmit?'':'请选择技术状态鉴定周期'" |
| | | :triggerChange="true" |
| | | dictCode="appraisal_cycle" |
| | | v-decorator="['equipmentCategoryUda2', validatorRules.equipmentCategoryUda2]" |
| | | /> |
| | | </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 |
| | |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | |
| | | </a-form> |
| | | <a-divider v-if="title!='新增'" orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 选择子设备分类使其跟随父设备分类属性 </a-divider> |
| | | <a-tabs |
| | | type="card" |
| | | defaultActiveKey="1" |
| | | v-if="title!='新增'" |
| | | > |
| | | <a-tab-pane |
| | | tab='子设备分类' |
| | | key='1' |
| | | |
| | | > |
| | | <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" |
| | | bordered |
| | | size="middle" |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange" |
| | | :scroll="{ x: true, y: 900 }" |
| | | ></a-table> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | </a-spin> |
| | | |
| | | <template slot="footer"> |
| | |
| | | import pick from 'lodash.pick' |
| | | import { postAction, requestPut } from '@/api/manage' |
| | | import { duplicateCheck } from '@/api/api' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | |
| | | |
| | | export default { |
| | | name: 'EquipmentCategoryModel', |
| | | mixins:[JeecgListMixin], |
| | | props:{ |
| | | mainId:{ |
| | | type:String, |
| | | default:'', |
| | | required:false |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | title: "操作", |
| | |
| | | parentId: '', |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 }, |
| | | span:3 |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 }, |
| | | span:21 |
| | | }, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this), |
| | |
| | | { validator: this.validateName }, |
| | | ] |
| | | }, |
| | | equipmentCategoryUda1:{ |
| | | rules: [ |
| | | { required: true, message: '请选择类别标识!' }, |
| | | ] |
| | | }, |
| | | remark: { |
| | | rules: [ |
| | | { min: 0, max: 100, message: '长度不超过 100 个字符', trigger: 'blur' }, |
| | | ] |
| | | }, |
| | | equipmentCategoryUda2:{ |
| | | rules: [ |
| | | { required: true, message: '请选择技术状态鉴定周期!' }, |
| | | ] |
| | | } |
| | | }, |
| | | url: { |
| | | add: "/eam/equipmentCategory/add", |
| | | edit: "/eam/equipmentCategory/edit" |
| | | edit: "/eam/equipmentCategory/edit", |
| | | list:"/eam/equipmentCategory/getAllChildren" |
| | | }, |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | align: 'center', |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1 |
| | | }, |
| | | width: 50, |
| | | }, |
| | | /* { |
| | | title: '上级设备分类编码', |
| | | align: "center", |
| | | dataIndex: 'parentNum', |
| | | customRender:function(text, record){ |
| | | return record.parentName+text; |
| | | } |
| | | }, |
| | | |
| | | { |
| | | title: '上级设备分类名称', |
| | | align: "center", |
| | | dataIndex: 'parentName', |
| | | }, */ |
| | | { |
| | | title: '分类编码', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | width: 220, |
| | | // scopedSlots: { |
| | | // customRender: 'num', |
| | | // }, |
| | | // sorter: true, |
| | | }, |
| | | { |
| | | title: '分类名称', |
| | | |
| | | align: "center", |
| | | dataIndex: 'name', |
| | | width: 220, |
| | | // scopedSlots: { |
| | | // customRender: 'name', |
| | | // }, |
| | | // sorter: true, |
| | | }, |
| | | { |
| | | title: '分类标识', |
| | | |
| | | align: "center", |
| | | dataIndex: 'equipmentCategoryUda1_dictText', |
| | | // scopedSlots: { |
| | | // customRender: 'name', |
| | | // }, |
| | | // sorter: true, |
| | | width: 220, |
| | | }, |
| | | { |
| | | title: '创建人', |
| | | align: "center", |
| | | dataIndex: 'createBy', |
| | | width: 220, |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | align: "center", |
| | | dataIndex: 'createTime', |
| | | width: 220, |
| | | }, |
| | | { |
| | | title: '修改人', |
| | | align: "center", |
| | | dataIndex: 'updateBy', |
| | | width: 220, |
| | | }, |
| | | { |
| | | title: '修改时间', |
| | | align: "center", |
| | | dataIndex: 'updateTime', |
| | | width: 220, |
| | | }, |
| | | ], |
| | | //新增、编辑、删除、批量删除操作改变数据后刷新关联的组件的监听属性 |
| | | alterFlag: "" |
| | | } |
| | |
| | | this.visible = true; |
| | | this.disableSubmit = false; |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue(pick(this.model, 'parentNum', 'parentName', 'num', 'name', 'remark')) |
| | | this.form.setFieldsValue(pick(this.model, 'parentNum','equipmentCategoryUda1','equipmentCategoryUda2', 'parentName', 'num', 'name', 'remark')) |
| | | }); |
| | | if (record.id) { |
| | | this.codeDisable = true; |
| | |
| | | close() { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | }, |
| | | onSelectChange(selectedRowKeys, selectionRows) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | this.selectionRows = selectionRows; |
| | | }, |
| | | onClearSelected() { |
| | | this.selectedRowKeys = []; |
| | | this.selectionRows = []; |
| | | }, |
| | | |
| | | //保存并新增按钮触发 |
| | |
| | | formData.parentId = this.parentId |
| | | obj = postAction(this.url.add, formData); |
| | | } else { |
| | | formData.equipmentCategoryDtlList = this.selectionRows; |
| | | obj = requestPut(this.url.edit, formData, { id: this.model.id }); |
| | | } |
| | | obj.then((res) => { |
| | |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.$bus.$emit('loadData') |
| | | that.close(); |
| | | }) |
| | | } |
| | |
| | | } |
| | | }) |
| | | }, |
| | | clearList(){ |
| | | this.dataSource=[] |
| | | this.selectedRowKeys=[] |
| | | this.ipagination.current = 1 |
| | | } |
| | | |
| | | }, |
| | | watch: { |
| | | alterFlag() { |
| | | this.$bus.$emit('queryTreeData'); |
| | | }, |
| | | mainId:{ |
| | | immediate:true, |
| | | handler(val) { |
| | | if(!this.mainId){ |
| | | this.clearList() |
| | | }else{ |
| | | this.queryParam['parentId'] = val |
| | | this.loadData(1); |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |