From 3313bae679eb8902a8c335af4757180d37450251 Mon Sep 17 00:00:00 2001 From: ljlong_2630 Date: Wed, 21 Aug 2024 10:02:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=EF=BC=9ANZKO-694=EF=BC=9B?= =?UTF-8?q?=E5=86=85=E5=AE=B9=EF=BC=9A=E8=B5=84=E4=BA=A7=E5=8F=B0=E8=B4=A6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/eam/basic/assetsAccount/index.ts | 84 ++++++ .../assetsAccountControlsHistory/index.ts | 64 +++++ src/api/eam/basic/fixedAssets/index.ts | 4 + .../basic/fixedAssetsControlsHistory/index.ts | 4 + .../basic/assetsAccount/assetsAccount.data.ts | 243 ++++++++++++++++ src/views/eam/basic/assetsAccount/index.vue | 265 ++++++++++++++++++ .../assetsAccountControlsHistory.data.ts | 143 ++++++++++ .../assetsAccountControlsHistory/index.vue | 235 ++++++++++++++++ .../eam/basic/fixedAssets/fixedAssets.data.ts | 2 +- .../fixedAssetsControlsHistory.data.ts | 6 +- 10 files changed, 1048 insertions(+), 2 deletions(-) create mode 100644 src/api/eam/basic/assetsAccount/index.ts create mode 100644 src/api/eam/basic/assetsAccountControlsHistory/index.ts create mode 100644 src/views/eam/basic/assetsAccount/assetsAccount.data.ts create mode 100644 src/views/eam/basic/assetsAccount/index.vue create mode 100644 src/views/eam/basic/assetsAccountControlsHistory/assetsAccountControlsHistory.data.ts create mode 100644 src/views/eam/basic/assetsAccountControlsHistory/index.vue diff --git a/src/api/eam/basic/assetsAccount/index.ts b/src/api/eam/basic/assetsAccount/index.ts new file mode 100644 index 0000000..68df8ad --- /dev/null +++ b/src/api/eam/basic/assetsAccount/index.ts @@ -0,0 +1,84 @@ +import request from '@/config/axios' +import { getStrDictOptions } from '@/utils/dict' +import { useUserStore } from '@/store/modules/user' +import { checkPermi } from '@/utils/permission' +export interface AssetsAccountVO { + number: string + name: string + accountingUnit: string + specifications: string + locationNumber: string + purchaseDate: Date + purchaseDept: string + supplierNumber: string + productionDate: Date + purchasePrice: number + manageDept: string + unit: string + qty: number + siteId: string + available: string + concurrencyStamp: number + category: string +} + +export const getAssetsAccountPage = async (params) => { + const userStore = useUserStore() // 用户信息 + const deviceMoldTypeList = getStrDictOptions(DICT_TYPE.SPECIAL_DEPT_ROLE) + + // 查找第一个同时存在于userStore.roles和deviceMoldTypeList中的值 + const matchingRole = userStore.roles.find(role => + deviceMoldTypeList.some(deviceMold => deviceMold.value === role) + ); + + const admin = checkPermi(['gdzc_admin']); + // 如果找到了匹配的角色,将它作为manageDept的值加入到params中 + if (matchingRole) { + params.manageDept = matchingRole; // 这里只添加第一个匹配的角色 + } else if(admin){ + params.manageDept = null; + } else { + params.manageDept = 'bukenengpipeidedao@3&*#@'; + } + + params.category = '2' + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/fixed-assets/senior', data }) + } else { + return await request.get({ url: `/eam/fixed-assets/page`, params }) + } +} + +// 查询固定资产详情 +export const getAssetsAccount = async (id: number) => { + return await request.get({ url: `/eam/fixed-assets/get?id=` + id }) +} + +// 新增固定资产 +export const createAssetsAccount = async (data: AssetsAccountVO) => { + data.category = '2' + return await request.post({ url: `/eam/fixed-assets/create`, data }) +} + +// 修改固定资产 +export const updateAssetsAccount = async (data: AssetsAccountVO) => { + return await request.put({ url: `/eam/fixed-assets/update`, data }) +} + +// 删除固定资产 +export const deleteAssetsAccount = async (id: number) => { + return await request.delete({ url: `/eam/fixed-assets/delete?id=` + id }) +} + +// 导出固定资产 Excel +export const exportAssetsAccount = async (params) => { + params.category = '2' + return await request.download({ url: `/eam/fixed-assets/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/fixed-assets/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/basic/assetsAccountControlsHistory/index.ts b/src/api/eam/basic/assetsAccountControlsHistory/index.ts new file mode 100644 index 0000000..ce4a928 --- /dev/null +++ b/src/api/eam/basic/assetsAccountControlsHistory/index.ts @@ -0,0 +1,64 @@ +import request from '@/config/axios' + +export interface AssetsAccountControlsHistoryVO { + number: string + name: string + accountingUnit: string + specifications: string + locationNumber: string + beginUseDate: Date + supplierNumber: string + productionDate: Date + manageDept: string + unit: string + qty: number + costSubjectDesc: string + user: string + status: string + category: string +} + +// 查询固定资产表操作记录列表 +export const getAssetsAccountControlsHistoryPage = async (params) => { + + params.category = '2' + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/fixed-assets-controls-history/senior', data }) + } else { + return await request.get({ url: `/eam/fixed-assets-controls-history/page`, params }) + } +} + +// 查询固定资产表操作记录详情 +export const getAssetsAccountControlsHistory = async (id: number) => { + return await request.get({ url: `/eam/fixed-assets-controls-history/get?id=` + id }) +} + +// 新增固定资产表操作记录 +export const createAssetsAccountControlsHistory = async (data: AssetsAccountControlsHistoryVO) => { + data.category = '2' + return await request.post({ url: `/eam/fixed-assets-controls-history/create`, data }) +} + +// 修改固定资产表操作记录 +export const updateAssetsAccountControlsHistory = async (data: AssetsAccountControlsHistoryVO) => { + return await request.put({ url: `/eam/fixed-assets-controls-history/update`, data }) +} + +// 删除固定资产表操作记录 +export const deleteAssetsAccountControlsHistory = async (id: number) => { + return await request.delete({ url: `/eam/fixed-assets-controls-history/delete?id=` + id }) +} + +// 导出固定资产表操作记录 Excel +export const exportAssetsAccountControlsHistory = async (params) => { + params.category = '2' + return await request.download({ url: `/eam/fixed-assets-controls-history/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/fixed-assets-controls-history/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/basic/fixedAssets/index.ts b/src/api/eam/basic/fixedAssets/index.ts index aaa2a02..1251e1a 100644 --- a/src/api/eam/basic/fixedAssets/index.ts +++ b/src/api/eam/basic/fixedAssets/index.ts @@ -19,6 +19,7 @@ export interface FixedAssetsVO { siteId: string available: string concurrencyStamp: number + category: string } export const getFixedAssetsPage = async (params) => { @@ -40,6 +41,7 @@ export const getFixedAssetsPage = async (params) => { params.manageDept = 'bukenengpipeidedao@3&*#@'; } + params.category = '1' if (params.isSearch) { delete params.isSearch const data = {...params} @@ -56,6 +58,7 @@ export const getFixedAssets = async (id: number) => { // 新增固定资产 export const createFixedAssets = async (data: FixedAssetsVO) => { + data.category = '1' return await request.post({ url: `/eam/fixed-assets/create`, data }) } @@ -71,6 +74,7 @@ export const deleteFixedAssets = async (id: number) => { // 导出固定资产 Excel export const exportFixedAssets = async (params) => { + params.category = '1' return await request.download({ url: `/eam/fixed-assets/export-excel`, params }) } diff --git a/src/api/eam/basic/fixedAssetsControlsHistory/index.ts b/src/api/eam/basic/fixedAssetsControlsHistory/index.ts index 618d52c..3a1a1b4 100644 --- a/src/api/eam/basic/fixedAssetsControlsHistory/index.ts +++ b/src/api/eam/basic/fixedAssetsControlsHistory/index.ts @@ -15,10 +15,12 @@ export interface FixedAssetsControlsHistoryVO { costSubjectDesc: string user: string status: string + category: string } // 查询固定资产表操作记录列表 export const getFixedAssetsControlsHistoryPage = async (params) => { + params.category = '1' if (params.isSearch) { delete params.isSearch const data = {...params} @@ -35,6 +37,7 @@ export const getFixedAssetsControlsHistory = async (id: number) => { // 新增固定资产表操作记录 export const createFixedAssetsControlsHistory = async (data: FixedAssetsControlsHistoryVO) => { + data.category = '1' return await request.post({ url: `/eam/fixed-assets-controls-history/create`, data }) } @@ -50,6 +53,7 @@ export const deleteFixedAssetsControlsHistory = async (id: number) => { // 导出固定资产表操作记录 Excel export const exportFixedAssetsControlsHistory = async (params) => { + params.category = '1' return await request.download({ url: `/eam/fixed-assets-controls-history/export-excel`, params }) } diff --git a/src/views/eam/basic/assetsAccount/assetsAccount.data.ts b/src/views/eam/basic/assetsAccount/assetsAccount.data.ts new file mode 100644 index 0000000..8067c88 --- /dev/null +++ b/src/views/eam/basic/assetsAccount/assetsAccount.data.ts @@ -0,0 +1,243 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import { validateHanset,validateNumDot, validateEmail } from '@/utils/validator' +import * as LocationApi from '@/api/eam/basic/location' +import * as SupplierApi from '@/api/eam/basic/supplier' +import { useUserStore } from '@/store/modules/user' +import { checkPermi } from '@/utils/permission' + +const localtionList = await LocationApi.getLocationNoPage() +const supplierList = await SupplierApi.getSupplierNoPage() +const userStore = useUserStore() // 用户信息 +const admin = checkPermi(['gdzc_admin']); + +// 表单校验 +export const AssetsAccountRules = reactive({ + number: [ + required, + ], + name: [ + required, + { max: 50, message: '不得超过50个字符', trigger: 'blur' }, + ], + accountingUnit: [ + { max: 20, message: '不得超过20个字符', trigger: 'blur' }, + ], + specifications: [ + { max: 50, message: '不得超过20个字符', trigger: 'blur' }, + ], + locationNumber: [ + required, + { max: 20, message: '不得超过20个字符', trigger: 'blur' }, + ], + purchaseDept: [ + { max: 50, message: '不得超过20个字符', trigger: 'blur' }, + ], + supplierNumber: [ + required, + { max: 20, message: '不得超过20个字符', trigger: 'blur' }, + ], + purchasePrice: [ + required, + { validator:validateNumDot, message: '请输入数字格式', trigger: 'blur'} + ], + manageDept: [ + required, + { max: 20, message: '不得超过20个字符', trigger: 'blur' }, + ], + unit: [ + { max: 20, message: '不得超过20个字符', trigger: 'blur' }, + ], + qty: [ + required, + { validator:validateNumDot, message: '请输入数字格式', trigger: 'blur'} + ], + +}) + +export const AssetsAccount = useCrudSchemas(reactive([ + { + label: '资产编号', + field: 'number', + sort: 'custom', + table: { + width: '150', + fixed: 'left', + }, + isSearch: true, + isForm: true, + }, + { + label: '资产名称', + field: 'name', + sort: 'custom', + table: { + width: '150', + }, + isSearch: true, + }, + { + label: '规格型号', + field: 'specifications', + sort: 'custom', + table: { + width: '150', + }, + }, + { + label: '会计单位', + field: 'accountingUnit', + sort: 'custom', + table: { + width: '150', + }, + }, + { + label: '库位', + field: 'locationNumber', + sort: 'custom', + table: { + width: '150', + }, + isSearch: true, + form:{ + component: 'Input', + componentProps: { + // options: localtionList, + // optionsAlias: { + // labelField: 'name', + // valueField: 'number' + // }, + placeholder: "请输入库位" + } + } + }, + { + label: '投入使用时间', + field: 'beginUseDate', + sort: 'custom', + table: { + width: '150', + }, + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + { + label: '供应商', + field: 'supplierNumber', + sort: 'custom', + table: { + width: '150', + }, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return supplierList.find((account) => account.number == cellValue)?.name + }, + form:{ + component: 'Select', + componentProps: { + options: supplierList, + optionsAlias: { + labelField: 'name', + valueField: 'number' + }, + filterable: true, + placeholder: "请选择供应商" + } + } + }, + { + label: '管理部门', + field: 'manageDept', + sort: 'custom', + isForm: admin, + dictType: DICT_TYPE.SPECIAL_DEPT_ROLE, + dictClass: 'string', + table: { + width: '150', + }, + }, + { + label: '出厂日期', + field: 'productionDate', + sort: 'custom', + table: { + width: '150', + }, + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + } + }, + // { + // label: '管理部门', + // field: 'manageDept', + // sort: 'custom', + // table: { + // width: '150', + // }, + // form: { + // componentProps: { + // disabled: true + // } + // } + // }, + { + label: '单位', + field: 'unit', + sort: 'custom', + table: { + width: '150', + }, + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: '150', + }, + }, + { + label: '期间费用科目描述', + field: 'costSubjectDesc', + sort: 'custom', + table: { + width: '150', + }, + }, + { + label: '使用人', + field: 'user', + sort: 'custom', + table: { + width: '150', + }, + }, + { + label: '状态', + field: 'status', + sort: 'custom', + table: { + width: '150', + }, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/basic/assetsAccount/index.vue b/src/views/eam/basic/assetsAccount/index.vue new file mode 100644 index 0000000..328c050 --- /dev/null +++ b/src/views/eam/basic/assetsAccount/index.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/views/eam/basic/assetsAccountControlsHistory/assetsAccountControlsHistory.data.ts b/src/views/eam/basic/assetsAccountControlsHistory/assetsAccountControlsHistory.data.ts new file mode 100644 index 0000000..5029d18 --- /dev/null +++ b/src/views/eam/basic/assetsAccountControlsHistory/assetsAccountControlsHistory.data.ts @@ -0,0 +1,143 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const AssetsAccountControlsHistoryRules = reactive({ + number: [required], + name: [required], +}) + +export const AssetsAccountControlsHistory = useCrudSchemas(reactive([ + { + label: '资产编号', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '操作类型', + field: 'type', + sort: 'custom', + table: { + width: '150', + }, + isSearch: true, + isTable: true, + dictType: DICT_TYPE.SYSTEM_OPERATE_TYPE, + dictClass: 'string' + }, + { + label: '操作人', + field: 'createName', + sort: 'custom', + table: { + width: '150', + }, + isSearch: false, + isTable: true, + + }, + { + label: '资产名称', + field: 'name', + sort: 'custom', + isSearch: true, + }, + { + label: '会计单位', + field: 'accountingUnit', + sort: 'custom', + }, + { + label: '规格型号', + field: 'specifications', + sort: 'custom', + }, + { + label: '库位编号', + field: 'locationNumber', + sort: 'custom', + }, + { + label: '投入使用时间', + field: 'beginUseDate', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '供应商编号', + field: 'supplierNumber', + sort: 'custom', + }, + { + label: '出厂日期', + field: 'productionDate', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '管理部门', + field: 'manageDept', + sort: 'custom', + }, + { + label: '单位', + field: 'unit', + sort: 'custom', + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + }, + { + label: '期间费用科目描述', + field: 'costSubjectDesc', + sort: 'custom', + }, + { + label: '使用人', + field: 'user', + sort: 'custom', + }, + // { + // label: '状态', + // field: 'status', + // sort: 'custom', + // form: { + // component: 'Radio' + // }, + // }, + { + label: '操作时间', + field: 'createTime', + sort: 'custom', + isSearch:false, + formatter: dateFormatter, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + isTable:false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/basic/assetsAccountControlsHistory/index.vue b/src/views/eam/basic/assetsAccountControlsHistory/index.vue new file mode 100644 index 0000000..e6dddb2 --- /dev/null +++ b/src/views/eam/basic/assetsAccountControlsHistory/index.vue @@ -0,0 +1,235 @@ + + + diff --git a/src/views/eam/basic/fixedAssets/fixedAssets.data.ts b/src/views/eam/basic/fixedAssets/fixedAssets.data.ts index 8179ccf..13c8168 100644 --- a/src/views/eam/basic/fixedAssets/fixedAssets.data.ts +++ b/src/views/eam/basic/fixedAssets/fixedAssets.data.ts @@ -57,7 +57,7 @@ export const FixedAssetsRules = reactive({ export const FixedAssets = useCrudSchemas(reactive([ { - label: '固定资产编号', + label: '资产编号', field: 'number', sort: 'custom', table: { diff --git a/src/views/eam/basic/fixedAssetsControlsHistory/fixedAssetsControlsHistory.data.ts b/src/views/eam/basic/fixedAssetsControlsHistory/fixedAssetsControlsHistory.data.ts index 4c1daec..a61adc5 100644 --- a/src/views/eam/basic/fixedAssetsControlsHistory/fixedAssetsControlsHistory.data.ts +++ b/src/views/eam/basic/fixedAssetsControlsHistory/fixedAssetsControlsHistory.data.ts @@ -9,9 +9,13 @@ export const FixedAssetsControlsHistoryRules = reactive({ export const FixedAssetsControlsHistory = useCrudSchemas(reactive([ { - label: '编号唯一标识', + label: '资产编号', field: 'number', sort: 'custom', + table: { + width: '150', + fixed: 'left', + }, isSearch: true, }, {