From e14ed882d12df3b48e59390eba364442cdff70bd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 28 五月 2025 15:46:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/tms/modules/outBound/OutboundListRight.vue |  430 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 430 insertions(+), 0 deletions(-)

diff --git a/src/views/tms/modules/outBound/OutboundListRight.vue b/src/views/tms/modules/outBound/OutboundListRight.vue
new file mode 100644
index 0000000..76e3f79
--- /dev/null
+++ b/src/views/tms/modules/outBound/OutboundListRight.vue
@@ -0,0 +1,430 @@
+<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" @click="selectOutboundOrder">鐢宠鍗曞嚭搴�</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>
+    </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'}"
+        :customRow="handleRowClick"
+        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="handleDetail(record)">璇︽儏</a>
+        </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>
+
+    <outbound-modal ref="outboundModal" @ok="selectListOK"></outbound-modal>
+    <OutboundOrderSelectList ref="outboundOrderSelectList" @ok="selectListOK"></OutboundOrderSelectList>
+    <base-tools-modal ref="modalForm" @ok="modalFormOk" :nodeSelected="nodeSelected"></base-tools-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import BaseToolsModal from '../baseTools/BaseToolsModal'
+  import Tooltip from 'ant-design-vue/es/tooltip'
+  import { getAction, postAction, deleteAction, requestPut } from '@api/manage'
+  import OutboundModal from './OutboundModal'
+  import OutboundOrderSelectList from './OutboundOrderSelectList'
+  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'
+
+  export default {
+    name: 'OutboundListRight',
+    mixins:[JeecgListMixin, mixinDevice],
+    components: {
+      OutboundModal,
+      OutboundOrderSelectList,
+      BaseToolsModal,
+      Tooltip,
+      ParaHoleToolsList,
+      ToolsConfigPropertyList,
+      ParaMillToolList,
+      ParaThreadingToolList,
+      ParaTurningToolsList,
+      ParaCommonToolList,
+      ParaBladeList
+    },
+    data () {
+      return {
+        description: '宸ュ叿鍑哄簱椤甸潰',
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 5,
+          pageSizeOptions: ['5', '10', '20', '30'],
+          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: 'toolId'
+          },
+          {
+            title:'宸ュ叿绫诲瀷',
+            align:"center",
+            dataIndex: 'signCode'
+          },
+          {
+            title:'涓枃鍚嶇О',
+            align:"center",
+            dataIndex: 'chineseName'
+          },
+          {
+            title:'鍨嬪彿/鍥惧彿',
+            align:"center",
+            dataIndex: 'toolModel'
+          },
+          {
+            title:'鍒�鍏锋潗鏂�',
+            align:"center",
+            dataIndex: 'toolMaterial'
+          },
+          {
+            title:'闆朵欢鏉愭枡',
+            align:"center",
+            dataIndex: 'partMaterial'
+          },
+          {
+            title:'鍑哄簱绫诲瀷',
+            align:"center",
+            dataIndex: 'outStorehouseType_dictText'
+          },
+          {
+            title:'搴撲綅鍙�',
+            align:"center",
+            dataIndex: 'goodsShelvesCode'
+          },
+          {
+            title:'鍑哄簱鏁伴噺',
+            align:"center",
+            dataIndex: 'outNumber'
+          },
+          {
+            title:'鍒涘缓浜�',
+            align:"center",
+            dataIndex: 'createBy'
+          },
+          {
+            title:'鍒涘缓鏃堕棿',
+            align:"center",
+            dataIndex: 'createTime'
+          },
+          // {
+          //   title: '鎿嶄綔',
+          //   dataIndex: 'action',
+          //   align:"center",
+          //   fixed:"right",
+          //   width:147,
+          //   scopedSlots: { customRender: 'action' }
+          // }
+        ],
+        url: {
+          list: "/tms/outStoreDetail/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:''
+      }
+    },
+    created() {
+      this.$bus.$on('getCurrSelected', (data) => {
+        console.log(data)
+      //getCurrSelected 浜嬩欢 鎺ユ敹缁勪欢浼犻�掔殑鍙傛暟
+      this.nodeType = (data.type == undefined ? 0 : data.type);
+      this.paraTypeFlag = (data.entity == undefined ? 0 : data.entity.paraTypeFlag)
+      this.nodeSelected = data;
+      this.queryParam.classifyId = data.key
+      this.loadData()
+      this.clearPara()
+    })
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      },
+    },
+    methods: {
+      selectOutboundOrder() {
+        this.$refs.outboundOrderSelectList.openSelect();
+      },
+      handleRowClick(record) {
+        return {
+          on: {
+            click: () => {
+              console.log(record)
+              this.onSelectChange(record.id.split(","), [record]);
+            }
+          }
+        }
+      },
+      handleAdd(entity) {
+        if (!this.nodeSelected ) {
+          this.$message.warning('璇峰厛閫夋嫨涓�涓伐鍏峰垎绫�');
+          return;
+        }
+        // 鎵撳紑鏂板妯℃�佹锛屽苟浼犻�掑綋鍓嶉�変腑鐨勮妭鐐�
+        this.$refs.outboundModal.add(this.nodeSelected);
+        this.$refs.outboundModal.title = "鏂板宸ュ叿鍑哄簱";
+        this.$refs.outboundModal.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);
+                }
+              });
+      },
+      selectListOK() {
+        this.loadData()
+      },
+      modalFormOk() {
+        this.loadData(); // 鍒锋柊琛ㄦ牸鏁版嵁
+        this.$bus.$emit('queryTreeData') //鍒锋柊宸︿晶鏍�
+      },
+      onSelectChange(selectedRowKeys, selectionRows) {
+        this.selectedRowKeys = selectedRowKeys;
+        this.selectionRows = selectionRows;
+        const toolCode = this.selectionRows[0].toolCode
+        //閫氳繃id鏌ヨ绠$悊鍙傛暟鍜屽弬鏁版暟鎹�
+        getAction(this.url.queryParaByToolCode, { toolCode: toolCode,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: toolCode}).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);
+        }
+      },
+      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

--
Gitblit v1.9.3