This commit is contained in:
aihe 2024-06-13 15:01:03 +08:00
parent c4a8a0cf49
commit ee9273a124
6 changed files with 217 additions and 161 deletions

54
common/authCode.js Normal file
View File

@ -0,0 +1,54 @@
const authCodeEnum = {
lanShou: 'emis:app:scan:10', // 揽收
faJianScan: 'emis:app:scan:20', // 发件
daoJianScan: 'emis:app:scan:30', // 到件
paiJianScan: 'emis:app:scan:40', // 派件
qianShouScan: 'emis:app:scan:50', // 签收
fenBoFaJianScan: 'emis:app:scan:31', // 分拨发件
daoPaiScan: 'emis:app:scan:3040', // 到派扫描
zhuangCheScan: 'emis:app:scan:301', // 装车
zhengCheScan: 'emis:app:scan:3012', // 整车
zhuangGuiScan: 'emis:app:scan:3011', // 装柜
xieCheScan: 'emis:app:scan:302', // 卸车
liuCangScan: 'emis:app:scan:70', // 留仓
zhuanJianScan: 'emis:app:scan:80', // 转件
heBaoScan: 'emis:app:scan:200', // 合包
chaiBaoScan: 'emis:app:scan:201', // 拆包
qingGuanScan: 'emis:app:scan:800', // 清关
baoGUanScan: 'emis:app:scan:700', // 报关
faJianQingDan: 'emis:app:scan:sendList', // 发件清单
daoJianQingDan: 'emis:app:scan:receiveList', // 到件清单
paiJianQingDan: 'emis:app:scan:dispatchList', // 派件清单
yunDanLuRu: 'emis:app:op:addWaybill', // 运单录入
yunDanXiuGai: 'emis:app:op:modifyWaybill', // 运单修改
mianDanDaYin: 'emis:app:op:printBill', // 面单打印
kuaiJianGenZong: 'emis:app:op:traceBill', // 快件跟踪
baoJiaShiSuan: 'emis:app:op:preCalcFee', // 报价试算
shouHuoRuCang: 'emis:app:op:warehouseIn', // 收货入仓
jinCangChaXun: 'emis:app:op:warehouseInQuery', // 进仓查询
woDeRenWu: 'emis:app:op:myTask', // 我的任务
jiTiMingXi: 'emis:app:op:preProfitList' , // 计提明细
yeWuTongJi: 'emis:app:op:bizStatList', // 业务统计
jiTiYuGu: 'emis:app:op:preProfit', // 计提预估
daiHuiKuan: 'emis:app:op:waitNeedCustomerPay', // 待回款
dingDanGaiKuang: 'emis:app:op:waybillStatInfo' , // 订单概况
}
const getAuthList = ({ _thisPage, list = [] })=> {
let permissions = _thisPage.$store.getters.userInfo?.permissions || []
let newList = list.filter(t=> {
let bl = true
if(t.code) {
bl = permissions.indexOf(t.code) > -1
}
return bl
})
return newList
}
export {
getAuthList,
authCodeEnum
}

View File

