Merge branch 'master' of http://222.71.245.114:9086/r/LA24030-LuLI_PackageLine
已添加11个文件
已重命名6个文件
已修改22个文件
已删除10个文件
已复制1个文件
| | |
| | | import request from '/@/utils/request'; |
| | | enum Api { |
| | | STORAGE_VIEW='/api/wmsPlaceContainerInfo/list', |
| | | // STORAGE_VIEW='/api/wmsPlaceContainerInfo/list', |
| | | STORAGE_VIEW='/api/wmsBasePlace/listView', |
| | | |
| | | } |
| | | |
| | | // å¢å åæ£ä¿¡æ¯ |
| | |
| | | AddWmsStockQuan = '/api/wmsStockQuan/add', |
| | | DeleteWmsStockQuan = '/api/wmsStockQuan/delete', |
| | | UpdateWmsStockQuan = '/api/wmsStockQuan/update', |
| | | PageWmsStockQuan = '/api/wmsStockQuan/pageView', |
| | | PageWmsStockQuan = '/api/wmsStockQuan/page', //888 |
| | | PageStockQuanForUse= '/api/wmsStockQuan/getStockQuanPageForUse', |
| | | ListWmsStockQuan = '/api/wmsStockQuan/list', |
| | | DetailWmsStockQuan = '/api/wmsStockQuan/detail', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '/@/utils/request'; |
| | | enum Api { |
| | | AddWmsConfigPrint = '/api/wmsConfigPrint/add', |
| | | DeleteWmsConfigPrint = '/api/wmsConfigPrint/delete', |
| | | UpdateWmsConfigPrint = '/api/wmsConfigPrint/update', |
| | | PageWmsConfigPrint = '/api/wmsConfigPrint/page', |
| | | ListWmsConfigPrint = '/api/wmsConfigPrint/list', |
| | | DetailWmsConfigPrint = '/api/wmsConfigPrint/detail', |
| | | ImportExcelWmsConfigPrint = '/api/wmsConfigPrint/importExcel', |
| | | DownloadExcelTemplateWmsConfigPrint = '/api/wmsConfigPrint/downloadExcelTemplate', |
| | | } |
| | | |
| | | // å¢å æå°é
置表 |
| | | export const addWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.AddWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // å 餿å°é
置表 |
| | | export const deleteWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.DeleteWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ç¼è¾æå°é
置表 |
| | | export const updateWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.UpdateWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // 导å
¥æå°é
置表 |
| | | export const importExcelWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.ImportExcelWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ä¸è½½å¯¼å
¥æå°é
ç½®è¡¨æ¨¡æ¿ |
| | | export const downloadExcelTemplateWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.DownloadExcelTemplateWmsConfigPrint, |
| | | method: 'get', |
| | | data: params, |
| | | responseType: 'blob' |
| | | }); |
| | | |
| | | |
| | | // å页æ¥è¯¢æå°é
置表 |
| | | export const pageWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.PageWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ä¸å页æ¥è¯¢æå°é
置表 |
| | | export const listWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.ListWmsConfigPrint, |
| | | method: 'get', |
| | | data: params |
| | | }); |
| | | |
| | | // 详æ
æå°é
置表 |
| | | export const detailWmsConfigPrint = (id: any) => |
| | | request({ |
| | | url: Api.DetailWmsConfigPrint, |
| | | method: 'get', |
| | | data: { id } |
| | | }); |
| | | |
| | |
| | | AddWmsOrderPurchase = '/api/wmsOrderPurchase/add', |
| | | DeleteWmsOrderPurchase = '/api/wmsOrderPurchase/delete', |
| | | UpdateWmsOrderPurchase = '/api/wmsOrderPurchase/update', |
| | | PageWmsOrderPurchase = '/api/wmsOrderPurchase/page', |
| | | ListWmsOrderPurchase = '/api/wmsOrderPurchase/list', |
| | | KittingList = '/api/WmsStockQuan/KittingList', ///api/wmsOrderPurchase/page |
| | | packList = '/api/WmsStockQuan/packList', ///api/wmsOrderPurchase/page |
| | | |
| | | ListWmsOrderPurchase = '/api/wmsStockQuan/list', |
| | | DetailWmsOrderPurchase = '/api/wmsOrderPurchase/detail', |
| | | ImportExcelWmsOrderPurchase = '/api/wmsOrderPurchase/importExcel', |
| | | DownloadExcelTemplateWmsOrderPurchase = '/api/wmsOrderPurchase/downloadExcelTemplate', |
| | | DownloadExcelTemplateWmsOrderPurchaseAll = '/api/wmsOrderPurchase/pOOrderExcelOutting', |
| | | } |
| | | // å页æ¥è¯¢POå |
| | | export const pageWmsOrderPurchase = (params?: any) => |
| | | request({ |
| | | url: Api.ListWmsOrderPurchase, |
| | | method: 'get', |
| | | data: params, |
| | | }); |
| | | |
| | | // å¢å POå |
| | | export const addWmsOrderPurchase = (params?: any) => |
| | |
| | | data: params, |
| | | }); |
| | | |
| | | // å页æ¥è¯¢POå |
| | | export const pageWmsOrderPurchase = (params?: any) => |
| | | // é½å
|
| | | export const packList = (params?: any) => |
| | | request({ |
| | | url: Api.PageWmsOrderPurchase, |
| | | method: 'post', |
| | | url: Api.packList, |
| | | method: 'get', |
| | | data: params, |
| | | }); |
| | | |
| | | // é½å¥ |
| | | export const KittingList = (params?: any) => |
| | | request({ |
| | | url: Api.KittingList, |
| | | method: 'get', |
| | | data: params, |
| | | }); |
| | | |
| | | |
| | | |
| | | // ä¸å页æ¥è¯¢POå |
| | | export const listWmsOrderPurchase = (params?: any) => |
| | | request({ |
| | |
| | | AddWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/add', |
| | | DeleteWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/delete', |
| | | UpdateWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/update', |
| | | PageWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/page', |
| | | PageWmsOrderPurchaseDetails = '/api/wmsStockQuan/page', |
| | | PageWmsOrderPurchaseDetailsForRelatedAsn = '/api/WmsOrderPurchaseDetails/PageForRelatedAsn', |
| | | ListWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/list', |
| | | DetailWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/detail', |
| | |
| | | data: params, |
| | | }); |
| | | |
| | | // å页æ¥è¯¢POåæç» |
| | | // 88888888 |
| | | export const pageWmsOrderPurchaseDetails = (params?: any) => |
| | | request({ |
| | | url: Api.PageWmsOrderPurchaseDetails, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '/@/utils/request'; |
| | | enum Api { |
| | | AddWmsConfigPrint = '/api/wmsConfigPrint/add', |
| | | DeleteWmsConfigPrint = '/api/wmsConfigPrint/delete', |
| | | UpdateWmsConfigPrint = '/api/wmsConfigPrint/update', |
| | | PageWmsConfigPrint = '/api/wmsConfigPrint/page', |
| | | ListWmsConfigPrint = '/api/wmsConfigPrint/list', |
| | | DetailWmsConfigPrint = '/api/wmsConfigPrint/detail', |
| | | ImportExcelWmsConfigPrint = '/api/wmsConfigPrint/importExcel', |
| | | DownloadExcelTemplateWmsConfigPrint = '/api/wmsConfigPrint/downloadExcelTemplate', |
| | | } |
| | | |
| | | // å¢å æå°é
置表 |
| | | export const addWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.AddWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // å 餿å°é
置表 |
| | | export const deleteWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.DeleteWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ç¼è¾æå°é
置表 |
| | | export const updateWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.UpdateWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // 导å
¥æå°é
置表 |
| | | export const importExcelWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.ImportExcelWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ä¸è½½å¯¼å
¥æå°é
ç½®è¡¨æ¨¡æ¿ |
| | | export const downloadExcelTemplateWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.DownloadExcelTemplateWmsConfigPrint, |
| | | method: 'get', |
| | | data: params, |
| | | responseType: 'blob' |
| | | }); |
| | | |
| | | |
| | | // å页æ¥è¯¢æå°é
置表 |
| | | export const pageWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.PageWmsConfigPrint, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ä¸å页æ¥è¯¢æå°é
置表 |
| | | export const listWmsConfigPrint = (params?: any) => |
| | | request({ |
| | | url: Api.ListWmsConfigPrint, |
| | | method: 'get', |
| | | data: params |
| | | }); |
| | | |
| | | // 详æ
æå°é
置表 |
| | | export const detailWmsConfigPrint = (id: any) => |
| | | request({ |
| | | url: Api.DetailWmsConfigPrint, |
| | | method: 'get', |
| | | data: { id } |
| | | }); |
| | | |
| | |
| | | @import 'common/transition.scss'; |
| | | @import './other.scss'; |
| | | @import './element.scss'; |
| | | @import './media/media.scss'; |
| | | // @import './media/media.scss'; |
| | | @import './waves.scss'; |
| | | @import './dark.scss'; |
| | | @import './iconfont/font_2298093_rnp72ifj3ba.scss'; |
| | |
| | | </div> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8" class="home-media"> |
| | | |
| | | <div class="home-card-item"> |
| | | <div class="home-card-item-title">å¿«æ·å¯¼èªå·¥å
·</div> |
| | | <div class="home-monitor"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="15" class="home-card-three"> |
| | |
| | | import { useThemeConfig } from '/@/stores/themeConfig'; |
| | | import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes'; |
| | | import { wmsStockPassMap,wmsHomePageQuery,wmsHomePlaceQuery,wmsTransitionDiagramQuery } from '/@/api/main/inventoryWarning/inventoryWarning'; |
| | | import type { TabsPaneContext } from 'element-plus' |
| | | import type { TabsPaneContext } from 'element-plus'; |
| | | import { useRoute, useRouter } from 'vue-router'; |
| | | const router = useRouter(); |
| | | // æ¥å£æ°æ® |
| | |
| | | // æ¥è¯¢ |
| | | const handleQuery1 = async () => { |
| | | loadingwms.value = true; |
| | | var res = await wmsHomePageQuery(); |
| | | if(res.data.type=="success"){ |
| | | let result = res.data.result || []; |
| | | state.orderNum = result.allOrderNumber || 0 |
| | | state.homeOne[0].num1 = result.outtingPlaceNumber || 0 |
| | | state.homeOne[0].num2 = result.allOuttingNumber || 0 |
| | | state.homeOne[0].numA = Math.round((result.outtingPlaceNumber || 0) / (result.allOuttingNumber || 0) * 10000) / 100 || 0 |
| | | state.homeOne[1].num1 = result.warehousingNumber || 0 |
| | | state.homeOne[1].num2 = result.allWarehousingNumber || 0 |
| | | state.homeOne[1].numA = Math.round((result.warehousingNumber || 0) / (result.allWarehousingNumber || 0)* 10000) / 100 || 0 |
| | | // var res = await wmsHomePageQuery(); |
| | | // if(res.data.type=="success"){ |
| | | // let result = res.data.result || []; |
| | | // state.orderNum = result.allOrderNumber || 0 |
| | | // state.homeOne[0].num1 = result.outtingPlaceNumber || 0 |
| | | // state.homeOne[0].num2 = result.allOuttingNumber || 0 |
| | | // state.homeOne[0].numA = Math.round((result.outtingPlaceNumber || 0) / (result.allOuttingNumber || 0) * 10000) / 100 || 0 |
| | | // state.homeOne[1].num1 = result.warehousingNumber || 0 |
| | | // state.homeOne[1].num2 = result.allWarehousingNumber || 0 |
| | | // state.homeOne[1].numA = Math.round((result.warehousingNumber || 0) / (result.allWarehousingNumber || 0)* 10000) / 100 || 0 |
| | | |
| | | } |
| | | // } |
| | | loadingwms.value = false; |
| | | }; |
| | | const handleQuery2 = async () => { |
| | | loadingwms.value = true; |
| | | var res = await wmsHomePlaceQuery(); |
| | | if(res.data.type=="success"){ |
| | | let result = res.data.result || {}; |
| | | nextTick(() => { |
| | | setTimeout(() => { |
| | | initPieChart(result); |
| | | }, 500); |
| | | }); |
| | | } |
| | | // var res = await wmsHomePlaceQuery(); |
| | | // if (res.data.type == 'success') { |
| | | // let result = res.data.result || {}; |
| | | // nextTick(() => { |
| | | // setTimeout(() => { |
| | | // initPieChart(result); |
| | | // }, 500); |
| | | // }); |
| | | // } |
| | | loadingwms.value = false; |
| | | }; |
| | | const dataAll = ref({ |
| | |
| | | arr2:[], |
| | | arr3:[], |
| | | arr4:[], |
| | | arr5:[] |
| | | }) |
| | | arr5: [], |
| | | }); |
| | | const handleQuery3 = async (val:any) => { |
| | | dataAll.value.arr1 = []; |
| | | dataAll.value.arr2 = []; |
| | |
| | | dataAll.value.arr4 = []; |
| | | dataAll.value.arr5 = []; |
| | | loadingwms.value = true; |
| | | let para = {DayOrWeekOrMonth:Number(val)} |
| | | let para = { DayOrWeekOrMonth: Number(val) }; |
| | | var res = await wmsStockPassMap(para); |
| | | if(res.data.type=="success"){ |
| | | if (res.data.type == 'success') { |
| | | let result = res.data.result || []; |
| | | result.forEach((item:any,index:number) => { |
| | | dataAll.value.arr1.push({value:item.inWare,stationName:'s'+item.time}) |
| | | dataAll.value.arr2.push({value:item.outWare,stationName:'s'+item.time}) |
| | | dataAll.value.arr3.push({value:item.stockNum,stationName:'s'+item.time}) |
| | | dataAll.value.arr4.push({value:item.aveStockNum,stationName:'s'+item.time}) |
| | | dataAll.value.arr5.push(item.date) |
| | | }) |
| | | dataAll.value.arr1.push({ value: item.inWare, stationName: 's' + item.time }); |
| | | dataAll.value.arr2.push({ value: item.outWare, stationName: 's' + item.time }); |
| | | dataAll.value.arr3.push({ value: item.stockNum, stationName: 's' + item.time }); |
| | | dataAll.value.arr4.push({ value: item.aveStockNum, stationName: 's' + item.time }); |
| | | dataAll.value.arr5.push(item.date); |
| | | }); |
| | | nextTick(() => { |
| | | setTimeout(() => { |
| | | if (!state.global.dispose.some((b: any) => b === state.global.homeCharThree)) state.global.homeCharThree.dispose(); |
| | | initChart() |
| | | initChart(); |
| | | }, 500); |
| | | }); |
| | | } |
| | |
| | | const handleQuery4 = async () => { |
| | | loadingwms.value = true; |
| | | var res = await wmsTransitionDiagramQuery(); |
| | | if(res.data.type=="success"){ |
| | | if (res.data.type == 'success') { |
| | | let arr1: any[] = []; |
| | | let arr2: any = []; |
| | | let arrA: any = []; |
| | | let result = res.data.result || []; |
| | | result.forEach((item:any,index:number) => { |
| | | arr1.push(item.receiptNumber) |
| | | arr2.push(item.deliveryNumber) |
| | | arrA.push(item.day.slice(0, 10)) |
| | | }) |
| | | arr1.push(item.receiptNumber); |
| | | arr2.push(item.deliveryNumber); |
| | | arrA.push(item.day.slice(0, 10)); |
| | | }); |
| | | nextTick(() => { |
| | | setTimeout(() => { |
| | | initLineChart(arr1,arr2,arrA); |
| | |
| | | } |
| | | loadingwms.value = false; |
| | | }; |
| | | handleQuery1(); |
| | | handleQuery2(); |
| | | handleQuery3('1'); |
| | | handleQuery4(); |
| | | const activeName = ref('1') |
| | | // handleQuery1(); |
| | | // handleQuery2(); |
| | | // handleQuery3('1'); |
| | | // handleQuery4(); |
| | | const activeName = ref('1'); |
| | | const handleClick = (tab: TabsPaneContext, event: Event) => { |
| | | handleQuery3(tab.props.name); |
| | | } |
| | | }; |
| | | |
| | | // å®ä¹åéå
容 |
| | | const homeLineRef = ref(); |
| | |
| | | }; |
| | | const initChart = () => { |
| | | if (!state.global.dispose.some((b: any) => b === state.global.homeCharThree)) state.global.homeCharThree.dispose(); |
| | | const chart = document.getElementById("homeBarRef") |
| | | if (chart!=null) chart.removeAttribute('_echarts_instance_')//è§£å³åæ¢é¡µé¢echarts䏿¾ç¤ºçé®é¢ |
| | | const chart = document.getElementById('homeBarRef'); |
| | | if (chart != null) chart.removeAttribute('_echarts_instance_'); //è§£å³åæ¢é¡µé¢echarts䏿¾ç¤ºçé®é¢ |
| | | state.global.homeCharThree = markRaw(echarts.init(chart, state.charts.theme)); |
| | | //æå¨èµå¼ |
| | | option.xAxis[0].data = dataAll.value.arr5 |
| | | option.series[0].data = dataAll.value.arr1 |
| | | option.series[1].data = dataAll.value.arr2 |
| | | option.xAxis[0].data = dataAll.value.arr5; |
| | | option.series[0].data = dataAll.value.arr1; |
| | | option.series[1].data = dataAll.value.arr2; |
| | | // option.series[2].data = dataAll.value.arr3 |
| | | // option.series[3].data = dataAll.value.arr4 |
| | | // ç»å¶å¾è¡¨ |
| | | state.global.homeCharThree.setOption(option); |
| | | state.myCharts.push(state.global.homeCharThree); |
| | | } |
| | | }; |
| | | |
| | | // æ¹é设置 echarts resize |
| | | const routerJupm = (v:any) => { |
| | |
| | | let timeInter: any = null; |
| | | // 页é¢å è½½æ¶ |
| | | onMounted(() => { |
| | | initEchartsResize(); |
| | | // initEchartsResize(); |
| | | |
| | | timeInter = setInterval(() => { |
| | | nextTick(() => { |
| | | handleQuery1(); |
| | | handleQuery2(); |
| | | handleQuery3('1'); |
| | | handleQuery4(); |
| | | }); |
| | | }, 15000); //è°ç¨é¢çæ¹ä¸º 15ç§ä¸æ¬¡æ¥è¯¢ã |
| | | // timeInter = setInterval(() => { |
| | | // nextTick(() => { |
| | | // handleQuery1(); |
| | | // handleQuery2(); |
| | | // handleQuery3('1'); |
| | | // handleQuery4(); |
| | | // }); |
| | | // }, 15000); //è°ç¨é¢çæ¹ä¸º 15ç§ä¸æ¬¡æ¥è¯¢ã |
| | | }); |
| | | |
| | | onUnmounted(() => { |
| | |
| | | immediate: true, |
| | | } |
| | | ); |
| | | |
| | | |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | |
| | | <template> |
| | | <div> |
| | | |
| | | <!-- åºä½å表 --> |
| | | |
| | | <div v-for="(itemW,indexW) in storageList" :key="indexW"> |
| | | <p> å··éï¼{{itemW.laneCode}}</p> |
| | | <div v-for="(itemIN,indexIN) in itemW.rows" :key="indexIN" > |
| | | <div class="content-view" > |
| | | <!-- æ¯ä¸ªåºä½æ¹å æ¥è¯¢åºä½å
¨é¨åºå --> |
| | | <div class="mask100" v-for="(itemSmall,itemSmallIndex) in itemIN.rowLocations2" :key="itemSmallIndex"> |
| | | |
| | | <content-item v-for="item in itemSmall" :key="item.wareLocationCode" :itemData="item" |
| | | :index="item.wareLocationCode" @show="show(item,item.wareLocationCode)" |
| | | |
| | | <content-item |
| | | v-for="item in itemSmall" |
| | | :key="item.wareLocationCode" |
| | | :itemData="item" |
| | | :index="item.wareLocationCode" |
| | | @show="show(item, item.wareLocationCode)" |
| | | @click="openDialog(item.wareLocationCode)" |
| | | |
| | | :class="'laneCodeBox_' + (item.showInventoryType)"> |
| | | :class="'laneCodeBox_' + item.showInventoryType" |
| | | > |
| | | </content-item> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | <div v-if="itemW.rows.length>1" class="stripe stripeM"></div> |
| | | </div> |
| | |
| | | </teleport> |
| | | <!-- 详æ
å¼¹æ¡ --> |
| | | <prop-detail ref="propDetailRef"></prop-detail> |
| | | |
| | | </div> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import { ElMessage } from 'element-plus'; |
| | | import { ref, defineProps, computed, getCurrentInstance } from 'vue' |
| | | import ContentItem from './ContentItem.vue' |
| | | import { ref, defineProps, computed, getCurrentInstance } from 'vue'; |
| | | import ContentItem from './ContentItem.vue'; |
| | | import PropDetail from './propDetail.vue'; |
| | | const { proxy} :any = getCurrentInstance();// 访é®å®ä¾ä¸ä¸æ proxyåæ¶æ¯æå¼å 线ä¸ç¯å¢ |
| | | //props |
| | |
| | | contentData: { |
| | | type: Array, |
| | | required: true, |
| | | default: [] |
| | | } |
| | | }) |
| | | const containerCodeSHsow = ref('') |
| | | default: [], |
| | | }, |
| | | }); |
| | | const containerCodeSHsow = ref(''); |
| | | //åºä½å表 |
| | | const storageList: Record<any, any> = computed(() => props.contentData); |
| | | //æ¯ä¸ªåºä½è¯¦æ
çæ¾ç¤º |
| | | const itemVisible = ref(false); |
| | | //详æ
æ°æ® |
| | | const detailData = ref({} as Record<string, any>) |
| | | const detailData = ref({} as Record<string, any>); |
| | | //å½åéä¸çåºä½ |
| | | const count = ref(String) |
| | | const count = ref(String); |
| | | //æ¾ç¤º éè详æ
|
| | | const show = (item: any, index: any) => { |
| | | // console.log('item:'+JSON.stringify(item) ) |
| | |
| | | itemVisible.value = false; |
| | | count.value = index; |
| | | detailData.value = {}; |
| | | containerCodeSHsow.value = ""; |
| | | containerCodeSHsow.value = ''; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // æ¾ç¤ºåºä½ç¶æ |
| | | const setKwStauts = (type: number): string => { |
| | | let status = '' |
| | | let status = ''; |
| | | switch (type) { |
| | | case 0: |
| | | status = '空åºä½'; |
| | |
| | | status = 'æè´§åºä½ï¼ç©æï¼'; |
| | | } |
| | | return status; |
| | | } |
| | | }; |
| | | |
| | | //æå¼çªå£ |
| | | const openDialog = (type: string) => { //æçå· |
| | | const openDialog = (type: string) => { |
| | | //æçå· |
| | | if (!type || type == null) { |
| | | ElMessage.warning("ä¸å卿çå·ï¼"); |
| | | return |
| | | ElMessage.warning('ä¸å卿çå·ï¼'); |
| | | return; |
| | | } |
| | | proxy.$refs['propDetailRef'].openDialog(type); |
| | | }; |
| | |
| | | margin: 5px; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | .stripe { |
| | |
| | | |
| | | /*æé©¬æ¡çº¹*/ |
| | | .stripeM { |
| | | background: linear-gradient(#dbd4b4 50%, #f5be6a 50%, ); |
| | | background: linear-gradient(#dbd4b4 50%, #f5be6a 50%); |
| | | background-size: 100% 40px; |
| | | } |
| | | .laneCodeBox_0{ |
| | |
| | | .laneCodeBox_1{ |
| | | visibility: visible; |
| | | } |
| | | |
| | | |
| | | .mask100{ |
| | | height: 100%; |
| | |
| | | // margin-bottom: 149px; |
| | | |
| | | // } |
| | | |
| | | </style> |
| | |
| | | </div> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import { defineProps, computed } from 'vue' |
| | | import { defineProps, computed } from 'vue'; |
| | | const props = defineProps({ |
| | | countData: { |
| | | type: Array, |
| | | required: true |
| | | } |
| | | }) |
| | | const countList: Record<any, any> = computed(() => props.countData) |
| | | //è®¾ç½®èæ¯ |
| | | required: true, |
| | | }, |
| | | }); |
| | | const countList: Record<any, any> = computed(() => props.countData); |
| | | //è®¾ç½®èæ¯ æ£å¸¸ = 1, å°å = 2, ç¦åº = 3, ç¦å
¥ = 4, éå® = 5 |
| | | const setBgColor = (type: number): string => { |
| | | let color = '' |
| | | let color = ''; |
| | | switch (type) { |
| | | case 0: |
| | | color = '#A2A2A2'; |
| | | break; |
| | | case 1: |
| | | color = '#F18201'; |
| | | color = '#F18201'; //æ©è² æ£å¸¸ |
| | | break; |
| | | case 2: |
| | | color = '#2BA6FF'; |
| | | color = '#2BA6FF'; //èè² å°å |
| | | break; |
| | | case 3: |
| | | color = '#FFFF00'; |
| | | |
| | | color = '#FFFF00'; //é»è² ç¦åº |
| | | break; |
| | | |
| | | case 4: |
| | | color = '#FF0000'; |
| | | color = '#A2A2A2'; //ç°è² ç¦å
¥ |
| | | break; |
| | | |
| | | case 5: |
| | | color = '#FF0000'; //çº¢è² éå® |
| | | break; |
| | | } |
| | | return color; |
| | | } |
| | | |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .count { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> |
| | | <el-form :model="formModel" ref="queryForm" labelWidth="90"> |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="formModel.searchKey" clearable="" |
| | | placeholder="åºä½ç¼å·,容å¨ç¼å·" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="æå¨åºåº" prop="areaCode"> |
| | | <el-select v-model="formModel.areaCode" placeholder="è¯·éæ©æå¨åºåº"> |
| | | <el-option v-for="(item,index) in arr1" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="åºä½ç¼å·:"> |
| | | <el-input v-model.trim="formModel.WareLocationCode" placeholder="请è¾å
¥åºä½ç¼å·" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="容å¨ç¼å·:"> |
| | | <el-input v-model.trim="formModel.WareContainerCode" placeholder="请è¾å
¥å®¹å¨ç¼å·" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="åºä½ç¶æ:"> |
| | | <el-select v-model="formModel.inventoryType" clearable placeholder="è¯·éæ©åºä½ç¶æ" style="width: 100%;"> |
| | | <el-option v-for="item in storageStatusEnum" :key="item.value" :label="item.title" |
| | | :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <!-- éèçç鿡件 --> |
| | | <!-- <template> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="éå®ç¶æ:"> |
| | | <el-select v-model="formModel.isLocked" clearable placeholder="è¯·éæ©éå®ç¶æ"> |
| | | <el-option v-for="item in isAutoEnum" :key="item.value" :label="item.title" :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | |
| | | <el-form-item label="å··é:"> |
| | | <el-select v-model="formModel.Lane" clearable placeholder="è¯·éæ©å··é"> |
| | | <el-option v-for="item in LangEnum" :key="item.value" :label="item.title" :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="æå±æ:"> |
| | | <el-select v-model="formModel.Row" clearable placeholder="è¯·éæ©æå±æ"> |
| | | <el-option v-for="(item, index) in strorageRowEnum" :key="item" :label="`第${index + 1}æ`" |
| | | :value="index + 1" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </template> --> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label-width="20px"> |
| | | <el-button type="primary" icon="el-icon-search" @click="getLocationPage(2)">æ¥è¯¢</el-button> |
| | | <el-button icon="ele-Refresh" @click="() => formModel = {}"> éç½® </el-button> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center"> |
| | | <el-button type="primary" icon="ele-Search" @click="getLocationPage(2)"> |
| | | æ¥è¯¢ |
| | | </el-button> |
| | | <el-button icon="ele-Refresh" @click="() => formModel = {}"> |
| | | éç½® |
| | | </el-button> |
| | | <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan" |
| | | v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> |
| | | é«çº§æ¥è¯¢ |
| | | </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan" |
| | | v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> |
| | | éè |
| | | </el-button> |
| | | |
| | | </el-button-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | |
| | | </el-form> |
| | | </el-card> |
| | | |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <div class="msi-content" style="height:calc(100vh - 200px)"> |
| | | |
| | | <div> |
| | | <p>1#ç«ä½åº</p> |
| | | <div class="storage-grid"> |
| | | <!-- é忝䏿 --> |
| | | <div class="row" :class="'rowMy' + rowIndex" v-for="(row, rowIndex) in storageList" :key="rowIndex"> |
| | | <!-- é忝ä¸å --> |
| | | <div class="cell " v-for="(cell, cellIndex) in row" :key="cellIndex"> |
| | | {{ cell }} <!-- æ¾ç¤ºæ¯ä¸ªåºä½çå
容 --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <!-- ç»è®¡åºå --> |
| | | <count-view :countData="countList"></count-view> |
| | | <!-- åºä½å±ç¤º --> |
| | | <content-view :contentData="dataList"></content-view> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import { nextTick, onMounted, ref } from 'vue' |
| | | //import SearchBar from '@/components/SearchBar.vue' |
| | | import { getStorageView } from '/@/api/main/ReportCenter/storageView'; |
| | | |
| | | import CountView from './component/CountView.vue' |
| | | import ContentView from './component/ContentView.vue' |
| | | import { ElMessage } from 'element-plus'; |
| | | import { handleSlectDataWmsArea } from '/@/utils/selectData'; |
| | | |
| | | const showAdvanceQueryUIWmsStockQuan = ref(false); |
| | | // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ |
| | | const changeAdvanceQueryUIWmsStockQuan = () => { |
| | | showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value; |
| | | }; |
| | | |
| | | |
| | | const LangEnum = ref([ // æå±å··é |
| | | { |
| | | value: '1', |
| | | title: '1å··é' |
| | | }, |
| | | { |
| | | value: '2', |
| | | title: '2å··é' |
| | | }, |
| | | { |
| | | value: '3', |
| | | title: '3å··é' |
| | | } |
| | | ]) |
| | | const isAutoEnum: any[] = [ |
| | | { |
| | | title: 'å¦', |
| | | value: 0 |
| | | }, |
| | | { |
| | | title: 'æ¯', |
| | | value: 1 |
| | | } |
| | | ] |
| | | |
| | | |
| | | //åºä½ç¶æ |
| | | const storageStatusEnum = ref([ |
| | | { |
| | | value: '0', |
| | | title: '空åºä½' |
| | | }, |
| | | { |
| | | value: '1', |
| | | title: '空容å¨åºä½' |
| | | }, |
| | | { |
| | | value: '2', |
| | | title: 'æè´§åºä½' |
| | | }, |
| | | ]) |
| | | |
| | | const strorageRowEnum = ref<any>([]) // æå±æ |
| | | //åè¡¨è¯·æ±æ°æ® |
| | | const formModel = ref({ |
| | | Lane: '', |
| | | Row: '', |
| | | MaterialCode: '', |
| | | inventoryType: '', |
| | | ShelfCode: '', |
| | | Code: '', |
| | | ContainerCode: '', |
| | | Status: '', |
| | | isLocked: '', |
| | | areaCode:"A2", |
| | | PageNo: 1, |
| | | PageSize: 10000 |
| | | }) |
| | | |
| | | //åºä½åè¡¨æ°æ® |
| | | const dataList = ref([]); |
| | | //ç»è®¡çæ°æ® |
| | | const countList = ref([ |
| | | { |
| | | type: 0, |
| | | title: '空åºä½:', |
| | | count: 0 |
| | | }, |
| | | { |
| | | type: 1, |
| | | title: 'æè´§åºä½ï¼ç©ºå®¹å¨ï¼:', |
| | | count: 0 |
| | | }, |
| | | { |
| | | type: 2, |
| | | title: 'æè´§åºä½ï¼ç©æï¼:', |
| | | count: 0 |
| | | }, |
| | | // { |
| | | // type: 3, |
| | | // title: 'éå®åºä½:', |
| | | // count: 0 |
| | | // }, |
| | | // { |
| | | // type: 4, |
| | | // title: 'ç¦ç¨åºä½:', |
| | | // count: 0 |
| | | // } |
| | | ]); |
| | | |
| | | // æç
§è¡åç¸åè¿è¡åç» |
| | | const sortClass = (sortData: any) => { |
| | | const groupBy = (array: any, f: any) => { |
| | | let groups = {}; |
| | | array.forEach((o) => { |
| | | let group = JSON.stringify(f(o)); |
| | | groups[group] = groups[group] || []; |
| | | groups[group].push(o); |
| | | }); |
| | | return Object.keys(groups).map((group) => { |
| | | return groups[group]; |
| | | }); |
| | | }; |
| | | const sorted = groupBy(sortData, (item) => { |
| | | return item.lane + '-' + item.column; // è¿åéè¦åç»ç对象 |
| | | }); |
| | | return sorted; |
| | | }; |
| | | |
| | | // åç»å |
| | | // console.log(listData); |
| | | // åç»å |
| | | // console.log(sortClass(listData)); |
| | | |
| | | //åºä½å¾å表 |
| | | const getLocationPage = async (param?: any) => { |
| | | if (param && param == 2) { |
| | | if (formModel.value.Lane == "" && formModel.value.Row != "") { |
| | | ElMessage.warning("è¯·éæ©æå±å··éï¼") |
| | | return |
| | | } |
| | | } |
| | | |
| | | if(!formModel.value.areaCode){ |
| | | ElMessage.warning("è¯·éæ©æå¨åºåºï¼") |
| | | return |
| | | } |
| | | |
| | | var res = await getStorageView(Object.assign(formModel.value, {})); |
| | | if (res.data.code == 200) { |
| | | const { data } = res; |
| | | const result = data.result; |
| | | strorageRowEnum.value = new Array(4).fill(0); |
| | | countList.value[0].count = result.emptyLocation || 0; //空åºä½ |
| | | countList.value[1].count = result.emptyContainerLocation || 0; //空容å¨åºä½ |
| | | countList.value[2].count = result.materialLocation || 0; //æè´§åºä½ |
| | | // countList.value[3].count = result.lockedLocation || 0; //éå®åºä½ |
| | | // countList.value[4].count = result.disableLocation || 0; //ç¦ç¨åºä½ |
| | | debugger |
| | | if (res.data.result.lanes) { |
| | | res.data.result.lanes.forEach((element: any) => { |
| | | element.rows.forEach((item: any) => { |
| | | item.rowLocations2 = sortClass(item.rowLocations) |
| | | }) |
| | | }); |
| | | } |
| | | dataList.value = res.data.result.lanes; |
| | | |
| | | } |
| | | |
| | | } |
| | | getLocationPage() |
| | | |
| | | const resetFormModel = JSON.parse(JSON.stringify(formModel.value)); |
| | | //éç½®æç´¢ |
| | | const resetForm = () => { |
| | | formModel.value = JSON.parse(JSON.stringify(resetFormModel)); |
| | | // getLocationPage() |
| | | }; |
| | | |
| | | let arr1:any =ref("") //ä¸æè¯»åæ¥å£ |
| | | // 页é¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | nextTick(async () => { |
| | | arr1.value = await handleSlectDataWmsArea({ |
| | | page: 1, |
| | | pageSize: 1000, |
| | | total: 0, |
| | | IsDisabled:false, |
| | | isVirtually:false, |
| | | areaType:1 //ç«ä½åº |
| | | }); //ä¸æè¯»åæ¥å£ |
| | | }); |
| | | }); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //==================88888888888888====================== |
| | | |
| | | const storageList = ref([]); // ç¨äºåæ¾åºä½çæ°ç» |
| | | |
| | | onMounted(() => { |
| | | initializeStorage(); // å¨ç»ä»¶æè½½ååå§ååºä½æ°æ® |
| | | }); |
| | | |
| | | function initializeStorage() { |
| | | const rows = 3; // æ»ææ° |
| | | const cellsPerRow = 20; // æ¯æçæ ¼åæ° |
| | | |
| | | for (let i = 0; i < rows; i++) { |
| | | let row = []; // æ¯æçæ ¼åæ°ç» |
| | | for (let j = 1; j <= cellsPerRow; j++) { |
| | | // æ ¹æ®è¡æ°ååæ°çæåºä½åç§° |
| | | row.push(` ${(i * cellsPerRow) + j}`); |
| | | } |
| | | storageList.value.push(row); // å°æ¯æçåºä½æ°ç»æ¨å
¥æ»æ°ç» |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .msi-content { |
| | | overflow: auto; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | .storage-grid { |
| | | width: 48%; |
| | | display: flex; |
| | | flex-direction: column; /* åç´æåæ¯ä¸æ */ |
| | | } |
| | | |
| | | .row { |
| | | display: flex; /* æ°´å¹³æåæ¯ä¸è¡ */ |
| | | } |
| | | |
| | | .cell { |
| | | border: 1px solid black; /* æ¯ä¸ªæ ¼åçé»çº¿ */ |
| | | flex: 1; /* æ¯ä¸ªæ ¼å宽度ç¸ç */ |
| | | height: 50px; /* æ¯ä¸ªæ ¼åçé«åº¦ */ |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; /* å±
䏿¾ç¤ºå
容 */ |
| | | } |
| | | |
| | | |
| | | .rowMy0 { |
| | | // background-color: #f9f9f9; /* ç¬¬ä¸æçèæ¯è² */ |
| | | div{ |
| | | height: 120px; |
| | | } |
| | | } |
| | | |
| | | .rowMy1 { |
| | | // background-color: #eeeeee; /* ç¬¬äºæçèæ¯è² */ |
| | | div{ |
| | | height: 50px; |
| | | } |
| | | } |
| | | |
| | | .rowMy2 { |
| | | // background-color: #dddddd; /* ç¬¬ä¸æçèæ¯è² */ |
| | | div{ |
| | | height: 80px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="formModel.searchKey" clearable="" |
| | | placeholder="åºä½ç¼å·,容å¨ç¼å·" /> |
| | | <el-input v-model="formModel.searchKey" clearable="" placeholder="åºä½ç¼å·,容å¨ç¼å·" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="åºä½ç¶æ:"> |
| | | <el-select v-model="formModel.inventoryType" clearable placeholder="è¯·éæ©åºä½ç¶æ" style="width: 100%;"> |
| | | <el-option v-for="item in storageStatusEnum" :key="item.value" :label="item.title" |
| | | :value="item.value" /> |
| | | <el-select v-model="formModel.inventoryType" clearable placeholder="è¯·éæ©åºä½ç¶æ" style="width: 100%"> |
| | | <el-option v-for="item in storageStatusEnum" :key="item.value" :label="item.title" :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-form-item> |
| | | </el-col> --> |
| | | |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center"> |
| | | <el-button type="primary" icon="ele-Search" @click="getLocationPage(2)"> |
| | | æ¥è¯¢ |
| | | </el-button> |
| | | <el-button icon="ele-Refresh" @click="() => formModel = {}"> |
| | | éç½® |
| | | </el-button> |
| | | <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan" |
| | | v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> |
| | | é«çº§æ¥è¯¢ |
| | | </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan" |
| | | v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> |
| | | éè |
| | | </el-button> |
| | | |
| | | <el-button type="primary" icon="ele-Search" @click="getLocationPage(2)"> æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-Refresh" @click="() => (formModel = {})"> éç½® </el-button> |
| | | <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan" v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> é«çº§æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan" v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> éè </el-button> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | |
| | | </el-form> |
| | | </el-card> |
| | | |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <div class="msi-content" style="height:calc(100vh - 200px)"> |
| | | <div class="box100"> |
| | | <div v-for="(item, index) in dataList" :key="index" class="box100Inner"> |
| | | <p class="t1">{{ item.laneNo }}#ç«ä½åº</p> |
| | | <div class="storage-grid"> |
| | | <div class="row rowMy0"> |
| | | <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex < 20"> |
| | | <span class="textK" |
| | | |
| | | :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }" |
| | | > |
| | | {{ cell.laneNo }}{{ cell.layerNo }}{{ cell.columnNo }} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div class="row rowMy1"> |
| | | <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex >= 20 && cellIndex < 40"> |
| | | <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }"> |
| | | {{ cell.laneNo }}{{ cell.layerNo }}{{ cell.columnNo }} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div class="row rowMy2"> |
| | | <div class="cell" v-for="(cell, cellIndex) in item.data" :key="cellIndex" v-show="cellIndex >= 40 && cellIndex <= 60"> |
| | | <span class="textK" :style="{ background: setBgColor(cell.placeStatus), boxShadow: '0 1px 1px' + setBgColor(cell.placeStatus) }"> |
| | | {{ cell.laneNo }}{{ cell.layerNo }}{{ cell.columnNo }} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- <div> |
| | | <p>1#ç«ä½åº</p> |
| | | <div class="storage-grid"> |
| | | é忝䏿 |
| | | <div class="row" :class="'rowMy' + rowIndex" v-for="(row, rowIndex) in storageList" :key="rowIndex"> |
| | | é忝ä¸å |
| | | <div class="cell" v-for="(cell, cellIndex) in row" :key="cellIndex"> |
| | | {{ cell }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | |
| | | <!-- ç»è®¡åºå --> |
| | | <count-view :countData="countList"></count-view> |
| | | <!-- <count-view :countData="countList"></count-view> --> |
| | | <!-- åºä½å±ç¤º --> |
| | | <content-view :contentData="dataList"></content-view> |
| | | <!-- <content-view :contentData="dataList"></content-view> --> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | </template> |
| | | <script lang="ts" setup> |
| | | import { nextTick, onMounted, ref } from 'vue' |
| | | import { nextTick, onMounted, ref } from 'vue'; |
| | | //import SearchBar from '@/components/SearchBar.vue' |
| | | import { getStorageView } from '/@/api/main/ReportCenter/storageView'; |
| | | |
| | | import CountView from './component/CountView.vue' |
| | | import ContentView from './component/ContentView.vue' |
| | | import CountView from './component/CountView.vue'; |
| | | import ContentView from './component/ContentView.vue'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { handleSlectDataWmsArea } from '/@/utils/selectData'; |
| | | |
| | |
| | | const changeAdvanceQueryUIWmsStockQuan = () => { |
| | | showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value; |
| | | }; |
| | | //è®¾ç½®èæ¯ æ£å¸¸ = 1, å°å = 2, ç¦åº = 3, ç¦å
¥ = 4, éå® = 5 |
| | | const setBgColor = (type: number): string => { |
| | | let color = ''; |
| | | switch (type) { |
| | | case 1: |
| | | color = '#F18201'; //æ©è² æ£å¸¸ |
| | | break; |
| | | case 2: |
| | | color = '#2BA6FF'; //èè² å°å |
| | | break; |
| | | case 3: |
| | | color = '#FFFF00'; //é»è² ç¦åº |
| | | break; |
| | | |
| | | case 4: |
| | | color = '#A2A2A2'; //ç°è² ç¦å
¥ |
| | | break; |
| | | |
| | | const LangEnum = ref([ // æå±å··é |
| | | case 5: |
| | | color = '#FF0000'; //çº¢è² éå® |
| | | break; |
| | | } |
| | | return color; |
| | | }; |
| | | const LangEnum = ref([ |
| | | // æå±å··é |
| | | { |
| | | value: '1', |
| | | title: '1å··é' |
| | | title: '1å··é', |
| | | }, |
| | | { |
| | | value: '2', |
| | | title: '2å··é' |
| | | title: '2å··é', |
| | | }, |
| | | { |
| | | value: '3', |
| | | title: '3å··é' |
| | | } |
| | | ]) |
| | | title: '3å··é', |
| | | }, |
| | | ]); |
| | | const isAutoEnum: any[] = [ |
| | | { |
| | | title: 'å¦', |
| | | value: 0 |
| | | value: 0, |
| | | }, |
| | | { |
| | | title: 'æ¯', |
| | | value: 1 |
| | | } |
| | | ] |
| | | |
| | | value: 1, |
| | | }, |
| | | ]; |
| | | |
| | | //åºä½ç¶æ |
| | | const storageStatusEnum = ref([ |
| | | { |
| | | value: '0', |
| | | title: '空åºä½' |
| | | title: '空åºä½', |
| | | }, |
| | | { |
| | | value: '1', |
| | | title: '空容å¨åºä½' |
| | | title: '空容å¨åºä½', |
| | | }, |
| | | { |
| | | value: '2', |
| | | title: 'æè´§åºä½' |
| | | title: 'æè´§åºä½', |
| | | }, |
| | | ]) |
| | | ]); |
| | | |
| | | const strorageRowEnum = ref<any>([]) // æå±æ |
| | | const strorageRowEnum = ref<any>([]); // æå±æ |
| | | //åè¡¨è¯·æ±æ°æ® |
| | | const formModel = ref({ |
| | | Lane: '', |
| | |
| | | ContainerCode: '', |
| | | Status: '', |
| | | isLocked: '', |
| | | areaCode:"A2", |
| | | areaCode: 'A2', |
| | | PageNo: 1, |
| | | PageSize: 10000 |
| | | }) |
| | | PageSize: 10000, |
| | | }); |
| | | |
| | | //åºä½åè¡¨æ°æ® |
| | | const dataList = ref([]); |
| | |
| | | { |
| | | type: 0, |
| | | title: '空åºä½:', |
| | | count: 0 |
| | | count: 0, |
| | | }, |
| | | { |
| | | type: 1, |
| | | title: 'æè´§åºä½ï¼ç©ºå®¹å¨ï¼:', |
| | | count: 0 |
| | | count: 0, |
| | | }, |
| | | { |
| | | type: 2, |
| | | title: 'æè´§åºä½ï¼ç©æï¼:', |
| | | count: 0 |
| | | count: 0, |
| | | }, |
| | | // { |
| | | // type: 3, |
| | |
| | | |
| | | //åºä½å¾å表 |
| | | const getLocationPage = async (param?: any) => { |
| | | if (param && param == 2) { |
| | | if (formModel.value.Lane == "" && formModel.value.Row != "") { |
| | | ElMessage.warning("è¯·éæ©æå±å··éï¼") |
| | | return |
| | | } |
| | | } |
| | | // if (param && param == 2) { |
| | | // if (formModel.value.Lane == "" && formModel.value.Row != "") { |
| | | // ElMessage.warning("è¯·éæ©æå±å··éï¼") |
| | | // return |
| | | // } |
| | | // } |
| | | |
| | | if(!formModel.value.areaCode){ |
| | | ElMessage.warning("è¯·éæ©æå¨åºåºï¼") |
| | | return |
| | | } |
| | | // if(!formModel.value.areaCode){ |
| | | // ElMessage.warning("è¯·éæ©æå¨åºåºï¼") |
| | | // return |
| | | // } |
| | | //è®¾ç½®èæ¯ |
| | | |
| | | var res = await getStorageView(Object.assign(formModel.value, {})); |
| | | if (res.data.code == 200) { |
| | | const { data } = res; |
| | | const result = data.result; |
| | | strorageRowEnum.value = new Array(4).fill(0); |
| | | countList.value[0].count = result.emptyLocation || 0; //空åºä½ |
| | | countList.value[1].count = result.emptyContainerLocation || 0; //空容å¨åºä½ |
| | | countList.value[2].count = result.materialLocation || 0; //æè´§åºä½ |
| | | // countList.value[3].count = result.lockedLocation || 0; //éå®åºä½ |
| | | // countList.value[4].count = result.disableLocation || 0; //ç¦ç¨åºä½ |
| | | debugger |
| | | if (res.data.result.lanes) { |
| | | res.data.result.lanes.forEach((element: any) => { |
| | | element.rows.forEach((item: any) => { |
| | | item.rowLocations2 = sortClass(item.rowLocations) |
| | | }) |
| | | |
| | | // å设 result æ¯ä¸ä¸ªå
å«å¤ä¸ªå¯¹è±¡çæ°ç»ï¼æ¯ä¸ªå¯¹è±¡é½æ LaneNo å ColumnNo 屿§ |
| | | const groupedResult = []; |
| | | |
| | | // æ LaneNo åç» è¾åºç»æ |
| | | // { |
| | | // 'laneNo':1, |
| | | // 'data': [{ }, {}, {}] |
| | | // } |
| | | |
| | | // åè®¾ç»ææ°æ®åå¨å¨ result æ°ç»ä¸ |
| | | |
| | | // æ laneNo åç» |
| | | result.forEach((item) => { |
| | | const laneNo = item.laneNo; |
| | | |
| | | // æ¥æ¾æ¯å¦å·²ç»æè¯¥ laneNo ç对象 |
| | | let laneGroup = groupedResult.find((group) => group.laneNo == laneNo); |
| | | |
| | | // å¦ææ²¡æï¼å建ä¸ä¸ªæ°çåç» |
| | | if (!laneGroup) { |
| | | laneGroup = { laneNo: laneNo, data: [] }; |
| | | groupedResult.push(laneGroup); |
| | | } |
| | | |
| | | // å°å½å项添å å°å¯¹åºçåç»ç data æ°ç»ä¸ |
| | | laneGroup.data.push(item); |
| | | }); |
| | | } |
| | | dataList.value = res.data.result.lanes; |
| | | |
| | | // æç»è¾åºç»æ |
| | | console.log(8888888); |
| | | console.log(groupedResult); |
| | | |
| | | // groupedResult åç»æ dataä¸çcolumnNo åç» å°æ¯ç»20 个å
ç´ |
| | | |
| | | function initializeStorage3() { |
| | | const rows = 3; // æ»ææ° |
| | | const cellsPerRow = 20; // æ¯æçæ ¼åæ° |
| | | |
| | | for (let i = 0; i < rows; i++) { |
| | | let row = []; // æ¯æçæ ¼åæ°ç» |
| | | for (let j = 1; j <= cellsPerRow; j++) { |
| | | // æ ¹æ®è¡æ°ååæ°çæåºä½åç§° |
| | | row.push(` ${i * cellsPerRow + j}`); |
| | | } |
| | | storageList.value.push(row); // å°æ¯æçåºä½æ°ç»æ¨å
¥æ»æ°ç» |
| | | } |
| | | } |
| | | |
| | | dataList.value = groupedResult; // 妿è¦å°ç»æèµå¼ç» dataList |
| | | |
| | | // const finalResult = []; |
| | | |
| | | // æç»ç»æ |
| | | |
| | | // ColumnNo 60 |
| | | // result æç
§LaneNoåç» |
| | | // åæç
§ColumnNo åç» ç¬¬ä¸ç» 20个 第äºç» 20个 第ä¸ç» 20个 |
| | | |
| | | // dataList.value = result; |
| | | |
| | | // strorageRowEnum.value = new Array(4).fill(0); |
| | | // countList.value[0].count = result.emptyLocation || 0; //空åºä½ |
| | | // countList.value[1].count = result.emptyContainerLocation || 0; //空容å¨åºä½ |
| | | // countList.value[2].count = result.materialLocation || 0; //æè´§åºä½ |
| | | // // countList.value[3].count = result.lockedLocation || 0; //éå®åºä½ |
| | | // // countList.value[4].count = result.disableLocation || 0; //ç¦ç¨åºä½ |
| | | // if (res.data.result.lanes) { |
| | | // res.data.result.lanes.forEach((element: any) => { |
| | | // element.rows.forEach((item: any) => { |
| | | // item.rowLocations2 = sortClass(item.rowLocations) |
| | | // }) |
| | | // }); |
| | | // } |
| | | // dataList.value = res.data.result; |
| | | } |
| | | getLocationPage() |
| | | }; |
| | | getLocationPage(); |
| | | |
| | | const resetFormModel = JSON.parse(JSON.stringify(formModel.value)); |
| | | //éç½®æç´¢ |
| | |
| | | // getLocationPage() |
| | | }; |
| | | |
| | | let arr1:any =ref("") //ä¸æè¯»åæ¥å£ |
| | | let arr1: any = ref(''); //ä¸æè¯»åæ¥å£ |
| | | // 页é¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | nextTick(async () => { |
| | | arr1.value = await handleSlectDataWmsArea({ |
| | | page: 1, |
| | | pageSize: 1000, |
| | | total: 0, |
| | | IsDisabled:false, |
| | | isVirtually:false, |
| | | areaType:1 //ç«ä½åº |
| | | }); //ä¸æè¯»åæ¥å£ |
| | | }); |
| | | onMounted(async () => {}); |
| | | |
| | | //==================88888888888888====================== |
| | | |
| | | const storageList = ref([]); // ç¨äºåæ¾åºä½çæ°ç» |
| | | |
| | | onMounted(() => { |
| | | initializeStorage(); // å¨ç»ä»¶æè½½ååå§ååºä½æ°æ® |
| | | }); |
| | | |
| | | function initializeStorage() { |
| | | const rows = 3; // æ»ææ° |
| | | const cellsPerRow = 20; // æ¯æçæ ¼åæ° |
| | | |
| | | for (let i = 0; i < rows; i++) { |
| | | let row = []; // æ¯æçæ ¼åæ°ç» |
| | | for (let j = 1; j <= cellsPerRow; j++) { |
| | | // æ ¹æ®è¡æ°ååæ°çæåºä½åç§° |
| | | row.push(` ${i * cellsPerRow + j}`); |
| | | } |
| | | storageList.value.push(row); // å°æ¯æçåºä½æ°ç»æ¨å
¥æ»æ°ç» |
| | | } |
| | | } |
| | | console.log(66666666); |
| | | |
| | | console.log(storageList.value); |
| | | </script> |
| | | <style lang="less" scoped> |
| | | .msi-content { |
| | | overflow: auto; |
| | | } |
| | | |
| | | .storage-grid { |
| | | display: flex; |
| | | flex-direction: column; /* åç´æåæ¯ä¸æ */ |
| | | width: 610px; |
| | | // border: 1px solid red; |
| | | } |
| | | |
| | | .row { |
| | | display: block; /* æ°´å¹³æåæ¯ä¸è¡ */ |
| | | } |
| | | |
| | | .cell { |
| | | border: 1px solid gray; /* æ¯ä¸ªæ ¼åçé»çº¿ */ |
| | | height: 50px; /* æ¯ä¸ªæ ¼åçé«åº¦ */ |
| | | display: inline-block; |
| | | justify-content: center; |
| | | align-items: center; /* å±
䏿¾ç¤ºå
容 */ |
| | | width: 30px; |
| | | } |
| | | |
| | | .rowMy0 { |
| | | // background-color: #f9f9f9; /* ç¬¬ä¸æçèæ¯è² */ |
| | | div { |
| | | height: 120px; |
| | | } |
| | | } |
| | | |
| | | .rowMy1 { |
| | | // background-color: #eeeeee; /* ç¬¬äºæçèæ¯è² */ |
| | | div { |
| | | height: 50px; |
| | | } |
| | | } |
| | | |
| | | .rowMy2 { |
| | | // background-color: #dddddd; /* ç¬¬ä¸æçèæ¯è² */ |
| | | div { |
| | | height: 80px; |
| | | } |
| | | } |
| | | |
| | | .box100 { |
| | | .box100Inner { |
| | | display: inline-block; |
| | | // width: 50%; |
| | | } |
| | | } |
| | | .t1 { |
| | | margin: 10px 0 2px 0; |
| | | } |
| | | .textK { |
| | | display: flex; /* ä½¿ç¨ Flexbox å¸å± */ |
| | | flex-direction: column; |
| | | font-size: 12px; |
| | | text-align: center; |
| | | width: 100%; |
| | | height: 100%; |
| | | color: white; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsConfigPrint-container"> |
| | | <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false"> |
| | | <template #header> |
| | | <div style="color: #fff"> |
| | | <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>--> |
| | | <span>{{ props.title }}</span> |
| | | </div> |
| | | </template> |
| | | <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading"> |
| | | <el-row :gutter="35"> |
| | | <el-form-item v-show="false"> |
| | | <el-input v-model="ruleForm.id" /> |
| | | </el-form-item> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°åç±»" prop="printClassify"> |
| | | <el-select clearable v-model="ruleForm.printClassify" placeholder="è¯·éæ©æå°åç±»"> |
| | | <el-option v-for="(item,index) in getEnumPrintClassifyData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°åç±»å" prop="printClassifyName"> |
| | | <el-input v-model="ruleForm.printClassifyName" placeholder="请è¾å
¥æå°åç±»å" maxlength="50" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æ¨¡æ¿å" prop="printTemplate"> |
| | | <el-input v-model="ruleForm.printTemplate" placeholder="请è¾å
¥æå°æ¨¡æ¿å" maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æ¨¡æ¿å°å" prop="printTemplateAddr"> |
| | | <el-input v-model="ruleForm.printTemplateAddr" placeholder="请è¾å
¥æå°æ¨¡æ¿å°å" maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æºå表" prop="printerList"> |
| | | <el-input v-model="ruleForm.printerList" placeholder="请è¾å
¥æå°æºå表" maxlength="500" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="ruleForm.remark" placeholder="请è¾å
¥å¤æ³¨" maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="cancel">å æ¶</el-button> |
| | | <el-button type="primary" @click="submit" :disabled="disabled_btn">ç¡® å®</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <style scoped> |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | <script lang="ts" setup> |
| | | import { ref,onMounted } from "vue"; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { ElMessage } from "element-plus"; |
| | | import type { FormRules } from "element-plus"; |
| | | import { addWmsConfigPrint, updateWmsConfigPrint, detailWmsConfigPrint } from "/@/api/main/WmsConfig/wmsConfigPrint"; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | |
| | | const getEnumPrintClassifyData = ref<any>([]); |
| | | //ç¶çº§ä¼ 鿥çåæ° |
| | | var props = defineProps({ |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }); |
| | | //ç¶çº§ä¼ 鿥ç彿°ï¼ç¨äºåè° |
| | | const emit = defineEmits(["reloadTable"]); |
| | | const ruleFormRef = ref(); |
| | | const isShowDialog = ref(false); |
| | | const loading = ref(false); |
| | | const disabled_btn = ref(false); |
| | | const ruleForm = ref<any>({}); |
| | | //èªè¡æ·»å å
¶ä»è§å |
| | | const rules = ref<FormRules>({ |
| | | printClassify: [{required: true, message: 'è¯·éæ©æå°åç±»ï¼', trigger: 'change',},], |
| | | printClassifyName: [{required: true, message: '请è¾å
¥æå°åç±»åï¼', trigger: 'blur',},], |
| | | printTemplate: [{required: true, message: '请è¾å
¥æå°æ¨¡æ¿åï¼', trigger: 'blur',},], |
| | | printTemplateAddr: [{required: true, message: '请è¾å
¥æå°æ¨¡æ¿å°åï¼', trigger: 'blur',},], |
| | | printerList: [{required: true, message: '请è¾å
¥æå°æºå表ï¼', trigger: 'blur',},], |
| | | isDelete: [{required: true, message: 'è¯·éæ©è½¯å é¤ï¼', trigger: 'change',},], |
| | | }); |
| | | |
| | | /* |
| | | * æå¼å¼¹çª |
| | | * @param flag æ è®°ï¼1æ°å¢ 2ç¼è¾ 3æ¥çï¼ |
| | | * @param row è¡æ°æ® |
| | | */ |
| | | const openDialog = async (flag: number,row: any) => { |
| | | // ruleForm.value = JSON.parse(JSON.stringify(row)); |
| | | // æ¹ç¨detailè·åææ°æ°æ®æ¥ç¼è¾ |
| | | let rowData = JSON.parse(JSON.stringify(row)); |
| | | if (rowData.id) |
| | | ruleForm.value = (await detailWmsConfigPrint(rowData.id)).data.result; |
| | | else { |
| | | ruleForm.value = rowData; |
| | | } |
| | | isShowDialog.value = true; |
| | | }; |
| | | |
| | | // å
³éå¼¹çª |
| | | const closeDialog = () => { |
| | | emit("reloadTable"); |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // åæ¶ |
| | | const cancel = () => { |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // æäº¤ |
| | | const submit = async () => { |
| | | disabled_btn.value = true; |
| | | ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { |
| | | if (isValid) { |
| | | loading.value = true; |
| | | let values = ruleForm.value; |
| | | let ret={}; |
| | | let title='æ°å¢'; |
| | | if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { |
| | | ret = await addWmsConfigPrint(values); |
| | | } else { |
| | | title='ç¼è¾'; |
| | | ret = await updateWmsConfigPrint(values); |
| | | } |
| | | loading.value = false; |
| | | disabled_btn.value = false; |
| | | if(ret.data.type=="success"){ |
| | | ElMessage.success(title+'æå'); |
| | | closeDialog(); |
| | | } |
| | | } else { |
| | | disabled_btn.value = false; |
| | | ElMessage({ |
| | | message: `表åæ${Object.keys(fields).length}å¤éªè¯å¤±è´¥ï¼è¯·ä¿®æ¹ååæäº¤`, |
| | | type: "error", |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 页é¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | getEnumPrintClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? []; |
| | | }); |
| | | |
| | | //å°å±æ§æè
彿°æ´é²ç»ç¶ç»ä»¶ |
| | | defineExpose({ openDialog }); |
| | | </script> |
| | | |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsConfigPrint-container"> |
| | | <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> |
| | | <el-form :model="queryParamsWmsConfigPrint" ref="queryForm" labelWidth="90"> |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="æå°åç±»å,æå°æ¨¡æ¿å,æå°æ¨¡æ¿å°å,æå°æºå表,夿³¨,å建人,ä¿®æ¹äºº"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°åç±»"> |
| | | <el-select clearable="" v-model="queryParamsWmsConfigPrint.printClassify" placeholder="è¯·éæ©æå°åç±»"> |
| | | <el-option v-for="(item,index) in getEnumPrintClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°åç±»å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="请è¾å
¥æå°åç±»å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°æ¨¡æ¿å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printTemplate" clearable="" placeholder="请è¾å
¥æå°æ¨¡æ¿å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°æ¨¡æ¿å°å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printTemplateAddr" clearable="" placeholder="请è¾å
¥æå°æ¨¡æ¿å°å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°æºå表"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="请è¾å
¥æå°æºå表"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="夿³¨"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="请è¾å
¥å¤æ³¨"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center;"> |
| | | <el-button type="primary" icon="ele-Search" @click="handleQueryWmsConfigPrint" v-auth="'wmsConfigPrint:page'" :disabled="disabled_btnWmsConfigPrint"> æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-Refresh" @click="resetWmsConfigPrint"> éç½® </el-button> |
| | | <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="!showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> é«çº§æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> éè </el-button> |
| | | <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigPrint" v-auth="'wmsConfigPrint:add'"> æ°å¢ </el-button> |
| | | <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsConfigPrint" v-auth="'wmsConfigPrint:exportExcel'" > å¯¼åº </el-button> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-card> |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <el-table |
| | | ref="tableRefWmsConfigPrint" |
| | | :data="tableDataWmsConfigPrint" |
| | | style="width: 100%" |
| | | v-loading="loadingWmsConfigPrint" |
| | | tooltip-effect="light" |
| | | row-key="id" |
| | | @sort-change="sortChangeWmsConfigPrint" |
| | | border=""> |
| | | <el-table-column type="index" label="åºå·" width="55" align="center"/> |
| | | <el-table-column prop="printClassify" label="æå°åç±»" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="printClassifyName" label="æå°åç±»å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printTemplate" label="æå°æ¨¡æ¿å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printTemplateAddr" label="æå°æ¨¡æ¿å°å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printerList" label="æå°æºå表" show-overflow-tooltip="" /> |
| | | <el-table-column prop="remark" label="夿³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateTime" label="ä¿®æ¹æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateUserName" label="ä¿®æ¹äºº" show-overflow-tooltip="" /> |
| | | <el-table-column label="æä½" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')"> |
| | | <template #default="scope"> |
| | | <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> ç¼è¾ </el-button> |
| | | <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:delete'"> å é¤ </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | v-model:currentPage="tableParamsWmsConfigPrint.page" |
| | | v-model:page-size="tableParamsWmsConfigPrint.pageSize" |
| | | :total="tableParamsWmsConfigPrint.total" |
| | | :page-sizes="[10, 20, 50, 100, 200, 500]" |
| | | small="" |
| | | background="" |
| | | @size-change="handleSizeChangeWmsConfigPrint" |
| | | @current-change="handleCurrentChangeWmsConfigPrint" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | /> |
| | | <printDialogWmsConfigPrint |
| | | ref="printDialogRefWmsConfigPrint" |
| | | :title="printWmsConfigPrintTitle" |
| | | @reloadTable="handleQueryWmsConfigPrint" /> |
| | | <editDialogWmsConfigPrint |
| | | ref="editDialogRefWmsConfigPrint" |
| | | :title="editWmsConfigPrintTitle" |
| | | @reloadTable="handleQueryWmsConfigPrint" |
| | | /> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup="" name="wmsConfigPrint"> |
| | | import { ref,onMounted } from "vue"; |
| | | import { ElMessageBox, ElMessage } from "element-plus"; |
| | | import { auth } from '/@/utils/authFunction'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime'; |
| | | import { exportPageExcel } from '/@/utils/exportPageExcel' //å¼å
¥å¯¼åºæ¹æ³ |
| | | |
| | | |
| | | import printDialogWmsConfigPrint from '/@/views/system/print/component/hiprint/preview.vue' |
| | | import editDialogWmsConfigPrint from '/@/views/main/WmsConfig/wmsConfigPrint/component/editDialog.vue' |
| | | import { pageWmsConfigPrint, deleteWmsConfigPrint,importExcelWmsConfigPrint,downloadExcelTemplateWmsConfigPrint } from '/@/api/main/WmsConfig/wmsConfigPrint'; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | import commonFunction from '/@/utils/commonFunction'; |
| | | |
| | | const getEnumPrintClassifyData_Index = ref<any>([]); |
| | | |
| | | const { getEnumDesc } = commonFunction(); |
| | | |
| | | /***************************************************[æå°é
置表æä½]å¼å§***************************************************/ |
| | | const showAdvanceQueryUIWmsConfigPrint = ref(false); |
| | | const tableRefWmsConfigPrint = ref(null); |
| | | const printDialogRefWmsConfigPrint = ref(); |
| | | const editDialogRefWmsConfigPrint = ref(); |
| | | const loadingWmsConfigPrint = ref(false); |
| | | const disabled_btnWmsConfigPrint = ref(false); |
| | | const tableDataWmsConfigPrint = ref<any>([]); |
| | | const queryParamsWmsConfigPrint = ref<any>({}); |
| | | const tableParamsWmsConfigPrint = ref({ |
| | | page: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | }); |
| | | |
| | | const printWmsConfigPrintTitle = ref(""); |
| | | const editWmsConfigPrintTitle = ref(""); |
| | | |
| | | // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ |
| | | const changeAdvanceQueryUIWmsConfigPrint = () => { |
| | | showAdvanceQueryUIWmsConfigPrint.value = !showAdvanceQueryUIWmsConfigPrint.value; |
| | | } |
| | | |
| | | // æ¥è¯¢æå°é
置表 |
| | | const handleQueryWmsConfigPrint = async () => { |
| | | loadingWmsConfigPrint.value = true; |
| | | disabled_btnWmsConfigPrint.value = true; |
| | | var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, tableParamsWmsConfigPrint.value)); |
| | | if(res.data.type=="success"){ |
| | | tableDataWmsConfigPrint.value = res.data.result?.items ?? []; |
| | | tableParamsWmsConfigPrint.value.total = res.data.result?.total; |
| | | } |
| | | loadingWmsConfigPrint.value = false; |
| | | disabled_btnWmsConfigPrint.value = false; |
| | | }; |
| | | |
| | | // éç½®æå°é
置表æ¥è¯¢ |
| | | const resetWmsConfigPrint = async () => { |
| | | queryParamsWmsConfigPrint.value = {} |
| | | }; |
| | | |
| | | // æå°é
置表åæåº |
| | | const sortChangeWmsConfigPrint = async (column: any) => { |
| | | queryParamsWmsConfigPrint.value.field = column.prop; |
| | | queryParamsWmsConfigPrint.value.order = column.order; |
| | | await handleQueryWmsConfigPrint(); |
| | | }; |
| | | |
| | | // æå¼æ°å¢æå°é
ç½®è¡¨é¡µé¢ |
| | | const openAddWmsConfigPrint = () => { |
| | | editWmsConfigPrintTitle.value = 'æ·»å æå°é
置表'; |
| | | editDialogRefWmsConfigPrint.value.openDialog(1,{}); |
| | | }; |
| | | |
| | | // æå¼æå°æå°é
ç½®è¡¨é¡µé¢ |
| | | const openPrintWmsConfigPrint = async (row: any) => { |
| | | printWmsConfigPrintTitle.value = 'æå°æå°é
置表'; |
| | | } |
| | | |
| | | // æå¼ç¼è¾æå°é
ç½®è¡¨é¡µé¢ |
| | | const openEditWmsConfigPrint = (row: any) => { |
| | | editWmsConfigPrintTitle.value = 'ç¼è¾æå°é
置表'; |
| | | editDialogRefWmsConfigPrint.value.openDialog(2,row); |
| | | }; |
| | | |
| | | // å 餿å°é
置表 |
| | | const delWmsConfigPrint = (row: any) => { |
| | | ElMessageBox.confirm(`ç¡®å®è¦å é¤å?`, "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(async () => { |
| | | loadingWmsConfigPrint.value = true; |
| | | var ret = await deleteWmsConfigPrint(row); |
| | | if(ret.data.type=="success"){ |
| | | ElMessage.success("å 餿å"); |
| | | } |
| | | loadingWmsConfigPrint.value = false; |
| | | handleQueryWmsConfigPrint(); |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | // æ¹åæå°é
置表页é¢å®¹é |
| | | const handleSizeChangeWmsConfigPrint = (val: number) => { |
| | | tableParamsWmsConfigPrint.value.pageSize = val; |
| | | handleQueryWmsConfigPrint(); |
| | | }; |
| | | |
| | | // æ¹åæå°é
置表页ç åºå· |
| | | const handleCurrentChangeWmsConfigPrint = (val: number) => { |
| | | tableParamsWmsConfigPrint.value.page = val; |
| | | handleQueryWmsConfigPrint(); |
| | | }; |
| | | |
| | | /***************************************************[æå°é
置表æä½]ç»æ***************************************************/ |
| | | /***************************************************[æå°é
置表导åº]å¼å§***************************************************/ |
| | | //å®ä¹å½å页é¢çæ¹æ³ç» |
| | | const functionMapWmsConfigPrint = { |
| | | getEnumPrintClassifyData_Index, |
| | | formatDate_T_Date, |
| | | formatDate_T_Time |
| | | }; |
| | | //ç¹å»å¯¼åºæé® |
| | | const handleExportExcelWmsConfigPrint = async (formData:Blob) => { |
| | | loadingWmsConfigPrint.value = true; |
| | | disabled_btnWmsConfigPrint.value = true; |
| | | var new_tableParamsWmsConfigPrint=JSON.parse(JSON.stringify(tableParamsWmsConfigPrint.value)); |
| | | new_tableParamsWmsConfigPrint.page = 1; |
| | | new_tableParamsWmsConfigPrint.pageSize = 100000; |
| | | var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, new_tableParamsWmsConfigPrint)); |
| | | if(res.data.type=="success"){ |
| | | exportExcelWmsConfigPrint(res.data.result?.items ?? []); |
| | | } |
| | | loadingWmsConfigPrint.value = false; |
| | | disabled_btnWmsConfigPrint.value = false; |
| | | }; |
| | | //å¯¼åº |
| | | const exportExcelWmsConfigPrint = async (exportDataList:Array) => { |
| | | exportPageExcel(exportDataList, tableRefWmsConfigPrint,"æå°é
置表",functionMapWmsConfigPrint); |
| | | }; |
| | | /***************************************************[æå°é
置表导åº]ç»æ***************************************************/ |
| | | // æå°é
置表页é¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | getEnumPrintClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? []; |
| | | }); |
| | | |
| | | handleQueryWmsConfigPrint(); |
| | | </script> |
| | | <style scoped> |
| | | :deep(.el-input), |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | |
ÎļþÃû´Ó LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue ÐÞ¸Ä |
| | |
| | | </template> |
| | | </el-dialog> |
| | | <!-- å详æ
--> |
| | | <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}订å详æ
`" direction="rtl" size="80%" @close="handleDrawerClose"> |
| | | <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}ç©æè¯¦æ
`" direction="rtl" size="80%" @close="handleDrawerClose"> |
| | | <template #title> |
| | | <div class="slot_title"> |
| | | <div class="title_orderNo">{{ title }}</div> |
| | | <div>订å详æ
</div> |
| | | <div>ç©æè¯¦æ
</div> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | <el-form :model="detailForm"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="ç©æç¼å·"> |
| | | <el-input v-model="detailForm.materialCode" clearable placeholder="请è¾å
¥ç©æç¼å·" /> |
| | | <el-form-item label="é¨ä»¶åç§°"> |
| | | <el-input v-model="detailForm.detailName" clearable placeholder="请è¾å
¥é¨ä»¶åç§°" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | |
| | | <!-- <el-table-column prop="poId" label="POåID" show-overflow-tooltip="" /> --> |
| | | <!-- <el-table-column prop="poNo" label="POåå·" show-overflow-tooltip="" /> --> |
| | | |
| | | <el-table-column prop="materialCode" label="ç©æç¼å·" fixed="left" show-overflow-tooltip="" /> |
| | | <el-table-column prop="materialName" label="ç©æåç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="poLineNumber" label="è¡å·" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="poDetailStatus" label="ç¶æ" show-overflow-tooltip=""> |
| | | <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="packageCode" label="å
è£
å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="stockStatus" label="åºåç¶æ" show-overflow-tooltip=""> |
| | | <template #default="scope"> |
| | | <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index))">{{ |
| | | getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index) |
| | | }}</el-tag> |
| | | <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index) }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="quantity" label="æ°é" show-overflow-tooltip="" /> |
| | | <el-table-column prop="goodsQuantity" label="å·²æ¶æ°é" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column |
| | | prop="createASNQuantity" |
| | | label="å·²å建ASNæ°é" min-width="110px" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | |
| | | <!-- <el-table-column |
| | | prop="snp" |
| | | label="æ å
æ°é" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | <!-- <el-table-column prop="erpOrderNo" label="ERPåå·" show-overflow-tooltip="" /> --> |
| | | <el-table-column prop="erpCode" label="ERPåºåå°" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column |
| | | prop="printQuantity" min-width="110px" |
| | | label="æ¡ç æå°æ°é" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | |
| | | <!-- <el-table-column |
| | | prop="poDetailStatusName" |
| | | label="ç¶æåç§°" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | <el-table-column prop="supplierCode" label="ä¾åºåç¼å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="supplierName" label="ä¾åºååç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="supplierBatch" min-width="100px" label="ä¾åºåæ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <!-- <el-table-column prop="batch" min-width="100px" label="æ¹æ¬¡" show-overflow-tooltip="" /> --> |
| | | <el-table-column prop="unit" min-width="100px" label="éè´åä½" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="plannedStartTime" label="计åå¼å§æ¶é´" min-width="130px" show-overflow-tooltip="" /> |
| | | <el-table-column prop="plannedEndTime" label="计åç»ææ¶é´" min-width="130px" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="projectNo" min-width="100px" label="项ç®å·" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column |
| | | prop="dock" |
| | | min-width="100px" |
| | | label="æ¶è´§éå£" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | |
| | | <el-table-column prop="stockStatusName" label="åºåç¶æåç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operReason" label="æä½åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="operUser" label="æä½äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operTime" label="æä½æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockStatus" label="éå®ç¶æ" show-overflow-tooltip=""> |
| | | <template #default="scope"> |
| | | <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index) }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="lockReason" label="éå®åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockUser" label="éå®äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockTime" label="é宿¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="remarks" label="夿³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateTime" label="ä¿®æ¹æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | |
| | | const hexiao = computed(() => props.hexiao); |
| | | const loading = ref(false); |
| | | |
| | | const getEnumStockStatusData_Index = ref<any>([]); |
| | | const getEnumLockStatusData_Index = ref<any>([]); |
| | | // ç»å½ç¨æ·id |
| | | // const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID")) |
| | | |
| | |
| | | //åè¡¨çæ°æ®æ¡æ° |
| | | const totalItems = ref<number>(0); |
| | | |
| | | //ç¼åæä¸¾ |
| | | const enumList: any = cache.getCache('enumList'); |
| | | console.log(enumList.inEnumOrderType); |
| | | // //ç¼åæä¸¾ |
| | | // const enumList: any = cache.getCache('enumList'); |
| | | // console.log(enumList.inEnumOrderType); |
| | | |
| | | // .inEnumOrderType |
| | | |
| | | //è·åPOåå表 |
| | | const getTabelData = () => { |
| | |
| | | // -------------------è·åPOåä¸ç©æè¯¦æ
----------------------------------- |
| | | //å
¥åºåä¸ç©æè¯¦æ
è¯·æ± |
| | | const detailForm = ref({ |
| | | poId: '', |
| | | materialCode: '', |
| | | detailName: '', |
| | | packageCode: '', |
| | | Page: 1, |
| | | PageSize: 10, |
| | | }); |
| | |
| | | const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => { |
| | | detailForm.value.Page = 1; //bug:ç¹ç¼è¾-åç¹è¯¦æ
|
| | | detailForm.value.PageSize = 10; //bug:ç¹ç¼è¾-åç¹è¯¦æ
|
| | | if (scope.purchaseNo) { |
| | | title.value = `${scope.purchaseNo}`; |
| | | } |
| | | if (scope.orderNo) { |
| | | title.value = `${scope.orderNo}`; |
| | | if (scope.packageCode) { |
| | | title.value = `${scope.packageCode}`; |
| | | } |
| | | drawerType.value = 'drawerAll'; |
| | | drawerVisible.value = true; |
| | | //å½åå
¥åºåå·id |
| | | detailForm.value.poId = scope.id; |
| | | detailForm.value.orderId = scope.orderId; |
| | | //å
¥åºå |
| | | purchaseNo.value = scope.purchaseNo; |
| | | purchaseNo.value = scope.packageCode; |
| | | debugger; |
| | | detailForm.value.poId = scope.id; |
| | | detailForm.value.packageCode = scope.packageCode; |
| | | //è·åç©æå表 |
| | | if (detailForm.value.poId == '') { |
| | | drawerList.value = []; |
| | |
| | | //------------------è·åç©æåè¡¨ç©ææç» |
| | | getDetail(); |
| | | //------------------è·åç©æåè¡¨ç©ææç» |
| | | getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? []; |
| | | getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? []; |
| | | |
| | | getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //ä¸æè¯»åä¸å¡ç±»åæ¥å£ create by liuwq |
| | | |
| | | getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? []; |
| | | |
| | | getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; |
| | | getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; |
| | | //----------------ç©ææç» |
| | | // æ ¹æ®ç¶æè½¬ä¸æ ä¿ç3ä½å°æ° |
| | | let scopetrans = JSON.parse(JSON.stringify(scope)); |
| | |
| | | //å
³éæ½å± |
| | | const handleDrawerClose = () => { |
| | | detailForm.value = { |
| | | poId: '', |
| | | materialCode: '', |
| | | detailName: '', |
| | | packageCode: '', |
| | | Page: 1, |
| | | PageSize: 10, |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsOrderPurchase-container"> |
| | | <!-- é½å¥ç®¡ç --> |
| | | <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> |
| | | <el-form :model="queryParams" ref="queryForm" labelWidth="90"> |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="queryParams.searchKey" clearable="" placeholder="å
³é®å" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="POåå·"> |
| | | <el-input v-model="queryParams.purchaseNo" clearable="" placeholder="请è¾å
¥POåå·" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="ä¸å¡ç±»å"> |
| | | <el-select clearable="" v-model="queryParams.businessType" placeholder="è¯·éæ©ä¸å¡ç±»å"> |
| | | <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="åæ®æ¥æº"> |
| | | <el-select clearable="" v-model="queryParams.orderSocure" placeholder="è¯·éæ©åæ®æ¥æº"> |
| | | <el-option v-for="(item, index) in getEnumOrderSocureData_Index" :key="index" :value="item.describe" :label="`${item.describe}`" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="åæ®ç¶æ"> |
| | | <el-select clearable="" v-model="queryParams.poStatus" placeholder="è¯·éæ©åæ®ç¶æ"> |
| | | <el-option v-for="(item, index) in getEnumPoStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | |
| | | |
| | | <el-form-item label="ä¾åºå" prop="supplierCode"> |
| | | <el-select |
| | | v-model="queryParams.supplierCode" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | remote-show-suffix |
| | | :remote-method="remoteMethod" |
| | | :loading="loading" |
| | | placeholder="è¯·éæ©ä¾åºå" |
| | | clearable |
| | | style="width: 100%" |
| | | @change="changeXmbh(queryParams.supplierCode)" |
| | | > |
| | | <el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode" :label="`[${item.custCode}]${item.custChinaName}`"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="ä¾åºååç§°"> |
| | | <el-input v-model="queryParams.supplierName" clearable="" placeholder="请è¾å
¥ä¾åºååç§°" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="ERPåå·"> |
| | | <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="请è¾å
¥ERPåå·" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="项ç®å·"> |
| | | <el-input v-model="queryParams.projectNo" clearable="" placeholder="请è¾å
¥é¡¹ç®å·" /> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center"> |
| | | <el-button type="primary" icon="ele-Search" @click="handleQuery"> æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-Refresh" @click="() => (queryParams = {})"> éç½® </el-button> |
| | | <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px"> é«çº§æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left: 5px"> éè </el-button> --> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-card> |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <div class="table-container"> |
| | | <!-- å·¦ä¾§è¡¨æ ¼ --> |
| | | <div class="left-table"> |
| | | <p class="text-xtiny">é½å¥å表</p> |
| | | |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | v-loading="loading" |
| | | tooltip-effect="light" |
| | | ref="tableRef" |
| | | row-key="id" |
| | | @sort-change="sortChange" |
| | | :summary-method="getExportTitle" |
| | | border="" |
| | | > |
| | | <el-table-column type="index" label="åºå·" width="55" align="center" /> |
| | | <el-table-column label="订åå·" prop="packageCode" width="150" align="left" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | <span class="under_line" @click="openDrawer(1, scope.row)"> |
| | | {{ scope.row.orderId }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="count" label="æ°é" show-overflow-tooltip="" /> |
| | | <!-- <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> --> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <!-- å³ä¾§è¡¨æ ¼ --> |
| | | <div class="right-table"> |
| | | <p class="text-xtiny">ä¸é½å¥å表</p> |
| | | <el-table |
| | | :data="newTableData" |
| | | style="width: 100%" |
| | | v-loading="loading" |
| | | tooltip-effect="light" |
| | | ref="newTableRef" |
| | | row-key="newId" |
| | | @sort-change="newSortChange" |
| | | :summary-method="getNewExportTitle" |
| | | border="" |
| | | > |
| | | <el-table-column type="index" label="åºå·" width="55" align="center" /> |
| | | <!-- <el-table-column prop="packageCode" label="å
è£
å·" show-overflow-tooltip="" /> --> |
| | | <el-table-column label="订åå·" prop="packageCode" width="150" align="left" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | <span class="under_line" @click="openDrawer(1, scope.row)"> |
| | | {{ scope.row.orderId }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="count" label="æ°é" show-overflow-tooltip="" /> |
| | | <!-- <el-table-column prop="count" label="æ°é" show-overflow-tooltip="" /> |
| | | <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> --> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | <!-- |
| | | <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle" @reloadTable="handleQuery" /> --> |
| | | <importExcelDialog |
| | | ref="importExcelDialogRefWmsOrderDeliver" |
| | | :title="importExcelTitleWmsOrderDeliver" |
| | | @parentUploadFun="handleImportExcelWmsOrderDeliver" |
| | | @parentDownFun="handleDownExcelWmsOrderDeliver" |
| | | /> |
| | | <!-- ææå¼¹æ¡ ï¼æ°å¢ ç¼è¾ 详æ
--> |
| | | <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup="" name="wmsOrderPurchase"> |
| | | import { getCurrentInstance, nextTick, onMounted, ref } from 'vue'; |
| | | import { ElMessageBox, ElMessage } from 'element-plus'; |
| | | import { auth } from '/@/utils/authFunction'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime'; |
| | | import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer'; |
| | | import { formatUtcToData, getTypeStatus } from '/@/utils/formate'; |
| | | import printDialog from '/@/views/system/print/component/hiprint/preview.vue'; |
| | | import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue'; |
| | | import { |
| | | deleteWmsOrderPurchase, |
| | | importExcelWmsOrderPurchase, |
| | | downloadExcelTemplateWmsOrderPurchase, |
| | | downloadExcelTemplateWmsOrderPurchaseAll, |
| | | KittingList, |
| | | } from '/@/api/main/WmsOrder/wmsOrderPurchase'; |
| | | import { handleSlectDataWmsBusinessType } from '/@/utils/selectData'; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | import commonFunction from '/@/utils/commonFunction'; |
| | | import importExcelDialog from '/@/components/importExcel/index.vue'; //å¼å
¥å¯¼å
¥ç»ä»¶ |
| | | import { exportPageExcel } from '/@/utils/exportPageExcel'; //å¼å
¥å¯¼åºæ¹æ³ |
| | | import OpenAllprop from './component/openAllprop.vue'; |
| | | import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell'; |
| | | const { proxy }: any = getCurrentInstance(); // 访é®å®ä¾ä¸ä¸æ proxyåæ¶æ¯æå¼å 线ä¸ç¯å¢ |
| | | const moveType = 10; //ç§»å¨ç±»å å
¥åº |
| | | // ------------å°è£
导åºåè½--å端导åº+è¡¨æ ¼æ é¢--------------- |
| | | const jsonExcellTableExport = { |
| | | titleName: '', //导åºè¡¨æ ¼åç§° |
| | | interfaceListName: '', //å¯¼åºæ¥å£åç§° |
| | | }; |
| | | const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport); |
| | | // --------------end å°è£
导åºåè½--å端导åº+è¡¨æ ¼æ é¢----------------- |
| | | // ---------------æ°å¢----------------------- |
| | | const showProp = (item?: any) => { |
| | | if (item == 1) { |
| | | proxy.$refs['propALlProp'].openDialog(1); |
| | | } else { |
| | | proxy.$refs['propALlProp'].openDialog(2, item); |
| | | } |
| | | }; |
| | | // ---------------详æ
----------------------- |
| | | const openDrawer = (type: number, item?: any) => { |
| | | proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell); |
| | | }; |
| | | // ---------------end详æ
----------------------- |
| | | |
| | | // const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq |
| | | const getEnumPoStatusData_Index = ref<any>([]); |
| | | |
| | | const { getEnumDesc } = commonFunction(); |
| | | |
| | | const getEnumOrderSocureData_Index = ref<any>([]); |
| | | |
| | | const showAdvanceQueryUI = ref(false); |
| | | const printDialogRef = ref(); |
| | | const editDialogRef = ref(); |
| | | const loading = ref(false); |
| | | const tableData = ref<any>([]); |
| | | const queryParams = ref<any>({}); |
| | | const tableParams = ref({ |
| | | page: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | }); |
| | | |
| | | const printWmsOrderPurchaseTitle = ref(''); |
| | | const editWmsOrderPurchaseTitle = ref(''); |
| | | |
| | | // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ |
| | | const changeAdvanceQueryUI = () => { |
| | | showAdvanceQueryUI.value = !showAdvanceQueryUI.value; |
| | | }; |
| | | |
| | | const newTableData = ref([]); |
| | | |
| | | const fetchNewTableData = async () => { |
| | | loading.value = true; |
| | | try { |
| | | const response = await fetch('your-api-endpoint'); // æ¿æ¢ä¸ºæ¨çAPIå°å |
| | | const data = await response.json(); |
| | | newTableData.value = data; |
| | | } catch (error) { |
| | | console.error('è·åæ°è¡¨æ°æ®é误:', error); |
| | | } finally { |
| | | loading.value = false; |
| | | } |
| | | }; |
| | | |
| | | const newSortChange = ({ prop, order }) => { |
| | | console.log(`æåºå段: ${prop}, æåºé¡ºåº: ${order}`); |
| | | // å¤çæåºé»è¾ |
| | | }; |
| | | |
| | | const openNewDrawer = (type, row) => { |
| | | console.log('æå¼æ°çæ½å±ï¼ç±»å:', type, ', æ°æ®:', row); |
| | | }; |
| | | |
| | | const getNewExportTitle = () => { |
| | | return 'æ°è¡¨æ ¼å¯¼åºæ é¢'; |
| | | }; |
| | | |
| | | // 8888888888888æ¥è¯¢æä½ IsKitting |
| | | const handleQuery = async () => { |
| | | loading.value = true; |
| | | var res = await KittingList(Object.assign(queryParams.value, { |
| | | ...tableParams.value, |
| | | IsKitting:true |
| | | })); |
| | | tableData.value = res.data.result ?? []; |
| | | |
| | | |
| | | var res2 = await KittingList(Object.assign(queryParams.value, { |
| | | ...tableParams.value, |
| | | IsKitting:false |
| | | })); |
| | | |
| | | newTableData.value = res2.data.result ?? []; |
| | | |
| | | // tableParams.value.total = res.data.result?.total; |
| | | loading.value = false; |
| | | // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; |
| | | |
| | | // getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; |
| | | }; |
| | | |
| | | // åæåº |
| | | const sortChange = async (column: any) => { |
| | | queryParams.value.field = column.prop; |
| | | queryParams.value.order = column.order; |
| | | await handleQuery(); |
| | | }; |
| | | |
| | | // æå¼æ°å¢é¡µé¢ |
| | | const openAddWmsOrderPurchase = () => { |
| | | editWmsOrderPurchaseTitle.value = 'æ·»å POå'; |
| | | editDialogRef.value.openDialog({}); |
| | | }; |
| | | |
| | | // æå¼æå°é¡µé¢ |
| | | const openPrintWmsOrderPurchase = async (row: any) => { |
| | | printWmsOrderPurchaseTitle.value = 'æå°POå'; |
| | | }; |
| | | |
| | | // æå¼ç¼è¾é¡µé¢ |
| | | const openEditWmsOrderPurchase = (row: any) => { |
| | | editWmsOrderPurchaseTitle.value = 'ç¼è¾POå'; |
| | | editDialogRef.value.openDialog(row); |
| | | }; |
| | | |
| | | // å é¤ |
| | | const delWmsOrderPurchase = (row: any) => { |
| | | ElMessageBox.confirm(`ç¡®å®è¦åæ¶å?`, 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(async () => { |
| | | await deleteWmsOrderPurchase(row); |
| | | handleQuery(); |
| | | ElMessage.success('åæ¶æå'); |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | // æ¹å页é¢å®¹é |
| | | const handleSizeChange = (val: number) => { |
| | | tableParams.value.pageSize = val; |
| | | handleQuery(); |
| | | }; |
| | | |
| | | // æ¹å页ç åºå· |
| | | const handleCurrentChange = (val: number) => { |
| | | tableParams.value.page = val; |
| | | handleQuery(); |
| | | }; |
| | | |
| | | // æ ¹æ®businessTypeValueè·åbusinessTypeName |
| | | const getBusinessTypeByValue = (key: any, itemLst: any) => { |
| | | return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName; |
| | | }; |
| | | |
| | | handleQuery(); |
| | | |
| | | //================ |
| | | const arrTdp = ref<any[]>([]); |
| | | const queryParamsW = ref<any>({}); |
| | | const tableParamsW = ref({ |
| | | page: 1, |
| | | pageSize: 200, |
| | | total: 0, |
| | | custType: 'ä¾åºå', |
| | | }); |
| | | |
| | | //-----------------è¿ç¨æç´¢---------------- |
| | | const handleQueryTdp = async () => { |
| | | var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value)); |
| | | arrTdp.value = res.data.result?.items ?? []; |
| | | }; |
| | | const changeXmbh = async (query?: any) => { |
| | | loading.value = true; |
| | | var res = await pageBaseCustomer({ |
| | | page: 1, |
| | | pageSize: 200, |
| | | custCode: query, |
| | | custType: 'ä¾åºå', |
| | | }); |
| | | loading.value = false; |
| | | arrTdp.value = res.data.result?.items ?? []; |
| | | }; |
| | | // è¿ç¨æç´¢ è¾å
¥å
³é®å以ä»è¿ç¨æå¡å¨ä¸æ¥æ¾æ°æ®ã |
| | | const remoteMethod = async (query: string) => { |
| | | loading.value = true; |
| | | var res = await pageBaseCustomer({ |
| | | page: 1, |
| | | pageSize: 200, |
| | | custCode: query, |
| | | custType: 'ä¾åºå', |
| | | }); |
| | | loading.value = false; |
| | | arrTdp.value = res.data.result?.items ?? []; |
| | | }; |
| | | //-----------------è¿ç¨æç´¢---------------- |
| | | |
| | | const getEnumDockData = ref<any>([]); |
| | | |
| | | onMounted(async () => { |
| | | nextTick(async () => { |
| | | // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //ä¸æè¯»åæ¥å£ |
| | | // getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? []; |
| | | // getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? []; |
| | | }); |
| | | }); |
| | | |
| | | /***************************************************[DOåæä½]ç»æ***************************************************/ |
| | | /***************************************************[DOå导å
¥]å¼å§***************************************************/ |
| | | const printWmsOrderDeliverTitle = ref(''); |
| | | const editWmsOrderDeliverTitle = ref(''); |
| | | const importExcelTitleWmsOrderDeliver = ref(''); |
| | | const importExcelDialogRefWmsOrderDeliver = ref(); |
| | | //æå¼å¯¼å
¥çé¢ |
| | | const openImportExcelWmsOrderDeliver = () => { |
| | | importExcelTitleWmsOrderDeliver.value = '导å
¥POå'; |
| | | importExcelDialogRefWmsOrderDeliver.value.openDialog({}); |
| | | }; |
| | | //导å
¥æ°æ® |
| | | const handleImportExcelWmsOrderDeliver = async (formData: Blob) => { |
| | | var result = await importExcelWmsOrderPurchase(formData); |
| | | importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data); //åè°å¯¼å
¥å页é¢çæ¹æ³ |
| | | if (result.data.type == 'success') { |
| | | handleQuery(); |
| | | } |
| | | }; |
| | | //ä¸è½½å¯¼å
¥æ¨¡æ¿ |
| | | const handleDownExcelWmsOrderDeliver = async () => { |
| | | var result = await downloadExcelTemplateWmsOrderPurchase(); |
| | | importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result); //åè°å¯¼å
¥å页é¢çæ¹æ³ |
| | | }; |
| | | /***************************************************[DOå导å
¥]ç»æ***************************************************/ |
| | | /***************************************************[DOå导åº]å¼å§***************************************************/ |
| | | |
| | | //å¯¼åº |
| | | const handExport = () => { |
| | | downloadExcelTemplateWmsOrderPurchaseAll(queryParams.value).then((res) => { |
| | | if (res.status == 200) { |
| | | const link = document.createElement('a'); //å建aæ ç¾ |
| | | let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }); // responseå°±æ¯æ¥å£è¿åçæä»¶æµ |
| | | let objectUrl = URL.createObjectURL(blob); |
| | | link.href = objectUrl; |
| | | link.download = `POå导åº${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`; // èªå®ä¹æä»¶å |
| | | link.click(); // ä¸è½½æä»¶ |
| | | URL.revokeObjectURL(objectUrl); // éæ¾å
å |
| | | } |
| | | }); |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | :deep(.el-input), |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | |
| | | .under_line { |
| | | color: #f18201; |
| | | text-decoration: underline; |
| | | cursor: pointer; |
| | | } |
| | | .table-container { |
| | | display: flex; /* ä½¿ç¨ flexbox å¸å± */ |
| | | justify-content: space-between; /* è¡¨æ ¼ä¹é´ä¿æé´è· */ |
| | | } |
| | | |
| | | .table-container .left-table, |
| | | .table-container .right-table { |
| | | flex: 1; /* 使æ¯ä¸ªè¡¨æ ¼å æ®ç¸å宽度 */ |
| | | margin-right: 10px; /* å®ä¹å³ä¾§çé´è· */ |
| | | width: 50%; |
| | | } |
| | | .text-xtiny { |
| | | font-size: 14px; |
| | | font-weight: 700; |
| | | display: block; |
| | | padding: 0 0 10px 0; |
| | | } |
| | | .table-container .right-table { |
| | | margin-right: 0; /* æåä¸ä¸ªè¡¨æ ¼æ²¡æå³é´è· */ |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsSubstituteGood-container"> |
| | | <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> |
| | | <el-form :model="queryParams" ref="queryForm" labelWidth="100"> |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="4" class="mb10"> |
| | | <el-form-item label="é¨ä»¶æ¡ç "> |
| | | <el-input v-model="queryParams.upi" ref="materialCodeInput" clearable="" placeholder="请æ«é¨ä»¶æ¡ç " /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center"> |
| | | <el-button type="primary" icon="ele-Search" @click="handleQuery"> æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-Refresh" @click="() => queryParams = {}"> éç½® </el-button> |
| | | <!-- |
| | | <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> é«çº§æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> éè </el-button> --> |
| | | <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSubstituteGood" v-auth="'wmsSubstituteGood:add'"> æ°å¢ </el-button> --> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-card> |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <div class="detailBox"> |
| | | <ul> |
| | | <!-- <li v-for="(item,index) in sourceEnum" :key="index"> |
| | | {{ titleP[index] }} : {{ warehousOrderDetails[item] }} |
| | | </li> --> |
| | | <li> |
| | | <span class="text_left">ç©æç¼å·:</span> |
| | | <span class="text_rt">{{ tableData.Info16 }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">æ¯å¦é½å
:</span> |
| | | <span class="text_rt"></span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">æ¯å¦é½å¥:</span> |
| | | <span class="text_rt"></span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">æ¹æ¬¡å·:</span> |
| | | <span class="text_rt">{{ tableData.planNo }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">订åå·:</span> |
| | | <span class="text_rt">{{ tableData.OrderId }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">é¨ä»¶æ¡ç :</span> |
| | | <span class="text_rt">{{ tableData.upi }}</span> |
| | | </li> |
| | | |
| | | <li> |
| | | <span class="text_left">é¨ä»¶åç§°:</span> |
| | | <span class="text_rt">{{ tableData.DetailName }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">客æ·åç§°:</span> |
| | | <span class="text_rt">{{ tableData.Info10 }}</span> |
| | | </li> |
| | | |
| | | <li> |
| | | <span class="text_left">é¿:</span> |
| | | <span class="text_rt">{{ tableData.length }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">宽:</span> |
| | | <span class="text_rt">{{ tableData.width }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">å:</span> |
| | | <span class="text_rt">{{ tableData.thk }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">é¨ä»¶çº¹ç:</span> |
| | | <span class="text_rt">{{ tableData.matgrid }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">æ¯å¦å°è¾¹:</span> |
| | | <span class="text_rt">{{ tableData.isEB }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">æå设å¤ç¼å·:</span> |
| | | <span class="text_rt">{{ tableData.dRNum }}</span> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <!-- çæform é½å¥ é½å
设置ngå
--> |
| | | <!-- çæform é½å¥ é½å
设置ngå
--> |
| | | <!-- <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules"> |
| | | <el-row :gutter="35"> |
| | | <el-form-item v-show="false"> |
| | | <el-input v-model="ruleForm.id" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="é½å¥" prop="completeSet"> |
| | | <el-select v-model="ruleForm.completeSet" placeholder="è¯·éæ©é½å¥"> |
| | | <el-option label="é项1" value="option1"></el-option> |
| | | <el-option label="é项2" value="option2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="é½å
" prop="packageSetup"> |
| | | <el-input v-model="ruleForm.packageSetup" placeholder="请è¾å
¥é½å
设置"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="ngå
" prop="ngPackage"> |
| | | <el-input v-model="ruleForm.ngPackage" placeholder="请è¾å
¥ngå
"></el-input> |
| | | </el-form-item> |
| | | |
| | | </el-row> |
| | | </el-form> --> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup="" name="wmsSubstituteGood"> |
| | | import { onMounted, ref } from 'vue'; |
| | | import { ElMessageBox, ElMessage } from 'element-plus'; |
| | | import { auth } from '/@/utils/authFunction'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { formatDate } from '/@/utils/formatTime'; |
| | | import { listMes_BatchOrderUPI_New, deleteMes_BatchOrderUPI_New, importExcelMes_BatchOrderUPI_New, downloadExcelTemplateMes_BatchOrderUPI_New } from '/@/api/main/WmsOrder/mes_BatchOrderUPI_New'; |
| | | import printDialog from '/@/views/system/print/component/hiprint/preview.vue'; |
| | | import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue'; |
| | | import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood'; |
| | | |
| | | const showAdvanceQueryUI = ref(false); |
| | | const printDialogRef = ref(); |
| | | const editDialogRef = ref(); |
| | | const loading = ref(false); |
| | | const tableData = ref<any>([]); |
| | | const queryParams = ref<any>({ |
| | | upi:"" |
| | | |
| | | }); |
| | | const tableParams = ref({ |
| | | page: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | }); |
| | | const getIsDisabledData = [ |
| | | { |
| | | value: true, |
| | | text: 'æ¯', |
| | | }, |
| | | { |
| | | value: false, |
| | | text: 'å¦', |
| | | }, |
| | | ]; |
| | | const printWmsSubstituteGoodTitle = ref(''); |
| | | const editWmsSubstituteGoodTitle = ref(''); |
| | | |
| | | // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ |
| | | const changeAdvanceQueryUI = () => { |
| | | showAdvanceQueryUI.value = !showAdvanceQueryUI.value; |
| | | }; |
| | | // ç¨äºå¼ç¨è¾å
¥æ¡ |
| | | const materialCodeInput = ref(null); |
| | | |
| | | onMounted(() => { |
| | | // å¨ç»ä»¶æè½½åè¿è¡èç¦ |
| | | materialCodeInput.value.$el.querySelector('input').focus(); |
| | | }); |
| | | |
| | | // æ¥è¯¢æä½ 888888888 |
| | | const handleQuery = async () => { |
| | | console.log("æ¥è¯¢"); |
| | | loading.value = true; |
| | | var res = await listMes_BatchOrderUPI_New(Object.assign(queryParams.value, tableParams.value)); |
| | | if (res.data.result.length != 1) { |
| | | ElMessage.warning('æ²¡ææ¥è¯¢å°æ°æ®'); |
| | | tableData.value = [] |
| | | return; |
| | | } |
| | | tableData.value = res.data.result[0] ?? []; |
| | | loading.value = false; |
| | | }; |
| | | |
| | | // åæåº |
| | | const sortChange = async (column: any) => { |
| | | queryParams.value.field = column.prop; |
| | | queryParams.value.order = column.order; |
| | | await handleQuery(); |
| | | }; |
| | | |
| | | // æå¼æ°å¢é¡µé¢ |
| | | const openAddWmsSubstituteGood = () => { |
| | | editWmsSubstituteGoodTitle.value = 'æ·»å æ¿ä»£å管ç'; |
| | | editDialogRef.value.openDialog({}); |
| | | }; |
| | | |
| | | // æå¼æå°é¡µé¢ |
| | | const openPrintWmsSubstituteGood = async (row: any) => { |
| | | printWmsSubstituteGoodTitle.value = 'æå°æ¿ä»£å管ç'; |
| | | }; |
| | | |
| | | // æå¼ç¼è¾é¡µé¢ |
| | | const openEditWmsSubstituteGood = (row: any) => { |
| | | editWmsSubstituteGoodTitle.value = 'ç¼è¾æ¿ä»£å管ç'; |
| | | editDialogRef.value.openDialog(row); |
| | | }; |
| | | |
| | | // å é¤ |
| | | const delWmsSubstituteGood = (row: any) => { |
| | | ElMessageBox.confirm(`ç¡®å®è¦å é¤å?`, 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(async () => { |
| | | var ret = await deleteWmsSubstituteGood(row); |
| | | if (ret.data.type == 'success') { |
| | | handleQuery(); |
| | | ElMessage.success('å 餿å'); |
| | | } |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | // æ¹å页é¢å®¹é |
| | | const handleSizeChange = (val: number) => { |
| | | tableParams.value.pageSize = val; |
| | | handleQuery(); |
| | | }; |
| | | |
| | | // æ¹å页ç åºå· |
| | | const handleCurrentChange = (val: number) => { |
| | | tableParams.value.page = val; |
| | | handleQuery(); |
| | | }; |
| | | |
| | | // handleQuery(); |
| | | |
| | | const rules = { |
| | | // è¿éå®ä¹è¡¨åéªè¯è§å |
| | | completeSet: [{ required: true, message: 'è¯·éæ©é½å¥', trigger: 'change' }], |
| | | packageSetup: [{ required: true, message: '请è¾å
¥é½å
设置', trigger: 'blur' }], |
| | | ngPackage: [{ required: true, message: '请è¾å
¥ngå
', trigger: 'blur' }], |
| | | }; |
| | | |
| | | const ruleForm = ref({ |
| | | id: '', |
| | | completeSet: '', |
| | | packageSetup: '', |
| | | ngPackage: '', |
| | | }); |
| | | |
| | | const sourceEnum: any = ref([ |
| | | { |
| | | value: 'id', |
| | | text: 'ID', |
| | | }, |
| | | ]); |
| | | </script> |
| | | <style scoped> |
| | | :deep(.el-input), |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | |
| | | .detailBox { |
| | | width: 90%; |
| | | margin: 0 auto; |
| | | display: block; |
| | | padding-bottom: 10px; |
| | | ul { |
| | | margin: 0; |
| | | padding: 0; |
| | | li { |
| | | display: block; |
| | | line-height: 30px; |
| | | text-align: left; |
| | | list-style-type: none; |
| | | width: 25%; |
| | | word-wrap: break-word; |
| | | } |
| | | } |
| | | } |
| | | </style> |
copy from LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
copy to LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue
Îļþ´Ó LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue ¸´ÖÆ |
| | |
| | | </template> |
| | | </el-dialog> |
| | | <!-- å详æ
--> |
| | | <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}订å详æ
`" direction="rtl" size="80%" @close="handleDrawerClose"> |
| | | <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}ç©æè¯¦æ
`" direction="rtl" size="80%" @close="handleDrawerClose"> |
| | | <template #title> |
| | | <div class="slot_title"> |
| | | <div class="title_orderNo">{{ title }}</div> |
| | | <div>订å详æ
</div> |
| | | <div>ç©æè¯¦æ
</div> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | <!-- <el-table-column prop="poId" label="POåID" show-overflow-tooltip="" /> --> |
| | | <!-- <el-table-column prop="poNo" label="POåå·" show-overflow-tooltip="" /> --> |
| | | |
| | | <el-table-column prop="materialCode" label="ç©æç¼å·" fixed="left" show-overflow-tooltip="" /> |
| | | <el-table-column prop="materialName" label="ç©æåç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="poLineNumber" label="è¡å·" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="poDetailStatus" label="ç¶æ" show-overflow-tooltip=""> |
| | | <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="packageCode" label="å
è£
å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="stockStatus" label="åºåç¶æ" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index))">{{ |
| | | getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index) |
| | | }}</el-tag> |
| | | <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="quantity" label="æ°é" show-overflow-tooltip="" /> |
| | | <el-table-column prop="goodsQuantity" label="å·²æ¶æ°é" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column |
| | | prop="createASNQuantity" |
| | | label="å·²å建ASNæ°é" min-width="110px" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | |
| | | <!-- <el-table-column |
| | | prop="snp" |
| | | label="æ å
æ°é" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | <!-- <el-table-column prop="erpOrderNo" label="ERPåå·" show-overflow-tooltip="" /> --> |
| | | <el-table-column prop="erpCode" label="ERPåºåå°" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column |
| | | prop="printQuantity" min-width="110px" |
| | | label="æ¡ç æå°æ°é" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | |
| | | <!-- <el-table-column |
| | | prop="poDetailStatusName" |
| | | label="ç¶æåç§°" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | <el-table-column prop="supplierCode" label="ä¾åºåç¼å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="supplierName" label="ä¾åºååç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="supplierBatch" min-width="100px" label="ä¾åºåæ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <!-- <el-table-column prop="batch" min-width="100px" label="æ¹æ¬¡" show-overflow-tooltip="" /> --> |
| | | <el-table-column prop="unit" min-width="100px" label="éè´åä½" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="plannedStartTime" label="计åå¼å§æ¶é´" min-width="130px" show-overflow-tooltip="" /> |
| | | <el-table-column prop="plannedEndTime" label="计åç»ææ¶é´" min-width="130px" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="projectNo" min-width="100px" label="项ç®å·" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column |
| | | prop="dock" |
| | | min-width="100px" |
| | | label="æ¶è´§éå£" |
| | | show-overflow-tooltip="" |
| | | /> --> |
| | | |
| | | <el-table-column prop="stockStatusName" label="åºåç¶æåç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operReason" label="æä½åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="operUser" label="æä½äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operTime" label="æä½æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockStatus" label="éå®ç¶æ" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="lockReason" label="éå®åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockUser" label="éå®äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockTime" label="é宿¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="remarks" label="夿³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateTime" label="ä¿®æ¹æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | |
| | | const hexiao = computed(() => props.hexiao); |
| | | const loading = ref(false); |
| | | |
| | | |
| | | |
| | | const getEnumStockStatusData_Index = ref<any>([]); |
| | | const getEnumLockStatusData_Index = ref<any>([]); |
| | | // ç»å½ç¨æ·id |
| | | // const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID")) |
| | | |
| | |
| | | //åè¡¨çæ°æ®æ¡æ° |
| | | const totalItems = ref<number>(0); |
| | | |
| | | //ç¼åæä¸¾ |
| | | const enumList: any = cache.getCache('enumList'); |
| | | console.log(enumList.inEnumOrderType); |
| | | |
| | | |
| | | // .inEnumOrderType |
| | | |
| | |
| | | const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => { |
| | | detailForm.value.Page = 1; //bug:ç¹ç¼è¾-åç¹è¯¦æ
|
| | | detailForm.value.PageSize = 10; //bug:ç¹ç¼è¾-åç¹è¯¦æ
|
| | | if (scope.purchaseNo) { |
| | | title.value = `${scope.purchaseNo}`; |
| | | } |
| | | if (scope.orderNo) { |
| | | title.value = `${scope.orderNo}`; |
| | | if (scope.packageCode) { |
| | | title.value = `${scope.packageCode}`; |
| | | } |
| | | drawerType.value = 'drawerAll'; |
| | | drawerVisible.value = true; |
| | | //å½åå
¥åºåå·id |
| | | detailForm.value.poId = scope.id; |
| | | //å
¥åºå |
| | | purchaseNo.value = scope.purchaseNo; |
| | | purchaseNo.value = scope.packageCode; |
| | | debugger; |
| | | detailForm.value.poId = scope.id; |
| | | //è·åç©æå表 |
| | |
| | | //------------------è·åç©æåè¡¨ç©ææç» |
| | | getDetail(); |
| | | //------------------è·åç©æåè¡¨ç©ææç» |
| | | getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? []; |
| | | getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? []; |
| | | // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //ä¸æè¯»åä¸å¡ç±»åæ¥å£ create by liuwq |
| | | |
| | | getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //ä¸æè¯»åä¸å¡ç±»åæ¥å£ create by liuwq |
| | | // getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? []; |
| | | |
| | | getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? []; |
| | | |
| | | getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; |
| | | getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; |
| | | // getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; |
| | | // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; |
| | | //----------------ç©ææç» |
| | | // æ ¹æ®ç¶æè½¬ä¸æ ä¿ç3ä½å°æ° |
| | | let scopetrans = JSON.parse(JSON.stringify(scope)); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsOrderPurchase-container"> |
| | | <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> |
| | | <el-form :model="queryParams" ref="queryForm" labelWidth="90"> |
| | | <el-row> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="queryParams.searchKey" clearable="" placeholder="å
³é®å" /> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10"> |
| | | <el-form-item label="å
è£
å·"> |
| | | <el-input v-model="queryParams.packageCode" clearable="" placeholder="请è¾å
¥å
è£
å·" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="POåå·"> |
| | | <el-input v-model="queryParams.purchaseNo" clearable="" placeholder="请è¾å
¥POåå·" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="ä¸å¡ç±»å"> |
| | | <el-select clearable="" v-model="queryParams.businessType" placeholder="è¯·éæ©ä¸å¡ç±»å"> |
| | | <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="åæ®æ¥æº"> |
| | | <el-select clearable="" v-model="queryParams.orderSocure" placeholder="è¯·éæ©åæ®æ¥æº"> |
| | | <el-option v-for="(item, index) in getEnumOrderSocureData_Index" :key="index" :value="item.describe" :label="`${item.describe}`" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="åæ®ç¶æ"> |
| | | <el-select clearable="" v-model="queryParams.poStatus" placeholder="è¯·éæ©åæ®ç¶æ"> |
| | | <el-option v-for="(item, index) in getEnumPoStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | |
| | | |
| | | <el-form-item label="ä¾åºå" prop="supplierCode"> |
| | | <el-select |
| | | v-model="queryParams.supplierCode" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | remote-show-suffix |
| | | :remote-method="remoteMethod" |
| | | :loading="loading" |
| | | placeholder="è¯·éæ©ä¾åºå" |
| | | clearable |
| | | style="width: 100%" |
| | | @change="changeXmbh(queryParams.supplierCode)" |
| | | > |
| | | <el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode" :label="`[${item.custCode}]${item.custChinaName}`"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="ä¾åºååç§°"> |
| | | <el-input v-model="queryParams.supplierName" clearable="" placeholder="请è¾å
¥ä¾åºååç§°" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="ERPåå·"> |
| | | <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="请è¾å
¥ERPåå·" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI"> |
| | | <el-form-item label="项ç®å·"> |
| | | <el-input v-model="queryParams.projectNo" clearable="" placeholder="请è¾å
¥é¡¹ç®å·" /> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | |
| | | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center"> |
| | | <el-button type="primary" icon="ele-Search" @click="handleQuery"> æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-Refresh" @click="() => (queryParams = {})"> éç½® </el-button> |
| | | <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px"> é«çº§æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left: 5px"> éè </el-button> --> |
| | | |
| | | </el-button-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-card> |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <div class="table-container"> |
| | | <!-- å·¦ä¾§è¡¨æ ¼ --> |
| | | <div class="left-table"> |
| | | <p class="text-xtiny">é½å¥å表</p> |
| | | |
| | | <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" ref="tableRef" row-key="id" @sort-change="sortChange" :summary-method="getExportTitle" border=""> |
| | | <el-table-column type="index" label="åºå·" width="55" align="center" /> |
| | | <!-- <el-table-column prop="packageCode" label="å
è£
å·" show-overflow-tooltip="" /> --> |
| | | <el-table-column label="å
è£
å·" prop="packageCode" width="150" align="left" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | <span class="under_line" @click="openDrawer(1, scope.row)"> |
| | | {{ scope.row.packageCode }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="count" label="æ°é" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> --> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <!-- å³ä¾§è¡¨æ ¼ --> |
| | | <div class="right-table"> |
| | | <p class="text-xtiny">ä¸é½å¥å表</p> |
| | | <el-table |
| | | :data="newTableData" |
| | | style="width: 100%" |
| | | v-loading="loading" |
| | | tooltip-effect="light" |
| | | ref="newTableRef" |
| | | row-key="newId" |
| | | @sort-change="newSortChange" |
| | | :summary-method="getNewExportTitle" |
| | | border="" |
| | | > |
| | | <el-table-column type="index" label="åºå·" width="55" align="center" /> |
| | | <!-- <el-table-column prop="packageCode" label="å
è£
å·" show-overflow-tooltip="" /> --> |
| | | <el-table-column label="å
è£
å·" prop="packageCode" width="150" align="left" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | <span class="under_line" @click="openDrawer(1, scope.row)"> |
| | | {{ scope.row.packageCode }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="count" label="æ°é" show-overflow-tooltip="" /> |
| | | |
| | | <!-- <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> --> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | |
| | | <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle" @reloadTable="handleQuery" /> |
| | | <importExcelDialog |
| | | ref="importExcelDialogRefWmsOrderDeliver" |
| | | :title="importExcelTitleWmsOrderDeliver" |
| | | @parentUploadFun="handleImportExcelWmsOrderDeliver" |
| | | @parentDownFun="handleDownExcelWmsOrderDeliver" |
| | | /> |
| | | <!-- ææå¼¹æ¡ ï¼æ°å¢ ç¼è¾ 详æ
--> |
| | | <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup="" name="wmsOrderPurchase"> |
| | | import { getCurrentInstance, nextTick, onMounted, ref } from 'vue'; |
| | | import { ElMessageBox, ElMessage } from 'element-plus'; |
| | | import { auth } from '/@/utils/authFunction'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime'; |
| | | import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer'; |
| | | import { formatUtcToData, getTypeStatus } from '/@/utils/formate'; |
| | | import printDialog from '/@/views/system/print/component/hiprint/preview.vue'; |
| | | import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue'; |
| | | import { |
| | | pageWmsOrderPurchase, |
| | | deleteWmsOrderPurchase, |
| | | importExcelWmsOrderPurchase, |
| | | downloadExcelTemplateWmsOrderPurchase, |
| | | downloadExcelTemplateWmsOrderPurchaseAll, |
| | | packList, |
| | | } from '/@/api/main/WmsOrder/wmsOrderPurchase'; |
| | | import { handleSlectDataWmsBusinessType } from '/@/utils/selectData'; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | import commonFunction from '/@/utils/commonFunction'; |
| | | import importExcelDialog from '/@/components/importExcel/index.vue'; //å¼å
¥å¯¼å
¥ç»ä»¶ |
| | | import { exportPageExcel } from '/@/utils/exportPageExcel'; //å¼å
¥å¯¼åºæ¹æ³ |
| | | import OpenAllprop from './component/openAllprop.vue'; |
| | | import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell'; |
| | | const { proxy }: any = getCurrentInstance(); // 访é®å®ä¾ä¸ä¸æ proxyåæ¶æ¯æå¼å 线ä¸ç¯å¢ |
| | | const moveType = 10; //ç§»å¨ç±»å å
¥åº |
| | | // ------------å°è£
导åºåè½--å端导åº+è¡¨æ ¼æ é¢--------------- |
| | | const jsonExcellTableExport = { |
| | | titleName: '', //导åºè¡¨æ ¼åç§° |
| | | interfaceListName: '', //å¯¼åºæ¥å£åç§° |
| | | }; |
| | | const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport); |
| | | // --------------end å°è£
导åºåè½--å端导åº+è¡¨æ ¼æ é¢----------------- |
| | | // ---------------æ°å¢----------------------- |
| | | const showProp = (item?: any) => { |
| | | if (item == 1) { |
| | | proxy.$refs['propALlProp'].openDialog(1); |
| | | } else { |
| | | proxy.$refs['propALlProp'].openDialog(2, item); |
| | | } |
| | | }; |
| | | // ---------------详æ
----------------------- |
| | | const openDrawer = (type: number, item?: any) => { |
| | | proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell); |
| | | }; |
| | | // ---------------end详æ
----------------------- |
| | | |
| | | const getBusinessTypeData_Index = ref<any>([]); //ä¸å¡ç±»å create by liuwq |
| | | const getEnumOrderTypeData_Index = ref<any>([]); |
| | | // const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq |
| | | const getEnumPoStatusData_Index = ref<any>([]); |
| | | |
| | | const { getEnumDesc } = commonFunction(); |
| | | |
| | | const getEnumOrderSocureData_Index = ref<any>([]); |
| | | |
| | | const showAdvanceQueryUI = ref(false); |
| | | const printDialogRef = ref(); |
| | | const editDialogRef = ref(); |
| | | const loading = ref(false); |
| | | const tableData = ref<any>([]); |
| | | const queryParams = ref<any>({}); |
| | | const tableParams = ref({ |
| | | page: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | }); |
| | | |
| | | const printWmsOrderPurchaseTitle = ref(''); |
| | | const editWmsOrderPurchaseTitle = ref(''); |
| | | |
| | | // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ |
| | | const changeAdvanceQueryUI = () => { |
| | | showAdvanceQueryUI.value = !showAdvanceQueryUI.value; |
| | | }; |
| | | |
| | | const newTableData = ref([]); |
| | | |
| | | const fetchNewTableData = async () => { |
| | | loading.value = true; |
| | | try { |
| | | const response = await fetch('your-api-endpoint'); // æ¿æ¢ä¸ºæ¨çAPIå°å |
| | | const data = await response.json(); |
| | | newTableData.value = data; |
| | | } catch (error) { |
| | | console.error('è·åæ°è¡¨æ°æ®é误:', error); |
| | | } finally { |
| | | loading.value = false; |
| | | } |
| | | }; |
| | | |
| | | const newSortChange = ({ prop, order }) => { |
| | | console.log(`æåºå段: ${prop}, æåºé¡ºåº: ${order}`); |
| | | // å¤çæåºé»è¾ |
| | | }; |
| | | |
| | | const openNewDrawer = (type, row) => { |
| | | console.log('æå¼æ°çæ½å±ï¼ç±»å:', type, ', æ°æ®:', row); |
| | | }; |
| | | |
| | | const getNewExportTitle = () => { |
| | | return 'æ°è¡¨æ ¼å¯¼åºæ é¢'; |
| | | }; |
| | | |
| | | // 88888888æ¥è¯¢æä½ |
| | | const handleQuery = async () => { |
| | | loading.value = true; |
| | | var res = await packList(Object.assign(queryParams.value, { |
| | | ...tableParams.value, |
| | | IsPack:true |
| | | })); |
| | | tableData.value = res.data.result ?? []; |
| | | var res2 = await packList(Object.assign(queryParams.value, { |
| | | ...tableParams.value, |
| | | IsPack:false |
| | | })); |
| | | |
| | | newTableData.value = res2.data.result ?? []; |
| | | |
| | | // tableParams.value.total = res.data.result?.total; |
| | | loading.value = false; |
| | | // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; |
| | | |
| | | // getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; |
| | | }; |
| | | |
| | | // åæåº |
| | | const sortChange = async (column: any) => { |
| | | queryParams.value.field = column.prop; |
| | | queryParams.value.order = column.order; |
| | | await handleQuery(); |
| | | }; |
| | | |
| | | // æå¼æ°å¢é¡µé¢ |
| | | const openAddWmsOrderPurchase = () => { |
| | | editWmsOrderPurchaseTitle.value = 'æ·»å POå'; |
| | | editDialogRef.value.openDialog({}); |
| | | }; |
| | | |
| | | // æå¼æå°é¡µé¢ |
| | | const openPrintWmsOrderPurchase = async (row: any) => { |
| | | printWmsOrderPurchaseTitle.value = 'æå°POå'; |
| | | }; |
| | | |
| | | // æå¼ç¼è¾é¡µé¢ |
| | | const openEditWmsOrderPurchase = (row: any) => { |
| | | editWmsOrderPurchaseTitle.value = 'ç¼è¾POå'; |
| | | editDialogRef.value.openDialog(row); |
| | | }; |
| | | |
| | | // å é¤ |
| | | const delWmsOrderPurchase = (row: any) => { |
| | | ElMessageBox.confirm(`ç¡®å®è¦åæ¶å?`, 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | }) |
| | | .then(async () => { |
| | | await deleteWmsOrderPurchase(row); |
| | | handleQuery(); |
| | | ElMessage.success('åæ¶æå'); |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | // æ¹å页é¢å®¹é |
| | | const handleSizeChange = (val: number) => { |
| | | tableParams.value.pageSize = val; |
| | | handleQuery(); |
| | | }; |
| | | |
| | | // æ¹å页ç åºå· |
| | | const handleCurrentChange = (val: number) => { |
| | | tableParams.value.page = val; |
| | | handleQuery(); |
| | | }; |
| | | |
| | | // æ ¹æ®businessTypeValueè·åbusinessTypeName |
| | | const getBusinessTypeByValue = (key: any, itemLst: any) => { |
| | | return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName; |
| | | }; |
| | | |
| | | handleQuery(); |
| | | |
| | | //================ |
| | | const arrTdp = ref<any[]>([]); |
| | | const queryParamsW = ref<any>({}); |
| | | const tableParamsW = ref({ |
| | | page: 1, |
| | | pageSize: 200, |
| | | total: 0, |
| | | custType: 'ä¾åºå', |
| | | }); |
| | | |
| | | //-----------------è¿ç¨æç´¢---------------- |
| | | const handleQueryTdp = async () => { |
| | | var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value)); |
| | | arrTdp.value = res.data.result?.items ?? []; |
| | | }; |
| | | const changeXmbh = async (query?: any) => { |
| | | loading.value = true; |
| | | var res = await pageBaseCustomer({ |
| | | page: 1, |
| | | pageSize: 200, |
| | | custCode: query, |
| | | custType: 'ä¾åºå', |
| | | }); |
| | | loading.value = false; |
| | | arrTdp.value = res.data.result?.items ?? []; |
| | | }; |
| | | // è¿ç¨æç´¢ è¾å
¥å
³é®å以ä»è¿ç¨æå¡å¨ä¸æ¥æ¾æ°æ®ã |
| | | const remoteMethod = async (query: string) => { |
| | | loading.value = true; |
| | | var res = await pageBaseCustomer({ |
| | | page: 1, |
| | | pageSize: 200, |
| | | custCode: query, |
| | | custType: 'ä¾åºå', |
| | | }); |
| | | loading.value = false; |
| | | arrTdp.value = res.data.result?.items ?? []; |
| | | }; |
| | | //-----------------è¿ç¨æç´¢---------------- |
| | | |
| | | const getEnumDockData = ref<any>([]); |
| | | |
| | | onMounted(async () => { |
| | | nextTick(async () => { |
| | | // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //ä¸æè¯»åæ¥å£ |
| | | // getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? []; |
| | | // getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? []; |
| | | }); |
| | | }); |
| | | |
| | | /***************************************************[DOåæä½]ç»æ***************************************************/ |
| | | /***************************************************[DOå导å
¥]å¼å§***************************************************/ |
| | | const printWmsOrderDeliverTitle = ref(''); |
| | | const editWmsOrderDeliverTitle = ref(''); |
| | | const importExcelTitleWmsOrderDeliver = ref(''); |
| | | const importExcelDialogRefWmsOrderDeliver = ref(); |
| | | //æå¼å¯¼å
¥çé¢ |
| | | const openImportExcelWmsOrderDeliver = () => { |
| | | importExcelTitleWmsOrderDeliver.value = '导å
¥POå'; |
| | | importExcelDialogRefWmsOrderDeliver.value.openDialog({}); |
| | | }; |
| | | //导å
¥æ°æ® |
| | | const handleImportExcelWmsOrderDeliver = async (formData: Blob) => { |
| | | var result = await importExcelWmsOrderPurchase(formData); |
| | | importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data); //åè°å¯¼å
¥å页é¢çæ¹æ³ |
| | | if (result.data.type == 'success') { |
| | | handleQuery(); |
| | | } |
| | | }; |
| | | //ä¸è½½å¯¼å
¥æ¨¡æ¿ |
| | | const handleDownExcelWmsOrderDeliver = async () => { |
| | | var result = await downloadExcelTemplateWmsOrderPurchase(); |
| | | importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result); //åè°å¯¼å
¥å页é¢çæ¹æ³ |
| | | }; |
| | | /***************************************************[DOå导å
¥]ç»æ***************************************************/ |
| | | /***************************************************[DOå导åº]å¼å§***************************************************/ |
| | | |
| | | //å¯¼åº |
| | | const handExport = () => { |
| | | downloadExcelTemplateWmsOrderPurchaseAll(queryParams.value).then((res) => { |
| | | if (res.status == 200) { |
| | | const link = document.createElement('a'); //å建aæ ç¾ |
| | | let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' }); // responseå°±æ¯æ¥å£è¿åçæä»¶æµ |
| | | let objectUrl = URL.createObjectURL(blob); |
| | | link.href = objectUrl; |
| | | link.download = `POå导åº${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`; // èªå®ä¹æä»¶å |
| | | link.click(); // ä¸è½½æä»¶ |
| | | URL.revokeObjectURL(objectUrl); // éæ¾å
å |
| | | } |
| | | }); |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | :deep(.el-input), |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | |
| | | .under_line { |
| | | color: #f18201; |
| | | text-decoration: underline; |
| | | cursor: pointer; |
| | | } |
| | | .table-container { |
| | | display: flex; /* ä½¿ç¨ flexbox å¸å± */ |
| | | justify-content: space-between; /* è¡¨æ ¼ä¹é´ä¿æé´è· */ |
| | | } |
| | | |
| | | .table-container .left-table, |
| | | .table-container .right-table { |
| | | flex: 1; /* 使æ¯ä¸ªè¡¨æ ¼å æ®ç¸å宽度 */ |
| | | margin-right: 10px; /* å®ä¹å³ä¾§çé´è· */ |
| | | width: 50%; |
| | | } |
| | | .text-xtiny { |
| | | font-size: 14px; |
| | | font-weight: 700; |
| | | display: block; |
| | | padding: 0 0 10px 0; |
| | | } |
| | | .table-container .right-table { |
| | | margin-right: 0; /* æåä¸ä¸ªè¡¨æ ¼æ²¡æå³é´è· */ |
| | | } |
| | | </style> |
ÎļþÃû´Ó LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue ÐÞ¸Ä |
| | |
| | | @selection-change="handleSelectionChange" |
| | | border=""> |
| | | <el-table-column align="center" width="60" type="selection" /> |
| | | <el-table-column type="index" fixed="left" label="åºå·" width="55" align="center"/> |
| | | <el-table-column type="index" label="åºå·" width="55" align="center"/> |
| | | |
| | | <el-table-column prop="snCode" fixed="left" width="230" label="è·è¸ªç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="quantity" label="åºåæ»æ°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="containerCode" width="100" label="容å¨ç¼å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="placeName" width="100" label="æå¨åºä½" show-overflow-tooltip="" /> |
| | | <el-table-column prop="areaName" width="100" label="æå¨åºåº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="materialCode" label="ç©æç¼å·" min-width="130px" show-overflow-tooltip="" /> |
| | | <el-table-column prop="materialName" label="ç©æåç§°" min-width="130px" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="packageCode" label="å
è£
å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="stockStatus" label="åºåç¶æ" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | {{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}} |
| | | <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="qcStatus" label="è´¨æ£ç¶æ" show-overflow-tooltip="" > |
| | | <el-table-column prop="stockStatusName" label="åºåç¶æåç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operReason" label="æä½åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="operUser" label="æä½äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operTime" label="æä½æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockStatus" label="éå®ç¶æ" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | {{ getEnumDesc(scope.row.qcStatus, getEnumQCStatusData_Index)}} |
| | | <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <!-- <el-table-column prop="lockedQty" label="é宿°é" show-overflow-tooltip="" /> --> |
| | | |
| | | <!-- todo åé¢çæä¹ç»è®¡è¿ä¸ªåºåæ°--> |
| | | <!-- <el-table-column prop="inStockQty" label="å¨åºæ°é" show-overflow-tooltip="" /> |
| | | <el-table-column prop="outStockQty" label="åºåºæ°é" show-overflow-tooltip="" /> |
| | | <el-table-column prop="inStockQty" label="å¨åºæ°é" show-overflow-tooltip="" /> --> |
| | | |
| | | <el-table-column prop="supplierBatch" label="ä¾åºåæ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="batch" label="æ¹æ¬¡" min-width="130px" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="recordInsertTime" label="æ¶è´§æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="supplierCode" label="ä¾åºåç¼å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="supplierName" label="ä¾åºååç§°" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="sN_1d" width="180" label="ä¸ç»´æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="sN_2d" width="180" label="äºç»´æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="erpOrderNo" label="ERPåå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="erpCode" label="ERPåºåå°" show-overflow-tooltip="" /> |
| | | |
| | | <el-table-column prop="erpVoucher" width="120" label="ERPåè¯" show-overflow-tooltip="" /> |
| | | <!-- <el-table-column prop="actionRemark" label="æä½å¤æ³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="actionTime" label="æä½æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> --> |
| | | <el-table-column prop="lockReason" label="éå®åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockUser" label="éå®äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockTime" label="é宿¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="remarks" label="夿³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateTime" label="ä¿®æ¹æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateUserName" label="ä¿®æ¹äºº" show-overflow-tooltip="" /> |
| | | <el-table-column label="æä½" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockQuan:update') || auth('wmsStockQuan:delete')"> |
| | | <template #default="scope"> |
| | | <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:update'"> ç¼è¾ </el-button> |
| | | <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:delete'"> å é¤ </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | <el-pagination |
| | | v-model:currentPage="tableParamsWmsStockQuan.page" |
| | |
| | | import commonFunction from '/@/utils/commonFunction'; |
| | | import { addWmsRecordSncodePrint } from "/@/api/main/PrintCenter/wmsRecordSncodePrint"; |
| | | |
| | | const getEnumStockStatusData_Index = ref<any>([]); |
| | | const getEnumQCStatusData_Index = ref<any>([]); |
| | | const getEnumStockStatusData_Index = ref<any>([]); |
| | | |
| | | const { getEnumDesc } = commonFunction(); |
| | | |
| | |
| | | }; |
| | | /***************************************************[宿¶åºå导åº]ç»æ***************************************************/ |
| | | // 宿¶åºå页é¢å è½½æ¶ |
| | | |
| | | const getEnumLockStatusData_Index = ref<any>([]); |
| | | onMounted(async () => { |
| | | getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? []; |
| | | getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? []; |
| | | getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? []; |
| | | }); |
| | | |
| | | handleQueryWmsStockQuan(); |
| | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°åç±»å" prop="printClassifyName"> |
| | | <el-input v-model="ruleForm.printClassifyName" placeholder="请è¾å
¥æå°åç±»å" maxlength="50" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æ¨¡æ¿å" prop="printTemplate"> |
| | | <el-input v-model="ruleForm.printTemplate" placeholder="请è¾å
¥æå°æ¨¡æ¿å" maxlength="255" show-word-limit clearable /> |
| | | |
| | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æºå表" prop="printerListList"> |
| | | <el-select clearable v-model="ruleForm.printerListList" placeholder="è¯·éæ©æå°æºå表" multiple > |
| | | <el-option v-for="(item,index) in dl('PrinterList')" :key="index" :value="item.name" :label="`[${item.code}] ${item.name}`"></el-option> |
| | | |
| | | </el-select> |
| | | <el-form-item label="æå°æºå表" prop="printerList"> |
| | | <el-input v-model="ruleForm.printerList" placeholder="请è¾å
¥æå°æºå表" maxlength="500" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | |
| | | //èªè¡æ·»å å
¶ä»è§å |
| | | const rules = ref<FormRules>({ |
| | | printClassify: [{required: true, message: 'è¯·éæ©æå°åç±»ï¼', trigger: 'change',},], |
| | | printClassifyName: [{required: true, message: '请è¾å
¥æå°åç±»åï¼', trigger: 'blur',},], |
| | | printTemplate: [{required: true, message: '请è¾å
¥æå°æ¨¡æ¿åï¼', trigger: 'blur',},], |
| | | printTemplateAddr: [{required: true, message: '请è¾å
¥æå°æ¨¡æ¿å°åï¼', trigger: 'blur',},], |
| | | printerList: [{required: true, message: 'è¯·éæ©æå°æºå表ï¼', trigger: 'change',},], |
| | | printerList: [{required: true, message: '请è¾å
¥æå°æºå表ï¼', trigger: 'blur',},], |
| | | isDelete: [{required: true, message: 'è¯·éæ©è½¯å é¤ï¼', trigger: 'change',},], |
| | | }); |
| | | |
| | |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="æå°æ¨¡æ¿å,æå°æ¨¡æ¿å°å,æå°æºå表,夿³¨,å建人,ä¿®æ¹äºº"/> |
| | | <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="æå°åç±»å,æå°æ¨¡æ¿å,æå°æ¨¡æ¿å°å,æå°æºå表,夿³¨,å建人,ä¿®æ¹äºº"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-option v-for="(item,index) in getEnumPrintClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°åç±»å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="请è¾å
¥æå°åç±»å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°æºå表"> |
| | | <el-select clearable="" v-model="queryParamsWmsConfigPrint.printerList" placeholder="è¯·éæ©æå°æºå表"> |
| | | <el-option v-for="(item,index) in dl('PrinterList')" :key="index" :value="item.code" :label="`[${item.code}] ${item.name}`" /> |
| | | |
| | | </el-select> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="请è¾å
¥æå°æºå表"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> --> |
| | | <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="夿³¨"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="请è¾å
¥å¤æ³¨"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> --> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center;"> |
| | |
| | | <el-table-column type="index" label="åºå·" width="55" align="center"/> |
| | | <el-table-column prop="printClassify" label="æå°åç±»" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | {{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}} |
| | | <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="printClassifyName" label="æå°åç±»å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printTemplate" label="æå°æ¨¡æ¿å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printTemplateAddr" label="æå°æ¨¡æ¿å°å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printerList" label="æå°æºå表" show-overflow-tooltip="" /> |
| | | <!-- <el-table-column prop="printerList" label="æå°æºå表" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | <el-tag :type="diValue('PrinterList', scope.row.printerList)?.tagType"> {{diValue("PrinterList", scope.row.printerList)?.name}} </el-tag> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column prop="remark" label="夿³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateUserName" label="ä¿®æ¹äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateTime" label="ä¿®æ¹æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateUserName" label="ä¿®æ¹äºº" show-overflow-tooltip="" /> |
| | | <el-table-column label="æä½" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')"> |
| | | <template #default="scope"> |
| | | <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> ç¼è¾ </el-button> |
| | |
| | | import { ref,onMounted } from "vue"; |
| | | import { ElMessageBox, ElMessage } from "element-plus"; |
| | | import { auth } from '/@/utils/authFunction'; |
| | | import { getDictDataItemByValue as diValue, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime'; |
| | | import { exportPageExcel } from '/@/utils/exportPageExcel' //å¼å
¥å¯¼åºæ¹æ³ |
| | | |
| | |
| | | let timeInter: any = null; |
| | | // 页é¢å è½½æ¶ |
| | | onMounted(() => { |
| | | initEchartsResize(); |
| | | // initEchartsResize(); |
| | | |
| | | timeInter = setInterval(() => { |
| | | nextTick(() => { |
| | | handleQuerywmsStockBoardabc('1'); |
| | | }); |
| | | }, 15000); //è°ç¨é¢çæ¹ä¸º 15ç§ä¸æ¬¡æ¥è¯¢ã |
| | | // timeInter = setInterval(() => { |
| | | // nextTick(() => { |
| | | // handleQuerywmsStockBoardabc('1'); |
| | | // }); |
| | | // }, 15000); //è°ç¨é¢çæ¹ä¸º 15ç§ä¸æ¬¡æ¥è¯¢ã |
| | | }); |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsConfigPrint-container"> |
| | | <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false"> |
| | | <template #header> |
| | | <div style="color: #fff"> |
| | | <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>--> |
| | | <span>{{ props.title }}</span> |
| | | </div> |
| | | </template> |
| | | <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading"> |
| | | <el-row :gutter="35"> |
| | | <el-form-item v-show="false"> |
| | | <el-input v-model="ruleForm.id" /> |
| | | </el-form-item> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°åç±»" prop="printClassify"> |
| | | <el-select clearable v-model="ruleForm.printClassify" placeholder="è¯·éæ©æå°åç±»"> |
| | | <el-option v-for="(item,index) in getEnumPrintClassifyData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°åç±»å" prop="printClassifyName"> |
| | | <el-input v-model="ruleForm.printClassifyName" placeholder="请è¾å
¥æå°åç±»å" maxlength="50" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æ¨¡æ¿å" prop="printTemplate"> |
| | | <el-input v-model="ruleForm.printTemplate" placeholder="请è¾å
¥æå°æ¨¡æ¿å" maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æ¨¡æ¿å°å" prop="printTemplateAddr"> |
| | | <el-input v-model="ruleForm.printTemplateAddr" placeholder="请è¾å
¥æå°æ¨¡æ¿å°å" maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æå°æºå表" prop="printerList"> |
| | | <el-input v-model="ruleForm.printerList" placeholder="请è¾å
¥æå°æºå表" maxlength="500" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="ruleForm.remark" placeholder="请è¾å
¥å¤æ³¨" maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="cancel">å æ¶</el-button> |
| | | <el-button type="primary" @click="submit" :disabled="disabled_btn">ç¡® å®</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <style scoped> |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | <script lang="ts" setup> |
| | | import { ref,onMounted } from "vue"; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { ElMessage } from "element-plus"; |
| | | import type { FormRules } from "element-plus"; |
| | | import { addWmsConfigPrint, updateWmsConfigPrint, detailWmsConfigPrint } from "/@/api/main/wmsConfigPrint/wmsConfigPrint"; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | |
| | | const getEnumPrintClassifyData = ref<any>([]); |
| | | //ç¶çº§ä¼ 鿥çåæ° |
| | | var props = defineProps({ |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }); |
| | | //ç¶çº§ä¼ 鿥ç彿°ï¼ç¨äºåè° |
| | | const emit = defineEmits(["reloadTable"]); |
| | | const ruleFormRef = ref(); |
| | | const isShowDialog = ref(false); |
| | | const loading = ref(false); |
| | | const disabled_btn = ref(false); |
| | | const ruleForm = ref<any>({}); |
| | | //èªè¡æ·»å å
¶ä»è§å |
| | | const rules = ref<FormRules>({ |
| | | printClassify: [{required: true, message: 'è¯·éæ©æå°åç±»ï¼', trigger: 'change',},], |
| | | printClassifyName: [{required: true, message: '请è¾å
¥æå°åç±»åï¼', trigger: 'blur',},], |
| | | printTemplate: [{required: true, message: '请è¾å
¥æå°æ¨¡æ¿åï¼', trigger: 'blur',},], |
| | | printTemplateAddr: [{required: true, message: '请è¾å
¥æå°æ¨¡æ¿å°åï¼', trigger: 'blur',},], |
| | | printerList: [{required: true, message: '请è¾å
¥æå°æºå表ï¼', trigger: 'blur',},], |
| | | isDelete: [{required: true, message: 'è¯·éæ©è½¯å é¤ï¼', trigger: 'change',},], |
| | | }); |
| | | |
| | | /* |
| | | * æå¼å¼¹çª |
| | | * @param flag æ è®°ï¼1æ°å¢ 2ç¼è¾ 3æ¥çï¼ |
| | | * @param row è¡æ°æ® |
| | | */ |
| | | const openDialog = async (flag: number,row: any) => { |
| | | // ruleForm.value = JSON.parse(JSON.stringify(row)); |
| | | // æ¹ç¨detailè·åææ°æ°æ®æ¥ç¼è¾ |
| | | let rowData = JSON.parse(JSON.stringify(row)); |
| | | if (rowData.id) |
| | | ruleForm.value = (await detailWmsConfigPrint(rowData.id)).data.result; |
| | | else { |
| | | ruleForm.value = rowData; |
| | | } |
| | | isShowDialog.value = true; |
| | | }; |
| | | |
| | | // å
³éå¼¹çª |
| | | const closeDialog = () => { |
| | | emit("reloadTable"); |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // åæ¶ |
| | | const cancel = () => { |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // æäº¤ |
| | | const submit = async () => { |
| | | disabled_btn.value = true; |
| | | ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { |
| | | if (isValid) { |
| | | loading.value = true; |
| | | let values = ruleForm.value; |
| | | let ret={}; |
| | | let title='æ°å¢'; |
| | | if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { |
| | | ret = await addWmsConfigPrint(values); |
| | | } else { |
| | | title='ç¼è¾'; |
| | | ret = await updateWmsConfigPrint(values); |
| | | } |
| | | loading.value = false; |
| | | disabled_btn.value = false; |
| | | if(ret.data.type=="success"){ |
| | | ElMessage.success(title+'æå'); |
| | | closeDialog(); |
| | | } |
| | | } else { |
| | | disabled_btn.value = false; |
| | | ElMessage({ |
| | | message: `表åæ${Object.keys(fields).length}å¤éªè¯å¤±è´¥ï¼è¯·ä¿®æ¹ååæäº¤`, |
| | | type: "error", |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 页é¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | getEnumPrintClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? []; |
| | | }); |
| | | |
| | | //å°å±æ§æè
彿°æ´é²ç»ç¶ç»ä»¶ |
| | | defineExpose({ openDialog }); |
| | | </script> |
| | | |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsConfigPrint-container"> |
| | | <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> |
| | | <el-form :model="queryParamsWmsConfigPrint" ref="queryForm" labelWidth="90"> |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="æå°åç±»å,æå°æ¨¡æ¿å,æå°æ¨¡æ¿å°å,æå°æºå表,夿³¨,å建人,ä¿®æ¹äºº"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°åç±»"> |
| | | <el-select clearable="" v-model="queryParamsWmsConfigPrint.printClassify" placeholder="è¯·éæ©æå°åç±»"> |
| | | <el-option v-for="(item,index) in getEnumPrintClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°åç±»å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printClassifyName" clearable="" placeholder="请è¾å
¥æå°åç±»å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°æ¨¡æ¿å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printTemplate" clearable="" placeholder="请è¾å
¥æå°æ¨¡æ¿å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°æ¨¡æ¿å°å"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printTemplateAddr" clearable="" placeholder="请è¾å
¥æå°æ¨¡æ¿å°å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="æå°æºå表"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.printerList" clearable="" placeholder="请è¾å
¥æå°æºå表"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint"> |
| | | <el-form-item label="夿³¨"> |
| | | <el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="请è¾å
¥å¤æ³¨"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center;"> |
| | | <el-button type="primary" icon="ele-Search" @click="handleQueryWmsConfigPrint" v-auth="'wmsConfigPrint:page'" :disabled="disabled_btnWmsConfigPrint"> æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-Refresh" @click="resetWmsConfigPrint"> éç½® </el-button> |
| | | <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="!showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> é«çº§æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> éè </el-button> |
| | | <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigPrint" v-auth="'wmsConfigPrint:add'"> æ°å¢ </el-button> |
| | | <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsConfigPrint" v-auth="'wmsConfigPrint:exportExcel'" > å¯¼åº </el-button> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-card> |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <el-table |
| | | ref="tableRefWmsConfigPrint" |
| | | :data="tableDataWmsConfigPrint" |
| | | style="width: 100%" |
| | | v-loading="loadingWmsConfigPrint" |
| | | tooltip-effect="light" |
| | | row-key="id" |
| | | @sort-change="sortChangeWmsConfigPrint" |
| | | border=""> |
| | | <el-table-column type="index" label="åºå·" width="55" align="center"/> |
| | | <el-table-column prop="printClassify" label="æå°åç±»" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | <el-tag>{{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="printClassifyName" label="æå°åç±»å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printTemplate" label="æå°æ¨¡æ¿å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printTemplateAddr" label="æå°æ¨¡æ¿å°å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="printerList" label="æå°æºå表" show-overflow-tooltip="" /> |
| | | <el-table-column prop="remark" label="夿³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateTime" label="ä¿®æ¹æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateUserName" label="ä¿®æ¹äºº" show-overflow-tooltip="" /> |
| | | <el-table-column label="æä½" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')"> |
| | | <template #default="scope"> |
| | | <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> ç¼è¾ </el-button> |
| | | <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:delete'"> å é¤ </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | v-model:currentPage="tableParamsWmsConfigPrint.page" |
| | | v-model:page-size="tableParamsWmsConfigPrint.pageSize" |
| | | :total="tableParamsWmsConfigPrint.total" |
| | | :page-sizes="[10, 20, 50, 100, 200, 500]" |
| | | small="" |
| | | background="" |
| | | @size-change="handleSizeChangeWmsConfigPrint" |
| | | @current-change="handleCurrentChangeWmsConfigPrint" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | /> |
| | | <printDialogWmsConfigPrint |
| | | ref="printDialogRefWmsConfigPrint" |
| | | :title="printWmsConfigPrintTitle" |
| | | @reloadTable="handleQueryWmsConfigPrint" /> |
| | | <editDialogWmsConfigPrint |
| | | ref="editDialogRefWmsConfigPrint" |
| | | :title="editWmsConfigPrintTitle" |
| | | @reloadTable="handleQueryWmsConfigPrint" |
| | | /> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup="" name="wmsConfigPrint"> |
| | | import { ref,onMounted } from "vue"; |
| | | import { ElMessageBox, ElMessage } from "element-plus"; |
| | | import { auth } from '/@/utils/authFunction'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime'; |
| | | import { exportPageExcel } from '/@/utils/exportPageExcel' //å¼å
¥å¯¼åºæ¹æ³ |
| | | |
| | | |
| | | import printDialogWmsConfigPrint from '/@/views/system/print/component/hiprint/preview.vue' |
| | | import editDialogWmsConfigPrint from '/@/views/main/wmsConfigPrint/wmsConfigPrint/component/editDialog.vue' |
| | | import { pageWmsConfigPrint, deleteWmsConfigPrint,importExcelWmsConfigPrint,downloadExcelTemplateWmsConfigPrint } from '/@/api/main/wmsConfigPrint/wmsConfigPrint'; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | import commonFunction from '/@/utils/commonFunction'; |
| | | |
| | | const getEnumPrintClassifyData_Index = ref<any>([]); |
| | | |
| | | const { getEnumDesc } = commonFunction(); |
| | | |
| | | /***************************************************[æå°é
置表æä½]å¼å§***************************************************/ |
| | | const showAdvanceQueryUIWmsConfigPrint = ref(false); |
| | | const tableRefWmsConfigPrint = ref(null); |
| | | const printDialogRefWmsConfigPrint = ref(); |
| | | const editDialogRefWmsConfigPrint = ref(); |
| | | const loadingWmsConfigPrint = ref(false); |
| | | const disabled_btnWmsConfigPrint = ref(false); |
| | | const tableDataWmsConfigPrint = ref<any>([]); |
| | | const queryParamsWmsConfigPrint = ref<any>({}); |
| | | const tableParamsWmsConfigPrint = ref({ |
| | | page: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | }); |
| | | |
| | | const printWmsConfigPrintTitle = ref(""); |
| | | const editWmsConfigPrintTitle = ref(""); |
| | | |
| | | // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ |
| | | const changeAdvanceQueryUIWmsConfigPrint = () => { |
| | | showAdvanceQueryUIWmsConfigPrint.value = !showAdvanceQueryUIWmsConfigPrint.value; |
| | | } |
| | | |
| | | // æ¥è¯¢æå°é
置表 |
| | | const handleQueryWmsConfigPrint = async () => { |
| | | loadingWmsConfigPrint.value = true; |
| | | disabled_btnWmsConfigPrint.value = true; |
| | | var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, tableParamsWmsConfigPrint.value)); |
| | | if(res.data.type=="success"){ |
| | | tableDataWmsConfigPrint.value = res.data.result?.items ?? []; |
| | | tableParamsWmsConfigPrint.value.total = res.data.result?.total; |
| | | } |
| | | loadingWmsConfigPrint.value = false; |
| | | disabled_btnWmsConfigPrint.value = false; |
| | | }; |
| | | |
| | | // éç½®æå°é
置表æ¥è¯¢ |
| | | const resetWmsConfigPrint = async () => { |
| | | queryParamsWmsConfigPrint.value = {} |
| | | }; |
| | | |
| | | // æå°é
置表åæåº |
| | | const sortChangeWmsConfigPrint = async (column: any) => { |
| | | queryParamsWmsConfigPrint.value.field = column.prop; |
| | | queryParamsWmsConfigPrint.value.order = column.order; |
| | | await handleQueryWmsConfigPrint(); |
| | | }; |
| | | |
| | | // æå¼æ°å¢æå°é
ç½®è¡¨é¡µé¢ |
| | | const openAddWmsConfigPrint = () => { |
| | | editWmsConfigPrintTitle.value = 'æ·»å æå°é
置表'; |
| | | editDialogRefWmsConfigPrint.value.openDialog(1,{}); |
| | | }; |
| | | |
| | | // æå¼æå°æå°é
ç½®è¡¨é¡µé¢ |
| | | const openPrintWmsConfigPrint = async (row: any) => { |
| | | printWmsConfigPrintTitle.value = 'æå°æå°é
置表'; |
| | | } |
| | | |
| | | // æå¼ç¼è¾æå°é
ç½®è¡¨é¡µé¢ |
| | | const openEditWmsConfigPrint = (row: any) => { |
| | | editWmsConfigPrintTitle.value = 'ç¼è¾æå°é
置表'; |
| | | editDialogRefWmsConfigPrint.value.openDialog(2,row); |
| | | }; |
| | | |
| | | // å 餿å°é
置表 |
| | | const delWmsConfigPrint = (row: any) => { |
| | | ElMessageBox.confirm(`ç¡®å®è¦å é¤å?`, "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(async () => { |
| | | loadingWmsConfigPrint.value = true; |
| | | var ret = await deleteWmsConfigPrint(row); |
| | | if(ret.data.type=="success"){ |
| | | ElMessage.success("å 餿å"); |
| | | } |
| | | loadingWmsConfigPrint.value = false; |
| | | handleQueryWmsConfigPrint(); |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | // æ¹åæå°é
置表页é¢å®¹é |
| | | const handleSizeChangeWmsConfigPrint = (val: number) => { |
| | | tableParamsWmsConfigPrint.value.pageSize = val; |
| | | handleQueryWmsConfigPrint(); |
| | | }; |
| | | |
| | | // æ¹åæå°é
置表页ç åºå· |
| | | const handleCurrentChangeWmsConfigPrint = (val: number) => { |
| | | tableParamsWmsConfigPrint.value.page = val; |
| | | handleQueryWmsConfigPrint(); |
| | | }; |
| | | |
| | | /***************************************************[æå°é
置表æä½]ç»æ***************************************************/ |
| | | /***************************************************[æå°é
置表导åº]å¼å§***************************************************/ |
| | | //å®ä¹å½å页é¢çæ¹æ³ç» |
| | | const functionMapWmsConfigPrint = { |
| | | getEnumPrintClassifyData_Index, |
| | | formatDate_T_Date, |
| | | formatDate_T_Time |
| | | }; |
| | | //ç¹å»å¯¼åºæé® |
| | | const handleExportExcelWmsConfigPrint = async (formData:Blob) => { |
| | | loadingWmsConfigPrint.value = true; |
| | | disabled_btnWmsConfigPrint.value = true; |
| | | var new_tableParamsWmsConfigPrint=JSON.parse(JSON.stringify(tableParamsWmsConfigPrint.value)); |
| | | new_tableParamsWmsConfigPrint.page = 1; |
| | | new_tableParamsWmsConfigPrint.pageSize = 100000; |
| | | var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, new_tableParamsWmsConfigPrint)); |
| | | if(res.data.type=="success"){ |
| | | exportExcelWmsConfigPrint(res.data.result?.items ?? []); |
| | | } |
| | | loadingWmsConfigPrint.value = false; |
| | | disabled_btnWmsConfigPrint.value = false; |
| | | }; |
| | | //å¯¼åº |
| | | const exportExcelWmsConfigPrint = async (exportDataList:Array) => { |
| | | exportPageExcel(exportDataList, tableRefWmsConfigPrint,"æå°é
置表",functionMapWmsConfigPrint); |
| | | }; |
| | | /***************************************************[æå°é
置表导åº]ç»æ***************************************************/ |
| | | // æå°é
置表页é¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | getEnumPrintClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? []; |
| | | }); |
| | | |
| | | handleQueryWmsConfigPrint(); |
| | | </script> |
| | | <style scoped> |
| | | :deep(.el-input), |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | |
| | |
| | | public const string WmsStockSnapshotDetailsGroupName = "åºåå¿«ç
§ç®¡ç"; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | namespace Admin.NET.Application; |
| | | using Admin.NET.Application.Entity; |
| | | |
| | | namespace Admin.NET.Application; |
| | | |
| | | /// <summary> |
| | | /// åºä½ä¿¡æ¯è¾åºåæ° |
| | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åºä½è§å¾è¾åºå |
| | | /// </summary> |
| | | public class LocationViewOutput |
| | | { |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´ |
| | | /// </summary> |
| | | |
| | | public DateTime? InTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶æ¡ç |
| | | /// </summary> |
| | | public string Upi { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶åç§° |
| | | /// </summary> |
| | | public string DetailName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡ |
| | | /// </summary> |
| | | public string PlanNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 订åå· |
| | | /// </summary> |
| | | public string OrderId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
è£
å· |
| | | /// </summary> |
| | | public string PackageCode { get; set; } |
| | | |
| | | public float Length { get; set; } |
| | | |
| | | public float Width { get; set; } |
| | | |
| | | public float Thk { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æ |
| | | /// </summary> |
| | | public StockStatusEnum StockStatus { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æåç§° |
| | | /// </summary> |
| | | |
| | | public string StockStatusName { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æä½åå |
| | | /// </summary> |
| | | |
| | | public string? OperReason { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æä½äºº |
| | | /// </summary> |
| | | |
| | | public string? OperUser { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æä½æ¶é´ |
| | | /// </summary> |
| | | |
| | | public DateTime? OperTime { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// éå®ç¶æ |
| | | /// </summary> |
| | | |
| | | public LockStatusEnum LockStatus { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// éå®åå |
| | | /// </summary> |
| | | |
| | | public string? LockReason { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// éå®äºº |
| | | /// </summary> |
| | | |
| | | public string? LockUser { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// é宿¶é´ |
| | | /// </summary> |
| | | |
| | | public DateTime? LockTime { get; set; } |
| | | |
| | | |
| | | |
| | | |
| | | public int? LaneNo { get; set; } |
| | | public int? ColumnNo { get; set; } |
| | | public int? LayerNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºä½å±æ§ |
| | | /// </summary> |
| | | |
| | | public PlaceStatusEnum PlaceStatus { get; set; } |
| | | |
| | | } |
| | |
| | | public class WmsBasePlaceService : IDynamicApiController, ITransient |
| | | { |
| | | private readonly SqlSugarRepository<WmsBasePlace> _rep; |
| | | public WmsBasePlaceService(SqlSugarRepository<WmsBasePlace> rep) |
| | | private readonly SqlSugarRepository<V_Station_Quan> _V_Station_Quan; |
| | | public WmsBasePlaceService(SqlSugarRepository<WmsBasePlace> rep, |
| | | SqlSugarRepository<V_Station_Quan> V_Station_Quan_Rep) |
| | | { |
| | | _rep = rep; |
| | | _V_Station_Quan = V_Station_Quan_Rep; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | await _rep.InsertRangeAsync(places); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¸å页æ¥è¯¢åºä½ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "ListView")] |
| | | [Description("WmsBasePlace/ListView")] |
| | | public async Task<List<LocationViewOutput>> ListView([FromQuery] WmsBasePlaceInput input) |
| | | { |
| | | var query = await _V_Station_Quan.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => |
| | | u.PlaceCode.Contains(input.SearchKey.Trim()) |
| | | // || u.WareContainerCode.Contains(input.SearchKey.Trim()) |
| | | //|| u.Lane==input.Lane |
| | | //|| u.Row==input.Row |
| | | ) |
| | | .OrderBy(u => u.LaneNo) |
| | | //.OrderBy(u => u.Row) |
| | | .OrderBy(u => u.LayerNo) |
| | | .OrderBy(u => u.ColumnNo) |
| | | .Select<LocationViewOutput>().ToListAsync(); |
| | | return query; |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | { |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯å页æ¥è¯¢è¾å
¥åæ° |
| | | /// </summary> |
| | | public class PackListInput : BasePageInput |
| | | { |
| | | /// <summary> |
| | | /// å
³é®åæ¥è¯¢ |
| | | /// </summary> |
| | | public string? SearchKey { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦é½å¥ |
| | | /// </summary> |
| | | public bool? IsPack { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´ |
| | | /// </summary> |
| | | public DateTime? InTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´èå´ |
| | | /// </summary> |
| | | public List<DateTime?> InTimeRange { get; set; } |
| | | /// <summary> |
| | | /// é¨ä»¶æ¡ç |
| | | /// </summary> |
| | | public string? Upi { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶åç§° |
| | | /// </summary> |
| | | public string? DetailName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡ |
| | | /// </summary> |
| | | public string? PlanNo { get; set; } |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯å页æ¥è¯¢è¾å
¥åæ° |
| | | /// </summary> |
| | | public class KittingListInput : BasePageInput |
| | | { |
| | | /// <summary> |
| | | /// å
³é®åæ¥è¯¢ |
| | | /// </summary> |
| | | public string? SearchKey { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦é½å¥ |
| | | /// </summary> |
| | | public bool? IsKitting { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´ |
| | | /// </summary> |
| | | public DateTime? InTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´èå´ |
| | | /// </summary> |
| | | public List<DateTime?> InTimeRange { get; set; } |
| | | /// <summary> |
| | | /// é¨ä»¶æ¡ç |
| | | /// </summary> |
| | | public string? Upi { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶åç§° |
| | | /// </summary> |
| | | public string? DetailName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡ |
| | | /// </summary> |
| | | public string? PlanNo { get; set; } |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ´å
çå
¥å |
| | | /// </summary> |
| | | public class WmsPackListOutput |
| | | { |
| | | public string PackageCode { get; set; } // å
è£
代ç |
| | | public int Count { get; set; } // 对åºçæ°é |
| | | public bool IsPack { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// é½å¥å
¥å |
| | | /// </summary> |
| | | public class WmsKittingListOutput |
| | | { |
| | | public string OrderId { get; set; } // åå· |
| | | public int Count { get; set; } // 对åºçæ°é |
| | | public bool IsKitting { get; set; } |
| | | } |
| | |
| | | using System.Data; |
| | | using System.Web; |
| | | using System.Text; |
| | | using System; |
| | | namespace Admin.NET.Application; |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯æå¡ |
| | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä¸å页æ¥è¯¢é½å
管ç |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "packList")] |
| | | [Description("WmsStockQuan/packList")] |
| | | public async Task<List<WmsPackListOutput>> packList([FromQuery] PackListInput input) |
| | | { |
| | | // æ¥è¯¢å¹¶è½¬æ¢ä¸º WmsKittingListOutput 对象çå表 |
| | | var list = await _rep.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.PlaceCode.Contains(input.DetailName.Trim())) |
| | | .Select(x => new WmsPackListOutput |
| | | { |
| | | PackageCode = x.PackageCode, |
| | | // æ å°å
¶ä»å段 |
| | | }) |
| | | .ToListAsync(); // ç¡®ä¿è·åç»æä¸º List |
| | | // åç»å¹¶è¿ååç»ä¿¡æ¯ |
| | | var groupedResult = list |
| | | .GroupBy(x => x.PackageCode) // æ PackageCode åç» |
| | | .Select(g => new WmsPackListOutput |
| | | { |
| | | PackageCode = g.Key, // è·ååç»çé® |
| | | Count = g.Count(), // ç»è®¡æ¯ç»çæ°é |
| | | IsPack = g.Count() == 5 ? true : false // 妿 Count 为 5 å IsKitting 为 1ï¼å¦å为 0 |
| | | }) |
| | | .WhereIF(input.IsPack.HasValue, u => u.IsPack == input.IsPack) |
| | | .OrderBy(g => g.PackageCode) // æ ¹æ® PackageCode æåº |
| | | .ToList(); // 转æ¢ä¸º List |
| | | return groupedResult; // è¿ååç»ç»æ |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä¸å页æ¥è¯¢é½å¥ç®¡ç |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "KittingList")] |
| | | [Description("WmsStockQuan/KittingList")] |
| | | public async Task<List<WmsKittingListOutput>> KittingList([FromQuery] KittingListInput input) |
| | | { |
| | | var list = await _rep.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.PlaceCode.Contains(input.DetailName.Trim())) |
| | | .Select(x => new WmsKittingListOutput |
| | | { |
| | | OrderId = x.OrderId |
| | | }) |
| | | .ToListAsync(); // ç¡®ä¿è·åç»æä¸º List |
| | | // åç»å¹¶è¿ååç»ä¿¡æ¯ |
| | | var groupedResult = list |
| | | .GroupBy(x => x.OrderId) // æ PackageCode åç» |
| | | .Select(g => new WmsKittingListOutput |
| | | { |
| | | OrderId = g.Key, // è·ååç»çé® |
| | | Count = g.Count(), // ç»è®¡æ¯ç»çæ°é |
| | | IsKitting = g.Count() == 5 ? true : false // 妿 Count 为 5 å IsKitting 为 1ï¼å¦å为 0 |
| | | }) |
| | | .WhereIF(input.IsKitting.HasValue, u => u.IsKitting == input.IsKitting) |
| | | .OrderBy(g => g.OrderId) // æ ¹æ® PackageCode æåº |
| | | .ToList(); // 转æ¢ä¸º List |
| | | return groupedResult; // è¿ååç»ç»æ |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | /// <summary> |
| | | /// æå°æºå表 |
| | | /// </summary> |
| | | public virtual List<string> PrinterListList { get; set; } |
| | | public virtual string PrinterList { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | |
| | | public virtual string Remark { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | public virtual string CreateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建æ¶é´ |
| | | /// </summary> |
| | | public virtual DateTime? CreateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äºº |
| | | /// </summary> |
| | | public virtual string UpdateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹æ¶é´ |
| | |
| | | public virtual long? CreateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | public virtual string CreateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äººId |
| | | /// </summary> |
| | | public virtual long? UpdateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äºº |
| | | /// </summary> |
| | | public virtual string UpdateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 软å é¤ |
| | |
| | | [Required(ErrorMessage = "æå°åç±»ä¸è½ä¸ºç©º")] |
| | | public override Admin.NET.Application.PrintClassifyEnum PrintClassify { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æå°åç±»å |
| | | /// </summary> |
| | | [Required(ErrorMessage = "æå°åç±»åä¸è½ä¸ºç©º")] |
| | | public override string PrintClassifyName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æå°æ¨¡æ¿å |
| | |
| | | /// æå°æºå表 |
| | | /// </summary> |
| | | [Required(ErrorMessage = "æå°æºå表ä¸è½ä¸ºç©º")] |
| | | public override List<string> PrinterListList { get; set; } |
| | | public override string PrinterList { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 软å é¤ |
| | |
| | | public string PrinterList { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æå°æºå表 |
| | | /// </summary> |
| | | public List<string> PrinterListList { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | public string Remark { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | public string CreateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建æ¶é´ |
| | | /// </summary> |
| | | public DateTime? CreateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äºº |
| | | /// </summary> |
| | | public string UpdateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹æ¶é´ |
| | |
| | | public long? CreateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | public string CreateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äººId |
| | | /// </summary> |
| | | public long? UpdateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äºº |
| | | /// </summary> |
| | | public string UpdateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 软å é¤ |
| | | /// </summary> |
| | | public bool IsDelete { get; set; } |
| | |
| | | using System.Data; |
| | | using System.Web; |
| | | using System.Text; |
| | | using NPOI.OpenXmlFormats.Dml; |
| | | |
| | | namespace Admin.NET.Application; |
| | | /// <summary> |
| | | /// æå°é
置表æå¡ |
| | |
| | | public async Task<SqlSugarPagedList<WmsConfigPrintOutput>> Page(WmsConfigPrintInput input) |
| | | { |
| | | var query = CommonPageFilter(input); |
| | | var list = await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize); |
| | | foreach (var item in list.Items) |
| | | { |
| | | //åç¬å¤çæé® ãEditby shaocx,2024-05-27ã |
| | | if (!string.IsNullOrEmpty(item.PrinterList)) |
| | | { |
| | | item.PrinterListList = item.PrinterList.Split(",").ToList(); |
| | | } |
| | | } |
| | | return list; |
| | | return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public async Task<List<WmsConfigPrintOutput>> List([FromQuery] WmsConfigPrintInput input) |
| | | { |
| | | var query = CommonPageFilter(input); |
| | | var list = await query.OrderBuilder(input, "", "Id").Select<WmsConfigPrintOutput>().ToListAsync(); |
| | | foreach (var item in list) |
| | | { |
| | | //åç¬å¤çæé® ãEditby shaocx,2024-05-27ã |
| | | if (!string.IsNullOrEmpty(item.PrinterList)) |
| | | { |
| | | item.PrinterListList = item.PrinterList.Split(",").ToList(); |
| | | } |
| | | } |
| | | return list; |
| | | return await query.OrderBuilder(input, "", "Id").Select<WmsConfigPrintOutput>().ToListAsync(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | [Description("WmsConfigPrint/Add")] |
| | | public async Task<long> Add(AddWmsConfigPrintInput input) |
| | | { |
| | | |
| | | var entity = input.Adapt<WmsConfigPrint>(); |
| | | entity.PrintClassifyName = entity.PrintClassify.ToString(); |
| | | entity.PrinterList = string.Join(",", input.PrinterListList); |
| | | |
| | | //é夿§éªè¯ |
| | | await CheckExist(entity); |
| | |
| | | public async Task Update(UpdateWmsConfigPrintInput input) |
| | | { |
| | | var entity = input.Adapt<WmsConfigPrint>(); |
| | | entity.PrintClassifyName = entity.PrintClassify.ToString(); |
| | | entity.PrinterList = string.Join(",", input.PrinterListList); |
| | | |
| | | //é夿§éªè¯ |
| | | await CheckExist(entity, true); |
| | |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "Detail")] |
| | | [Description("WmsConfigPrint/Detail")] |
| | | public async Task<WmsConfigPrintOutput> Detail([FromQuery] QueryByIdWmsConfigPrintInput input) |
| | | public async Task<WmsConfigPrint> Detail([FromQuery] QueryByIdWmsConfigPrintInput input) |
| | | { |
| | | var obj= await _rep.GetFirstAsync(u => u.Id == input.Id); |
| | | var entity = obj.Adapt<WmsConfigPrintOutput>(); |
| | | if (!string.IsNullOrEmpty(entity.PrinterList)) |
| | | { |
| | | entity.PrinterListList = entity.PrinterList.Split(",").ToList(); |
| | | } |
| | | return entity; |
| | | return await _rep.GetFirstAsync(u => u.Id == input.Id); |
| | | } |
| | | |
| | | |
| | |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.PrinterList), u => u.PrinterList.Contains(input.PrinterList.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.Remark), u => u.Remark.Contains(input.Remark.Trim())) |
| | | .Select<WmsConfigPrintOutput>(); |
| | | |
| | | return query; |
| | | } |
| | | |
| | |
| | | //没æé
ç½®ç»åæ ¡éªï¼ä¸éè¦éªé |
| | | |
| | | |
| | | bool isExistForSingle_PrintTemplate = false; |
| | | if (!isEdit)//æ°å¢ |
| | | { |
| | | //æ°æ®æ¯å¦åç¬åå¨éå¤-æå°æ¨¡æ¿å |
| | | isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u => |
| | | u.PrintTemplate.Equals(input.PrintTemplate)); |
| | | } |
| | | else//ç¼è¾ |
| | | { |
| | | //å½åç¼è¾æ°æ®ä»¥å¤æ¯å¦åç¬åå¨éå¤-æå°æ¨¡æ¿å |
| | | isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u => |
| | | u.Id != input.Id |
| | | && u.PrintTemplate.Equals(input.PrintTemplate)); |
| | | } |
| | | if (isExistForSingle_PrintTemplate) throw Oops.Oh($"éªè¯å¤±è´¥,æå°æ¨¡æ¿å[" + input.PrintTemplate + "]å·²åå¨"); |
| | | |
| | | bool isExistForSingle_PrintTemplateAddr = false; |
| | | if (!isEdit)//æ°å¢ |
| | | { |
| | | //æ°æ®æ¯å¦åç¬åå¨éå¤-æå°æ¨¡æ¿å°å |
| | | isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u => |
| | | u.PrintTemplateAddr.Equals(input.PrintTemplateAddr)); |
| | | } |
| | | else//ç¼è¾ |
| | | { |
| | | //å½åç¼è¾æ°æ®ä»¥å¤æ¯å¦åç¬åå¨éå¤-æå°æ¨¡æ¿å°å |
| | | isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u => |
| | | u.Id != input.Id |
| | | && u.PrintTemplateAddr.Equals(input.PrintTemplateAddr)); |
| | | } |
| | | if (isExistForSingle_PrintTemplateAddr) throw Oops.Oh($"éªè¯å¤±è´¥,æå°æ¨¡æ¿å°å[" + input.PrintTemplateAddr + "]å·²åå¨"); |
| | | |
| | | //没æé
ç½®åç¬æ ¡éªï¼ä¸éè¦éªé |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | |
| | | //æ ¹æ®åç¬æ ¡éªéªè¯è¡¨æ ¼ä¸ä¸æ¯å¦å·²åå¨ç¸åæ°æ® |
| | | var existExcelItemForSingle_PrintTemplate = inputs.GroupBy(g => new { g.PrintTemplate }).Where(g => g.Count() > 1).ToList(); |
| | | if (existExcelItemForSingle_PrintTemplate != null && existExcelItemForSingle_PrintTemplate.Count > 0) |
| | | { |
| | | var item = existExcelItemForSingle_PrintTemplate.First().ToList().First(); |
| | | throw Oops.Oh($"éªè¯å¤±è´¥,导å
¥çè¡¨æ ¼ä¸,æå°æ¨¡æ¿å[" + item.PrintTemplate + "]å·²éå¤åå¨"); |
| | | } |
| | | var existExcelItemForSingle_PrintTemplateAddr = inputs.GroupBy(g => new { g.PrintTemplateAddr }).Where(g => g.Count() > 1).ToList(); |
| | | if (existExcelItemForSingle_PrintTemplateAddr != null && existExcelItemForSingle_PrintTemplateAddr.Count > 0) |
| | | { |
| | | var item = existExcelItemForSingle_PrintTemplateAddr.First().ToList().First(); |
| | | throw Oops.Oh($"éªè¯å¤±è´¥,导å
¥çè¡¨æ ¼ä¸,æå°æ¨¡æ¿å°å[" + item.PrintTemplateAddr + "]å·²éå¤åå¨"); |
| | | } |
| | | |
| | | //æ ¹æ®åç¬æ ¡éªéªè¯æ°æ®åºä¸æ¯å¦å·²åå¨ç¸åæ°æ® |
| | | var existDBItemList = await _rep.GetListAsync(w => |
| | | inputs.Select(s => s.PrintTemplate).ToList().Contains(w.PrintTemplate) || |
| | | inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(w.PrintTemplateAddr) |
| | | ); |
| | | var db_ForSingle_PrintTemplate = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplate).ToList().Contains(g.PrintTemplate)); |
| | | if (db_ForSingle_PrintTemplate != null) throw Oops.Oh($"éªè¯å¤±è´¥,ç³»ç»ä¸,æå°æ¨¡æ¿å[" + db_ForSingle_PrintTemplate.PrintTemplate + "]å·²éå¤åå¨"); |
| | | |
| | | var db_ForSingle_PrintTemplateAddr = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(g.PrintTemplateAddr)); |
| | | if (db_ForSingle_PrintTemplateAddr != null) throw Oops.Oh($"éªè¯å¤±è´¥,ç³»ç»ä¸,æå°æ¨¡æ¿å°å[" + db_ForSingle_PrintTemplateAddr.PrintTemplateAddr + "]å·²éå¤åå¨"); |
| | | |
| | | |
| | | |