This commit is contained in:
linfso 2024-07-31 12:01:45 +08:00
parent 68eb03abc4
commit 4833c02ea2
5 changed files with 94 additions and 101 deletions

View File

@ -266,8 +266,8 @@ export default {
if(evt.button == 2){
flag=false;
if(vnode.context.multipleSelection&&vnode.context.multipleSelection.length>0){
// vnode.context.currentOdiv=oDiv;
vnode.context.currentOdiv=tbBodyDiv;
vnode.context.currentOdiv=oDiv;
// vnode.context.currentOdiv=tbBodyDiv;
vnode.context.currentCell=evt.target;
showContextMenu(evt);
const currentCellInfo=getCellPosition(evt.target);
@ -388,7 +388,12 @@ export default {
function showContextMenu(event){
var xdTableObj = document.getElementById(vnode.context.tableId);
xdTableObj.addEventListener("contextmenu", function(event) {
vnode.context.clearEventBubble(event)
var menu = xdTableObj.querySelector("#contextMenu");
console.log("====>xdTableObj====>",xdTableObj);
console.log("====>menu====>",menu);
let tbPosRect=getTablePosition(xdTableObj);
menu.style.left = (event.clientX-tbPosRect.left+5) + "px";
menu.style.top = (event.clientY-tbPosRect.top-35) + "px";

View File

@ -1,6 +1,7 @@
<template>
<div >
<el-form ref="form" size="mini" :model="queryParams" label-width="100px">
<XdPageContainer >
<el-form slot="pageHeader" ref="form" size="mini" :model="queryParams" label-width="100px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="8">
<el-form-item label="" prop="queryOrderType">
@ -10,13 +11,6 @@
<el-radio label="2">运单号</el-radio>
</el-radio-group>
</div>
<!-- <el-input
v-model="queryParams.packNo"
:placeholder="$t('多个合包号逗号可换行隔开')"
clearable
type="textarea"
rows="2"
/> -->
<XdTextareaInput
v-model="queryParams.packNo"
:placeholder="$t('多个流水号逗号或换行隔开')"
@ -26,48 +20,40 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发货时间" prop="dateTimeRange">
<elDateAdvPicker clearable v-model="dateTimeRange" @dateTimeChange="onDateSelect" ></elDateAdvPicker>
<el-form-item label="创建时间" prop="dateTimeRange">
<elDateAdvPicker clearable v-model="dateTimeRange" ></elDateAdvPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('寄件网点')" prop="sendAreaSiteCode">
<EmisSiteSimplePicker v-model="queryParams.sendAreaSiteCode" :placeholder="$t('寄件网点')" isInitiated="true" ></EmisSiteSimplePicker>
<el-form-item label="合包状态" prop="packStatus">
<el-select clearable v-model="queryParams.packStatus" placeholder="请选择">
<el-option
v-for="dict in dict.type.emis_pack_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="目的国家" prop="sendCountry">
<CountryPicker v-model="queryParams.receiveCountry" :placeholder="$t('目的国家')" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属线路" prop="lineCode">
<TransLinePicker v-model="queryParams.lineCode" :countryCode="queryParams.receiveCountry"></TransLinePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品类型" prop="productType">
<TransProductPicker placeholder="全部" v-model="queryParams.productType" :transLineCode="queryParams.lineCode" ></TransProductPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="问题件方式" prop="pickupMethod">
<el-select clearable="" v-model="queryParams.problemQueryType" placeholder="请选择">
<el-option label="只查问题件类型" :value="1"></el-option>
<el-option label="剔除问题件类型" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="问题件类型" prop="problemType">
<ProblemTypePicker v-model="queryParams.problemType" ></ProblemTypePicker>
<el-form-item :label="$t('合包网点')" prop="sendStiteCode">
<EmisSiteSimplePicker v-model="queryParams.sendStiteCode" :placeholder="$t('合包网点')" isInitiated="true" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
</el-row>
<!-- </SearchForm> -->
</el-form>
<XdTable v-loading="loading"
slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight)+'px'"
storageName="emisTmsPackList_main1_240702"
border
ref="table"
size="small"
@ -92,7 +78,7 @@
@click="handleQuery"
>查询</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
@ -101,18 +87,18 @@
@click="handleCoAdd"
:disabled="addWayBillDisabled"
>追加</el-button>
</el-col>
</el-col> -->
</el-row>
</div>
<el-table-column v-if="showType=='batch'" type="selection" width="55" align="center">
<el-table-column type="selection" width="55" align="center">
</el-table-column>
<el-table-column type="expand">
<template slot-scope="scope">
<PackItemDetail :packNo="scope.row.packNo"></PackItemDetail>
</template>
</el-table-column>
<el-table-column v-if="showType=='batch'" :label="$t('合包号')" align="center" prop="packNo" min-width="170" />
<!-- <el-table-column v-if="showType=='batch'" :label="$t('合包号')" align="center" prop="packNo" min-width="170" />
<el-table-column v-if="showType=='batch'" :label="$t('合包状态')" align="center" prop="packStatus" min-width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_pack_status" :value="scope.row.packStatus"/>
@ -123,13 +109,13 @@
<template slot-scope="scope">
<span>{{ scope.row.blUnpack == "1" ? "是" : "否" }}</span>
</template>
</el-table-column>
<el-table-column v-if="showType=='batch'" :label="$t('操作员')" align="center" prop="createByName" min-width="150" />
</el-table-column> -->
<!-- <el-table-column v-if="showType=='batch'" :label="$t('操作员')" align="center" prop="createByName" min-width="150" />
<el-table-column v-if="showType=='batch'" :label="$t('票数')" align="center" prop="totalWaybillQty" min-width="100" />
<el-table-column v-if="showType=='batch'" :label="$t('件数')" align="center" prop="totalParcelQty" min-width="100" />
<el-table-column v-if="showType=='batch'" :label="$t('实际重量')" align="center" prop="totalWeight" min-width="100" />
<el-table-column v-if="showType=='batch'" :label="$t('体积')" align="center" prop="totalVolume" min-width="100" />
<el-table-column v-if="showType=='batch'" :label="$t('创建时间')" align="center" prop="packDate" min-width="170" />
<el-table-column v-if="showType=='batch'" :label="$t('创建时间')" align="center" prop="packDate" min-width="170" /> -->
<el-table-column v-if="showType=='pack'" :label="$t('合包号')" align="center" prop="packNo" min-width="170" />
<el-table-column v-if="showType=='pack'" :label="$t('合包状态')" align="center" prop="packStatus" min-width="100">
@ -150,7 +136,7 @@
<el-table-column v-if="showType=='pack'" :label="$t('合包重量')" align="center" prop="totalWeight" min-width="100" />
<el-table-column v-if="showType=='pack'" :label="$t('创建时间')" align="center" prop="packDate" min-width="170" />
</XdTable>
</div>
</XdPageContainer>
</template>
<script>
@ -171,14 +157,16 @@ import PackListView from '@/views/emis/emisTmsSiteBatch/packListView';
import { parseTime, dateToStr } from "@/utils/custom";
import { formatSearchStr } from '@/utils/index'
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
export default {
name: "PackListView",
components: { PackItemDetail,ProblemTypePicker, EmisGetNextSitePicker, CountryPicker, EmisSiteSimplePicker, elDateAdvPicker, emisTmsPackForm, TransLinePicker, TransProductPicker, PackListView},
props:{
propParams: {},
propType: "",
slotProps: {}
// propParams: {},
// propType: "",
// slotProps: {}
},
dicts: ['emis_pack_status'],
data() {
@ -193,7 +181,7 @@ export default {
canSelectList: [],// 被选中的合包列表
queryParams:{},
dateTimeRange:null,
selection:[],// 选中的合包
@ -209,7 +197,20 @@ export default {
pageNum: 1,
pageSize: 20,
packNo: null,
params:{}
params:{
queryOrderType:null
}
},
queryParams: {
pageNum: 1,
pageSize: 20,
packNo: null,
packStatus: null,
printStatus: null,
params:{
queryOrderType:null
}
},
};
@ -220,7 +221,16 @@ export default {
// this.queryParams.params = this.queryParams.params || {};
// this.queryParams.params.isNeedPack = null;
// this.showType = this.propType;
const end = new Date()
const start = new Date()
start.setHours(0,0,0,0)
end.setHours(23,59,59,0)
this.dateTimeRange=[timeFormat(start), timeFormat(end)]
this.queryParams.packStatus="1";
this.getList();
},
watch: {
// "propParams": {
@ -356,42 +366,17 @@ export default {
/** 查询TMS合包列表 */
getList() {
this.loading = true;
this.single = true;
this.multiple = true;
// this.queryParams.params = {};
if(this.queryParams.packNo){
let qBillCode=formatSearchStr(this.queryParams.packNo);
let billArr = qBillCode.split(",");
let newBillCodeStr="";
billArr.forEach(item=>{
if(item.startsWith("T")){
let mainBillCode=item.substr(0,14);
newBillCodeStr=newBillCodeStr+mainBillCode+",";
}else if(item == ""){
}else{
newBillCodeStr=newBillCodeStr+item+",";
}
});
if(this.queryParams.queryOrderType == "1"){
this.queryParams.packNo=newBillCodeStr;
this.queryParams.billCode=null;
}else{
// 处理子单号
this.queryParams.billCode=newBillCodeStr;
this.queryParams.packNo=null;
}
}
this.emisTmsPackList = [];
// if (null != this.dateTimeRange && '' != this.dateTimeRange) {
// this.queryParams.params["beginSendDate"] = dateToStr(new Date(this.dateTimeRange[0]));
// this.queryParams.params["endSendDate"] = dateToStr(new Date(this.dateTimeRange[1]));
// }
this.queryParams.params["beginSendDate"] = null;
this.queryParams.params["endSendDate"] = null;
this.queryParams.params["isNeedPack"] = null;
this.queryParams.destCountry = this.queryParams.receiveCountry;
// this.queryParams.params["beginSendDate"] = null;
// this.queryParams.params["endSendDate"] = null;
// this.queryParams.params["isNeedPack"] = null;
// this.queryParams.destCountry = this.queryParams.receiveCountry;
this.queryParams=this.addDateRange(this.queryParams, this.dateTimeRange,"createTime");
listEmisTmsPack(this.queryParams).then(response => {
this.emisTmsPackList = response.rows;
this.total = response.total;

View File

@ -1,5 +1,5 @@
<template>
<XdPageContainer class="app-container">
<XdPageContainer>
<!-- <SearchForm :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery"> -->
<el-form slot="pageHeader" ref="form" size="mini" :model="queryParams" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
@ -54,12 +54,12 @@
</el-row>
<!-- </SearchForm> -->
</el-form>
<!-- slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight)+'px'" -->
<XdTable
slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight)+'px'"
v-loading="loadingWait"
border
@ -205,6 +205,7 @@ import PackListView from '@/views/emis/emisTmsSiteBatch/packListView';
import { parseTime, dateToStr } from "@/utils/custom";
import { formatSearchStr } from '@/utils/index'
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
export default {
name: "PackageManagement",
@ -345,11 +346,13 @@ export default {
},
mounted() {
const end = new Date()
const start = new Date()
start.setHours(0,0,0,0)
end.setHours(23,59,59,0)
this.dateTimeRange=[start,end];
this.dateTimeRange=[timeFormat(start), timeFormat(end)]
this.activeName="first";
this.getQuery();
},

View File

@ -4,10 +4,10 @@
<div class="tab-container">
<el-tabs v-model="activeTab" class="center-tabs" @tab-click="handleTabsClick" @tab-remove="removeTab">
<el-tab-pane label="待合包" name="billList" >
<WaitPackList @onSelect="onSelectBill"> </WaitPackList>
<WaitPackList> </WaitPackList>
</el-tab-pane>
<el-tab-pane label="合包列表" name="hasPack" >
<PackList ref="packListView" propType="pack" ></PackList>
<PackList @onSelect="onSelectBill" ></PackList>
</el-tab-pane>
<!-- <el-tab-pane v-for="(item, index) in billTabs" :key="index" :name="item.settleBillNo" :label="'账单:'+item.settleBillNo" closable >
<BillDetailPanel :settleBillNo="item.settleBillNo"></BillDetailPanel>
@ -44,21 +44,21 @@ export default {
},
onSelectBill(item) {
let old=this.billTabs.find(mItem=>mItem.settleBillNo==item.settleBillNo);
let old=this.billTabs.find(mItem=>mItem.packNo==item.packNo);
if(old){
this.activeTab=item.settleBillNo;
this.activeTab=item.packNo;
}else{
this.billTabs.push(item);
this.activeTab=item.settleBillNo;
this.activeTab=item.packNo;
}
},
removeTab(targetName) {
var self=this;
let tabs = self.billTabs;
self.billTabs = tabs.filter(tab => tab.settleBillNo !== targetName);
self.billTabs = tabs.filter(tab => tab.packNo !== targetName);
if(self.billTabs.length>0){
this.activeTab=self.billTabs[self.billTabs.length-1].settleBillNo;
this.activeTab=self.billTabs[self.billTabs.length-1].packNo;
}else{
this.activeTab="billList";
}

View File

@ -15,13 +15,13 @@
:showCustomizeTpl="false"
>
<el-table-column :label="$t('运单号')" align="center" prop="billCodeL" min-width="170" />
<el-table-column :label="$t('订单号')" align="center" prop="orderSn" min-width="170" />
<el-table-column :label="$t('进仓单号')" align="center" prop="intoWarehouseCode" min-width="100" />
<el-table-column :label="$t('扫描状态')" align="center" prop="waybillStatus" width="100" >
<!-- <el-table-column :label="$t('订单号')" align="center" prop="orderSn" min-width="170" /> -->
<!-- <el-table-column :label="$t('进仓单号')" align="center" prop="intoWarehouseCode" min-width="100" /> -->
<!-- <el-table-column :label="$t('扫描状态')" align="center" prop="waybillStatus" width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_waybill_status" :value="scope.row.waybillStatus"/>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column :label="$t('当前网点')" align="center" prop="currentSiteName" min-width="100" />
<el-table-column :label="$t('下一网点')" align="center" prop="nextSiteName" min-width="100" />
<el-table-column :label="$t('寄件国家')" align="center" prop="sendCountryName" min-width="100">