From 14962388842478b2d83d19317f944ac1a9087630 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 21 Apr 2026 13:31:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invoicing/cgd/NuInvoicingCgdInfo.api.ts | 93 ++++++ .../invoicing/cgd/NuInvoicingCgdInfo.data.ts | 274 ++++++++++++++++ .../invoicing/cgd/NuInvoicingCgdInfoList.vue | 235 +++++++++++++ .../invoicing/cgd/NuInvoicingCgdMain.api.ts | 98 ++++++ .../invoicing/cgd/NuInvoicingCgdMain.data.ts | 107 ++++++ .../invoicing/cgd/NuInvoicingCgdMainList.vue | 202 ++++++++++++ .../components/NuInvoicingCgdDetailForm.vue | 259 +++++++++++++++ .../components/NuInvoicingCgdDetailModal.vue | 82 +++++ .../cgd/components/NuInvoicingCgdInfoForm.vue | 235 +++++++++++++ .../components/NuInvoicingCgdInfoModal.vue | 77 +++++ .../cgd/components/NuInvoicingCgdJhForm.vue | 197 +++++++++++ .../cgd/components/NuInvoicingCgdJhModal.vue | 83 +++++ .../cgd/components/NuInvoicingCgdMainForm.vue | 309 ++++++++++++++++++ .../components/NuInvoicingCgdMainModal.vue | 83 +++++ .../cgd/components/NuInvoicingCgdRkdForm.vue | 224 +++++++++++++ .../cgd/components/NuInvoicingCgdRkdModal.vue | 96 ++++++ 16 files changed, 2654 insertions(+) create mode 100644 src/views/invoicing/cgd/NuInvoicingCgdInfo.api.ts create mode 100644 src/views/invoicing/cgd/NuInvoicingCgdInfo.data.ts create mode 100644 src/views/invoicing/cgd/NuInvoicingCgdInfoList.vue create mode 100644 src/views/invoicing/cgd/NuInvoicingCgdMain.api.ts create mode 100644 src/views/invoicing/cgd/NuInvoicingCgdMain.data.ts create mode 100644 src/views/invoicing/cgd/NuInvoicingCgdMainList.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdDetailForm.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdDetailModal.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdInfoForm.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdInfoModal.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdJhForm.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdJhModal.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdMainForm.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdRkdForm.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdRkdModal.vue diff --git a/src/views/invoicing/cgd/NuInvoicingCgdInfo.api.ts b/src/views/invoicing/cgd/NuInvoicingCgdInfo.api.ts new file mode 100644 index 0000000..8b0a0b0 --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdInfo.api.ts @@ -0,0 +1,93 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from '/@/hooks/web/useMessage'; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/cgd/nuInvoicingCgdInfo/list', + listAndJh = '/cgd/nuInvoicingCgdInfo/listAndJh', + save = '/cgd/nuInvoicingCgdInfo/add', + edit = '/cgd/nuInvoicingCgdInfo/edit', + deleteOne = '/cgd/nuInvoicingCgdInfo/delete', + deleteBatch = '/cgd/nuInvoicingCgdInfo/deleteBatch', + importExcel = '/cgd/nuInvoicingCgdInfo/importExcel', + exportXls = '/cgd/nuInvoicingCgdInfo/exportXls', + sxd = '/cgd/nuInvoicingCgdSxd/list', + calcTotalPrice = '/cgd/nuInvoicingCgdInfo/calcTotalPrice', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const listAndJh = (params) => defHttp.get({ url: Api.listAndJh, params }); + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params, handleSuccess) => { + return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => { + handleSuccess(); + }); +}; + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { + handleSuccess(); + }); + }, + }); +}; + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +}; + +/** + * 随行单 + * @param params + */ +export const sxdList = (params) => defHttp.get({ url: Api.sxd, params }); + +/** + * 已完结采购单+拣货 总价 + * @param params + */ +export const calcTotalPrice = (params) => defHttp.get({ url: Api.calcTotalPrice, params }); diff --git a/src/views/invoicing/cgd/NuInvoicingCgdInfo.data.ts b/src/views/invoicing/cgd/NuInvoicingCgdInfo.data.ts new file mode 100644 index 0000000..8d74343 --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdInfo.data.ts @@ -0,0 +1,274 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + // { + // title: '采购单id', + // align: "center", + // dataIndex: 'mainId' + // }, + // { + // title: '采购单id', + // align: "center", + // dataIndex: 'cgdId' + // }, + { + title: '物料编码', + align: "center", + dataIndex: 'wlMaterialNo' + }, + { + title: '物料名称', + align: "center", + dataIndex: 'wlName' + }, + { + title: '采购单位', + align: "center", + dataIndex: 'wlUnits' + }, + { + title: '规格型号', + align: "center", + dataIndex: 'wlSpecificationModel' + }, + { + title: '上限', + align: "center", + dataIndex: 'wlUpperLimit' + }, + { + title: '下限', + align: "center", + dataIndex: 'wlLowerLimit' + }, + // { + // title: '供应商名称', + // align: "center", + // dataIndex: 'suppliersName' + // }, + { + title: '采购数量', + align: "center", + dataIndex: 'purchaseQuantity' + }, + // { + // title: '银行', + // align: "center", + // dataIndex: 'brand' + // }, + { + title: '库房', + align: "center", + dataIndex: 'nuId' + }, + // { + // title: '入库数量', + // align: "center", + // dataIndex: 'rksl' + // }, + // { + // title: '挂账数量', + // align: "center", + // dataIndex: 'wrksl' + // }, + // { + // title: '采购价格', + // align: "center", + // dataIndex: 'procurementPrice' + // }, + // { + // title: '到货单间', + // align: "center", + // dataIndex: 'arrivalPrice' + // }, +]; + + +//列表数据 +export const rkcolumns: BasicColumn[] = [ + { + title: '物料编码', + align: "center", + dataIndex: 'wlMaterialNo', + width: 100 + }, + { + title: '物料名称', + align: "center", + dataIndex: 'wlName' + }, + { + title: '规格型号', + align: "center", + dataIndex: 'wlSpecificationModel' + }, + { + title: '品牌型号', + align: "center", + dataIndex: 'brandType' + }, + { + title: '生产厂家', + align: "center", + dataIndex: 'manufacturer' + }, + { + title: '采购单位', + align: "center", + dataIndex: 'wlUnits', + width: 90 + }, + { + title: '采购价格', + align: "center", + dataIndex: 'procurementPrice', + width: 90 + }, + { + title: '销售价格', + align: "center", + dataIndex: 'arrivalPrice', + width: 100, + // 设置表头为红色 + customHeaderCell: () => ({ + style: { + color: '#f5222d', // 红色字体 + fontWeight: 600, // 加粗 + backgroundColor: '#f5f5f5' // 可选:背景色 + } + }), + customRender: ({ text }) => { + return { + children: text, + props: { + style: { color: '#f5222d' } // 红色 + } + }; + }, + }, + { + title: '采购数量', + align: "center", + dataIndex: 'purchaseQuantity', + width: 90 + }, + { + title: '操作', + align: "center", + dataIndex: 'action', + width: 80 + }, +]; + + +//列表数据 +export const rkcolumnsDetail: BasicColumn[] = [ + { + title: '物料编码', + align: "center", + dataIndex: 'wlMaterialNo', + width: 100 + }, + { + title: '物料名称', + align: "center", + dataIndex: 'wlName' + }, + { + title: '规格型号', + align: "center", + dataIndex: 'wlSpecificationModel' + }, + { + title: '品牌型号', + align: "center", + dataIndex: 'brandType' + }, + { + title: '生产厂家', + align: "center", + dataIndex: 'manufacturer' + }, + { + title: '采购单位', + align: "center", + dataIndex: 'wlUnits', + width: 90 + }, + { + title: '采购价格', + align: "center", + dataIndex: 'procurementPrice', + width: 90 + }, + { + title: '销售价格', + align: "center", + dataIndex: 'arrivalPrice', + width: 100, + // 设置表头为红色 + customHeaderCell: () => ({ + style: { + color: '#f5222d', // 红色字体 + fontWeight: 600, // 加粗 + backgroundColor: '#f5f5f5' // 可选:背景色 + } + }), + customRender: ({ text }) => { + return { + children: text, + props: { + style: { color: '#f5222d' } // 红色 + } + }; + }, + }, + { + title: '采购数量', + align: "center", + dataIndex: 'purchaseQuantity', + width: 90 + }, + { + title: '入库数量', + align: "center", + dataIndex: 'rksl', + width: 90 + }, + { + title: '挂账数量', + align: "center", + dataIndex: 'wrksl', + width: 110 + }, + { + title: '销账数量', + align: "center", + dataIndex: 'xzsl', + width: 90 + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + mainId: {title: '采购单id',order: 0,view: 'text', type: 'string',}, + cgdId: {title: '采购单id',order: 1,view: 'text', type: 'string',}, + wlMaterialNo: {title: '物料编码',order: 2,view: 'text', type: 'string',}, + wlName: {title: '物料名称',order: 3,view: 'text', type: 'string',}, + wlUnits: {title: '采购单位',order: 4,view: 'text', type: 'string',}, + wlSpecificationModel: {title: '规格型号',order: 5,view: 'text', type: 'string',}, + wlUpperLimit: {title: '上限',order: 6,view: 'text', type: 'string',}, + wlLowerLimit: {title: '下限',order: 7,view: 'text', type: 'string',}, + suppliersName: {title: '供应商名称',order: 8,view: 'text', type: 'string',}, + purchaseQuantity: {title: '采购数量',order: 9,view: 'number', type: 'number',}, + brand: {title: '银行',order: 10,view: 'text', type: 'string',}, + nuId: {title: '库房',order: 11,view: 'text', type: 'string',}, + rksl: {title: '入库数量',order: 12,view: 'text', type: 'string',}, + wrksl: {title: '挂账数量',order: 13,view: 'text', type: 'string',}, + procurementPrice: {title: '采购价格',order: 14,view: 'text', type: 'string',}, + arrivalPrice: {title: '到货单间',order: 15,view: 'text', type: 'string',}, +}; diff --git a/src/views/invoicing/cgd/NuInvoicingCgdInfoList.vue b/src/views/invoicing/cgd/NuInvoicingCgdInfoList.vue new file mode 100644 index 0000000..747ae7c --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdInfoList.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/src/views/invoicing/cgd/NuInvoicingCgdMain.api.ts b/src/views/invoicing/cgd/NuInvoicingCgdMain.api.ts new file mode 100644 index 0000000..4363f7d --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdMain.api.ts @@ -0,0 +1,98 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/cgd/nuInvoicingCgdMain/list', + calcList = '/cgd/nuInvoicingCgdMain/calcList', + save='/cgd/nuInvoicingCgdMain/add', + edit='/cgd/nuInvoicingCgdMain/edit', + editArrivalPrice='/cgd/nuInvoicingCgdMain/editArrivalPrice', + deleteOne = '/cgd/nuInvoicingCgdMain/delete', + deleteBatch = '/cgd/nuInvoicingCgdMain/deleteBatch', + importExcel = '/cgd/nuInvoicingCgdMain/importExcel', + exportXls = '/cgd/nuInvoicingCgdMain/exportXls', + auditInfo='/cgd/nuInvoicingCgdMain/auditInfo', + rukuInfo='/cgd/nuInvoicingCgdMain/rukuInfo', + queryCgdList='/api/suppliers/queryCgdList', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 列表接口 包含每个采购单应付金额 + * @param params + */ +export const calcList = (params) => defHttp.get({ url: Api.calcList, params }); +export const queryCgdList = (params) => defHttp.get({ url: Api.queryCgdList, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} +// 采购单审核 +export const auditInfo = (params, isUpdate) => { + let url = Api.auditInfo; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} +// 采购单入库 +export const rukuInfo = (params, isUpdate) => { + let url = Api.rukuInfo; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} +export const editArrivalPrice = (params, isUpdate) => { + let url = Api.editArrivalPrice; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/invoicing/cgd/NuInvoicingCgdMain.data.ts b/src/views/invoicing/cgd/NuInvoicingCgdMain.data.ts new file mode 100644 index 0000000..60b05bf --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdMain.data.ts @@ -0,0 +1,107 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '采购单单号', + align: "center", + dataIndex: 'cgdNo', + width: 140 + }, + { + title: '机构名称', + align: "center", + dataIndex: 'departName' + }, + { + title: '采购日期', + align: "center", + dataIndex: 'qgDate', + customRender:({text}) =>{ + text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + width: 90 + }, + { + title: '采购人', + align: "center", + dataIndex: 'qgBy', + width: 90 + }, + { + title: '联系电话', + align: "center", + dataIndex: 'qgTel', + width: 120 + }, + { + title: '采购金额', + align: "center", + dataIndex: 'totalPrice', + width: 90 + }, + { + title: '订单状态', + align: "center", + dataIndex: 'status_dictText', + width: 90 + }, + { + title: '挂账状态', + align: "center", + dataIndex: 'izGuazhang', + width: 90, + customRender:({text}) =>{ + return text=='N' ? "否" : "是"; + } + }, + { + title: '是否确认', + align: "center", + dataIndex: 'izGysConfirmed', + width: 90, + customRender:({text}) =>{ + return text=='N' ? "否" : "是"; + } + }, + // { + // title: '采购单类型', + // align: "center", + // dataIndex: 'cgdType_dictText', + // width: 120 + // }, + // { + // title: '审核人', + // align: "center", + // dataIndex: 'reviewedBy' + // }, + // { + // title: '审核时间', + // align: "center", + // dataIndex: 'reviewedTime' + // }, +]; + +// 高级查询数据 +export const superQuerySchema = { + qgdId: {title: '采购单id',order: 0,view: 'text', type: 'string',}, + cgdNo: {title: '采购单单号',order: 1,view: 'text', type: 'string',}, + gysId: {title: '供应商id',order: 2,view: 'text', type: 'string',}, + qgDate: {title: '采购时间',order: 3,view: 'date', type: 'string',}, + qgBy: {title: '采购人',order: 4,view: 'text', type: 'string',}, + gysLxr: {title: '供应商联系人',order: 5,view: 'text', type: 'string',}, + gysLxrdh: {title: '供应商联系电话',order: 6,view: 'text', type: 'string',}, + gysFkfs: {title: '付款方式',order: 7,view: 'text', type: 'string',}, + status: {title: '状态',order: 8,view: 'text', type: 'string',}, + cgdType: {title: '采购单类型',order: 9,view: 'text', type: 'string',}, + sxdPath: {title: '随行单',order: 10,view: 'image', type: 'string',}, + xzdPath: {title: '销账单',order: 11,view: 'image', type: 'string',}, + jzdPath: {title: '结账单',order: 12,view: 'image', type: 'string',}, + reviewedBy: {title: '审核人',order: 13,view: 'text', type: 'string',}, + reviewedTime: {title: '审核时间',order: 14,view: 'datetime', type: 'string',}, + content: {title: '审核备注',order: 15,view: 'text', type: 'string',}, +}; diff --git a/src/views/invoicing/cgd/NuInvoicingCgdMainList.vue b/src/views/invoicing/cgd/NuInvoicingCgdMainList.vue new file mode 100644 index 0000000..ffd4805 --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdMainList.vue @@ -0,0 +1,202 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdDetailForm.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdDetailForm.vue new file mode 100644 index 0000000..194a194 --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdDetailForm.vue @@ -0,0 +1,259 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdDetailModal.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdDetailModal.vue new file mode 100644 index 0000000..2fadb2b --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdDetailModal.vue @@ -0,0 +1,82 @@ + + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdInfoForm.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdInfoForm.vue new file mode 100644 index 0000000..2cc0350 --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdInfoForm.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdInfoModal.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdInfoModal.vue new file mode 100644 index 0000000..60f7c70 --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdInfoModal.vue @@ -0,0 +1,77 @@ + + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdJhForm.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdJhForm.vue new file mode 100644 index 0000000..53952cf --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdJhForm.vue @@ -0,0 +1,197 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdJhModal.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdJhModal.vue new file mode 100644 index 0000000..0754b26 --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdJhModal.vue @@ -0,0 +1,83 @@ + + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdMainForm.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdMainForm.vue new file mode 100644 index 0000000..95ad49a --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdMainForm.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue new file mode 100644 index 0000000..c3b3eac --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue @@ -0,0 +1,83 @@ + + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdRkdForm.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdRkdForm.vue new file mode 100644 index 0000000..bcbec47 --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdRkdForm.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdRkdModal.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdRkdModal.vue new file mode 100644 index 0000000..427f4d5 --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdRkdModal.vue @@ -0,0 +1,96 @@ + + + + + +