This commit is contained in:
linfso 2025-01-05 12:50:57 +08:00
parent c7b43b0487
commit c03f75b75f
11 changed files with 193 additions and 226 deletions

View File

@ -71,6 +71,15 @@ export function listEmisTmsScanRecord(query) {
params: query
})
}
// 扫描对比监控
export function scanMonitorList(query) {
return request({
url: '/emis/emisTmsScanRecord/scanMonitorList',
method: 'get',
params: query
})
}
// 查询扫描的单号
export function queryScanWaybillList(query) {
return request({

View File

@ -4,8 +4,6 @@
<slot name="pageHeader"></slot>
</div>
<!--表格内容 或者其他-->
<div ref="pageContent">
<slot name="pageTabs"></slot>
@ -38,11 +36,16 @@ export default {
methods: {
//内容高度
handleResize: _.debounce(function () {
// let h1 = this.$refs.pageWrapper.offsetHeight;
let h0 = this.$refs.pageWrapper.offsetHeight;
let h1 = window.innerHeight;
let h2 = this.$refs.pageHeader.offsetHeight;
console.log("====this.$refs.pageHeader:",this.$refs.pageHeader);
console.log("====this.pageWrapper==>h0:",h0);
console.log("====this.pageHeader==>h1,h2",h1,h2);
let contentHeight = h1 - h2-190;
this.contentHeight = contentHeight;
console.log("====this.contentHeight==>",this.contentHeight);
}, 500),
},

View File

@ -48,11 +48,13 @@
</el-form-item>
</SearchForm>
<!-- :height="(slotProps.contentHeight-100)+'px'" -->
<!-- slot-scope="slotProps" -->
<xd-table
slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight-100)+'px'"
height="calc(100vh - 20rem)"
ref="refTable"

View File

@ -1,7 +1,11 @@
<template>
<XdPageContainer >
<div slot="pageContent" style="height:calc(100vh - 3rem)">
<XdTable
slot="pageContent"
slot="pageContent"
height="calc(100vh - 20rem)"
v-loading="loading"
border stripe
size="mini"
@ -119,7 +123,7 @@
</XdTable>
</div>
</XdPageContainer>
</template>

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div class="el-tabs-container">
<el-tabs slot="pageTabs" style="flex:1;" v-model="activeTab" @tab-click="handleTabsClick">
<el-tabs slot="pageTabs" v-model="activeTab" @tab-click="handleTabsClick">
<el-tab-pane label="回款预警汇总" name="payback" >
<BillPaybackSumQuery @onSelect="onSelect"> </BillPaybackSumQuery>
</el-tab-pane>

View File

@ -48,11 +48,12 @@
</el-form-item>
</SearchForm>
<!-- slot-scope="slotProps"
:height="(slotProps.contentHeight-100)+'px'" -->
<div slot="pageContent">
<xd-table
slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight-100)+'px'"
height="calc(100vh - 20rem)"
ref="refTable"
@ -136,6 +137,7 @@
</xd-table>
</div>
</XdPageContainer>
</template>

View File

@ -19,8 +19,8 @@
<el-form-item :label="$t('扫描网点')" prop="scanSiteCode" label-width="100px">
<EmisSiteSimplePicker v-model="queryParams.scanSiteCode" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
<el-form-item :label="$t('上一网点')" prop="preOrNextStation" label-width="100px">
<EmisSiteSimplePicker v-model="queryParams.preOrNextStation" @onChange="onPreOrNextSiteSelect" ></EmisSiteSimplePicker>
<el-form-item :label="$t('上一网点')" prop="preOrNextStationCode" label-width="100px">
<EmisSiteSimplePicker v-model="queryParams.preOrNextStationCode" @onChange="onPreOrNextSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
<el-form-item :label="$t('目的网点')" prop="dispatchUnderlingSiteCode" label-width="100px">
<EmisSiteSimplePicker v-model="queryParams.params.dispatchUnderlingSiteCode" ></EmisSiteSimplePicker>
@ -29,7 +29,7 @@
<TransLinePicker v-model="queryParams.params.transLineType" isInitiated="true" ></TransLinePicker>
</el-form-item>
<el-form-item label="产品类型" prop="productType">
<TransProductPicker placeholder="产品类型" v-model="queryParams.params.productType" :transLineCode="queryParams.transLineType" ></TransProductPicker>
<TransProductPicker placeholder="产品类型" v-model="queryParams.params.productType" :transLineCode="queryParams.params.transLineType" ></TransProductPicker>
</el-form-item>
</el-col>
@ -120,7 +120,7 @@
<script>
import { listEmisElectronicPagApply, getEmisElectronicPagApply, delEmisElectronicPagApply, addEmisElectronicPagApply, updateEmisElectronicPagApply } from "@/api/emis/emisElectronicPagApply";
import { listEmisTmsScanRecord, delEmisTmsScanRecord, updateEmisTmsScanRecord } from "@/api/emis/emisTmsScanRecord";
import { scanMonitorList,listEmisTmsScanRecord, delEmisTmsScanRecord, updateEmisTmsScanRecord } from "@/api/emis/emisTmsScanRecord";
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
@ -167,6 +167,8 @@ export default {
total: 0,
// 网点电子面单申请表格数据
scanRecordDataList: [],
selectionList:[],
// 弹出层标题
title: "",
// 是否显示弹出层
@ -208,6 +210,10 @@ export default {
scanSitePhone: null,
scanWeight: null,
weight: null,
preOrNextStation:null,
preOrNextStationCode:null,
dispatchOrSendMan: null,
dispatchOrSendManCode: null,
dispatchOrSendManPhone: null,
@ -237,26 +243,7 @@ export default {
// scanType:"",
isSubBill:"",
},
// 修改参数
modifyParams:{
scanSite:null,
scanSiteCode:null,
scanSitePhone:null,
preOrNextStation:null,
preOrNextStationCode:null,
preOrNextStationPhone:null,
scanMan:null,
scanManCode:null,
scanManPhone:null,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
}
};
},
created() {
@ -278,17 +265,13 @@ export default {
getList() {
this.loading = true;
let qParam=this.initQueryParams();
listEmisTmsScanRecord(qParam).then(response => {
scanMonitorList(qParam).then(response => {
this.loading = false;
this.scanRecordDataList= response.rows;
this.total = response.total;
});
},
// 取消按钮
cancel() {
this.open = false;
this.resetModifyParams();
},
onScanSiteSelect(item){
this.queryParams.scanSite=item && item.siteName;
this.queryParams.scanSiteCode=item && item.siteCode;
@ -301,35 +284,6 @@ export default {
this.queryParams.destCode=item && item.destCode;
this.queryParams.destName=item && item.destName;
},
onDateSelect(value){
this.dateTimeRange=value;
},
onModifyScanSiteSelect(item){
this.modifyParams.scanSite=item.siteName;
this.modifyParams.scanSiteCode = item.siteCode
this.modifyParams.scanSitePhone = item.scanSitePhone;
},
onModifyPreOrNextSiteSelect(item){
this.modifyParams.preOrNextStation=item.siteName;
this.modifyParams.preOrNextStationCode=item.siteCode;
this.modifyParams.preOrNextStationPhone=item.preOrNextStationPhone;
},
onModifyStaffSelect(item){
this.modifyParams.scanMan=item.empName;
this.modifyParams.scanManCode=item.empCode;
// this.modifyParams.scanManPhone=item.scanManPhone;
},
//删除
clearSelectionBatch(){
let newList =[];
console.log(this.ids)
this.scanRecordDataList.forEach(item=>{
if(this.ids.indexOf(item.id) == -1){
newList.push(item);
}
});
this.scanRecordDataList = newList;
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -348,6 +302,7 @@ export default {
},
// 多选框选中数据
handleSelectionChange(selection) {
this.selectionList=selection;
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
@ -392,6 +347,120 @@ export default {
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
const loadingInstance = this.$loading({
text: '正在导出...'
})
if(this.selectionList&&this.selectionList.length>0){
this.exportData(this.selectionList,loadingInstance);
}
else{
let qExportParam=this.initQueryParams();
qExportParam.pageNum=1;
qExportParam.pageSize=20000;
listEmisTmsScanRecord(qExportParam).then(response => {
if (response.code === 200) {
this.exportData(response.rows,loadingInstance);
}
});
}
},
exportData(selData,loadingInstance){
const curList =selData
import('@/vendor/Export2Excel').then(excel => {
const exportParam=this.$refs.dataTable.getExportParam();
const tHeader = exportParam.header;
const filterVal = exportParam.filter;
const data = this.formatJson(filterVal, curList, selData)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '扫描记录导出',
autoWidth: true
})
loadingInstance.close()
})
},
formatJson(filterVal, jsonData, resData) {
let index = 0
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'kjlx') {
return v['sendSiteName']+'--'+v['dispatchUnderlingSiteName'];
}
if (j === 'fjr') {
return v['sendName']+'--'+v['receiveName'];
}
if (j === 'custName') {
let paymentType=v['paymentType'];
if(paymentType==2 || paymentType==4 || paymentType==5 ){
return v['custName'];
}else{
return "";
}
}
if (j === 'sendMobile') {
return "";
}
if (j === 'scanType') {
return this.selectDictLabel(this.dict.type.emis_scan_type,v[j]);
}
if (j === 'pickupMethod') {
return this.selectDictLabel(this.dict.type.emis_qujian_fangshi,v[j]);
}
if (j === 'customsEclaration') {
return this.selectDictLabel(this.dict.type.emis_declare_mode,v[j]);
}
if (j === 'customsClear') {
return this.selectDictLabel(this.dict.type.emis_customs_clear,v[j]);
}
if (j === 'packType') {
return this.selectDictLabels(this.dict.type.emis_tab_packing_type,v[j]);
}
if (j === 'isSubBill') {
if(v[j] == 1){
return '子单';
}else{
return '主单';
}
}
if (j === 'blMessage') {
if(v[j] == 1){
return '发送';
}else{
return '不发送';
}
}
if (j === 'blAcceptMessage') {
if(v[j] == 1){
return '发送';
}else{
return '不发送';
}
}
if (j === 'blSign') {
if(v[j] == 1){
return '已签收';
}else{
return '未签收';
}
}
if (j === 'paymentType') {
return this.selectDictLabel(this.dict.type.emis_payment_type,v[j]);
}
return v[j]
}))
},
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1

View File

@ -20,16 +20,17 @@
<EmisSiteSimplePicker v-model="queryParams.scanSiteCode" @onChange="onScanSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
<el-form-item :label="$t('下一网点')" prop="preOrNextStation" label-width="100px">
<EmisSiteSimplePicker v-model="queryParams.preOrNextStation" @onChange="onPreOrNextSiteSelect" ></EmisSiteSimplePicker>
<EmisSiteSimplePicker v-model="queryParams.preOrNextStationCode" @onChange="onPreOrNextSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
<el-form-item :label="$t('目的网点')" prop="destSiteCode" label-width="100px">
<EmisSiteSimplePicker v-model="queryParams.destSiteCode" @onChange="onPreOrNextSiteSelect" ></EmisSiteSimplePicker>
<el-form-item :label="$t('目的网点')" prop="dispatchUnderlingSiteCode" label-width="100px">
<EmisSiteSimplePicker v-model="queryParams.params.dispatchUnderlingSiteCode" ></EmisSiteSimplePicker>
</el-form-item>
<el-form-item label="线路" prop="transLineType">
<TransLinePicker v-model="queryParams.transLineType" isInitiated="true" ></TransLinePicker>
<TransLinePicker v-model="queryParams.params.transLineType" isInitiated="true" ></TransLinePicker>
</el-form-item>
<el-form-item label="产品类型" prop="productType">
<TransProductPicker placeholder="产品类型" v-model="queryParams.productType" :transLineCode="queryParams.transLineType" ></TransProductPicker>
<TransProductPicker placeholder="产品类型" v-model="queryParams.params.productType" :transLineCode="queryParams.params.transLineType" ></TransProductPicker>
</el-form-item>
</el-col>
@ -112,39 +113,12 @@
</xd-table>
<!-- 添加或修改网点电子面单申请对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" v-dialogDrag :close-on-click-modal="false" append-to-body>
<el-row :gutter="0">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-col :span="8">
<el-form-item :label="$t('扫描网点')" prop="scanSiteCode" label-width="70px">
<EmisSiteSimplePicker key="2" v-model="modifyParams.scanSiteCode" @onChange="onModifyScanSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('上/下一网点')" prop="preOrNextStationCode" label-width="90px">
<EmisSiteSimplePicker key="3" v-model="modifyParams.preOrNextStationCode" @onChange="onModifyPreOrNextSiteSelect" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('扫描员工')" prop="scanManCode">
<EmisUserSimplePicker key="4" v-model="modifyParams.scanManCode" postCode="RSD" @onChange="onModifyStaffSelect" ></EmisUserSimplePicker>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</XdPageContainer>
</template>
<script>
import { listEmisElectronicPagApply, getEmisElectronicPagApply, delEmisElectronicPagApply, addEmisElectronicPagApply, updateEmisElectronicPagApply } from "@/api/emis/emisElectronicPagApply";
import { listEmisTmsScanRecord, delEmisTmsScanRecord, updateEmisTmsScanRecord } from "@/api/emis/emisTmsScanRecord";
import { scanMonitorList,listEmisTmsScanRecord, delEmisTmsScanRecord, updateEmisTmsScanRecord } from "@/api/emis/emisTmsScanRecord";
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
@ -191,6 +165,8 @@ export default {
total: 0,
// 网点电子面单申请表格数据
scanRecordDataList: [],
selectionList:[],
// 弹出层标题
title: "",
// 是否显示弹出层
@ -232,9 +208,14 @@ export default {
scanSitePhone: null,
scanWeight: null,
weight: null,
preOrNextStation:null,
preOrNextStationCode:null,
dispatchOrSendMan: null,
dispatchOrSendManCode: null,
dispatchOrSendManPhone: null,
signDate: null,
signMan: null,
signSite: null,
@ -251,33 +232,18 @@ export default {
delFlag: null,
remark: null,
params:{
queryHasSendNotArrive:1,
scanQueryType:1,
dispatchUnderlingSiteCode:null,
transLineType:null,
productType:null
},//扩展参数
// scanSite:null,
queryType:"1",// 选择运单类型,默认为 运单号:1,订单号:0
// scanType:"",
isSubBill:"",
},
// 修改参数
modifyParams:{
scanSite:null,
scanSiteCode:null,
scanSitePhone:null,
preOrNextStation:null,
preOrNextStationCode:null,
preOrNextStationPhone:null,
scanMan:null,
scanManCode:null,
scanManPhone:null,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
}
};
},
created() {
@ -293,24 +259,13 @@ export default {
methods: {
initQueryParams(){
this.queryParams=this.addDateRange(this.queryParams, this.dateTimeRange,"scanDate");
let qParam=null;
if(this.queryParams.billCode){
qParam={
pageNum:this.queryParams.pageNum,
pageSize:this.queryParams.pageSize,
billCode:this.queryParams.billCode,
}
}else{
qParam=this.queryParams
}
return qParam;
return this.queryParams;
},
/** 查询扫描记录列表 */
getList() {
this.loading = true;
let qParam=this.initQueryParams();
listEmisTmsScanRecord(qParam).then(response => {
scanMonitorList(qParam).then(response => {
this.loading = false;
this.scanRecordDataList= response.rows;
this.total = response.total;
@ -319,7 +274,6 @@ export default {
// 取消按钮
cancel() {
this.open = false;
this.resetModifyParams();
},
onScanSiteSelect(item){
this.queryParams.scanSite=item && item.siteName;
@ -336,77 +290,8 @@ export default {
onDateSelect(value){
this.dateTimeRange=value;
},
onModifyScanSiteSelect(item){
this.modifyParams.scanSite=item.siteName;
this.modifyParams.scanSiteCode = item.siteCode
this.modifyParams.scanSitePhone = item.scanSitePhone;
},
onModifyPreOrNextSiteSelect(item){
this.modifyParams.preOrNextStation=item.siteName;
this.modifyParams.preOrNextStationCode=item.siteCode;
this.modifyParams.preOrNextStationPhone=item.preOrNextStationPhone;
},
onModifyStaffSelect(item){
this.modifyParams.scanMan=item.empName;
this.modifyParams.scanManCode=item.empCode;
// this.modifyParams.scanManPhone=item.scanManPhone;
},
//删除
clearSelectionBatch(){
let newList =[];
console.log(this.ids)
this.scanRecordDataList.forEach(item=>{
if(this.ids.indexOf(item.id) == -1){
newList.push(item);
}
});
this.scanRecordDataList = newList;
},
// 表单重置
reset() {
this.form = {
id: null,
applySeq: null,
applyDate: getDateTimeToString(new Date()),
provideType: null,
applyName: null,
applyMan: null,
applyManCode: null,
applySite: null,
applySiteCode: null,
unitMoney: null,
applyCount: null,
sumMoney: null,
blSend: null,
sendDate: null,
sendMan: null,
sendManCode: null,
sendSite: null,
sendSiteCode: null,
blCancel: null,
cancelMan: null,
cancelManCode: null,
cancelDate: null,
cancelSite: null,
cancelSiteCode: null,
userSite: null,
userSiteCode: null,
startNo: null,
endNo: null,
curStartNo: null,
hasBillCount: null,
blAllowAllocate: null,
createSiteCode: null,
modifySiteCode: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -438,6 +323,7 @@ export default {
},
// 多选框选中数据
handleSelectionChange(selection) {
this.selectionList=selection;
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
@ -530,9 +416,6 @@ export default {
this.openForm = false;
this.getList();
},
cancelForm(){
this.openForm = false;
},
/** 删除按钮操作 */
handleDelete() {
const ids = this.ids
@ -639,15 +522,7 @@ export default {
</script>
<style lang="scss" scoped>
.el-divider{
margin-top: 0px;
background: 0 0;
border-top: 1px solid #E6EBF5;
}
.el-divider__text {
color: #0955ee;
cursor: pointer;
}
.query-label {
.el-radio{
display: block;

View File

@ -38,11 +38,12 @@
</el-col>
</el-row >
</el-form>
<!-- slot-scope="slotProps"
:height="(slotProps.contentHeight-100)+'px'" -->
<xd-table
slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight-100)+'px'"
height="calc(100vh - 20rem)"
ref="refTable"

View File

@ -1,9 +1,11 @@
<template>
<XdPageContainer>
<!-- slot-scope="slotProps"
:height="(slotProps.contentHeight-60)+'px'" -->
<xd-table
slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight-60)+'px'"
height="calc(100vh - 20rem)"
v-loading="loading"
border

View File

@ -259,7 +259,7 @@
<el-option key="1" label="已上传" value="1"></el-option>
<el-option key="0" label="未上传" value="0"></el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
</SearchForm>