This commit is contained in:
liuyp 2024-06-24 13:40:57 +08:00
commit e06af25dc2
107 changed files with 298 additions and 668 deletions

View File

@ -198,7 +198,7 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
// .el-upload--picture-card 控制加号部分 // .el-upload--picture-card 控制加号部分
:deep.hide .el-upload--picture-card { :deep .hide .el-upload--picture-card {
display: none; display: none;
} }
// 去掉动画效果 // 去掉动画效果

View File

@ -186,7 +186,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.mini-form { .mini-form {
:deep.el-form-item--mini.el-form-item { :deep .el-form-item--mini.el-form-item {
margin-bottom: 10px; margin-bottom: 10px;
} }
} }

View File

@ -1,391 +0,0 @@
<template>
<div class="xd-table">
<div class="table-operate-btn-content" v-show="showOperateButton">
<!-- toolbar -->
<slot name="operateBtnContent">
<div class="operate-btn-content">
<slot name="toolbar">
<div />
</slot>
<div class="top-right-btn" v-show="showRightButton">
<el-row>
<el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">
<el-button size="mini" circle icon="el-icon-search" @click="toggleSearch()" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="刷新" placement="top">
<el-button size="mini" circle icon="el-icon-refresh" @click="refresh()" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="间距" placement="top">
<el-dropdown size="mini" @command="(command) => handleAdjustTableSize(command)">
<el-button size="mini" circle style="margin-left: 10px;" class="icon iconfont icon-hangjianju" />
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="small" >中等</el-dropdown-item>
<el-dropdown-item command="mini" >紧凑</el-dropdown-item>
<el-dropdown-item command="medium" >宽松</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="显隐列" placement="top" v-if="canHideColumns">
<el-popover
placement="bottom-end"
popper-class="table-cloumn-setting-popper"
trigger="click"
:show-arrow="false"
>
<div class="setting-row-content">
<div style="text-align:right;display: inline-flex;width:180px;border-bottom: 1px solid #d5d4d438;padding: 0px 0px 10px 0px;">
<!-- <el-button @click="delAllStorage">恢复系统表格设置</el-button>
<el-button @click="delStorage">恢复当前表格设置</el-button> -->
<div style="text-align: left;width: 50%;line-height: 30px;">显示列</div>
<div style="text-align: right;width: 50%;"><el-button type="text" size="mini" plain @click="delAllStorage" >重置</el-button></div>
</div>
<draggable v-model="storageList"
ghostClass="drag-ghost"
chosenClass="drag-chosen"
:animation="500"
handle=".el-icon-s-operation"
@end="updateTable">
<div v-for="clo in storageList" :key="clo.label" class="setting-row">
<!-- <i class="el-icon-s-operation" /> -->
<i class="el-icon-s-operation icon iconfont icon-ui_drag_horizontally" />
<el-checkbox v-model="clo.show" class="label" @change="showOrHidden($event,clo)">{{ clo.label }}</el-checkbox>
<!-- <el-button
class="btn"
size="mini"
:type="clo.fixed === 'left' ? 'primary' : 'default'"
@click="setFixed('left',clo)"
>K</el-button> -->
<!-- <el-button
class="btn"
size="mini"
:type="clo.fixed === 'right' ? 'primary' : 'default'"
@click="setFixed('right',clo)"
>固定在右侧</el-button> -->
</div>
</draggable>
</div>
<el-button style="margin-left: 10px;" slot="reference" size="mini" circle icon="el-icon-menu" />
</el-popover>
</el-tooltip>
<!-- <el-tooltip class="item" effect="dark" content="导出" placement="top" v-if="download!=null">
<el-button size="mini" circle icon="el-icon-download" @click="download()" />
</el-tooltip> -->
</el-row>
</div>
</div>
</slot>
</div>
<div>
<orig-table ref="table"
:config="config" />
<pagination
v-show="total>0"
:total="total"
:page-sizes="[10,20,50,100,300,500,1000,2000,5000]"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page-size="queryParams.pageSize"
@pagination="queryTable"
/>
</div>
</div>
</template>
<script>
import Sortable from 'sortablejs'
import draggable from 'vuedraggable'
import origTable from './table.jsx'
// import setHeight from '@/mixins/setHeight'
const components = { origTable, draggable }
export default {
name: 'XadvTable',
components,
// mixins: [setHeight],
props: {
showSearch: {
type: Boolean,
default: true,
},
canHideColumns: {
type: Boolean,
default: true,
},
storageName: {
type: String,
required: false
},
queryParams:{
type: Object,
default: {},
},
total:{
type: Number,
default: 0,
},
showRightButton:{
type: Boolean,
default: true,
},
showOperateButton:{
type: Boolean,
default: true,
},
},
data() {
return {
// 弹出层标题
title: "显示/隐藏",
// 是否显示弹出层
open: false,
showTable: false,
popVisible:false,
storageList: [],
tbSize:"",
name: '',
config: {
children: [],
attrs: {size:"small"},
listeners: {},
key: ''
},
selection: [],
startX: null,
startY: null,
endX: null,
endY: null,
}
},
watch: {
'$attrs': {
handler(newV) {
this.$set(this.config, 'attrs', newV)
},
deep: true,
immediate: true
}
},
mounted() {
this.initStorage()
this.updateTable()
this.initSort();
},
methods: {
// 动态列渲染表格时,需要在列渲染完成后重新渲染一下表格
reload() {
this.$nextTick(() => {
this.initStorage()
this.updateTable()
this.initSort();
})
},
download(){
this.$emit("download");
},
initSort() {
},
// 查询
queryTable(){
this.$emit("queryTable");
},
// 显示搜索
toggleSearch() {
this.$emit("update:showSearch", !this.showSearch);
},
// 刷新
refresh() {
this.$emit("queryTable");
},
// 打开显隐列
showColumn() {
this.open = true;
},
getInstance() {
// const ref = this.$children.find(i => i.$options._componentTag === 'el-table')
// return ref
return this.$refs.table.$refs?.elTable
},
delStorage() {
// this.$confirm('恢复当前表格设置将清除当前表格设置并刷新页面是否继续?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// const storage = window.localStorage.getItem('tableStorage') ? JSON.parse(window.localStorage.getItem('tableStorage')) : {}
// storage[this.storageName] = []
// window.localStorage.setItem('tableStorage', JSON.stringify(storage))
// location.reload()
// })
},
delAllStorage() {
// this.$confirm('恢复系统表格设置将清除当前表格设置并刷新页面是否继续?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// window.localStorage.removeItem('tableStorage')
// location.reload()
// })
window.localStorage.removeItem('tableStorage');
this.reload();
},
showOrHidden(val, clo) {
if (!val && this.storageList.filter(i => i.show).length === 0) {
this.$message.warning('列表最少显示一列')
this.$nextTick(() => {
clo.show = true
})
return
}
this.updateTable()
},
setFixed(value, clo) {
if (clo.fixed === value) {
clo.fixed = false
} else {
clo.fixed = value
}
this.updateTable()
},
// 更多操作触发
handleAdjustTableSize(command) {
//size:mini/small/medium;
// console.log(this.config);
switch (command) {
case "small":
this.config.attrs.size='small';
break;
case "mini":
this.config.attrs.size='mini';
break;
case "medium":
this.config.attrs.size='medium';
break;
default:
break;
}
this.updateTable();
},
// 初始化缓存配置
initStorage() {
this.storageList = []
let list = [];
const storage = window.localStorage.getItem('tableStorage') ? JSON.parse(window.localStorage.getItem('tableStorage')) : {}
// 不管是否初次还是要做一下处理,万一页面有修改,做一下更新,以最新的node节点数组为准
if(this.storageName!=undefined && this.storageName!=''){
list = storage[this.storageName] ? storage[this.storageName] : []
}
// let list = storage[this.storageName] ? storage[this.storageName] : []
this.$vnode.componentOptions.children.forEach(node => {
// 以label为准,因为可能会改文本
if (!(!node.componentOptions || node.componentOptions.propsData.type) && list.findIndex(i => i.label === node.componentOptions.propsData.label) < 0) {
// 非插槽且 不是特殊类型的 找不到就加上
const propsData = JSON.parse(JSON.stringify(node.componentOptions.propsData))
if (propsData.fixed === undefined || propsData.fixed === false) {
propsData.fixed = false
} else {
propsData.fixed = propsData.fixed ? propsData.fixed : 'left'
}
list.push({
fixed: false, // 默认新增的都是不固定
show: true, // 默认新增的都是显示的
...propsData
})
}
})
// 必须在节点数组存在的才有意义
list = list.filter(item => this.$vnode.componentOptions.children.find(n => {
return n.componentOptions && item.label === n.componentOptions.propsData.label
}))
this.storageList = list
},
// 根据缓存的数组进行渲染表格
updateTable() {
// 特殊类型
const childrenNodes = this.$vnode.componentOptions.children.filter(node => node.componentOptions && node.componentOptions.propsData.type)
this.storageList.forEach(item => {
if (item.show) {
const node = this.$vnode.componentOptions.children.find(n => n.componentOptions && n.componentOptions.propsData.label === item.label)
if (node) {
node.componentOptions.propsData.fixed = item.fixed
childrenNodes.push(node)
}
}
})
this.config.children = childrenNodes
this.config.attrs = this.$attrs
this.config.listeners = this.$listeners
// 通过key值触发表格刷新,避免拖拽由于数组长度一致导致diff算法无法识别
this.config.key = Math.random() + ''
// 控制下表格重新刷新
// this.getInstance()?.doLayout()
const storage = window.localStorage.getItem('tableStorage') ? JSON.parse(window.localStorage.getItem('tableStorage')) : {}
storage[this.storageName] = this.storageList
window.localStorage.setItem('tableStorage', JSON.stringify(storage))
}
}
}
</script>
<style lang="scss" scoped>
.table-cloumn-setting-popper{
.setting-row-content{
max-height: 600px;
overflow-y: auto;
.setting-row{
height: 30px;
line-height: 30px;
.el-icon-s-operation{
cursor: move;
font-size: 16px;
margin-right: 8px;
}
.label{
margin-right: 8px;
}
.btn{
padding: 4px!important;
}
}
}
}
.xd-table{
width:100%;
height:100%;
position: relative;
.el-icon-setting{
position: absolute;
right: 7px;
top: 5px;
cursor: pointer;
}
.table-operate-btn-content{
// width: calc(100% - 40px);
width: 100%;
// min-height: 28px; // 给一个最低的高度,防止没有插槽,右侧icon被吞
min-height: 40px; // 给一个最低的高度,防止没有插槽,右侧icon被吞
.operate-btn-content {
display: flex;
justify-content: space-between;
align-items: center;
min-height: 28px;
padding-bottom: 6px;
}
}
}
.drag-ghost { background-color: #e7e7e77d; }
.drag-chosen { background-color: #e7e7e77d; }
.pagination-container{
padding: 0px 20px !important;
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="xd-table"> <div class="xd-table" :id="tableId">
<div class="table-operate-btn-content" v-show="showOperateButton"> <div class="table-operate-btn-content" v-show="showOperateButton">
<!-- toolbar --> <!-- toolbar -->
@ -168,8 +168,6 @@
<el-button size="mini" @click="openTbShowTplDlg = false">关 闭</el-button> <el-button size="mini" @click="openTbShowTplDlg = false">关 闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -256,10 +254,11 @@ export default {
// 增加图层 // 增加图层
var tbBody1=document.getElementsByClassName("el-table__body-wrapper")[0]; var xdTableObj = document.getElementById(vnode.context.tableId);
var tbBody1=xdTableObj.getElementsByClassName("el-table__body-wrapper")[0];
var selDiv = document.createElement("div"); var selDiv = document.createElement("div");
selDiv.style.cssText = "position:absolute;width:0px;height:0px;font-size:0px;margin:0px;padding:0px;border:2px solid #409eff;background-color:#d9ecff;z-index:1000;filter:alpha(opacity:60);opacity:0.6;display:none;"; selDiv.style.cssText = "position:absolute;width:0px;height:0px;font-size:0px;margin:0px;padding:0px;border:2px solid #409eff;background-color:#d9ecff;z-index:1000;filter:alpha(opacity:60);opacity:0.6;display:none;";
selDiv.id = "selectDiv"; selDiv.id = "selectDiv-"+vnode.context.tableId;
tbBody1.appendChild(selDiv); tbBody1.appendChild(selDiv);
// 表格对象 // 表格对象
@ -315,7 +314,8 @@ export default {
//重置选中css //重置选中css
for (var i = 0; i < fileNodes.length; i++) { for (var i = 0; i < fileNodes.length; i++) {
if (fileNodes[i].className.indexOf("el-table__cell") != -1) { if (fileNodes[i].className.indexOf("el-table__cell") != -1) {
fileNodes[i].className = "el-table__cell"; // fileNodes[i].className = "el-table__cell";
fileNodes[i].classList.remove("seled");
selList.push(fileNodes[i]); selList.push(fileNodes[i]);
} }
} }
@ -360,8 +360,6 @@ export default {
if (sl > _l && st > _t && selList[i].offsetLeft < _l + _w && selList[i].offsetTop < _t + _h) { if (sl > _l && st > _t && selList[i].offsetLeft < _l + _w && selList[i].offsetTop < _t + _h) {
if (selList[i].className.indexOf("seled") == -1) { if (selList[i].className.indexOf("seled") == -1) {
selList[i].className = selList[i].className + " seled"; selList[i].className = selList[i].className + " seled";
// console.log("===>tst==i>",i);
const cellInfo=getCellPosition(selList[i]); const cellInfo=getCellPosition(selList[i]);
vnode.context.multipleSelection.push(cellInfo); vnode.context.multipleSelection.push(cellInfo);
@ -375,7 +373,9 @@ export default {
} }
} else { } else {
if (selList[i].className.indexOf("seled") != -1 ) { if (selList[i].className.indexOf("seled") != -1 ) {
selList[i].className = "el-table__cell"; // selList[i].className = "el-table__cell";
selList[i].classList.remove("seled");
} }
} }
} }
@ -469,9 +469,10 @@ export default {
document.onmouseup = function () { document.onmouseup = function () {
//把鼠标移动事初始化 //把鼠标移动事初始化
document.onmousemove=null; document.onmousemove=null;
var selDiv=document.getElementById("selectDiv"); var xdTableObj = document.getElementById(vnode.context.tableId);
var selDiv=document.getElementById("selectDiv-"+vnode.context.tableId);
if (selDiv) { if (selDiv) {
document.getElementsByClassName("el-table__body-wrapper")[0].removeChild(selDiv); xdTableObj.getElementsByClassName("el-table__body-wrapper")[0].removeChild(selDiv);
} }
selList = null, _x = null, _y = null, selDiv = null, startX = null, startY = null, evt = null; selList = null, _x = null, _y = null, selDiv = null, startX = null, startY = null, evt = null;
vnode.context.mouseflag = false; vnode.context.mouseflag = false;
@ -484,6 +485,7 @@ export default {
}, },
data() { data() {
return { return {
tableId:"XdTable"+Math.random().toString(36).substring(3,10),
// 弹出层标题 // 弹出层标题
title: "显示/隐藏", title: "显示/隐藏",
// 是否显示弹出层 // 是否显示弹出层
@ -528,7 +530,6 @@ export default {
currentCellInfo:null, currentCellInfo:null,
currentSelectStr:null, currentSelectStr:null,
// 表格个性化记忆配置 // 表格个性化记忆配置
isNeedDbSaveTpl:false, isNeedDbSaveTpl:false,
fullUrl:null, fullUrl:null,
@ -571,6 +572,9 @@ export default {
this.tableDom=this.getTableDom(); this.tableDom=this.getTableDom();
}, },
methods: { methods: {
getUUID() {
return Math.random().toString(36).substring(3,10);
},
setTbShowTpl(){ setTbShowTpl(){
this.openTbShowTplDlg=true; this.openTbShowTplDlg=true;
}, },
@ -978,10 +982,9 @@ export default {
:deep .seled{ :deep .seled{
// background-color: #f3f3f3; background-color: #d9ecff7d !important;
// background-color: #d0d0d0; color: black;
background-color: #dcdcdc!important; font-weight: 600;
// background-color: #f00202!important;
} }

View File

@ -106,7 +106,7 @@
<div>扫二维码下载 探路国际速运APP</div> <div>扫二维码下载 探路国际速运APP</div>
</div> </div>
<div style="width: 100%;height: 100%;text-align:center;"> <div style="width: 100%;height: 100%;text-align:center;">
<QrCodeImage width="220" height="220" style="width: 220px;margin:auto" id="shareQrCodeImage" :text="appUrl" logoImage="@/assets/logo/short_logo.png"/> <QrCodeImage width="220" height="220" style="width: 220px;margin:auto" id="shareQrCodeImage" :text="appUrl" />
</div> </div>
</div> </div>
</el-dialog> </el-dialog>

View File

@ -287,6 +287,12 @@ export default {
ownerSiteCode: [ ownerSiteCode: [
{ required: true, message: "所属网点不能为空", trigger: "blur" } { required: true, message: "所属网点不能为空", trigger: "blur" }
], ],
ownerSiteCode: [
{ required: true, message: "部门不能为空", trigger: "blur" }
],
ownerSiteCode: [
{ required: true, message: "角色不能为空", trigger: "blur" }
],
password: [ password: [
{ required: true, message: "员工密码不能为空", trigger: "blur" }, { required: true, message: "员工密码不能为空", trigger: "blur" },
{ min: 5, max: 20, message: '员工密码长度必须介于 5 和 20 之间', trigger: 'blur' } { min: 5, max: 20, message: '员工密码长度必须介于 5 和 20 之间', trigger: 'blur' }
@ -316,12 +322,12 @@ export default {
}, },
created() { created() {
this.initData(); this.initData();
// this.getConfigKey("sys.user.initPassword").then(response => { this.getConfigKey("sys.user.initPassword").then(response => {
// if(this.userId == null) { if(this.userId == null) {
// this.initPassword = response.msg; this.initPassword = response.msg;
// this.form.password = this.initPassword; // this.form.password = this.initPassword;
// } }
// }); });
}, },
methods: { methods: {
@ -335,7 +341,7 @@ export default {
this.roleOptions = response.roles; this.roleOptions = response.roles;
this.open = true; this.open = true;
this.title = "添加用户"; this.title = "添加用户";
// this.form.password = this.initPassword; this.form.password = this.initPassword;
}); });
}else{ }else{
getUser(this.userId).then(response => { getUser(this.userId).then(response => {

View File

@ -57,7 +57,7 @@
<el-tag v-if="scope.row.uploadStatus==-1" type="danger">下单异常</el-tag> <el-tag v-if="scope.row.uploadStatus==-1" type="danger">下单异常</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('异常信息')" align="left" prop="errorInfo" min-width="120" :show-overflow-tooltip="true" > <el-table-column :label="$t('异常信息')" align="center" prop="errorInfo" min-width="300" :show-overflow-tooltip="true" >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.uploadStatus==-1" style="color:red">{{ scope.row.errorInfo }}</span> <span v-if="scope.row.uploadStatus==-1" style="color:red">{{ scope.row.errorInfo }}</span>
<span v-if="scope.row.uploadStatus==1">下单成功</span> <span v-if="scope.row.uploadStatus==1">下单成功</span>
@ -71,7 +71,7 @@
<el-table-column :label="$t('产品类型')" align="center" prop="productType" min-width="80" :show-overflow-tooltip="true"/> <el-table-column :label="$t('产品类型')" align="center" prop="productType" min-width="80" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('取件方式')" align="center" prop="pickupMethod" width="100" /> <el-table-column :label="$t('取件方式')" align="center" prop="pickupMethod" width="100" />
<el-table-column :label="$t('快递员')" align="center" prop="operateEmployeeCode" min-width="100"/> <el-table-column :label="$t('取件员/操作员')" align="center" prop="operateEmployeeCode" min-width="100"/>
<el-table-column :label="$t('报关方式')" align="center" prop="customsEclaration" min-width="80" /> <el-table-column :label="$t('报关方式')" align="center" prop="customsEclaration" min-width="80" />
<el-table-column :label="$t('清关方式')" align="center" prop="customsClear" min-width="80" /> <el-table-column :label="$t('清关方式')" align="center" prop="customsClear" min-width="80" />
<el-table-column :label="$t('回款联系人')" align="center" prop="payee" min-width="100" /> <el-table-column :label="$t('回款联系人')" align="center" prop="payee" min-width="100" />
@ -95,6 +95,9 @@
<el-table-column :label="$t('寄件区')" align="center" prop="sendCounty" min-width="80" :show-overflow-tooltip="true"/> <el-table-column :label="$t('寄件区')" align="center" prop="sendCounty" min-width="80" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('寄件地址')" align="center" prop="sendAddress" min-width="80" :show-overflow-tooltip="true"/> <el-table-column :label="$t('寄件地址')" align="center" prop="sendAddress" min-width="80" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('月结客户')" align="center" prop="custNo" min-width="80" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('寄件/签收短信')" align="center" prop="blMessage" min-width="80" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('货物名称')" align="center" prop="goodsInfo" min-width="80" :show-overflow-tooltip="true"/> <el-table-column :label="$t('货物名称')" align="center" prop="goodsInfo" min-width="80" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('包装类型')" align="center" prop="packType" min-width="80" /> <el-table-column :label="$t('包装类型')" align="center" prop="packType" min-width="80" />
<el-table-column :label="$t('件数')" align="center" prop="parcelQty" min-width="80" /> <el-table-column :label="$t('件数')" align="center" prop="parcelQty" min-width="80" />
@ -456,12 +459,14 @@ export default {
// 运单号 收件人 收件电话 收件国 收件省 收件市 收件区 收件公司 收件地址 // 运单号 收件人 收件电话 收件国 收件省 收件市 收件区 收件公司 收件地址
// 寄件人 寄件电话 寄件国 寄件省 寄件市 寄件区 寄件公司 寄件地址 // 寄件人 寄件电话 寄件国 寄件省 寄件市 寄件区 寄件公司 寄件地址
// 线路 产品类型 报关方式 清关方式 快递员 货物名称 包装类型 件数 实际重量 体积 // 线路 产品类型 报关方式 清关方式 快递员 货物名称 包装类型 件数 实际重量 体积
// 取件方式 派送方式 运费 支付方式 月结账号 回款联系人 销售联系人 费用备注 // 取件方式 派送方式 运费 支付方式 月结客户 回款联系人 销售联系人 费用备注
// 取件员/操作员
// 寄件/签收短信
let rowIndex=element['__rowNum__'] let rowIndex=element['__rowNum__']
let orderData={ let orderData={
billCode: element['运单号'], billCode: element['运单号'],
sendDate: parseTime(new Date()), sendDate: parseTime(new Date()),
custNo: element['月结账号'], custNo: element['月结客户'],
receiveName: element['收件人'], receiveName: element['收件人'],
receiveCompany:element['收件公司'], receiveCompany:element['收件公司'],
receiveMobile:element['收件电话'], receiveMobile:element['收件电话'],
@ -495,8 +500,10 @@ export default {
feeRemark:element['费用备注'], feeRemark:element['费用备注'],
payee: element['回款联系人'], payee: element['回款联系人'],
salesmen: element['销售联系人'], salesmen: element['销售联系人'],
operateEmployeeCode: element['快递员'], operateEmployeeCode: element['取件员/操作员'],
remark: element['录单备注'], remark: element['录单备注'],
blMessage: element['寄件/签收短信'],
uploadStatus: 0, uploadStatus: 0,
errorInfo:'', errorInfo:'',
} }

View File

@ -665,6 +665,7 @@ export default {
billCode:null, billCode:null,
openTraceInfo:false, openTraceInfo:false,
currentTraceBillItem:null,
currentTraceBillCode:null, currentTraceBillCode:null,
dateRange:[], dateRange:[],
@ -891,8 +892,10 @@ export default {
return ''; return '';
}, },
handleShowTraceInfo(row){ handleShowTraceInfo(row){
this.currentTraceBillCode=row.billCode; this.currentTraceBillCode=row.billCode;
this.currentTraceBillItem=row;
this.openTraceInfo=true; this.openTraceInfo=true;
}, },
/** 查询运单列表列表 */ /** 查询运单列表列表 */

View File

@ -665,6 +665,7 @@ export default {
billCode:null, billCode:null,
openTraceInfo:false, openTraceInfo:false,
currentTraceBillItem:null,
currentTraceBillCode:null, currentTraceBillCode:null,
dateRange:[], dateRange:[],

View File

@ -621,8 +621,6 @@ import WaybillDetailReadOnly from '@/views/emis/emisWaybill/waybillDetailReadOnl
import TraceWaybillDetailView from '@/views/emis/customerService/traceWaybillDetailView.vue'; import TraceWaybillDetailView from '@/views/emis/customerService/traceWaybillDetailView.vue';
import XdTableAdv from "@/components/XdTable/index_adv.vue";
import {timeDiffTime,timeFormat} from '@/utils/dateUtils' import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
@ -654,8 +652,6 @@ export default {
WaybillDetailReadOnly, WaybillDetailReadOnly,
XdTableAdv
}, },
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear', dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type', 'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',

View File

@ -1720,9 +1720,11 @@ methods: {
} }
let totalFee=0; let totalFee=0;
if(this.form.feeItems&&this.form.feeItems.length>0){
this.form.feeItems.forEach(item=>{ this.form.feeItems.forEach(item=>{
totalFee=totalFee+parseInt(item.realFee); totalFee=totalFee+parseInt(item.realFee);
}); });
}
this.form.freight = totalFee; this.form.freight = totalFee;
}, },
// 计算体积重量 // 计算体积重量

View File

@ -1720,9 +1720,11 @@ methods: {
} }
let totalFee=0; let totalFee=0;
if(this.form.feeItems&&this.form.feeItems.length>0){
this.form.feeItems.forEach(item=>{ this.form.feeItems.forEach(item=>{
totalFee=totalFee+parseInt(item.realFee); totalFee=totalFee+parseInt(item.realFee);
}); });
}
this.form.freight = totalFee; this.form.freight = totalFee;
}, },
// 计算体积重量 // 计算体积重量

View File

@ -60,6 +60,7 @@
border border
ref="singleSelectTable" ref="singleSelectTable"
size="small" size="small"
storageName="emisTransferList_main"
:data="emisTransferList" :data="emisTransferList"
:showSearch.sync="showSearch" :showSearch.sync="showSearch"
:queryParams="queryParams" :queryParams="queryParams"