wanshenmean
昨天 5c6e99cb3b30e0b4127caa3b626c2b51ea038b61
Merge branch 'dev' into xiaoyang
已添加6个文件
已复制2个文件
已重命名1个文件
已修改11个文件
1323 ■■■■ 文件已修改
Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/agvTask_hty.jsx 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.jsx 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WCS/WIDESEAWCS_Client/src/views/Login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/agvTask_hty.vue 127 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStock.jsx 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStockDetail.jsx 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.jsx 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/agvTask_hty.jsx 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task_hty.jsx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/router/viewGird.js 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/views/Login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStock.vue 299 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStockDetail.vue 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask_hty.vue 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_AGV.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/agvTask_hty.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
// è¯¥æ‰©å±•文件用于任务历史页面的业务扩展。
// æ–¹æ³•目的:统一预留列表查询、保存前后和弹窗打开时的扩展入口,保持与项目内 task é¡µé¢ä¸€è‡´çš„æ‰©å±•点。
// å‚数含义:由框架按生命周期传入,包含查询参数、表单数据、行数据等上下文。
// è¿”回值说明:返回 true ä»£è¡¨ç»§ç»­é»˜è®¤è¡Œä¸ºï¼Œè¿”回 false ä»£è¡¨ä¸­æ–­é»˜è®¤è¡Œä¸ºã€‚
// å¼‚常处理说明:当前未引入外部调用;若后续新增接口调用,需在方法内补充 try-catch å¹¶è®°å½•关键业务参数。
let extension = {
  components: {
    gridHeader: "",
    gridBody: "",
    gridFooter: "",
    modelHeader: "",
    modelBody: "",
    modelFooter: "",
  },
  tableAction: "",
  buttons: { view: [], box: [], detail: [] },
  methods: {
    // æ–¹æ³•目的:页面初始化时执行自定义逻辑。
    // å‚数:无。
    // è¿”回值:无。
    onInit() {},
    // æ–¹æ³•目的:页面初始化完成后执行自定义逻辑。
    // å‚数:无。
    // è¿”回值:无。
    onInited() {},
    // æ–¹æ³•目的:查询前处理查询条件。
    // å‚数:param æŸ¥è¯¢å‚数对象。
    // è¿”回值:true ç»§ç»­æŸ¥è¯¢ï¼Œfalse ç»ˆæ­¢æŸ¥è¯¢ã€‚
    searchBefore(param) {
      // ç¬¬ä¸€ä¸ªè¿‡æ»¤æ¡ä»¶
      const roadwayFilter1 = {
        name: "roadway",
        value: "ZJ1",
        displayType: "like",
      };
      // ç¬¬äºŒä¸ªè¿‡æ»¤æ¡ä»¶
      const roadwayFilter2 = {
        name: "roadway",
        value: "FJ1",
        displayType: "like",
      };
      if (!param.wheres) {
        param.wheres = [];
      }
      // å°†ä¸¤ä¸ªè¿‡æ»¤æ¡ä»¶æ·»åŠ åˆ°æŸ¥è¯¢å‚æ•°ä¸­
      param.wheres.push(roadwayFilter1);
      param.wheres.push(roadwayFilter2);
      return true;
      return true;
    },
    // æ–¹æ³•目的:查询后处理返回结果。
    // å‚数:result åŽç«¯è¿”回数据。
    // è¿”回值:true ç»§ç»­æ¸²æŸ“,false ç»ˆæ­¢åŽç»­å¤„理。
    searchAfter(result) {
      return true;
    },
    // æ–¹æ³•目的:新增前校验或补充提交字段。
    // å‚数:formData è¡¨å•提交对象。
    // è¿”回值:true ç»§ç»­æäº¤ï¼Œfalse ç»ˆæ­¢æäº¤ã€‚
    addBefore(formData) {
      return true;
    },
    // æ–¹æ³•目的:编辑前校验或补充提交字段。
    // å‚数:formData è¡¨å•提交对象。
    // è¿”回值:true ç»§ç»­æäº¤ï¼Œfalse ç»ˆæ­¢æäº¤ã€‚
    updateBefore(formData) {
      return true;
    },
    // æ–¹æ³•目的:点击行时扩展处理。
    // å‚数:row è¡Œæ•°æ®ï¼Œcolumn åˆ—配置,event åŽŸå§‹äº‹ä»¶ã€‚
    // è¿”回值:无。
    rowClick({ row, column, event }) {},
    // æ–¹æ³•目的:编辑弹窗打开后执行扩展逻辑。
    // å‚数:row å½“前行数据。
    // è¿”回值:无。
    modelOpenAfter(row) {},
  },
};
export default extension;
Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.jsx
@@ -30,6 +30,27 @@
    // å‚数:param æŸ¥è¯¢å‚数对象。
    // è¿”回值:true ç»§ç»­æŸ¥è¯¢ï¼Œfalse ç»ˆæ­¢æŸ¥è¯¢ã€‚
    searchBefore(param) {
      const roadwayFilter1 = {
        name: "roadway",
        value: "ZJSC1",
        displayType: "notequal",
      };
      // ç¬¬äºŒä¸ªè¿‡æ»¤æ¡ä»¶
      const roadwayFilter2 = {
        name: "roadway",
        value: "FJSC1",
        displayType: "notequal",
      };
      if (!param.wheres) {
        param.wheres = [];
      }
      // å°†ä¸¤ä¸ªè¿‡æ»¤æ¡ä»¶æ·»åŠ åˆ°æŸ¥è¯¢å‚æ•°ä¸­
      param.wheres.push(roadwayFilter1);
      param.wheres.push(roadwayFilter2);
      return true;
      return true;
    },
Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js
@@ -90,6 +90,11 @@
    component: () => import("@/views/taskinfo/agvTask.vue"),
  },
  {
    path: "/agvTask_hty",
    name: "agvTask_hty",
    component: () => import("@/views/taskinfo/agvTask_hty.vue"),
  },
  {
    path: "/taskHty",
    name: "taskHty",
    component: () => import("@/views/taskinfo/taskHty.vue"),
Code/WCS/WIDESEAWCS_Client/src/views/Login.vue
@@ -95,7 +95,7 @@
    const loading = ref(false);
    const codeImgSrc = ref('');
    const userInfo = reactive({
      userName: 'admin',
      userName: 'QKA02',
      password: '123456',
      verificationCode: '1234',
      UUID: undefined
Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/agvTask_hty.vue
copy from Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue copy to Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/agvTask_hty.vue
Îļþ´Ó Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue ¸´ÖÆ
@@ -1,4 +1,3 @@
<template>
  <view-grid
    ref="grid"
@@ -13,55 +12,75 @@
  >
  </view-grid>
</template>
    <script>
import extend from "@/extension/taskinfo/agvTask.jsx";
<script>
import extend from "@/extension/taskinfo/agvTask_hty.jsx";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "taskId",
      footer: "Foots",
      cnName: "任务信息",
      name: "task",
      url: "/Task/",
      sortName: "CreateDate",
      cnName: "任务历史",
      name: "taskHty",
      url: "/Task_Hty/",
      sortName: "insertTime",
    });
    const editFormFields = ref({});
    const editFormOptions = ref([]);
    const searchFormFields = ref({
      taskNum: "",
      palletCode: "",
      roadway: "",
      taskStatus: "",
      taskType: "",
      sourceAddress: "",
      targetAddress: "",
      currentAddress: "",
      nextAddress: "",
      creater: "",
      createDate: "",
      operateType: "",
      insertTime: "",
    });
    const searchFormOptions = ref([
      [
        { title: "任务号", field: "taskNum", type: "int" },
        { title: "托盘编号", field: "palletCode", type: "like" },
        { title: "创建人", field: "creater", type: "like" },
      ],
      [
        { title: "任务类型",field: "taskType",type: "selectList",dataKey: "taskTypeEnum",data: [],},
        { title: "任务状态",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
        { title: "巷道号", field: "roadway", type: "like" },
        { title: "托盘编码", field: "palletCode", type: "like" },
        {
          title: "任务类型",
          field: "taskType",
          type: "selectList",
          dataKey: "taskType",
          data: [],
        },
        {
          title: "任务状态",
          field: "taskStatus",
          type: "selectList",
          dataKey: "taskState",
          data: [],
        },
      ],
      [
        { title: "起始地址", field: "sourceAddress", type: "like" },
        { title: "目标地址", field: "targetAddress", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
        { title: "当前位置", field: "currentAddress", type: "like" },
        { title: "下一位置", field: "nextAddress", type: "like" },
      ],
      [
        { title: "巷道号", field: "roadway", type: "like" },
        { title: "创建人", field: "creater", type: "like" },
        { title: "操作类型", field: "operateType", type: "like" },
        { title: "移入历史时间", field: "insertTime", type: "datetime" },
      ],
    ]);
    const columns = ref([
      {
        field: "taskId",
        title: "taskId",
        title: "TaskId",
        type: "int",
        width: 90,
        hidden: true,
@@ -73,43 +92,43 @@
        field: "taskNum",
        title: "任务号",
        type: "int",
        width: 120,
        width: 100,
        align: "left",
      },
      {
        field: "palletCode",
        title: "托盘编号",
        title: "托盘编码",
        type: "string",
        width: 160,
        width: 150,
        align: "left",
      },
      {
        field: "roadway",
        title: "巷道号",
        type: "string",
        width: 120,
        width: 90,
        align: "left",
      },
      {
        field: "taskType",
        title: "任务类型",
        type: "int",
        width: 120,
        width: 90,
        align: "left",
        bind: { key: "taskTypeEnum", data: [] },
        bind: { key: "taskType", data: [] },
      },
      {
        field: "taskStatus",
        title: "任务状态",
        type: "int",
        width: 150,
        width: 120,
        align: "left",
        bind: { key: "taskStatusEnum", data: [] },
        bind: { key: "taskState", data: [] },
      },
      {
        field: "sourceAddress",
        title: "起始地址",
        type: "int",
        type: "string",
        width: 120,
        align: "left",
      },
@@ -135,48 +154,39 @@
        align: "left",
      },
      {
        field: "exceptionMessage",
        title: "异常信息",
        type: "string",
        field: "grade",
        title: "优先级",
        type: "int",
        width: 90,
        align: "left",
      },
      // {
      //   field: "grade",
      //   title: "优先级",
      //   type: "int",
      //   width: 80,
      //   align: "left",
      // },
      {
        field: "depth",
        title: "深度",
        field: "sourceId",
        title: "原表主键",
        type: "int",
        width: 80,
        width: 100,
        align: "left",
        bind: { key: "locationDepth", data: [] },
      },
      {
        field: "dispatchertime",
        title: "任务下发时间",
        type: "datetime",
        width: 160,
        align: "left",
        // hidden:true,
      },
      {
        field: "wMSId",
        title: "WMS任务主键",
        type: "int",
        field: "operateType",
        title: "操作类型",
        type: "string",
        width: 120,
        align: "left",
        hidden: true,
      },
      {
        field: "insertTime",
        title: "移入历史时间",
        type: "datetime",
        width: 170,
        align: "left",
        sort: true,
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        width: 100,
        align: "left",
      },
      {
@@ -204,17 +214,19 @@
        field: "remark",
        title: "备注",
        type: "string",
        width: 100,
        width: 120,
        align: "left",
        hidden: true,
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
      cnName: "",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
@@ -228,4 +240,3 @@
  },
});
</script>
Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStock.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
/*****************************************************************************************
 **  Author:jxx 2022
 **  QQ:283591387
 **完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
 **常用示例见:http://v2.volcore.xyz/document/vueDev
 **后台操作见:http://v2.volcore.xyz/document/netCoreDev
 *****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: "",
    gridBody: "",
    gridFooter: "",
    //新建、编辑弹出框扩展组件
    modelHeader: "",
    modelBody: "",
    modelFooter: "",
  },
  tableAction: "", //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {
      //框架初始化配置前,
      //示例:在按钮的最前面添加一个按钮
      //   this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
      //     name: '按钮', //按钮名称
      //     icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
      //     type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
      //     onClick: function () {
      //       this.$Message.success('点击了按钮');
      //     }
      //   });
      //示例:设置修改新建、编辑弹出框字段标签的长度
      // this.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      const warehouseIdFilter1 = {
        name: "warehouseId",
        value: "6",
        displayType: "ThanOrEqual",
      };
    //   // ç¬¬äºŒä¸ªè¿‡æ»¤æ¡ä»¶
    //   const warehouseIdFilter2 = {
    //     name: "warehouseId",
    //     value: "7",
    //     displayType: "int",
    //   };
      if (!param.wheres) {
        param.wheres = [];
      }
      // å°†ä¸¤ä¸ªè¿‡æ»¤æ¡ä»¶æ·»åŠ åˆ°æŸ¥è¯¢å‚æ•°ä¸­
      param.wheres.push(warehouseIdFilter1);
    //   param.wheres.push(warehouseIdFilter2);
      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;
Code/WMS/WIDESEA_WMSClient/src/extension/stock/agvStockDetail.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
/*****************************************************************************************
 **  Author:jxx 2022
 **  QQ:283591387
 **完整文档见:http://v2.volcore.xyz/document/api ã€ä»£ç ç”Ÿæˆé¡µé¢ViewGrid】
 **常用示例见:http://v2.volcore.xyz/document/vueDev
 **后台操作见:http://v2.volcore.xyz/document/netCoreDev
 *****************************************************************************************/
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: "",
    gridBody: "",
    gridFooter: "",
    //新建、编辑弹出框扩展组件
    modelHeader: "",
    modelBody: "",
    modelFooter: "",
  },
  tableAction: "", //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {
      //框架初始化配置前,
      //示例:在按钮的最前面添加一个按钮
      //   this.buttons.unshift({  //也可以用push或者splice方法来修改buttons数组
      //     name: '按钮', //按钮名称
      //     icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
      //     type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
      //     onClick: function () {
      //       this.$Message.success('点击了按钮');
      //     }
      //   });
      //示例:设置修改新建、编辑弹出框字段标签的长度
      // this.boxOptions.labelWidth = 150;
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      const remarkFilter = {
        name: "remark",
        value: "极卷库",
        displayType: "like",
      };
      if (!param.wheres) {
        param.wheres = [];
      }
      // å°†ä¸¤ä¸ªè¿‡æ»¤æ¡ä»¶æ·»åŠ åˆ°æŸ¥è¯¢å‚æ•°ä¸­
      param.wheres.push(remarkFilter);
      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;
Code/WMS/WIDESEA_WMSClient/src/extension/stock/stockInfo.jsx
@@ -3,9 +3,9 @@
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    gridHeader: "",
    gridBody: "",
    gridFooter: "",
    //新建、编辑弹出框扩展组件
    modelHeader: "",
    modelBody: "",
@@ -25,24 +25,30 @@
        render: (h, { row, column, index }) => {
          return (
            <div>
              <el-button
                type="primary"
                size="small"
                onClick={($e) => { this.handleInbound(row); }}
              >进站</el-button>
                onClick={($e) => {
                  this.handleInbound(row);
                }}
              >
                è¿›ç«™
              </el-button>
              <el-button
                type="success"
                size="small"
                style="margin-left: 8px"
                onClick={($e) => { this.handleOutbound(row); }}
              >出站</el-button>
                onClick={($e) => {
                  this.handleOutbound(row);
                }}
              >
                å‡ºç«™
              </el-button>
            </div>
          );
        },
      });
    },
    // æ‰˜ç›˜è¿›ç«™æ“ä½œ
    async handleInbound(row) {
@@ -114,15 +120,14 @@
      }
    },
    onInited() {
      // æ¡†æž¶åˆå§‹åŒ–配置后
    },
    searchBefore(param) {
      const stockStatusFilter = {
        name: "stockStatus",
        value: "1",
        displayType: "notequal",
        name: "LocationId",
        value: "0",
        displayType: "notequal"
      };
      if (!param.wheres) {
        param.wheres = [];
Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/agvTask_hty.jsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
//此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,则不会执行查询
      // ç¬¬ä¸€ä¸ªè¿‡æ»¤æ¡ä»¶
      const roadwayFilter1 = {
        name: "roadway",
        value: "ZJSC1",
        displayType: "like",
      };
      // ç¬¬äºŒä¸ªè¿‡æ»¤æ¡ä»¶
      const roadwayFilter2 = {
        name: "roadway",
        value: "FJSC1",
        displayType: "like",
      };
      if (!param.wheres) {
        param.wheres = [];
      }
      // å°†ä¸¤ä¸ªè¿‡æ»¤æ¡ä»¶æ·»åŠ åˆ°æŸ¥è¯¢å‚æ•°ä¸­
      param.wheres.push(roadwayFilter1);
      param.wheres.push(roadwayFilter2);
      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;
Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task_hty.jsx
@@ -1,58 +1,75 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
    components: {
      //查询界面扩展组件
      gridHeader: '',
      gridBody: '',
      gridFooter: '',
      //新建、编辑弹出框扩展组件
      modelHeader: '',
      modelBody: '',
      modelFooter: ''
  components: {
    //查询界面扩展组件
    gridHeader: "",
    gridBody: "",
    gridFooter: "",
    //新建、编辑弹出框扩展组件
    modelHeader: "",
    modelBody: "",
    modelFooter: "",
  },
  tableAction: "", //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {},
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //this.detailOptions.columns.forEach(column=>{ });
    },
    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)
    searchBefore(param) {
      //界面查询前,可以给param.wheres添加查询参数
      //返回false,则不会执行查询
      const roadwayFilter1 = {
        name: "roadway",
        value: "ZJSC1",
        displayType: "notequal",
      };
      // ç¬¬äºŒä¸ªè¿‡æ»¤æ¡ä»¶
      const roadwayFilter2 = {
        name: "roadway",
        value: "FJSC1",
        displayType: "notequal",
      };
      if (!param.wheres) {
        param.wheres = [];
      }
    }
  };
  export default extension;
      // å°†ä¸¤ä¸ªè¿‡æ»¤æ¡ä»¶æ·»åŠ åˆ°æŸ¥è¯¢å‚æ•°ä¸­
      param.wheres.push(roadwayFilter1);
      param.wheres.push(roadwayFilter2);
      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;
