From 50a2ab8eb5b2155539da469c921bf9b6bd3004db Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Thu, 9 Oct 2025 14:53:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=B7=E8=B4=AD=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/elder/elderinfo/ElderInfoList.vue | 11 + .../elder/elderinfo/components/ElderHllc.vue | 405 ++++++++++++++++++ .../elderinfo/components/ElderInfoModal.vue | 32 ++ .../invoicing/cgd/NuInvoicingCgdInfo.api.ts | 72 ++++ .../invoicing/cgd/NuInvoicingCgdInfo.data.ts | 108 +++++ .../invoicing/cgd/NuInvoicingCgdInfoList.vue | 235 ++++++++++ .../invoicing/cgd/NuInvoicingCgdMain.api.ts | 78 ++++ .../invoicing/cgd/NuInvoicingCgdMain.data.ts | 87 ++++ .../invoicing/cgd/NuInvoicingCgdMainList.vue | 270 ++++++++++++ .../cgd/components/NuInvoicingCgdInfoForm.vue | 235 ++++++++++ .../components/NuInvoicingCgdInfoModal.vue | 77 ++++ .../cgd/components/NuInvoicingCgdMainForm.vue | 287 +++++++++++++ .../components/NuInvoicingCgdMainModal.vue | 83 ++++ src/views/invoicing/jxc/JxcInfo.api.ts | 2 + src/views/invoicing/jxc/QgdList.vue | 7 +- .../invoicing/jxc/components/QgcList.vue | 18 +- 16 files changed, 2002 insertions(+), 5 deletions(-) create mode 100644 src/views/elder/elderinfo/components/ElderHllc.vue 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/NuInvoicingCgdInfoForm.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdInfoModal.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdMainForm.vue create mode 100644 src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue diff --git a/src/views/elder/elderinfo/ElderInfoList.vue b/src/views/elder/elderinfo/ElderInfoList.vue index 1f83f0b..18ca848 100644 --- a/src/views/elder/elderinfo/ElderInfoList.vue +++ b/src/views/elder/elderinfo/ElderInfoList.vue @@ -113,6 +113,13 @@ function handleDetail(record: Recordable) { registerModal.value.disableSubmit = true; registerModal.value.edit(record); } +/** + * 护理流程 + */ +function handleHllc(record: Recordable) { + registerModal.value.disableSubmit = true; + registerModal.value.hllcView(record); +} /** @@ -130,6 +137,10 @@ function getTableAction(record) { { label: '详情', onClick: handleDetail.bind(null, record), + }, + { + label: '护理流程', + onClick: handleHllc.bind(null, record), } ]; } diff --git a/src/views/elder/elderinfo/components/ElderHllc.vue b/src/views/elder/elderinfo/components/ElderHllc.vue new file mode 100644 index 0000000..3a13843 --- /dev/null +++ b/src/views/elder/elderinfo/components/ElderHllc.vue @@ -0,0 +1,405 @@ + + + + + \ No newline at end of file diff --git a/src/views/elder/elderinfo/components/ElderInfoModal.vue b/src/views/elder/elderinfo/components/ElderInfoModal.vue index 9f5d47b..a417068 100644 --- a/src/views/elder/elderinfo/components/ElderInfoModal.vue +++ b/src/views/elder/elderinfo/components/ElderInfoModal.vue @@ -29,6 +29,15 @@ + + + + + + diff --git a/src/views/invoicing/cgd/NuInvoicingCgdInfo.api.ts b/src/views/invoicing/cgd/NuInvoicingCgdInfo.api.ts new file mode 100644 index 0000000..60329e0 --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdInfo.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/cgd/nuInvoicingCgdInfo/list', + save='/cgd/nuInvoicingCgdInfo/add', + edit='/cgd/nuInvoicingCgdInfo/edit', + deleteOne = '/cgd/nuInvoicingCgdInfo/delete', + deleteBatch = '/cgd/nuInvoicingCgdInfo/deleteBatch', + importExcel = '/cgd/nuInvoicingCgdInfo/importExcel', + exportXls = '/cgd/nuInvoicingCgdInfo/exportXls', +} + +/** + * 导出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 + * @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 }); +} diff --git a/src/views/invoicing/cgd/NuInvoicingCgdInfo.data.ts b/src/views/invoicing/cgd/NuInvoicingCgdInfo.data.ts new file mode 100644 index 0000000..26efccf --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdInfo.data.ts @@ -0,0 +1,108 @@ +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 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..5d95b11 --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdMain.api.ts @@ -0,0 +1,78 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/cgd/nuInvoicingCgdMain/list', + save='/cgd/nuInvoicingCgdMain/add', + edit='/cgd/nuInvoicingCgdMain/edit', + deleteOne = '/cgd/nuInvoicingCgdMain/delete', + deleteBatch = '/cgd/nuInvoicingCgdMain/deleteBatch', + importExcel = '/cgd/nuInvoicingCgdMain/importExcel', + exportXls = '/cgd/nuInvoicingCgdMain/exportXls', + auditInfo='/cgd/nuInvoicingCgdMain/auditInfo', +} + +/** + * 导出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 + * @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 }); +} diff --git a/src/views/invoicing/cgd/NuInvoicingCgdMain.data.ts b/src/views/invoicing/cgd/NuInvoicingCgdMain.data.ts new file mode 100644 index 0000000..1684b17 --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdMain.data.ts @@ -0,0 +1,87 @@ +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' + }, + { + title: '供应商', + align: "center", + dataIndex: 'gysId_dictText' + }, + { + title: '请购时间', + align: "center", + dataIndex: 'qgDate', + customRender:({text}) =>{ + text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text); + return text; + }, + }, + { + title: '请购人', + align: "center", + dataIndex: 'qgBy' + }, + { + title: '供应商联系人', + align: "center", + dataIndex: 'gysLxr' + }, + { + title: '供应商联系电话', + align: "center", + dataIndex: 'gysLxrdh' + }, + { + title: '付款方式', + align: "center", + dataIndex: 'gysFkfs' + }, + { + title: '状态', + align: "center", + dataIndex: 'status_dictText' + }, + { + title: '采购单类型', + align: "center", + dataIndex: 'cgdType_dictText' + }, + { + 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..8bdf3fa --- /dev/null +++ b/src/views/invoicing/cgd/NuInvoicingCgdMainList.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdInfoForm.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdInfoForm.vue new file mode 100644 index 0000000..88aae27 --- /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/NuInvoicingCgdMainForm.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdMainForm.vue new file mode 100644 index 0000000..5888ab0 --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdMainForm.vue @@ -0,0 +1,287 @@ + + + + + diff --git a/src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue b/src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue new file mode 100644 index 0000000..ab106cf --- /dev/null +++ b/src/views/invoicing/cgd/components/NuInvoicingCgdMainModal.vue @@ -0,0 +1,83 @@ + + + + + + diff --git a/src/views/invoicing/jxc/JxcInfo.api.ts b/src/views/invoicing/jxc/JxcInfo.api.ts index f5bbff7..4c3b9ae 100644 --- a/src/views/invoicing/jxc/JxcInfo.api.ts +++ b/src/views/invoicing/jxc/JxcInfo.api.ts @@ -11,6 +11,7 @@ enum Api { deleteBatch = '/invoicing/configMaterialInfo/deleteBatch', addList='/invoicing/qgdInfo/addList', queryListByUser='/invoicing/qgdInfo/queryListByUser', + addCgdByUser='/invoicing/qgdInfo/addCgdByUser', } @@ -24,6 +25,7 @@ export const list = (params) => defHttp.get({ url: Api.list, params }); * @param params */ export const queryListByUser = (params) => defHttp.get({ url: Api.queryListByUser, params }); +export const addCgdByUser = (params) => defHttp.post({ url: Api.addCgdByUser, params }); /** * 删除单个 diff --git a/src/views/invoicing/jxc/QgdList.vue b/src/views/invoicing/jxc/QgdList.vue index 54f2fe0..b851747 100644 --- a/src/views/invoicing/jxc/QgdList.vue +++ b/src/views/invoicing/jxc/QgdList.vue @@ -66,7 +66,7 @@ 提交采购 关闭 - + @@ -92,6 +92,7 @@ import type { CollapseProps } from 'ant-design-vue'; const formRef = ref(); + const qgcModal = ref(); const queryParam = reactive({}); const toggleSearchStatus = ref(false); const registerModal = ref(); @@ -152,7 +153,9 @@ function onQgcClose() { } function onQgcCaigou() { - qgcOpen.value = false + // qgcOpen.value = false + qgcModal.value.submitForm(); + } /** diff --git a/src/views/invoicing/jxc/components/QgcList.vue b/src/views/invoicing/jxc/components/QgcList.vue index 04a357e..dcd6599 100644 --- a/src/views/invoicing/jxc/components/QgcList.vue +++ b/src/views/invoicing/jxc/components/QgcList.vue @@ -22,12 +22,12 @@ - + @@ -59,7 +59,7 @@ import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { useListPage } from '/@/hooks/system/useListPage'; import { columnsQgcList } from '../JxcInfo.data'; - import { list, deleteOne, batchDelete, queryListByUser} from '../JxcInfo.api'; + import { list, deleteOne, batchDelete, queryListByUser,addCgdByUser} from '../JxcInfo.api'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMultiple.vue'; import { JInput } from '/@/components/Form'; @@ -73,6 +73,7 @@ import { defHttp } from '/@/utils/http/axios'; const registerModal = ref(); const qgcOpen = ref(false)//请购车抽屉 const count = ref(5); + const emit = defineEmits(['register', 'success']); //注册table数据 const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ tableProps: { @@ -160,6 +161,17 @@ import { defHttp } from '/@/utils/http/axios'; reload(); } + async function submitForm(){ + await addCgdByUser(null); + emit("success"); + } + + + + defineExpose({ + submitForm, + }); +