Commit 29491080 authored by xiangzj's avatar xiangzj

终端要货

parent 79b78cb9
...@@ -777,6 +777,21 @@ ...@@ -777,6 +777,21 @@
} }
} }
}, },
{
"path": "pages/goodBoxNum/goodBoxNum",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "#fff",
"titleText": "要货单箱码",
"autoBackButton": true
}
}
}
},
{ {
"path": "pages/my-order/my-order", "path": "pages/my-order/my-order",
"style": { "style": {
...@@ -1218,6 +1233,28 @@ ...@@ -1218,6 +1233,28 @@
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},
{
"path" : "pages/meeting-manage/meeting-manage",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "#fff",
"titleText": "",
"autoBackButton": true,
"splitLine": {
"color": "#ccc",
"height": "0.5px"
}
}
},
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}, },
{ {
"path": "pages/loan-query/loan-query", "path": "pages/loan-query/loan-query",
...@@ -1235,6 +1272,22 @@ ...@@ -1235,6 +1272,22 @@
// "enablePullDownRefresh": true // "enablePullDownRefresh": true
} }
}, },
{
"path": "pages/terminal-list/terminal-list",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "transparent",
"titleText": "直配订单查询",
"autoBackButton": true
}
},
"enablePullDownRefresh": true
}
},
{ {
"path": "pages/loan-query/loan-detail", "path": "pages/loan-query/loan-detail",
"style": { "style": {
......
<template>
<view class="lists">
<view class="status_bar" :style="navHeight"></view>
<view class="header-bg">
</view>
<view class="main">
<view class="list-wrapper" :style="scrollHeight">
<list class="list-block" scrollable loadmoreoffset='1' show-scrollbar='false'>
<cell class="view scroll-area">
<view class="order-main view">
<view class="top">
<text class="title-no">{{boxNum}}</text>
</view>
<!-- <view class="tips title-no ">箱码</view> -->
<view class="box-num">
<view v-for="item in dataList">
<view class="box-code">{{item.boxBarcode}}</view>
</view>
</view>
</view>
</cell>
</list>
</view>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import { findGoodsSingleJoinBoxBarcode } from '@/servers/purchaseList.js'
export default {
data() {
return {
dataList: [],
boxNum: '',
}
},
computed: {
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 66 }px`,
}
},
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
...mapState(['sysinfo','userInfo'])
},
onLoad() {
this.winHeight = `height:${this.sysinfo.safeArea.height}px`;
this.navHeight = `height:${this.sysinfo.safeArea.top + 44}px`;
},
onBackPress() {
},
created() {
this.getBoxNum()
},
onLoad(option) {
this.boxNum = option.num
},
methods: {
async getBoxNum(){
const formdata = {
"user_bp": this.userInfo.code,
"role": 'WLY001',
"wantCode": [{
"sign": "I",
"option": "CP",
// "low": "*"+ this.boxNum +"*",
"low": "*FHZG20020840*",
"high": ""
}],
"page": 1,
"pagesize": 100,
"totalCount": 100,
"is_result": 1,
"sort": [{
"field_name": "createdDate",
"field_sort": "X"
}],
"billStatus": [{
"sign": "I",
"option": "EQ",
"low": "E003",
"high": ""
}],
"boxBarcodeNotNull": true
}
const res = await findGoodsSingleJoinBoxBarcode(formdata)
this.dataList = res.data.Rows
}
}
}
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
.header-bg {
height: 284rpx;
margin-top: -88rpx;
}
.header-bg-img {
width: 750rpx;
}
.lists {
flex-direction: column;
}
.main {
position: relative;
flex-direction: column;
margin-top: -164rpx;
padding: 0 32rpx;
}
.list-wrapper {
display: flex;
flex-direction: column;
}
.title-no {
font-size: 32rpx;
font-weight: 600;
color: #000;
margin-bottom: 20rpx;
}
.tips{
margin-top: 40rpx;
margin-bottom: 20rpx;
}
.box-num{
background: #f8f8f8;
min-height: 400rpx;
width: 100%;
border-radius: 10px;
display: flex;
flex-direction: column;
padding: 24rpx;
}
.box-code{
font-size: 28rpx;
color: #000;
line-height: 44rpx;
font-weight: 600;
}
</style>
<template>
<view class="lists">
<view class="status_bar" :style="navHeight"></view>
<!-- <view class="header-bg">
<image class="header-bg-img" src="@/static/image/nav_bg@3x.png" mode="scaleToFill"></image>
</view> -->
<view class="main" :style="mainHeight">
<view class="middle view planout-block-item">
<view class="text-block">
<text class="middle-date">要货单号</text>
<input class="middle-date-des" type="text" v-model="boxNum" placeholder="请输入" disabled />
</view>
<view class="text-block text-block-last">
<text class="middle-date">箱码编号</text>
<input class="middle-date-des" type="text" v-model="boxBarcode" placeholder="请输入" />
</view>
</view>
<view class="planout-block">
<button class="btn" type="default" @tap="getBoxNum">
<text class="btn-text">查询</text>
</button>
</view>
<list class="view scroll-area code-box" scrollable loadmoreoffset='1' show-scrollbar='false' v-if="dataList.length">
<cell class="" v-for="item in dataList">
<view class="box-code">{{item.boxBarcode}}</view>
</cell>
</list>
<no-data v-if="dataList.length === 0"></no-data>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import noData from '@/components/nodata.nvue';
import { findGoodsSingleJoinBoxBarcode } from '@/servers/purchaseList.js'
export default {
data() {
return {
dataList: [],
boxNum: '',
boxBarcode: ''
}
},
components: {
noData,
},
computed: {
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
mainHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 44 }px`,
}
},
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 44}px`
}
},
...mapState(['sysinfo','userInfo'])
},
onLoad() {
},
onBackPress() {
},
created() {
this.getBoxNum()
},
onLoad(option) {
this.boxNum = option.num
},
methods: {
async getBoxNum(){
uni.showLoading({
title: '加载中'
});
const formdata = {
"user_bp": this.userInfo.code,
"role": 'WLY001',
"wantCode": [{
"sign": "I",
"option": "CP",
"low": "*"+ this.boxNum +"*",
// "low": "*FHZG20020840*",
"high": ""
}],
"page": 1,
"pagesize": 10000,
"totalCount": 10000,
"is_result": 1,
"sort": [{
"field_name": "createdDate",
"field_sort": "X"
}],
"billStatus": [{
"sign": "I",
"option": "EQ",
"low": "E003",
"high": ""
}],
"boxBarcode": [{
"sign": "I",
"option": "CP",
"low": "*"+ this.boxBarcode +"*",
"high": ""
}],
"boxBarcodeNotNull": true
}
!this.boxBarcode && delete formdata.boxBarcode
try{
const res = await findGoodsSingleJoinBoxBarcode(formdata)
uni.hideLoading();
this.dataList = res.data.Rows
}catch(e){
uni.hideLoading();
}
}
}
}
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
.header-bg {
height: 284rpx;
opacity: 0.72;
margin-top: -88rpx;
}
.header-bg-img {
width: 750rpx;
}
.lists {
position: relative;
flex-direction: column;
background: #f0f4f5;
flex: 1;
}
.main {
position: relative;
flex-direction: column;
padding: 0 16rpx;
padding-top: 40rpx;
// background-color: #fff;
}
.middle {
background-color: #fff;
border-radius: 16rpx;
padding: 0rpx 64rpx 0rpx 48rpx;
}
.text-block {
overflow: hidden;
height: 96rpx;
margin-bottom: 14rpx;
border-bottom: 1px solid #f4f5f6;
}
.text-block-last {
margin-bottom: 0;
border-bottom: 0;
}
.middle-date {
flex: 2;
font-size: 28rpx;
line-height: 96rpx;
color: #333;
margin-bottom: 8rpx;
}
.middle-date-des {
flex: 3;
font-size: 28rpx;
line-height: 96rpx;
height: 96rpx;
overflow: hidden;
text-overflow: ellipsis;
color: #888;
}
.picker-year {
position: relative;
border-radius: 4px;
align-items: center;
line-height: normal;
}
.uni-list-cell {
flex: 1;
height: 96rpx;
line-height: 96rpx;
}
.uni-list-cell-db {
flex: 1;
}
.picker-block {
flex: 1;
}
.uni-input-text {
height: 96rpx;
line-height: 96rpx;
font-size: 14px;
color: #888;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.btn {
flex: 1;
height: 92rpx;
background: $wly-primary-color;
border-radius: 46rpx;
}
.btn-text {
color: #fff;
font-size: 34rpx;
}
.navs-block {
flex-direction: column;
background-color: #fff;
padding-top: 40rpx;
}
.navs-tab {
display: flex;
flex: 1;
align-items: center;
height: 60rpx;
border-bottom: 1px solid #F4F5F6;
padding-bottom: 8rpx;
}
.navs-tab-item {
display: flex;
justify-content: center;
flex: 1;
align-items: center;
height: 50rpx;
overflow: hidden;
}
.search-type-text {
color: #333;
font-size: 28rpx;
}
.icon-arrow-down {
width: 6px;
height: 4px;
margin-left: 16rpx;
}
.planout-block {
display: flex;
justify-content: space-between;
margin-top: 30rpx;
margin-bottom: 30rpx;
padding: 0 24rpx;
}
.btn {
flex: 1;
height: 92rpx;
background: $wly-primary-color;
border-radius: 46rpx;
}
.btn-text {
color: #fff;
font-size: 34rpx;
}
.title-no {
font-size: 32rpx;
font-weight: 600;
color: #000;
margin-bottom: 20rpx;
}
.tips{
margin-top: 40rpx;
margin-bottom: 20rpx;
}
.code-box{
background: #f8f8f8;
border-radius: 20rpx;
display: flex;
flex-direction: column;
padding: 40rpx 24rpx;
margin-bottom: 40rpx;
}
.box-num{
// min-height: 400rpx;
}
.box-code{
font-size: 28rpx;
color: #000;
line-height: 44rpx;
font-weight: 600;
}
.scroll-area {
overflow-y: scroll;
}
</style>
...@@ -165,7 +165,13 @@ ...@@ -165,7 +165,13 @@
<text class="item-block__label item-more" @click="entryHandle('out-web-site')">查看更多 ></text> <text class="item-block__label item-more" @click="entryHandle('out-web-site')">查看更多 ></text>
</view> </view>
</view> </view>
<view class="uni-margin-wrap"> <view class="uni-margin-wrap" style="padding: 20px 10px;">
<view class="swiper-title">
<text class="item-block__label">宴会管理</text>
<text class="item-block__label item-more" @click="entryHandle('meeting-manage')">查看更多 ></text>
</view>
</view>
<view class="uni-margin-wrap" style="padding: 20px 10px;">
<view class="swiper-title"> <view class="swiper-title">
<text class="item-block__label">资讯</text> <text class="item-block__label">资讯</text>
<text class="item-block__label item-more" @click="entryHandle('information')">查看更多 ></text> <text class="item-block__label item-more" @click="entryHandle('information')">查看更多 ></text>
...@@ -469,6 +475,7 @@ ...@@ -469,6 +475,7 @@
flex-direction: column; flex-direction: column;
box-sizing: border-box; box-sizing: border-box;
background: #f0f4f5; background: #f0f4f5;
overflow: auto;
} }
.status_bar { .status_bar {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<view class="status_bar" :style="navHeight"></view> <view class="status_bar" :style="navHeight"></view>
<view class="apply-history-wrapper view"> <view class="apply-history-wrapper view">
<view class="middle view"> <view class="middle view">
<view class="title">发运单号:FH200333222</view> <!-- <view class="title">发运单号:FH200333222</view> -->
<view class="steps"> <view class="steps">
<view class="steps__row-container"> <view class="steps__row-container">
<view class="steps__row-line-item"> <view class="steps__row-line-item">
......
<template>
<view class="">
<view class="status_bar" :style="navHeight"></view>
<web-view ref="web-view" class="uni-flex-item" :src="src" :webview-styles="webview_styles" @message="message"
@error="error" @loading="loading" @loaded="loaded">
</web-view>
</view>
</template>
<script>
import { mapState } from 'vuex'
export default {
data() {
return {
src: '',
webview_styles: {
}
}
},
onLoad() {
// this.src = 'https://uat.wuliangye.com.cn/market-workbench-dealer-audit/?dealerId='+this.userInfo.code //测试环境
this.src = 'https://yingxiao.wuliangye.com.cn/market-workbench-dealer-audit/?dealerId='+this.userInfo.code //生产环境
},
computed: {
...mapState(['userInfo']),
navHeight() {
return {
'height': `100px`
}
},
},
methods: {
message(event) {
console.log(JSON.stringify(event.detail));
},
error(event) {
console.log(JSON.stringify(event.detail));
},
loading(event) {
console.log(JSON.stringify(event.type));
},
loaded(event ) {
console.log(JSON.stringify(event.type));
},
}
}
</script>
<style>
.uni-input-v {
padding: 10rpx 0;
}
.uni-btn-ml {
margin-left: 10rpx;
}
.uni-flex-item{
height: 100%
}
.status_bar {
height: var(--status-bar-height);
}
</style>
...@@ -40,6 +40,9 @@ ...@@ -40,6 +40,9 @@
<text class="middle-date">{{newsItem.saveEnddate}}</text> <text class="middle-date">{{newsItem.saveEnddate}}</text>
</view> </view>
</view> </view>
<view class="text-block text-block-last box-num" v-if="newsItem.wantCode.includes('FHZG')" @click="goBoxNum(newsItem)">
<button class="title-info__status" type="default"><text class="item-block-btn__text">箱码</text></button>
</view>
</view> </view>
</view> </view>
<view class="bottom view"> <view class="bottom view">
...@@ -232,6 +235,11 @@ ...@@ -232,6 +235,11 @@
// }, 100); // }, 100);
}, },
methods: { methods: {
goBoxNum(item){
uni.navigateTo({
url: `/pages/goodBoxNum/goodBoxNum?num=${item.wantCode}`
})
},
async getFiles(id) { async getFiles(id) {
const params = { const params = {
bizId: id, bizId: id,
...@@ -288,8 +296,8 @@ ...@@ -288,8 +296,8 @@
this.receiveInfoHeight = '132' this.receiveInfoHeight = '132'
} }
}, },
checkLogistics() { checkLogistics(num) {
const num = 'dfb0ebae8103034ccb863d3702e22eb6' // const num = 'dfb0ebae8103034ccb863d3702e22eb6'
uni.navigateTo({ uni.navigateTo({
url: `/pages/logistics/logistics?logisticno=${num}` url: `/pages/logistics/logistics?logisticno=${num}`
}) })
...@@ -564,4 +572,8 @@ ...@@ -564,4 +572,8 @@
margin-top: 20rpx; margin-top: 20rpx;
flex-direction: column; flex-direction: column;
} }
.box-num{
align-items: flex-end;
margin-right: 26rpx;
}
</style> </style>
...@@ -108,12 +108,13 @@ ...@@ -108,12 +108,13 @@
</view> </view>
<view class="text-block" @click="goTerminal" v-if="orderItem.demandType=='ZDZG'"> <view class="text-block" @click="goTerminal" v-if="orderItem.demandType=='ZDZG'">
<text class="middle-date">收货终端</text> <text class="middle-date">收货终端</text>
<view class="middle-date-des uni-list picker-year" > <view class="middle-date-terminal uni-list picker-year" >
<view class="uni-list-cell"> <!-- <view class="uni-list-cell"> -->
<view class="uni-list-cell-db"> <!-- <view class="uni-list-cell-db">
<text class="uni-input">{{orderItem.terminalName}}</text> <text class="uni-input">{{orderItem.terminalName}}</text>
</view> </view> -->
</view> <!-- </view> -->
<text class="middle-date-margin-des">{{orderItem.terminalName}}</text>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image> <image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view> </view>
...@@ -275,6 +276,12 @@ ...@@ -275,6 +276,12 @@
_this.orderItem.terminalName = data.selectTerminal.storeName _this.orderItem.terminalName = data.selectTerminal.storeName
_this.orderItem.terminalId = data.selectTerminal.storeId _this.orderItem.terminalId = data.selectTerminal.storeId
_this.orderItem.receiveUnitName = data.selectTerminal.storeName _this.orderItem.receiveUnitName = data.selectTerminal.storeName
_this.orderItem.receiveAddress = (data.selectTerminal.provinceName + data.selectTerminal.cityName + data.selectTerminal.districtName + data.selectTerminal.address) || ''
_this.orderItem.contactNumber = data.selectTerminal.consigneePhone
_this.orderItem.contacPerson = data.selectTerminal.consignee
_this.orderItem.province = data.selectTerminal.provinceName
_this.orderItem.city = data.selectTerminal.cityName
_this.orderItem.district = data.selectTerminal.districtName
}) })
}, },
onUnload() { onUnload() {
...@@ -630,5 +637,10 @@ ...@@ -630,5 +637,10 @@
line-height: 96rpx; line-height: 96rpx;
color: $text-base-color; color: $text-base-color;
} }
.middle-date-terminal {
flex: 3;
font-size: 28rpx;
height: 96rpx;
color: $text-base-color;
}
</style> </style>
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
<text class="middle-date-add">收货地址</text> <text class="middle-date-add">收货地址</text>
<text class="middle-date-des-add">{{orderItem.receiveAddress}}</text> <text class="middle-date-des-add">{{orderItem.receiveAddress}}</text>
</view> </view>
<text class="edit-add" @click="handleAdd" v-if="isTerminalType">修改</text> <!-- <text class="edit-add" @click="handleAdd" v-if="isTerminalType">修改</text> -->
<view class="text-block text-block-last"> <view class="text-block text-block-last">
<text class="middle-date">备注</text> <text class="middle-date">备注</text>
</view> </view>
...@@ -477,14 +477,14 @@ ...@@ -477,14 +477,14 @@
} }
this.orderItem.receiveUnitCode = this.receiveUnitArr[0].PARTNER this.orderItem.receiveUnitCode = this.receiveUnitArr[0].PARTNER
this.orderItem.spurtCodeUnitName = this.receiveUnitArr[0].PARTNER_NAME this.orderItem.spurtCodeUnitName = this.receiveUnitArr[0].PARTNER_NAME
this.orderItem.contactNumber = this.receiveUnitArr[0].TEL_NUMBER
this.orderItem.contacPerson = this.receiveUnitArr[0].C_O_NAME
this.orderItem.receiveAddress = this.receiveUnitArr[0].STREET
if(this.isTerminalType){ if(this.isTerminalType){
this.orderItem.contactNumber = '' // this.orderItem.contactNumber = ''
this.orderItem.contacPerson = '' // this.orderItem.contacPerson = ''
this.orderItem.receiveAddress = '' // this.orderItem.receiveAddress = ''
}else{ }else{
this.orderItem.contactNumber = this.receiveUnitArr[0].TEL_NUMBER
this.orderItem.contacPerson = this.receiveUnitArr[0].C_O_NAME
this.orderItem.receiveAddress = this.receiveUnitArr[0].STREET
this.orderItem.receiveUnitName = this.receiveUnitArr[0].PARTNER_NAME this.orderItem.receiveUnitName = this.receiveUnitArr[0].PARTNER_NAME
} }
}, },
...@@ -531,11 +531,6 @@ ...@@ -531,11 +531,6 @@
this.orderItem.contactNumber = this.receiveUnitArr[index].TEL_NUMBER this.orderItem.contactNumber = this.receiveUnitArr[index].TEL_NUMBER
this.orderItem.receiveAddress = this.receiveUnitArr[index].STREET this.orderItem.receiveAddress = this.receiveUnitArr[index].STREET
this.orderItem.contacPerson = this.receiveUnitArr[index].C_O_NAME this.orderItem.contacPerson = this.receiveUnitArr[index].C_O_NAME
if(this.isTerminalType){
this.orderItem.contactNumber = ''
this.orderItem.contacPerson = ''
this.orderItem.receiveAddress = ''
}
} }
}, },
...@@ -642,9 +637,9 @@ ...@@ -642,9 +637,9 @@
...this.orderItem ...this.orderItem
} }
if(this.isTerminalType){ if(this.isTerminalType){
obj.province = this.terminalAdd.REGION_TEXT || this.orderItem.province // obj.province = this.terminalAdd.REGION_TEXT || this.orderItem.province
obj.city = this.terminalAdd.CITY_TEXT || this.orderItem.city // obj.city = this.terminalAdd.CITY_TEXT || this.orderItem.city
obj.district = this.terminalAdd.STREET_TEXT || this.orderItem.district // obj.district = this.terminalAdd.STREET_TEXT || this.orderItem.district
}else{ }else{
obj.demandType = 'none' obj.demandType = 'none'
} }
......
<template>
<view class="lists">
<view class="status_bar" :style="navHeight"></view>
<view class="header-bg">
<image class="header-bg-img" src="@/static/image/nav_bg@3x.png" mode="scaleToFill"></image>
</view>
<view class="main">
<view class="middle view">
<view class="text-block ">
<text class="middle-date">终端名称</text>
<input class="middle-date-des" type="text" v-model="condition.storeName" placeholder="" />
</view>
</view>
<view class="planout-block">
<button class="btn" type="default" @tap="search">
<text class="btn-text">查询</text>
</button>
</view>
<scroll-view class="scroll-area" :style='scrollHeight' scroll-y="true" lower-threshold='150'
@scrolltolower='scrolltolower'>
<view class="middle view planout-block-item" v-for="(item,index) in lists" :key='index'
@click="handleClick($event,item, index)">
<view class="text-block">
<text class="middle-date middle-date-select">终端名称</text>
<text class="middle-date-des middle-date-des-select">{{item.storeName}}</text>
</view>
<view class="text-block">
<text class="middle-date middle-date-select">终端ID</text>
<text class="middle-date-pro middle-date-des-select">{{item.storeId}}</text>
</view>
<!-- <view class="middle-title">
<text class="middle-title__text flex1">终端名称:</text>
<text class="middle-title__text flex6">{{ item.storeName }}</text>
</view>
<view class="middle-title">
<view style="width: 130px;">
<text class="middle-title__text flex1">联系人:</text>
<text class="middle-title__text flex6">{{ item.consignee }}</text>
</view>
<view>
<text class="middle-title__text flex1">联系电话:</text>
<text class="middle-title__text flex6">{{ item.consigneePhone }}</text>
</view>
</view>
<view class="middle-title justify-space">
<view>
<text class="middle-title__text flex1">省:</text>
<text class="middle-title__text flex6">{{ item.provinceName }}</text>
</view>
<view>
<text class="middle-title__text flex1">市:</text>
<text class="middle-title__text flex6">{{ item.cityName }}</text>
</view>
<view>
<text class="middle-title__text flex1">区:</text>
<text class="middle-title__text flex6">{{ item.districtName }}</text>
</view>
</view>
<view class="middle-title">
<text class="middle-title__text flex1">详细地址:</text>
<text class="middle-title__text flex6">{{ item.address }}</text>
</view> -->
</view>
<view class="loading-more" v-if='lists.length>2'>
<text class="loading-more-text">{{loadingText}}</text>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import { queryDirectStore } from '@/servers/purchaseList.js'
export default {
data() {
return {
isOpened: 'none',
loadingText: '加载中...',
condition: {
storeName: '',
},
lists: [],
pageOption: {
current: 1,
size: 50
},
totalCount: 0,
totalPage: 0,
terminalQureyParams: {}
}
},
computed: {
...mapState(['sysinfo']),
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 44 - 220}px`
}
},
pagination(){
return{
page: this.pageOption.current,
pagesize: this.pageOption.size,
totalCount: this.totalCount,
}
}
},
onPullDownRefresh() {
this.reset()
this.getProduct(true)
setTimeout(function() {
uni.stopPullDownRefresh();
}, 600);
},
onLoad(option) {
this.terminalQureyParams = {
...JSON.parse(option.params)
}
},
created() {
this.reset()
this.getProduct(true);
},
methods: {
async getProduct(isRefresh) {
const params = { page:this.pageOption, ...this.terminalQureyParams, ...this.condition }
uni.showLoading({
title: '加载中'
});
setTimeout(function() {
uni.hideLoading();
}, 2000);
const res = await queryDirectStore(params)
uni.hideLoading();
const {
records,
total
} = res.data.data
this.totalCount = total
this.totalPage = Math.ceil(total * 1 / this.pageOption.size * 1)
if (isRefresh) {
this.lists = records
} else {
this.lists = this.lists.concat(records)
}
},
scrolltolower() {
console.log('onReachBottom');
if (this.pageOption.current < this.totalPage) {
this.pageOption.current++
this.getProduct()
} else {
this.loadingText = '-- 到底了 --'
}
},
reset() {
this.condition = {
storeName: '',
},
this.pageOption = {
current: 1,
size: 50
},
this.lists = []
this.loadingText = '加载中'
},
search() {
this.pageOption = {
current: 1,
size: 50
},
this.lists = []
this.getProduct(true)
},
handleClick(e, content, index) {
console.log(e, content, index)
uni.$emit('selectTerminal', {
selectTerminal: content
})
uni.navigateBack()
}
}
}
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
.header-bg {
height: 284rpx;
margin-top: -88rpx;
}
.header-bg-img {
width: 750rpx;
}
.lists {
position: relative;
flex-direction: column;
overflow-y: scroll;
background: #f0f4f5;
overflow-x: hidden;
height: 100vh;
}
.main {
position: relative;
flex-direction: column;
margin-top: -164rpx;
padding: 0 16rpx;
}
.middle {
background-color: #fff;
border-radius: 16rpx;
padding: 32rpx;
padding-right: 60rpx;
border-radius: 20rpx;
}
.text-block {
display: flex;
overflow: hidden;
height: 96rpx;
margin-bottom: 14rpx;
// border-bottom: 1px solid #f4f5f6;
}
.text-block-last {
margin-bottom: 0;
border-bottom: 0;
}
.middle-date {
flex: 2;
font-size: 28rpx;
line-height: 96rpx;
color: #333;
margin-bottom: 8rpx;
}
.middle-date-des {
flex: 3;
font-size: 28rpx;
line-height: 96rpx;
height: 96rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #888;
}
.middle-date-pro {
flex: 3;
font-size: 28rpx;
height: 96rpx;
color: #888;
word-break: break-all;
padding-right: 4px;
}
.middle-date-select {
color: #888;
}
.middle-date-des-select {
color: #333;
}
.picker-year {
position: relative;
border-radius: 4px;
align-items: center;
}
.uni-list-cell {
flex: 1;
}
.uni-list-cell-db {
flex: 1;
}
.picker-block {
flex: 1;
}
.icon-arrow {
position: absolute;
right: 0;
top: 16px;
width: 12rpx;
height: 20rpx;
z-index: 10;
}
.scroll-area {
overflow-y: scroll;
}
.planout-block-lists {
display: flex;
flex-direction: column;
}
.uni-swipe {
flex: 1;
margin-bottom: 26rpx;
}
/deep/ .uni-swipe_box {
flex: 1;
}
.swipe-right-block {
display: flex;
width: 100rpx;
justify-content: center;
align-items: center;
}
.swipe-right-block__text {
display: inline-block;
width: 52rpx;
height: 52rpx;
border-radius: 50%;
background-color: #fff;
}
.swipe-right-block__active {
width: 52rpx;
height: 52rpx;
border-radius: 50%;
background-color: $wly-primary-color;
}
.planout-block {
display: flex;
justify-content: space-between;
height: 84rpx;
margin-top: 64rpx;
margin-bottom: 48rpx;
padding: 0 24rpx;
}
.planout-block-item {
flex: 1;
margin-bottom: 26rpx;
}
.btn {
flex: 1;
height: 92rpx;
background: $wly-primary-color;
border-radius: 46rpx;
}
.btn-text {
color: #fff;
font-size: 34rpx;
}
.loading-more {
flex: 1;
align-items: center;
justify-content: center;
padding-top: 14px;
padding-bottom: 14px;
text-align: center;
}
.loading-more-text {
font-size: 12px;
color: #999;
}
.middle-title {
display: flex;
align-items: center;
margin-bottom: 32rpx;
}
.justify-space{
justify-content: space-between
}
.middle-title__text {
font-weight: 500;
font-size: 28rpx;
color: $text-base-color;
font-family: PingFangSC, PingFangSC-Medium;
}
</style>
...@@ -30,6 +30,38 @@ ...@@ -30,6 +30,38 @@
<text class="middle-date middle-date-select">终端ID</text> <text class="middle-date middle-date-select">终端ID</text>
<text class="middle-date-pro middle-date-des-select">{{item.storeId}}</text> <text class="middle-date-pro middle-date-des-select">{{item.storeId}}</text>
</view> </view>
<!-- <view class="middle-title">
<text class="middle-title__text flex1">终端名称:</text>
<text class="middle-title__text flex6">{{ item.storeName }}</text>
</view>
<view class="middle-title">
<view style="width: 130px;">
<text class="middle-title__text flex1">联系人:</text>
<text class="middle-title__text flex6">{{ item.consignee }}</text>
</view>
<view>
<text class="middle-title__text flex1">联系电话:</text>
<text class="middle-title__text flex6">{{ item.consigneePhone }}</text>
</view>
</view>
<view class="middle-title justify-space">
<view>
<text class="middle-title__text flex1">省:</text>
<text class="middle-title__text flex6">{{ item.provinceName }}</text>
</view>
<view>
<text class="middle-title__text flex1">市:</text>
<text class="middle-title__text flex6">{{ item.cityName }}</text>
</view>
<view>
<text class="middle-title__text flex1">区:</text>
<text class="middle-title__text flex6">{{ item.districtName }}</text>
</view>
</view>
<view class="middle-title">
<text class="middle-title__text flex1">详细地址:</text>
<text class="middle-title__text flex6">{{ item.address }}</text>
</view> -->
</view> </view>
<view class="loading-more" v-if='lists.length>2'> <view class="loading-more" v-if='lists.length>2'>
<text class="loading-more-text">{{loadingText}}</text> <text class="loading-more-text">{{loadingText}}</text>
...@@ -72,7 +104,7 @@ ...@@ -72,7 +104,7 @@
}, },
scrollHeight() { scrollHeight() {
return { return {
'height': `${this.sysinfo.safeArea.height - 237- 44 - 20}px` 'height': `${this.sysinfo.safeArea.height - 44 - 220}px`
} }
}, },
pagination(){ pagination(){
...@@ -196,6 +228,8 @@ ...@@ -196,6 +228,8 @@
background-color: #fff; background-color: #fff;
border-radius: 16rpx; border-radius: 16rpx;
padding: 32rpx; padding: 32rpx;
padding-right: 60rpx;
border-radius: 20rpx;
} }
.text-block { .text-block {
...@@ -203,7 +237,7 @@ ...@@ -203,7 +237,7 @@
overflow: hidden; overflow: hidden;
height: 96rpx; height: 96rpx;
margin-bottom: 14rpx; margin-bottom: 14rpx;
border-bottom: 1px solid #f4f5f6; // border-bottom: 1px solid #f4f5f6;
} }
.text-block-last { .text-block-last {
...@@ -324,7 +358,6 @@ ...@@ -324,7 +358,6 @@
.planout-block-item { .planout-block-item {
flex: 1; flex: 1;
width: 750rpx;
margin-bottom: 26rpx; margin-bottom: 26rpx;
} }
...@@ -353,4 +386,18 @@ ...@@ -353,4 +386,18 @@
font-size: 12px; font-size: 12px;
color: #999; color: #999;
} }
.middle-title {
display: flex;
align-items: center;
margin-bottom: 32rpx;
}
.justify-space{
justify-content: space-between
}
.middle-title__text {
font-weight: 500;
font-size: 28rpx;
color: $text-base-color;
font-family: PingFangSC, PingFangSC-Medium;
}
</style> </style>
<template>
<view class="order view">
<view class="top">
<text class="dot" v-if="!newsItem.isReview"></text>
<text class="title-no">{{ newsItem.wantCode }}</text>
<view class="title-info" v-if="newsItem.orderStatusTextView">
<button class="title-info__status" type="default">
<text class="item-block-btn__text">{{ newsItem.orderStatusTextView }}</text>
</button>
</view>
</view>
<view class="middle view">
<view class="middle-title">
<text class="middle-title__text flex1">终端:</text>
<text class="middle-title__text flex6">{{ newsItem.terminalName }}</text>
</view>
<view class="middle-title">
<text class="middle-title__text flex1">产品:</text>
<text class="middle-title__text flex6">{{ newsItem.productDesc }}</text>
</view>
<view class="middle-title">
<text class="middle-title__text flex1">签收时间:</text>
<text class="middle-title__text flex6">{{ newsItem.signDate }}</text>
</view>
<view class="check-box">
<radio-group>
</radio-group>
<view class="total-amount">
<text class="middle-title__text">件数:</text>
<text class="middle-title__text red">{{ newsItem.actDeliveryQty }}</text>
</view>
</view>
</view>
</view>
</template>
<script>
// #ifdef APP-NVUE
const dom = weex.requireModule('dom');
// #endif
import store from '@/store/index.js';
export default {
props: {
newsItem: {
type: Object,
default: function (e) {
return {};
}
},
idx: {
type: Number
},
isCheck: {
type: Boolean,
default: false
}
},
data() {
return {
ishowDetail: true,
ishowReceiveDetail: false,
receiveInfoHeight: '132',
receiveInfoDetailSize: {},
allFiles: [],
cb: ''
};
},
computed: {
imageStyles() {
return {
width: 64,
height: 64,
border: {
radius: '50%'
}
};
},
receiveInfoHeightComputed() {
console.log(this.receiveInfoHeight - 0, '[][]');
if (this.receiveInfoHeight - 0 === 0) {
const height = this.allFiles.length > 0 ? 485 : 0;
return { minHeight: height + 'px' };
} else {
return {
height: `${this.receiveInfoHeight}px`
};
}
}
},
mounted() {},
methods: {
handleCheck() {
this.$emit('handleCheck', this.idx);
},
handleDetail(item) {
uni.navigateTo({
url: `/pages/loan-query/loan-detail?code=${item.fee_code}`
});
},
click() {
this.$emit('click');
},
close(e) {
e.stopPropagation();
this.$emit('close');
},
handleShowDetail() {
this.ishowDetail = !this.ishowDetail;
},
checkLogistics() {
const num = 'dfb0ebae8103034ccb863d3702e22eb6';
uni.navigateTo({
url: `/pages/logistics/logistics?logisticno=${num}`
});
}
}
};
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
.order {
flex: 1;
background: #ffffff;
border-radius: 20rpx;
box-shadow: 0px 2px 4px 0px #dbe4ee;
margin-top: 28rpx;
}
.top {
height: 72rpx;
align-items: center;
justify-content: space-between;
padding: 0 32rpx;
}
.title-no {
font-weight: 600;
font-size: 32rpx;
color: #000;
margin-left: 50rpx;
}
.title-info {
align-items: center;
}
.title-info__status {
width: 130rpx;
height: 48rpx;
line-height: 48rpx;
background: #f61d30;
font-size: 12px;
color: #fff;
text-align: center;
padding: 0 10rpx;
border: none;
}
.item-block-btn__text {
font-size: 12px;
color: #fff;
}
.middle {
// position: relative;
padding: 26rpx 32rpx;
}
.middle-title {
display: flex;
align-items: center;
margin-bottom: 32rpx;
}
.middle-title__text {
font-weight: 500;
font-size: 28rpx;
color: $text-base-color;
font-family: PingFangSC, PingFangSC-Medium;
}
.icon-car {
width: 13px;
height: 13px;
margin-left: 16rpx;
}
.text-block {
flex: 1;
flex-direction: column;
margin-bottom: 16rpx;
}
.text-block-last {
margin-bottom: 0;
}
.middle-date {
font-size: 28rpx;
color: $text-base-color;
margin-top: 8rpx;
}
.middle-date-des {
font-size: 24rpx;
color: #999;
}
.text-block-box {
display: flex;
// height: 120rpx;
margin-bottom: 16rpx;
justify-content: space-between;
}
.middle-date-right {
display: flex;
align-items: center;
justify-content: flex-end;
text-align: right;
}
.dot {
width: 5px;
height: 5px;
background: #3bdc88;
border-radius: 50%;
margin-top: -4px;
margin-right: 7px;
}
.bottom {
padding: 0 50rpx 48rpx;
}
.bottom-nav {
height: 40rpx;
justify-content: flex-end;
align-items: center;
}
.bottom-nav-arrow {
align-items: center;
}
.arrow-des {
font-size: 24rpx;
color: #999;
}
.icon-arrow {
width: 7px;
height: 4px;
margin-left: 16rpx;
margin-top: 2px;
transition-property: transform;
transition-duration: 0.15s;
transform: rotate(0deg);
}
.icon-arrow-rotate {
transform: rotate(180deg);
}
.bottom-content {
flex-direction: column;
margin-top: 24rpx;
}
.block-detal {
display: flex;
flex-direction: column;
background: #f8f8f8;
border-radius: 20rpx;
padding: 28rpx 32rpx;
margin-bottom: 16rpx;
}
.block-detal-last {
margin-bottom: 32rpx;
}
.block-detal-item {
display: flex;
margin-bottom: 32rpx;
justify-content: space-between;
}
.block-detal-item-last {
margin-bottom: 0;
}
.detal-item-label {
color: #999;
font-size: 24rpx;
}
.detal-item-value {
// flex: 1;
color: #333;
font-size: 28rpx;
}
.detal-item-value2 {
font-size: 24rpx;
// width: 200%;
// flex: 2;
// text-align: left;
}
.detal-item-value3 {
padding-left: 60rpx;
font-size: 24rpx;
width: 300%;
flex: 2;
text-align: right;
}
.receive-info {
position: relative;
display: flex;
flex-direction: column;
margin-top: 40rpx;
min-height: 240rpx;
// padding-bottom: 96rpx;
}
.receive-info-auto {
// height: auto;
}
.detal-item-title {
color: #333;
font-size: 28rpx;
font-weight: 600;
}
.attach-block {
flex-direction: column;
}
.attach-file {
width: 94px;
height: 94px;
margin: 20rpx 20rpx 0 0;
}
.float-btn-block {
position: absolute;
left: 0;
bottom: -2rpx;
z-index: 10;
width: 620rpx;
height: 120rpx;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.float-btn {
padding: 0 20px;
height: 60rpx;
border: 0.5px solid #d8d8d9;
border-radius: 32rpx;
display: flex;
align-items: center;
justify-content: center;
}
.float-btn__text {
font-size: 24rpx;
}
.cell-list {
flex-direction: column;
}
.upload-block {
display: flex;
height: 88rpx;
border-radius: 4px;
margin-top: 20rpx;
flex-direction: column;
}
.total-amount {
justify-content: end;
}
.red {
color: #f61d30;
font-weight: 600;
}
.flex1 {
flex: 2;
}
.flex6 {
flex: 6;
font-size: 24rpx;
}
.dot {
width: 18px;
height: 18px;
line-height: 18px;
background: #ff0f00;
border-radius: 9px;
color: #fff;
font-size: 11px;
text-align: center;
margin: 0;
position: absolute;
}
.check-box {
display: flex;
justify-content: space-between;
}
</style>
\ No newline at end of file
<template>
<view class="page-news">
<uni-list ref="list" class="listview" :class="{ 'margin-bot': nid === '0' }" :enableBackToTop="true" :scroll-y="true" @scrolltolower="loadMore()">
<uni-refresh class="refresh" @refresh="onrefresh" @pullingdown="onpullingdown" :display="refreshing ? 'show' : 'hide'">
<div class="refresh-view">
<image class="refresh-icon" :src="refreshIcon" :style="{ width: refreshing || pulling ? 0 : '32px' }" :class="{ 'refresh-icon-active': refreshFlag }"></image>
<uni-load-more v-if="refreshing" class="loading-icon" status="loading" :contentText="loadingMoreText"></uni-load-more>
<text class="loading-text">{{ refreshText }}</text>
</div>
</uni-refresh>
<uni-cell v-for="(item, index) in dataList" :key="item.id">
<order-item :newsItem="item" :isCheck="nid === '0'" :idx="index" @handleCheck="handleCheck"></order-item>
</uni-cell>
<uni-cell v-if="isLoading || dataList.length > 4">
<view class="loading-more">
<text class="loading-more-text">{{ loadingText }}</text>
</view>
</uni-cell>
</uni-list>
<no-data class="no-data" v-if="isNoData" @retry="loadMore"></no-data>
</view>
</template>
<script>
import { mapState } from 'vuex';
import uniList from '@/components/uni-list.vue';
import uniCell from '@/components/uni-cell.vue';
import uniRefresh from '@/components/uni-refresh.vue';
import uniLoadMore from '@/components/uni-load-more.vue';
import noData from '@/components/nodata.nvue';
import { getTermianlList, updateTransportInfoReview } from '@/servers/terminal.js';
import orderItem from './order-item.nvue';
export default {
components: {
uniList,
uniCell,
uniRefresh,
uniLoadMore,
noData,
orderItem
},
props: {
nid: {
type: [Number, String],
default: ''
},
tabIndex: {
type: [Number, String],
default: ''
},
conditions: {
type: Object,
default: () => {}
}
},
data() {
return {
dataList: [],
navigateFlag: false,
pulling: false,
refreshing: false,
refreshFlag: false,
refreshText: '',
isLoading: false,
loadingText: '加载中...',
isNoData: false,
pulling: false,
angle: 0,
loadingMoreText: {
contentdown: '',
contentrefresh: '',
contentnomore: ''
},
refreshIcon:
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAB5QTFRFcHBw3Nzct7e39vb2ycnJioqK7e3tpqam29vb////D8oK7wAAAAp0Uk5T////////////ALLMLM8AAABxSURBVHja7JVBDoAgDASrjqj//7CJBi90iyYeOHTPMwmFZrHjYyyFYYUy1bwUZqtJIYVxhf1a6u0R7iUvWsCcrEtwJHp8MwMdvh2amHduiZD3rpWId9+BgPd7Cc2LIkPyqvlQvKxKBJ//Qwq/CacAAwDUv0a0YuKhzgAAAABJRU5ErkJggg==',
loadParams: {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
},
condition: {
page: 1,
pagesize: 20
},
allCheck: false,
totalAmount: 0
};
},
computed: {
...mapState(['sysinfo', 'userInfo'])
},
created() {
this._isWidescreen = false;
// #ifdef H5
var mediaQueryOb = uni.createMediaQueryObserver(this);
mediaQueryOb.observe(
{
minWidth: 768
},
(matches) => {
this._isWidescreen = matches;
}
);
// #endif
},
methods: {
async updateTransportInfoReview(data){
const logisticnoList = data.map(item => item.logisticno);
const params = {
logisticnoList,
}
logisticnoList.length && await updateTransportInfoReview(params);
},
changeTab() {
// this.totalAmount = 0
// this.allCheck = false
this.dataList.forEach((ele, idx) => {
this.$set(this.dataList, idx, { ...this.dataList[idx], checked: false });
});
},
handleCheck(idx) {
this.dataList.forEach((ele, idx) => {
ele.checked = false;
});
this.$set(this.dataList, idx, { ...this.dataList[idx], checked: !this.dataList[idx].checked });
},
async loadData(refresh) {
if (this.isLoading) {
return;
}
this.isLoading = true;
this.isNoData = false;
const params = {
...this.condition,
"demandType":"ZDZG",
"signDateNotNull":true,
"sort":[{"field_name":"tr.isReview","field_sort":"asc"}],
customerCode: this.userInfo.code
}
const { data: { Rows, Total }} = await getTermianlList(params);
console.log(Rows,Total)
this.isNoData = Rows.length <= 0;
this.loadParams.totalPage = Math.ceil(((Total * 1) / this.condition.pagesize) * 1);
if (refresh) {
this.dataList =Rows;
} else {
this.dataList = this.dataList.concat(Rows);
}
this.updateTransportInfoReview(Rows)
// if (this.dataList.length > 0 && this._isWidescreen && this.dataList.length <= 10) {
// this.goDetail(this.dataList[0]);
// }
},
loadMore(e) {
if (this.condition.page < this.loadParams.totalPage) {
this.condition.page++;
this.loadData(false);
} else {
this.loadingText = '--已到底--';
}
},
clear() {
this.dataList.length = 0;
},
goDetail(detail, type = null) {
if (type) {
uni.navigateTo({
url: `/pages/purchase/purchase-apply?id=${detail.id}&sourceType=myPurchase`
});
}
},
refreshData() {
if (this.isLoading) {
return;
}
this.condition.page = 1;
this.pulling = true;
this.refreshing = true;
this.refreshText = '正在刷新...';
this.loadData(true);
},
onrefresh(e) {
this.conditions.state[0].low = this.nid;
this.refreshData();
// #ifdef APP-NVUE
// this.$refs.list.resetLoadmore();
// #endif
},
onpullingdown(e) {
if (this.refreshing) {
return;
}
// var angle = (e.pullingDistance) / e.viewHeight * 180;
// if (angle > 180) {
// angle = 180;
// }
// tab.angle = angle;
this.pulling = false;
if (Math.abs(e.pullingDistance) > Math.abs(e.viewHeight)) {
this.refreshFlag = true;
this.refreshText = '释放立即刷新';
} else {
this.refreshFlag = false;
this.refreshText = '下拉可以刷新';
}
},
newGuid() {
let s4 = function () {
return ((65536 * (1 + Math.random())) | 0).toString(16).substring(1);
};
return (s4() + s4() + '-' + s4() + '-4' + s4().substr(0, 3) + '-' + s4() + '-' + s4() + s4() + s4()).toUpperCase();
}
}
};
</script>
<style lang="scss" scoped>
.no-data {
flex: 1;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 10;
}
.page-news {
flex: 1;
flex-direction: column;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.listview {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
/* #ifndef APP-NVUE */
display: flex;
flex-direction: column;
/* #endif */
/* #ifndef MP-ALIPAY */
flex-direction: column;
/* #endif */
}
.refresh {
justify-content: center;
}
.refresh-view {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
width: 750rpx;
height: 64px;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
.refresh-icon {
width: 32px;
height: 32px;
transition-duration: 0.5s;
transition-property: transform;
transform: rotate(0deg);
transform-origin: 15px 15px;
}
.refresh-icon-active {
transform: rotate(180deg);
}
.loading-icon {
width: 28px;
height: 28px;
margin-right: 5px;
color: gray;
}
.loading-text {
margin-left: 2px;
font-size: 16px;
color: #999999;
}
.loading-more {
align-items: center;
justify-content: center;
padding-top: 14px;
padding-bottom: 14px;
text-align: center;
}
.loading-more-text {
font-size: 12px;
color: #999;
}
.bottom-box {
position: fixed;
display: flex;
bottom: 0;
left: 0;
z-index: 10;
width: 750rpx;
height: 100rpx;
justify-content: space-around;
align-items: center;
background: #fff;
padding: 0 20rpx;
}
.bottom-btn {
width: 328rpx;
height: 92rpx;
border-radius: 50%;
justify-content: space-between;
align-items: center;
}
.subBtn {
background: $wly-primary-color;
border: none;
width: 120rpx;
height: 60rpx;
line-height: 60rpx;
}
.btn-text {
color: #fff;
font-size: 28rpx;
}
.empty-block {
width: 750rpx;
display: flex;
flex-direction: column;
align-items: center;
}
.margin-bot {
margin-bottom: 120rpx;
}
.red {
color: #f61d30;
font-size: 24rpx;
}
.font-sc {
color: #333;
font-size: 24rpx;
}
.flex-column {
display: flex;
flex-direction: column;
}
.check-box {
/deep/ .uni-checkbox-wrapper {
margin-top: 14rpx;
margin-right: 10rpx;
}
}
</style>
\ No newline at end of file
This diff is collapsed.
...@@ -110,6 +110,15 @@ ...@@ -110,6 +110,15 @@
<text class="dot" v-if="dhkNum - 0 >0">{{dhkNum}}</text> <text class="dot" v-if="dhkNum - 0 >0">{{dhkNum}}</text>
<text class="entry-bill-text">销售折扣</text> <text class="entry-bill-text">销售折扣</text>
</view> </view>
<view class="entry-block" @click="goPage('terminal-list')">
<view class="entry-bill">
<image class="entry-bill-icon entry-bill-icon_billing"
src="@/static/image/terminalIn.png" mode="">
</image>
</view>
<text class="dot" v-if="zdzpNum - 0 >0">{{zdzpNum}}</text>
<text class="entry-bill-text">直配订单查询</text>
</view>
<!-- <view class="entry-block" @click="goPage('brand-recommend')"> <!-- <view class="entry-block" @click="goPage('brand-recommend')">
<view class="entry-bill"> <view class="entry-bill">
<image class="entry-bill-icon entry-bill-icon_billing" <image class="entry-bill-icon entry-bill-icon_billing"
...@@ -151,7 +160,9 @@ ...@@ -151,7 +160,9 @@
import { import {
apiLogOut apiLogOut
} from '@/servers/user.js' } from '@/servers/user.js'
import {
getTermianlCountAll
} from '@/servers/terminal.js'
export default { export default {
onLoad() { onLoad() {
this.winHeight = `height:${this.sysinfo.safeArea.height}px` this.winHeight = `height:${this.sysinfo.safeArea.height}px`
...@@ -171,7 +182,8 @@ ...@@ -171,7 +182,8 @@
type: 0, // 全部9 代办0 已办2 type: 0, // 全部9 代办0 已办2
}, },
agentNum: 0, agentNum: 0,
dhkNum: 0 dhkNum: 0,
zdzpNum: 0
} }
}, },
computed: { computed: {
...@@ -189,14 +201,12 @@ ...@@ -189,14 +201,12 @@
this.getUsercenterNum() this.getUsercenterNum()
}, },
methods: { methods: {
async getUsercenterNum(){ async getTermianlCountAll(){
let params = { let params = {"demandType":"ZDZG","isReview":0,"signDateNotNull":true}
user_bp: this.userInfo.code, let res = await getTermianlCountAll(params)
role: "WLY001", this.zdzpNum = res.data || 0
} const allDot = Number(this.zdzpNum + this.dhkNum)
let res = await getDhkDbsl(params) if(allDot - 0 < 1){
this.dhkNum = res.dbsl
if(res.dbsl - 0 < 1){
uni.removeTabBarBadge({ uni.removeTabBarBadge({
index:3 index:3
}) })
...@@ -204,9 +214,18 @@ ...@@ -204,9 +214,18 @@
} }
uni.setTabBarBadge({ uni.setTabBarBadge({
index:3, index:3,
text: res.dbsl.toString() text: allDot.toString()
}) })
}, },
async getUsercenterNum(){
let params = {
user_bp: this.userInfo.code,
role: "WLY001",
}
let res = await getDhkDbsl(params)
this.dhkNum = res.dbsl || 0
this.getTermianlCountAll()
},
async apiGetMissionList(){ async apiGetMissionList(){
const params = { const params = {
...this.condition, ...this.condition,
......
...@@ -40,7 +40,7 @@ class Request { ...@@ -40,7 +40,7 @@ class Request {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
options.complete = (response) => { options.complete = (response) => {
console.log('api.helper---options.complete', response) // console.log('api.helper---options.complete', response)
// 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading) // 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading)
uni.hideLoading(); uni.hideLoading();
// 清除定时器,如果请求回来了,就无需loading // 清除定时器,如果请求回来了,就无需loading
......
...@@ -59,14 +59,14 @@ const install = (Vue, vm) => { ...@@ -59,14 +59,14 @@ const install = (Vue, vm) => {
// 方式四,如果token放在了Storage本地存储中,拦截是每次请求都执行的,所以哪怕您重新登录修改了Storage,下一次的请求将会是最新值 // 方式四,如果token放在了Storage本地存储中,拦截是每次请求都执行的,所以哪怕您重新登录修改了Storage,下一次的请求将会是最新值
// const token = uni.getStorageSync('token'); // const token = uni.getStorageSync('token');
// config.header.token = token; // config.header.token = token;
console.log('http.interceptor.request', config) // console.log('http.interceptor.request', config)
return config; return config;
} }
// 响应拦截,判断状态码是否通过 // 响应拦截,判断状态码是否通过
http.interceptor.response = (res) => { http.interceptor.response = (res) => {
// 如果把originalData设置为了true,这里得到将会是服务器返回的所有的原始数据 // 如果把originalData设置为了true,这里得到将会是服务器返回的所有的原始数据
// 判断可能变成了res.statueCode,或者res.data.code之类的,请打印查看结果 // 判断可能变成了res.statueCode,或者res.data.code之类的,请打印查看结果
console.log('http.interceptor---response-----', res) // console.log('http.interceptor---response-----', res)
if (res.MSGTYPE === 'S' || res.msgtype === 'S' || res.status === 1 || res.status === 0 || res.result === 'S' || res if (res.MSGTYPE === 'S' || res.msgtype === 'S' || res.status === 1 || res.status === 0 || res.result === 'S' || res
.Status === .Status ===
'Success') { 'Success') {
......
...@@ -135,3 +135,8 @@ export async function findFirstByTerminalId(params) { ...@@ -135,3 +135,8 @@ export async function findFirstByTerminalId(params) {
const res = await apiHelper.post('/crm-app/wantgoods/findFirstByTerminalId', params, {'Content-Type': 'application/x-www-form-urlencoded'}) const res = await apiHelper.post('/crm-app/wantgoods/findFirstByTerminalId', params, {'Content-Type': 'application/x-www-form-urlencoded'})
return res return res
} }
// 查询终端要货箱码
export async function findGoodsSingleJoinBoxBarcode(params) {
const res = await apiHelper.post('/crm-app/wantGoodsDataQuery/findGoodsSingleJoinBoxBarcode', params, )
return res
}
import apiHelper from './api.helper.js'
// 查询签收未查看数量
export async function getTermianlCountAll(params) {
const res = await apiHelper.post('/crm-app/deliveryorderquery/countAll', params)
return res
}
// 查询签收终端直配要货单数据
export async function getTermianlList(params) {
const res = await apiHelper.post('/crm-app/deliveryorderquery/findAll', params)
return res
}
// 修改数据为已查看
export async function updateTransportInfoReview(params) {
const res = await apiHelper.post('/crm-app/deliverysettlement/updateTransportInfoReview', params)
return res
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment