diff --git a/src/views/invoicing/qld/NuInvoicingQldMain.api.ts b/src/views/invoicing/qld/NuInvoicingQldMain.api.ts
new file mode 100644
index 0000000..5a26535
--- /dev/null
+++ b/src/views/invoicing/qld/NuInvoicingQldMain.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/qld/nuInvoicingQldMain/list',
+ save='/qld/nuInvoicingQldMain/add',
+ edit='/qld/nuInvoicingQldMain/edit',
+ deleteOne = '/qld/nuInvoicingQldMain/delete',
+ deleteBatch = '/qld/nuInvoicingQldMain/deleteBatch',
+ importExcel = '/qld/nuInvoicingQldMain/importExcel',
+ exportXls = '/qld/nuInvoicingQldMain/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/qld/NuInvoicingQldMain.data.ts b/src/views/invoicing/qld/NuInvoicingQldMain.data.ts
new file mode 100644
index 0000000..2b3bbbf
--- /dev/null
+++ b/src/views/invoicing/qld/NuInvoicingQldMain.data.ts
@@ -0,0 +1,112 @@
+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: 'qldNo',
+ },
+ {
+ title: 'NUID',
+ align: 'center',
+ dataIndex: 'nuId_dictText',
+ },
+ {
+ title: '长者姓名',
+ align: 'center',
+ dataIndex: 'elderId_dictText',
+ },
+ {
+ title: '请领状态',
+ align: 'center',
+ dataIndex: 'status_dictText',
+ },
+ {
+ title: '提交人',
+ align: 'center',
+ dataIndex: 'tjBy_dictText',
+ },
+ {
+ title: '提交时间',
+ align: 'center',
+ dataIndex: 'tjTime',
+ },
+ // {
+ // title: '作废人',
+ // align: "center",
+ // dataIndex: 'zfBy_dictText'
+ // },
+ // {
+ // title: '作废时间',
+ // align: "center",
+ // dataIndex: 'zfTime'
+ // },
+ // {
+ // title: '回退人',
+ // align: "center",
+ // dataIndex: 'htBy_dictText'
+ // },
+ // {
+ // title: '回退时间',
+ // align: "center",
+ // dataIndex: 'htTime'
+ // },
+ // {
+ // title: '出库人',
+ // align: "center",
+ // dataIndex: 'ckBy_dictText'
+ // },
+ // {
+ // title: '出库时间',
+ // align: "center",
+ // dataIndex: 'ckTime'
+ // },
+ {
+ title: '收货人',
+ align: 'center',
+ dataIndex: 'shBy_dictText',
+ },
+ {
+ title: '收货时间',
+ align: 'center',
+ dataIndex: 'shTime',
+ },
+];
+
+// 高级查询数据
+export const superQuerySchema = {
+ qldNo: { title: '请领单单号', order: 0, view: 'text', type: 'string' },
+ status: { title: '请领状态', order: 1, view: 'list', type: 'string', dictCode: 'qld_status' },
+ tjBy: { title: '提交人', order: 2, view: 'sel_search', type: 'string', dictTable: 'sys_user', dictCode: 'id', dictText: 'realname' },
+ tjTime: { title: '提交时间', order: 3, view: 'datetime', type: 'string' },
+ zfBy: { title: '作废人', order: 4, view: 'sel_search', type: 'string', dictTable: 'sys_user', dictCode: 'id', dictText: 'realname' },
+ zfTime: { title: '作废时间', order: 5, view: 'datetime', type: 'string' },
+ htBy: { title: '回退人', order: 6, view: 'sel_search', type: 'string', dictTable: 'sys_user', dictCode: 'id', dictText: 'realname' },
+ htTime: { title: '回退时间', order: 7, view: 'datetime', type: 'string' },
+ ckBy: { title: '出库人', order: 8, view: 'sel_search', type: 'string', dictTable: 'sys_user', dictCode: 'id', dictText: 'realname' },
+ ckTime: { title: '出库时间', order: 9, view: 'datetime', type: 'string' },
+ shBy: { title: '收货人', order: 10, view: 'sel_search', type: 'string', dictTable: 'sys_user', dictCode: 'id', dictText: 'realname' },
+ shTime: { title: '收货时间', order: 11, view: 'datetime', type: 'string' },
+ nuId: {
+ title: 'nuid nu_base_info.nu_id',
+ order: 12,
+ view: 'sel_search',
+ type: 'string',
+ dictTable: 'nu_base_info',
+ dictCode: 'nu_id',
+ dictText: 'nu_name',
+ },
+ elderId: {
+ title: '长者id nu_biz_elder_info.id',
+ order: 13,
+ view: 'sel_search',
+ type: 'string',
+ dictTable: 'nu_biz_elder_info',
+ dictCode: 'id',
+ dictText: 'name',
+ },
+};
diff --git a/src/views/invoicing/qld/NuInvoicingQldMainList.vue b/src/views/invoicing/qld/NuInvoicingQldMainList.vue
new file mode 100644
index 0000000..27972ef
--- /dev/null
+++ b/src/views/invoicing/qld/NuInvoicingQldMainList.vue
@@ -0,0 +1,312 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/invoicing/qld/components/NuInvoicingQldInfo.api.ts b/src/views/invoicing/qld/components/NuInvoicingQldInfo.api.ts
new file mode 100644
index 0000000..6bd741f
--- /dev/null
+++ b/src/views/invoicing/qld/components/NuInvoicingQldInfo.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/qld/nuInvoicingQldInfo/list',
+ save='/qld/nuInvoicingQldInfo/add',
+ edit='/qld/nuInvoicingQldInfo/edit',
+ deleteOne = '/qld/nuInvoicingQldInfo/delete',
+ deleteBatch = '/qld/nuInvoicingQldInfo/deleteBatch',
+ importExcel = '/qld/nuInvoicingQldInfo/importExcel',
+ exportXls = '/qld/nuInvoicingQldInfo/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/qld/components/NuInvoicingQldInfo.data.ts b/src/views/invoicing/qld/components/NuInvoicingQldInfo.data.ts
new file mode 100644
index 0000000..fc02765
--- /dev/null
+++ b/src/views/invoicing/qld/components/NuInvoicingQldInfo.data.ts
@@ -0,0 +1,49 @@
+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: 'kfName',
+ },
+ {
+ title: '物料',
+ align: 'center',
+ dataIndex: 'meterialInfo.materialName',
+ format(text, record, index) {
+ return record.meterialInfo.materialName;
+ },
+ },
+ {
+ title: '规格型号',
+ align: 'center',
+ dataIndex: 'meterialInfo.specificationModel',
+ format(text, record, index) {
+ return record.meterialInfo.specificationModel;
+ },
+ },
+ {
+ title: '请领数量',
+ align: 'center',
+ dataIndex: 'qlNum',
+ },
+ {
+ title: '单位',
+ align: 'center',
+ dataIndex: 'meterialInfo.materialUnits',
+ format(text, record, index) {
+ return record.meterialInfo.materialUnits;
+ },
+ },
+];
+
+// 高级查询数据
+export const superQuerySchema = {
+ kfIf: { title: '库房id nu_warehouse_material_info.nu_id', order: 0, view: 'text', type: 'string' },
+ wlId: { title: '物料id nu_config_material_info.id', order: 1, view: 'text', type: 'string' },
+ qlNum: { title: '请领数量', order: 2, view: 'number', type: 'number' },
+};
diff --git a/src/views/invoicing/qld/components/NuInvoicingQldInfoList.vue b/src/views/invoicing/qld/components/NuInvoicingQldInfoList.vue
new file mode 100644
index 0000000..7407f20
--- /dev/null
+++ b/src/views/invoicing/qld/components/NuInvoicingQldInfoList.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+ 请领物料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/invoicing/qld/components/NuInvoicingQldMainForm.vue b/src/views/invoicing/qld/components/NuInvoicingQldMainForm.vue
new file mode 100644
index 0000000..4e499f2
--- /dev/null
+++ b/src/views/invoicing/qld/components/NuInvoicingQldMainForm.vue
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/invoicing/qld/components/NuInvoicingQldMainModal.vue b/src/views/invoicing/qld/components/NuInvoicingQldMainModal.vue
new file mode 100644
index 0000000..0fe834d
--- /dev/null
+++ b/src/views/invoicing/qld/components/NuInvoicingQldMainModal.vue
@@ -0,0 +1,83 @@
+
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+