Commit 4407f7f6 authored by xiangzj's avatar xiangzj

订单动态和终端

parent dc1529a0
...@@ -17,14 +17,14 @@ ...@@ -17,14 +17,14 @@
<text class="detal-item-value">{{missionDetail.terminalName}}</text> <text class="detal-item-value">{{missionDetail.terminalName}}</text>
<text class="detal-item-value">{{missionDetail.terminalAddress}}</text> <text class="detal-item-value">{{missionDetail.terminalAddress}}</text>
<text class="detal-item-value">{{missionDetail.productName}}</text> <text class="detal-item-value">{{missionDetail.productName}}</text>
<text class="detal-item-value">{{missionDetail.productQty}}</text> <text class="detal-item-value">{{missionDetail.productQty}}</text>
</view> </view>
<template v-for="(letter,index) in contactLetterDetail.entryDataList"> <template v-for="(letter,index) in contactLetterDetail.entryDataList">
<view class="text-block text-block-last"> <view class="text-block text-block-last">
<text class="middle-date">联络函编号</text> <text class="middle-date">联络函编号</text>
<text class="middle-date-des">{{letter.contactLetterId}}</text> <text class="middle-date-des">{{letter.contactLetterId}}</text>
</view> </view>
<view class="text-block text-block-last"> <view class="text-block text-block-last" @click="previewImg(letter.contactLetterUrl)">
<text class="middle-date">附件</text> <text class="middle-date">附件</text>
<text class="middle-date-des">{{letter.contactLetterName}}</text> <text class="middle-date-des">{{letter.contactLetterName}}</text>
</view> </view>
...@@ -93,12 +93,12 @@ ...@@ -93,12 +93,12 @@
</view> </view>
<view class="text-block-children "> <view class="text-block-children ">
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/person.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveRecorderName}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveRecorderName}}</text>
</view> </view>
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/time.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveRecorderTime}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveRecorderTime}}</text>
</view> </view>
...@@ -115,17 +115,32 @@ ...@@ -115,17 +115,32 @@
</view> </view>
<view class="text-block-children "> <view class="text-block-children ">
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/person.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveConfirmUserName}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveConfirmUserName}}</text>
</view> </view>
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/time.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveConfirmTime}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveConfirmTime}}</text>
</view> </view>
</view> </view>
<view class="text-block text-block-last"> <view class="text-block">
<text class="middle-date">是否有异议</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="bindPickerProChange" mode="selector"
range-key='value' :value="condition.remarkView" :range="typePicker">
<text
class="uni-input-text" style="height: 96rpx;line-height: 96rpx;">{{ condition.remarkView}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
</view>
<!-- <view class="text-block text-block-last">
<text class="middle-date">情况说明</text> <text class="middle-date">情况说明</text>
</view> </view>
<view class="remark"> <view class="remark">
...@@ -148,7 +163,7 @@ ...@@ -148,7 +163,7 @@
</view> </view>
</view> </view>
</view> </view>
</view> </view> -->
</view> </view>
</view> </view>
...@@ -184,11 +199,23 @@ ...@@ -184,11 +199,23 @@
expectInsuredValue: '', expectInsuredValue: '',
expectLogistics: '', expectLogistics: '',
notes: '', notes: '',
entryDataList: [] entryDataList: [],
remarkView: '',
remark: '',
}, },
missionDetail: {}, missionDetail: {},
contactLetterDetail: {}, contactLetterDetail: {},
fileList: [], fileList: [],
typePicker: [
{
key: 0,
value: '无异议'
},
{
key: 1,
value: '有异议'
}
]
} }
}, },
computed: { computed: {
...@@ -222,6 +249,37 @@ ...@@ -222,6 +249,37 @@
} }
}, },
methods: { methods: {
bindPickerProChange(e){
console.log('picker发送选择改变,携带值为', e.detail.value)
this.condition.remark = e.detail.value
this.condition.remarkView = this.typePicker[e.detail.value].value
},
previewImg (urls) {
// #ifdef APP-PLUS
const url = 'http://221.10.127.50/wmdp-uploadfile'+urls
let dtask = plus.downloader.createDownload(url, {}, function(d, status){
// 下载完成
if(status == 200){
console.log("Download success: " + d.url);
plus.runtime.openFile(d.filename)
} else {
console.log("Download failed: " + status);
}
});
//dtask.addEventListener("statechanged", onStateChanged, false);
dtask.start();
// #endif
// window.open('http://221.10.127.50/wmdp-uploadfile/sap-reportform/2022/10/31/20b93371-bbf6-ed6f-cf4b-b1731956bfa2.pdf');
// 预览pdf
// let fileUrl = 'http://221.10.127.50/wmdp-uploadfile/sap-reportform/2022/10/31/20b93371-bbf6-ed6f-cf4b-b1731956bfa2.pdf?fileSize=116591'
// uni.navigateTo({
// url: `/pages/preview/preview?fileUrl=encodeURIComponent(${fileUrl})`
// });
// uni.previewImage({
// current: 0,
// urls:'http://221.10.127.50/wmdp-uploadfile/sap-reportform/2022/10/31/20b93371-bbf6-ed6f-cf4b-b1731956bfa2.pdf?fileSize=116591'
// })
},
async getContactLetterDetail() { async getContactLetterDetail() {
uni.showLoading({ uni.showLoading({
title: '加载中' title: '加载中'
...@@ -229,44 +287,9 @@ ...@@ -229,44 +287,9 @@
setTimeout(function() { setTimeout(function() {
uni.hideLoading(); uni.hideLoading();
}, 2000); }, 2000);
// const res = await apiGetContactLetterDetail({ const res = await apiGetContactLetterDetail({
// taskAssignmentId: this.condition.taskAssignmentId taskAssignmentId: this.condition.taskAssignmentId
// }) })
let res = {
"result": "S",
"message": "操作成功",
"data": {
"taskAssignmentId": "T000008HK",
"bankName": "开户行",
"accountName": "户名",
"accountNumber": "账号",
"contact": "联系人",
"contactPhone": "联系电话",
"receiveAddress": "收货地址",
"contactUser": "收获联系人",
"receiveContactPhone": "联系人电话",
"expectInsuredValue": "期望保价",
"expectLogistics": "期望物流公司",
"receiveRecorderName": "录入人",
"receiveRecorderTime": "录入时间",
"remitPaidParty": "打款方",
"remitPaidUrl": "打款凭证照片",
"remitRecorderName": "打款录入人",
"remitRecorderTime": "打款录入时间",
"shipLogistics": "发货物流公司",
"shipLogisticsNo": "发货单号",
"shipTime": "发货时间",
"shipRecorderName": "发货人",
"entryDataList": [{
"contactLetterId": "联络函编号",
"contactLetterName": "联络函名称",
"createUserName": "创建人",
"status": "状态",
"statusName": "状态",
"createTime": "生成时间"
}]
}
}
uni.hideLoading(); uni.hideLoading();
for (let key in res.data) { for (let key in res.data) {
this.$set(this.contactLetterDetail, key, res.data[key]) this.$set(this.contactLetterDetail, key, res.data[key])
...@@ -276,9 +299,17 @@ ...@@ -276,9 +299,17 @@
}, },
async submit() { async submit() {
if(this.condition.remark === ''){
uni.showToast({
title: '请先选择是否有异议',
duration: 2000,
icon: 'none'
});
return
}
const params = { const params = {
'ticketId': this.condition.taskAssignmentId, 'ticketId': this.condition.taskAssignmentId,
'remark': this.condition.notes, 'remark': this.condition.remark,
'userid': this.userInfo.code, 'userid': this.userInfo.code,
'distributer': true, 'distributer': true,
'processBusinessInstanceId': this.condition.taskAssignmentId, 'processBusinessInstanceId': this.condition.taskAssignmentId,
...@@ -377,12 +408,11 @@ ...@@ -377,12 +408,11 @@
display: flex; display: flex;
align-items: center; align-items: center;
height: 60rpx; height: 60rpx;
padding-left: 40rpx;
} }
.children-block-icon { .children-block-icon {
width: 40rpx; width: 30rpx;
height: 40rpx; height: 30rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
...@@ -559,4 +589,14 @@ ...@@ -559,4 +589,14 @@
color: #fff; color: #fff;
font-size: 34rpx; font-size: 34rpx;
} }
.entry-bill-icon {
width: 40rpx;
height: 40rpx;
margin-right: 4rpx;
}
.entry-bill-icon_billing {
width: 38rpx;
height: 40rpx;
}
</style> </style>
...@@ -17,14 +17,14 @@ ...@@ -17,14 +17,14 @@
<text class="detal-item-value">{{missionDetail.terminalName}}</text> <text class="detal-item-value">{{missionDetail.terminalName}}</text>
<text class="detal-item-value">{{missionDetail.terminalAddress}}</text> <text class="detal-item-value">{{missionDetail.terminalAddress}}</text>
<text class="detal-item-value">{{missionDetail.productName}}</text> <text class="detal-item-value">{{missionDetail.productName}}</text>
<text class="detal-item-value">{{missionDetail.productQty}}</text> <text class="detal-item-value">{{missionDetail.productQty}}</text>
</view> </view>
<template v-for="(letter,index) in contactLetterDetail.entryDataList"> <template v-for="(letter,index) in contactLetterDetail.entryDataList">
<view class="text-block text-block-last"> <view class="text-block text-block-last">
<text class="middle-date">联络函编号</text> <text class="middle-date">联络函编号</text>
<text class="middle-date-des">{{letter.contactLetterId}}</text> <text class="middle-date-des">{{letter.contactLetterId}}</text>
</view> </view>
<view class="text-block text-block-last"> <view class="text-block text-block-last" @click="previewImg(letter.contactLetterUrl)">
<text class="middle-date">附件</text> <text class="middle-date">附件</text>
<text class="middle-date-des">{{letter.contactLetterName}}</text> <text class="middle-date-des">{{letter.contactLetterName}}</text>
</view> </view>
...@@ -162,12 +162,12 @@ ...@@ -162,12 +162,12 @@
</view> </view>
<view class="text-block-children "> <view class="text-block-children ">
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/person.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveRecorderName}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveRecorderName}}</text>
</view> </view>
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/time.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveRecorderTime}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveRecorderTime}}</text>
</view> </view>
...@@ -204,12 +204,12 @@ ...@@ -204,12 +204,12 @@
</view> </view>
<view class="text-block-children "> <view class="text-block-children ">
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/person.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.shipRecorderName}}</text> <text class="children-block-text">{{ contactLetterDetail.shipRecorderName}}</text>
</view> </view>
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/time.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.shipTime}}</text> <text class="children-block-text">{{ contactLetterDetail.shipTime}}</text>
</view> </view>
...@@ -276,6 +276,22 @@ ...@@ -276,6 +276,22 @@
} }
}, },
methods: { methods: {
previewImg (urls) {
// #ifdef APP-PLUS
const url = 'http://221.10.127.50/wmdp-uploadfile'+urls
let dtask = plus.downloader.createDownload(url, {}, function(d, status){
// 下载完成
if(status == 200){
console.log("Download success: " + d.url);
plus.runtime.openFile(d.filename)
} else {
console.log("Download failed: " + status);
}
});
//dtask.addEventListener("statechanged", onStateChanged, false);
dtask.start();
// #endif
},
async getContactLetterDetail() { async getContactLetterDetail() {
uni.showLoading({ uni.showLoading({
title: '加载中' title: '加载中'
...@@ -415,12 +431,11 @@ ...@@ -415,12 +431,11 @@
display: flex; display: flex;
align-items: center; align-items: center;
height: 60rpx; height: 60rpx;
padding-left: 40rpx;
} }
.children-block-icon { .children-block-icon {
width: 40rpx; width: 30rpx;
height: 40rpx; height: 30rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
......
...@@ -17,14 +17,14 @@ ...@@ -17,14 +17,14 @@
<text class="detal-item-value">{{missionDetail.terminalName}}</text> <text class="detal-item-value">{{missionDetail.terminalName}}</text>
<text class="detal-item-value">{{missionDetail.terminalAddress}}</text> <text class="detal-item-value">{{missionDetail.terminalAddress}}</text>
<text class="detal-item-value">{{missionDetail.productName}}</text> <text class="detal-item-value">{{missionDetail.productName}}</text>
<text class="detal-item-value">{{missionDetail.productQty}}</text> <text class="detal-item-value">{{missionDetail.productQty}}</text>
</view> </view>
<template v-for="(letter,index) in contactLetterDetail.entryDataList"> <template v-for="(letter,index) in contactLetterDetail.entryDataList">
<view class="text-block text-block-last"> <view class="text-block text-block-last">
<text class="middle-date">联络函编号</text> <text class="middle-date">联络函编号</text>
<text class="middle-date-des">{{letter.contactLetterId}}</text> <text class="middle-date-des">{{letter.contactLetterId}}</text>
</view> </view>
<view class="text-block text-block-last"> <view class="text-block text-block-last" @click="previewImg(letter.contactLetterUrl)">
<text class="middle-date">附件</text> <text class="middle-date">附件</text>
<text class="middle-date-des">{{letter.contactLetterName}}</text> <text class="middle-date-des">{{letter.contactLetterName}}</text>
</view> </view>
...@@ -93,12 +93,12 @@ ...@@ -93,12 +93,12 @@
</view> </view>
<view class="text-block-children "> <view class="text-block-children ">
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/person.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveRecorderName}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveRecorderName}}</text>
</view> </view>
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/time.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveRecorderTime}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveRecorderTime}}</text>
</view> </view>
...@@ -125,12 +125,12 @@ ...@@ -125,12 +125,12 @@
</view> </view>
<view class="text-block-children "> <view class="text-block-children ">
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/person.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.shipRecorderName}}</text> <text class="children-block-text">{{ contactLetterDetail.shipRecorderName}}</text>
</view> </view>
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/time.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.shipTime}}</text> <text class="children-block-text">{{ contactLetterDetail.shipTime}}</text>
</view> </view>
...@@ -147,17 +147,17 @@ ...@@ -147,17 +147,17 @@
</view> </view>
<view class="text-block-children "> <view class="text-block-children ">
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/person.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveConfirmUserName}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveConfirmUserName}}</text>
</view> </view>
<view class="children-block"> <view class="children-block">
<image class="children-block-icon" src="@/static/image/usercenter_purchaseplan@3x.png" mode=""> <image class="children-block-icon" src="@/static/image/time.png" mode="">
</image> </image>
<text class="children-block-text">{{ contactLetterDetail.receiveConfirmTime}}</text> <text class="children-block-text">{{ contactLetterDetail.receiveConfirmTime}}</text>
</view> </view>
</view> </view>
<view class="text-block"> <!-- <view class="text-block">
<text class="middle-date">有无异议</text> <text class="middle-date">有无异议</text>
<view class="middle-date-des uni-list picker-year"> <view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell"> <view class="uni-list-cell">
...@@ -167,7 +167,7 @@ ...@@ -167,7 +167,7 @@
</view> </view>
</view> </view>
</view> </view>
</view> </view> -->
</view> </view>
</view> </view>
...@@ -224,6 +224,22 @@ ...@@ -224,6 +224,22 @@
} }
}, },
methods: { methods: {
previewImg (urls) {
// #ifdef APP-PLUS
const url = 'http://221.10.127.50/wmdp-uploadfile'+urls
let dtask = plus.downloader.createDownload(url, {}, function(d, status){
// 下载完成
if(status == 200){
console.log("Download success: " + d.url);
plus.runtime.openFile(d.filename)
} else {
console.log("Download failed: " + status);
}
});
//dtask.addEventListener("statechanged", onStateChanged, false);
dtask.start();
// #endif
},
async getContactLetterDetail() { async getContactLetterDetail() {
uni.showLoading({ uni.showLoading({
title: '加载中' title: '加载中'
...@@ -345,12 +361,11 @@ ...@@ -345,12 +361,11 @@
display: flex; display: flex;
align-items: center; align-items: center;
height: 60rpx; height: 60rpx;
padding-left: 40rpx;
} }
.children-block-icon { .children-block-icon {
width: 40rpx; width: 30rpx;
height: 40rpx; height: 30rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
......
...@@ -17,14 +17,14 @@ ...@@ -17,14 +17,14 @@
<text class="detal-item-value">{{missionDetail.terminalName}}</text> <text class="detal-item-value">{{missionDetail.terminalName}}</text>
<text class="detal-item-value">{{missionDetail.terminalAddress}}</text> <text class="detal-item-value">{{missionDetail.terminalAddress}}</text>
<text class="detal-item-value">{{missionDetail.productName}}</text> <text class="detal-item-value">{{missionDetail.productName}}</text>
<text class="detal-item-value">{{missionDetail.productQty}}</text> <text class="detal-item-value">{{missionDetail.productQty}}</text>
</view> </view>
<template v-for="(letter,index) in contactLetterDetail.entryDataList"> <template v-for="(letter,index) in contactLetterDetail.entryDataList">
<view class="text-block text-block-last"> <view class="text-block text-block-last">
<text class="middle-date">联络函编号</text> <text class="middle-date">联络函编号</text>
<text class="middle-date-des">{{letter.contactLetterId}}</text> <text class="middle-date-des">{{letter.contactLetterId}}</text>
</view> </view>
<view class="text-block text-block-last"> <view class="text-block text-block-last" @click="previewImg(letter.contactLetterUrl)">
<text class="middle-date">附件</text> <text class="middle-date">附件</text>
<text class="middle-date-des">{{letter.contactLetterName}}</text> <text class="middle-date-des">{{letter.contactLetterName}}</text>
</view> </view>
...@@ -311,7 +311,7 @@ ...@@ -311,7 +311,7 @@
} }
}, },
computed: { computed: {
...mapState(['sysinfo', 'userInfo']), ...mapState(['sysinfo', 'userInfo','userBpData']),
navHeight() { navHeight() {
return { return {
'height': `${this.sysinfo.safeArea.top + 44}px` 'height': `${this.sysinfo.safeArea.top + 44}px`
...@@ -332,6 +332,22 @@ ...@@ -332,6 +332,22 @@
} }
}, },
methods: { methods: {
previewImg (urls) {
// #ifdef APP-PLUS
const url = 'http://221.10.127.50/wmdp-uploadfile'+urls
let dtask = plus.downloader.createDownload(url, {}, function(d, status){
// 下载完成
if(status == 200){
console.log("Download success: " + d.url);
plus.runtime.openFile(d.filename)
} else {
console.log("Download failed: " + status);
}
});
//dtask.addEventListener("statechanged", onStateChanged, false);
dtask.start();
// #endif
},
onInputTap(){ onInputTap(){
this.isNoShow = true this.isNoShow = true
}, },
...@@ -409,19 +425,6 @@ ...@@ -409,19 +425,6 @@
this.deliveryCompanyPickerShow = !this.deliveryCompanyPickerShow this.deliveryCompanyPickerShow = !this.deliveryCompanyPickerShow
}, },
async submit() { async submit() {
const address = uni.getStorageSync('wlyAddress')
if(address){
if(address.length === 5){
address.pop()
}
address.unshift(this.contactLetterDetail.receiveAddress)
uni.setStorageSync('wlyAddress', address);
}else{
uni.setStorageSync('wlyAddress', [this.contactLetterDetail.receiveAddress]);
}
if(1){
return
}
const params = { const params = {
'taskAssignmentId': this.condition.taskAssignmentId, 'taskAssignmentId': this.condition.taskAssignmentId,
'receiveAddress': this.contactLetterDetail.receiveAddress, 'receiveAddress': this.contactLetterDetail.receiveAddress,
...@@ -430,7 +433,7 @@ ...@@ -430,7 +433,7 @@
'expectInsuredValue': this.contactLetterDetail.expectInsuredValue, 'expectInsuredValue': this.contactLetterDetail.expectInsuredValue,
'expectLogistics': this.deliveryCompanyPickerShow ? this.deliveryCompanyList[this.deliveryCompanyIndex].name : this.condition.expectLogistics, 'expectLogistics': this.deliveryCompanyPickerShow ? this.deliveryCompanyList[this.deliveryCompanyIndex].name : this.condition.expectLogistics,
'receiveRecorderId': this.userInfo.code, 'receiveRecorderId': this.userInfo.code,
'receiveRecorderName': this.userInfo.name, 'receiveRecorderName': this.userBpData.USER_NAME,
'contactLetterId': this.condition.entryDataList[0].contactLetterId, 'contactLetterId': this.condition.entryDataList[0].contactLetterId,
'bundledProducts': this.condition.bundledProducts 'bundledProducts': this.condition.bundledProducts
} }
...@@ -453,9 +456,6 @@ ...@@ -453,9 +456,6 @@
}else{ }else{
uni.setStorageSync('wlyAddress', [this.contactLetterDetail.receiveAddress]); uni.setStorageSync('wlyAddress', [this.contactLetterDetail.receiveAddress]);
} }
if(1){
return
}
} }
uni.hideLoading(); uni.hideLoading();
uni.navigateBack() uni.navigateBack()
...@@ -774,10 +774,4 @@ ...@@ -774,10 +774,4 @@
/deep/ .uni-input-input{ /deep/ .uni-input-input{
font-size: 28rpx; font-size: 28rpx;
} }
.qaz{
position: absolute;
top: 100px;
// display: flex;
// flex-direction: column;
}
</style> </style>
<template> <template>
<view class="lists"> <view class="lists">
<scroll-view class="scroll-area view" show-scrollbar='false' scroll-y="true">
<view class="main">
<view class="middle view planout-block-item"> <view class="middle view planout-block-item">
<view class="text-block" @click="selectGroupClient"> <view class="text-block" @click="selectGroupClient">
<text class="middle-date">团购单位</text> <text class="middle-date">团购单位</text>
...@@ -85,18 +87,21 @@ ...@@ -85,18 +87,21 @@
</view> </view>
<view class="text-block"> <view class="text-block">
<text class="middle-date">联系人</text> <text class="middle-date">联系人</text>
<input class="middle-date-des" type="text" v-model="selectedAddress.C_O_NAME" placeholder="请填写" /> <text class="middle-date-des">{{selectedAddress.C_O_NAME}}</text>
<!-- <input class="middle-date-des" type="text" v-model="selectedAddress.C_O_NAME" placeholder="请填写" /> -->
</view> </view>
<view class="text-block text-block-last"> <view class="text-block">
<text class="middle-date">电话</text> <text class="middle-date">电话</text>
<input class="middle-date-des" type="text" v-model="selectedAddress.TEL_NUMBER" placeholder="请填写" /> <text class="middle-date-des">{{selectedAddress.TEL_NUMBER}}</text>
<!-- <input class="middle-date-des" type="text" v-model="selectedAddress.TEL_NUMBER" placeholder="请填写" /> -->
</view> </view>
<view class="text-block text-block-last"> <view class="text-block text-block-last">
<text class="middle-date">收货地址</text> <text class="middle-date">收货地址</text>
<input class="middle-date-des" type="text" v-model="selectedAddress.STREET" placeholder="请填写" /> <text class="middle-date-des">{{selectedAddress.STREET}}</text>
<!-- <input class="middle-date-des" type="text" v-model="selectedAddress.STREET" placeholder="请填写" /> -->
</view>
</view> </view>
</view> </view>
<view class="bottom-area"></view> <view class="bottom-area"></view>
<view class="bottom"> <view class="bottom">
...@@ -107,6 +112,7 @@ ...@@ -107,6 +112,7 @@
<text class="btn-text">下一步</text> <text class="btn-text">下一步</text>
</button> </button>
</view> </view>
</scroll-view>
</view> </view>
</template> </template>
...@@ -123,6 +129,7 @@ ...@@ -123,6 +129,7 @@
export default { export default {
data() { data() {
return { return {
scrollTop: 0,
selectedBusiness: {}, selectedBusiness: {},
selectedGroupClient: {}, selectedGroupClient: {},
selectedAddress: {}, selectedAddress: {},
...@@ -165,7 +172,7 @@ ...@@ -165,7 +172,7 @@
value: '' value: ''
}, { }, {
key: 'O', key: 'O',
value: '团购订单' value: '团购订单'
}, },
{ {
key: 'U', key: 'U',
...@@ -402,6 +409,31 @@ ...@@ -402,6 +409,31 @@
}); });
}, },
nextStep() { nextStep() {
if(!this.selectedGroupClient.OBJNAME){
uni.showToast({
title: '请先选择团购单位',
duration: 2000,
icon: 'none'
});
return
}
if(!this.paintDesignPicker[this.paintDesignIndex].key){
uni.showToast({
title: '请先选择喷码方式',
duration: 2000,
icon: 'none'
});
return
}
if(!this.selectedAddress.C_O_NAME || !this.selectedAddress.TEL_NUMBER || !this.selectedAddress.STREET){
uni.showToast({
title: '请先填写收货方信息',
duration: 2000,
icon: 'none'
});
return
}
let groupOrder = { let groupOrder = {
'ITEM': this.planinnerLists, 'ITEM': this.planinnerLists,
'ATTACHMENT': [], 'ATTACHMENT': [],
...@@ -436,19 +468,25 @@ ...@@ -436,19 +468,25 @@
.view { .view {
flex-direction: column; flex-direction: column;
} }
.main {
flex-direction: column;
border-radius: 16rpx;
}
.lists { .lists {
position: relative; position: relative;
flex-direction: column; flex-direction: column;
padding: 0 16rpx; padding: 0 16rpx;
overflow-y: scroll;
background: #f0f4f5; background: #f0f4f5;
} }
.scroll-area {
flex: 1;
}
.middle { .middle {
background-color: #fff; background-color: #fff;
border-radius: 16rpx; border-radius: 16rpx;
padding: 32rpx 64rpx 40rpx 48rpx; padding: 32rpx 64rpx 40rpx 48rpx;
margin-bottom: 30rpx;
} }
.text-block { .text-block {
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<text class="upload-text">附件上传</text> <text class="upload-text">附件上传</text>
</view> </view>
<view class="upload-block"> <view class="upload-block">
<uni-file-picker ref='files' :auto-upload='false' v-model="fileList" file-mediatype="image" <uni-file-picker ref='files' limit="4" :auto-upload='false' v-model="fileList" file-mediatype="image"
:imageStyles="imageStyles" @select="select" @progress="progress" @success="success" @fail='fail'> :imageStyles="imageStyles" @select="select" @progress="progress" @success="success" @fail='fail'>
<text>+</text> <text>+</text>
</uni-file-picker> </uni-file-picker>
...@@ -126,8 +126,7 @@ ...@@ -126,8 +126,7 @@
this.groupOrder.ITEM.forEach((item) => { this.groupOrder.ITEM.forEach((item) => {
money += item.NET_VALUE * 1 money += item.NET_VALUE * 1
}) })
return money return money.toFixed(2)
return money
} }
}, },
methods: { methods: {
...@@ -139,9 +138,14 @@ ...@@ -139,9 +138,14 @@
ITEM, ITEM,
ATTACHMENT ATTACHMENT
} = this.groupOrder } = this.groupOrder
const params = { const params = {
"MODE": "SAVE", "MODE": "SAVE",
INFO, INFO: {
...INFO,
ZZFLD00009CX: INFO.ZZFLD00009CX ? 'X': '',
ZZFLD000099: INFO.ZZFLD000099 ? 'X': '',
},
ITEM, ITEM,
ATTACHMENT, ATTACHMENT,
"USER_BP": this.userInfo.code, "USER_BP": this.userInfo.code,
...@@ -307,26 +311,27 @@ ...@@ -307,26 +311,27 @@
.upload-block { .upload-block {
display: flex; display: flex;
align-items: center; // align-items: center;
justify-content: center; // justify-content: center;
align-self: center; // align-self: center;
width: 344rpx; // width: 388rpx;
height: 344rpx; height: 388rpx;
background: #f5f6f7; // background: #f5f6f7;
border: 1px dashed #dedede; // border: 1px dashed #dedede;
border-radius: 4px; border-radius: 4px;
margin-top: 90rpx; margin-top: 90rpx;
flex-direction: column;
} }
.uni-file-picker { // .uni-file-picker {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
} // }
/deep/ .uni-file-picker__container { // /deep/ .uni-file-picker__container {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
} // }
.bottom-area { .bottom-area {
height: 140rpx; height: 140rpx;
......
...@@ -183,13 +183,30 @@ ...@@ -183,13 +183,30 @@
POSTING_DATE, POSTING_DATE,
...this.page ...this.page
} }
if (this.nid === 'V013') { if (this.nid === 'V013') {
params.ZZFLD00002J = [{ params.ZZFLD00002J = [{
"SIGN": "I", "SIGN": "I",
"OPTION": "EQ", "OPTION": "EQ",
LOW: 'V013', LOW: 'V013',
}] }]
} else if (this.nid === 'ZS02'){
params.ZZFLD00002J = [
    {
        "SIGN": "E",
        "OPTION": "EQ",
        "LOW": "V013"
    },
    {
        "SIGN": "E",
        "OPTION": "EQ",
        "LOW": "V014"
    },
    {
        "SIGN": "E",
        "OPTION": "EQ",
        "LOW": "V015"
    }
]
} else { } else {
delete params['ZZFLD00002J'] delete params['ZZFLD00002J']
} }
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<text class="upload-text">附件上传</text> <text class="upload-text">附件上传</text>
</view> </view>
<view class="upload-block"> <view class="upload-block">
<uni-file-picker ref='files' :auto-upload='false' v-model="fileList" file-mediatype="image" <uni-file-picker ref='files' limit="4" :auto-upload='false' v-model="fileList" file-mediatype="image"
:imageStyles="imageStyles" @select="select" @progress="progress" @success="success" @fail='fail'> :imageStyles="imageStyles" @select="select" @progress="progress" @success="success" @fail='fail'>
<text>+</text> <text>+</text>
</uni-file-picker> </uni-file-picker>
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
this.noQuotaOrder.ITEM.forEach((item) => { this.noQuotaOrder.ITEM.forEach((item) => {
money += item.NET_VALUE * 1 money += item.NET_VALUE * 1
}) })
return money return money.toFixed(2)
} }
}, },
methods: { methods: {
...@@ -147,6 +147,8 @@ ...@@ -147,6 +147,8 @@
ATTACHMENT = [...ATTACHMENT, ...this.imgFileBase64] ATTACHMENT = [...ATTACHMENT, ...this.imgFileBase64]
const params = { const params = {
"USER_BP": this.userInfo.code,
"ROLE": 'WLY001',
"MODE": "SAVE", "MODE": "SAVE",
INFO, INFO,
ITEM, ITEM,
...@@ -170,7 +172,8 @@ ...@@ -170,7 +172,8 @@
} = res1.DATA } = res1.DATA
const params2 = { const params2 = {
// "USER_BP": "81000010", "USER_BP": this.userInfo.code,
"ROLE": 'WLY001',
"MODE": "SUBMIT", "MODE": "SUBMIT",
"info": INFO2, "info": INFO2,
'ITEM': ITEM2, 'ITEM': ITEM2,
...@@ -322,7 +325,7 @@ ...@@ -322,7 +325,7 @@
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
margin-bottom: 32rpx; margin-bottom: 32rpx;
padding: 32rpx 48rpx 140rpx; padding: 32rpx 48rpx 10rpx;
} }
.icon_plan { .icon_plan {
...@@ -333,25 +336,26 @@ ...@@ -333,25 +336,26 @@
.upload-block { .upload-block {
display: flex; display: flex;
align-items: center; // align-items: center;
justify-content: center; // justify-content: center;
align-self: center; // align-self: center;
width: 344rpx; // width: 388rpx;
height: 344rpx; height: 388rpx;
background: #f5f6f7; // background: #f5f6f7;
border: 1px dashed #dedede; // border: 1px dashed #dedede;
border-radius: 4px; border-radius: 4px;
margin-top: 90rpx; margin-top: 90rpx;
flex-direction: column;
} }
.uni-file-picker { /deep/ .uni-file-picker {
width: 100%; // display: flex;
height: 100%; // flex-direction: column;
} }
/deep/ .uni-file-picker__container { /deep/ .uni-file-picker__container {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
} }
.bottom-area { .bottom-area {
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<view class="text-block-box text-block-box-last"> <view class="text-block-box text-block-box-last">
<view class="text-block text-block-last"> <view class="text-block text-block-last">
<view class="middle-date">{{INFO.ZZFLD000099==='X'?'是':'否'}} <view class="middle-date">{{INFO.ZZFLD000099==='X'?'是':'否'}}
<button class="diy-entry" type="default" @click="goDiyPage"> <button class="diy-entry" type="default" @click="goDiyPage" v-if="INFO.ZZFLD000099==='X'">
<image class="diy-icon" src="../../static/image/address@3x.png" mode=""> <image class="diy-icon" src="../../static/image/address@3x.png" mode="">
</image> </image>
<text class="diy-entry-text">定制酒</text> <text class="diy-entry-text">定制酒</text>
......
This diff is collapsed.
<template>
<view style=" 100%;" >
<web-view :src="allUrl"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
allUrl:'',
viewerUrl: '/hybrid/html/web/viewer.html', // 格式化文件流的一个js 文件
}
},
onLoad(options) {
// encodeURIComponent 函数可把字符串作为 URI 组件进行编码。decodeURIComponent解码
let fileUrl = 'http://221.10.127.50/wmdp-uploadfile/sap-reportform/2022/10/31/20b93371-bbf6-ed6f-cf4b-b1731956bfa2.pdf'
this.allUrl = this.viewerUrl + '?file=' + fileUrl
}
}
</script>
\ No newline at end of file
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</view> </view>
<view class="text-block"> <view class="text-block">
<text class="middle-date">制票类型</text> <text class="middle-date">制票类型</text>
<text class="middle-date-des">{{orderItem.ticketTypeVal}}</text> <text class="middle-date-des">{{orderItem.noticeSheetTypeTextView}}</text>
</view> </view>
<view class="text-block"> <view class="text-block">
<text class="middle-date">开票客户</text> <text class="middle-date">开票客户</text>
...@@ -63,6 +63,10 @@ ...@@ -63,6 +63,10 @@
<text class="middle-date">产品</text> <text class="middle-date">产品</text>
<text class="middle-date-pro">{{ele.productDesc}}</text> <text class="middle-date-pro">{{ele.productDesc}}</text>
</view> </view>
<view class="text-block">
<text class="middle-date">产品编号</text>
<text class="middle-date-pro">{{ele.productCode}}</text>
</view>
<view class="text-block"> <view class="text-block">
<text class="middle-date">未发货件数</text> <text class="middle-date">未发货件数</text>
<text class="middle-date-des">{{ele.undeliveredQuantity}}</text> <text class="middle-date-des">{{ele.undeliveredQuantity}}</text>
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
<text class="upload-text">附件上传</text> <text class="upload-text">附件上传</text>
</view> </view>
<view class="upload-block"> <view class="upload-block">
<uni-file-picker ref='files' :auto-upload='false' v-model="fileList" file-mediatype="image" <uni-file-picker ref='files' limit="4" :auto-upload='false' v-model="fileList" file-mediatype="image"
:imageStyles="imageStyles" @select="select" @progress="progress" @success="success" @fail='fail'> :imageStyles="imageStyles" @select="select" @progress="progress" @success="success" @fail='fail'>
<text>+</text> <text>+</text>
</uni-file-picker> </uni-file-picker>
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
} }
}, },
computed: { computed: {
...mapState(['quotaOrder']), ...mapState(['quotaOrder', 'userInfo']),
imageStyles() { imageStyles() {
return { return {
width: 64, width: 64,
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
this.quotaOrder.ITEM_OUTER.length > 0 && this.quotaOrder.ITEM_OUTER.forEach((item) => { this.quotaOrder.ITEM_OUTER.length > 0 && this.quotaOrder.ITEM_OUTER.forEach((item) => {
money += item.NET_VALUE * 1 money += item.NET_VALUE * 1
}) })
return money return money.toFixed(2)
} }
}, },
methods: { methods: {
...@@ -193,7 +193,8 @@ ...@@ -193,7 +193,8 @@
ATTACHMENT ATTACHMENT
} = this.quotaOrder } = this.quotaOrder
const params = { const params = {
// "USER_BP": "81000010", "USER_BP": this.userInfo.code,
"ROLE": 'WLY001',
"MODE": "SAVE", "MODE": "SAVE",
INFO, INFO,
ITEM_INNER, ITEM_INNER,
...@@ -219,7 +220,8 @@ ...@@ -219,7 +220,8 @@
USE USE
} = res1.DATA } = res1.DATA
const params2 = { const params2 = {
// "USER_BP": "81000010", "USER_BP": this.userInfo.code,
"ROLE": 'WLY001',
"MODE": "SUBMIT", "MODE": "SUBMIT",
INFO: INFO2, INFO: INFO2,
'ITEM_INNER': ITEM_INNER2, 'ITEM_INNER': ITEM_INNER2,
...@@ -368,26 +370,27 @@ ...@@ -368,26 +370,27 @@
.upload-block { .upload-block {
display: flex; display: flex;
align-items: center; // align-items: center;
justify-content: center; // justify-content: center;
align-self: center; // align-self: center;
width: 388rpx; // width: 388rpx;
height: 388rpx; height: 388rpx;
background: #f5f6f7; // background: #f5f6f7;
border: 1px dashed #dedede; // border: 1px dashed #dedede;
border-radius: 4px; border-radius: 4px;
margin-top: 90rpx; margin-top: 90rpx;
flex-direction: column;
} }
.uni-file-picker { .uni-file-picker {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
} }
/deep/ .uni-file-picker__container { /deep/ .uni-file-picker__container {
width: 100%; // width: 100%;
height: 100%; // height: 100%;
margin: 0; // margin: 0;
} }
.bottom-area { .bottom-area {
......
...@@ -208,6 +208,8 @@ ...@@ -208,6 +208,8 @@
'PARTNER': this.userInfo.code, 'PARTNER': this.userInfo.code,
SHORT, SHORT,
PRODUCT_ID, PRODUCT_ID,
'ZZFLD000001': this.toPageParams.head.zzfld00001h || this.toPageParams.head.sals_center,
"MODE": "GD",
} }
uni.showLoading({ uni.showLoading({
......
<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>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell" style="line-height: 100%;height: 100%;">
<view class="uni-list-cell-db" style="height: 100%;">
<picker class="picker-block" @change="bindPickerYearStartChange" mode="date"
:end='endRange' :value="startDate" fields='day'>
<text class="uni-input" style="color: #888;font-size: 28rpx;">{{startDate}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
</view>
<view class="text-block text-block-last">
<text class="middle-date">截至日期</text>
<view class="middle-date-des uni-list picker-year">
<view class="uni-list-cell" style="line-height: 100%;height: 100%;">
<view class="uni-list-cell-db" style="height: 100%;">
<picker class="picker-block" style="color: red;" @change="bindPickerYearEndChange" mode="date"
:end='endRange' :value="endDate" fields='day'>
<text class="uni-input" style="color: #888;font-size: 28rpx;">{{endDate}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
</view>
</view>
<view class="planout-block">
<button class="btn" type="default" @tap="search">
<text class="btn-text">查询</text>
</button>
</view>
<view class="text-blocks">
<text class="middle-num">终端进货量:{{customerScan}}件</text>
<text class="middle-num">消费者开瓶扫码数量:{{inNum}}瓶</text>
</view>
<scroll-view :style='scrollHeight' class="scroll-area" scroll-y="true" lower-threshold='150'
@scrolltolower='scrolltolower'>
<list class="scroll-area view" loadmoreoffset='100' show-scrollbar='false' @loadmore="scrolltolower">
<cell class="list-cell" v-for="(item,index) in lists" :key='index'>
<view class="middle view planout-block-item" @click="handleChecked(item)">
<view class="text-block">
<text class="middle-date">时间</text>
<text class="middle-date-des">{{item.inboundsByProduct[0].date}}</text>
</view>
<view class="text-block">
<text class="middle-date">产品</text>
<text class="middle-date-des">{{item.inboundsByProduct[0].productName}}</text>
</view>
<view class="text-block text-block-last">
<text class="middle-date">数量(件)</text>
<text class="middle-date-des">{{item.inboundsByProduct[0].inbounds}}</text>
</view>
</view>
<view class="empty-block"></view>
</cell>
</list>
<no-data class="no-data" v-if="lists.length === 0"></no-data>
</scroll-view>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import {
inboundsById
} from '@/servers/address.js'
import timeFormat from '@/uview-ui/libs/function/timeFormat.js'
import noData from '@/components/nodata.nvue';
export default {
components: {
noData,
},
data() {
return {
isOpened: 'none',
loadingText: '加载中...',
page: {
"PAGE": "1",
"PAGESIZE": "1",
},
loadParams: {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
},
lists: [],
selectedSalePlan: {},
selectedSalePlanTypes: [],
typesIndex: -1,
toPageParams: {
page: '',
index: 0,
product: {},
head: {}
},
salePlanArr: [],
saleStatusArr: [],
startDate: timeFormat(new Date(), 'yyyy-mm-dd'),
endDate: timeFormat(new Date(), 'yyyy-mm-dd'),
optionUrl: {},
startRange: timeFormat(new Date(), 'yyyy-mm-dd'),
endRange: timeFormat(new Date(), 'yyyy-mm-dd'),
customerScan: 0,
inNum: 0,
}
},
computed: {
...mapState(['sysinfo', 'userInfo']),
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 237- 44 - 30}px`
}
},
mainHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 44 }px`,
}
},
},
onLoad(option) {
console.log('option',option)
this.optionUrl = { ...option }
uni.setNavigationBarTitle({
title: option.storeName
});
},
onPullDownRefresh() {
console.log('refresh');
this.reset()
this.getSalesPlan(true)
setTimeout(function() {
uni.stopPullDownRefresh();
}, 600);
},
created() {
this.reset()
this.getSalesPlan(true);
},
methods: {
bindPickerYearStartChange(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.startDate = e.detail.value
},
bindPickerYearEndChange(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.endDate = e.detail.value
},
async getSalesPlan(isRefresh) {
if (this.loadParams.isDone) {
return
}
const params = {
"terminalId": this.optionUrl.id,
"from": this.startDate,
"to": this.endDate
}
uni.showLoading({
title: '加载中'
});
setTimeout(function() {
uni.hideLoading();
}, 2000);
try{
const res = await inboundsById(params)
uni.hideLoading();
this.loadParams.isDone = false
this.customerScan = res.data.customerScan || 0
this.inNum = res.data.in || 0
this.lists = res.data.inboundsByDate
}catch(e){
//TODO handle the exception
}
},
scrolltolower() {
console.log('onReachBottom');
if (this.page.PAGE < this.loadParams.totalPage) {
this.page.PAGE++
this.getSalesPlan()
} else {
this.loadParams.isDone = true
this.loadingText = '-- 到底了 --'
}
},
reset() {
this.loadParams = {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
}
this.page.PAGE = 1
this.lists = []
this.loadingText = '加载中'
},
search() {
this.reset()
this.getSalesPlan(true);
},
handleChecked(item) {
console.log('当前索引:', item);
},
}
}
</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;
}
.main {
position: relative;
flex-direction: column;
margin-top: -164rpx;
padding: 0 16rpx;
}
.middle {
background-color: #fff;
border-radius: 16rpx;
padding: 32rpx 64rpx 32rpx 48rpx;
}
.text-block {
display: flex;
overflow: hidden;
height: 96rpx;
margin-bottom: 14rpx;
border-bottom: 1px solid #f4f5f6;
}
.text-blocks {
display: flex;
overflow: hidden;
height: 40rpx;
margin-bottom: 14rpx;
border-bottom: 1px solid #f4f5f6;
}
.middle-num{
flex: 2;
font-size: 28rpx;
line-height: 40rpx;
color: #333;
margin-bottom: 8rpx;
}
.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-select {
color: #888;
}
.middle-date-des-select {
color: #333;
}
.picker-year {
position: relative;
border-radius: 4px;
align-items: center;
}
.uni-list-cell {
flex: 1;
height: 48px;
}
.uni-list-cell-db {
flex: 1;
height: 48px;
line-height: 48px;
}
.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;
margin-top: 30rpx;
margin-bottom: 30rpx;
padding: 0 24rpx;
}
.planout-block-item {
flex: 1;
width: 750rpx;
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;
}
.no-data {
flex: 1;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 10;
}
</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">
<view class="middle view">
<view class="text-block text-block-last">
<text class="middle-date">终端名称</text>
<input class="middle-date-des" type="text" v-model="serchStoreName" placeholder="请输入" />
</view>
</view>
<view class="planout-block">
<button class="btn" type="default" @tap="search">
<text class="btn-text">查询</text>
</button>
</view>
<scroll-view :style='scrollHeight' class="scroll-area" scroll-y="true" lower-threshold='150'
@scrolltolower='scrolltolower'>
<list class="scroll-area view" loadmoreoffset='100' show-scrollbar='false' @loadmore="scrolltolower">
<cell class="list-cell" v-for="(item,index) in lists" :key='index'>
<view class="middle view planout-block-item" @click="handleChecked(item)">
<view class="text-block">
<text class="middle-date">{{item.storeName}}</text>
</view>
<view class="text-block">
<text class="middle-date">联系人</text>
<text class="middle-date-des">{{(item && item.owner)?item.owner.userName:''}}</text>
</view>
<view class="text-block">
<text class="middle-date">电话</text>
<text class="middle-date-des">{{(item && item.owner)?item.owner.userMobile:''}}</text>
</view>
<view class="text-block text-block-last">
<text class="middle-date">地址</text>
<text class="middle-date-des">{{item.address}}</text>
</view>
</view>
<view class="empty-block"></view>
</cell>
</list>
<no-data class="no-data" v-if="lists.length === 0"></no-data>
</scroll-view>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import timeFormat from '@/uview-ui/libs/function/timeFormat.js'
import {
byDealerConditon
} from '@/servers/address.js'
import noData from '@/components/nodata.nvue';
export default {
components: {
noData,
},
data() {
return {
isOpened: 'none',
loadingText: '加载中...',
page: {
"size": 50,
"current": 1
},
loadParams: {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
},
lists: [],
selectedSalePlan: {},
selectedSalePlanTypes: [],
typesIndex: -1,
toPageParams: {
page: '',
index: 0,
product: {},
head: {}
},
salePlanArr: [],
saleStatusArr: [],
serchStoreName: ''
}
},
computed: {
...mapState(['sysinfo', 'userInfo']),
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 180- 44}px`
}
},
mainHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 44 }px`,
}
},
},
onLoad(option) {
},
onPullDownRefresh() {
console.log('refresh');
this.reset()
this.getSalesPlan(true)
setTimeout(function() {
uni.stopPullDownRefresh();
}, 600);
},
created() {
this.reset()
this.getSalesPlan(true);
},
methods: {
async getSalesPlan(isRefresh) {
if (this.loadParams.isDone) {
return
}
const params = {
"dealerCode": this.userInfo.code,
"storeName": this.serchStoreName,
...this.page
}
uni.showLoading({
title: '加载中'
});
setTimeout(function() {
uni.hideLoading();
}, 2000);
try{
const res = await byDealerConditon(params)
uni.hideLoading();
this.loadParams.isDone = false
this.lists = res.data.records
this.loadParams.total = res.data.total
this.loadParams.totalPage = Math.ceil(res.data.total * 1 / this.page.size * 1)
// if (isRefresh) {
// this.loadParams.isDone = false
// this.lists = res.data.records
// } else {
// this.lists = this.lists.concat(res.data.records)
// }
}catch(e){
//TODO handle the exception
}
},
scrolltolower() {
console.log('onReachBottom');
// if (this.page.current < this.loadParams.totalPage) {
// this.page.current++
// this.getSalesPlan()
// } else {
// this.loadParams.isDone = true
// this.loadingText = '-- 到底了 --'
// }
},
reset() {
this.loadParams = {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
}
this.page.current = 1
this.lists = []
this.loadingText = '加载中'
},
search() {
this.reset()
this.getSalesPlan(true);
},
handleChecked(item) {
console.log('当前索引:', item.id, item.storeName);
uni.navigateTo({
url: `/pages/terminal-detail/terminal-detail?id=${item.id}&storeName=${item.storeName}`
})
},
}
}
</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;
}
.main {
position: relative;
flex-direction: column;
margin-top: -164rpx;
padding: 0 16rpx;
}
.middle {
background-color: #fff;
border-radius: 16rpx;
padding: 32rpx 64rpx 32rpx 48rpx;
}
.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-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;
height: 48px;
line-height: 48px;
}
.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;
margin-top: 30rpx;
margin-bottom: 30rpx;
padding: 0 24rpx;
}
.planout-block-item {
flex: 1;
width: 750rpx;
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;
}
.no-data {
flex: 1;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 10;
}
</style>
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<view class="userinfo"> <view class="userinfo">
<image class="avatar" src="@/static/image/avatar@3x.png" mode=""></image> <image class="avatar" src="@/static/image/avatar@3x.png" mode=""></image>
<view class="nick-block"> <view class="nick-block">
<text class="nick-block--name">{{userInfo.name || '--'}}</text> <text class="nick-block--name">{{userBpData.USER_NAME || '--'}}</text>
<text class="nick-block--no">编号:{{userInfo.code*1}}</text> <text class="nick-block--no">编号:{{userInfo.code*1}}</text>
</view> </view>
</view> </view>
...@@ -84,6 +84,22 @@ ...@@ -84,6 +84,22 @@
</view> </view>
<text class="entry-bill-text">市场秩序</text> <text class="entry-bill-text">市场秩序</text>
</view> </view>
<view class="entry-block" @click="goPage('order-trends')">
<view class="entry-bill">
<image class="entry-bill-icon entry-bill-icon_billing"
src="@/static/image/trends.png" mode="">
</image>
</view>
<text class="entry-bill-text">订单动态</text>
</view>
<view class="entry-block" @click="goPage('terminal')">
<view class="entry-bill">
<image class="entry-bill-icon entry-bill-icon_billing"
src="@/static/image/terminal.png" mode="">
</image>
</view>
<text class="entry-bill-text">终端</text>
</view>
</view> </view>
<view class="bottom"> <view class="bottom">
...@@ -130,7 +146,7 @@ ...@@ -130,7 +146,7 @@
} }
}, },
computed: { computed: {
...mapState(['sysinfo', 'userInfo']) ...mapState(['sysinfo', 'userInfo','userBpData'])
}, },
async created() { async created() {
this.getBpPrice() this.getBpPrice()
...@@ -143,9 +159,9 @@ ...@@ -143,9 +159,9 @@
this.bpPrice = res.DATA this.bpPrice = res.DATA
}, },
goPage(page) { goPage(page) {
// if (page === 'my-purchase') { // if (page === 'terminal') {
// uni.showToast({ // uni.showToast({
// title: '要货功能开发中...', // title: '功能开发中...',
// icon: 'none', // icon: 'none',
// duration: 1500 // duration: 1500
// }); // });
......
...@@ -25,4 +25,13 @@ export async function addressImport(params) { ...@@ -25,4 +25,13 @@ export async function addressImport(params) {
const res = await apiHelper.post('/sap/bc/ztpm/to_new_crm/transdata/bp_addr_import', params) const res = await apiHelper.post('/sap/bc/ztpm/to_new_crm/transdata/bp_addr_import', params)
return res return res
} }
// 终端查询
export async function byDealerConditon(params) {
const res = await apiHelper.post('/wmdp-storeapp/store/list/byDealerConditon', params)
return res
}
// 单个终端查询
export async function inboundsById(params) {
const res = await apiHelper.post('/wmdpwebservices/statistics/terminal/inboundsById', params)
return res
}
...@@ -187,6 +187,9 @@ class Request { ...@@ -187,6 +187,9 @@ class Request {
// config.baseUrl = 'http://10.0.134.182:9001' // config.baseUrl = 'http://10.0.134.182:9001'
config.baseUrl = 'http://221.10.127.60:5000/scm' config.baseUrl = 'http://221.10.127.60:5000/scm'
// config.baseUrl = '' // config.baseUrl = ''
} else if (config.url.indexOf('wmdp-storeapp') !== -1) {
// config.baseUrl = 'http://10.0.134.128:8080'
config.baseUrl = 'http://221.10.127.60:5000/zdcx'
} else { } else {
// http://10.0.134.182:8000 // http://10.0.134.182:8000
config.baseUrl = 'http://221.10.127.60:5000/wlySap' config.baseUrl = 'http://221.10.127.60:5000/wlySap'
......
...@@ -223,3 +223,11 @@ export async function queryNewsListSet(params) { ...@@ -223,3 +223,11 @@ export async function queryNewsListSet(params) {
const res = await apiHelper.get('/sap/opu/odata/sap/ZODATA_APP_002_SRV_01/NewsListSet', params, {'Content-Type': 'application/json','Accept':'application/json'}) const res = await apiHelper.get('/sap/opu/odata/sap/ZODATA_APP_002_SRV_01/NewsListSet', params, {'Content-Type': 'application/json','Accept':'application/json'})
return res return res
} }
/**
* 订单动态
* @returns {Promise<AxiosResponse<T>>}
*/
export async function querySaleOrder(params) {
const res = await apiHelper.get('/sap/opu/odata/sap/ZODATA_APP_006_SRV/SODYNSTATSet', params, {'Content-Type': 'application/json','Accept':'application/json'})
return res
}
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>个人</title>
<g id="页面-2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="消息1" transform="translate(-273.000000, -413.000000)" fill="#000000" fill-rule="nonzero">
<g id="个人" transform="translate(273.000000, 413.000000)">
<rect id="矩形" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M12.440625,9.66875 C11.6546875,9.36875 10.83125,9.146875 9.9796875,9.009375 C9.8234375,8.9734375 9.7046875,8.834375 9.7046875,8.6671875 C9.7046875,8.5796875 9.7375,8.4984375 9.790625,8.4375 C9.7890625,8.440625 9.784375,8.440625 9.78125,8.44375 C10.025,8.1546875 10.2359375,7.8203125 10.4078125,7.4578125 C10.625,7.3640625 10.8375,7.178125 10.990625,6.9203125 C11.2796875,6.4328125 11.24375,5.8875 10.909375,5.7 C10.8984375,5.69375 10.8875,5.6921875 10.8765625,5.6875 C10.878125,5.6703125 10.878125,5.6515625 10.878125,5.634375 L10.89375,5.634375 L10.89375,4.16875 C10.89375,3.1984375 10.10625,2.4109375 9.1375,2.4109375 C9.13125,2.4109375 9.1265625,2.4125 9.1203125,2.4125 C8.6875,2.046875 8.13125,1.828125 7.5234375,1.828125 C6.2,1.828125 5.121875,2.8625 5.0453125,4.165625 L5.0375,4.165625 L5.0375,5.6296875 L5.053125,5.6296875 C5.0546875,5.646875 5.0546875,5.665625 5.0546875,5.6828125 C5.04375,5.6875 5.0328125,5.6890625 5.021875,5.6953125 C4.6890625,5.8828125 4.653125,6.4296875 4.940625,6.915625 C5.09375,7.1734375 5.30625,7.359375 5.5234375,7.453125 C5.6953125,7.815625 5.90625,8.15 6.15,8.4390625 C6.146875,8.4375 6.1421875,8.4359375 6.140625,8.4328125 C6.19375,8.4953125 6.2265625,8.575 6.2265625,8.6625 C6.2265625,8.83125 6.1078125,8.96875 5.9515625,9.0046875 C5.103125,9.1421875 4.2828125,9.3625 3.4984375,9.6609375 C2.6875,10.0203125 2.1171875,10.83125 2.1171875,11.78125 L2.1171875,12.09375 C2.1171875,12.79375 2.58125,13.38125 3.215625,13.5734375 C4.74375,13.921875 6.3328125,14.109375 7.965625,14.109375 C9.596875,14.109375 11.1828125,13.921875 12.709375,13.575 C13.346875,13.3859375 13.8140625,12.796875 13.8140625,12.09375 L13.8140625,11.7859375 C13.8140625,10.8390625 13.2484375,10.03125 12.440625,9.66875 Z" id="路径"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>时间</title>
<g id="页面-2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="消息1" transform="translate(-255.000000, -413.000000)" fill="#000000" fill-rule="nonzero">
<g id="时间" transform="translate(263.000000, 421.000000) scale(-1, 1) translate(-263.000000, -421.000000) translate(255.000000, 413.000000)">
<rect id="矩形" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M7.9671875,1.00625 C4.1140625,1.00625 0.9890625,4.13125 0.9890625,7.984375 C0.9890625,11.8375 4.1125,14.9625 7.9671875,14.9625 C11.821875,14.9625 14.9453125,11.8390625 14.9453125,7.984375 C14.9453125,4.13125 11.821875,1.00625 7.9671875,1.00625 Z M9.796875,8.6921875 L7.85,8.6921875 C7.459375,8.6921875 7.1421875,8.375 7.1421875,7.984375 L7.1421875,4.2859375 C7.1421875,3.8953125 7.459375,3.578125 7.85,3.578125 C8.240625,3.578125 8.5578125,3.8953125 8.5578125,4.2859375 L8.5578125,7.278125 L9.796875,7.278125 C10.1875,7.278125 10.5046875,7.5953125 10.5046875,7.9859375 C10.5046875,8.3765625 10.1875,8.6921875 9.796875,8.6921875 Z" id="形状"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
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