From 7e2d31c20b816309cb222c2159c3875623f74385 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期三, 28 五月 2025 10:24:22 +0800
Subject: [PATCH] 工具入库功能

---
 src/views/tms/modules/inboundOrder/JSelectSharpenListModal.vue |    0 
 src/views/tms/InboundList.vue                                  |   39 ++
 src/views/tms/modules/inbound/InboundListRight.vue             |  515 ++++++++++++++++++++++++++++
 src/views/tms/modules/inbound/InboundModel.vue                 |   87 ----
 src/views/tms/modules/inboundOrder/JSelectToolingModal.vue     |    0 
 src/views/tms/modules/baseTools/BaseToolsListRight.vue         |   30 +
 src/views/tms/modules/inbound/InboundListLeft.vue              |  323 +++++++++++++++++
 src/views/tms/modules/inboundOrder/JSelectReturnListModal.vue  |    2 
 src/views/tms/InboundOrderList.vue                             |   10 
 src/views/tms/modules/inboundOrder/InboundDetailList.vue       |    0 
 src/views/tms/modules/toolsClassify/ToolsClassifyListRight.vue |   14 
 src/views/tms/modules/toolsClassify/ToolsClassifyForm.vue      |    2 
 src/views/tms/modules/inboundOrder/InboundOrderModel.vue       |   10 
 13 files changed, 940 insertions(+), 92 deletions(-)

diff --git a/src/views/tms/InboundList.vue b/src/views/tms/InboundList.vue
new file mode 100644
index 0000000..6147900
--- /dev/null
+++ b/src/views/tms/InboundList.vue
@@ -0,0 +1,39 @@
+<template>
+  <a-row
+    type="flex"
+    :gutter="16"
+  >
+    <a-col
+      :md="5"
+      :sm="24"
+    >
+      <inbound-list-left />
+    </a-col>
+    <a-col
+      :md="24-5"
+      :sm="24"
+    >
+      <inbound-list-right />
+    </a-col>
+  </a-row>
+</template>
+
+<script>
+import InboundListLeft from './modules/inbound/InboundListLeft'
+import InboundListRight from './modules/inbound/InboundListRight'
+export default {
+  name: 'InboundList',
+  components: { InboundListLeft, InboundListRight },
+  data() {
+    return {
+      description: '宸ュ叿鍏ュ簱',
+      currentOrgCode: ''
+    }
+  },
+  methods: {}
+}
+</script>
+
+<style scoped>
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/tms/InboundOrderList.vue b/src/views/tms/InboundOrderList.vue
index fda2a46..214521c 100644
--- a/src/views/tms/InboundOrderList.vue
+++ b/src/views/tms/InboundOrderList.vue
@@ -72,8 +72,8 @@
 
 <script>
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import InboundOrderModel from './modules/inbound/InboundOrderModel'
-import InboundDetailList from './modules/inbound/InboundDetailList'
+import InboundOrderModel from './modules/inboundOrder/InboundOrderModel'
+import InboundDetailList from './modules/inboundOrder/InboundDetailList'
 import { requestPut } from '@/api/manage'
 import JDictSelectTag from '@/components/dict/JDictSelectTag'
 import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
@@ -93,10 +93,8 @@
       description: '鍏ュ簱鐢宠鍗�',
       url: {
         list: '/tms/inboundOrder/list',
-        toolingStorageStatus: '/tooling/storage/toolingStorageStatus',
-        importExcelUrl: 'tooling/storage/importExcel',
-        exportXlsUrl: '/tooling/storage/exportXls',
-        takeBack: '/tooling/storage/takeBack',
+        importExcelUrl: '/tms/inboundOrder/importExcel',
+        exportXlsUrl: '/tms/inboundOrder/exportXls',
         edit:'/tms/inboundOrder/edit',
         submit:'/tms/inboundOrder/submit'
       },
diff --git a/src/views/tms/modules/baseTools/BaseToolsListRight.vue b/src/views/tms/modules/baseTools/BaseToolsListRight.vue
index 31a17e8..9672d5b 100644
--- a/src/views/tms/modules/baseTools/BaseToolsListRight.vue
+++ b/src/views/tms/modules/baseTools/BaseToolsListRight.vue
@@ -54,10 +54,10 @@
       >
           <a-button @click="handleAdd(nodeSelected)" type="primary" icon="plus" :disabled="!nodeSelected.key || nodeSelected.entity.leafFlag === '2'">鏂板</a-button>
       </Tooltip>
-      <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">瀵煎嚭</a-button>
+      <!-- <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">瀵煎嚭</a-button>
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
         <a-button type="primary" icon="import">瀵煎叆</a-button>
-      </a-upload>
+      </a-upload> -->
     </div>
 
     <!-- table鍖哄煙-begin -->
@@ -75,6 +75,7 @@
         :loading="loading"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}"
         class="j-table-force-nowrap"
+        :customRow="customRow"
         @change="handleTableChange">
 
         <template slot="htmlSlot" slot-scope="text">
