Zhang-Hong-Lin
2 天以前 232cdf071bfe3bd2b77ba05accba89b67fcc1edc
优化bug与添加一键删除按钮

优化bug与添加一键删除按钮
已删除1个文件
已修改27个文件
已添加10个文件
4340 ■■■■ 文件已修改
项目代码/WCS/WIDESEAWCS_Client/config/buttons.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/package-lock.json 235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/package.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/api/http.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/methods.js 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/serviceFilter.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/routerview.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/taskinfo/thickness_hty.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/taskinfo/weight_hty.js 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/img/1.png 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/router/viewGird.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/store/index.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/Home.vue 623 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/Index.vue 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/basicinfo/batch.vue 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/basicinfo/router.vue 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/basicinfo/stationinfo.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/errormsginfo.vue 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/thickness_hty.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/weight_hty.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationInfo.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationimg.vue 1469 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/wmsPart/stockInfo.vue 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_ThicknessHtyService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_WeightHtyService.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskhtyService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Thickness_HtyController.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Weight_HtyController.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_ThicknessHtyService.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_WeightHtyService.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/config/buttons.js
@@ -22,6 +22,42 @@
    }
},
{
    name: "特殊删除1",
    icon: 'el-icon-a',
    value: 'a',
    class: '',
    //  plain:true,
    type: 'a',
    // plain:true,
    onClick: function () {
        this.speciadelete();
    }
},
{
    name: "特殊编辑",
    icon: 'el-icon-b',
    value: 'b',
    class: '',
    //  plain:true,
    type: 'b',
    // plain:true,
    onClick: function () {
        this.speciaupdate();
    }
},
{
    name: "立即完成",
    icon: 'el-icon-complete',
    value: 'complete',
    class: '',
    //  plain:true,
    type: 'complete',
    // plain:true,
    onClick: function () {
        this.complete();
    }
},
{
    name: "编 è¾‘",
    icon: 'el-icon-edit',
    value: 'Update',
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/package-lock.json
@@ -1278,11 +1278,6 @@
        "fastq": "^1.6.0"
      }
    },
    "@popperjs/core": {
      "version": "npm:@sxzz/popperjs-es@2.11.7",
      "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
    },
    "@soda/friendly-errors-webpack-plugin": {
      "version": "1.8.0",
      "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927406873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz",
@@ -1841,6 +1836,87 @@
        "webpack-chain": "^6.4.0",
        "webpack-dev-server": "^3.11.0",
        "webpack-merge": "^4.2.2"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "dev": true,
          "optional": true,
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        },
        "vue-loader-v16": {
          "version": "npm:vue-loader@16.8.3",
          "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
          "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
          "dev": true,
          "optional": true,
          "requires": {
            "chalk": "^4.1.0",
            "hash-sum": "^2.0.0",
            "loader-utils": "^2.0.0"
          }
        }
      }
    },
    "@vue/cli-shared-utils": {
@@ -2362,6 +2438,11 @@
      "version": "1.1.2",
      "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz",
      "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY="
    },
    "adler-32": {
      "version": "1.3.1",
      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="
    },
    "agent-base": {
      "version": "6.0.2",
@@ -3333,6 +3414,15 @@
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
      "dev": true
    },
    "cfb": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
      "requires": {
        "adler-32": "~1.3.0",
        "crc-32": "~1.2.0"
      }
    },
    "chai": {
      "version": "4.3.4",
      "resolved": "https://registry.npm.taobao.org/chai/download/chai-4.3.4.tgz",
@@ -3708,6 +3798,11 @@
        "chalk": "^2.4.1",
        "q": "^1.1.2"
      }
    },
    "codepage": {
      "version": "1.15.0",
      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA=="
    },
    "collection-visit": {
      "version": "1.0.0",
@@ -4092,6 +4187,11 @@
        "js-yaml": "^3.13.1",
        "parse-json": "^4.0.0"
      }
    },
    "crc-32": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="
    },
    "create-ecdh": {
      "version": "4.0.4",
@@ -4938,6 +5038,13 @@
        "lodash-unified": "^1.0.2",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      },
      "dependencies": {
        "@popperjs/core": {
          "version": "npm:@sxzz/popperjs-es@2.11.7",
          "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
          "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
        }
      }
    },
    "elliptic": {
@@ -5783,6 +5890,11 @@
      "resolved": "https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz?cache=0&sync_timestamp=1622503508967&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fforwarded%2Fdownload%2Fforwarded-0.2.0.tgz",
      "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=",
      "dev": true
    },
    "frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
    },
    "fragment-cache": {
      "version": "0.2.1",
@@ -11272,6 +11384,14 @@
      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
      "dev": true
    },
    "ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "requires": {
        "frac": "~1.1.2"
      }
    },
    "sshpk": {
      "version": "1.16.1",
      "resolved": "https://registry.nlark.com/sshpk/download/sshpk-1.16.1.tgz",
@@ -12525,87 +12645,6 @@
        }
      }
    },
    "vue-loader-v16": {
      "version": "npm:vue-loader@16.8.3",
      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
      "dev": true,
      "optional": true,
      "requires": {
        "chalk": "^4.1.0",
        "hash-sum": "^2.0.0",
        "loader-utils": "^2.0.0"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "dev": true,
          "optional": true,
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        }
      }
    },
    "vue-router": {
      "version": "4.0.10",
      "resolved": "https://registry.nlark.com/vue-router/download/vue-router-4.0.10.tgz?cache=0&sync_timestamp=1624286995690&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-4.0.10.tgz",
@@ -13301,6 +13340,16 @@
        }
      }
    },
    "wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
    },
    "word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
    },
    "word-wrap": {
      "version": "1.2.3",
      "resolved": "https://registry.nlark.com/word-wrap/download/word-wrap-1.2.3.tgz",
@@ -13394,6 +13443,20 @@
      "resolved": "https://registry.nlark.com/ws/download/ws-7.5.3.tgz?cache=0&sync_timestamp=1625897053615&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fws%2Fdownload%2Fws-7.5.3.tgz",
      "integrity": "sha1-Fgg1tjx9l7+rQY/BuKn87SrAGnQ="
    },
    "xlsx": {
      "version": "0.18.5",
      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
      "requires": {
        "adler-32": "~1.3.0",
        "cfb": "~1.2.1",
        "codepage": "~1.15.0",
        "crc-32": "~1.2.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      }
    },
    "xml-name-validator": {
      "version": "3.0.0",
      "resolved": "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz",
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/package.json
@@ -3,8 +3,8 @@
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "server": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "serve": " SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
    "test:unit": "vue-cli-service test:unit",
    "lint": "vue-cli-service lint"
  },
@@ -21,7 +21,8 @@
    "vue-draggable-next": "^2.0.1",
    "vue-router": "^4.0.0-0",
    "vuex": "^4.0.0-0",
    "wangeditor": "^4.7.6"
    "wangeditor": "^4.7.6",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/api/http.js
@@ -12,14 +12,16 @@
let loadingInstance;
let loadingStatus = false;
if (process.env.NODE_ENV == 'development') {
    axios.defaults.baseURL = window.webConfig.webApiProduction;
    axios.defaults.baseURL = "http://127.0.0.1:9291/";
    //axios.defaults.baseURL = "http://192.168.0.250:9291/";
}
else if (process.env.NODE_ENV == 'debug') {
    axios.defaults.baseURL = window.webConfig.webApiDebug;
    axios.defaults.baseURL = "http://127.0.0.1:9291/";
    //axios.defaults.baseURL = "http://192.168.0.250:9291/";
}
else if (process.env.NODE_ENV == 'production') {
    axios.defaults.baseURL = window.webConfig.webApiProduction;
    axios.defaults.baseURL = "http://192.168.0.250:9291/";
}
if (!axios.defaults.baseURL.endsWith('/')) {
    axios.defaults.baseURL+="/";
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/methods.js
@@ -1,4 +1,5 @@
import detailMethods from './detailMethods.js';
import axios from "axios";
//业务处理方法,全部可以由开发覆盖
import serviceFilter from './serviceFilter.js';
let methods = {
@@ -907,6 +908,85 @@
    this.modelOpenProcess();
    // this.modelOpenAfter();
  },
  async complete(rows) {
    this.boxOptions.title = '立即完成';
    this.currentAction = this.const.EDIT;
    if (rows) {
      if (!(rows instanceof Array)) {
        rows = [rows];
      }
    } else {
      rows = this.$refs.table.getSelected();
    }
    if (rows.length == 0) {
      return this.$error('请选择要编辑的行!');
    }
    if (rows.length != 1) {
      return this.$error('只能选择一行数据进行编辑!');
    }
    //记录当前编辑的行
    this.currentRow = rows[0];
    let w = this.currentRow.taskId;
    axios.post("api/Task/AtOnceUpdate/?taskid=" + w, {}).then(x => {
      alert("完成");
    })
  },
  async speciadelete(rows) {
    this.boxOptions.title = '特殊删除1';
    this.currentAction = this.const.EDIT;
    if (rows) {
      if (!(rows instanceof Array)) {
        rows = [rows];
      }
    } else {
      rows = this.$refs.table.getSelected();
    }
    if (rows.length == 0) {
      return this.$error('请选择要编辑的行!');
    }
    if (rows.length != 1) {
      return this.$error('只能选择一行数据进行编辑!');
    }
    //记录当前编辑的行
    this.currentRow = rows[0];
    axios.post("api/Task/speciadelete/", this.currentRow).then(x => {
      if (x.data.message == 1) {
        alert("失败");
      } else {
        alert("完成");
        this.refresh();
      }
    })
  },
  async speciaupdate(rows) {
    this.boxOptions.title = '特殊编辑';
    this.currentAction = this.const.EDIT;
    if (rows) {
      if (!(rows instanceof Array)) {
        rows = [rows];
      }
    } else {
      rows = this.$refs.table.getSelected();
    }
    if (rows.length == 0) {
      return this.$error('请选择要编辑的行!');
    }
    if (rows.length != 1) {
      return this.$error('只能选择一行数据进行编辑!');
    }
    //记录当前编辑的行
    this.currentRow = rows[0];
    let w = this.currentRow.taskId;
    axios.post("api/Task/speciaupdate/", this.currentRow).then(x => {
      if (x.data.message != 1) {
        alert("失败");
      } else {
        alert("完成");
        this.refresh();
      }
    })
  },
  async edit(rows) {
    this.boxOptions.title = '编辑';
    //编辑
@@ -926,6 +1006,11 @@
    }
    //记录当前编辑的行
    this.currentRow = rows[0];
    console.log("123", this.currentRow);
    //初始化弹出框
    if (!(await this.initBox())) return;
    this.setContinueAdd(false);
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/components/basic/ViewGrid/serviceFilter.js
@@ -8,7 +8,7 @@
    console.log('Create执行后')
  },
  mounted () {
    console.log('mounted');
  },
  searchBefore (param) { //查询ViewGird表数据前,param查询参数
    // console.log('表' + this.table.cnName + '触发loadTableBefore');
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue
@@ -160,7 +160,7 @@
    </vol-box>
  </div>
</template>
    <script>
import VolBox from "@/components/basic/VolBox.vue";
import { el } from "element-plus/es/locale";
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/extension/basicinfo/extend/routerview.vue
@@ -34,7 +34,7 @@
    </vol-box>
  </div>
</template>
  <script>
import VolBox from "@/components/basic/VolBox.vue";
export default {
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/extension/taskinfo/thickness_hty.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
//此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/WIDESEAWCS_Client/src/extension/taskinfo/weight_hty.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
    modelBody: '',
    modelFooter: ''
  },
  tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      //设置表的最大高度
      // this.tableMaxHeight = 300;
    },
    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/WIDESEAWCS_Client/src/img/1.png
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/router/viewGird.js
@@ -54,13 +54,33 @@
    name: 'task',
    component: () => import('@/views/taskinfo/task.vue')
  }, {
    path: '/router',
    name: 'router',
    component: () => import('@/views/basicinfo/router.vue')
    path: '/stationinfo',
    name: 'stationinfo',
    component: () => import('@/views/basicinfo/stationinfo.vue')
  }, {
    path: '/batch',
    name: 'batch',
    component: () => import('@/views/basicinfo/batch.vue')
  },{
    path: '/task_hty',
    name: 'task_hty',
    component: () => import('@/views/taskinfo/task_hty.vue')
  },{
    path: '/errormsginfo',
    name: 'errormsginfo',
    component: () => import('@/views/taskinfo/errormsginfo.vue')
  },{
    path: '/locationInfo',
    name: 'locationInfo',
    component: () => import('@/views/wmsPart/locationInfo.vue')
  },{
    path: '/weight_hty',
    name: 'weight_hty',
    component: () => import('@/views/taskinfo/weight_hty.vue')
  },{
    path: '/thickness_hty',
    name: 'thickness_hty',
    component: () => import('@/views/taskinfo/thickness_hty.vue')
  }, {
    path: '/stockInfo',
    name: 'stockInfo',
@@ -70,6 +90,10 @@
    name: 'stockInfoDetail',
    component: () => import('@/views/wmsPart/stockInfoDetail.vue')
  }, {
    path: '/locationimg',
    name: 'locationimg',
    component: () => import('@/views/wmsPart/locationimg.vue')
  },{
    path: '/stockInfo_Hty',
    name: 'stockInfo_Hty',
    component: () => import('@/views/wmsPart/stockInfo_Hty.vue')
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/store/index.js
@@ -14,6 +14,7 @@
    permission: [],
    isLoading: false,//2020.06.03增加路由切换时加载提示
    userInfo: null,
    homedata: {}
    // wcsState: true//wcs服务状态
  },
  mutations: {
@@ -38,6 +39,16 @@
    },
    updateLoadingState(state, flag) {
      state.isLoading = flag
    },
    uphomedata(state, data) {
      // console.log('123',data);
      state.homedata = data;
      // console.log('12state.homedata3',state.homedata);
    }
  }, getters: {
    getPermission: (state) => (path) => {  //调用方式 store.getters.getPermission('sys_User')
@@ -85,6 +96,12 @@
    },
    onLoading(context, flag) {
      context.commit("updateLoadingState", flag);
    },
    sethomedata(context, data) {
      context.commit("uphomedata", data);
    }
  }
})
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/Home.vue
@@ -1,24 +1,631 @@
<template>
  <div class="title"></div>
  <div id="title">
    <!--上-->
    <div id="akuang">
      <!--å·¦-->
      <div class="xkuang">
        <div class="xian" style="margin-top: 10px">
          <p class="name">入库批次号:</p>
          <div class="zhi">{{ InBatch }}</div>
          <button class="gai" @click="updates(1)">编辑</button>
        </div>
        <div class="xian">
          <p class="name">出库批次号:</p>
          <div class="zhi">{{ OutBatch }}</div>
          <button class="gai" @click="updates(2)">编辑</button>
        </div>
        <div class="xian">
          <p class="name">出库类型:</p>
          <div class="zhi">
            <input type="radio" name="a" id="a" />自产
            <input type="radio" name="a" id="b" />外购
          </div>
          <button class="gai" @click="updates(3)">编辑</button>
        </div>
      </div>
      <!--中-->
      <div class="xkuang">
        <div class="xian" style="margin-top: 10px">
          <p class="name">入库类型:</p>
          <div class="zhi">
            <input type="radio" name="c" id="e" />正常入库
            <input type="radio" name="c" id="f" />直接出库
          </div>
          <button class="gai" @click="updates(5)">编辑</button>
        </div>
        <div class="xian">
          <p class="name">存放位置:</p>
          <div class="zhi">
            <input type="radio" name="d" id="g" />快速出库
            <input type="radio" name="d" id="h" />快速入库
          </div>
          <button class="gai" @click="updates(6)">编辑</button>
        </div>
        <div class="xian">
          <p class="name">是否出库:</p>
          <div class="zhi">
            <input type="radio" name="b" id="c" />是
            <input type="radio" name="b" id="d" />否
          </div>
          <button class="gai" @click="updates(4)">编辑</button>
        </div>
      </div>
      <!--右-->
      <div class="xkuang">
        <div class="xian" style="margin-top: 10px">
          <p class="names">上板数据记录:</p>
          <div class="zhis">{{ data.R_CommonRecorder }}</div>
        </div>
        <div class="xian">
          <p class="names">剔除数据记录:</p>
          <div class="zhis">{{ data.R_SpecialRecorder }}</div>
        </div>
        <div class="xian">
          <p class="names">极板总重量:</p>
          <div class="zhis">{{ data.R_TotalWeight }}</div>
        </div>
      </div>
    </div>
    <!--下-->
    <div id="bkuang" style="border-top: none">
      <div class="skuang">
        <div class="zhuname">天车</div>
        <div class="zhankuang">
          <div class="xname">天车当前运行模式:</div>
          <div class="xzhi">{{ data.R_RunMode }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">天车当前运行状态:</div>
          <div class="xzhi">{{ data.R_RunState }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">天车报警代码:</div>
          <div class="xzhi">{{ data.R_AlarmCode }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">天车任务状态:</div>
          <div class="xzhi">{{ data.R_TaskState }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">天车大车当前位置:</div>
          <div class="xzhi">{{ data.R_CurrentLine }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">天车小车当前位置:</div>
          <div class="xzhi">{{ data.R_CurrentColumn }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">起升当前位置:</div>
          <div class="xzhi">{{ data.R_RiseUp_Position }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">任务号:</div>
          <div class="xzhi">{{ data.R_TaskNumber }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">1号货爪是否有货:</div>
          <div class="xzhi">{{ data.R_Loaded_1 }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">2号货爪是否有货:</div>
          <div class="xzhi">{{ data.R_Loaded_2 }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">重量:</div>
          <div class="xzhi">{{ data.weight }}</div>
        </div>
      </div>
      <div class="skuang">
        <div class="zhuname">规整机</div>
        <div class="zhankuang">
          <div class="xname">规整机投入使用:</div>
          <div class="xzhi">{{ data.R_GZJ_isWork }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">上料模式轨道车:</div>
          <div class="xzhi">{{ data.R_RGVMode }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">上料模式叉车:</div>
          <div class="xzhi">{{ data.R_CCMode }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">东跨架子可取板:</div>
          <div class="xzhi">{{ data.R_DK_isready }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">西跨架子可取板:</div>
          <div class="xzhi">{{ data.R_XK_isready }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">剔除架子可放板:</div>
          <div class="xzhi">{{ data.R_TC_isready }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">剔除上料模式:</div>
          <div class="xzhi">{{ data.R_TCMode }}</div>
        </div>
      </div>
      <div class="skuang">
        <div class="zhuname">整形机</div>
        <div class="zhankuang">
          <div class="xname">整形机投入使用:</div>
          <div class="xzhi">{{ data.R_ZXJ_isWork }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">上料模式轨道车:</div>
          <div class="xzhi">{{ data.R_ZXJ_RGVMode }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">上料模式行车:</div>
          <div class="xzhi">{{ data.R_ZXJ_TCMode }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">剔除位可取板:</div>
          <div class="xzhi">{{ data.R_ZXJ_TC_isready }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">剔除模式行车:</div>
          <div class="xzhi">{{ data.R_TCMode_TC }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">剔除模式叉车:</div>
          <div class="xzhi">{{ data.R_TCMode_CC }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">行车可准备取板:</div>
          <div class="xzhi">{{ data.R_HC_isReady }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">行车可放板:</div>
          <div class="xzhi">{{ data.R_HC_isReadyWork }}</div>
        </div>
        <div class="zhankuang">
          <div class="xname">进料小车安全位:</div>
          <div class="xzhi">{{ data.R_issafe }}</div>
        </div>
      </div>
    </div>
    <div id="ti">
      <div id="guan" @click="guanbi">X</div>
      <div class="dakuang" v-if="xuan == 1">
        <input type="text" id="shu1" />
      </div>
      <div class="dakuang" v-if="xuan == 2">
        <input type="text" id="shu2" />
      </div>
      <div class="dakuang" v-if="xuan == 3">
        <input type="radio" name="aa" id="aa" class="ding" />
        <div class="yan">自产</div>
        <input type="radio" name="aa" id="bb" class="ding" style="margin-left: 40px;" />
        <div class="yan">外购</div>
      </div>
      <div class="dakuang" v-if="xuan == 4">
        <input type="radio" name="bb" id="cc" class="ding" />
        <div class="yan">是</div>
        <input type="radio" name="bb" id="dd" class="ding" style="margin-left: 40px;" />
        <div class="yan">否</div>
      </div>
      <div class="dakuang" v-if="xuan == 5" style="margin-left: -100px;width:300px">
        <input type="radio" name="cc" id="ee" class="ding" />
        <div class="yan">正常入库</div>
        <input type="radio" name="cc" id="ff" class="ding" style="margin-left: 40px;" />
        <div class="yan">直接出库</div>
      </div>
      <div class="dakuang" v-if="xuan == 6" style="margin-left: -100px;width:300px">
        <input type="radio" name="cc" id="gg" class="ding" />
        <div class="yan">快速入库</div>
        <input type="radio" name="cc" id="hh" class="ding" style="margin-left: 40px;" />
        <div class="yan">快速出库</div>
      </div>
      <div id="xiugai" @click="xiugai()">修改</div>
    </div>
  </div>
</template>
<script>
import { ref, reactive } from 'vue'
import { ref, reactive, nextTick, computed, watch } from "vue";
import { useStore } from "vuex";
import { onMounted } from "vue";
import axios from "axios";
export default {
  setup() {
  data() {
    return {
      xuan: 0
    };
  },
  methods: {
    updates(x) {
      if (x == 1) {
        document.getElementById("ti").style.display = "block";
        this.xuan = 1;
      } else if (x == 2) {
        document.getElementById("ti").style.display = "block";
        this.xuan = 2;
      } else if (x == 3) {
        document.getElementById("ti").style.display = "block";
        this.xuan = 3;
      } else if (x == 4) {
        document.getElementById("ti").style.display = "block";
        this.xuan = 4;
      } else if (x == 5) {
        document.getElementById("ti").style.display = "block";
        this.xuan = 5;
      } else if (x == 6) {
        document.getElementById("ti").style.display = "block";
        this.xuan = 6;
      }
    },
    xiugai() {
      if (this.xuan == 1) {
        let w = document.getElementById("shu1").value;
        let http = "api/Batch/UpdateInBatch/?batch=" + w;
        let s = {};
        if (w == "" || w == null) {
          alert("请输入");
        } else {
          this.gai(http, s);
        }
      } else if (this.xuan == 2) {
        let w = document.getElementById("shu2").value;
        let http = "api/Batch/UpdateOutBatch/?batch=" + w;
        let s = {};
        if (w == "" || w == null) {
          alert("请输入");
        } else {
          this.gai(http, s);
        }
      } else if (this.xuan == 3) {
        let w = "api/Batch/UpdateOutStorageMode";
        let n = document.getElementById("aa").checked;
        let m = document.getElementById("bb").checked;
        if (n) {
          let http = w + "?isout=0";
          let s = {};
          this.gai(http, s);
        } else if (m) {
          let http = w + "?isout=1";
          let s = {};
          this.gai(http, s);
          alert(n + "" + m);
        } else {
          alert("请选择");
        }
      } else if (this.xuan == 4) {
        let w = "api/OutStock/UpdateIsOutStock";
        let n = document.getElementById("cc").checked;
        let m = document.getElementById("dd").checked;
        if (n) {
          let http = w + "?isout=1";
          let s = {};
          this.gai(http, s);
        } else if (m) {
          let http = w + "?isout=0";
          let s = {};
          this.gai(http, s);
        } else {
          alert("请选择");
        }
      } else if (this.xuan == 5) {
        let w = "api/OutStock/UpdateInOut";
        let n = document.getElementById("ee").checked;
        let m = document.getElementById("ff").checked;
        if (n) {
          let http = w + "?isout=1";
          let s = {};
          this.gai(http, s);
        } else if (m) {
          let http = w + "?isout=2";
          let s = {};
          this.gai(http, s);
        } else {
          alert("请选择");
        }
      } else if (this.xuan == 6) {
        let w = "api/StorageMode/UpdateStoragemode/";
        let n = document.getElementById("gg").checked;
        let m = document.getElementById("hh").checked;
        if (n) {
          let http = w + "?storagemode=2";
          let s = {};
          this.gai(http, s);
        } else if (m) {
          let http = w + "?storagemode=1";
          let s = {};
          this.gai(http, s);
        } else {
          alert("请选择");
        }
      }
    },
    gai(http, s) {
      axios.post(http, s).then(x => {
        document.getElementById("ti").style.display = "none";
        alert("修改成功");
      });
    },
    guanbi() {
      document.getElementById("ti").style.display = "none";
    }
  },
  setup() {
    const store = useStore();
    const data = ref({});
    const InBatch = ref();
    const OutBatch = ref();
    const cha = () => {
      axios.post("api/Batch/getPageData", { rows: 30 }).then(x => {
        InBatch.value = x.data.rows[0].inBatch;
        OutBatch.value = x.data.rows[0].outBatch;
        if (x.data.rows[0].materType == 0) {
          document.getElementById("a").checked = true;
        } else if (x.data.rows[0].materType == 1) {
          document.getElementById("b").checked = true;
        }
      });
      axios.post("api/OutStock/getPageData", { rows: 30 }).then(x => {
        if (x.data.rows[0].isout == 1) {
          document.getElementById("c").checked = true;
        } else if (x.data.rows[0].isout == 0) {
          document.getElementById("d").checked = true;
        }
        if (x.data.rows[0].inOut == 1) {
          document.getElementById("e").checked = true;
        } else if (x.data.rows[0].inOut == 2) {
          document.getElementById("f").checked = true;
        }
      });
      axios.post("api/StorageMode/getPageData", { rows: 30 }).then(x => {
        if (x.data.rows[0].storagemode == 1) {
          document.getElementById("g").checked = true;
        } else if (x.data.rows[0].storagemode == 2) {
          document.getElementById("h").checked = true;
        }
      });
    };
    onMounted(() => {
      nextTick(() => {
        setInterval(() => {
          data.value = store.state.homedata;
          cha();
          let xian = document.getElementsByClassName("xzhi");
          for (let i = 0; i < xian.length; i++) {
            if (xian[i].innerHTML == "true") {
              xian[i].style.color = "green";
            } else if (xian[i].innerHTML == "false") {
              xian[i].style.color = "red";
            }
          }
        }, 3000);
      });
    });
    return {
      data,
      InBatch,
      OutBatch
    };
  }
}
};
</script>
<style scoped>
.title {
  line-height: 70vh;
.zhis {
  width: 45%;
  height: 5vh;
  float: left;
  margin-top: 10px;
  margin-left: -10%;
  line-height: 60px;
  text-align: center;
  font-size: 28px;
  color: orange;
  font-size: 1.1cqw;
  color: white;
}
.names {
  width: 28%;
  height: 5vh;
  float: left;
  margin-top: 10px;
  margin-left: 20%;
  line-height: 60px;
  text-align: right;
  font-size: 1.1cqw;
  color: white;
}
.ding {
  float: left;
  width: 20px;
  height: 20px;
  margin-top: 7px;
}
.yan {
  color: white;
  float: left;
  font-size: 25px;
}
.dakuang {
  width: 250px;
  height: 50px;
  position: absolute;
  top: 150px;
  left: 200px;
}
#xiugai {
  width: 100px;
  height: 30px;
  float: left;
  border-radius: 5px;
  text-align: center;
  line-height: 30px;
  cursor: pointer;
  border: 1px solid white;
  color: white;
  background: rgba(255, 255, 255, 0.5);
  font-size: 25px;
  position: absolute;
  top: 150px;
  left: 450px;
}
#xiugai:hover {
  background: #f60;
}
#shu1,
#shu2 {
  width: 200px;
  height: 30px;
  float: left;
  margin-top: 0px;
  margin-right: 0px;
  border-radius: 5px;
  border: 1px solid white;
}
#guan {
  width: 40px;
  height: 40px;
  float: left;
  font-size: 1.1cqw;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
  margin-left: 560px;
  color: white;
  position: absolute;
}
#ti {
  width: 600px;
  height: 300px;
  position: relative;
  background: rgba(255, 255, 255, 1);
  border-radius: 10px;
  top: 230px;
  left: 35%;
  display: none;
  background-image: url("../img/1.png");
  background-repeat: no-repeat;
  background-size: 170%;
  background-position: -220px 0px;
}
.zhuname {
  width: 100%;
  height: 5vh;
  float: left;
  text-align: center;
  line-height: 50px;
  font-weight: 700;
  font-size: 1.1cqw;
  color: white;
}
.xname {
  width: 70%;
  height: 80px;
  float: left;
  line-height: 7vh;
  font-size: 1.1cqw;
  color: white;
}
.xzhi {
  width: 30%;
  height: 7vh;
  float: left;
  line-height: 65px;
  font-size: 1.1cqw;
  color: white;
}
.zhankuang {
  width: 45%;
  height: 7vh;
  margin-top: 10px;
  margin-left: 5%;
  float: left;
}
.gai {
  width: 15%;
  height: 3vh;
  float: left;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 22px;
  margin-left: 1%;
  font-size: 1.1cqw;
}
.gai:hover {
  background-color: #f60;
  color: white;
}
.zhi {
  width: 45%;
  height: 5vh;
  float: left;
  margin-top: 10px;
  margin-left: 1%;
  line-height: 60px;
  text-align: center;
  font-size: 1.1cqw;
  color: white;
}
.name {
  width: 28%;
  height: 5vh;
  float: left;
  margin-top: 10px;
  margin-left: 1%;
  line-height: 60px;
  text-align: right;
  font-size: 1.1cqw;
  color: white;
}
.xian {
  width: 100%;
  height: 9vh;
  float: left;
}
#title {
  float: left;
  width: 95%;
  height: 88vh;
  margin-top: 40px;
  margin-left: 3%;
  background-image: url("../img/1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  container-type: inline-size;
}
#akuang {
  width: 100%;
  height: 33vh;
  float: left;
}
#bkuang {
  width: 100%;
  height: 55vh;
  float: left;
}
.xkuang {
  float: left;
  width: 31%;
  height: 28vh;
  border-top: none;
  border-left: none;
  border-bottom: none;
  background: rgba(255, 255, 255, 0.2);
  margin-left: 1.7%;
  margin-top: 20px;
  border-radius: 10px;
}
.skuang {
  width: 31%;
  height: 55vh;
  float: left;
  border-top: none;
  border-left: none;
  border-bottom: none;
  background: rgba(255, 255, 255, 0.2);
  margin-left: 1.7%;
  border-radius: 10px;
}
</style>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/Index.vue
@@ -203,6 +203,8 @@
import store from "../store/index";
import http from "@/../src/api/http.js";
import { ElNotification } from "element-plus";
import { useStore } from "vuex";
export default defineComponent({
  components: {
    VolMenu,
@@ -217,8 +219,8 @@
      rightTabs: true,
      otherTabs: true,
      menuLeft: 0,
      menuTop: 0,
      client: null
      menuTop: 0
      //  contextMenuVisible: false, // å³é”®å…³é—­æ˜¾/隐
    };
  },
@@ -296,26 +298,44 @@
        toggleLeft();
      }
    };
    const Store = useStore();
    const s = ref(null);
    const handleMessage = e => {
      let data = JSON.parse(e.data);
      messageList.push(data);
      ElNotification({
        title: data.title,
        message: h("i", { style: "color: teal" }, data.message),
        position: "bottom-right"
      });
      if (e) {
        s.value = e.data;
        console.log("WebSocket æ”¶åˆ°æ¶ˆæ¯: ", e.data);
        store.dispatch("sethomedata", s.value);
        let data = JSON.parse(e.data);
        messageList.push(data);
        ElNotification({
          title: data.title,
          message: h("i", { style: "color: teal" }, data.message),
          position: "bottom-right"
        });
      }
    };
    const createSocket = url => {
      // åˆ›å»ºWebSocket连接
      //"ws://127.0.0.1:9295/admin"
      client = new WebSocket(url);
      //console.log(url);
      //创建WebSocket连接
      //"ws://127.0.0.1:9295/admin"
      //client = new WebSocket("ws://192.168.0.250:9260/");
      client = new WebSocket("ws:localhost:9260/");
      client.onopen = function() {
        client.onmessage = handleMessage;
        store.commit("setWebsocket", client);
        //client.onmessage = handleMessage;
        // store.commit("setWebsocket", client);
        console.log("WebSocket è¿žæŽ¥æˆåŠŸ");
      };
      client.onmessage = function(event) {
        // console.log("WebSocket æ”¶åˆ°æ¶ˆæ¯: ", event);
        if (event != undefined) {
          store.dispatch("sethomedata", JSON.parse(event.data));
        }
        // handleMessage(event);
      };
      client.onclose = function() {
@@ -323,7 +343,10 @@
        setTimeout(createSocket, 10000);
      };
      client.onerror = function() {};
      client.onerror = function(err) {
        console.log("WebSocket è¿žæŽ¥é”™è¯¯: ", err);
      };
      client.onmessage();
    };
    const changeTheme = name => {
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/basicinfo/batch.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,139 @@
<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/router.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "批次管理",
      name: "batch",
      url: "/Batch/",
      sortName: "createDate"
    });
    const editFormFields = ref({});
    const editFormOptions = ref([
      [
        {
          title: "批次",
          required: true,
          field: "batch",
          type: "string"
        }
      ]
    ]);
    const searchFormFields = ref({
        batch: "",
        creater: ""
    });
    const searchFormOptions = ref([
      [
        {
          title: "批次",
          field: "batch",
          type: "like"
        },
        {
          title: "创建者",
          field: "creater",
          type: "like"
        }
      ]
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left"
      },
      {
        field: "inBatch",
        title: "入库批次号",
        type: "int",
        width: 100,
        align: "left"
      },
      {
        field: "outBatch",
        title: "出库批次号",
        type: "int",
        width: 100,
        align: "left"
      },
      {
        field: "materType",
        title: "物料信息",
        type: "string",
        width: 100,
        align: "left",
        bind: { key: "mateType", data: [] },
      },
      {
        field: "creater",
        title: "创建者",
        type: "string",
        width: 100,
        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"
      }
    ]);
    const detail = ref({
      cnName: "",
      table: "",
      columns: [],
      sortName: "",
      key: ""
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail
    };
  }
});
</script>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/basicinfo/router.vue
ÎļþÒÑɾ³ý
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/basicinfo/stationinfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
<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/router.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "站台管理",
      name: "station",
      url: "/station/",
      sortName: "createDate",
    });
    const editFormFields = ref({});
    const editFormOptions = ref([
      [
        { field: "row", title: "行", type: "int" },
        { field: "column", title: "列", type: "int" }
      ]
    ]);
    const searchFormFields = ref({});
    const searchFormOptions = ref([]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "row",
        title: "行",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "column",
        title: "列",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "msg",
        title: "描述信息",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        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: "",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/taskinfo/errormsginfo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,118 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
  >
  </view-grid>
</template>
  <script>
import extend from "@/extension/taskinfo/task.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    //表其他配置
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "错误信息",
      name: "erroe",
      url: "/ERROE/",
      sortName: "CreateDate",
    });
    //编辑字段
    const editFormFields = ref({});
    //编辑配置
    const editFormOptions = ref([]);
    //查询字段
    const searchFormFields = ref({
    });
    //查询配置
    const searchFormOptions = ref([
    ]);
    //查询页面table表的配置
    const columns = ref([
      {
        field: "id",
        title: "id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "mesg",
        title: "描述",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "errormsg",
        title: "错误信息",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "taskType", data: [] },
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 150,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      }
    ]);
    //主从明细表配置
    const detail = ref({
      cnName: "",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue
@@ -1,6 +1,10 @@
<template>
  <view-grid
  <div>
    <div id="zhu">
      <div id="task">任务号</div>
    </div>
    <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
@@ -9,15 +13,61 @@
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  </view-grid>
  </div>
</template>
<style scoped>
#task{
  width: 6%;
  height: 300%;
  position: absolute;
  border-radius: 5px;
  left: 2.5%;
  top: 820%;
  cursor: pointer;
  text-align: center;
  line-height: 230%;;
  font-size: 13px;
  font-weight: 700;
  z-index: 100;
}
#shu{
  width: 7%;
  height: 300%;
  position: absolute;
  border-radius: 5px;
  left: 42%;
  top: 220%;
  z-index: 100;
}
#wan{
  width: 4%;
  height: 300%;
  background: #f60;
  position: absolute;
  border-radius: 5px;
  left: 50%;
  top: 220%;
  cursor: pointer;
  text-align: center;
  line-height: 230%;
  color: beige;
  z-index: 100;
}
#zhu {
  width: 100%;
  height: 1vh;
  position: relative;
}
</style>
  <script>
import extend from "@/extension/taskinfo/task.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    //表其他配置
    const table = ref({
      key: "taskId",
      footer: "Foots",
@@ -26,8 +76,20 @@
      url: "/Task/",
      sortName: "CreateDate",
    });
    //编辑字段
    const editFormFields = ref({});
    const editFormOptions = ref([]);
    //编辑配置
    const editFormOptions = ref([
      [
        {
          field: "taskState",
          title: "任务状态",
          type: "select",
          dataKey: "taskState",
        }
      ]
    ]);
    //查询字段
    const searchFormFields = ref({
      taskNum: "",
      palletCode: "",
@@ -39,10 +101,10 @@
      creater: "",
      createDate: "",
    });
    //查询配置
    const searchFormOptions = ref([
      [
        { title: "任务号", field: "taskNum", type: "int" },
        { title: "托盘编号", field: "palletCode", type: "like" },
        {
          title: "任务类型",
          field: "taskType",
@@ -57,23 +119,28 @@
          dataKey: "taskState",
          data: [],
        },
        {
          title: "物料信息",
          field: "remark",
          type: "selectList",
          dataKey: "remark",
          data: [],
        },
      ],
      [
        { title: "起始地址", field: "sourceAddress", type: "like" },
        { title: "目标地址", field: "targetAddress", type: "like" },
        { title: "当前位置", field: "currentAddress", type: "like" },
        { title: "下一位置", field: "nextAddress", type: "like" },
      ],
      [
        { title: "巷道号", field: "roadway", type: "like" },
        { title: "创建人", field: "creater", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
      ],
    ]);
    //查询页面table表的配置
    const columns = ref([
      {
        field: "taskId",
        title: "TaskId",
        title: "任务号",
        type: "int",
        width: 90,
        hidden: true,
@@ -82,30 +149,16 @@
        align: "left",
      },
      {
        field: "taskNum",
        title: "任务号",
        field: "taskId",
        title: "任务ID",
        type: "int",
        width: 90,
        align: "left",
      },
      {
        field: "palletCode",
        title: "托盘编号",
        type: "string",
        width: 200,
        align: "left",
      },
      {
        field: "roadway",
        title: "巷道号",
        type: "string",
        width: 90,
        width: 120,
        align: "left",
      },
      {
        field: "taskType",
        title: "任务类型",
        type: "int",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "taskType", data: [] },
@@ -113,10 +166,18 @@
      {
        field: "taskState",
        title: "任务状态",
        type: "int",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "taskState", data: [] },
      },
      {
        field: "remark",
        title: "物料信息",
        type: "string",
        width: 120,
        align: "left",
        bind: { key: "mateType", data: [] },
      },
      {
        field: "sourceAddress",
@@ -128,20 +189,6 @@
      {
        field: "targetAddress",
        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",
@@ -212,6 +259,7 @@
        hidden: true,
      },
    ]);
    //主从明细表配置
    const detail = ref({
      cnName: "",
      table: "",
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,174 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
  >
  </view-grid>
</template>
  <script>
import extend from "@/extension/taskinfo/task.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    //表其他配置
    const table = ref({
      key: "taskId",
      footer: "Foots",
      cnName: "任务历史",
      name: "taskhty",
      url: "/TaskHty/",
      sortName: "CreateDate",
    });
    //编辑字段
    const editFormFields = ref({});
    //编辑配置
    const editFormOptions = ref([]);
    //查询字段
    const searchFormFields = ref({});
    //查询配置
    const searchFormOptions = ref([]);
    //查询页面table表的配置
    const columns = ref([
        {
        field: "taskId",
        title: "任务号",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "taskType",
        title: "任务类型",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "taskType", data: [] },
      },
      {
        field: "taskState",
        title: "任务状态",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "taskState", data: [] },
      },
      {
        field: "remark",
        title: "物料信息",
        type: "string",
        width: 120,
        align: "left",
        bind: { key: "mateType", data: [] },
      },
      {
        field: "sourceAddress",
        title: "起始地址",
        type: "int",
        width: 120,
        align: "left",
      },
      {
        field: "targetAddress",
        title: "目标地址",
        type: "string",
        width: 120,
        align: "left",
      },
      {
        field: "exceptionMessage",
        title: "异常信息",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "grade",
        title: "优先级",
        type: "int",
        width: 80,
        align: "left",
      },
      {
        field: "dispatchertime",
        title: "任务下发时间",
        type: "datetime",
        width: 150,
        align: "left",
      },
      {
        field: "wMSId",
        title: "WMS任务主键",
        type: "int",
        width: 120,
        align: "left",
        hidden: true,
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 150,
        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",
        hidden: true,
      },
    ]);
    //主从明细表配置
    const detail = ref({
      cnName: "",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/taskinfo/thickness_hty.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,157 @@
<template>
  <!--加上     :extend="extend"    å¯ä»¥å‡ºçŽ°æŸ¥çœ‹æ˜Žç»†é€‰é¡¹-->
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
  ></view-grid>
</template>
    <script>
import extend from "@/extension/taskinfo/thickness_hty.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "出库厚度历史",
      name: "thickness_hty",
      url: "/Thickness_hty/",
      sortName: "createDate"
    });
    const editFormFields = ref({});
    const editFormOptions = ref([
    ]);
    const searchFormFields = ref({
    });
    const searchFormOptions = ref([
    ]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 100,
        hidden: true,
        readonly: true,
        require: true,
        align: "left"
      },
      {
        field: "topleft",
        title: "顶部左边",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "topmiddle",
        title: "顶部中间",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "topright",
        title: "顶部右边",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "centreleft",
        title: "中间左边",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "centremiddle",
        title: "中间中心",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "centreright",
        title: "中间右边",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "bottomleft",
        title: "底部左边",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "bottomright",
        title: "底部右边",
        type: "string",
        width: 100,
        align: "left"
      },
      {
        field: "qualified",
        title: "是否合格",
        type: "string",
        width: 100,
        align: "left",
        bind: { key: "qualified", data: [
          {key: "0", value: "不合格"},
          {key: "1", value: "合格"},
        ] },
      },
      {
        field: "interval",
        title: "区间值",
        type: "string",
        width: 400,
        align: "left"
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 150,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
      table: "",
      columns: [],
      sortName: ""
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail
    };
  }
});
</script>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/taskinfo/weight_hty.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
<template>
  <!--加上     :extend="extend"    å¯ä»¥å‡ºçŽ°æŸ¥çœ‹æ˜Žç»†é€‰é¡¹-->
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
  ></view-grid>
</template>
    <script>
import extend from "@/extension/taskinfo/weight_hty.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "id",
      footer: "Foots",
      cnName: "出库重量历史",
      name: "weight_hty",
      url: "/Weight_hty/",
      sortName: "createDate"
    });
    const editFormFields = ref({});
    const editFormOptions = ref([]);
    const searchFormFields = ref({});
    const searchFormOptions = ref([]);
    const columns = ref([
      {
        field: "id",
        title: "Id",
        type: "int",
        width: 100,
        hidden: true,
        readonly: true,
        require: true,
        align: "left"
      },
      {
        field: "weight",
        title: "重量",
        type: "decimal",
        width: 100,
        align: "left"
      },
      {
        field: "qualified",
        title: "是否合格",
        type: "string",
        width: 120,
        align: "left",
        bind: {
          key: "qualified",
          data: [
            { key: "0", value: "不合格" },
            { key: "1", value: "合格" }
          ]
        }
      },
      {
        field: "interval",
        title: "区间值",
        type: "string",
        width: 400,
        align: "left"
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left"
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 150,
        align: "left"
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
      table: "",
      columns: [],
      sortName: ""
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail
    };
  }
});
</script>
<style scoped>
  .cell el-tooltip{
    background: red;
  }
</style>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationInfo.vue
@@ -1,5 +1,6 @@
<template>
  <!--加上     :extend="extend"    å¯ä»¥å‡ºçŽ°æŸ¥çœ‹æ˜Žç»†é€‰é¡¹-->
  <view-grid
    ref="grid"
    :columns="columns"
@@ -9,7 +10,6 @@
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  ></view-grid>
</template>
    <script>
@@ -23,11 +23,9 @@
      cnName: "货位信息",
      name: "locationInfo",
      url: "/LocationInfo/",
      sortName: "id"
      sortName: "createDate"
    });
    const editFormFields = ref({
      locationStatus: ""
    });
    const editFormFields = ref({});
    const editFormOptions = ref([
      [
        {
@@ -35,7 +33,12 @@
          field: "locationStatus",
          type: "select",
          dataKey: "locationStatusEnum",
          data: []
        },
        {
          title: "禁用状态",
          field: "enableStatus",
          type: "select",
          dataKey: "enableStatusEnum",
        }
      ]
    ]);
