Commit 405f6f47 authored by xiangzj's avatar xiangzj

终端发货

parent dca93195
......@@ -464,6 +464,20 @@
}
}
}
},{
"path": "pages/select-address/select-address",
"style": {
"app-plus": {
"titleNView": {
"titleAlign": "left",
"titleColor": "#333",
"titleSize": "17px",
"backgroundColor": "#fff",
"titleText": "收货地址",
"autoBackButton": true
}
}
}
}, {
"path": "pages/usercenter/usercenter",
"style": {
......
......@@ -107,7 +107,7 @@
</view>
</view>
<view class="text-block" v-if="orderItem.demandType=='ZDZG'">
<text class="middle-date">绑定终端</text>
<text class="middle-date">收货终端</text>
<view class="middle-date-address uni-list picker-year">
<view class="uni-list-cell">
<view class="uni-list-cell-db">
......@@ -345,6 +345,7 @@
case 'terminalRobot':
this.orderItem.terminalId = this.terminalRobotArrs[index].storeId
this.orderItem.terminalName= this.terminalRobotArrs[index].storeName
this.orderItem.receiveUnitName = this.terminalRobotArrs[index].storeName
break;
// case 'marketPlace':
// this.marketPlaceVal = this.marketPlaceArr[index].value
......@@ -371,7 +372,7 @@
}
if(this.orderItem.demandType == 'ZDZG' && !this.orderItem.terminalName){
uni.showToast({
title: '请先选择绑定终端',
title: '请先选择收货终端',
duration: 2000,
icon: 'none'
});
......
This diff is collapsed.
......@@ -159,6 +159,7 @@
demandTypeTextView: res.data.demandType == 'ZDZG' ? '终端直配' : '',
}
this.getChannelType()
res.data.demandType == 'ZDZG' && this.getTerminalRobot()
},
async getChannelType(){
const res = await getChannelType({'salePlan': this.detail.planType})
......@@ -200,6 +201,7 @@
demandTypeTextView: this.demandType ==1 ? '' : '终端直配',
terminalId: '',
terminalIdTextView: '',
receiveUnitName: res.data.demandType == 'ZDZG' ? '' : res.data.receiveUnitName,
}
this.getChannelType()
this.sourceType === 'purchase' && this.generateUUID()
......@@ -210,10 +212,14 @@
const params = {
dealerId: this.detail.customerCode,
inventoryCode: this.detail.brand,
page: {
current: 1,
size: 5000
}
}
queryDirectStore(params).then(res => {
this.terminalRobotArrs = res.data.data
this.terminalRobotArrs = res.data.data.records
})
},
changeComponent(com) {
......
......@@ -17,17 +17,17 @@
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
<view class="cell-list-block" @click="goOrder('purchase-list','wineTerminal')">
<image class="icon-address" src="@/static/image/order_noquota@3x.png" mode="aspectFit"></image>
<view class="cell-list-block" @click="goOrder('purchase-list','terminal')">
<image class="icon-address" src="@/static/image/order_quota@3x.png" mode="aspectFit"></image>
<view class="cell-list-block__content">
<text class="cell-list-block__title">终端直配以酒促酒要货</text>
<text class="cell-list-block__title">终端直配要货</text>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
<view class="cell-list-block" @click="goOrder('purchase-list','terminal')">
<view class="cell-list-block" @click="goOrder('purchase-list','wineTerminal')">
<image class="icon-address" src="@/static/image/order_noquota@3x.png" mode="aspectFit"></image>
<view class="cell-list-block__content">
<text class="cell-list-block__title">终端直配货</text>
<text class="cell-list-block__title">终端直配以酒促酒要货</text>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
</view>
......
<template>
<view class="lists">
<view class="status_bar" :style="navHeight"></view>
<view class="main" :style="mainHeight">
<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">
<view class="uni-list-cell-db">
<picker class="picker-block" @change="changeArea($event,'city')" :value="terminalAdd.REGION"
range-key='BEZEI' mode="selector" :range="selectDataOptions['regionList']">
<text class="uni-input">{{terminalAdd.REGION_TEXT}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<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="changeArea($event,'street')" :value="terminalAdd.CITY_CODE"
range-key='CITY_NAME' mode="selector" :range="selectDataOptions['cityList']">
<text class="uni-input">{{terminalAdd.CITY_TEXT}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<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="changeArea($event,'q')" :value="terminalAdd.STREET_CODE"
range-key='MC_STREET' mode="selector" :range="selectDataOptions['streetList']">
<text class="uni-input">{{terminalAdd.STREET_TEXT}}</text>
</picker>
</view>
</view>
<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode=""></image>
</view>
</view>
<view class="text-block">
<text class="middle-date">详细地址</text>
<input class="middle-date-des" type="text" v-model="terminalAdd.STREET" placeholder="请输入" />
</view>
</view>
</view>
<view class="bottom">
<button class="btn" type="default" @tap="confirm">
<text class="btn-text">提交</text>
</button>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex'
import {
findByCustomer
} from '@/servers/purchaseList.js'
import timeFormat from '@/uview-ui/libs/function/timeFormat.js'
import { getArea } from '@/servers/address.js'
export default {
data() {
return {
terminalAdd: {
REGION: '',
REGION_TEXT: '',
CITY_CODE: '',
CITY_TEXT: '',
STREET_CODE: '',
STREET_TEXT: '',
STREET: ''
},
selectDataOptions: {
cityList: [],
streetList: [],
regionList: []
},
}
},
computed: {
...mapState(['sysinfo', 'userInfo']),
navHeight() {
return {
'height': `${this.sysinfo.safeArea.top + 44}px`
}
},
mainHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 55 }px`,
}
},
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 44 - 156 }px`
}
},
},
onLoad() {
},
created() {
this.getAreaArr()
},
methods: {
// 省
async getAreaArr(){
await getArea('','region',"ZDZG").then(res => {
this.selectDataOptions['regionList'] = res.DATA
})
},
async changeArea(e, type) {
if (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
const index = e.detail.value || 0
if (type === 'city') {
const code = this.selectDataOptions['regionList'][index].BLAND
const { DATA } = await getArea(code, type,"ZDZG")
this.selectDataOptions.cityList = DATA
this.terminalAdd.REGION_TEXT = this.selectDataOptions['regionList'].find(v => v.BLAND === code)?.BEZEI
this.terminalAdd.CITY_CODE = ''
this.terminalAdd.STREET_CODE = ''
this.terminalAdd.CITY_TEXT = ''
this.terminalAdd.STREET_TEXT = ''
this.terminalAdd.STREET = ''
this.selectDataOptions.streetList = []
} else if (type === 'street') {
const code = this.selectDataOptions['cityList'][index].CITY_CODE
const { DATA } = await getArea(code, type)
this.selectDataOptions.streetList = DATA
this.terminalAdd.STREET_CODE = ''
this.terminalAdd.STREET_TEXT = ''
this.terminalAdd.STREET = ''
this.terminalAdd.CITY_TEXT = this.selectDataOptions['cityList'].find(v => v.CITY_CODE === code)?.CITY_NAME
} else {
const code = this.selectDataOptions['streetList'][index].STRT_CODE
this.terminalAdd.STREET_TEXT = this.selectDataOptions['streetList'].find(v => v.STRT_CODE === code)?.MC_STREET
}
}
},
confirm() {
if(!this.terminalAdd.REGION_TEXT){
uni.showToast({
title: '请选择省',
duration: 2000,
icon: 'none'
});
return
}
if(!this.terminalAdd.CITY_TEXT){
uni.showToast({
title: '请选择市',
duration: 2000,
icon: 'none'
});
return
}
if(!this.terminalAdd.STREET_TEXT){
uni.showToast({
title: '请选择区',
duration: 2000,
icon: 'none'
});
return
}
if(!this.terminalAdd.STREET){
uni.showToast({
title: '请输入详细地址',
duration: 2000,
icon: 'none'
});
return
}
uni.$emit('selectTerminalAddress', {
selectTerminalAddress: this.terminalAdd
})
uni.navigateBack()
},
}
}
</script>
<style lang="scss" scoped>
.view {
flex-direction: column;
}
.lists {
flex: 1;
flex-direction: column;
background: #f0f4f5;
// overflow-y: scroll;
}
.scroll-area {
flex: 1;
}
.main {
margin: 0 16rpx;
flex-direction: column;
border-radius: 16rpx;
margin-top: 16rpx;
}
.middle {
background-color: #fff;
border-radius: 16rpx;
padding: 32rpx 64rpx 0 48rpx;
margin-bottom: 16rpx;
}
.address-view{
flex: 1;
}
.text-block {
overflow: hidden;
// height: 96rpx;
// margin-bottom: 14rpx;
border-bottom: 1px solid #f4f5f6;
}
.text-address {
overflow: hidden;
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: #999;
}
.middle-date-des {
flex: 3;
font-size: 28rpx;
height: 96rpx;
line-height: 96rpx;
color: $text-base-color;
}
.middle-date-address {
color: #333;
font-size: 28rpx;
flex: 3;
padding-top: 10rpx;
justify-content: start;
font-size: 28rpx;
height: 96rpx;
}
.middle-date-address-text {
color: #333;
font-size: 28rpx;
flex: 1;
justify-content: start;
font-size: 28rpx;
height: 70rpx;
line-height: 34rpx;
align-items: center;
}
.middle-date-margin-des{
flex: 1;
font-size: 28rpx;
color: #333;
margin-top: 0rpx;
margin-bottom: 20rpx;
width: 200%;
text-align: left;
justify-content: end;
}
.picker-year {
position: relative;
align-items: center;
}
.uni-list-cell {
flex: 1;
height: 100%;
}
.uni-list-cell-db {
flex: 1;
}
.picker-block {
flex: 1;
}
.uni-input {
line-height: 100%;
height: 100%;
font-size: 14px;
color: $text-base-color;
}
.icon-arrow {
position: absolute;
right: 22rpx;
top: 40rpx;
width: 7px;
height: 10px;
z-index: 10;
}
.remark-text {
flex: 1;
height: 220rpx;
background: #f5f6f7;
border-radius: 4px;
padding: 12rpx 18rpx;
margin-bottom: 40rpx;
}
.title-first {
border-bottom: 0;
}
.title-first__text {
font-size: 28rpx;
color: #333333;
font-weight: 600;
}
.receive-record-view {
padding: 40rpx 48rpx;
}
.receive-record {
color: #555555;
font-size: 28rpx;
margin-bottom: 8rpx;
margin-top: 32rpx;
}
.receive-record-info {
display: flex;
flex-direction: column;
justify-content: center;
}
.record-info-title {
color: #333;
font-size: 28rpx;
font-weight: 500;
margin-bottom: 16rpx;
}
.record-info-des {
color: #999;
font-size: 24rpx;
}
.bottom-area {
height: 140rpx;
margin-top: 12rpx;
}
.bottom {
position: fixed;
bottom: 0;
left: 0;
z-index: 10;
width: 750rpx;
height: 140rpx;
padding: 0 32rpx;
justify-content: space-between;
align-items: center;
background: #fff;
}
.btn {
flex: 1;
height: 92rpx;
background: $wly-primary-color;
border-radius: 46rpx;
}
.btn-l {
margin-right: 30rpx;
border: 1px solid $wly-primary-color;
background-color: #fff;
}
.btn-text {
color: #fff;
font-size: 34rpx;
}
.btn-text-l {
color: $wly-primary-color;
}
.middle-date-unit {
flex: 2;
font-size: 28rpx;
color: #999;
margin-bottom: 8rpx;
padding-top: 30rpx;
}
.middle-date-des-unit {
flex: 3;
font-size: 28rpx;
min-height: 96rpx;
color: $text-base-color;
padding-top: 30rpx;
justify-content: start;
}
.middle-date-add {
flex: 2;
font-size: 28rpx;
color: #999;
margin-bottom: 8rpx;
padding-top: 30rpx;
}
.middle-date-des-add {
flex: 3;
font-size: 28rpx;
min-height: 124rpx;
color: $text-base-color;
padding-top: 30rpx;
justify-content: start;
}
.summary-block {
display: flex;
align-items: center;
}
.summary {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 32rpx;
padding: 32rpx 48rpx 140rpx;
}
.icon_plan {
width: 36rpx;
height: 36rpx;
margin-right: 8rpx;
}
</style>
......@@ -127,7 +127,7 @@ export async function findShuntAnyByDealer(params) {
}
// 查询终端
export async function queryDirectStore(params) {
const res = await apiHelper.post('/crm-app/wmdp-storecomponent/storeDealer/queryDirectStore', params)
const res = await apiHelper.post('/crm-app/storeDealer/queryDirectStore', 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