xiazhengtongxue
2026-03-16 acf83c45ef4f342380d1ef1f146a1d575de7c9eb
fix: 修复前端页面
已修改8个文件
473 ■■■■■ 文件已修改
项目代码/WMS/WIDESEA_WMSClient/config/buttons.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/Index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/Login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/basic/warehouse.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/system/txt_log.vue 251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/config/buttons.js
@@ -110,7 +110,7 @@
    }
},
{
    name: "手 åЍ å®Œ æˆ",
    name: "手动完成",
    icon: '',
    class: '',
    value: 'TaskHandCompleted',
@@ -118,7 +118,7 @@
    }
},
{
    name: "取 æ¶ˆ ä»» åŠ¡",
    name: "手动取消",
    icon: '',
    class: '',
    value: 'TaskHandCancel',
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/Index.vue
@@ -326,7 +326,7 @@
    const createSocket = (url) => {
      // åˆ›å»ºWebSocket连接
      //"ws://127.0.0.1:9295/admin"
      // url = "ws://127.0.0.1:9296";
      client = new WebSocket(url);
      client.onopen = function () {
@@ -606,7 +606,7 @@
        }
      }
      createSocket("ws://127.0.0.1:9296/" + _userInfo.userName);
      // createSocket("ws://172.18.195.201:9296/" + _userInfo.userName);
      Object.assign(_config.$tabs, { open: open, close: close });
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/Login.vue
@@ -117,7 +117,7 @@
    const loading = ref(false);
    const codeImgSrc = ref("");
    const userInfo = reactive({
      userName: "admin",
      userName: "sanyang",
      password: "123456",
      verificationCode: "1234",
      UUID: undefined,
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/basic/warehouse.vue
@@ -69,7 +69,7 @@
          title: "仓库状态",
          field: "warehouseStatus",
          type: "select",
          dataKey: "enableEnum",
          dataKey: "enableStatusEnum",
          data: [],
        },
      ],
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue
@@ -27,31 +27,33 @@
        sortName: "id",
      });
      const editFormFields = ref({
        deviceCode: "",
        deviceName: "",
        deviceType: "",
        deviceStatus: "",
        deviceIp: "",
        devicePort: "",
        devicePlcType: "",
        deviceRemark: "",
        palletCode: "",
        locationCode: "",
        stockStatus: "",
        palletType: "",
        warehouseId: "",
        roadway: "",
      });
      const editFormOptions = ref([
       [
        {field:'palletCode',title:'托盘编号',type:'string'},
        {field:'locationCode',title:'货位编号',type:'string'},
        {field: "stockStatus",title:'库存状态',type:'select',dataKey:'stockStatusEmun',data:[]}
       ]
      ]);
      const searchFormFields = ref({
        palletCode: "",
        locationCode: "",
        roadway:""
        roadway: "",
        warehouseId: "",
      });
      const searchFormOptions = ref([
        [
          { title: "托盘编号", field: "palletCode" ,type:'string'},
          { title: "货位编号", field: "locationCode",type:'string' },
          { title: "托盘编号", field: "palletCode" ,type:'like'},
          { title: "货位编号", field: "locationCode",type:'like' },
          { title: "巷道编号", field: "roadway",type:'string' },
          { title: "仓库", field: "warehouseId",type:'select', dataKey: "warehousetype", data: [] }
        ],
      ]);
      const columns = ref([
@@ -97,9 +99,15 @@
          title: "托盘类型",
          type: "string",
          width: 150,
          align: "left",
          align: "center",
          sort:true,
          bind: { key: "palltype", data: [] },
        formatter: (row) => {
          if (row.warehouseId === 2) {
            return "成品";
          } else {
            return row.palletType == 1 ? "布料" : "松布料";
          }
        }
        },{
          field: "stockStatus",
          title: "库存状态",
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/system/txt_log.vue
@@ -2,16 +2,21 @@
    <div class="mian_log">
        <div class="log_tree">
            <div class="log_search">
                <el-input v-model.lazy="filterText" placeholder="请输入查询关键字" clearable />
                <el-input v-model.lazy="filterText" placeholder="请输入目录名称" clearable />
                <el-button type="success" @click="ReloadTree()">刷 æ–°</el-button>
            </div>
            <el-tree class="log_el_tree" ref="treeRef" :data="treeData" :props="treeProps" :filter-node-method="treeFilter">
            <!-- æ·»åŠ æ ‘èŠ‚ç‚¹æœç´¢ç»“æžœæç¤º -->
            <div class="search-tip" v-if="filterText && filteredCount !== null">
                æ‰¾åˆ° {{ filteredCount }} ä¸ªåŒ¹é…çš„目录
            </div>
            <el-tree class="log_el_tree" ref="treeRef" :data="treeData" :props="treeProps"
                :filter-node-method="treeFilter" node-key="dirPath" highlight-current>
                <template #default="{ node, data }">
                    <div class="treeItem">
                        <div>{{ node.label }}</div>
                        <!-- é«˜äº®åŒ¹é…çš„关键字 -->
                        <div v-html="highlightText(node.label)"></div>
                        <div style="padding-left: 10px;" v-if="isFile(data)">
                            <a href="javascript:;" @click="GetContent(data)"> æ‰“å¼€ </a>
                            <!-- ||<a href="javascript:;" @click="DonwLog(data)"> ä¸‹è½½ </a> -->
                        </div>
                    </div>
                </template>
@@ -27,11 +32,26 @@
                <el-checkbox v-model="keepRead">保持读取</el-checkbox>
            </div>
            <!-- æ·»åŠ å†…å®¹æœç´¢æ  -->
            <div class="content-search" v-if="content">
                <el-input v-model="contentSearchText" placeholder="在日志中搜索..." size="small" clearable
                    @keyup.enter="searchInContent" />
                <el-button type="primary" size="small" @click="searchInContent">搜索</el-button>
                <span v-if="searchResults.length > 0" class="search-info">
                    {{ currentMatchIndex + 1 }}/{{ searchResults.length }}
                </span>
                <el-button v-if="searchResults.length > 0" type="info" size="small"
                    @click="prevMatch">上一处</el-button>
                <el-button v-if="searchResults.length > 0" type="info" size="small"
                    @click="nextMatch">下一处</el-button>
            </div>
            <div ref="pre" v-if="content">
                <el-progress :percentage="percentage" @click="ChangePercent($event)" color="#f56c6c" />
            </div>
            <div ref="showdata" @scroll="handleScroll($event)" style="white-space: pre-wrap;word-break: break-all">{{
                content }}</div>
            <!-- ä¿®æ”¹å†…容显示区域,支持高亮 -->
            <div ref="showdata" @scroll="handleScroll($event)" class="content-display"
                v-html="highlightContent"></div>
        </div>
    </div>
</template>
@@ -56,12 +76,21 @@
            content: "",
            isClick: false,
            keepReadTimer: null
            keepReadTimer: null,
            // æ–°å¢žæœç´¢ç›¸å…³å±žæ€§
            contentSearchText: "",
            searchResults: [],
            currentMatchIndex: -1,
            searchHighlights: [],
            filteredCount: null,
            originalContent: "", // ä¿å­˜åŽŸå§‹å†…å®¹ç”¨äºŽæœç´¢
        }
    },
    watch: {
        filterText(val) {
            this.$refs.treeRef.filter(val)
            this.updateFilteredCount()
        },
        keepRead(val) {
            if (val) {
@@ -75,9 +104,14 @@
                        this.percentage = 100;
                        this.http.post('/api/Sys_Log/GetLogData', parm).then((res) => {
                            this.content = res.data.content;
                            this.originalContent = res.data.content;
                            this.topStartPos = res.data.startIndex;
                            this.$nextTick(function () {
                                this.$refs.showdata.scrollTo(0, this.$refs.showdata.scrollHeight)
                                // é‡æ–°åº”用搜索高亮
                                if (this.contentSearchText) {
                                    this.searchInContent();
                                }
                            })
                        })
                    }
@@ -85,13 +119,159 @@
            } else {
                clearInterval(this.keepReadTimer);
            }
        },
        content(newVal) {
            this.originalContent = newVal;
            if (this.contentSearchText) {
                this.searchInContent();
            } else {
                this.clearHighlights();
            }
        }
    },
    computed: {
        // è®¡ç®—高亮后的内容
        highlightContent() {
            if (!this.content || !this.contentSearchText || this.searchResults.length === 0) {
                return this.content;
            }
            let highlightedContent = this.content;
            const searchText = this.contentSearchText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
            const regex = new RegExp(`(${searchText})`, 'gi');
            // ä½¿ç”¨å…¨å±€æ›¿æ¢æ·»åŠ é«˜äº®æ ‡è®°
            highlightedContent = highlightedContent.replace(regex, (match, p1, offset) => {
                // æ£€æŸ¥æ˜¯å¦å½“前匹配项
                const isCurrentMatch = this.searchResults.some((result, index) =>
                    result.index === offset && index === this.currentMatchIndex
                );
                if (isCurrentMatch) {
                    return `<span class="highlight-current">${match}</span>`;
                } else {
                    return `<span class="highlight">${match}</span>`;
                }
            });
            return highlightedContent;
        }
    },
    methods: {
        // æ ‘节点过滤方法
        treeFilter(value, data) {
            if (!value) return true
            return data.dirName.includes(value)
            return data.dirName.toLowerCase().includes(value.toLowerCase())
        },
        // æ›´æ–°è¿‡æ»¤è®¡æ•°
        updateFilteredCount() {
            if (!this.filterText) {
                this.filteredCount = null;
                return;
            }
            // é€’归计算匹配的节点数
            const countMatches = (nodes) => {
                let count = 0;
                for (const node of nodes) {
                    if (node.dirName.toLowerCase().includes(this.filterText.toLowerCase())) {
                        count++;
                    }
                    if (node.dirs && node.dirs.length) {
                        count += countMatches(node.dirs);
                    }
                }
                return count;
            };
            this.filteredCount = countMatches(this.treeData);
        },
        // é«˜äº®æ ‘节点中的文本
        highlightText(text) {
            if (!this.filterText || !text) return text;
            const index = text.toLowerCase().indexOf(this.filterText.toLowerCase());
            if (index === -1) return text;
            const before = text.substring(0, index);
            const match = text.substring(index, index + this.filterText.length);
            const after = text.substring(index + this.filterText.length);
            return `${before}<span class="highlight">${match}</span>${after}`;
        },
        // åœ¨å†…容中搜索
        searchInContent() {
            if (!this.contentSearchText || !this.content) {
                this.clearHighlights();
                return;
            }
            const searchText = this.contentSearchText.toLowerCase();
            const content = this.content;
            // æŸ¥æ‰¾æ‰€æœ‰åŒ¹é…é¡¹çš„位置
            const results = [];
            let index = content.toLowerCase().indexOf(searchText);
            while (index !== -1) {
                results.push({
                    index: index,
                    length: this.contentSearchText.length
                });
                index = content.toLowerCase().indexOf(searchText, index + 1);
            }
            this.searchResults = results;
            if (results.length > 0) {
                this.currentMatchIndex = 0;
                this.scrollToMatch(this.currentMatchIndex);
            } else {
                this.currentMatchIndex = -1;
                this.$message.info('未找到匹配内容');
            }
        },
        // æ»šåŠ¨åˆ°æŒ‡å®šåŒ¹é…é¡¹
        scrollToMatch(matchIndex) {
            if (matchIndex < 0 || matchIndex >= this.searchResults.length) return;
            const match = this.searchResults[matchIndex];
            const preContent = this.content.substring(0, match.index);
            const lines = preContent.split('\n');
            // ä¼°è®¡æ»šåŠ¨ä½ç½®ï¼ˆç®€åŒ–ç‰ˆï¼‰
            const lineHeight = 20; // å‡è®¾æ¯è¡Œé«˜åº¦
            const estimatedScrollTop = lines.length * lineHeight;
            this.$nextTick(() => {
                this.$refs.showdata.scrollTop = estimatedScrollTop - 100;
            });
        },
        // ä¸Šä¸€å¤„匹配
        prevMatch() {
            if (this.searchResults.length === 0) return;
            this.currentMatchIndex = (this.currentMatchIndex - 1 + this.searchResults.length) % this.searchResults.length;
            this.scrollToMatch(this.currentMatchIndex);
        },
        // ä¸‹ä¸€å¤„匹配
        nextMatch() {
            if (this.searchResults.length === 0) return;
            this.currentMatchIndex = (this.currentMatchIndex + 1) % this.searchResults.length;
            this.scrollToMatch(this.currentMatchIndex);
        },
        // æ¸…除高亮
        clearHighlights() {
            this.searchResults = [];
            this.currentMatchIndex = -1;
        },
        isFile(data) {
            if (data.dirPath) {
                return data.dirPath.indexOf(".log") != -1 || data.dirPath.indexOf(".txt") != -1;
@@ -118,6 +298,7 @@
            this.http.post('/api/Sys_Log/GetLogData', parm).then((res) => {
                this.isClick = true;
                this.content = res.data.content;
                this.originalContent = res.data.content;
                this.topStartPos = res.data.startIndex;
                this.$nextTick(function () {
                    if (percent == 100) {
@@ -140,8 +321,12 @@
            this.filePath = data.dirPath;
            this.fileName = data.dirName;
            this.percentage = parm.percent;
            this.contentSearchText = ""; // æ¸…空搜索
            this.clearHighlights();
            this.http.post('/api/Sys_Log/GetLogData', parm).then((res) => {
                this.content = res.data.content;
                this.originalContent = res.data.content;
                this.topStartPos = res.data.startIndex;
                this.fileSize = res.data.len;
                this.$nextTick(function () {
@@ -170,8 +355,13 @@
                        this.percentage = 0.1;
                    }
                    this.content = res.data.content + this.content;
                    this.originalContent = res.data.content + this.originalContent;
                    this.$nextTick(function () {
                        this.$refs.showdata.scrollTo(0, 1)
                        // é‡æ–°æœç´¢
                        if (this.contentSearchText) {
                            this.searchInContent();
                        }
                    })
                })
            }
@@ -185,6 +375,7 @@
            this.http.post("/api/Sys_Log/GetLogList", {}, "加载目录中……")
                .then(res => {
                    this.treeData = res.data.dirs;
                    this.updateFilteredCount();
                })
        },
        GetSize(size) {
@@ -233,12 +424,17 @@
    margin-left: 5px;
}
.search-tip {
    font-size: 12px;
    color: #909399;
    padding: 5px 0;
}
.log_el_tree {
    width: 100%;
    overflow-x: auto;
    flex: 1;
}
.treeItem {
    overflow-x: auto;
@@ -252,12 +448,10 @@
}
.treeItem::-webkit-scrollbar-thumb {
    /* å®šä¹‰æ»šåŠ¨æ¡æ»‘å—é¢œè‰² */
    background: #ccc;
}
.treeItem::-webkit-scrollbar-thumb:hover {
    /* å®šä¹‰æ»šåŠ¨æ¡æ»‘å—æ‚¬åœé¢œè‰² */
    background: orange;
}
@@ -283,15 +477,46 @@
    color: #bbb;
}
.log_content>div:last-child {
.content-search {
    display: flex;
    gap: 5px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}
.search-info {
    font-size: 12px;
    color: #666;
    margin: 0 5px;
}
.content-display {
    flex: 1;
    overflow-y: scroll;
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid black;
    white-space: pre-wrap;
    word-break: break-all;
}
a {
    color: blue;
}
</style>
:deep(.highlight) {
    background-color: #ffeb3b;
    color: #000;
    padding: 0;
    border-radius: 2px;
}
:deep(.highlight-current) {
    background-color: #ff9800;
    color: #000;
    padding: 0;
    border-radius: 2px;
    font-weight: bold;
}
</style>
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue
@@ -1,19 +1,10 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
    <script>
<script>
import extend from "@/extension/taskinfo/task.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
@@ -38,12 +29,12 @@
      nextAddress: "",
      creater: "",
      createDate: "",
      palletType:"",
      WarehouseId:"",
      palletType: "",
      WarehouseId: "",
    });
    const editFormOptions = ref([
      [
        { title: "任务状态",field: "taskStatus",type: "select",dataKey: "taskStatusEnum",data: [],},
        { title: "任务状态", field: "taskStatus", type: "select", dataKey: "taskStatusEnum", data: [], },
      ],
      [
        { title: "起始地址", field: "sourceAddress", type: "string" },
@@ -55,6 +46,7 @@
      ]
    ]);
    const searchFormFields = ref({
      taskId: "",
      taskNum: "",
      palletCode: "",
      roadway: "",
@@ -64,24 +56,23 @@
      targetAddress: "",
      currentAddress: "",
      nextAddress: "",
      creater: "",
      createDate: "",
    });
    const searchFormOptions = ref([
      [
        { title: "任务号", field: "taskNum", type: "int" },
        { title: "任务号", field: "taskId", type: "int" },
        { title: "MES号", field: "taskNum", type: "like" },
        { title: "托盘编号", field: "palletCode", type: "like" },
        { title: "创建人", field: "creater", type: "like" },
      ],
      [
        { title: "任务类型",field: "taskType",type: "selectList",dataKey: "taskType",data: [],},
        { title: "任务状态",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
        { title: "任务类型", field: "taskType", type: "selectList", dataKey: "taskTypeEnum", data: [], },
        { title: "任务状态", field: "taskStatus", type: "selectList", dataKey: "taskStatusEnum", data: [], },
        { title: "巷道号", field: "roadway", type: "like" },
      ],
      [
        { title: "起始地址", field: "sourceAddress", type: "like" },
        { title: "目标地址", field: "targetAddress", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
        { title: "仓库", field: "warehouseId", type: "selectList", dataKey: "warehouseEnum", data: [], },
      ],
    ]);
    const columns = ref([
@@ -111,8 +102,14 @@
        title: "托盘类型",
        type: "string",
        width: 80,
        align: "left",
        bind: { key: "taskpalltype", data: [] },
        align: "center",
        formatter: (row) => {
          if (row.warehouseId === 2) {
            return "成品";
          } else {
            return row.palletType == 1 ? "布料" : "松布料";
          }
        }
      },
      {
        field: "roadway",
@@ -120,7 +117,7 @@
        type: "string",
        width: 70,
        align: "left",
      },{
      }, {
        field: "warehouseId",
        title: "仓库编号",
        type: "int",
@@ -173,13 +170,6 @@
        align: "left",
      },
      {
        field: "numberSsuances",
        title: "异常次数",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
@@ -198,14 +188,6 @@
        title: "任务下发时间",
        type: "datetime",
        width: 160,
        align: "left",
        hidden:true,
      },
      {
        field: "wMSId",
        title: "WMS任务主键",
        type: "int",
        width: 120,
        align: "left",
        hidden: true,
      },
@@ -237,7 +219,7 @@
        width: 160,
        align: "left",
      },
    ]);
    const detail = ref({
      cnName: "#detailCnName",
@@ -257,5 +239,4 @@
    };
  },
});
</script>
</script>
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue
@@ -1,23 +1,22 @@
<template>
  <view-grid
    ref="grid"
    :columns="columns"
    :detail="detail"
    :editFormFields="editFormFields"
    :editFormOptions="editFormOptions"
    :searchFormFields="searchFormFields"
    :searchFormOptions="searchFormOptions"
    :table="table"
    :extend="extend"
  >
  <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
    :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
    :table="table" :extend="extend">
  </view-grid>
</template>
    <script>
<script>
import extend from "@/extension/taskinfo/task_hty.js";
import { ref, defineComponent } from "vue";
import { ref, defineComponent, computed } from "vue";
export default defineComponent({
  setup() {
    const getPalletTypeLabel = (warehouseId, palletType) => {
      if (warehouseId === 2) {
        return "成品";
      } else {
        return palletType === 1 ? "布料" : "松布料";
      }
    };
    const table = ref({
      key: "taskId",
      footer: "Foots",
@@ -26,9 +25,12 @@
      url: "/Task_Hty/",
      sortName: "taskId",
    });
    const editFormFields = ref({});
    const editFormOptions = ref([]);
    const searchFormFields = ref({
      sourceId: "",
      taskNum: "",
      palletCode: "",
      roadway: "",
@@ -38,26 +40,34 @@
      targetAddress: "",
      currentAddress: "",
      nextAddress: "",
      createDate: "",
      warehouseId: "",
      creater: "",
      createDate: "",
    });
    const searchFormOptions = ref([
    [
        { title: "任务号", field: "taskNum", type: "int" },
      [
        { title: "任务号", field: "sourceId", type: "int" },
        { title: "MES号", field: "taskNum", type: "like" },
        { title: "托盘编号", field: "palletCode", type: "like" },
        { title: "创建人", field: "creater", type: "like" },
      ],
      [
        { title: "任务类型",field: "taskType",type: "selectList",dataKey: "taskType",data: [],},
        { title: "任务状态",field: "taskStatus",type: "selectList",dataKey: "taskStatusEnum",data: [],},
        { title: "任务类型", field: "taskType", type: "selectList", dataKey: "taskTypeEnum", data: [], },
        { title: "任务状态", field: "taskStatus", type: "selectList", dataKey: "taskStatusEnum", data: [], },
        { title: "巷道号", field: "roadway", type: "like" },
      ],
      [
        { title: "起始地址", field: "sourceAddress", type: "like" },
        { title: "目标地址", field: "targetAddress", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
        { title: "仓库", field: "warehouseId", type: "selectList", dataKey: "warehouseEnum", data: [], },
      ],
      [
        { title: "创建人", field: "creater", type: "like" },
        { title: "创建时间", field: "createDate", type: "datetime" },
      ]
    ]);
    const columns = ref([
      {
        field: "taskId",
@@ -93,8 +103,14 @@
        title: "托盘类型",
        type: "string",
        width: 80,
        align: "left",
        bind: { key: "taskhtypalltype", data: [] },
        align: "center",
        formatter: (row) => {
          if (row.warehouseId === 2) {
            return "成品";
          } else {
            return row.palletType == 1 ? "布料" : "松布料";
          }
        }
      },
      {
        field: "warehouseId",
@@ -156,49 +172,20 @@
        align: "left",
      },
      {
        field: "numberSsuances",
        title: "异常次数",
        type: "string",
        width: 100,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 100,
        align: "left",
      },
      // {
      //   field: "grade",
      //   title: "优先级",
      //   type: "int",
      //   width: 80,
      //   align: "left",
      // },
      {
        field: "dispatchertime",
        title: "任务下发时间",
        type: "datetime",
        width: 160,
        align: "left",
        hidden:true,
      },
      {
        field: "wMSId",
        title: "WMS任务主键",
        type: "int",
        width: 120,
        align: "left",
        hidden: true,
      },
      // {
      //   field: "creater",
      //   title: "创建人",
      //   type: "string",
      //   width: 90,
      //   align: "left",
      // },
      {
        field: "createDate",
        title: "创建时间",
@@ -206,28 +193,15 @@
        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: "#detailCnName",
      table: "",
      columns: [],
      sortName: "",
    });
    return {
      table,
      extend,
@@ -240,5 +214,4 @@
    };
  },
});
</script>
</script>