@@ -92,14 +95,6 @@
        require: true,
        align: "left"
      },
      // {
      //   field: "areaId",
      //   title: "区域主键",
      //   type: "string",
      //   width: 90,
      //   align: "left",
      //   bind: {key: "areainfo",data: []}
      // },
      {
        field: "locationCode",
        title: "货位编号",
@@ -115,27 +110,32 @@
        align: "left"
      },
      {
        field: "roadwayNo",
        title: "巷道编号",
        type: "decimal",
        width: 100,
        align: "left"
      },
      {
        field: "row",
        title: "货位行",
        type: "string",
        type: "int",
        width: 90,
        align: "left",
        hidden: true
        align: "left"
      },
      {
        field: "column",
        title: "货位列",
        type: "int",
        width: 120,
        align: "left",
        hidden: true
        align: "left"
      },
      {
        field: "depth",
        title: "工位",
        type: "int",
        width: 120,
        align: "left"
      },
      {
        field: "roadwayNo",
        title: "巷道编号",
        type: "decimal",
        width: 100,
        align: "left"
      },
      {
        field: "layer",
@@ -208,14 +208,6 @@
        width: 160,
        align: "left",
        sort: true
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 100,
        align: "left",
        hidden: true
      }
    ]);
    const detail = ref({
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/wmsPart/locationimg.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1469 @@
<template>
  <div id="zhu">
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(1,6,2)"></div>
        <div class="ge" @click="xian(1,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(1,5,2)"></div>
        <div class="ge" @click="xian(1,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(1,4,2)"></div>
        <div class="ge" @click="xian(1,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(1,3,2)"></div>
        <div class="ge" @click="xian(1,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(1,2,2)"></div>
        <div class="ge" @click="xian(1,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(1,1,2)"></div>
        <div class="ge" @click="xian(1,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(2,6,2)"></div>
        <div class="ge" @click="xian(2,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(2,5,2)"></div>
        <div class="ge" @click="xian(2,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(2,4,2)"></div>
        <div class="ge" @click="xian(2,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(2,3,2)"></div>
        <div class="ge" @click="xian(2,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(2,2,2)"></div>
        <div class="ge" @click="xian(2,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(2,1,2)"></div>
        <div class="ge" @click="xian(2,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(3,6,2)"></div>
        <div class="ge" @click="xian(3,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(3,5,2)"></div>
        <div class="ge" @click="xian(3,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(3,4,2)"></div>
        <div class="ge" @click="xian(3,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(3,3,2)"></div>
        <div class="ge" @click="xian(3,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(3,2,2)"></div>
        <div class="ge" @click="xian(3,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(3,1,2)"></div>
        <div class="ge" @click="xian(3,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(4,6,2)"></div>
        <div class="ge" @click="xian(1,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(4,5,2)"></div>
        <div class="ge" @click="xian(4,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(4,4,2)"></div>
        <div class="ge" @click="xian(4,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(4,3,2)"></div>
        <div class="ge" @click="xian(4,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(4,2,2)"></div>
        <div class="ge" @click="xian(4,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(4,1,2)"></div>
        <div class="ge" @click="xian(4,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(5,6,2)"></div>
        <div class="ge" @click="xian(5,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(5,5,2)"></div>
        <div class="ge" @click="xian(5,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(5,4,2)"></div>
        <div class="ge" @click="xian(5,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(5,3,2)"></div>
        <div class="ge" @click="xian(5,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(5,2,2)"></div>
        <div class="ge" @click="xian(5,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(5,1,2)"></div>
        <div class="ge" @click="xian(5,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(6,6,2)"></div>
        <div class="ge" @click="xian(6,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(6,5,2)"></div>
        <div class="ge" @click="xian(6,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(6,4,2)"></div>
        <div class="ge" @click="xian(6,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(6,3,2)"></div>
        <div class="ge" @click="xian(6,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(6,2,2)"></div>
        <div class="ge" @click="xian(6,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(6,1,2)"></div>
        <div class="ge" @click="xian(6,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(7,6,2)"></div>
        <div class="ge" @click="xian(7,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(7,5,2)"></div>
        <div class="ge" @click="xian(7,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(7,4,2)"></div>
        <div class="ge" @click="xian(7,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(7,3,2)"></div>
        <div class="ge" @click="xian(7,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(7,2,2)"></div>
        <div class="ge" @click="xian(7,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(7,1,2)"></div>
        <div class="ge" @click="xian(7,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(8,6,2)"></div>
        <div class="ge" @click="xian(8,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(8,5,2)"></div>
        <div class="ge" @click="xian(8,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(8,4,2)"></div>
        <div class="ge" @click="xian(8,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(8,3,2)"></div>
        <div class="ge" @click="xian(8,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(8,2,2)"></div>
        <div class="ge" @click="xian(8,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(8,1,2)"></div>
        <div class="ge" @click="xian(8,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(9,6,2)"></div>
        <div class="ge" @click="xian(9,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(9,5,2)"></div>
        <div class="ge" @click="xian(9,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(9,4,2)"></div>
        <div class="ge" @click="xian(9,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(9,3,2)"></div>
        <div class="ge" @click="xian(9,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(9,2,2)"></div>
        <div class="ge" @click="xian(9,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(9,1,2)"></div>
        <div class="ge" @click="xian(9,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(10,6,2)"></div>
        <div class="ge" @click="xian(10,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(10,5,2)"></div>
        <div class="ge" @click="xian(10,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(10,4,2)"></div>
        <div class="ge" @click="xian(10,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(10,3,2)"></div>
        <div class="ge" @click="xian(10,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(10,2,2)"></div>
        <div class="ge" @click="xian(10,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(10,1,2)"></div>
        <div class="ge" @click="xian(10,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(11,6,2)"></div>
        <div class="ge" @click="xian(11,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(11,5,2)"></div>
        <div class="ge" @click="xian(11,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(11,4,2)"></div>
        <div class="ge" @click="xian(11,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(11,3,2)"></div>
        <div class="ge" @click="xian(11,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(11,2,2)"></div>
        <div class="ge" @click="xian(11,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(11,1,2)"></div>
        <div class="ge" @click="xian(11,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(12,6,2)"></div>
        <div class="ge" @click="xian(12,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(12,5,2)"></div>
        <div class="ge" @click="xian(12,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(12,4,2)"></div>
        <div class="ge" @click="xian(12,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(12,3,2)"></div>
        <div class="ge" @click="xian(12,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(12,2,2)"></div>
        <div class="ge" @click="xian(12,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(12,1,2)"></div>
        <div class="ge" @click="xian(12,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(13,6,2)"></div>
        <div class="ge" @click="xian(13,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(13,5,2)"></div>
        <div class="ge" @click="xian(13,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(13,4,2)"></div>
        <div class="ge" @click="xian(13,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(13,3,2)"></div>
        <div class="ge" @click="xian(13,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(13,2,2)"></div>
        <div class="ge" @click="xian(13,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(13,1,2)"></div>
        <div class="ge" @click="xian(13,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(14,6,2)"></div>
        <div class="ge" @click="xian(14,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(14,5,2)"></div>
        <div class="ge" @click="xian(14,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(14,4,2)"></div>
        <div class="ge" @click="xian(14,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(14,3,2)"></div>
        <div class="ge" @click="xian(14,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(14,2,2)"></div>
        <div class="ge" @click="xian(14,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(14,1,2)"></div>
        <div class="ge" @click="xian(14,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(15,6,2)"></div>
        <div class="ge" @click="xian(15,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(15,5,2)"></div>
        <div class="ge" @click="xian(15,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(15,4,2)"></div>
        <div class="ge" @click="xian(15,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(15,3,2)"></div>
        <div class="ge" @click="xian(15,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(15,2,2)"></div>
        <div class="ge" @click="xian(15,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(15,1,2)"></div>
        <div class="ge" @click="xian(15,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(16,6,2)"></div>
        <div class="ge" @click="xian(16,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(16,5,2)"></div>
        <div class="ge" @click="xian(16,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(16,4,2)"></div>
        <div class="ge" @click="xian(16,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(16,3,2)"></div>
        <div class="ge" @click="xian(16,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(16,2,2)"></div>
        <div class="ge" @click="xian(16,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(16,1,2)"></div>
        <div class="ge" @click="xian(16,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(17,6,2)"></div>
        <div class="ge" @click="xian(17,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(17,5,2)"></div>
        <div class="ge" @click="xian(17,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(17,4,2)"></div>
        <div class="ge" @click="xian(17,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(17,3,2)"></div>
        <div class="ge" @click="xian(17,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(17,2,2)"></div>
        <div class="ge" @click="xian(17,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(17,1,2)"></div>
        <div class="ge" @click="xian(17,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(18,6,2)"></div>
        <div class="ge" @click="xian(18,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(18,5,2)"></div>
        <div class="ge" @click="xian(18,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(18,4,2)"></div>
        <div class="ge" @click="xian(18,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(18,3,2)"></div>
        <div class="ge" @click="xian(18,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(18,2,2)"></div>
        <div class="ge" @click="xian(18,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(18,1,2)"></div>
        <div class="ge" @click="xian(18,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(19,6,2)"></div>
        <div class="ge" @click="xian(19,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(19,5,2)"></div>
        <div class="ge" @click="xian(19,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(19,4,2)"></div>
        <div class="ge" @click="xian(19,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(19,3,2)"></div>
        <div class="ge" @click="xian(19,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(19,2,2)"></div>
        <div class="ge" @click="xian(19,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(19,1,2)"></div>
        <div class="ge" @click="xian(19,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(20,6,2)"></div>
        <div class="ge" @click="xian(20,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(20,5,2)"></div>
        <div class="ge" @click="xian(20,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(20,4,2)"></div>
        <div class="ge" @click="xian(20,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(20,3,2)"></div>
        <div class="ge" @click="xian(20,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(20,2,2)"></div>
        <div class="ge" @click="xian(20,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(20,1,2)"></div>
        <div class="ge" @click="xian(20,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(21,6,2)"></div>
        <div class="ge" @click="xian(21,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(21,5,2)"></div>
        <div class="ge" @click="xian(21,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(21,4,2)"></div>
        <div class="ge" @click="xian(21,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(21,3,2)"></div>
        <div class="ge" @click="xian(21,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(21,2,2)"></div>
        <div class="ge" @click="xian(21,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(21,1,2)"></div>
        <div class="ge" @click="xian(21,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(22,6,2)"></div>
        <div class="ge" @click="xian(22,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(22,5,2)"></div>
        <div class="ge" @click="xian(22,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(22,4,2)"></div>
        <div class="ge" @click="xian(22,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(22,3,2)"></div>
        <div class="ge" @click="xian(22,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(22,2,2)"></div>
        <div class="ge" @click="xian(22,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(22,1,2)"></div>
        <div class="ge" @click="xian(22,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(23,6,2)"></div>
        <div class="ge" @click="xian(23,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(23,5,2)"></div>
        <div class="ge" @click="xian(23,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(23,4,2)"></div>
        <div class="ge" @click="xian(23,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(23,3,2)"></div>
        <div class="ge" @click="xian(23,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(23,2,2)"></div>
        <div class="ge" @click="xian(23,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(23,1,2)"></div>
        <div class="ge" @click="xian(23,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(24,6,2)"></div>
        <div class="ge" @click="xian(24,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(24,5,2)"></div>
        <div class="ge" @click="xian(24,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(24,4,2)"></div>
        <div class="ge" @click="xian(24,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(24,3,2)"></div>
        <div class="ge" @click="xian(24,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(24,2,2)"></div>
        <div class="ge" @click="xian(24,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(24,1,2)"></div>
        <div class="ge" @click="xian(24,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(25,6,2)"></div>
        <div class="ge" @click="xian(25,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(25,5,2)"></div>
        <div class="ge" @click="xian(25,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(25,4,2)"></div>
        <div class="ge" @click="xian(25,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(25,3,2)"></div>
        <div class="ge" @click="xian(25,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(25,2,2)"></div>
        <div class="ge" @click="xian(25,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(25,1,2)"></div>
        <div class="ge" @click="xian(25,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(26,6,2)"></div>
        <div class="ge" @click="xian(26,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(26,5,2)"></div>
        <div class="ge" @click="xian(26,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(26,4,2)"></div>
        <div class="ge" @click="xian(26,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(26,3,2)"></div>
        <div class="ge" @click="xian(26,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(26,2,2)"></div>
        <div class="ge" @click="xian(26,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(26,1,2)"></div>
        <div class="ge" @click="xian(26,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(27,6,2)"></div>
        <div class="ge" @click="xian(27,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(27,5,2)"></div>
        <div class="ge" @click="xian(27,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(27,4,2)"></div>
        <div class="ge" @click="xian(27,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(27,3,2)"></div>
        <div class="ge" @click="xian(27,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(27,2,2)"></div>
        <div class="ge" @click="xian(27,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(27,1,2)"></div>
        <div class="ge" @click="xian(27,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(28,6,2)"></div>
        <div class="ge" @click="xian(28,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(28,5,2)"></div>
        <div class="ge" @click="xian(28,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(28,4,2)"></div>
        <div class="ge" @click="xian(28,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(28,3,2)"></div>
        <div class="ge" @click="xian(28,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(28,2,2)"></div>
        <div class="ge" @click="xian(28,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(28,1,2)"></div>
        <div class="ge" @click="xian(28,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(29,6,2)"></div>
        <div class="ge" @click="xian(29,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(29,5,2)"></div>
        <div class="ge" @click="xian(29,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(29,4,2)"></div>
        <div class="ge" @click="xian(29,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(29,3,2)"></div>
        <div class="ge" @click="xian(29,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(29,2,2)"></div>
        <div class="ge" @click="xian(29,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(29,1,2)"></div>
        <div class="ge" @click="xian(29,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(30,6,2)"></div>
        <div class="ge" @click="xian(30,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(30,5,2)"></div>
        <div class="ge" @click="xian(30,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(30,4,2)"></div>
        <div class="ge" @click="xian(30,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(30,3,2)"></div>
        <div class="ge" @click="xian(30,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(30,2,2)"></div>
        <div class="ge" @click="xian(30,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(30,1,2)"></div>
        <div class="ge" @click="xian(30,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(31,6,2)"></div>
        <div class="ge" @click="xian(31,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(31,5,2)"></div>
        <div class="ge" @click="xian(31,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(31,4,2)"></div>
        <div class="ge" @click="xian(31,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(31,3,2)"></div>
        <div class="ge" @click="xian(31,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(31,2,2)"></div>
        <div class="ge" @click="xian(31,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(31,1,2)"></div>
        <div class="ge" @click="xian(31,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(32,6,2)"></div>
        <div class="ge" @click="xian(32,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(32,5,2)"></div>
        <div class="ge" @click="xian(32,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(32,4,2)"></div>
        <div class="ge" @click="xian(32,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(32,3,2)"></div>
        <div class="ge" @click="xian(32,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(32,2,2)"></div>
        <div class="ge" @click="xian(32,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(32,1,2)"></div>
        <div class="ge" @click="xian(32,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(33,6,2)"></div>
        <div class="ge" @click="xian(33,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(33,5,2)"></div>
        <div class="ge" @click="xian(33,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(33,4,2)"></div>
        <div class="ge" @click="xian(33,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(33,3,2)"></div>
        <div class="ge" @click="xian(33,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(33,2,2)"></div>
        <div class="ge" @click="xian(33,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(33,1,2)"></div>
        <div class="ge" @click="xian(33,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(34,6,2)"></div>
        <div class="ge" @click="xian(34,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(34,5,2)"></div>
        <div class="ge" @click="xian(34,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(34,4,2)"></div>
        <div class="ge" @click="xian(34,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(34,3,2)"></div>
        <div class="ge" @click="xian(34,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(34,2,2)"></div>
        <div class="ge" @click="xian(34,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(34,1,2)"></div>
        <div class="ge" @click="xian(34,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(35,6,2)"></div>
        <div class="ge" @click="xian(35,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(35,5,2)"></div>
        <div class="ge" @click="xian(35,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(35,4,2)"></div>
        <div class="ge" @click="xian(35,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(35,3,2)"></div>
        <div class="ge" @click="xian(35,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(35,2,2)"></div>
        <div class="ge" @click="xian(35,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(35,1,2)"></div>
        <div class="ge" @click="xian(35,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(36,6,2)"></div>
        <div class="ge" @click="xian(36,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(36,5,2)"></div>
        <div class="ge" @click="xian(36,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(36,4,2)"></div>
        <div class="ge" @click="xian(36,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(36,3,2)"></div>
        <div class="ge" @click="xian(36,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(36,2,2)"></div>
        <div class="ge" @click="xian(36,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(36,1,2)"></div>
        <div class="ge" @click="xian(36,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(37,6,2)"></div>
        <div class="ge" @click="xian(37,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(37,5,2)"></div>
        <div class="ge" @click="xian(37,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(37,4,2)"></div>
        <div class="ge" @click="xian(37,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(37,3,2)"></div>
        <div class="ge" @click="xian(37,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(37,2,2)"></div>
        <div class="ge" @click="xian(37,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(37,1,2)"></div>
        <div class="ge" @click="xian(37,1,1)"></div>
      </div>
    </div>
    <div class="lie">
      <div class="hang" style="margin-top: 20%;">
        <div class="ge" @click="xian(38,6,2)"></div>
        <div class="ge" @click="xian(38,6,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(38,5,2)"></div>
        <div class="ge" @click="xian(38,5,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(38,4,2)"></div>
        <div class="ge" @click="xian(38,4,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(38,3,2)"></div>
        <div class="ge" @click="xian(38,3,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(38,2,2)"></div>
        <div class="ge" @click="xian(38,2,1)"></div>
      </div>
      <div class="hang">
        <div class="ge" @click="xian(38,1,2)"></div>
        <div class="ge" @click="xian(38,1,1)"></div>
      </div>
    </div>
    <div id="kuang">
      <div id="ti">
        <div class="ge" id="a" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
        <div class="wen">空闲</div>
        <div class="ge" id="b" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
        <div class="wen">禁用</div>
        <div class="ge" id="c" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
        <div class="wen">锁定</div>
        <div class="ge" id="e" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
        <div class="wen">正常库存</div>
        <div class="ge" id="d" style="width: 6%;height:60%;margin-top: 1%;margin-left: 1%;"></div>
        <div class="wen">剔除库存</div>
      </div>
      <div id="dian">
        <div id="zi">当前选择货位位置为:</div>
        <div id="xian"></div>
      </div>
    </div>
    <div id="zxj" @click="zxj">整形机</div>
    <div id="kc" @click="kc">出库</div>
    <div id="gzj" @click="gzj">规整机</div>
    <div id="kr" @click="kr">入库</div>
  </div>
</template>
<script setup>
import { ref, reactive, nextTick, computed, watch } from "vue";
import { onMounted } from "vue";
import axios from "axios";
import { useStore } from "vuex";
import { getCurrentInstance } from "vue";
const wei = ref("");
const weis = ref("");
const swei = ref("");
const lie = ref("");
const qu = ref(0);
const ji = ref(0);
const qu1 = ref(0);
const ji1 = ref(0);
const R_ZXJ_TCMode = ref(false);
const R_HC_isReadyWork = ref(false);
const R_ZXJ_TC_isready = ref(false);
const R_TCMode_TC = ref(false);
const R_TC_isready = ref(false);
const store = useStore();
const data = ref({});
//出库
const kc = () => {
  let t = document.getElementById("zxj");
  let s = document.getElementById("gzj");
  //是否选中库
  if (wei.value != "") {
    //普通货半自动出库
    if (ji.value == 1) {
      //判断列
      if (lie.value != 38) {
        //data.value.R_ZXJ_isWork == true &&
        if (R_ZXJ_TCMode.value == true && R_HC_isReadyWork.value == true) {
          axios
            .post(
              "api/Task/banzidong/?wei=" + wei.value + "&weis=" + weis.value,
              {}
            )
            .then(x => {
              qu.value = 0;
              t.style.background = "#f60";
              if (x.data.message == 1) {
                alert("出库失败(可能是 â€œæ˜¯å¦å‡ºåº“” çš„问题)");
              } else if (x.data.message == 3) {
                alert("出库失败(找不到库存)");
              } else {
                alert("出库成功");
              }
              console.log(x);
            });
        } else {
          alert("信号不正确");
        }
      } else {
        alert("普通出库不能选中38列的库");
      }
      //剔除货半自动出库
    } else if (ji1.value == 1) {
      //判断列
      if (lie.value == 38) {
        //判断信号////////////////////////////////////////////////////////////////////////////////
        if (R_TC_isready.value == true) {
          axios.post("api/Task/tichuchuku/?wei=" + wei.value, {}).then(x => {
            qu1.value = 0;
            s.style.background = "#f60";
            if (x.data.message == 1) {
              alert("出库失败(可能是 â€œæ˜¯å¦å‡ºåº“” çš„问题)");
            } else if (x.data.message == 2) {
              alert("出库成功");
            } else if (x.data.message == 3) {
              alert("出库失败");
            } else if (x.data.message == 4) {
              alert("库存里面无货");
            }
          });
        }else{
          alert("信号不正确");
        }
      } else {
        alert("普通出库只能选中38列的库");
      }
    }
    //剔除直接出库
  } else if (ji1.value == 1 && ji.value == 1) {
    //判断信号;////////////////////////////////////////////////////////////////////////////////
    if (
      R_TC_isready.value == true &&
      R_ZXJ_TC_isready.value == true &&
      R_TCMode_TC.value == true
    ) {
      axios.post("api/Task/zhijiechuku", {}).then(x => {
        qu.value = 0;
        t.style.background = "#f60";
        qu1.value = 0;
        s.style.background = "#f60";
        if (x.data.message == 1) {
          alert("出库失败(可能是 â€œæ˜¯å¦å‡ºåº“” çš„问题)");
        } else if (x.data.message == 2) {
          alert("出库成功");
        } else if (x.data.message == 3) {
          alert("出库失败");
        }
      });
    }
  } else {
    alert("请先选中库位");
  }
};
//入库
const kr = () => {
  let t = document.getElementById("zxj");
  if (ji.value == 1 && wei.value != "") {
    if (lie.value == 38) {
      //判断信号////////////////////////////////////////////////////////////////////////////////
      if (R_ZXJ_TC_isready.value == true && R_TCMode_TC.value == true) {
        axios.post("api/Task/tichuruku/?wei=" + wei.value, {}).then(x => {
          qu.value = 0;
          t.style.background = "#f60";
          if (x.data.message == 1) {
            alert("入库失败(可能是 â€œæ˜¯å¦å‡ºåº“” çš„问题)");
          } else if (x.data.message == 2) {
            alert("入库成功");
          } else if (x.data.message == 3) {
            alert("入库失败");
          } else if (x.data.message == 4) {
            alert("库存里面已有货");
          }
        });
      }
    } else {
      alert("剔除入库只能选中38列的库");
    }
  } else {
    alert("请先选中库位和整形机");
  }
};
//选中变色
const zxj = () => {
  let t = document.getElementById("zxj");
  if (qu.value == 0) {
    qu.value = 1;
    ji.value = 1;
    t.style.background = "red";
  } else {
    qu.value = 0;
    ji.value = 0;
    t.style.background = "#f60";
  }
};
const gzj = () => {
  let t = document.getElementById("gzj");
  if (qu1.value == 0) {
    qu1.value = 1;
    ji1.value = 1;
    t.style.background = "red";
  } else {
    qu1.value = 0;
    ji1.value = 0;
    t.style.background = "#f60";
  }
};
const xian = (x, y, w) => {
  let t = document.getElementById("xian");
  t.innerHTML = x + "列" + y + "行" + w + "储位";
  let v = document.getElementsByClassName("ge");
  for (let i = 0; i < v.length; i++) {
    v[i].style.border = "1px solid blue";
  }
  let c = 0;
  if (y == 1) {
    if (w == 1) {
      c = 0;
    } else {
      c = 1;
    }
  } else if (y == 2) {
    if (w == 1) {
      c = 2;
    } else {
      c = 3;
    }
  } else if (y == 3) {
    if (w == 1) {
      c = 4;
    } else {
      c = 5;
    }
  } else if (y == 4) {
    if (w == 1) {
      c = 6;
    } else {
      c = 7;
    }
  } else if (y == 5) {
    if (w == 1) {
      c = 8;
    } else {
      c = 9;
    }
  } else if (y == 6) {
    if (w == 1) {
      c = 10;
    } else {
      c = 11;
    }
  }
  let z = x * 12 - 1 - c;
  //取消选中
  let s = 0;
  if (swei.value == z) {
    v[z].style.border = "1px solid blue";
    s = 1;
    weis.value = "";
    wei.value = "";
    swei.value = "";
  }
  //选中
  if (s == 0) {
    swei.value = z;
    lie.value = x;
    v[z].style.border = "2px solid red";
    if (w == 1) {
      weis.value = x + "-" + y + "-" + 2;
      wei.value = x + "-" + y + "-" + w;
    } else {
      wei.value = x + "-" + y + "-" + 1;
      weis.value = x + "-" + y + "-" + w;
    }
  }
};
//图标显示与获取信号
onMounted(() => {
  nextTick(() => {
    setInterval(() => {
      data.value = store.state.homedata;
      R_ZXJ_TCMode.value = data.value.R_ZXJ_TCMode; //赋值data
      R_HC_isReadyWork.value = data.value.R_HC_isReadyWork;
      R_ZXJ_TC_isready.value = data.value.R_ZXJ_TC_isready;
      R_TCMode_TC.value = data.value.R_TCMode_TC;
      R_TC_isready.value = data.value.R_TC_isready;
      axios.post("api/LocationInfo/getPageData", { rows: 500 }).then(x => {
        //console.log(x.data.rows,"111");
        let w = document.getElementsByClassName("ge");
        let t = 0,
          tt = 11;
        //列(开启剔除库位要改38)
        for (let z = 1, i = 0; z <= 38; z++) {
          t = tt;
          //货位
          for (let a = 1; a <= 12; a++, t--) {
            //禁用
            if (x.data.rows[i].enableStatus == 3) {
              w[t].style.backgroundImage =
                "url(" + require("@../../../public/Error.png") + ")";
              //启用
            } else if (x.data.rows[i].enableStatus == 0) {
              //空闲
              if (x.data.rows[i].locationStatus == 0) {
                w[t].style.backgroundImage = "url('')";
                //锁定
              } else if (x.data.rows[i].locationStatus == 1) {
                w[t].style.backgroundImage =
                  "url(" + require("@../../../public/Lock.png") + ")";
                //有货
              } else if (x.data.rows[i].locationStatus == 2) {
                //普通货
                if (x.data.rows[i].locationType == 2) {
                  w[t].style.backgroundImage =
                    "url(" + require("@../../../public/Stored.png") + ")";
                  //剔除货
                } else if (x.data.rows[i].locationType == 1) {
                  w[t].style.backgroundImage =
                    "url(" + require("@../../../public/Stored2.png") + ")";
                }
              }
            }
            i++;
          }
          tt += 12;
        }
      });
    }, 3000);
  });
});
</script>
<style scoped>
#kr {
  width: 4%;
  height: 4%;
  position: absolute;
  top: 73%;
  left: 55%;
  border: 1px solid black;
  text-align: center;
  line-height: 230%;
  background: #f60;
  border-radius: 10%;
  cursor: pointer;
  color: white;
}
#kr:hover {
  opacity: 0.8;
  color: black;
}
#gzj {
  width: 10%;
  height: 15%;
  position: absolute;
  top: 75%;
  left: 87%;
  text-align: center;
  line-height: 700%;
  font-size: 20px;
  border-radius: 10%;
  border: 1px solid black;
  cursor: pointer;
  background: #f60;
  color: white;
}
#gzj:hover {
  opacity: 0.8;
  color: black;
}
#kc {
  width: 4%;
  height: 4%;
  position: absolute;
  top: 73%;
  left: 45%;
  border: 1px solid black;
  text-align: center;
  line-height: 230%;
  background: #f60;
  border-radius: 10%;
  cursor: pointer;
  color: white;
}
#kc:hover {
  opacity: 0.8;
  color: black;
}
#zxj {
  width: 10%;
  height: 15%;
  position: absolute;
  top: 75%;
  left: 2%;
  text-align: center;
  line-height: 700%;
  font-size: 20px;
  border-radius: 10%;
  border: 1px solid black;
  cursor: pointer;
  background: #f60;
  color: white;
}
#zxj:hover {
  opacity: 0.8;
  color: black;
}
#b {
  background-image: url("../../../public/Error.png");
}
#c {
  background-image: url("../../../public/Lock.png");
}
#d {
  background-image: url("../../../public/Stored2.png");
}
#e {
  background-image: url("../../../public/Stored.png");
}
#zi,
#xian {
  width: 45%;
  height: 30%;
  float: left;
  margin-top: 5%;
  font-size: 18px;
}
#dian {
  width: 30%;
  height: 80%;
  float: left;
  margin-top: 1%;
  margin-left: 35%;
}
.wen {
  width: 12%;
  height: 30%;
  float: left;
  font-size: 15px;
  margin-top: 3%;
  margin-left: 1%;
  text-align: center;
}
#ti {
  width: 50%;
  height: 40%;
  float: left;
  margin-left: 25%;
  margin-top: 0%;
}
#kuang {
  width: 90%;
  height: 20%;
  float: left;
  margin-left: 5%;
}
.ge {
  width: 90%;
  height: 30%;
  float: left;
  border: 1px solid blue;
  margin-left: 5%;
  margin-top: 10%;
  background-repeat: no-repeat;
  background-size: 100%;
  cursor: pointer;
}
.hang {
  width: 100%;
  height: 15%;
  float: left;
}
.lie {
  width: 2.1%;
  height: 80%;
  float: left;
  margin-left: 0.5%;
}
#zhu {
  width: 95%;
  height: 88vh;
  float: left;
  border: 1px solid black;
  margin-left: 2.5%;
  margin-top: 1%;
  position: relative;
}
</style>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/wmsPart/stockInfo.vue
@@ -63,46 +63,46 @@
        align: "left"
      },
      {
        field: "palletCode",
        title: "托盘编号",
        field: "batchNo",
        title: "批次号",
        type: "string",
        width: 90,
        align: "left"
      },
      {
        field: "remark",
        title: "物料信息",
        type: "string",
        width: 120,
        align: "left",
        bind: { key: "mateType", data: [] },
      },
      {
        field: "weight",
        title: "重量",
        type: "string",
        width: 150,
        align: "left"
      },
      {
        field: "locationCode",
        title: "货位编号",
        type: "string",
        width: 150,
        width: 100,
        align: "left"
      },
      // {
      //   field: "isFull",
      //   title: "是否满盘",
      //   type: "string",
      //   width: 150,
      //   align: "left",
      //   bind: { key: "yesno", data: [] },
      // },
      {
        field: "warehouseId",
        title: "仓库",
        type: "select",
        width: 100,
        field: "stockStatus",
        title: "库存状态",
        type: "string",
        width: 90,
        align: "left",
        bind: { key: "warehouses", data: [] }
        bind: { key: "stock", data: [] },
      },
      {
        field: "creater",
        title: "创建人",
        title: "创建者",
        type: "string",
        width: 90,
        align: "left"
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 160,
        align: "left"
      },