@@ -200,6 +201,18 @@
     data () {
       return {
         description: '宸ュ叿淇℃伅绠$悊椤甸潰',
+        /* 鍒嗛〉鍙傛暟 */
+      ipagination:{
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ['10', '20', '50'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
         // 琛ㄥご
         columns: [
           {
@@ -520,8 +533,10 @@
           .then((res) => {
             if (res.success) {
               this.dataSource = res.result.records; // 鏇存柊琛ㄦ牸鏁版嵁
+              this.ipagination.total = res.result.total
             } else {
               this.$message.warning("璇烽�夋嫨鍙跺瓙鑺傜偣杩涜鏌ヨ");
+              this.ipagination.total = 0
             }
           })
           .finally(() => {
@@ -552,7 +567,16 @@
         this.$refs.paraTurningToolsList.visable = false
         this.$refs.paraBladeList.visable = false
         this.$refs.toolsConfigPropertyList.visable = false
-      }
+      },
+      customRow(record) {
+        return {
+          on: {
+            click: () => {
+              this.onSelectChange(record.id.split(","), [record]);
+            }
+          }
+        }
+      },
       
     },
   }
diff --git a/src/views/tms/modules/inbound/InboundListLeft.vue b/src/views/tms/modules/inbound/InboundListLeft.vue
new file mode 100644
index 0000000..7621396
--- /dev/null
+++ b/src/views/tms/modules/inbound/InboundListLeft.vue
@@ -0,0 +1,323 @@
+<template>
+  <a-card
+    :loading="cardLoading"
+    :bordered="false"
+    title="宸ュ叿鍒嗙被"
+    style="height: 100%;"
+  >
+    <a-spin :spinning="loading">
+      <a-alert
+        type="info"
+        :showIcon="true"
+        style="margin-right: 54px;"
+      >
+        <div slot="message">
+          褰撳墠锛�<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span>
+          <a
+            v-if="this.currSelected.title"
+            style="margin-left: 10px"
+            @click="onClearSelected"
+          >鍙栨秷</a>
+        </div>
+      </a-alert>
+      <!-- <div class="drawer-bootom-button">
+        <a-dropdown
+          :trigger="['click']"
+          placement="bottomCenter"
+        >
+          <a-menu slot="overlay">
+            <a-menu-item
+              key="1"
+              @click="expandAll"
+            >灞曞紑鎵�鏈�</a-menu-item>
+            <a-menu-item
+              key="2"
+              @click="closeAll"
+            >鍚堝苟鎵�鏈�</a-menu-item>
+            <a-menu-item
+              key="3"
+              @click="refreshTree"
+            >鍒锋柊</a-menu-item>
+          </a-menu>
+          <a-button>
+            <a-icon type="bars" />
+          </a-button>
+        </a-dropdown>
+      </div> -->
+
+      <a-input-search
+        @search="handleSearch"
+        style="width:100%;margin-top: 10px"
+        placeholder="妫�绱㈠伐鍏峰垎绫�"
+        allowClear
+        v-model="searchInput"
+        @change="handleChange"
+      />
+
+      <!-- showLine -->
+      <a-tree
+        :checkStrictly="checkStrictly"
+      
+        :selectedKeys="selectedKeys"
+        :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
+        :treeData="treeDataSource"
+        
+        :defaultExpandAll="true"
+        @select="onSelect"
+        @expand="onExpand"
+      >
+        <template
+          slot="title"
+          slot-scope="{title, type, rfield1}"
+        >
+          <Tooltip
+            placement="top"
+            title="宸ュ叿鍒嗙被"
+          >
+            <i
+              v-if="type == 0"
+              class="action-jeecg actioncompany2"
+              style="font-size: 18px;"
+            />
+          </Tooltip>
+
+          <span v-if="title.indexOf(searchValue) > -1">
+            {{ title.substr(0, title.indexOf(searchValue)) }}
+            <span class="replaceSearch">{{ searchValue }}</span>
+            {{ title.substr(title.indexOf(searchValue) + searchValue.length) }}
+          </span>
+          <span v-else>{{ title }}</span>
+      
+        </template>
+      </a-tree>
+    </a-spin>
+  </a-card>
+</template>
+
+<script>
+import { getAction } from '@/api/manage'
+import Tooltip from 'ant-design-vue/es/tooltip'
+export default {
+  name: 'inboundListLeft',
+  components: {
+    Tooltip,
+  },
+  props: ['value'],
+  data() {
+    return {
+      searchInput: '',
+      cardLoading: false,
+      loading: false,
+      treeDataSource: [],
+      selectedKeys: [],
+      expandedKeys: [],
+      url: {
+        factoryTreeList: '/tms/toolsClassify/loadTree',
+      },
+      searchValue: '',
+      dataList: [],
+      autoExpandParent: true,
+      checkStrictly: true,
+      allTreeKeys: [],
+      currSelected: {},
+      hiding: false,
+    }
+  },
+  created() {
+    this.queryTreeData();
+    this.closeAll();
+  },
+  methods: {
+    getCurrSelectedTitle() {
+      return !this.currSelected.title ? '' : this.currSelected.title;
+    },
+    onClearSelected() {
+      this.hiding = true;
+      this.currSelected = {};
+      this.selectedKeys = [];
+    },
+    onSelect(selectedKeys, e) {
+      this.hiding = false;
+      let record = e.node.dataRef;
+      this.currSelected = Object.assign({}, record);
+      this.selectedKeys = [record.key];
+    },
+    onExpand(expandedKeys) {
+      this.expandedKeys = expandedKeys;
+      this.autoExpandParent = false;
+    },
+    queryTreeData() {
+      this.loading = true;
+      this.cardLoading = true;
+      getAction(this.url.factoryTreeList).then((res) => {
+        if (res.success) {
+          this.dataList = [];
+          this.allTreeKeys = [];
+          this.treeDataSource = res.result;
+          this.generateList(res.result);
+        } else {
+          this.$message.warn(res.message);
+        }
+      }).finally(() => {
+        this.loading = false;
+        this.cardLoading = false;
+      })
+    },
+
+    handleChange() {
+      let search = this.searchInput;
+      let expandedKeys = this.dataList
+        .map(item => {
+          if (item.title.indexOf(search) > -1) {
+            return this.getParentKey(item.key, this.treeDataSource);
+          }
+          return null;
+        })
+        .filter((item, i, self) => item && self.indexOf(item) === i);
+      Object.assign(this, {
+        expandedKeys,
+        searchValue: search,
+        autoExpandParent: true,
+      });
+    },
+    handleSearch(value) {
+      let search = value;
+      let expandedKeys = this.dataList
+        .map(item => {
+          if (item.title.indexOf(search) > -1) {
+            return this.getParentKey(item.key, this.treeDataSource);
+          }
+          return null;
+        })
+        .filter((item, i, self) => item && self.indexOf(item) === i);
+      Object.assign(this, {
+        expandedKeys,
+        searchValue: search,
+        autoExpandParent: true,
+      });
+    },
+    getParentKey(key, tree) {
+      let parentKey;
+      for (let i = 0; i < tree.length; i++) {
+        const node = tree[i];
+        if (node.children) {
+          if (node.children.some(item => item.key === key)) {
+            parentKey = node.key;
+          } else if (
+            this.getParentKey(key, node.children)) {
+            parentKey = this.getParentKey(key, node.children);
+          }
+        }
+      }
+      return parentKey;
+    },
+
+    generateList(data) {
+      for (let i = 0; i < data.length; i++) {
+        const node = data[i];
+        const key = node.key;
+        const title = node.title;
+        this.dataList.push({ key, title: title });
+        this.allTreeKeys.push(key);
+        if (node.children) {
+          this.generateList(node.children);
+        }
+      }
+    },
+    expandAll() {
+      this.expandedKeys = this.allTreeKeys;
+    },
+    closeAll() {
+      this.expandedKeys = this.allSiteIds;
+    },
+    refreshTree() {
+      this.queryTreeData();
+    }
+  },
+  mounted() {
+    this.$bus.$on('queryTreeData', this.queryTreeData);
+  },
+  //鐩戝惉
+  watch: {
+    currSelected(val) {//鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
+      this.$bus.$emit('getCurrSelected', val)
+    },
+  }
+}
+</script>
+
+<style scoped>
+.replaceSearch {
+  color: #40a9ff;
+  font-weight: bold;
+  background-color: rgb(204, 204, 204);
+}
+/*闅愯棌鏍戠殑榛樿icon*/
+.ant-tree-switcher-noop {
+  display: none !important;
+}
+/*闅愯棌鏍戠殑榛樿绔栫嚎*/
+.ant-tree.ant-tree-show-line li:not(:last-child):before {
+  border-left: 0px;
+}
+
+.ant-card-body .table-operator {
+  margin: 15px;
+}
+
+.anty-form-btn {
+  width: 100%;
+  text-align: center;
+}
+
+.anty-form-btn button {
+  margin: 0 5px;
+}
+
+.anty-node-layout .ant-layout-header {
+  padding-right: 0;
+}
+
+.header {
+  padding: 0 8px;
+}
+
+.header button {
+  margin: 0 3px;
+}
+
+.ant-modal-cust-warp {
+  height: 100%;
+}
+
+.ant-modal-cust-warp .ant-modal-body {
+  height: calc(100% - 110px) !important;
+  overflow-y: auto;
+}
+
+.ant-modal-cust-warp .ant-modal-content {
+  height: 90% !important;
+  overflow-y: hidden;
+}
+
+#app .desktop {
+  height: auto !important;
+}
+
+/** Button鎸夐挳闂磋窛 */
+.ant-btn {
+  margin-left: 3px;
+}
+.ant-alert {
+  padding: 5px 15px 5px 37px;
+}
+.drawer-bootom-button {
+  position: absolute;
+  top: 1px;
+  /* padding: 10px 16px; */
+  text-align: left;
+  right: 0;
+  background: #fff;
+  border-radius: 0 0 2px 2px;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/tms/modules/inbound/InboundListRight.vue b/src/views/tms/modules/inbound/InboundListRight.vue
new file mode 100644
index 0000000..d8c422b
--- /dev/null
+++ b/src/views/tms/modules/inbound/InboundListRight.vue
@@ -0,0 +1,515 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+           <a-col
+            :md="6"
+            :sm="8"
+          >
+            <a-form-item
+              label="宸ュ叿缂栧彿"
+              :labelCol="{span: 5}"
+              :wrapperCol="{span: 18, offset: 1}"
+            >
+              <a-input
+                placeholder="璇疯緭鍏ュ伐鍏风紪鍙锋绱�"
+                v-model="queryParam.toolCode"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :md="6"
+            :sm="8"
+          >
+            <a-form-item
+              label="鍨嬪彿/鍥惧彿"
+              :labelCol="{span: 5}"
+              :wrapperCol="{span: 18, offset: 1}"
+            >
+              <a-input
+                placeholder="璇疯緭鍏ュ瀷鍙�/鍥惧彿妫�绱�"
+                v-model="queryParam.toolModel"
+              ></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+            </span>
+          </a-col>
+
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
+
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator">
+       <Tooltip
+        placement="top"
+        title="閫夋嫨鍙跺瓙鑺傜偣鍚庡啀鎵ц鏂板"
+      >
+          <a-button @click="handleAdd(nodeSelected)" type="primary" icon="plus" :disabled="!nodeSelected.key || nodeSelected.entity.leafFlag === '2'">鏂板</a-button>
+      </Tooltip>
+      <!-- <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">瀵煎嚭</a-button>
+      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+        <a-button type="primary" icon="import">瀵煎叆</a-button>
+      </a-upload> -->
+      <a-button @click="handleInbound(nodeSelected)" type="primary" icon="plus">鐢宠鍗曞叆搴�</a-button>
+    </div>
+
+    <!-- table鍖哄煙-begin -->
+    <div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            涓嬭浇
+          </a-button>
+        </template>
+
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">缂栬緫</a>
+
+          <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">璇︽儏</a>
+              </a-menu-item>
+              <a-menu-item>
+                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+                  <a>鍒犻櫎</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
+        </span>
+
+      </a-table>
+    </div>
+
+     <a-tabs defaultActiveKey="1">
+      <a-tab-pane key="1">
+        <span slot="tab">
+          <a-badge>鍙傛暟&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+        </span>
+        <para-hole-tools-list ref="paraHoleToolsList"></para-hole-tools-list>
+        <para-threading-tool-list ref="paraThreadingToolList"></para-threading-tool-list>
+        <para-mill-tool-list ref="paraMillToolList"></para-mill-tool-list>
+        <para-turning-tools-list ref="paraTurningToolsList"></para-turning-tools-list>
+        <para-blade-list ref="paraBladeList"></para-blade-list>
+        <para-common-tool-list ref="paraCommonToolList"></para-common-tool-list>
+      </a-tab-pane>
+
+      <a-tab-pane
+        key="2"
+        forceRender
+      >
+        <span slot="tab">
+          <a-badge>绠$悊鍙傛暟&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a-badge>
+        </span>
+        <tools-config-property-list ref="toolsConfigPropertyList"></tools-config-property-list>
+      </a-tab-pane>
+    </a-tabs>
+
+    <inbound-model ref="modalForm" @ok="modalFormOk" :nodeSelected="nodeSelected"></inbound-model>
+  </a-card>
+</template>
+
+<script>
+
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import Tooltip from 'ant-design-vue/es/tooltip'
+  import { getAction, postAction, deleteAction, requestPut } from '@api/manage'
+  import ParaHoleToolsList from '.././baseTools/ParaHoleToolsList'
+  import ToolsConfigPropertyList from '.././baseTools/ToolsConfigPropertyList'
+  import ParaMillToolList from '.././baseTools/ParaMillToolList'
+  import ParaThreadingToolList from '.././baseTools/ParaThreadingToolList'
+  import ParaTurningToolsList from '.././baseTools/ParaTurningToolsList'
+  import ParaCommonToolList from '.././baseTools/ParaCommonToolList'
+  import ParaBladeList from '.././baseTools/ParaBladeList'
+  import InboundModel from './InboundModel'
+
+  export default {
+    name: 'InboundListRight',
+    mixins:[JeecgListMixin, mixinDevice],
+    components: {
+      Tooltip,
+      ParaHoleToolsList,
+      ToolsConfigPropertyList,
+      ParaMillToolList,
+      ParaThreadingToolList,
+      ParaTurningToolsList,
+      ParaCommonToolList,
+      ParaBladeList,
+      InboundModel
+    },
+    data () {
+      return {
+        description: '宸ュ叿鍏ュ簱绠$悊椤甸潰',
+        /* 鍒嗛〉鍙傛暟 */
+      ipagination:{
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ['10', '20', '50'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
+        // 琛ㄥご
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key:'rowIndex',
+            width:60,
+            align:"center",
+            customRender:function (t,r,index) {
+              return parseInt(index)+1;
+            }
+          },
+          {
+            title:'宸ュ叿缂栫爜',
+            align:"center",
+            dataIndex: 'toolCode'
+          },
+          {
+            title:'鍏ュ簱绫诲瀷',
+            align:"center",
+            dataIndex: 'inStorehouseType'
+          },
+          {
+            title:'鍨嬪彿/鍥惧彿',
+            align:"center",
+            dataIndex: 'toolModel'
+          },
+          {
+            title:'涓枃鍚嶇О',
+            align:"center",
+            dataIndex: 'chineseName'
+          },
+          
+          {
+            title:'鍏ュ簱鏁伴噺',
+            align:"center",
+            dataIndex: 'inStorageQuantity'
+          },
+          // {
+          //   title:'澶囨敞',
+          //   align:"center",
+          //   dataIndex: 'remark'
+          // },
+          {
+            title:'鍒涘缓浜�',
+            align:"center",
+            dataIndex: 'createBy'
+          },
+          {
+            title:'鍒涘缓鏃堕棿',
+            align:"center",
+            dataIndex: 'createTime',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align:"center",
+            fixed:"right",
+            width:147,
+            scopedSlots: { customRender: 'action' }
+          }
+        ],
+        url: {
+          list: "/tms/inboundDetail/list",
+          paraHolesToolsList:"/tms/baseTools/paraHolesToolsList",
+          paraCommonToolList:"/tms/baseTools/paraCommonToolList",
+          paraThreadingToolList:"/tms/baseTools/paraThreadingToolList",
+          paraMillToolList:"/tms/baseTools/paraMillToolList",
+          paraTurningToolsList:"/tms/baseTools/paraTurningToolsList",
+          paraBladeList:"/tms/baseTools/paraBladeList",
+          delete: "/tms/baseTools/delete",
+          deleteBatch: "/tms/baseTools/deleteBatch",
+          edit: '/tms/baseTools/edit',
+          exportXlsUrl: "/tms/baseTools/exportXls",
+          importExcelUrl: "tms/baseTools/importExcel",
+          queryParaByToolCode:"/tms/baseTools/queryByToolCode",
+          queryByToolCode:"/tms/toolsConfigProperty/queryByToolCode"
+        },
+        dictOptions:{},
+        superFieldList:[],
+        nodeSelected: {}, // 褰撳墠閫変腑鐨勮妭鐐规暟鎹�
+        paraTypeFlag:'',
+        disableMixinCreated:true
+      }
+    },
+    created() {
+      this.$bus.$on('getCurrSelected', (data) => {
+      //getCurrSelected 浜嬩欢 鎺ユ敹缁勪欢浼犻�掔殑鍙傛暟
+      this.nodeType = (data.type == undefined ? 0 : data.type);
+      this.paraTypeFlag = (data.entity == undefined ? 0 : data.entity.paraTypeFlag)
+      this.nodeSelected = data;
+      this.loadData()
+      this.clearPara()
+    })
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      },
+    },
+    methods: {
+
+      handleAdd(entity) {
+        if (!this.nodeSelected ) {
+          this.$message.warning('璇峰厛閫夋嫨涓�涓伐鍏峰垎绫�');
+          return;
+        }
+        // 鎵撳紑鏂板妯℃�佹锛屽苟浼犻�掑綋鍓嶉�変腑鐨勮妭鐐�
+          this.$refs.modalForm.add(this.nodeSelected);
+          this.$refs.modalForm.title = "鏂板閫氱敤鍙傛暟绫诲瀷宸ュ叿";
+          this.$refs.modalForm.disableSubmit = false;
+      },
+      handleDelete(id) {
+        deleteAction(this.url.delete, {id: id}).then((res) => {
+                if (res.success) {
+                  //閲嶆柊璁$畻鍒嗛〉闂
+                  this.loadData()
+                  this.$message.success(res.message);
+                  this.$bus.$emit('queryTreeData')
+                  this.clearPara()
+                } else {
+                  this.$message.warning(res.message);
+                }
+              });
+      },
+      modalFormOk() {
+        this.loadData(); // 鍒锋柊琛ㄦ牸鏁版嵁
+        this.$bus.$emit('queryTreeData') //鍒锋柊宸︿晶鏍�
+      },
+
+      onSelectChange(selectedRowKeys) {
+        this.selectedRowKeys = selectedRowKeys;
+        //閫氳繃id鏌ヨ绠$悊鍙傛暟鍜屽弬鏁版暟鎹�
+        getAction(this.url.queryParaByToolCode, { toolCode: this.selectedRowKeys[0],paraTypeFlag:this.paraTypeFlag}).then((res) => {
+          if (res.success) {
+            if(this.paraTypeFlag === "1"){
+              this.$refs.paraCommonToolList.getPara(res.result);
+            }else if(this.paraTypeFlag === "2"){
+              this.$refs.paraHoleToolsList.getPara(res.result);
+            }else if(this.paraTypeFlag === "3"){
+              this.$refs.paraThreadingToolList.getPara(res.result);
+            }else if(this.paraTypeFlag === "4"){
+              this.$refs.paraMillToolList.getPara(res.result);
+            }else if(this.paraTypeFlag === "5"){
+              this.$refs.paraTurningToolsList.getPara(res.result);
+            }else if(this.paraTypeFlag === "6"){
+              this.$refs.paraBladeList.getPara(res.result);
+            }
+          } else {
+            this.$message.warning(res.message);
+          }
+        })
+        getAction(this.url.queryByToolCode, { toolCode: this.selectedRowKeys[0]}).then((res) => {
+          if (res.success) {
+            this.$refs.toolsConfigPropertyList.getPara(res.result);
+          } else {
+            this.$message.warning(res.message);
+          }
+        })
+
+      },
+      // 澶勭悊缂栬緫鎸夐挳鐐瑰嚮浜嬩欢
+      handleEditSelected() {
+        if (this.selectedRowKeys.length === 0) {
+          this.$message.warning('璇烽�夋嫨涓�鏉¤褰曡繘琛岀紪杈�');
+          return;
+        }
+        const selectedRecord = this.dataSource.find(item => item.id === this.selectedRowKeys[0]);
+        if (selectedRecord) {
+          this.handleEdit(selectedRecord);
+        }
+      },
+      //缂栬緫
+      handleEdit(record) {
+        if(record.paramaTableName === "1"){
+              this.$refs.paraCommonToolModal.edit(record);
+              this.$refs.paraCommonToolModal.title = "缂栬緫";
+              this.$refs.paraCommonToolModal.disableSubmit = false;
+            }else if(record.paramaTableName === "2"){
+              this.$refs.paraHoleToolsModal.edit(record);
+              this.$refs.paraHoleToolsModal.title = "缂栬緫";
+              this.$refs.paraHoleToolsModal.disableSubmit = false;
+            }else if(record.paramaTableName === "3"){
+              this.$refs.paraThreadingToolModal.edit(record);
+              this.$refs.paraThreadingToolModal.title = "缂栬緫";
+              this.$refs.paraThreadingToolModal.disableSubmit = false;
+            }else if(record.paramaTableName === "4"){
+              this.$refs.paraMillToolModal.edit(record);
+              this.$refs.paraMillToolModal.title = "缂栬緫";
+              this.$refs.paraMillToolModal.disableSubmit = false;
+            }else if(record.paramaTableName === "5"){
+              this.$refs.paraTurningToolsModal.edit(record);
+              this.$refs.paraTurningToolsModal.title = "缂栬緫";
+              this.$refs.paraTurningToolsModal.disableSubmit = false;
+            }else if(record.paramaTableName === "6"){
+              this.$refs.paraBladeModal.edit(record);
+              this.$refs.paraBladeModal.title = "缂栬緫";
+              this.$refs.paraBladeModal.disableSubmit = false;
+            }
+      },
+      //璇︽儏
+      handleDetail:function(record){
+        if(record.paramaTableName === "1"){
+              this.$refs.paraCommonToolModal.edit(record);
+              this.$refs.paraCommonToolModal.title="璇︽儏";
+              this.$refs.paraCommonToolModal.disableSubmit = true;
+              this.$refs.paraCommonToolModal.disSeach = true;
+              if(this.$refs.paraCommonToolModal.removeValidate) {
+                this.$refs.paraCommonToolModal.removeValidate()
+              }
+            }else if(record.paramaTableName === "2"){
+              this.$refs.paraHoleToolsModal.edit(record);
+              this.$refs.paraHoleToolsModal.title="璇︽儏";
+              this.$refs.paraHoleToolsModal.disableSubmit = true;
+              this.$refs.paraHoleToolsModal.disSeach = true;
+              if(this.$refs.paraHoleToolsModal.removeValidate) {
+                this.$refs.paraHoleToolsModal.removeValidate()
+              }
+            }else if(record.paramaTableName === "3"){
+               this.$refs.paraThreadingToolModal.edit(record);
+              this.$refs.paraThreadingToolModal.title="璇︽儏";
+              this.$refs.paraThreadingToolModal.disableSubmit = true;
+              this.$refs.paraThreadingToolModal.disSeach = true;
+              if(this.$refs.paraThreadingToolModal.removeValidate) {
+                this.$refs.paraThreadingToolModal.removeValidate()
+              }
+            }else if(record.paramaTableName === "4"){
+               this.$refs.paraMillToolModal.edit(record);
+              this.$refs.paraMillToolModal.title="璇︽儏";
+              this.$refs.paraMillToolModal.disableSubmit = true;
+              this.$refs.paraMillToolModal.disSeach = true;
+              if(this.$refs.paraMillToolModal.removeValidate) {
+                this.$refs.paraMillToolModal.removeValidate()
+              }
+            }else if(record.paramaTableName === "5"){
+               this.$refs.paraTurningToolsModal.edit(record);
+              this.$refs.paraTurningToolsModal.title="璇︽儏";
+              this.$refs.paraTurningToolsModal.disableSubmit = true;
+              this.$refs.paraTurningToolsModal.disSeach = true;
+              if(this.$refs.paraTurningToolsModal.removeValidate) {
+                this.$refs.paraTurningToolsModal.removeValidate()
+              }
+            }else if(record.paramaTableName === "6"){
+               this.$refs.paraBladeModal.edit(record);
+              this.$refs.paraBladeModal.title="璇︽儏";
+              this.$refs.paraBladeModal.disableSubmit = true;
+              this.$refs.paraBladeModal.disSeach = true;
+              if(this.$refs.paraBladeModal.removeValidate) {
+                this.$refs.paraBladeModal.removeValidate()
+              }
+            }
+    },
+      //绂佺敤鐘舵�佹牱寮�
+      tableRowClass(record, index) {
+        if (record.status != "1") {
+          return "frozenRowClass";
+        }
+        return "";
+      },
+      loadData() {
+        let params = this.getQueryParams();
+        if (this.nodeSelected && this.nodeSelected.key !== '-1') {
+          // 鍔犺浇閫変腑鑺傜偣鐨勫瓙绫�
+          params.classifyId = this.nodeSelected.key;
+          this.loading = true;       
+        getAction(this.url.list, params)
+          .then((res) => {
+            if (res.success) {
+              this.dataSource = res.result.records; // 鏇存柊琛ㄦ牸鏁版嵁
+              this.ipagination.total = res.result.total
+            } else {
+              this.$message.warning("璇烽�夋嫨鍙跺瓙鑺傜偣杩涜鏌ヨ");
+              this.ipagination.total = 0
+            }
+          })
+          .finally(() => {
+            this.loading = false;
+          });
+        } else {
+          this.$message.warning("璇烽�夋嫨鍙跺瓙鑺傜偣杩涜鏌ヨ");
+        }
+      },
+      onClearSelected() {
+        this.selectedKeys = [];
+        this.nodeSelected = {}; // 娓呯┖閫変腑鐨勮妭鐐�
+        this.dataSource = []; // 娓呯┖琛ㄦ牸鏁版嵁
+      },
+      //閲嶇疆
+      searchReset() {
+        this.queryParam = {}
+        this.loadData(1);
+        this.clearPara()
+      },
+      //娓呯┖閫変腑鍙婂弬鏁�
+      clearPara(){
+        this.selectedRowKeys = []   
+        this.$refs.paraCommonToolList.visable = false
+        this.$refs.paraHoleToolsList.visable = false
+        this.$refs.paraThreadingToolList.visable = false   
+        this.$refs.paraMillToolList.visable = false    
+        this.$refs.paraTurningToolsList.visable = false
+        this.$refs.paraBladeList.visable = false
+        this.$refs.toolsConfigPropertyList.visable = false
+      }
+      
+    },
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+   .enable {
+    color: green;
+  }
+  .disable {
+    color: red;
+  }
+</style>
\ No newline at end of file
diff --git a/src/views/tms/modules/inbound/InboundOrderModel.vue b/src/views/tms/modules/inbound/InboundModel.vue
similarity index 83%
copy from src/views/tms/modules/inbound/InboundOrderModel.vue
copy to src/views/tms/modules/inbound/InboundModel.vue
index 9bc0325..006a1c1 100644
--- a/src/views/tms/modules/inbound/InboundOrderModel.vue
+++ b/src/views/tms/modules/inbound/InboundModel.vue
@@ -11,11 +11,6 @@
       <a-form :form="form">
         <a-row style="width: 100%">
           <a-col :span="24 / 2">
-            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鍏ュ簱鐢宠鍗曠紪鍙�">
-              <a-input :disabled="true" placeholder="绯荤粺鑷姩鐢熸垚" v-decorator="['inboundNum', validatorRules.inboundNum]" />
-            </a-form-item>
-          </a-col>
-          <a-col :span="24 / 2">
             <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鍏ュ簱绫诲瀷">
               <j-dict-select-tag
                 :disabled="disableSubmit"
@@ -28,9 +23,7 @@
               />
             </a-form-item>
           </a-col>
-        </a-row>
-        <a-row style="width: 100%">
-          <a-col :span="24 / 2">
+           <a-col :span="24 / 2">
             <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鍏ュ簱鏃堕棿">
               <a-date-picker
                 @change="onChange"
@@ -40,73 +33,15 @@
               />
             </a-form-item>
           </a-col>
+        </a-row>
+        <a-row style="width: 100%">  
           <a-col :span="24 / 2">
-            <a-form-item label="鐢宠鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol">
-             <a-input placeholder="璇疯緭鍏ョ敵璇峰師鍥�"  :disabled="disableSubmit" v-decorator="['applicationReason', validatorRules.applicationReason]" />
+            <a-form-item label="鍏ュ簱鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol">
+             <a-input placeholder="璇疯緭鍏ュ叆搴撴暟閲�"  :disabled="disableSubmit" v-decorator="['in_number', validatorRules.applicationReason]" />
             </a-form-item>
           </a-col>
         </a-row>
-        <a-row style="width: 100%">
-
-          <a-col :span="24 / 2">
-            <a-form-item label="缁忔墜浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-search-select-tag
-                :disabled="true"
-                v-if="!barcodeCurrentType"
-                placeholder="璇烽�夋嫨缁忔墜浜�"
-                v-decorator="['handler', { rules: [{ required: false, message: '璇烽�夋嫨缁忔墜浜�' }] }]"
-                dict="sys_user,realname,id,del_flag=0"
-                @change="selectCurrentUserChange"
-              />
-            </a-form-item>
-          </a-col>
-
-          <a-col :span="24 / 2">
-            <a-form-item label="瀹℃牳浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-search-select-tag
-                :disabled="true"
-                placeholder="璇烽�夋嫨瀹℃牳浜�"
-                v-decorator="['reviewer', validatorRules.reviewer]"
-                dict="sys_user,realname,id,del_flag=0"
-                @change="selectCurrentUserChange"
-              />
-            </a-form-item>
-          </a-col>
-
-        </a-row>
-
-         <a-row style="width: 100%">
-
-           <a-col :span="24 / 2">
-            <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="瀹℃牳鏃堕棿">
-              <a-date-picker
-                @change="onChange"
-                :disabled="true"
-                style="width: 100%"
-                v-decorator="['approvalDate', validatorRules.approvalDate]"
-              />
-            </a-form-item>
-          </a-col>
-
-           <a-col :span="24 / 2">
-            <a-form-item label="瀹℃牳鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol">
-             <a-input placeholder="璇疯緭鍏ュ鏍告剰瑙�" :disabled="true" v-decorator="['approvalOpinion', validatorRules.approvalOpinion]" />
-            </a-form-item>
-          </a-col>
-        </a-row>
-
-        <a-row style="width: 100%">
-          <a-col :span="24">
-            <a-form-item :labelCol="{ span: 3 }" :wrapperCol="{ span: 21 }" label="澶囨敞">
-              <a-textarea
-                :disabled="disableSubmit"
-                :rows="2"
-                placeholder="..."
-                v-decorator="['remark', validatorRules.remark]"
-              />
-            </a-form-item>
-          </a-col>
-        </a-row>
+       
       </a-form>
     </a-spin>
     <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectReturnList()" v-show="returnShow && !disableSubmit">閫夋嫨鍊熺敤鍑哄簱鍗�</a-button>
@@ -121,7 +56,7 @@
       :dataSource="dataSource"
       :pagination="ipagination"
       :loading="loading"
-       @change="handleTableChange"
+      @change="handleTableChange"
     >
       <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index">
         <div :key="col.dataIndex">
@@ -142,7 +77,7 @@
     </a-table>
     <template slot="footer" v-if="disableSubmit == false">
       <a-button :style="{ marginRight: '8px' }" @click="handleCancel">鍏抽棴</a-button>
-      <a-button @click="handleOk" :disabled="isDisabled" type="primary">纭畾</a-button>
+      <a-button @click="handleOk" :disabled="isDisabled" type="primary">鍏ュ簱</a-button>
     </template>
 
     <template slot="footer" v-if="disableSubmit == true">
@@ -156,7 +91,7 @@
 
 <script>
 import pick from 'lodash.pick'
-import JSelectToolingModal from './JSelectToolingModal'
+import JSelectToolingModal from '.././inboundOrder/JSelectToolingModal'
 import { ajaxGetDictItems } from '@/api/api'
 import moment from 'moment'
 import { getAction, postAction, requestPut } from '@/api/manage'
@@ -164,8 +99,8 @@
 import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
 import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
 import { filterObj } from '@/utils/util'
-import JSelectReturnListModal from './JSelectReturnListModal'
-import JSelectSharpenListModal from './JSelectSharpenListModal'
+import JSelectReturnListModal from '.././inboundOrder/JSelectReturnListModal'
+import JSelectSharpenListModal from '.././inboundOrder/JSelectSharpenListModal'
 
 export default {
   name: 'InboundOrderModel',
diff --git a/src/views/tms/modules/inbound/InboundDetailList.vue b/src/views/tms/modules/inboundOrder/InboundDetailList.vue
similarity index 100%
rename from src/views/tms/modules/inbound/InboundDetailList.vue
rename to src/views/tms/modules/inboundOrder/InboundDetailList.vue
diff --git a/src/views/tms/modules/inbound/InboundOrderModel.vue b/src/views/tms/modules/inboundOrder/InboundOrderModel.vue
similarity index 97%
rename from src/views/tms/modules/inbound/InboundOrderModel.vue
rename to src/views/tms/modules/inboundOrder/InboundOrderModel.vue
index 9bc0325..3118a1e 100644
--- a/src/views/tms/modules/inbound/InboundOrderModel.vue
+++ b/src/views/tms/modules/inboundOrder/InboundOrderModel.vue
@@ -109,9 +109,9 @@
         </a-row>
       </a-form>
     </a-spin>
-    <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectReturnList()" v-show="returnShow && !disableSubmit">閫夋嫨鍊熺敤鍑哄簱鍗�</a-button>
+    <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()" v-show="returnShow && !disableSubmit">閫夋嫨鍊熺敤鍑哄簱鍗�</a-button>
     <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()" v-show="toolingShow && !disableSubmit">閫夋嫨宸ュ叿</a-button>
-    <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectSharpenList()" v-show="sharpenShow && !disableSubmit">閫夋嫨鍒冪(鍑哄簱鍗�</a-button>
+    <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTooling()" v-show="sharpenShow && !disableSubmit">閫夋嫨鍒冪(鍑哄簱鍗�</a-button>
     <a-table
       ref="table"
       bordered
@@ -265,9 +265,9 @@
         edit: '/tms/inboundOrder/edit',
         queryByUserName: '/sys/user/queryByUserName',
         toolingList:'/tms/baseTools/list',
-        queryAccountList:'/tooling/storage/queryAccountList',
-        querySharpenList:'/sharpen/sharpenDetail/querySharpenList',
-        queryReturnList:'/returnInventory/queryReturnList',
+        queryAccountList:'/tms/baseTools/list',
+        querySharpenList:'/tms/baseTools/list',
+        queryReturnList:'/tms/baseTools/list',
         detailList:'/tms/inboundDetail/list',
       },
       toolingOptions:[],
diff --git a/src/views/tms/modules/inbound/JSelectReturnListModal.vue b/src/views/tms/modules/inboundOrder/JSelectReturnListModal.vue
similarity index 99%
rename from src/views/tms/modules/inbound/JSelectReturnListModal.vue
rename to src/views/tms/modules/inboundOrder/JSelectReturnListModal.vue
index 1336e03..369a4ec 100644
--- a/src/views/tms/modules/inbound/JSelectReturnListModal.vue
+++ b/src/views/tms/modules/inboundOrder/JSelectReturnListModal.vue
@@ -144,7 +144,7 @@
       loading: false,
       url: {
         // list: '/base/tooling/list',
-         list: '/returnInventory/queryReturnList',
+         list: '/tms/baseTools/list',
          queryKnifeBom:'/toolingStorage/mesToolingOutbounds/queryKnifeBom'
       },
     }
diff --git a/src/views/tms/modules/inbound/JSelectSharpenListModal.vue b/src/views/tms/modules/inboundOrder/JSelectSharpenListModal.vue
similarity index 100%
rename from src/views/tms/modules/inbound/JSelectSharpenListModal.vue
rename to src/views/tms/modules/inboundOrder/JSelectSharpenListModal.vue
diff --git a/src/views/tms/modules/inbound/JSelectToolingModal.vue b/src/views/tms/modules/inboundOrder/JSelectToolingModal.vue
similarity index 100%
rename from src/views/tms/modules/inbound/JSelectToolingModal.vue
rename to src/views/tms/modules/inboundOrder/JSelectToolingModal.vue
diff --git a/src/views/tms/modules/toolsClassify/ToolsClassifyForm.vue b/src/views/tms/modules/toolsClassify/ToolsClassifyForm.vue
index 0babff4..d442612 100644
--- a/src/views/tms/modules/toolsClassify/ToolsClassifyForm.vue
+++ b/src/views/tms/modules/toolsClassify/ToolsClassifyForm.vue
@@ -108,7 +108,7 @@
         leafFlagShow:true,
          validatorRules: {
            classifyId: [
-              { required: true, message: '璇疯緭鍏ュ伐鍏峰垎绫荤紪鍙�!'},
+              { required: false, message: '璇疯緭鍏ュ伐鍏峰垎绫荤紪鍙�!'},
               { validator: this.validateNum },
            ],
            typeName: [
diff --git a/src/views/tms/modules/toolsClassify/ToolsClassifyListRight.vue b/src/views/tms/modules/toolsClassify/ToolsClassifyListRight.vue
index 14b3ab0..fa65571 100644
--- a/src/views/tms/modules/toolsClassify/ToolsClassifyListRight.vue
+++ b/src/views/tms/modules/toolsClassify/ToolsClassifyListRight.vue
@@ -167,6 +167,18 @@
     data () {
       return {
         description: '宸ュ叿鍒嗙被绠$悊椤甸潰',
+         /* 鍒嗛〉鍙傛暟 */
+      ipagination:{
+        current: 1,
+        pageSize: 10,
+        pageSizeOptions: ['10', '20', '50'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
         // 琛ㄥご
         columns: [
           {
@@ -366,8 +378,10 @@
           .then((res) => {
             if (res.success) {
               this.dataSource = res.result.records; // 鏇存柊琛ㄦ牸鏁版嵁
+              this.ipagination.total = res.result.total
             } else {
               this.$message.warning(res.message);
+              this.ipagination.total = 0
             }
           })
           .finally(() => {

--
Gitblit v1.9.3