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>鍙傛暟 </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>绠$悊鍙傛暟 </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