1
WINDOWS-F96JH03\Kain
2026-03-17 0df3cb7492523f7a1ce37d0a1c7e4a79eb4bf0ce
1
已添加11个文件
已修改6个文件
52769 ■■■■ 文件已修改
项目代码/WCS/WCSClient/package-lock.json 36224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSClient/src/extension/basicinfo/Dt_StationManager.js 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSClient/src/router/viewGird.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSClient/src/views/basicinfo/Dt_StationManager.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSClient/yarn.lock 16266 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/CodeChunks.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/CodeChunks.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/CodeChunks.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/SemanticSymbols.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/SemanticSymbols.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/SemanticSymbols.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/WIDESEAWCS_Common/EnableEnum/EnanleEnum.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/WIDESEAWCS_Core/Utilities/EntityProperties.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/StationManagerController.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WCSServer/WIDESEAWCS_Server/appsettings.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WCSClient/package-lock.json
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
ÏîÄ¿´úÂë/WCS/WCSClient/src/extension/basicinfo/Dt_StationManager.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      return true;
    },
    searchAfter(result) {
      //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
      return true;
    },
    addBefore(formData) {
      //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
      return true;
    },
    updateBefore(formData) {
      //编辑保存前formData为对象,包括明细表、删除行的Id
      return true;
    },
    rowClick({ row, column, event }) {
      //查询界面点击行事件
      // this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
    },
    modelOpenAfter(row) {
      //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
      //(1)判断是编辑还是新建操作: this.currentAction=='Add';
      //(2)给弹出框设置默认值
      //(3)this.editFormFields.字段='xxx';
      //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
      //看不懂就把输出看:console.log(this.editFormOptions)
    }
  }
};
export default extension;
ÏîÄ¿´úÂë/WCS/WCSClient/src/router/viewGird.js
@@ -53,11 +53,11 @@
    path: '/task',
    name: 'task',
    component: () => import('@/views/taskinfo/task.vue')
  },  {
  }, {
    path: '/task_Hty',
    name: 'task_Hty',
    component: () => import('@/views/taskinfo/task_Hty.vue')
  },{
  }, {
    path: '/router',
    name: 'router',
    component: () => import('@/views/basicinfo/router.vue')
@@ -85,6 +85,16 @@
    meta: {
      keepAlive: false
    }
  },
  {
    path: '/StationManager',
    name: 'StationManager',
    component: () => import('@/views/basicinfo/Dt_StationManager.vue'),
    meta: {
      keepAlive: false
    }
  },
]
ÏîÄ¿´úÂë/WCS/WCSClient/src/views/basicinfo/Dt_StationManager.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/basicinfo/Dt_AreaInfo.js此处编写
 -->
