5 天以前 | dengjunjie | ![]() |
5 天以前 | dengjunjie | ![]() |
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/Index.vue
@@ -7,9 +7,28 @@ </div> <div class="vol-menu"> <el-scrollbar style="height: 100%"> <VolMenu :currentMenuId="currentMenuId" :on-select="onSelect" :enable="true" :open-select="false" :isCollapse="isCollapse" :list="menuOptions"></VolMenu> <VolMenu :currentMenuId="currentMenuId" :on-select="onSelect" :enable="true" :open-select="false" :isCollapse="isCollapse" :list="menuOptions" ></VolMenu> </el-scrollbar> <div class="version-number" v-show="!isCollapse" style=" text-align: center; padding: 10px 0; color: #888; font-size: 16px; " > çæ¬ï¼05.17.01<br /> ä¸ä¸æºå¨äººçæææ<br /> </div> </div> </div> <div class="vol-container" :style="{ left: menuWidth - 1 + 'px' }"> @@ -32,12 +51,16 @@ </div> <div class="header-info"> <div class="h-link"> <a href="javascript:void(0)" @click="to(item)" v-for="(item, index) in links.filter((c) => { return c.icon; })" :key="index"> <a href="javascript:void(0)" @click="to(item)" v-for="(item, index) in links.filter((c) => { return c.icon; })" :key="index" > <span> {{ item.text }}</span> </a> </div> <div> <img class="user-header" :src="userImg" :onerror="errorImg" /> @@ -47,37 +70,62 @@ <span id="index-date"></span> </div> <div class="settings"> <i style="font-size: 20px" class="el-icon-s-tools" @click="drawer_model = true" /> <i style="font-size: 20px" class="el-icon-s-tools" @click="drawer_model = true" /> </div> </div> </div> <div class="vol-path"> <el-tabs @tab-click="selectNav" @tab-remove="removeNav" @contextmenu.prevent="bindRightClickMenu(false)" type="border-card" class="header-navigation" v-model="selectId" :strtch="false"> <el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="navIndex + ''" :closable="navIndex > 0" :key="navIndex" :label="item.name"> <el-tabs @tab-click="selectNav" @tab-remove="removeNav" @contextmenu.prevent="bindRightClickMenu(false)" type="border-card" class="header-navigation" v-model="selectId" :strtch="false" > <el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="navIndex + ''" :closable="navIndex > 0" :key="navIndex" :label="item.name" > <span style="display: none">{{ navIndex }}</span> </el-tab-pane> </el-tabs> <!-- å³é®èå --> <div v-show="contextMenuVisible"> <ul :style="{ left: menuLeft + 'px', top: menuTop + 'px' }" class="contextMenu"> <ul :style="{ left: menuLeft + 'px', top: menuTop + 'px' }" class="contextMenu" > <li v-show="visibleItem.all"> <el-button link @click="closeTabs()"> <i class="el-icon-close"></i> {{ navigation.length == 2 ? "å ³éèå" : "å ³éææ" }}</el-button> }}</el-button > </li> <li v-show="visibleItem.left"> <el-button link @click="closeTabs('left')"><i class="el-icon-back"></i>å ³é左边</el-button> <el-button link @click="closeTabs('left')" ><i class="el-icon-back"></i>å ³é左边</el-button > </li> <li v-show="visibleItem.right"> <el-button link @click="closeTabs('right')"> <i class="el-icon-right"></i>å ³éå³è¾¹</el-button> <i class="el-icon-right"></i>å ³éå³è¾¹</el-button > </li> <li v-show="visibleItem.other"> <el-button link @click="closeTabs('other')"><i class="el-icon-right"></i>å ³éå ¶ä» <el-button link @click="closeTabs('other')" ><i class="el-icon-right"></i>å ³éå ¶ä» </el-button> </li> </ul> @@ -88,26 +136,55 @@ <loading v-show="$store.getters.isLoading()"></loading> <router-view v-slot="{ Component }"> <keep-alive> <component :is="Component" :key="$route.name" v-if="!$route.meta || ($route.meta && !$route.meta.hasOwnProperty('keepAlive'))" /> <component :is="Component" :key="$route.name" v-if=" !$route.meta || ($route.meta && !$route.meta.hasOwnProperty('keepAlive')) " /> </keep-alive> <component :is="Component" :key="$route.name" v-if="$route.meta && $route.meta.hasOwnProperty('keepAlive')" /> <component :is="Component" :key="$route.name" v-if="$route.meta && $route.meta.hasOwnProperty('keepAlive')" /> </router-view> </el-scrollbar> </div> </div> <el-drawer title="鿩䏻é¢" v-model="drawer_model" direction="rtl" destroy-on-close> <el-drawer title="鿩䏻é¢" v-model="drawer_model" direction="rtl" destroy-on-close > <div class="theme-selector"> <div @click="changeTheme(item.name)" class="item" v-for="(item, index) in theme_color" :key="index" :style="{ background: item.color }"> <div v-show="item.leftColor" :style="{ background: item.leftColor }" style="height: 100%; width: 20px" class="t-left"></div> <div @click="changeTheme(item.name)" class="item" v-for="(item, index) in theme_color" :key="index" :style="{ background: item.color }" > <div v-show="item.leftColor" :style="{ background: item.leftColor }" style="height: 100%; width: 20px" class="t-left" ></div> <div class="t-right"></div> </div> </div> </el-drawer> <el-drawer title="æ¶æ¯å表" v-model="messageModel" direction="rtl" destroy-on-close> <el-drawer title="æ¶æ¯å表" v-model="messageModel" direction="rtl" destroy-on-close > <Message :list="messageList"></Message> </el-drawer> </div> @@ -663,6 +740,17 @@ padding: 0; } .vol-menu { position: relative; height: calc(100% - 60px); /* Adjust this based on your header height */ } .version-number { position: absolute; bottom: 0; width: 100%; } .contextMenu { width: 120px; margin: 0; @@ -699,8 +787,12 @@ letter-spacing: 1px; } .el-tabs.el-tabs--top.el-tabs--border-card.header-navigation>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card.header-navigation>.el-tabs__header .el-tabs__item:nth-child(2) { .el-tabs.el-tabs--top.el-tabs--border-card.header-navigation > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card.header-navigation > .el-tabs__header .el-tabs__item:nth-child(2) { padding: 0; } ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/25585229-6bad-4cdd-9b1f-5629949b9da7.vsidxBinary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/445ff65e-2052-4f6c-8f42-c1beeaccfb2d.vsidxBinary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/6d478573-69d5-4e15-a862-2f3ae6d039ff.vsidxBinary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a2f1f49a-fc73-487d-98bb-d2eebec01318.vsidxBinary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/bb49972a-b044-4a21-ac51-b32604fe6d49.vsidxBinary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d5eeaae2-4865-409f-b83a-bf42477f0c8a.vsidxBinary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs
@@ -67,7 +67,7 @@ else if (type == typeof(CarChargingTaskEnum)) { List<int> taskInboundTypes = type.GetEnumIndexList(); return taskInboundTypes.Where(x => x > currentStatus && x < (int)CarChargingTaskEnum.RelocationCarFinish).OrderBy(x => x).FirstOrDefault(); return taskInboundTypes.Where(x => x > currentStatus && x < (int)CarChargingTaskEnum.CarChargingFinish).OrderBy(x => x).FirstOrDefault(); } else { ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs
@@ -235,49 +235,49 @@ /// æ°å»ºå çµä»»å¡ /// </summary> [Description("æ°å»ºå çµä»»å¡")] CarNew = 500, CarChargingNew = 500, /// <summary> /// ç©¿æ¢è½¦åé¶ä¸ /// </summary> [Description("ç©¿æ¢è½¦åé¶ä¸")] ShuttleCar_Executing = 510, CarCharging_Executing = 510, /// <summary> /// ç©¿æ¢è½¦åé¶å®æ /// </summary> [Description("ç©¿æ¢è½¦åé¶å®æ")] ShuttleCar_Finish = 520, CarCharging_Finish = 520, /// <summary> /// å åæºç§»è½¦æ§è¡ä¸ /// </summary> [Description("å åæºç§»è½¦æ§è¡ä¸")] SC_CarExecuting = 530, CarChargingSC_CarExecuting = 530, /// <summary> /// å åæºç§»è½¦å®æ /// </summary> [Description("å åæºç§»è½¦å®æ")] SC_CarFinish = 540, CarChargingSC_CarFinish = 540, /// <summary> /// ç©¿æ¢è½¦å çµä¸ /// </summary> [Description("ç©¿æ¢è½¦å çµä¸")] ShuttleCar_Charging = 550, CarCharging_Charging = 550, /// <summary> /// ç©¿æ¢è½¦å çµå®æ /// </summary> [Description("ç©¿æ¢è½¦å çµå®æ")] ShuttleCar_ChargingFinish = 560, CarCharging_ChargingFinish = 560, /// <summary> /// å çµå®æ /// </summary> [Description("å çµå®æ")] RelocationCarFinish = 590, CarChargingFinish = 590, } /// <summary> /// ç§»åºä»»å¡ç¶æ ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -153,6 +153,11 @@ /// <param name="currentAddress">å½åå°å</param> /// <returns>è¿åä»»å¡å®ä½å¯¹è±¡ï¼å¯è½ä¸ºnull</returns> Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = ""); /// <summary> /// æ¥è¯¢ç©¿æ¢è½¦åºåºå®æä»»å¡ /// </summary> /// <returns></returns> Dt_Task QueryCarOutFinish(); /// <summary> /// æ¥è¯¢ç©¿æ¢è½¦åºå ¥åºä»»å¡ ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -6,7 +6,7 @@ <Project> <PropertyGroup> <_PublishTargetUrl>E:\IISText\èæ¹ä¸ä¸\WCS</_PublishTargetUrl> <History>True|2025-05-20T03:49:19.9344988Z;True|2025-05-19T16:43:32.2157734+08:00;True|2025-05-19T16:12:01.9378787+08:00;True|2025-05-15T16:58:47.2930537+08:00;True|2025-05-15T13:17:15.3596644+08:00;True|2025-05-15T13:11:17.2616075+08:00;True|2025-05-15T12:57:49.7942020+08:00;True|2025-05-15T12:38:37.7925022+08:00;True|2025-05-15T12:28:15.6975809+08:00;True|2025-05-15T11:44:00.9991686+08:00;True|2025-05-15T10:37:45.5900920+08:00;True|2025-05-14T11:31:54.9438366+08:00;True|2025-05-14T09:59:15.2570833+08:00;True|2025-05-14T09:57:55.8054307+08:00;True|2025-05-14T09:39:18.3194886+08:00;True|2025-05-13T17:13:53.4476748+08:00;True|2025-05-13T15:21:11.2441407+08:00;True|2025-05-13T10:39:40.0223843+08:00;True|2025-05-09T11:16:41.1746344+08:00;True|2025-04-27T19:58:33.9706872+08:00;True|2025-04-27T14:52:52.9853720+08:00;True|2025-04-21T17:54:03.6534614+08:00;True|2025-04-19T10:28:25.0898569+08:00;True|2025-04-17T14:04:50.3243452+08:00;True|2025-03-27T16:23:43.2657011+08:00;True|2025-03-25T12:01:47.0052741+08:00;True|2025-02-14T17:36:18.5767695+08:00;True|2025-02-14T14:39:49.5856199+08:00;</History> <History>True|2025-06-17T07:08:30.3988621Z;True|2025-06-17T11:49:45.7757057+08:00;False|2025-06-17T11:46:12.2872897+08:00;True|2025-06-17T11:14:34.8780060+08:00;True|2025-06-17T10:58:01.4890300+08:00;True|2025-05-20T11:49:19.9344988+08:00;True|2025-05-19T16:43:32.2157734+08:00;True|2025-05-19T16:12:01.9378787+08:00;True|2025-05-15T16:58:47.2930537+08:00;True|2025-05-15T13:17:15.3596644+08:00;True|2025-05-15T13:11:17.2616075+08:00;True|2025-05-15T12:57:49.7942020+08:00;True|2025-05-15T12:38:37.7925022+08:00;True|2025-05-15T12:28:15.6975809+08:00;True|2025-05-15T11:44:00.9991686+08:00;True|2025-05-15T10:37:45.5900920+08:00;True|2025-05-14T11:31:54.9438366+08:00;True|2025-05-14T09:59:15.2570833+08:00;True|2025-05-14T09:57:55.8054307+08:00;True|2025-05-14T09:39:18.3194886+08:00;True|2025-05-13T17:13:53.4476748+08:00;True|2025-05-13T15:21:11.2441407+08:00;True|2025-05-13T10:39:40.0223843+08:00;True|2025-05-09T11:16:41.1746344+08:00;True|2025-04-27T19:58:33.9706872+08:00;True|2025-04-27T14:52:52.9853720+08:00;True|2025-04-21T17:54:03.6534614+08:00;True|2025-04-19T10:28:25.0898569+08:00;True|2025-04-17T14:04:50.3243452+08:00;True|2025-03-27T16:23:43.2657011+08:00;True|2025-03-25T12:01:47.0052741+08:00;True|2025-02-14T17:36:18.5767695+08:00;True|2025-02-14T14:39:49.5856199+08:00;</History> <LastFailureDetails /> </PropertyGroup> </Project> ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs
@@ -61,9 +61,9 @@ break; case 10://å çµå®æ { if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == (int)CarChargingTaskEnum.ShuttleCar_Charging)//移车å çµ if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == (int)CarChargingTaskEnum.CarCharging_Charging)//移车å çµ { task.TaskState = CarChargingTaskEnum.RelocationCarFinish.ObjToInt(); task.TaskState = CarChargingTaskEnum.CarChargingFinish.ObjToInt(); AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete); _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"ç©¿æ¢è½¦å çµå®æ"); } @@ -77,9 +77,9 @@ task.TaskState = TaskCarStatusEnum.ShuttleCar_Finish.ObjToInt(); UpdateData(task); } else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == CarChargingTaskEnum.ShuttleCar_Executing.ObjToInt())//移车å çµ else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt() && task.TaskState == CarChargingTaskEnum.CarCharging_Executing.ObjToInt())//移车å çµ { task.TaskState = CarChargingTaskEnum.ShuttleCar_Finish.ObjToInt(); task.TaskState = CarChargingTaskEnum.CarCharging_Finish.ObjToInt(); UpdateData(task); } } ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs
@@ -108,7 +108,7 @@ BaseDal.UpdateData(task); _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"å åæºç§»è½¦å®æ"); } else if (task.TaskState == (int)CarChargingTaskEnum.SC_CarExecuting) else if (task.TaskState == (int)CarChargingTaskEnum.CarChargingSC_CarExecuting) { int nextStatus = task.TaskState.GetNextNotCompletedStatus<CarChargingTaskEnum>(); task.TaskState = nextStatus; ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -273,6 +273,11 @@ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish && !string.IsNullOrEmpty(x.NextAddress) && x.CurrentAddress == currentAddress, TaskOrderBy); } public Dt_Task QueryCarOutFinish() { Dt_Task? _Task = BaseDal.QueryFirst(x => TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Car_OutFinish, TaskOrderBy); return _Task; } /// <summary> /// æ ¹æ®è®¾å¤ç¼å·ãå½åå°åæç §ä¼å 级以åå建æ¶é´æåºæ¥è¯¢ä»»å¡æ± åºåºç±»åçæ°å¢çä»»å¡ /// </summary> @@ -436,7 +441,7 @@ } else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt()) { if (task.TaskState >= (int)CarChargingTaskEnum.RelocationCarFinish) if (task.TaskState >= (int)CarChargingTaskEnum.CarChargingFinish) { return content = WebResponseContent.Instance.Error($"该任å¡ç¶æä¸å¯è·³è½¬å°ä¸ä¸æ¥,ä»»å¡å·:ã{task.TaskNum}ã,ä»»å¡ç¶æ:ã{task.TaskState}ã"); } @@ -641,12 +646,12 @@ { if (!string.IsNullOrEmpty(SourceAddress) && SourceAddress != "") { Dt_Task? task = BaseDal.QueryFirst(x => x.SourceAddress == SourceAddress && x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt()); Dt_Task? task = BaseDal.QueryFirst(x => x.SourceAddress == SourceAddress && (x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() || x.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())); if (task != null) return; } if (!string.IsNullOrEmpty(TargetAddress) && TargetAddress != "") { Dt_Task? task = BaseDal.QueryFirst(x => x.TargetAddress == TargetAddress && x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt()); Dt_Task? task = BaseDal.QueryFirst(x => x.TargetAddress == TargetAddress && (x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() || x.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())); if (task != null) return; } #region å建å åæºç§»è½¦ä»»å¡ @@ -662,12 +667,12 @@ NextAddress = TargetAddress, CreateDate = DateTime.Now, Creater = "WCS", TaskState = string.IsNullOrEmpty(remark) ? (int)TaskCarStatusEnum.CarNew : (int)CarChargingTaskEnum.CarNew, TaskState = string.IsNullOrEmpty(remark) ? (int)TaskCarStatusEnum.CarNew : (int)CarChargingTaskEnum.CarChargingNew, ShuttleCarCode = ShuttleCarCode, WMSId = 0, Remark = remark }; if (SourceAddress == TargetAddress) dt_Task.TaskState = (int)CarChargingTaskEnum.SC_CarFinish; if (SourceAddress == TargetAddress) dt_Task.TaskState = (int)CarChargingTaskEnum.CarChargingSC_CarFinish; AddData(dt_Task); #endregion } ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs
@@ -31,7 +31,7 @@ UpdateShuttleCar(dt_Task.ShuttleCarCode, dt_Task.CurrentAddress); _taskService.AddTask_Hty(dt_Task, TaskOperateTypeEnum.AutoComplete); } dt_Task = GetTask(CarChargingTaskEnum.SC_CarFinish.ObjToInt(), TaskOtherTypeEnum.RelocationCarCharging.ObjToInt());//移车å çµä»»å¡ dt_Task = GetTask(CarChargingTaskEnum.CarChargingSC_CarFinish.ObjToInt(), TaskOtherTypeEnum.RelocationCarCharging.ObjToInt());//移车å çµä»»å¡ if (dt_Task != null) { UpdateShuttleCar(dt_Task.ShuttleCarCode, dt_Task.CurrentAddress); @@ -74,7 +74,7 @@ { #region è·åæ°å»ºç§»è½¦å çµä»»å¡ Dt_Task dt_Task = GetTask((int)CarChargingTaskEnum.CarNew, (int)TaskOtherTypeEnum.RelocationCarCharging); Dt_Task dt_Task = GetTask((int)CarChargingTaskEnum.CarChargingNew, (int)TaskOtherTypeEnum.RelocationCarCharging); if (dt_Task != null && dt_Task.ShuttleCarCode == shuttleCar.DeviceCode) { if (!string.IsNullOrEmpty(dt_Task.SourceAddress) && !string.IsNullOrEmpty(dt_Task.TargetAddress) && !string.IsNullOrEmpty(dt_Task.ShuttleCarCode)) @@ -210,11 +210,31 @@ if (command.Status == (short)ShuttleCarStatus.Standby && command.TaskTypeComplete == (short)ShuttleCarTaskComplete.Standby && command.Err_Status == (short)ShuttleCarErr.Normal) { #region 夿å½åç©¿æ¢è½¦æ¯å¦åå¨ä»»å¡ Dt_Task? _Task = _taskRepository.QueryFirst(x => x.SourceAddress == _ShuttleCar.ShuttleCarPosition || x.TargetAddress == _ShuttleCar.ShuttleCarPosition && (!_taskService.TaskOutboundTypes.Contains(x.TaskType))); if (_Task != null) return (ok, _ShuttleCar); Dt_Task? _Task = _taskRepository.QueryFirst(x => x.SourceAddress == _ShuttleCar.ShuttleCarPosition); if (_Task != null) { if (_Task.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() || _Task.TaskState == TaskRelocationStatusEnum.RelocationNew.ObjToInt() || _Task.TaskState == TaskCarStatusEnum.CarNew.ObjToInt() || _Task.TaskState == CarChargingTaskEnum.CarChargingNew.ObjToInt()) { _Task.ShuttleCarCode = shuttleCar.DeviceCode; SendTask(_Task); return (ok, _ShuttleCar); } } _Task = _taskRepository.QueryFirst(x => x.TargetAddress == _ShuttleCar.ShuttleCarPosition); if (_Task != null) { if (_Task.TaskState == TaskInStatusEnum.SC_InFinish.ObjToInt() || _Task.TaskState == TaskRelocationStatusEnum.SC_RelocationFinish.ObjToInt() || _Task.TaskState == CarChargingTaskEnum.CarChargingSC_CarFinish.ObjToInt()) { _Task.ShuttleCarCode = shuttleCar.DeviceCode; SendTask(_Task); return (ok, _ShuttleCar); } } _Task = _taskRepository.QueryData(x => x.ShuttleCarCode == _ShuttleCar.ShuttleCarCode && _taskService.TaskOutboundTypes.Contains(x.TaskType)).OrderByDescending(x => x.CreateDate).FirstOrDefault(); if (_Task != null) { @@ -282,7 +302,7 @@ } else if (task.TaskType == (int)TaskOtherTypeEnum.RelocationCarCharging) { shuttleCarTaskCommand.TaskType = task.TaskState == CarChargingTaskEnum.CarNew.ObjToInt() ? shuttleCarTaskCommand.TaskType = task.TaskState == CarChargingTaskEnum.CarChargingNew.ObjToInt() ? (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction) : (short)GetCarTaskType(ShuttleCarTaskType.Charging.ToString()); } @@ -299,7 +319,7 @@ { if (shuttleCar.SendCommand(shuttleCarTaskCommand, shuttleCar.DeviceCode)) { if (!string.IsNullOrEmpty(task.Remark) && task.TaskState == CarChargingTaskEnum.CarNew.ObjToInt()) if (!string.IsNullOrEmpty(task.Remark) && task.TaskState == CarChargingTaskEnum.CarChargingNew.ObjToInt()) task.Remark = task.Remark + "å·²ä¸å"; task.TaskState = GetTaskState(task.TaskType, task.TaskState); _taskService.UpdateData(task); @@ -385,9 +405,9 @@ state = (int)TaskCarStatusEnum.ShuttleCar_Executing; break; case (int)TaskOtherTypeEnum.RelocationCarCharging: state = state < (int)CarChargingTaskEnum.SC_CarFinish ? (int)CarChargingTaskEnum.ShuttleCar_Executing : (int)CarChargingTaskEnum.ShuttleCar_Charging; state = state < (int)CarChargingTaskEnum.CarChargingSC_CarFinish ? (int)CarChargingTaskEnum.CarCharging_Executing : (int)CarChargingTaskEnum.CarCharging_Charging; break; default: break; ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -91,7 +91,7 @@ if (common.RunStatus == (short)RunStatus.Standby) { var Task = _taskService.GetTaskState((int)TaskCarStatusEnum.ShuttleCar_Finish, (int)TaskOtherTypeEnum.RelocationCar);//è·åç§»è½¦ä»»å¡ var Task1 = _taskService.GetTaskState((int)CarChargingTaskEnum.ShuttleCar_Finish, (int)TaskOtherTypeEnum.RelocationCarCharging);//è·å移车å çµä»»å¡ var Task1 = _taskService.GetTaskState((int)CarChargingTaskEnum.CarCharging_Finish, (int)TaskOtherTypeEnum.RelocationCarCharging);//è·å移车å çµä»»å¡ if (Task != null) { SendTask(commonStackerCrane, Task); @@ -137,6 +137,10 @@ else if (!task.TargetIsPickPlace && ShuttleCar == null) { _taskService.AddRelocationCarTask("", task.TargetAddress); #region æ¥è¯¢ task = _taskService.QueryCarOutFinish(); if (task != null) SendTask(commonStackerCrane, task);//ä¸åå åæºä»»å¡ #endregion } else { ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs
@@ -67,6 +67,12 @@ else { Dt_ShuttleCar? shuttleCar1 = _shuttleCarService.QueryCode(task.ShuttleCarCode); if (task.TaskType == TaskRelocationTypeEnum.Relocation.ObjToInt() && task.Remark == "") { shuttleCar1 = _shuttleCarService.QueryNoCode(task.ShuttleCarCode); task.Remark = shuttleCar1.ShuttleCarCode; _taskService.UpdateData(task); } if (shuttleCar1 != null) { ShuttleCar shuttleCar = Storage.Devices.FirstOrDefault(x => x.DeviceName == shuttleCar1.ShuttleCarName) as ShuttleCar; ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/Index.vue
@@ -7,9 +7,28 @@ </div> <div class="vol-menu"> <el-scrollbar style="height: 100%"> <VolMenu :currentMenuId="currentMenuId" :on-select="onSelect" :enable="true" :open-select="false" :isCollapse="isCollapse" :list="menuOptions"></VolMenu> <VolMenu :currentMenuId="currentMenuId" :on-select="onSelect" :enable="true" :open-select="false" :isCollapse="isCollapse" :list="menuOptions" ></VolMenu> </el-scrollbar> <div class="version-number" v-show="!isCollapse" style=" text-align: center; padding: 10px 0; color: #888; font-size: 16px; " > çæ¬ï¼05.17.01<br /> ä¸ä¸æºå¨äººçæææ<br /> </div> </div> </div> <div class="vol-container" :style="{ left: menuWidth - 1 + 'px' }"> @@ -32,12 +51,16 @@ </div> <div class="header-info"> <div class="h-link"> <a href="javascript:void(0)" @click="to(item)" v-for="(item, index) in links.filter((c) => { return c.icon; })" :key="index"> <a href="javascript:void(0)" @click="to(item)" v-for="(item, index) in links.filter((c) => { return c.icon; })" :key="index" > <span> {{ item.text }}</span> </a> </div> <div> <img class="user-header" :src="userImg" :onerror="errorImg" /> @@ -47,37 +70,62 @@ <span id="index-date"></span> </div> <div class="settings"> <i style="font-size: 20px" class="el-icon-s-tools" @click="drawer_model = true" /> <i style="font-size: 20px" class="el-icon-s-tools" @click="drawer_model = true" /> </div> </div> </div> <div class="vol-path"> <el-tabs @tab-click="selectNav" @tab-remove="removeNav" @contextmenu.prevent="bindRightClickMenu(false)" type="border-card" class="header-navigation" v-model="selectId" :strtch="false"> <el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="navIndex + ''" :closable="navIndex > 0" :key="navIndex" :label="item.name"> <el-tabs @tab-click="selectNav" @tab-remove="removeNav" @contextmenu.prevent="bindRightClickMenu(false)" type="border-card" class="header-navigation" v-model="selectId" :strtch="false" > <el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="navIndex + ''" :closable="navIndex > 0" :key="navIndex" :label="item.name" > <span style="display: none">{{ navIndex }}</span> </el-tab-pane> </el-tabs> <!-- å³é®èå --> <div v-show="contextMenuVisible"> <ul :style="{ left: menuLeft + 'px', top: menuTop + 'px' }" class="contextMenu"> <ul :style="{ left: menuLeft + 'px', top: menuTop + 'px' }" class="contextMenu" > <li v-show="visibleItem.all"> <el-button link @click="closeTabs()"> <i class="el-icon-close"></i> {{ navigation.length == 2 ? "å ³éèå" : "å ³éææ" }}</el-button> }}</el-button > </li> <li v-show="visibleItem.left"> <el-button link @click="closeTabs('left')"><i class="el-icon-back"></i>å ³é左边</el-button> <el-button link @click="closeTabs('left')" ><i class="el-icon-back"></i>å ³é左边</el-button > </li> <li v-show="visibleItem.right"> <el-button link @click="closeTabs('right')"> <i class="el-icon-right"></i>å ³éå³è¾¹</el-button> <i class="el-icon-right"></i>å ³éå³è¾¹</el-button > </li> <li v-show="visibleItem.other"> <el-button link @click="closeTabs('other')"><i class="el-icon-right"></i>å ³éå ¶ä» <el-button link @click="closeTabs('other')" ><i class="el-icon-right"></i>å ³éå ¶ä» </el-button> </li> </ul> @@ -88,26 +136,55 @@ <loading v-show="$store.getters.isLoading()"></loading> <router-view v-slot="{ Component }"> <keep-alive> <component :is="Component" :key="$route.name" v-if="!$route.meta || ($route.meta && !$route.meta.hasOwnProperty('keepAlive'))" /> <component :is="Component" :key="$route.name" v-if=" !$route.meta || ($route.meta && !$route.meta.hasOwnProperty('keepAlive')) " /> </keep-alive> <component :is="Component" :key="$route.name" v-if="$route.meta && $route.meta.hasOwnProperty('keepAlive')" /> <component :is="Component" :key="$route.name" v-if="$route.meta && $route.meta.hasOwnProperty('keepAlive')" /> </router-view> </el-scrollbar> </div> </div> <el-drawer title="鿩䏻é¢" v-model="drawer_model" direction="rtl" destroy-on-close> <el-drawer title="鿩䏻é¢" v-model="drawer_model" direction="rtl" destroy-on-close > <div class="theme-selector"> <div @click="changeTheme(item.name)" class="item" v-for="(item, index) in theme_color" :key="index" :style="{ background: item.color }"> <div v-show="item.leftColor" :style="{ background: item.leftColor }" style="height: 100%; width: 20px" class="t-left"></div> <div @click="changeTheme(item.name)" class="item" v-for="(item, index) in theme_color" :key="index" :style="{ background: item.color }" > <div v-show="item.leftColor" :style="{ background: item.leftColor }" style="height: 100%; width: 20px" class="t-left" ></div> <div class="t-right"></div> </div> </div> </el-drawer> <el-drawer title="æ¶æ¯å表" v-model="messageModel" direction="rtl" destroy-on-close> <el-drawer title="æ¶æ¯å表" v-model="messageModel" direction="rtl" destroy-on-close > <Message :list="messageList"></Message> </el-drawer> </div> @@ -663,6 +740,17 @@ padding: 0; } .vol-menu { position: relative; height: calc(100% - 60px); /* Adjust this based on your header height */ } .version-number { position: absolute; bottom: 0; width: 100%; } .contextMenu { width: 120px; margin: 0; @@ -699,8 +787,12 @@ letter-spacing: 1px; } .el-tabs.el-tabs--top.el-tabs--border-card.header-navigation>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card.header-navigation>.el-tabs__header .el-tabs__item:nth-child(2) { .el-tabs.el-tabs--top.el-tabs--border-card.header-navigation > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card.header-navigation > .el-tabs__header .el-tabs__item:nth-child(2) { padding: 0; } ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a404cf44-bf45-4800-bacc-70b82a705411.vsidxBinary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suoBinary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/HierarchyCache.v1.txtBinary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/fileList.binBinary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -120,9 +120,9 @@ VueDictionaryDTO vueDictionaryDTO = GetVueDictionary(item.Trim()); if (vueDictionaryDTO != null) { vueDictionaryDTOs.Add(vueDictionaryDTO); if (!_cacheService.Exists(item)) { vueDictionaryDTOs.Add(vueDictionaryDTO); _cacheService.Add(item, vueDictionaryDTO.Serialize()); } } ÏîÄ¿×ÊÁÏ/WCSϵͳ˵Ã÷.docBinary files differ
ÏîÄ¿×ÊÁÏ/WMSϵͳ˵Ã÷.docxBinary files differ