From 2fd8242a14241beba63e71c6f4222b702f0e2f30 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周二, 06 5月 2025 16:54:44 +0800
Subject: [PATCH] wwww
---
HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx | 646 ++++++++++++------------
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs | 18
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs | 77 ++
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs | 30 +
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs | 11
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs | 1
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj | 10
CommonDLL/CmsQueryExtensions.dll | 0
HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs | 22
Weben_CMS专用代码生成器/Code/Templete/Entity/Dto模板.txt | 1
HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx | 665 ++++++++++++------------
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs | 2
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs | 1
Weben_CMS专用代码生成器/Code/Templete/AppService/AppService模板.txt | 2
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs | 53 ++
15 files changed, 854 insertions(+), 685 deletions(-)
diff --git a/CommonDLL/CmsQueryExtensions.dll b/CommonDLL/CmsQueryExtensions.dll
index 0bf4b5e..479f29e 100644
--- a/CommonDLL/CmsQueryExtensions.dll
+++ b/CommonDLL/CmsQueryExtensions.dll
Binary files differ
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs
index 95618f3..4434b11 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsAreas/WmsAreaDto.cs
@@ -1,4 +1,5 @@
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CmsQueryExtensions;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
index 6c9b198..47a7daa 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsEnumAppService.cs
@@ -1,6 +1,7 @@
锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
using CMS.Plugin.HIAWms.Domain.Shared.Util;
+using CmsQueryExtensions;
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
index eee9e2f..8fdf80d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsEnumAppService.cs
@@ -1,10 +1,10 @@
锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
-using CMS.Plugin.HIAWms.Domain.Shared.Util;
using CMS.Plugin.HIAWms.Domain.WmsAreas;
using CMS.Plugin.HIAWms.Domain.WmsPlaces;
using CMS.Plugin.HIAWms.Domain.WmsStores;
+using CmsQueryExtensions;
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
index 7aace56..98eb755 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
@@ -1,21 +1,19 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
-using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
-using CMS.Plugin.HIAWms.Domain.Shared;
using CMS.Plugin.HIAWms.Domain.Shared.WmsMaterialStocks;
+using CMS.Plugin.HIAWms.Domain.WmsAreas;
+using CMS.Plugin.HIAWms.Domain.WmsContainers;
+using CMS.Plugin.HIAWms.Domain.WmsMaterials;
+using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
+using CMS.Plugin.HIAWms.Domain.WmsPlaces;
+using CmsQueryExtensions;
+using Microsoft.Extensions.DependencyInjection;
+using System.Text.Json;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.ObjectExtending;
-using CMS.Plugin.HIAWms.Domain.Shared.Util;
-using CMS.Plugin.HIAWms.Domain.WmsMaterials;
-using CMS.Plugin.HIAWms.Domain.WmsContainers;
-using CMS.Plugin.HIAWms.Domain.WmsPlaces;
-using CMS.Plugin.HIAWms.Domain.WmsAreas;
using Volo.Abp.Uow;
-using Microsoft.Extensions.DependencyInjection;
-using NPOI.POIFS.Storage;
-using System.Text.Json;
namespace CMS.Plugin.HIAWms.Application.Implements;
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj
index c95efe0..ebf1596 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/CMS.Plugin.HIAWms.Domain.Shared.csproj
@@ -21,8 +21,18 @@
</ItemGroup>
<ItemGroup>
+ <Compile Remove="Util\EnumHelper.cs" />
+ <Compile Remove="Util\ExportHelper.cs" />
+ <Compile Remove="Util\GetEnumDescriptionUtil.cs" />
+ </ItemGroup>
+
+ <ItemGroup>
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.20" />
</ItemGroup>
+ <ItemGroup>
+ <Folder Include="Util\" />
+ </ItemGroup>
+
</Project>
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs
index 74e48fe..bf8d7ba 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Enums/YesNoEnum.cs
@@ -14,15 +14,16 @@
public enum YesNoEnum
{
/// <summary>
+ /// 鍚�
+ /// </summary>
+ [Description("鍚�")]
+ N = 0,
+
+ /// <summary>
/// 鏄�
/// </summary>
[Description("鏄�")]
Y = 1,
- /// <summary>
- /// 鍚�
- /// </summary>
- [Description("鍚�")]
- N = 2
}
}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
index b0f8e3b..71f2537 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain.Shared/Util/ExportHelper.cs
@@ -12,6 +12,14 @@
/// </summary>
public static class ExportHelper
{
+
+
+ // 鎵归噺杞崲鏂规硶
+ public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
+ {
+ return list.Select(ConvertToExportData).ToList();
+ }
+
// 閫氱敤杞崲鏂规硶锛堝吋瀹� Func<T, Dictionary<string, object>>锛�
public static Dictionary<string, object> ConvertToExportData<T>(T entity)
{
@@ -24,12 +32,6 @@
dict[prop.Name] = FormatValue(value);
}
return dict;
- }
-
- // 鎵归噺杞崲鏂规硶
- public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
- {
- return list.Select(ConvertToExportData).ToList();
}
private static object FormatValue(object value)
@@ -47,13 +49,5 @@
return value;
}
- private static string GetEnumDescription(Enum value)
- {
- var fieldInfo = value.GetType().GetField(value.ToString());
- var description = fieldInfo?
- .GetCustomAttributes(typeof(DescriptionAttribute), false)
- .FirstOrDefault() as DescriptionAttribute;
- return description?.Description ?? value.ToString();
- }
}
}
diff --git a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
index 959fe29..386618d 100644
--- a/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Controllers/WmsTaskDrawer.tsx
@@ -1,332 +1,333 @@
-import {
- ref,
- onMounted,
- reactive,
- computed,
- Ref,
- watch,
- SetupContext,
- h,
-} from 'vue'
-import { injectModel } from '@/libs/Provider/Provider'
-import { WmsTaskDrawer } from '../Models/WmsTaskDrawer'
-import { ElMessage } from 'element-plus'
-import isEqual from 'lodash/isEqual'
-import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
-import { cloneDeep } from 'lodash'
-
-export const useWmsTaskDrawer = (props: any, ctx?: any) => {
- const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer')
- /**
- * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
- */
- const initiateData: Ref<Record<string, any>> = ref({})
- const formData = ref<Record<string, any>>({})
- // ref
- const formRef = ref()
-
- const disabled = ref(false)
-
- const current = computed(() => {
- return props.row || null
- })
-
- const inputNumber = (attrs) => {
- return (
- <el-input-number
- min="1"
- step="1"
- precision="0"
- {...attrs}
- ></el-input-number>
- )
- }
-
- const visible = computed({
- get() {
- return props.modelValue
- },
- set(val) {
- ctx.emit('update:modelValue', val)
- },
- })
- /**
- * 娣诲姞鐨刦orm瀛楁
- */
- const formItems = reactive([
- {
- label: '宸烽亾',
- prop: 'aisle',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ贩閬�',
- },
- {
- label: '鎵樼洏缂栧彿',
- prop: 'containerNo',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�',
- },
- {
- label: '鍫嗗灈鏈篒D',
- prop: 'dodeviceId',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ爢鍨涙満ID',
- },
- {
- label: '璁惧绫诲瀷',
- prop: 'dodevicetype',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヨ澶囩被鍨�',
- rules: [{required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
- },
- {
- label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛',
- prop: 'isNextTask',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�',
- },
- {
- label: 'WCS鏄惁鍙互璇诲彇',
- prop: 'isRead',
- el: 'select',
- //disabled: disabled,
- placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇',
- rules: [{required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }],
- },
- {
- label: '鍙彉鍙橀噺1',
- prop: 'mutableParam1',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1',
- },
- {
- label: '鍙彉鍙橀噺2',
- prop: 'mutableParam2',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2',
- },
- {
- label: '鍙彉鍙橀噺3',
- prop: 'mutableParam3',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3',
- },
- {
- label: '瀛愪换鍔$被鍨�',
- prop: 'sonTaskType',
- el: 'select',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷',
- },
- {
- label: '鏉ユ簮鍗曟嵁鍙�',
- prop: 'sourceOrderNo',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿',
- },
- {
- label: '璧峰搴撲綅',
- prop: 'sourcePlace',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
- },
- {
- label: '璁惧浠诲姟鐘舵��',
- prop: 'taskDodeviceStatus',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�',
- rules: [{required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }],
- },
- {
- label: '浠诲姟绛夌骇',
- prop: 'taskLevel',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�',
- rules: [{required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }],
- },
- {
- label: '浠诲姟鍙�',
- prop: 'taskNo',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヤ换鍔″彿',
- rules: [{required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }],
- },
- {
- label: '浠诲姟鐘舵��',
- prop: 'taskStatus',
- el: 'select',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�',
- rules: [{required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }],
- },
- {
- label: '浠诲姟绫诲瀷',
- prop: 'taskType',
- el: 'select',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ヤ换鍔$被鍨�',
- rules: [{required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
- },
- {
- label: '鐩爣搴撲綅',
- prop: 'toPlace',
- el: 'input',
- //disabled: disabled,
- placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
- },
- ])
- /**
- * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
- */
- const checkIsEqualObject = () => {
- const data = {
- formData: formData.value,
- }
- const check = isEqual(initiateData.value, data)
- return check
- }
-
- const onClose = (done: () => void) => {
- if (visible.value) {
- if (checkIsEqualObject()) {
- visible.value = false
- done && done()
- } else {
- ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
- .then(() => {
- onConfirm()
- })
- .catch(() => {
- visible.value = false
- done && done()
- })
- }
- }
- }
- /**
- * 淇濆瓨
- */
- const onConfirm = async () => {
- await formRef.value?.validate()
- const data = {
- aisle: formData.value.aisle,
-containerNo: formData.value.containerNo,
-dodeviceId: formData.value.dodeviceId,
-dodevicetype: formData.value.dodevicetype,
-isNextTask: formData.value.isNextTask,
-isRead: formData.value.isRead,
-mutableParam1: formData.value.mutableParam1,
-mutableParam2: formData.value.mutableParam2,
-mutableParam3: formData.value.mutableParam3,
-sonTaskType: formData.value.sonTaskType,
-sourceOrderNo: formData.value.sourceOrderNo,
-sourcePlace: formData.value.sourcePlace,
-taskDodeviceStatus: formData.value.taskDodeviceStatus,
-taskLevel: formData.value.taskLevel,
-taskNo: formData.value.taskNo,
-taskStatus: formData.value.taskStatus,
-taskType: formData.value.taskType,
-toPlace: formData.value.toPlace,
- }
- if (!current.value) {
- await wmsTaskDrawer.addWmsTask(data)
- } else {
- const id = current.value.id
- await wmsTaskDrawer.updateWmsTask(id, data)
- }
- ElMessage.success('淇濆瓨鎴愬姛')
- ctx.emit('confirm')
- }
-
- const updateCheckData = () => {
- initiateData.value = {
- formData: {
- ...formData.value,
- },
- }
- }
- const updateFormItemOptions = (propName: string, enumData: any[]) => {
- const item = formItems.find((item) => item.prop === propName)
- if (item && enumData) {
- item.options = enumData.map((item) => ({
- label: item.description,
- value: item.value,
- }))
- }
- }
- /**
- * 閫氱敤鏌ヨ鏋氫妇
- */
- const commonQueryEnumForFrom = async () => {
- const taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
- EnumName: 'TaskTypeEnum',
-})
-updateFormItemOptions('taskType', taskTypeEnumEnum)
-const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({
- EnumName: 'WmsTaskStatus',
-})
-updateFormItemOptions('taskStatus', wmsTaskStatusEnum)
-const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
- EnumName: 'SonTaskTypeEnum',
-})
-updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum)
-
- }
- commonQueryEnumForFrom()
- /**
- * 寮圭獥鎵撳紑鑾峰彇璇︽儏
- */
- const onOpen = async () => {
- if (current.value) {
- const res = await wmsTaskDrawer.getWmsTaskDetail(current.value)
-
- formData.value = {
- aisle: res.aisle,
-containerNo: res.containerNo,
-dodeviceId: res.dodeviceId,
-dodevicetype: res.dodevicetype,
-isNextTask: res.isNextTask,
-isRead: res.isRead,
-mutableParam1: res.mutableParam1,
-mutableParam2: res.mutableParam2,
-mutableParam3: res.mutableParam3,
-sonTaskType: res.sonTaskType,
-sourceOrderNo: res.sourceOrderNo,
-sourcePlace: res.sourcePlace,
-taskDodeviceStatus: res.taskDodeviceStatus,
-taskLevel: res.taskLevel,
-taskNo: res.taskNo,
-taskStatus: res.taskStatus,
-taskType: res.taskType,
-toPlace: res.toPlace,
- id: res.id,
- }
- disabled.value = true
- updateCheckData()
- } else {
- formData.value = {}
-
- disabled.value = false
- updateCheckData()
- }
- }
-
- watch(() => current.value, onOpen)
-
- return {
- formItems,
- formData,
- visible,
- formRef,
- onOpen,
- onClose,
- onConfirm,
- }
-}
+import {
+ ref,
+ onMounted,
+ reactive,
+ computed,
+ Ref,
+ watch,
+ SetupContext,
+ h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WmsTaskDrawer } from '../Models/WmsTaskDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+
+export const useWmsTaskDrawer = (props: any, ctx?: any) => {
+ const wmsTaskDrawer = injectModel<WmsTaskDrawer>('wmsTaskDrawer')
+ /**
+ * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+ */
+ const initiateData: Ref<Record<string, any>> = ref({})
+ const formData = ref<Record<string, any>>({})
+ // ref
+ const formRef = ref()
+
+ const disabled = ref(false)
+
+ const current = computed(() => {
+ return props.row || null
+ })
+
+ const inputNumber = (attrs) => {
+ return (
+ <el-input-number
+ min="1"
+ step="1"
+ precision="0"
+ {...attrs}
+ ></el-input-number>
+ )
+ }
+
+ const visible = computed({
+ get() {
+ return props.modelValue
+ },
+ set(val) {
+ ctx.emit('update:modelValue', val)
+ },
+ })
+ /**
+ * 娣诲姞鐨刦orm瀛楁
+ */
+ const formItems = reactive([
+ {
+ label: '宸烽亾',
+ prop: 'aisle',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ贩閬�',
+ },
+ {
+ label: '鎵樼洏缂栧彿',
+ prop: 'containerNo',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墭鐩樼紪鍙�',
+ },
+ {
+ label: '鍫嗗灈鏈篒D',
+ prop: 'dodeviceId',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ爢鍨涙満ID',
+ },
+ {
+ label: '璁惧绫诲瀷',
+ prop: 'dodevicetype',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ澶囩被鍨�',
+ rules: [{ required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛',
+ prop: 'isNextTask',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ笅涓换鍔℃槸鍚︾敓鎴愭垚鍔�',
+ },
+ // {
+ // label: 'WCS鏄惁鍙互璇诲彇',
+ // prop: 'isRead',
+ // el: 'select',
+ // //disabled: disabled,
+ // placeholder: '璇疯緭鍏CS鏄惁鍙互璇诲彇',
+ // rules: [{required: true, message: 'WCS鏄惁鍙互璇诲彇涓嶈兘涓虹┖', trigger: 'blur' }],
+ // },
+ {
+ label: '鍙彉鍙橀噺1',
+ prop: 'mutableParam1',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�1',
+ },
+ {
+ label: '鍙彉鍙橀噺2',
+ prop: 'mutableParam2',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�2',
+ },
+ {
+ label: '鍙彉鍙橀噺3',
+ prop: 'mutableParam3',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ彲鍙樺彉閲�3',
+ },
+ {
+ label: '瀛愪换鍔$被鍨�',
+ prop: 'sonTaskType',
+ el: 'select',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ瓙浠诲姟绫诲瀷',
+ },
+ {
+ label: '鏉ユ簮鍗曟嵁鍙�',
+ prop: 'sourceOrderNo',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ潵婧愬崟鎹彿',
+ },
+ {
+ label: '璧峰搴撲綅',
+ prop: 'sourcePlace',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ捣濮嬪簱浣�',
+ },
+ {
+ label: '璁惧浠诲姟鐘舵��',
+ prop: 'taskDodeviceStatus',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ澶囦换鍔$姸鎬�',
+ rules: [
+ { required: true, message: '璁惧浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' },
+ ],
+ },
+ {
+ label: '浠诲姟绛夌骇',
+ prop: 'taskLevel',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ换鍔$瓑绾�',
+ rules: [{ required: true, message: '浠诲姟绛夌骇涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '浠诲姟鍙�',
+ prop: 'taskNo',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ换鍔″彿',
+ rules: [{ required: true, message: '浠诲姟鍙蜂笉鑳戒负绌�', trigger: 'blur' }],
+ },
+ {
+ label: '浠诲姟鐘舵��',
+ prop: 'taskStatus',
+ el: 'select',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ换鍔$姸鎬�',
+ rules: [{ required: true, message: '浠诲姟鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }],
+ },
+ {
+ label: '浠诲姟绫诲瀷',
+ prop: 'taskType',
+ el: 'select',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ换鍔$被鍨�',
+ rules: [{ required: true, message: '浠诲姟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '鐩爣搴撲綅',
+ prop: 'toPlace',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ洰鏍囧簱浣�',
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ const checkIsEqualObject = () => {
+ const data = {
+ formData: formData.value,
+ }
+ const check = isEqual(initiateData.value, data)
+ return check
+ }
+
+ const onClose = (done: () => void) => {
+ if (visible.value) {
+ if (checkIsEqualObject()) {
+ visible.value = false
+ done && done()
+ } else {
+ ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
+ .then(() => {
+ onConfirm()
+ })
+ .catch(() => {
+ visible.value = false
+ done && done()
+ })
+ }
+ }
+ }
+ /**
+ * 淇濆瓨
+ */
+ const onConfirm = async () => {
+ await formRef.value?.validate()
+ const data = {
+ aisle: formData.value.aisle,
+ containerNo: formData.value.containerNo,
+ dodeviceId: formData.value.dodeviceId,
+ dodevicetype: formData.value.dodevicetype,
+ isNextTask: formData.value.isNextTask,
+ isRead: formData.value.isRead,
+ mutableParam1: formData.value.mutableParam1,
+ mutableParam2: formData.value.mutableParam2,
+ mutableParam3: formData.value.mutableParam3,
+ sonTaskType: formData.value.sonTaskType,
+ sourceOrderNo: formData.value.sourceOrderNo,
+ sourcePlace: formData.value.sourcePlace,
+ taskDodeviceStatus: formData.value.taskDodeviceStatus,
+ taskLevel: formData.value.taskLevel,
+ taskNo: formData.value.taskNo,
+ taskStatus: formData.value.taskStatus,
+ taskType: formData.value.taskType,
+ toPlace: formData.value.toPlace,
+ }
+ if (!current.value) {
+ await wmsTaskDrawer.addWmsTask(data)
+ } else {
+ const id = current.value.id
+ await wmsTaskDrawer.updateWmsTask(id, data)
+ }
+ ElMessage.success('淇濆瓨鎴愬姛')
+ ctx.emit('confirm')
+ }
+
+ const updateCheckData = () => {
+ initiateData.value = {
+ formData: {
+ ...formData.value,
+ },
+ }
+ }
+ const updateFormItemOptions = (propName: string, enumData: any[]) => {
+ const item = formItems.find((item) => item.prop === propName)
+ if (item && enumData) {
+ item.options = enumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ }
+ }
+ /**
+ * 閫氱敤鏌ヨ鏋氫妇
+ */
+ const commonQueryEnumForFrom = async () => {
+ const taskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
+ EnumName: 'TaskTypeEnum',
+ })
+ updateFormItemOptions('taskType', taskTypeEnumEnum)
+ const wmsTaskStatusEnum = await wmsTaskDrawer.getWmsEnumData({
+ EnumName: 'WmsTaskStatus',
+ })
+ updateFormItemOptions('taskStatus', wmsTaskStatusEnum)
+ const sonTaskTypeEnumEnum = await wmsTaskDrawer.getWmsEnumData({
+ EnumName: 'SonTaskTypeEnum',
+ })
+ updateFormItemOptions('sonTaskType', sonTaskTypeEnumEnum)
+ }
+ commonQueryEnumForFrom()
+ /**
+ * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+ */
+ const onOpen = async () => {
+ if (current.value) {
+ const res = await wmsTaskDrawer.getWmsTaskDetail(current.value)
+
+ formData.value = {
+ aisle: res.aisle,
+ containerNo: res.containerNo,
+ dodeviceId: res.dodeviceId,
+ dodevicetype: res.dodevicetype,
+ isNextTask: res.isNextTask,
+ isRead: res.isRead,
+ mutableParam1: res.mutableParam1,
+ mutableParam2: res.mutableParam2,
+ mutableParam3: res.mutableParam3,
+ sonTaskType: res.sonTaskType,
+ sourceOrderNo: res.sourceOrderNo,
+ sourcePlace: res.sourcePlace,
+ taskDodeviceStatus: res.taskDodeviceStatus,
+ taskLevel: res.taskLevel,
+ taskNo: res.taskNo,
+ taskStatus: res.taskStatus,
+ taskType: res.taskType,
+ toPlace: res.toPlace,
+ id: res.id,
+ }
+ disabled.value = true
+ updateCheckData()
+ } else {
+ formData.value = {}
+
+ disabled.value = false
+ updateCheckData()
+ }
+ }
+
+ watch(() => current.value, onOpen)
+
+ return {
+ formItems,
+ formData,
+ visible,
+ formRef,
+ onOpen,
+ onClose,
+ onConfirm,
+ }
+}
diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
index a299cd0..ccc7860 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -1,324 +1,326 @@
-import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
-import type { Ref } from 'vue'
-import BaseTable from '@/components/Table/Table'
-import styles from './WmsTask.module.scss'
-import { useWmsTask } from '../../../Controllers/WmsTask'
-import IconButton from '@/components/IconButton/IconButton'
-import WmsTaskDrawer from '../Dialog/WmsTaskDrawer/WmsTaskDrawer'
-import WmsTaskQueryDrawer from '../Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer'
-import Search from '@/components/Search/Search'
-import { columns } from './Config'
-import TdButton from '@/components/TdButton/TdButton'
-import { vPermission } from '@/libs/Permission/Permission'
-import {
- getWmsEnumData
-} from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer'
-import {
- ElInput,
- ElSelect,
- ElOption,
- ElDatePicker,
- ElForm,
- ElFormItem,
-} from 'element-plus'
-import { injectModel } from '@/libs/Provider/Provider'
-
-interface RenderTableType {
- url?: string
- dataSource: Ref<any[]>
- isDrag?: boolean
- isChecked?: boolean
- isHidePagination?: boolean
- params?: Record<string, any>
- autoHeight?: boolean
-}
-
-export default defineComponent({
- name: 'WmsTask',
- directives: {
- permission: vPermission,
- },
- setup(props, ctx) {
- const {
- dataSource,
- contextMenu,
- dialogConfig,
- dialogConfigForQuery,
- tableRef,
- current,
- search,
- sort,
- headers,
- onError,
- onSearch,
- onRowClick,
- onConfirmWmsTask,
- onCheck,
- onAddWmsTask,
- onAdvancedQuery,
- onExport,
- openDetail,
- onSuccess,
- onBeforeUpload,
- } = useWmsTask(props, ctx)
-
- //瀹氫箟楂樼骇鏌ヨ寮曠敤
- const wmsTaskQueryDrawerRef=ref(null);
- // 鏂板鐨勬煡璇㈡潯浠�
- const queryForm = ref({
- searchVal: '',
- str_searchFormInputAttrs:[]
- })
- //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
- const _searchFormInputAttrs = ref([
- 'TaskNo', 'ContainerNo'
- ]);
- const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ换鍔$紪鐮�/鎵樼洏缂栫爜');
-
-
- // 鍔ㄦ�佹灇涓鹃�夐」
- const enumOptions = reactive({
- taskType: [] as Array<{label: string; value: any }>,
-taskStatus: [] as Array<{label: string; value: any }>,
-sonTaskType: [] as Array<{label: string; value: any }>,
- })
-
- // 鑾峰彇鏋氫妇鏁版嵁
- const fetchEnumData = async () => {
- try {
- const taskTypeEnumData = await getWmsEnumData({
- EnumName: 'TaskTypeEnum',
-})
-enumOptions.taskType = taskTypeEnumData.map((item) => ({
- label: item.description,
- value: item.value,
-}))
-const wmsTaskStatusData = await getWmsEnumData({
- EnumName: 'WmsTaskStatus',
-})
-enumOptions.taskStatus = wmsTaskStatusData.map((item) => ({
- label: item.description,
- value: item.value,
-}))
-const sonTaskTypeEnumData = await getWmsEnumData({
- EnumName: 'SonTaskTypeEnum',
-})
-enumOptions.sonTaskType = sonTaskTypeEnumData.map((item) => ({
- label: item.description,
- value: item.value,
-}))
-
- } catch (error) {
- console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
- }
- }
-
- // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
- onMounted(() => {
- fetchEnumData()
- })
-
- // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
- const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] });
- // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
- const handleQueryForMain = async () => {
- _curHighQueryData.value.searchVal = queryForm.value.searchVal;
- _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
- tableRef.value.getList(_curHighQueryData.value)
- }
- // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
- const handleQuery = async (extraParams = {}) => {
- let filteredData = commonGetHighQueryForm(extraParams);
- commonSaveCurHighQueryData(filteredData);
- tableRef.value.getList(filteredData)
- }
- // 鏂扮増鐨勬煡璇㈤噸缃�
- const resetQuery = () => {
- queryForm.value.searchVal = ''
- queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value;
- }
- //鏂扮増鐨勫鍑烘柟娉�
- const handleExport=()=>{
- onExport(_curHighQueryData.value);
- }
- // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶
- const closeQuery = (extraParams={}) => {
- let filteredData = commonGetHighQueryForm(extraParams);
- console.log("closeQuery鏂规硶");
- console.log(filteredData);
- commonSaveCurHighQueryData(filteredData);
- }
- //淇濆瓨鏌ヨ鍊�
- const commonSaveCurHighQueryData=(filteredData={})=>{
- _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData };
- _curHighQueryData.value.searchVal = queryForm.value.searchVal
- _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value;
- }
- //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊�
- const commonGetHighQueryForm=(extraParams={})=>{
- // 杩囨护鎺� undefined 鐨勫��
- let filteredData = Object.assign(
- {},
- ...Object.entries(extraParams).map(([key, value]) =>
- value !== undefined ? { [key]: value } : {}
- )
- )
- //缁勫悎妯$硦鏌ヨ
- filteredData.searchVal = queryForm.value.searchVal
- filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value;
- return filteredData;
- }
-
-
- /**
- * @returns 琛ㄦ牸
- */
- const RenderBaseTable = (props: RenderTableType) => {
- const {
- url,
- dataSource,
- isDrag,
- isChecked,
- isHidePagination,
- params,
- autoHeight,
- } = props
-
- return (
- <div
- class={{
- [styles.wmsTaskList]: true,
- }}
- >
- <BaseTable
- ref={tableRef}
- url={url}
- sortUrlTpl="/api/v1/HIAWms/wmsTask/{id}/adjustsort/{sort}"
- v-model:dataSource={dataSource.value}
- columns={columns}
- contextMenu={contextMenu}
- params={params}
- isDrag={isDrag}
- isChecked={isChecked}
- autoHeight={autoHeight}
- onCheck={onCheck}
- onRowClick={onRowClick}
- isHidePagination={isHidePagination}
- pageSize={20}
- v-slots={{
- name: ({ row }: any) => {
- return row?.name ? (
- <TdButton
- onClick={() => openDetail(row)}
- text={<span style="color:#5a84ff">璇︽儏</span>}
- icon="scale"
- tip={row?.name}
- hover
- >
- {row?.name}
- </TdButton>
- ) : (
- '-'
- )
- },
- }}
- ></BaseTable>
- </div>
- )
- }
-
- return () => {
- return (
- <div class={styles.wmsTaskContent}>
- {/* 娣诲姞/缂栬緫 */}
- <WmsTaskDrawer
- v-model={dialogConfig.visible}
- title={dialogConfig.title}
- row={current.value}
- sort={sort.value}
- onConfirm={onConfirmWmsTask}
- />
- {/* 楂樼骇鏌ヨ */}
- <WmsTaskQueryDrawer
- ref="wmsTaskQueryDrawerRef"
- v-model={dialogConfigForQuery.visible}
- title={dialogConfigForQuery.title}
- row={current.value}
- sort={sort.value}
- onConfirmQuery={handleQuery}
- onRestQuery={resetQuery}
- onClose={closeQuery}
- />
-
- <div class={styles.headerContent}>
- <div class={styles.header}>
- <IconButton
- v-permission="wmsTask-add"
- icon="add-p"
- onClick={onAddWmsTask}
- type="primary"
- >
- 娣诲姞
- </IconButton>
- <el-divider direction="vertical" />
-
- <el-divider direction="vertical" />
- <el-upload
- v-permission="wmsTask-import"
- name="file"
- accept=".xlsx,.xls,.csv"
- show-file-list={false}
- onError={onError}
- onSuccess={onSuccess}
- before-upload={onBeforeUpload}
- headers={headers.value}
- action="/api/v1/HIAWms/wmsTask/import"
- >
- <IconButton icon="in">瀵煎叆</IconButton>
- </el-upload>
-
- <IconButton
- v-permission="wmsTask-output"
- icon="out"
- onClick={handleExport}
- >
- 瀵煎嚭
- </IconButton>
- </div>
- <ElFormItem style={{ marginTop: '15px' }}>
- <ElFormItem label="鍏抽敭瀛�">
- <ElInput
- v-model={queryForm.value.searchVal}
- placeholder={searchFormInputAttrs_Placeholder.value}
- clearable
- class={styles.formItem}
- />
- </ElFormItem>
- <IconButton type="primary" icon="search" onClick={handleQueryForMain}>
- 鏌ヨ
- </IconButton>
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
+import type { Ref } from 'vue'
+import BaseTable from '@/components/Table/Table'
+import styles from './WmsTask.module.scss'
+import { useWmsTask } from '../../../Controllers/WmsTask'
+import IconButton from '@/components/IconButton/IconButton'
+import WmsTaskDrawer from '../Dialog/WmsTaskDrawer/WmsTaskDrawer'
+import WmsTaskQueryDrawer from '../Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer'
+import Search from '@/components/Search/Search'
+import { columns } from './Config'
+import TdButton from '@/components/TdButton/TdButton'
+import { vPermission } from '@/libs/Permission/Permission'
+import { getWmsEnumData } from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer'
+import {
+ ElInput,
+ ElSelect,
+ ElOption,
+ ElDatePicker,
+ ElForm,
+ ElFormItem,
+} from 'element-plus'
+import { injectModel } from '@/libs/Provider/Provider'
+
+interface RenderTableType {
+ url?: string
+ dataSource: Ref<any[]>
+ isDrag?: boolean
+ isChecked?: boolean
+ isHidePagination?: boolean
+ params?: Record<string, any>
+ autoHeight?: boolean
+}
+
+export default defineComponent({
+ name: 'WmsTask',
+ directives: {
+ permission: vPermission,
+ },
+ setup(props, ctx) {
+ const {
+ dataSource,
+ contextMenu,
+ dialogConfig,
+ dialogConfigForQuery,
+ tableRef,
+ current,
+ search,
+ sort,
+ headers,
+ onError,
+ onSearch,
+ onRowClick,
+ onConfirmWmsTask,
+ onCheck,
+ onAddWmsTask,
+ onAdvancedQuery,
+ onExport,
+ openDetail,
+ onSuccess,
+ onBeforeUpload,
+ } = useWmsTask(props, ctx)
+
+ //瀹氫箟楂樼骇鏌ヨ寮曠敤
+ const wmsTaskQueryDrawerRef = ref(null)
+ // 鏂板鐨勬煡璇㈡潯浠�
+ const queryForm = ref({
+ searchVal: '',
+ str_searchFormInputAttrs: [],
+ })
+ //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+ const _searchFormInputAttrs = ref(['TaskNo', 'ContainerNo'])
+ const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ换鍔$紪鐮�/鎵樼洏缂栫爜')
+
+ // 鍔ㄦ�佹灇涓鹃�夐」
+ const enumOptions = reactive({
+ taskType: [] as Array<{ label: string; value: any }>,
+ taskStatus: [] as Array<{ label: string; value: any }>,
+ sonTaskType: [] as Array<{ label: string; value: any }>,
+ })
+
+ // 鑾峰彇鏋氫妇鏁版嵁
+ const fetchEnumData = async () => {
+ try {
+ const taskTypeEnumData = await getWmsEnumData({
+ EnumName: 'TaskTypeEnum',
+ })
+ enumOptions.taskType = taskTypeEnumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ const wmsTaskStatusData = await getWmsEnumData({
+ EnumName: 'WmsTaskStatus',
+ })
+ enumOptions.taskStatus = wmsTaskStatusData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ const sonTaskTypeEnumData = await getWmsEnumData({
+ EnumName: 'SonTaskTypeEnum',
+ })
+ enumOptions.sonTaskType = sonTaskTypeEnumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ } catch (error) {
+ console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
+ }
+ }
+
+ // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
+ onMounted(() => {
+ fetchEnumData()
+ })
+
+ // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+ const _curHighQueryData = ref({
+ searchVal: '',
+ str_searchFormInputAttrs: [],
+ })
+ // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+ const handleQueryForMain = async () => {
+ _curHighQueryData.value.searchVal = queryForm.value.searchVal
+ _curHighQueryData.value.str_searchFormInputAttrs =
+ _searchFormInputAttrs.value
+ tableRef.value.getList(_curHighQueryData.value)
+ }
+ // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
+ const handleQuery = async (extraParams = {}) => {
+ let filteredData = commonGetHighQueryForm(extraParams)
+ commonSaveCurHighQueryData(filteredData)
+ tableRef.value.getList(filteredData)
+ }
+ // 鏂扮増鐨勬煡璇㈤噸缃�
+ const resetQuery = () => {
+ queryForm.value.searchVal = ''
+ queryForm.value.str_searchFormInputAttrs = _searchFormInputAttrs.value
+ }
+ //鏂扮増鐨勫鍑烘柟娉�
+ const handleExport = () => {
+ onExport(_curHighQueryData.value)
+ }
+ // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶
+ const closeQuery = (extraParams = {}) => {
+ let filteredData = commonGetHighQueryForm(extraParams)
+ console.log('closeQuery鏂规硶')
+ console.log(filteredData)
+ commonSaveCurHighQueryData(filteredData)
+ }
+ //淇濆瓨鏌ヨ鍊�
+ const commonSaveCurHighQueryData = (filteredData = {}) => {
+ _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }
+ _curHighQueryData.value.searchVal = queryForm.value.searchVal
+ _curHighQueryData.value.str_searchFormInputAttrs =
+ _searchFormInputAttrs.value
+ }
+ //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊�
+ const commonGetHighQueryForm = (extraParams = {}) => {
+ // 杩囨护鎺� undefined 鐨勫��
+ let filteredData = Object.assign(
+ {},
+ ...Object.entries(extraParams).map(([key, value]) =>
+ value !== undefined ? { [key]: value } : {}
+ )
+ )
+ //缁勫悎妯$硦鏌ヨ
+ filteredData.searchVal = queryForm.value.searchVal
+ filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
+ return filteredData
+ }
+
+ /**
+ * @returns 琛ㄦ牸
+ */
+ const RenderBaseTable = (props: RenderTableType) => {
+ const {
+ url,
+ dataSource,
+ isDrag,
+ isChecked,
+ isHidePagination,
+ params,
+ autoHeight,
+ } = props
+
+ return (
+ <div
+ class={{
+ [styles.wmsTaskList]: true,
+ }}
+ >
+ <BaseTable
+ ref={tableRef}
+ url={url}
+ sortUrlTpl="/api/v1/HIAWms/wmsTask/{id}/adjustsort/{sort}"
+ v-model:dataSource={dataSource.value}
+ columns={columns}
+ contextMenu={contextMenu}
+ params={params}
+ isDrag={isDrag}
+ isChecked={isChecked}
+ autoHeight={autoHeight}
+ onCheck={onCheck}
+ onRowClick={onRowClick}
+ isHidePagination={isHidePagination}
+ pageSize={20}
+ v-slots={{
+ name: ({ row }: any) => {
+ return row?.name ? (
+ <TdButton
+ onClick={() => openDetail(row)}
+ text={<span style="color:#5a84ff">璇︽儏</span>}
+ icon="scale"
+ tip={row?.name}
+ hover
+ >
+ {row?.name}
+ </TdButton>
+ ) : (
+ '-'
+ )
+ },
+ }}
+ ></BaseTable>
+ </div>
+ )
+ }
+
+ return () => {
+ return (
+ <div class={styles.wmsTaskContent}>
+ {/* 娣诲姞/缂栬緫 */}
+ <WmsTaskDrawer
+ v-model={dialogConfig.visible}
+ title={dialogConfig.title}
+ row={current.value}
+ sort={sort.value}
+ onConfirm={onConfirmWmsTask}
+ />
+ {/* 楂樼骇鏌ヨ */}
+ <WmsTaskQueryDrawer
+ ref="wmsTaskQueryDrawerRef"
+ v-model={dialogConfigForQuery.visible}
+ title={dialogConfigForQuery.title}
+ row={current.value}
+ sort={sort.value}
+ onConfirmQuery={handleQuery}
+ onRestQuery={resetQuery}
+ onClose={closeQuery}
+ />
+
+ <div class={styles.headerContent}>
+ <div class={styles.header}>
+ <IconButton
+ v-permission="wmsTask-add"
+ icon="add-p"
+ onClick={onAddWmsTask}
+ type="primary"
+ >
+ 娣诲姞
+ </IconButton>
+ <el-divider direction="vertical" />
+
+ <el-divider direction="vertical" />
+ <el-upload
+ v-permission="wmsTask-import"
+ name="file"
+ accept=".xlsx,.xls,.csv"
+ show-file-list={false}
+ onError={onError}
+ onSuccess={onSuccess}
+ before-upload={onBeforeUpload}
+ headers={headers.value}
+ action="/api/v1/HIAWms/wmsTask/import"
+ >
+ <IconButton icon="in">瀵煎叆</IconButton>
+ </el-upload>
+
+ <IconButton
+ v-permission="wmsTask-output"
+ icon="out"
+ onClick={handleExport}
+ >
+ 瀵煎嚭
+ </IconButton>
+ </div>
+ <ElFormItem style={{ marginTop: '15px' }}>
+ <ElFormItem label="鍏抽敭瀛�">
+ <ElInput
+ v-model={queryForm.value.searchVal}
+ placeholder={searchFormInputAttrs_Placeholder.value}
+ clearable
+ class={styles.formItem}
+ />
+ </ElFormItem>
+ <IconButton
+ type="primary"
+ icon="search"
+ onClick={handleQueryForMain}
+ >
+ 鏌ヨ
+ </IconButton>
{/* <IconButton style="" icon="refresh" onClick={resetQuery}>
閲嶇疆
- </IconButton> */}
- <IconButton
- v-permission="wmsTask-add"
- icon="search"
- onClick={onAdvancedQuery}
- type="primary"
- >
- 楂樼骇鏌ヨ
- </IconButton>
- </ElFormItem>
- </div>
-
- <RenderBaseTable
- url="/api/v1/HIAWms/wmsTask/page"
- dataSource={dataSource}
- isChecked={true}
- isDrag={true}
- />
- </div>
- )
- }
- },
-})
+ </IconButton> */}
+ <IconButton
+ v-permission="wmsTask-add"
+ icon="search"
+ onClick={onAdvancedQuery}
+ type="primary"
+ >
+ 楂樼骇鏌ヨ
+ </IconButton>
+ </ElFormItem>
+ </div>
+
+ <RenderBaseTable
+ url="/api/v1/HIAWms/wmsTask/page"
+ dataSource={dataSource}
+ isChecked={true}
+ isDrag={true}
+ />
+ </div>
+ )
+ }
+ },
+})
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt"
index 3f5faca..0d1d5bb 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/AppService/AppService\346\250\241\346\235\277.txt"
@@ -1,7 +1,7 @@
using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services;
using CMS.Plugin.$NameSpacePath$.Domain.Shared;
-using CMS.Plugin.$NameSpacePath$.Domain.Shared.Util;
+using CmsQueryExtensions;
using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt"
index da3d4ab..c35e1d6 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Entity/Dto\346\250\241\346\235\277.txt"
@@ -1,4 +1,5 @@
using CMS.Plugin.$NameSpacePath$.Domain.Shared.Enums;
+using CmsQueryExtensions;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities;
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs"
new file mode 100644
index 0000000..4f22808
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/EnumHelper.cs"
@@ -0,0 +1,77 @@
+锘縰sing System.ComponentModel;
+
+namespace CmsQueryExtensions
+{
+ /// <summary>
+ /// 鏋氫妇甯姪绫�.
+ /// </summary>
+ public static class EnumHelper
+ {
+ /// <summary>
+ /// 鑾峰彇鏋氫妇.
+ /// </summary>
+ /// <param name="enumName"> </param>
+ /// <returns></returns>
+ /// <exception cref="ArgumentException"></exception>
+ public static List<EnumItem> GetEnumItems(string enumName)
+ {
+ // 鑾峰彇褰撳墠绋嬪簭闆嗕腑鐨勬墍鏈夌被鍨�
+ var enumType = AppDomain.CurrentDomain.GetAssemblies()
+ .SelectMany(a => a.GetTypes())
+ .FirstOrDefault(t => t.Name == enumName && t.IsEnum);
+
+ if (enumType == null)
+ {
+ throw new Exception($"鏋氫妇绫诲瀷 {enumName} 涓嶅瓨鍦�");
+ }
+
+ return GetEnumItems(enumType);
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏋氫妇绫诲瀷.
+ /// </summary>
+ /// <param name="enumType"></param>
+ /// <returns></returns>
+ /// <exception cref="ArgumentException"></exception>
+ public static List<EnumItem> GetEnumItems(Type enumType)
+ {
+ if (!enumType.IsEnum)
+ {
+ throw new Exception("鎻愪緵鐨勭被鍨嬩笉鏄灇涓剧被鍨�");
+ }
+
+ var result = new List<EnumItem>();
+ var values = Enum.GetValues(enumType);
+
+ foreach (var value in values)
+ {
+ var fieldInfo = enumType.GetField(value.ToString());
+ var description = fieldInfo?
+ .GetCustomAttributes(typeof(DescriptionAttribute), false)
+ .FirstOrDefault() as DescriptionAttribute;
+
+ result.Add(new EnumItem
+ {
+ Value = (int)value,
+ Name = value.ToString(),
+ Description = description?.Description ?? value.ToString(),
+ });
+ }
+
+ return result;
+ }
+ }
+
+ /// <summary>
+ /// 鏋氫妇鎻忚堪.
+ /// </summary>
+ public class EnumItem
+ {
+ public int Value { get; set; }
+
+ public string Name { get; set; }
+
+ public string Description { get; set; }
+ }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs"
new file mode 100644
index 0000000..5514f47
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/ExportHelper.cs"
@@ -0,0 +1,53 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Reflection;
+using System.Threading.Tasks;
+
+namespace CmsQueryExtensions
+{
+ /// <summary>
+ /// 瀵煎嚭甯姪绫�.
+ /// </summary>
+ public static class ExportHelper
+ {
+
+
+ // 鎵归噺杞崲鏂规硶
+ public static List<Dictionary<string, object>> ConvertListToExportData<T>(IEnumerable<T> list)
+ {
+ return list.Select(ConvertToExportData).ToList();
+ }
+
+ // 閫氱敤杞崲鏂规硶锛堝吋瀹� Func<T, Dictionary<string, object>>锛�
+ public static Dictionary<string, object> ConvertToExportData<T>(T entity)
+ {
+ var dict = new Dictionary<string, object>();
+ if (entity == null) return dict;
+
+ foreach (var prop in typeof(T).GetProperties())
+ {
+ var value = prop.GetValue(entity);
+ dict[prop.Name] = FormatValue(value);
+ }
+ return dict;
+ }
+
+ private static object FormatValue(object value)
+ {
+ if (value == null) return string.Empty;
+
+ // 澶勭悊鏋氫妇
+ if (value is Enum enumValue)
+ return GetEnumDescriptionUtil.GetEnumDescription(enumValue);
+
+ // 澶勭悊甯冨皵
+ if (value is bool boolValue)
+ return boolValue ? "鏄�" : "鍚�";
+
+ return value;
+ }
+
+ }
+}
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs"
new file mode 100644
index 0000000..bcf3c5b
--- /dev/null
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/queryExtensions/CmsQueryExtensions/Utils/GetEnumDescriptionUtil.cs"
@@ -0,0 +1,30 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CmsQueryExtensions
+{
+ public class GetEnumDescriptionUtil
+ {
+ /// <summary>
+ /// 鑾峰彇鏋氫妇鐨勬弿杩�
+ /// </summary>
+ /// <param name="enumValue"></param>
+ /// <returns></returns>
+ public static string GetEnumDescription(Enum enumValue)
+ {
+ string value = enumValue.ToString();
+ if (string.IsNullOrWhiteSpace(value) || value == "0") return "";
+ FieldInfo field = enumValue.GetType().GetField(value);
+ object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false); //鑾峰彇鎻忚堪灞炴��
+ if (objs == null || objs.Length == 0) //褰撴弿杩板睘鎬ф病鏈夋椂锛岀洿鎺ヨ繑鍥炲悕绉�
+ return value;
+ DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
+ return descriptionAttribute.Description;
+ }
+ }
+}
--
Gitblit v1.9.3