<template>
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
import extend from "@/extension/basicinfo/Dt_StationManager.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: 'stationID',
            footer: "Foots",
            cnName: '站台管理',
            name: 'basicinfo/StationManager',
            url: "/StationManager/",
            sortName: "stationID"
        });
        const editFormFields = ref({
            stationID:"",
            stationType:"",
            stationPLC:"",
            roadway:"",
            stationStatus:"",
            stationRemark:"",
            stationChildCode:"",
            stationArea:"",
            stationLocation:"",
            stationStatus:"",
            stationEquipMES:"",
            stationModel:"",
            stationTCLocation:""
        });
        const editFormOptions = ref([
            [
                { "title": "站台状态", "field": "stationStatus", type: "select",dataKey: "enanleEnum",data: [], },
            ]
        ]);
        const searchFormFields = ref({
            // "iD":"",
            // "toArea": "",
            // "fromArea": "",
            // "barcodeType": "",
            // "productLine": "",
            // "inLineNum": "",
            // "cacheNum":""
        });
        const searchFormOptions = ref([
            [
                { "title": "站台类型", "field": "stationType", type: "text" },
                { "title": "巷道", "field": "roadway", type: "text" },
                { "title": "站台区域", "field": "stationArea", type: "text" },
            ]
            // ,
            // [
            //     { "title": "站台节点", "field": "stationChildCode", type: "text" },
            //     { "title": "在途数量", "field": "inLineNum", type: "text" },
            //     { "title": "可缓存数量", "field": "cacheNum", type: "text" },
            // ]
        ]);
        const columns = ref([{ field: 'stationID', title: '主键', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' },
        { field: 'stationType', title: '站台类型', type: 'int', sort: true, width: 110, require: true, align: 'left', sort: true },
        { field: 'stationPLC', title: '站台PLC', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'roadway', title: '巷道', type: 'string', sort: true, width: 110, align: 'left' },
         { field: 'stationStatus', title: '站台状态', type: 'string', sort: true, width: 110, align: 'left', bind: { key: "enanleEnum", data: [] }},
        { field: 'stationRemark', title: '站台备注', type: 'string', sort: true, width: 110, align: 'left', },
        { field: 'stationChildCode', title: '站台节点', type: 'int', sort: true, width: 110, align: 'left' },
        { field: 'stationArea', title: '站台区域', type: 'int', sort: true, width: 100,  align: 'left' },
        { field: 'stationLocation', title: '堆垛机地址', type: 'int', sort: true, width: 100,  align: 'left' },
        { field: 'creater', title: '创建人', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'createDate', title: '创建时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
        { field: 'modifier', title: '修改人', type: 'string', sort: true, width: 100,  align: 'left' },
        { field: 'modifyDate', title: '修改时间', type: 'datetime', sort: true, width: 150,  align: 'left', sort: true },
        ]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "#detailTable",
            columns: [],
            sortName: "",
            key: ""
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WCS/WCSClient/yarn.lock
ÎļþÌ«´ó
ÏîÄ¿´úÂë/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/CodeChunks.db
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/CodeChunks.db-shm
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/CodeChunks.db-wal
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/SemanticSymbols.db
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/SemanticSymbols.db-shm
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServer/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1518.61961/SemanticSymbols.db-wal
Binary files differ
ÏîÄ¿´úÂë/WCS/WCSServer/WIDESEAWCS_Common/EnableEnum/EnanleEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Common.TaskEnum
{
    public enum EnanleEnum
    {
        /// <summary>
        /// å¯ç”¨
        /// </summary>
        [Description("启用")]
        Enanle = 1,
        /// <summary>
        /// ç¦ç”¨
        /// </summary>
        [Description("禁用")]
        Disable =0
    }
}
ÏîÄ¿´úÂë/WCS/WCSServer/WIDESEAWCS_Core/Utilities/EntityProperties.cs
@@ -173,11 +173,11 @@
                if (sugarColumn == null)
                    return "请配置SugarColumn属性";
                //忽略与主键的字段不做验证
                if (property.Name.ToUpper() == keyName.ToUpper() || (ignoreFields != null && ignoreFields.Contains(property.Name)) || sugarColumn.IsOnlyIgnoreInsert || sugarColumn.IsOnlyIgnoreUpdate || sugarColumn.IsIgnore)
                if (property.Name == keyName.FirstLetterToLower() || (ignoreFields != null && ignoreFields.Contains(property.Name)) || sugarColumn.IsOnlyIgnoreInsert || sugarColumn.IsOnlyIgnoreUpdate || sugarColumn.IsIgnore)
                    continue;
                //不在编辑中的列,是否也要必填
                if (!dic.ContainsKey(property.Name.ToUpper()))
                if (!dic.ContainsKey(property.Name.FirstLetterToLower()))
                {
                    if (!sugarColumn.IsNullable)
                    {
@@ -187,12 +187,12 @@
                    }
                    continue;
                }
                if(dic[property.Name.ToUpper()] != null)
                if(dic[property.Name.FirstLetterToLower()] != null)
                {
                    string str = dic[property.Name.ToUpper()].ToString();
                    string str = dic[property.Name.FirstLetterToLower()].ToString();
                    //将所有空值设置为null
                    if (str == string.Empty)
                        dic[property.Name.ToUpper()] = null;
                        dic[property.Name.FirstLetterToLower()] = null;
                }
                
            }
ÏîÄ¿´úÂë/WCS/WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs
@@ -105,8 +105,17 @@
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "横移机道口")]
        public string stationTCLocation { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "备注")]
        public string remark { get; set; }
        /// <summary>
        /// å¯ç”¨çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "启用状态")]
        public string stationStatus { get; set; }
    }
ÏîÄ¿´úÂë/WCS/WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/StationManagerController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.DataProtection.KeyManagement;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using Quartz.Util;
using SqlSugar;
using System.ComponentModel;
using System.Reflection;
using WIDESEAWCS_BasicInfoService;
using WIDESEAWCS_Common;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.BasicInfo;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Repository;
using WIDESEAWCS_QuartzJob.Service;
namespace WIDESEAWCS_Server.Controllers.BasicInfo
{
    [Route("api/StationManager")]
    [ApiController]
    public class StationManagerController : ApiBaseController<IDt_StationManagerService, Dt_StationManager>
    {
        public StationManagerController(IDt_StationManagerService service) : base(service)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WCSServer/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs
@@ -362,6 +362,30 @@
                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                        }
                        break;
                    case "enanleEnum":
                        {
                            List<object> data = new List<object>();
                            Type type = typeof(EnanleEnum);
                            List<int> enums = Enum.GetValues(typeof(EnanleEnum)).Cast<int>().ToList();
                            int index = 0;
                            foreach (var item in enums)
                            {
                                FieldInfo? fieldInfo = typeof(EnanleEnum).GetField(((EnanleEnum)item).ToString());
                                DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                if (description != null)
                                {
                                    data.Add(new { key = item.ToString(), value = description.Description });
                                }
                                else
                                {
                                    data.Add(new { key = item.ToString(), value = item.ToString() });
                                }
                                index++;
                            }
                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                        }
                        break;
                }
                return result;
            }
ÏîÄ¿´úÂë/WCS/WCSServer/WIDESEAWCS_Server/appsettings.json
@@ -6,7 +6,7 @@
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType",
  "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType,enanleEnum",
  "AllowedHosts": "*",
  "ConnectionStringsEncryption": false,
  "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
@@ -15,7 +15,7 @@
  //"ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WCS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=True",
  //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WCSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=LP_WIDESEAWCS;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionString": "Data Source=.;Initial Catalog=LP_WIDESEAWCS;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //"ConnectionString": "Data Source=.;Initial Catalog=ZCLDY_WIDESEAWCS;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //"ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=MX_LDY_WCS;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",