
-
diff --git a/public/resource/img/logo.png b/public/resource/img/logo.png
index f409d73..9404060 100644
Binary files a/public/resource/img/logo.png and b/public/resource/img/logo.png differ
diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png
index f409d73..9404060 100644
Binary files a/src/assets/images/logo.png and b/src/assets/images/logo.png differ
diff --git a/src/assets/loginmini/icon/logo.png b/src/assets/loginmini/icon/logo.png
index 492ce7a..9404060 100644
Binary files a/src/assets/loginmini/icon/logo.png and b/src/assets/loginmini/icon/logo.png differ
diff --git a/src/components/jeecg/JVxeTable/src/JVxeTable.ts b/src/components/jeecg/JVxeTable/src/JVxeTable.ts
index c77713c..415c8a6 100644
--- a/src/components/jeecg/JVxeTable/src/JVxeTable.ts
+++ b/src/components/jeecg/JVxeTable/src/JVxeTable.ts
@@ -1,4 +1,4 @@
-import { defineComponent, h, nextTick, ref, useSlots } from 'vue';
+import { defineComponent, h, ref, useSlots } from 'vue';
import { vxeEmits, vxeProps } from './vxe.data';
import { useData, useRefs, useResolveComponent as rc } from './hooks/useData';
import { useColumns } from './hooks/useColumns';
diff --git a/src/components/jeecg/JVxeTable/src/vxe.data.ts b/src/components/jeecg/JVxeTable/src/vxe.data.ts
index e558ed8..d819113 100644
--- a/src/components/jeecg/JVxeTable/src/vxe.data.ts
+++ b/src/components/jeecg/JVxeTable/src/vxe.data.ts
@@ -119,7 +119,7 @@ export const vxeProps = () => ({
// 新增按钮配置
addBtnCfg: propTypes.object,
// 删除按钮配置
- removeBtnCfg: propTypes.object,
+ removeBtnCfg: propTypes.object
});
export const vxeEmits = ['save', 'added', 'removed', 'inserted', 'dragged', 'selectRowChange', 'pageChange', 'valueChange', 'blur'];
diff --git a/src/views/agvTask/AgvTask.api.ts b/src/views/agvTask/AgvTask.api.ts
new file mode 100644
index 0000000..8975ea5
--- /dev/null
+++ b/src/views/agvTask/AgvTask.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/agvTask/list',
+ save='/agvTask/add',
+ edit='/agvTask/edit',
+ deleteOne = '/agvTask/delete',
+ deleteBatch = '/agvTask/deleteBatch',
+ importExcel = '/agvTask/importExcel',
+ exportXls = '/agvTask/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/agvTask/AgvTask.data.ts b/src/views/agvTask/AgvTask.data.ts
new file mode 100644
index 0000000..047a645
--- /dev/null
+++ b/src/views/agvTask/AgvTask.data.ts
@@ -0,0 +1,70 @@
+import {BasicColumn} from '/@/components/Table';
+import { render } from '@/utils/common/renderUtils';
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '任务ID',
+ align: "center",
+ width: '170px',
+ dataIndex: 'id'
+ },
+ {
+ title: '容器',
+ align: "center",
+ width: '120px',
+ dataIndex: 'carrierCode'
+ },
+ {
+ title: '业务类型',
+ align: "center",
+ width: '120px',
+ dataIndex: 'type_dictText'
+ },
+ {
+ title: '任务状态',
+ align: "center",
+ width: '120px',
+ dataIndex: 'status_dictText',
+ customRender: ({ text }) => {
+ //入库状态:已创建、已审核、收货中、收货完成、已关闭、已取消。
+ const statusColorMap = {
+ '已创建': 'orange',
+ '执行中': 'cyan',
+ '已到达': 'blue',
+ '已完成': 'green',
+ '已取消': 'red'
+ };
+ const color = statusColorMap[text] || 'red';
+ return render.renderTag(text, color);
+ }
+ },
+ {
+ title: '起点',
+ align: "center",
+ width: '120px',
+ dataIndex: 'startCode'
+ },
+ {
+ title: '终点',
+ align: "center",
+ width: '120px',
+ dataIndex: 'endCode'
+ },
+ {
+ title: '优先级',
+ align: "center",
+ width: '60px',
+ dataIndex: 'priority'
+ },
+ {
+ title: '返回报文',
+ align: "center",
+ dataIndex: 'resMessage'
+ },
+ {
+ title: '创建时间',
+ align: 'center',
+ dataIndex: 'createTime',
+ sorter: true,
+ },
+];
diff --git a/src/views/agvTask/AgvTaskList.vue b/src/views/agvTask/AgvTaskList.vue
new file mode 100644
index 0000000..57c1b17
--- /dev/null
+++ b/src/views/agvTask/AgvTaskList.vue
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/agvTask/V20251106_1__menu_insert_AgvTask.sql b/src/views/agvTask/V20251106_1__menu_insert_AgvTask.sql
new file mode 100644
index 0000000..fee19f3
--- /dev/null
+++ b/src/views/agvTask/V20251106_1__menu_insert_AgvTask.sql
@@ -0,0 +1,40 @@
+-- 注意:该页面对应的前台目录为views/agvTask文件夹下
+-- 如果你想更改到其他目录,请修改sql中component字段对应的值
+
+
+-- 主菜单
+INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external)
+VALUES ('176240183424201', NULL, 'AGV任务表', '/agvTask/agvTaskList', 'agvTask/AgvTaskList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-11-06 12:03:54', NULL, NULL, 0);
+
+-- 新增
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176240183424202', '176240183424201', '添加AGV任务表', NULL, NULL, 0, NULL, NULL, 2, 'agvTask:data_agv_task:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-06 12:03:54', NULL, NULL, 0, 0, '1', 0);
+
+-- 编辑
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176240183424203', '176240183424201', '编辑AGV任务表', NULL, NULL, 0, NULL, NULL, 2, 'agvTask:data_agv_task:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-06 12:03:54', NULL, NULL, 0, 0, '1', 0);
+
+-- 删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176240183424204', '176240183424201', '删除AGV任务表', NULL, NULL, 0, NULL, NULL, 2, 'agvTask:data_agv_task:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-06 12:03:54', NULL, NULL, 0, 0, '1', 0);
+
+-- 批量删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176240183424205', '176240183424201', '批量删除AGV任务表', NULL, NULL, 0, NULL, NULL, 2, 'agvTask:data_agv_task:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-06 12:03:54', NULL, NULL, 0, 0, '1', 0);
+
+-- 导出excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176240183424206', '176240183424201', '导出excel_AGV任务表', NULL, NULL, 0, NULL, NULL, 2, 'agvTask:data_agv_task:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-06 12:03:54', NULL, NULL, 0, 0, '1', 0);
+
+-- 导入excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176240183424207', '176240183424201', '导入excel_AGV任务表', NULL, NULL, 0, NULL, NULL, 2, 'agvTask:data_agv_task:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-06 12:03:54', NULL, NULL, 0, 0, '1', 0);
+
+-- 角色授权(以 admin 角色为例,role_id 可替换)
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176240183424208', 'f6817f48af4fb3af11b9e8bf182f618b', '176240183424201', NULL, '2025-11-06 12:03:54', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176240183424209', 'f6817f48af4fb3af11b9e8bf182f618b', '176240183424202', NULL, '2025-11-06 12:03:54', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176240183424210', 'f6817f48af4fb3af11b9e8bf182f618b', '176240183424203', NULL, '2025-11-06 12:03:54', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176240183424211', 'f6817f48af4fb3af11b9e8bf182f618b', '176240183424204', NULL, '2025-11-06 12:03:54', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176240183424212', 'f6817f48af4fb3af11b9e8bf182f618b', '176240183424205', NULL, '2025-11-06 12:03:54', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176240183424213', 'f6817f48af4fb3af11b9e8bf182f618b', '176240183424206', NULL, '2025-11-06 12:03:54', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176240183424214', 'f6817f48af4fb3af11b9e8bf182f618b', '176240183424207', NULL, '2025-11-06 12:03:54', '127.0.0.1');
\ No newline at end of file
diff --git a/src/views/agvTask/components/AgvTaskForm.vue b/src/views/agvTask/components/AgvTaskForm.vue
new file mode 100644
index 0000000..75594a0
--- /dev/null
+++ b/src/views/agvTask/components/AgvTaskForm.vue
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/agvTask/components/AgvTaskModal.vue b/src/views/agvTask/components/AgvTaskModal.vue
new file mode 100644
index 0000000..36e02be
--- /dev/null
+++ b/src/views/agvTask/components/AgvTaskModal.vue
@@ -0,0 +1,81 @@
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
+
+
+
diff --git a/src/views/base/area/AreaList.vue b/src/views/base/area/AreaList.vue
index 95cef4e..3f161f3 100644
--- a/src/views/base/area/AreaList.vue
+++ b/src/views/base/area/AreaList.vue
@@ -13,7 +13,7 @@
是否启用
-
+
@@ -92,8 +92,8 @@
import JInput from '/@/components/Form/src/jeecg/components/JInput.vue';
import JRangeDate from '@/components/Form/src/jeecg/components/JRangeDate.vue';
import AreaModal from './components/AreaModal.vue';
- import JSearchSelect from '../../../components/Form/src/jeecg/components/JSearchSelect.vue';
import SwitchStatus from '/@/views/base/SwitchStatus.vue';
+ import { JDictSelectTag } from '@/components/Form';
const fieldPickers = reactive({});
const formRef = ref();
diff --git a/src/views/base/area/components/AreaForm.vue b/src/views/base/area/components/AreaForm.vue
index 222e656..93f30dd 100644
--- a/src/views/base/area/components/AreaForm.vue
+++ b/src/views/base/area/components/AreaForm.vue
@@ -68,7 +68,6 @@
const validatorRules = reactive({
areaCode: [{ required: true, message: '请输入库区编码!' }],
areaName: [{ required: true, message: '请输入库区名称!' }],
- delFlag: [{ required: true, message: '请输入删除状态!' }],
});
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });
diff --git a/src/views/base/item/Item.data.ts b/src/views/base/item/Item.data.ts
index fdcbcd7..068c102 100644
--- a/src/views/base/item/Item.data.ts
+++ b/src/views/base/item/Item.data.ts
@@ -1,30 +1,30 @@
-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';
+import { BasicColumn } from '/@/components/Table';
//列表数据
export const columns: BasicColumn[] = [
{
title: '物料编码',
- align: "center",
- dataIndex: 'itemCode'
+ align: 'center',
+ dataIndex: 'itemCode',
},
{
title: '物料名称',
- align: "center",
- dataIndex: 'itemName'
+ align: 'center',
+ dataIndex: 'itemName',
},
{
- title: '仓库ID',
- align: "center",
- dataIndex: 'tenantId'
+ title: '是否启用',
+ align: 'center',
+ dataIndex: 'izActive',
},
+ {
+ title: '描述',
+ align: 'center',
+ dataIndex: 'description',
+ },
+ {
+ title: '创建日期',
+ align: 'center',
+ dataIndex: 'createTime',
+ sorter: true,
+ }
];
-
-// 高级查询数据
-export const superQuerySchema = {
- itemCode: {title: '物料编码',order: 0,view: 'text', type: 'string',},
- itemName: {title: '物料名称',order: 1,view: 'text', type: 'string',},
- tenantId: {title: '仓库ID',order: 2,view: 'number', type: 'number',},
-};
diff --git a/src/views/base/item/ItemList.vue b/src/views/base/item/ItemList.vue
index 63f386a..527b1b5 100644
--- a/src/views/base/item/ItemList.vue
+++ b/src/views/base/item/ItemList.vue
@@ -4,6 +4,36 @@
@@ -11,9 +41,11 @@
- 新增
- 导出
- 导入
+ 新增
+ 导出
+ 导入
+
@@ -23,19 +55,17 @@
- 批量操作
+ 批量操作
-
-
-
-
-
+
+
@@ -43,20 +73,21 @@
diff --git a/src/views/base/stock/Stock.data.ts b/src/views/base/stock/Stock.data.ts
index e17a6fd..70af32d 100644
--- a/src/views/base/stock/Stock.data.ts
+++ b/src/views/base/stock/Stock.data.ts
@@ -1,8 +1,5 @@
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[] = [
{
@@ -10,6 +7,30 @@ export const columns: BasicColumn[] = [
align: "center",
dataIndex: 'stockCode'
},
+ {
+ title: '容器类型',
+ align: "center",
+ dataIndex: 'stockType_dictText'
+ },
+ {
+ title: '状态',
+ align: 'center',
+ dataIndex: 'status_dictText',
+ customRender: ({ text }) => {
+ const color = text == '占用' ? 'red' : text == '空闲' ? 'green' : 'gray';
+ return render.renderTag(text, color);
+ },
+ },
+ {
+ title: '库位',
+ align: "center",
+ dataIndex: 'pointId_dictText'
+ },
+ {
+ title: '是否启用',
+ align: 'center',
+ dataIndex: 'izActive',
+ },
{
title: '描述',
align: "center",
@@ -22,9 +43,3 @@ export const columns: BasicColumn[] = [
},
];
-// 高级查询数据
-export const superQuerySchema = {
- stockCode: {title: '容器编码',order: 0,view: 'text', type: 'string',},
- description: {title: '描述',order: 1,view: 'text', type: 'string',},
- createTime: {title: '创建日期',order: 3,view: 'datetime', type: 'string',},
-};
diff --git a/src/views/base/stock/StockList.vue b/src/views/base/stock/StockList.vue
index 6a5a2d9..c59b41b 100644
--- a/src/views/base/stock/StockList.vue
+++ b/src/views/base/stock/StockList.vue
@@ -7,15 +7,29 @@
容器编码
-
+
-
- 创建日期
-
+
+ 库位
+
+
+
+ 状态
+
+
+
+
+
+
+ 是否启用
+
+
+
+
@@ -35,9 +49,11 @@
- 新增
- 导出
- 导入
+ 新增
+ 导出
+ 导入
+
@@ -47,19 +63,17 @@
- 批量操作
+ 批量操作
-
-
-
-
-
+
+
@@ -67,20 +81,20 @@
diff --git a/src/views/receive/asn/V20251103_1__menu_insert_Asn.sql b/src/views/receive/asn/V20251103_1__menu_insert_Asn.sql
new file mode 100644
index 0000000..fc40b8a
--- /dev/null
+++ b/src/views/receive/asn/V20251103_1__menu_insert_Asn.sql
@@ -0,0 +1,40 @@
+-- 注意:该页面对应的前台目录为views/receive文件夹下
+-- 如果你想更改到其他目录,请修改sql中component字段对应的值
+
+
+-- 主菜单
+INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external)
+VALUES ('176216432288201', NULL, '入库单', '/receive/asnList', 'receive/AsnList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-11-03 18:05:22', NULL, NULL, 0);
+
+-- 新增
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176216432288202', '176216432288201', '添加入库单', NULL, NULL, 0, NULL, NULL, 2, 'receive:data_asn:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-03 18:05:22', NULL, NULL, 0, 0, '1', 0);
+
+-- 编辑
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176216432288203', '176216432288201', '编辑入库单', NULL, NULL, 0, NULL, NULL, 2, 'receive:data_asn:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-03 18:05:22', NULL, NULL, 0, 0, '1', 0);
+
+-- 删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176216432288204', '176216432288201', '删除入库单', NULL, NULL, 0, NULL, NULL, 2, 'receive:data_asn:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-03 18:05:22', NULL, NULL, 0, 0, '1', 0);
+
+-- 批量删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176216432288205', '176216432288201', '批量删除入库单', NULL, NULL, 0, NULL, NULL, 2, 'receive:data_asn:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-03 18:05:22', NULL, NULL, 0, 0, '1', 0);
+
+-- 导出excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176216432288206', '176216432288201', '导出excel_入库单', NULL, NULL, 0, NULL, NULL, 2, 'receive:data_asn:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-03 18:05:22', NULL, NULL, 0, 0, '1', 0);
+
+-- 导入excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('176216432288207', '176216432288201', '导入excel_入库单', NULL, NULL, 0, NULL, NULL, 2, 'receive:data_asn:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-11-03 18:05:22', NULL, NULL, 0, 0, '1', 0);
+
+-- 角色授权(以 admin 角色为例,role_id 可替换)
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176216432288308', 'f6817f48af4fb3af11b9e8bf182f618b', '176216432288201', NULL, '2025-11-03 18:05:22', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176216432288309', 'f6817f48af4fb3af11b9e8bf182f618b', '176216432288202', NULL, '2025-11-03 18:05:22', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176216432288310', 'f6817f48af4fb3af11b9e8bf182f618b', '176216432288203', NULL, '2025-11-03 18:05:22', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176216432288311', 'f6817f48af4fb3af11b9e8bf182f618b', '176216432288204', NULL, '2025-11-03 18:05:22', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176216432288312', 'f6817f48af4fb3af11b9e8bf182f618b', '176216432288205', NULL, '2025-11-03 18:05:22', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176216432288313', 'f6817f48af4fb3af11b9e8bf182f618b', '176216432288206', NULL, '2025-11-03 18:05:22', '127.0.0.1');
+INSERT INTO sys_role_permission (id, role_id, permission_id, data_rule_ids, operate_date, operate_ip) VALUES ('176216432288314', 'f6817f48af4fb3af11b9e8bf182f618b', '176216432288207', NULL, '2025-11-03 18:05:22', '127.0.0.1');
\ No newline at end of file
diff --git a/src/views/receive/asn/components/AsnForm.vue b/src/views/receive/asn/components/AsnForm.vue
new file mode 100644
index 0000000..8509b22
--- /dev/null
+++ b/src/views/receive/asn/components/AsnForm.vue
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/receive/asn/components/AsnModal.vue b/src/views/receive/asn/components/AsnModal.vue
new file mode 100644
index 0000000..816ba6e
--- /dev/null
+++ b/src/views/receive/asn/components/AsnModal.vue
@@ -0,0 +1,67 @@
+
+'
+'
+
+
+
+
+
diff --git a/src/views/system/fillRule/index.vue b/src/views/system/fillRule/index.vue
index 93d5e1c..1a9b32e 100644
--- a/src/views/system/fillRule/index.vue
+++ b/src/views/system/fillRule/index.vue
@@ -3,9 +3,9 @@
- 新增
- 导出
- 导入
+ 新增
+ 导出
+ 导入
@@ -38,6 +38,7 @@
import { columns, searchFormSchema } from '/@/views/system/fillRule/fill.rule.data';
import { useModal } from '/@/components/Modal';
import { ActionItem } from '/@/components/Table';
+
const [registerModal, { openModal }] = useModal();
import FillRuleModal from '/@/views/system/fillRule/FillRuleModal.vue';
@@ -132,7 +133,6 @@
*/
function getDropDownAction(record): ActionItem[] {
return [
- { label: '功能测试', onClick: testRule.bind(null, record) },
{
label: '删除',
color: 'error',