@ -1,4 +1,5 @@
import getCdnUrl from "./getCdnUrl.js"
import { authCodeEnum } from "./authCode"
const dateTypeEnum = {
week: 1,
@ -35,43 +36,6 @@ const addressNameCodeMap = [
{ nameKey: 'townName', codeKey: 'town' }
]
const authCodeEnum = {
lanShou: 'emis:app:scan:10', // 揽收
faJianScan: 'emis:app:scan:20', // 发件
daoJianScan: 'emis:app:scan:30', // 到件
paiJianScan: 'emis:app:scan:40', // 派件
qianShouScan: 'emis:app:scan:50', // 签收
fenBoFaJianScan: 'emis:app:scan:31', // 分拨发件
daoPaiScan: 'emis:app:scan:3040', // 到派扫描
zhuangCheScan: 'emis:app:scan:301', // 装车
zhengCheScan: 'emis:app:scan:3012', // 整车
zhuangGuiScan: 'emis:app:scan:3011', // 装柜
xieCheScan: 'emis:app:scan:302', // 卸车
liuCangScan: 'emis:app:scan:70', // 留仓
zhuanJianScan: 'emis:app:scan:80', // 转件
heBaoScan: 'emis:app:scan:200', // 合包
chaiBaoScan: 'emis:app:scan:201', // 拆包
qingGuanScan: 'emis:app:scan:800', // 清关
baoGUanScan: 'emis:app:scan:700', // 报关
faJianQingDan: 'emis:app:scan:sendList', // 发件清单
daoJianQingDan: 'emis:app:scan:receiveList', // 到件清单
paiJianQingDan: 'emis:app:scan:dispatchList', // 派件清单
yunDanLuRu: 'emis:app:op:addWaybill', // 运单录入
yunDanXiuGai: 'emis:app:op:modifyWaybill', // 运单修改
mianDanDaYin: 'emis:app:op:printBill', // 面单打印
kuaiJianGenZong: 'emis:app:op:traceBill', // 快件跟踪
baoJiaShiSuan: 'emis:app:op:preCalcFee', // 报价试算
shouHuoRuCang: 'emis:app:op:warehouseIn', // 收货入仓
jinCangChaXun: 'emis:app:op:warehouseInQuery', // 进仓查询
woDeRenWu: 'emis:app:op:myTask', // 我的任务
jiTiMingXi: 'emis:app:op:preProfitList' , // 计提明细
yeWuTongJi: 'emis:app:op:bizStatList', // 业务统计
jiTiYuGu: 'emis:app:op:preProfit', // 计提预估
daiHuiKuan: 'emis:app:op:waitNeedCustomerPay', // 待回款
dingDanGaiKuang: 'emis:app:op:waybillStatInfo' , // 订单概况
}
const dealBtnMap = {
lanShou: { title: '揽收扫描', subTitle: "", icon: getCdnUrl(`home/lshsm.png`), url: 'deliveryDeal/pickUp', code: authCodeEnum.lanShou },
@ -114,8 +78,8 @@ export {
addressNameCodeMap,
dateRangeList,
pageEventNames,
authCodeEnum,
dealBtnMap,
dateTypeEnum,
dateTypeList,
authCodeEnum,
}

View File

@ -7,15 +7,16 @@
<view class="font-32 font-weight">网点发件</view>
<view class="mt-10">
<u-row justify="start" gutter="18" custom-style="flex-wrap: wrap;">
<buns-auth v-for="(item, index) in faBtnlist" :code="item.code">
<u-col span="3" @click="goto(item.url)">
<view class="dlb-item">
<u-image height="46" width="46" :src="item.icon"></u-image>
<view class="pt-10 font-26">{{item.title}}</view>
</view>
</u-col>
</buns-auth>
<u-col v-for="(item, index) in faBtnlist" span="3" @click="goto(item.url)">
<view class="dlb-item">
<u-image height="46" width="46" :src="item.icon"></u-image>
<view class="pt-10 font-26">{{item.title}}</view>
</view>
</u-col>
</u-row>
<view v-if="faBtnlist.length == 0">
<tpx-empty size="sm"></tpx-empty>
</view>
</view>
</view>
@ -23,15 +24,16 @@
<view class="font-32 font-weight">网点到件</view>
<view class="mt-10">
<u-row justify="start" gutter="18" custom-style="flex-wrap: wrap;">
<buns-auth v-for="(item, index) in daoBtnlist" :code="item.code">
<u-col span="3" @click="goto(item.url)">
<view class="dlb-item">
<u-image height="46" width="46" :src="item.icon"></u-image>
<view class="pt-10 font-26">{{item.title}}</view>
</view>
</u-col>
</buns-auth>
<u-col v-for="(item, index) in daoBtnlist" span="3" @click="goto(item.url)">
<view class="dlb-item">
<u-image height="46" width="46" :src="item.icon"></u-image>
<view class="pt-10 font-26">{{item.title}}</view>
</view>
</u-col>
</u-row>
<view v-if="daoBtnlist.length == 0">
<tpx-empty size="sm"></tpx-empty>
</view>
</view>
</view>
@ -39,15 +41,16 @@
<view class="font-32 font-weight">其他</view>
<view class="mt-10">
<u-row justify="start" gutter="18" custom-style="flex-wrap: wrap;">
<buns-auth v-for="(item, index) in otherBtnlist" :code="item.code">
<u-col span="3" @click="goto(item.url)">
<view class="dlb-item">
<u-image height="46" width="46" :src="item.icon"></u-image>
<view class="pt-10 font-26">{{item.title}}</view>
</view>
</u-col>
</buns-auth>
<u-col v-for="(item, index) in otherBtnlist" span="3" @click="goto(item.url)">
<view class="dlb-item">
<u-image height="46" width="46" :src="item.icon"></u-image>
<view class="pt-10 font-26">{{item.title}}</view>
</view>
</u-col>
</u-row>
<view v-if="otherBtnlist.length == 0">
<tpx-empty size="sm"></tpx-empty>
</view>
</view>
</view>
</view>
@ -55,16 +58,12 @@
</template>
<script>
import { dealBtnMap } from "@/common/enum"
import { getAuthList, authCodeEnum } from "@/common/authCode"
export default {
props: {
// hasLeftWin: {
// type: Boolean
// }
},
data() {
return {
faBtnlist: [
computed: {
faBtnlist(){
let list = [
{ ...dealBtnMap.yunDanLuRu },
{ ...dealBtnMap.lanShou },
{ ...dealBtnMap.faJianScan },
@ -80,8 +79,12 @@
{ ...dealBtnMap.zhuangCheScan },
{ ...dealBtnMap.zhengCheScan },
{ ...dealBtnMap.mianDanDayin },
],
daoBtnlist: [
]
list = getAuthList({ list, _thisPage: this })
return list
},
daoBtnlist(){
let list = [
{ ...dealBtnMap.daoJianScan },
{...dealBtnMap.paiJianScan},
{ ...dealBtnMap.qianShouScan },
@ -92,8 +95,12 @@
{ ...dealBtnMap.liuCangScan },
{ ...dealBtnMap.zhuanJianScan },
{ ...dealBtnMap.jinCangChaXun }
],
otherBtnlist: [
]
list = getAuthList({ list, _thisPage: this })
return list
},
otherBtnlist(){
let list = [
{ ...dealBtnMap.kuaiJianGenZong },
{ ...dealBtnMap.woDeErWeiMa },
{ ...dealBtnMap.baoJiaShiSuan },
@ -101,6 +108,17 @@
{ ...dealBtnMap.mianDanDayin },
// { ...dealBtnMap.shuiFeiYuGu }
]
list = getAuthList({ list, _thisPage: this })
return list
},
},
props: {
// hasLeftWin: {
// type: Boolean
// }
},
data() {
return {
}
},
onShareAppMessage() {

View File

@ -44,10 +44,10 @@
</u-col>
</u-row>
<view class="com-jianju btnlist1">
<view v-if="staticDataList.length > 0" class="com-jianju btnlist1">
<u-row>
<u-col v-for="(mbItem, mIndex) in mainBtnlist" :span="6"
:custom-style="'border-right: 2rpx solid rgba(255,255,255,0.5);' + (mIndex+1 == mainBtnlist.length ?'border-right:0;': '')"
<u-col v-for="(mbItem, mIndex) in staticDataList" :span="6"
:custom-style="'border-right: 2rpx solid rgba(255,255,255,0.5);' + (mIndex+1 == staticDataList.length ?'border-right:0;': '')"
>
<u-row align="center" justify="center">
<image mode="aspectFit" style="width: 92rpx;height: 76rpx;" :src="mbItem.icon"/>
@ -83,15 +83,16 @@
</view>
<view class="btnlist2 com-jianju">
<u-row justify="start" gutter="18" custom-style="flex-wrap: wrap;">
<buns-auth v-for="tlItem in toolBtnlist" :code="tlItem.code">
<u-col span="3" @click="goto(tlItem.url)">
<view class="dlb-item">
<image :src="tlItem.icon" style="height: 46rpx;width: 46rpx" mode="aspectFit"/>
<view class="pt-20 font-26">{{tlItem.title}}</view>
</view>
</u-col>
</buns-auth>
<u-col v-for="tlItem in toolBtnlist" span="3" @click="goto(tlItem.url)">
<view class="dlb-item">
<image :src="tlItem.icon" style="height: 46rpx;width: 46rpx" mode="aspectFit"/>
<view class="pt-20 font-26">{{tlItem.title}}</view>
</view>
</u-col>
</u-row>
<view v-if="toolBtnlist.length == 0">
<tpx-empty size="sm"></tpx-empty>
</view>
</view>
</view>
@ -108,6 +109,7 @@
<script>
import { dealBtnMap } from "@/common/enum"
import * as apiService from "@/common/api"
import { getAuthList, authCodeEnum } from "@/common/authCode"
export default {
computed: {
@ -124,14 +126,36 @@
]
return list
},
mainBtnlist(){
staticDataList(){
let { commStat } = this.staticInfo
let list = [
{ title: '计提预估', subTitle: commStat.estMoney, icon: this.getCdnUrl(`home/jityugu.png`), url: '' },
{ title: '待回款', subTitle: commStat.waitPay, icon: this.getCdnUrl(`home/daihuikuan.png`), url: '' }
{ title: '计提预估', subTitle: commStat.estMoney, icon: this.getCdnUrl(`home/jityugu.png`), url: '', code: authCodeEnum.jiTiYuGu },
{ title: '待回款', subTitle: commStat.waitPay, icon: this.getCdnUrl(`home/daihuikuan.png`), url: '', code: authCodeEnum.daiHuiKuan }
]
list = getAuthList({ list, _thisPage: this })
return list
},
toolBtnlist(){
let list = [
{ ...dealBtnMap.lanShou },
{ ...dealBtnMap.shouHuo },
{ ...dealBtnMap.faJianScan },
{ ...dealBtnMap.daoJianScan },
{ ...dealBtnMap.yunDanLuRu },
{ ...dealBtnMap.qianShouScan },
{...dealBtnMap.fenBoScan},
{...dealBtnMap.paiJianScan},
{...dealBtnMap.yunDanXiuGai},
{ ...dealBtnMap.baoJiaShiSuan },
{ ...dealBtnMap.wenTiJian },
{ ...dealBtnMap.daoPaiScan },
{ ...dealBtnMap.woDeErWeiMa },
{ ...dealBtnMap.mianDanDayin },
{ ...dealBtnMap.kuaiJianGenZong }
]
list = getAuthList({ list, _thisPage: this })
return list
}
},
props: {
// hasLeftWin: {
@ -150,23 +174,6 @@
commStat: {},
orderStat: {},
},
toolBtnlist: [
{ ...dealBtnMap.lanShou },
{ ...dealBtnMap.shouHuo },
{ ...dealBtnMap.faJianScan },
{ ...dealBtnMap.daoJianScan },
{ ...dealBtnMap.yunDanLuRu },
{ ...dealBtnMap.qianShouScan },
{...dealBtnMap.fenBoScan},
{...dealBtnMap.paiJianScan},
{...dealBtnMap.yunDanXiuGai},
{ ...dealBtnMap.baoJiaShiSuan },
{ ...dealBtnMap.wenTiJian },
{ ...dealBtnMap.daoPaiScan },
{ ...dealBtnMap.woDeErWeiMa },
{ ...dealBtnMap.mianDanDayin },
{ ...dealBtnMap.kuaiJianGenZong }
]
}
},
onShareAppMessage() {

View File

@ -29,38 +29,31 @@
</view>
</u-row>
<view class="mt-40">
<view v-if="staticDataList.length > 0" class="mt-40">
<u-row justify="between">
<view style="flex: 1;text-align: center;">
<view class="clr-wht font-32 font-weight">
<text class="font-26">¥</text>
<tex>{{staticInfo.commStat.estMoney}}</tex>
<template v-for="(mbItem, mIndex) in staticDataList">
<view style="flex: 1;text-align: center;">
<view class="clr-wht font-32 font-weight">
<text class="font-26">¥</text>
<tex>{{mbItem.subTitle}}</tex>
</view>
<view class="pt-20 clr-wht font-26" style="opacity: 0.8;">{{mbItem.title}}</view>
</view>
<view class="pt-20 clr-wht font-26" style="opacity: 0.8;">计提预估</view>
</view>
<view>
<u-line direction="col" color="#fff" length="60"></u-line>
</view>
<view style="flex: 1;text-align: center;">
<view class="clr-wht font-32 font-weight">
<text class="font-26">¥</text>
<tex>{{staticInfo.commStat.waitPay}}</tex>
<view v-if="mIndex+1 != staticDataList.length">
<u-line direction="col" color="#fff" length="60"></u-line>
</view>
<view class="pt-20 clr-wht font-26" style="opacity: 0.8;">待回款</view>
</view>
</template>
</u-row>
</view>
<view class="blk-mdl">
<view v-if="mainBtnlist.length > 0" class="blk-mdl">
<u-row>
<buns-auth v-for="(item, index) in mainBtnlist" :code="item.code">
<u-col span="3" align="center" custom-style="padding: 30rpx 0;"
@click="goto(item.url)"
>
<u-image height="60" width="60" :src="item.icon" custom-style="margin-left: auto;margin-right: auto;"></u-image>
<u-text :text="item.title" margin="20rpx 0 0 0" align="center" color="#666" size="26"></u-text>
</u-col>
</buns-auth>
<u-col v-for="(item, index) in mainBtnlist" span="3" align="center" custom-style="padding: 30rpx 0;"
@click="goto(item.url)"
>
<u-image height="60" width="60" :src="item.icon" custom-style="margin-left: auto;margin-right: auto;"></u-image>
<u-text :text="item.title" margin="20rpx 0 0 0" align="center" color="#666" size="26"></u-text>
</u-col>
</u-row>
</view>
@ -123,12 +116,32 @@
import { USERKEY } from "@/store/actionKey"
import { dealBtnMap } from "@/common/enum"
import * as apiService from "@/common/api"
import { getAuthList, authCodeEnum } from "@/common/authCode"
export default {
computed: {
userInfo() {
return this.$store.getters.userInfo
}
},
staticDataList(){
let { commStat } = this.staticInfo
let list = [
{ title: '计提预估', subTitle: commStat.estMoney, url: '', code: authCodeEnum.jiTiYuGu },
{ title: '待回款', subTitle: commStat.waitPay, url: '', code: authCodeEnum.daiHuiKuan }
]
list = getAuthList({ list, _thisPage: this })
return list
},
mainBtnlist(){
let list = [
{...dealBtnMap.woDeRenWu},
{...dealBtnMap.jiTiMingXi},
{...dealBtnMap.woDeErWeiMa},
{...dealBtnMap.yeWuTongJi},
]
list = getAuthList({ list, _thisPage: this })
return list
},
},
props: {
},
@ -139,12 +152,7 @@
orderStat: {},
},
saomiao: true,
mainBtnlist: [
{...dealBtnMap.woDeRenWu},
{...dealBtnMap.jiTiMingXi},
{...dealBtnMap.woDeErWeiMa},
{...dealBtnMap.yeWuTongJi},
],
}
},

View File

@ -26,28 +26,21 @@
</tpx-select>
</u-row>
<u-row justify="between" custom-style="margin-top:30rpx;">
<view style="flex: 1;text-align: center;">
<u-text :text="5" color="#fff" bold="true" size="40" align="center"></u-text>
<view class="pt-20 clr-wht font-26" style="opacity: 0.8;">
<u-row justify="center">
<u-icon name="order" color="#fff" custom-style="opacity: 0.8;" size="30"></u-icon>
<text class="pl-10">待处理订单</text>
</u-row>
<u-row v-if="staticDataList.length > 0" justify="between" custom-style="margin-top:30rpx;">
<template v-for="(mbItem, mIndex) in staticDataList">
<view style="flex: 1;text-align: center;">
<u-text :text="mbItem.subTitle" color="#fff" bold="true" size="40" align="center"></u-text>
<view class="pt-20 clr-wht font-26" style="opacity: 0.8;">
<u-row justify="center">
<u-icon name="order" color="#fff" custom-style="opacity: 0.8;" size="30"></u-icon>
<text class="pl-10">{{mbItem.title}}</text>
</u-row>
</view>
</view>
</view>
<view>
<u-line direction="col" color="#fff" length="80"></u-line>
</view>
<view style="flex: 1;text-align: center;">
<u-text :text="118" color="#fff" bold="true" size="40" align="center"></u-text>
<view class="pt-20 clr-wht font-26" style="opacity: 0.8;">
<u-row justify="center">
<u-icon name="order" color="#fff" custom-style="opacity: 0.8;" size="30"></u-icon>
<text class="pl-10">累计处理订单</text>
</u-row>
<view v-if="mIndex+1 != staticDataList.length">
<u-line direction="col" color="#fff" length="80"></u-line>
</view>
</view>
</template>
</u-row>
</view>
</view>
@ -107,22 +100,30 @@
import { dateRangeList } from "@/common/enum"
import * as apiService from "@/common/api"
import BpdSendRecieverTmp from "@/components/buns-post-detail-templates/bpd-send-reciever-tmp"
import { getAuthList, authCodeEnum } from "@/common/authCode"
export default {
props: {
// hasLeftWin: {
// type: Boolean
// }
},
computed: {
dicData() {
return this.$store.getters.dicData
},
staticDataList(){
let { commStat } = this.staticInfo
let list = [
{ title: '待处理订单', subTitle: commStat.estMoney || 0, url: '', code: authCodeEnum.dingDanGaiKuang },
{ title: '累计处理订单', subTitle: commStat.waitPay || 0, url: '', code: authCodeEnum.dingDanGaiKuang }
]
list = getAuthList({ list, _thisPage: this })
return list
},
},
components: { BpdSendRecieverTmp },
data() {
let { dicData } = this.$store.getters
return {
authCodeEnum,
...JSON.parse(JSON.stringify({ dateRangeList })),
searchParam: {
date: dateRangeList[0].val,
@ -130,6 +131,10 @@
},
queryOption: {
},
staticInfo: {
commStat: {},
orderStat: {},
},
resData: {
list: []