@@ -112,24 +112,21 @@
        type: "string",
        width: 100,
        align: "left",
        hidden: true
      },
      {
        field: "modifyDate",
        title: "修改时间",
        title: "修改日期",
        type: "datetime",
        width: 160,
        align: "left",
        hidden: true
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 100,
        align: "left",
        hidden: true
      }
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
@@ -11,16 +11,12 @@
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -34,8 +30,32 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 0,
          "SelectedChildIndex": 2,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "Program.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AgIAABgAAAAAAAAAAAAAABsAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-06-03T03:02:12.932Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAPwAAAAAAAAAAAAUwDEBAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-19T02:06:47.617Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
@@ -44,63 +64,22 @@
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
              "ViewState": "AgIAABACAAAAAAAAAAAAAK8BAAAkAAAAAAAAAA==",
              "ViewState": "AgIAAJIBAAAAAAAAAAAuwJ8BAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-16T07:03:59.279Z",
              "IsPinned": true,
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "OHTReadData.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "ViewState": "AgIAAD8AAAAAAAAAAIA4wEcAAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-26T06:34:01.253Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "OHTEnum.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "ViewState": "AgIAANIBAAAAAAAAAAAewOQBAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-26T06:33:59.339Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAHUDAAAAAAAAAAAewIcDAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-19T02:06:47.617Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "OHTJob.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "ViewState": "AgIAAMEAAAAAAAAAAAAewKAAAABcAAAAAAAAAA==",
              "ViewState": "AgIAAEEAAAAAAAAAAAAewMsAAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-16T07:49:36.171Z",
              "EditorCaption": ""
              "WhenOpened": "2025-05-16T07:49:36.171Z"
            },
            {
              "$type": "Document",
@@ -110,10 +89,9 @@
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
              "ViewState": "AgIAAPYAAAAAAAAAAAAewAgBAAAYAAAAAAAAAA==",
              "ViewState": "AgIAADYAAAAAAAAAAAAYwAgBAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-03T02:04:31.648Z",
              "EditorCaption": ""
              "WhenOpened": "2025-04-03T02:04:31.648Z"
            }
          ]
        }
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -11,16 +11,12 @@
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\zxj\\zxjjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\oht\\ohtreaddata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|f:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\yangjipingku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -34,8 +30,32 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 0,
          "SelectedChildIndex": 2,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "Program.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs",
              "ViewState": "AgIAABgAAAAAAAAAAAAAABsAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-06-03T03:02:12.932Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAPwAAAAAAAAAAAAUwDEBAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-19T02:06:47.617Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