Code/WMS/WIDESEA_WMSClient/src/router/viewGird.js
@@ -95,10 +95,25 @@
    path: '/task_hty',
    name: 'task_hty',
    component: () => import('@/views/taskinfo/task_hty.vue')
  },
  {
    path: '/agvTask',
    name: 'agvTask',
    component: () => import('@/views/taskinfo/agvTask.vue')
  },
  {
    path: '/agvStock',
    name: 'agvStock',
    component: () => import('@/views/stock/agvStock.vue')
  },{
    path: '/task_agv',
    name: 'task_agv',
    component: () => import('@/views/taskinfo/task_agv.vue')
    path: '/agvStockDetail',
    name: 'agvStockDetail',
    component: () => import('@/views/stock/agvStockDetail.vue')
  },
  {
    path: '/agvTask_hty',
    name: 'agvTask_hty',
    component: () => import('@/views/taskinfo/agvTask_hty.vue')
  },
  {
    path: '/groupPalle',
Code/WMS/WIDESEA_WMSClient/src/views/Login.vue
@@ -117,7 +117,7 @@
    const loading = ref(false);
    const codeImgSrc = ref("");
    const userInfo = reactive({
      userName: "admin",
      userName: "QKA02",
      password: "123456",
      verificationCode: "1234",
      UUID: undefined,
Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStock.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,299 @@
<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/stock/agvStock.jsx";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: "id",
            footer: "Foots",
            cnName: "托盘信息",
            name: "stockInfo",
            url: "/StockInfo/",
            sortName: "id",
        });
        const editFormFields = ref({
            palletCode: "",
            locationCode: "",
            stockStatus: "",
            palletType: "",
            warehouseId: "",
            roadway: "",
        });
        const editFormOptions = ref([
            [
                { field: 'palletCode', title: '托盘编号', type: 'string' },
                { field: 'locationCode', title: '货位编号', type: 'string' },
                { field: "stockStatus", title: '库存状态', type: 'select', dataKey: 'stockStatusEmun', data: [] }
            ]
        ]);
        const searchFormFields = ref({
            palletCode: "",
            locationCode: "",
            // roadway: "",
            warehouseId: "",
        });
        const searchFormOptions = ref([
            [
                { title: "托盘编号", field: "palletCode", type: 'like' },
                { title: "货位编号", field: "locationCode", type: 'like' },
                // { title: "巷道编号", field: "roadway", type: 'string' },
                { title: "仓库", field: "warehouseId", type: 'select', dataKey: "warehousetype", data: [] }
            ],
        ]);
        const columns = ref([
            {
                field: "id",
                title: "Id",
                type: "int",
                width: 90,
                hidden: true,
                readonly: true,
                require: true,
                align: "left",
            }, {
                field: "warehouseId",
                title: "仓库编号",
                type: "int",
                width: 80,
                align: "left",
                bind: { key: "warehouseEnum", data: [] },
            },
            {
                field: "palletCode",
                title: "托盘编号",
                type: "string",
                width: 120,
                align: "left",
                link: true,
            },
            // {
            //     field: "roadway",
            //     title: "巷道号",
            //     type: "string",
            //     width: 70,
            //     align: "left",
            // },
            {
                field: "locationCode",
                title: "货位编号",
                type: "string",
                width: 120,
                align: "left",
            },
            {
                field: "palletType",
                title: "托盘类型",
                type: "string",
                width: 150,
                align: "center",
                sort: true,
                bind: { key: "palletTypesEmun", data: [] }
            }, {
                field: "stockStatus",
                title: "库存状态",
                type: "string",
                width: 150,
                align: "left",
                sort: true,
                bind: { key: "stockStatusEmun", data: [] },
            },
            {
                field: "warehouseId",
                title: "仓库",
                type: "select",
                width: 100,
                align: "left",
                bind: { key: "warehousetype", data: [] },
            },
            {
                field: "creater",
                title: "创建人",
                type: "string",
                width: 90,
                align: "left",
            },
            {
                field: "createDate",
                title: "创建时间",
                type: "datetime",
                width: 160,
                align: "left",
            },
            {
                field: "modifier",
                title: "修改人",
                type: "string",
                width: 100,
                align: "left",
                hidden: true
            },
            {
                field: "modifyDate",
                title: "修改时间",
                type: "datetime",
                width: 160,
                align: "left",
                hidden: true
            },
            {
                field: "remark",
                title: "备注",
                type: "string",
                width: 100,
                align: "left",
                hidden: true
            },
        ]);
        const detail = ref({
            cnName: "托盘货物明细",
            table: "StockInfoDetail",
            columns: [
                {
                    field: "id",
                    title: "Id",
                    type: "int",
                    width: 90,
                    hidden: true,
                    require: true,
                    align: "left",
                },
                {
                    field: "stockId",
                    title: "库存信息主键",
                    type: "string",
                    width: 90,
                    hidden: true,
                    readonly: true,
                    require: true,
                    align: "left",
                },
                {
                    field: "materielCode",
                    title: "物料编号",
                    type: "string",
                    width: 150,
                    require: true,
                    align: "left",
                    sortable: true,
                    edit: { type: "" },
                },
                {
                    field: "materielName",
                    title: "物料名称",
                    type: "string",
                    width: 150,
                    require: true,
                    align: "left",
                    edit: { type: "" },
                },
                {
                    field: "orderNo",
                    title: "单据编号",
                    type: "string",
                    width: 120,
                    require: true,
                    align: "left",
                    edit: { type: "" },
                },
                {
                    field: "batchNo",
                    title: "批次号",
                    type: "string",
                    width: 120,
                    align: "left",
                    edit: { type: "" },
                },
                {
                    field: "serialNumber",
                    title: "序列号",
                    type: "string",
                    width: 120,
                    align: "left",
                    edit: { type: "" },
                },
                {
                    field: "stockQuantity",
                    title: "库存数量",
                    type: "decimal",
                    width: 100,
                    require: true,
                    align: "right",
                    edit: { type: "number" },
                },
                {
                    field: "outboundQuantity",
                    title: "出库数量",
                    type: "decimal",
                    width: 100,
                    align: "right",
                    edit: { type: "number" },
                },
                {
                    field: "status",
                    title: "库存明细状态",
                    type: "string",
                    width: 120,
                    require: true,
                    align: "left",
                    edit: { type: "select", key: "stockStatusEmun" },
                },
                {
                    field: "creater",
                    title: "创建人",
                    type: "string",
                    width: 90,
                    align: "left",
                },
                {
                    field: "createDate",
                    title: "创建时间",
                    type: "datetime",
                    width: 160,
                    align: "left",
                },
                {
                    field: "modifier",
                    title: "修改人",
                    type: "string",
                    width: 100,
                    align: "left",
                },
                {
                    field: "modifyDate",
                    title: "修改时间",
                    type: "datetime",
                    width: 160,
                    align: "left",
                },
                {
                    field: "remark",
                    title: "备注",
                    type: "string",
                    width: 100,
                    align: "left",
                    edit: { type: "textarea" },
                },
            ],
            sortName: "createDate",
            key: "id",
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
Code/WMS/WIDESEA_WMSClient/src/views/stock/agvStockDetail.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,200 @@
<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/stock/agvStockDetail.jsx";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "托盘货物明细",
      name: "stockInfoDetail",
      url: "/StockInfoDetail/",
      sortName: "id",
    });
    const editFormFields = ref({
      deviceCode: "",
      deviceName: "",
      deviceType: "",
      deviceStatus: "",
      deviceIp: "",
      devicePort: "",
      devicePlcType: "",
      deviceRemark: "",
    });
    const editFormOptions = ref([
      [
        {
          title: "物料编号",
          required: true,
          field: "materielCode",
          type: "string",
        },
        {
          title: "单据编号",
          required: true,
          field: "materielName",
          type: "string",
        },
        {
          title: "批次号",
          required: true,
          field: "orderNo",
          type: "string",
        },
        {
          title: "序列号",
          required: true,
          field: "serialNumber",
          type: "string",
        },
      ],
    ]);
    const searchFormFields = ref({
      materielCode: "",
      materielName: "",
      orderNo: "",
    });
    const searchFormOptions = ref([
      [
        { title: "物料编号", field: "materielCode" },
        { title: "物料名称", field: "materielName" },
        { title: "单据编号", field: "orderNo" },
      ],
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "stockId",
        title: "托盘ID",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "materielCode",
        title: "物料编号",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "materielName",
        title: "物料名称",
        type: "string",
        width: 150,
        align: "left",
      },
      {
        field: "orderNo",
        title: "单据编号",
        type: "decimal",
        width: 90,
        align: "left",
      },
      {
        field: "batchNo",
        title: "批次号",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "serialNumber",
        title: "序列号",
        type: "int",
        width: 120,
        align: "left",
      },
      {
        field: "stockQuantity",
        title: "库存数量",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "outboundQuantity",
        title: "出库数量",
        type: "string",
        width: 180,
        align: "left",
      },
      {
        field: "status",
        title: "库存明细状态",
        type: "string",
        width: 120,
        align: "left",
        bind: { key: "stockStatusEmun", data: [] },
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 100,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
      table: "",
      columns: [],
      sortName: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask.vue
ÎļþÃû´Ó Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue ÐÞ¸Ä
@@ -21,7 +21,7 @@
    const table = ref({
      key: "taskId",
      footer: "Foots",
      cnName: "任务信息",
      cnName: "极卷库任务信息",
      name: "task",
      url: "/Task/",
      sortName: "CreateDate",
Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask_hty.vue
copy from Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue copy to Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/agvTask_hty.vue
Îļþ´Ó Code/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_agv.vue ¸´ÖÆ
@@ -14,17 +14,17 @@
  </view-grid>
</template>
    <script>
import extend from "@/extension/taskinfo/agvTask.jsx";
import extend from "@/extension/taskinfo/agvTask_hty.jsx";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "taskId",
      footer: "Foots",
      cnName: "任务信息",
      name: "task",
      url: "/Task/",
      sortName: "CreateDate",
      cnName: "极卷库历史信息",
      name: "task_hty",
      url: "/Task_Hty/",
      sortName: "taskId",
    });
    const editFormFields = ref({});
    const editFormOptions = ref([]);
@@ -42,13 +42,13 @@
      createDate: "",
    });
    const searchFormOptions = ref([
      [
    [
        { title: "任务号", field: "taskNum", type: "int" },
        { title: "托盘编号", field: "palletCode", type: "like" },
        { title: "创建人", field: "creater", type: "like" },
      ],
      [
        { title: "任务类型",field: "taskType",type: "selectList",dataKey: "taskTypeEnum",data: [],},
        { title: "任务类型",field: "taskType",type: "selectList",dataKey: "taskType",data: [],},
        { title: "任务状态",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
        { title: "巷道号", field: "roadway", type: "like" },
      ],
@@ -89,6 +89,12 @@
        type: "string",
        width: 120,
        align: "left",
      },{
        field: "operateType",
        title: "操作类型",
        type: "string",
        width: 120,
        align: "left"
      },
      {
        field: "taskType",
@@ -120,26 +126,27 @@
        width: 120,
        align: "left",
      },
      {
        field: "currentAddress",
        title: "当前位置",
        type: "string",
        width: 120,
        align: "left",
      },
      {
        field: "nextAddress",
        title: "下一位置",
        type: "string",
        width: 120,
        align: "left",
      },
      // {
      //   field: "currentAddress",
      //   title: "当前位置",
      //   type: "string",
      //   width: 120,
      //   align: "left",
      // },
      // {
      //   field: "nextAddress",
      //   title: "下一位置",
      //   type: "string",
      //   width: 120,
      //   align: "left",
      // },
      {
        field: "exceptionMessage",
        title: "异常信息",
        type: "string",
        width: 90,
        align: "left",
        hidden: true,
      },
      // {
      //   field: "grade",
@@ -160,9 +167,8 @@
        field: "dispatchertime",
        title: "任务下发时间",
        type: "datetime",
        width: 160,
        width: 150,
        align: "left",
        // hidden:true,
      },
      {
        field: "wMSId",
Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs
@@ -64,5 +64,15 @@
        [Description("入库撤销")]
        å…¥åº“撤销 = 199,
    }
    /// <summary>
    /// æ‰˜ç›˜ç±»åž‹
    /// </summary>
    public enum PalletTypesEmun
    {
        [Description("模切段")]
        æ¨¡åˆ‡æ®µ = 1,
        [Description("卷绕段")]
        å·ç»•段 = 2,
    }
}
Code/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -285,6 +285,73 @@
                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                        }
                        break;
                    case "palletTypesEmun":
                        {
                            List<object> data = new List<object>();
                            {
                                Type type = typeof(PalletTypesEmun);
                                List<int> enums = Enum.GetValues(typeof(PalletTypesEmun)).Cast<int>().ToList();
                                int index = 0;
                                foreach (var item in enums)
                                {
                                    FieldInfo? fieldInfo = typeof(PalletTypesEmun).GetField(((PalletTypesEmun)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++;
                                }
                            }
                            {
                                Type type = typeof(TaskOutStatusEnum);
                                List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
                                int index = 0;
                                foreach (var item in enums)
                                {
                                    FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)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++;
                                }
                            }
                            {
                                Type type = typeof(TaskRobotStatusEnum);
                                List<int> enums = Enum.GetValues(typeof(TaskRobotStatusEnum)).Cast<int>().ToList();
                                int index = 0;
                                foreach (var item in enums)
                                {
                                    FieldInfo? fieldInfo = typeof(TaskRobotStatusEnum).GetField(((TaskRobotStatusEnum)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;
                    case "taskStatusEnum":
                        {
                            List<object> data = new List<object>();
Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_AGV.cs
@@ -317,7 +317,7 @@
                InboundOrderRowNo = 1,
                Creater = StockConstants.AGV_USER,
                CreateDate = DateTime.Now,
                Remark = $"AGV入库任务创建,任务号:{dto.TaskId}"
                Remark = $"极卷库AGV入库任务创建,任务号:{dto.TaskId}"
            };
            // åˆ›å»ºåº“存主记录
@@ -329,7 +329,7 @@
                StockStatus = (int)StockStatusEmun.入库确认,
                Creater = StockConstants.AGV_USER,
                CreateDate = DateTime.Now,
                Remark = $"AGV入库任务创建,任务号:{dto.TaskId}",
                Remark = $"极卷库AGV入库任务创建,任务号:{dto.TaskId}",
                Details = new List<Dt_StockInfoDetail> { details }
            };
Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -28,7 +28,7 @@
      "Microsoft.AspNetCore.Mvc.ModelBinding": "Warning"
    }
  },
  "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,locationDepth,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,warehouseEnum",
  "dics": "inOrderType,outOrderType,inboundState,createType,enableEnum,enableStatusEnum,locationStatusEnum,locationTypeEnum,taskTypeEnum,taskStatusEnum,outboundStatusEnum,orderDetailStatusEnum,stockStatusEmun,locationDepth,stockChangeType,outStockStatus,receiveOrderTypeEnum,authorityScope,authorityScopes,locationChangeType,warehouses,suppliers,taskType,receiveStatus,purchaseType,purchaseOrderStatus,printStatus,warehouseEnum,palletTypesEmun",
  "AllowedHosts": "*",
  "ConnectionStringsEncryption": false,
  "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true