@@ -44,63 +64,22 @@
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\GZJ\\GZJJob.cs",
              "ViewState": "AgIAABACAAAAAAAAAAAAAK8BAAAkAAAAAAAAAA==",
              "ViewState": "AgIAAJIBAAAAAAAAAAAuwJ8BAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-16T07:03:59.279Z",
              "IsPinned": true,
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "OHTReadData.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTReadData.cs",
              "ViewState": "AgIAAD8AAAAAAAAAAIA4wEcAAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-26T06:34:01.253Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "OHTEnum.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTEnum.cs",
              "ViewState": "AgIAANIBAAAAAAAAAAAewOQBAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-26T06:33:59.339Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "TaskService.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAHUDAAAAAAAAAAAewIcDAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-19T02:06:47.617Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "OHTJob.cs",
              "DocumentMoniker": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\OHT\\OHTJob.cs",
              "ViewState": "AgIAAMEAAAAAAAAAAAAewKAAAABcAAAAAAAAAA==",
              "ViewState": "AgIAAEEAAAAAAAAAAAAewMsAAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-05-16T07:49:36.171Z",
              "EditorCaption": ""
              "WhenOpened": "2025-05-16T07:49:36.171Z"
            },
            {
              "$type": "Document",
@@ -110,10 +89,9 @@
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
              "ToolTip": "F:\\\u4E34\u65F6\u5B58\u653E\\\u9879\u76EE\\YangJiPingKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ZXJ\\ZXJJob.cs",
              "ViewState": "AgIAAPYAAAAAAAAAAAAewAgBAAAYAAAAAAAAAA==",
              "ViewState": "AgIAADYAAAAAAAAAAAAYwAgBAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-04-03T02:04:31.648Z",
              "EditorCaption": ""
              "WhenOpened": "2025-04-03T02:04:31.648Z"
            }
          ]
        }
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_ThicknessHtyService.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models.System;
@@ -10,5 +11,6 @@
{
    public interface Idt_ThicknessHtyService : IService<dt_Thickness_hty>
    {
        WebResponseContent alldelete();
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/Idt_WeightHtyService.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Model.Models.System;
@@ -11,6 +12,6 @@
{
    public interface Idt_WeightHtyService : IService<dt_Weight_hty>
    {
        WebResponseContent alldelete();
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskhtyService.cs
@@ -11,6 +11,5 @@
{
    public interface ITaskhtyService : IService<Dt_Task_hty>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Thickness_HtyController.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_Model.Models.System;
@@ -9,8 +10,17 @@
    [ApiController]
    public class Thickness_HtyController : ApiBaseController<Idt_ThicknessHtyService, dt_Thickness_hty>
    {
        private readonly Idt_ThicknessHtyService _Idt_ThicknessHtyService;
        public Thickness_HtyController(Idt_ThicknessHtyService service) : base(service)
        {
            _Idt_ThicknessHtyService = service;
        }
        //全部删除
        [HttpPost, HttpGet, Route("alldelete")]
        public WebResponseContent alldelete()
        {
            return Service.alldelete();
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Weight_HtyController.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_ITaskInfoService;
@@ -12,8 +13,17 @@
    [ApiController]
    public class Weight_HtyController : ApiBaseController<Idt_WeightHtyService, dt_Weight_hty>
    {
        private readonly Idt_WeightHtyService _Idt_WeightHtyService;
        public Weight_HtyController(Idt_WeightHtyService service) : base(service)
        {
            _Idt_WeightHtyService = service;
        }
        //全部删除
        [HttpPost, HttpGet, Route("alldelete")]
        public WebResponseContent alldelete()
        {
            return Service.alldelete();
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile.pubxml
@@ -17,6 +17,6 @@
    <TargetFramework>net6.0</TargetFramework>
    <ProjectGuid>487fa45b-ea1a-4aca-bb5b-0f6708f462c0</ProjectGuid>
    <SelfContained>false</SelfContained>
    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
  </PropertyGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_ThicknessHtyService.cs
@@ -7,6 +7,7 @@
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Model.Models.System;
namespace WIDESEAWCS_SystemServices
@@ -17,9 +18,19 @@
        {
        }
        public IRepository<dt_Thickness_hty> Repository => BaseDal;
        public override WebResponseContent AddData(dt_Thickness_hty entity)
        {
            return base.AddData(entity);
        }
        public WebResponseContent alldelete()
        {
            List<dt_Thickness_hty> weights = BaseDal.QueryData();
            BaseDal.DeleteData(weights);
            WebResponseContent w = new WebResponseContent();
            return w;
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/dt_WeightHtyService.cs
@@ -4,6 +4,8 @@
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using SqlSugar;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_ISystemServices;
@@ -18,6 +20,15 @@
        {
        }
        public IRepository<dt_Weight_hty> Repository => BaseDal;
        public WebResponseContent alldelete()
        {
            List<dt_Weight_hty> weights = BaseDal.QueryData();
            BaseDal.DeleteData(weights);
            WebResponseContent w = new WebResponseContent();
            return w;
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -305,7 +305,9 @@
                //}
                if (workTpe.Equals("In"))
                {
                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu || v.TaskType == (int)TaskInboundTypeEnum.Inbound) && v.TaskState == (int)TaskInStatusEnum.InNew).OrderByDescending(v => v.Grade).OrderBy(v => v.CreateDate).First();
                    //OrderByDescending(降序排序)
                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskInboundTypeEnum.TiChuRuKu || v.TaskType == (int)TaskInboundTypeEnum.Inbound) && v.TaskState == (int)TaskInStatusEnum.InNew).OrderBy(v => v.CreateDate).First();
                    Dt_Task tasks = new Dt_Task();
                }
                else if (workTpe.Equals("Out"))
                {
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/GZJ/GZJJob.cs
@@ -78,7 +78,6 @@
        public Task Execute(IJobExecutionContext context)
        {
            Console.WriteLine("1");
            //return Task.CompletedTask;
            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
            if (flag && value != null)
@@ -189,7 +188,46 @@
                    {
                        Dt_Task task = new Dt_Task();
                        var storagemode = _storagemodeRepository.QueryFirst(v => v.Id == 1);
                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready)//RGV上料模式,且西跨架子有上料信号
                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGV上料模式,且西跨架子有上料信号
                        {
                            var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨架子");
                            task.SourceAddress = station.Row + "-" + station.Column + "-1";
                            var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
                            if (oldhtytask == null)
                            {
                                task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode;
                                if (OHTJob.oHTReadData.R_DK_isready)
                                {
                                    task.Grade = 3;
                                }
                                else
                                {
                                    task.Grade = 2;
                                }
                                task.Remark = (int)MateTypeEnum.ZiChan;
                                //查找相邻的库位
                                Dt_LocationInfo Towlocation = new Dt_LocationInfo();
                                var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress);
                                if (Onelocation.Depth == 1)
                                {
                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2);
                                }
                                else
                                {
                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1);
                                }
                                task.NextAddress = Towlocation.LocationCode;
                                task.Roadway = "TC01";
                                task.TaskType = (int)TaskInboundTypeEnum.Inbound;
                                task.TaskState = (int)TaskInStatusEnum.InNew;
                                task.PalletCode = "text";
                                task.CurrentAddress = "text";
                                task.WMSId = 3;
                                _dt_taskRepositiry.AddData(task);
                            }
                        }
                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready)//RGV上料模式,且东跨架子有上料信号
                        {
                            var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "东跨架子");
                            task.SourceAddress = station.Row + "-" + station.Column + "-1";
@@ -221,45 +259,9 @@
                                _dt_taskRepositiry.AddData(task);
                            }
                        }
                        if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGV上料模式,且东跨架子有上料信号
                        {
                            var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨架子");
                            task.SourceAddress = station.Row + "-" + station.Column + "-1";
                            var oldhtytask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == task.SourceAddress);
                            if (oldhtytask == null)
                            {
                                task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode;
                                if (OHTJob.oHTReadData.R_DK_isready)
                                {
                                    task.Grade = 2;
                                }
                                else
                                {
                                    task.Grade = 1;
                                }
                                task.Remark = (int)MateTypeEnum.ZiChan;
                                //查找相邻的库位
                                Dt_LocationInfo Towlocation = new Dt_LocationInfo();
                                var Onelocation = _LocationInfoRepository.QueryFirst(v => v.LocationCode == task.TargetAddress);
                                if (Onelocation.Depth == 1)
                                {
                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 2);
                                }
                                else
                                {
                                    Towlocation = _LocationInfoRepository.QueryFirst(v => v.Row == Onelocation.Row && v.Column == Onelocation.Column && v.Depth == 1);
                                }
                                task.NextAddress = Towlocation.LocationCode;
                                task.Roadway = "TC01";
                                task.TaskType = (int)TaskInboundTypeEnum.Inbound;
                                task.TaskState = (int)TaskInStatusEnum.InNew;
                                task.PalletCode = "text";
                                task.CurrentAddress = "text";
                                task.WMSId = 3;
                                _dt_taskRepositiry.AddData(task);
                            }
                        }
                        if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_DK_isready)
                        {
                            var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "东跨架子");
@@ -270,11 +272,11 @@
                                task.TargetAddress = _locationInfoService.GetInLocation(storagemode.storagemode).LocationCode;
                                if (OHTJob.oHTReadData.R_XK_isready)
                                {
                                    task.Grade = 2;
                                    task.Grade = 3;
                                }
                                else
                                {
                                    task.Grade = 1;
                                    task.Grade = 2;
                                }
                                task.Remark = (int)MateTypeEnum.WaiGou;
                                //查找相邻的库位