界面刷新
This commit is contained in:
parent
46a0a22722
commit
3022db1349
19
App.vue
19
App.vue
|
@ -2,18 +2,15 @@
|
|||
//#ifdef APP-PLUS
|
||||
const jpushModule = uni.requireNativePlugin("JG-JPush");
|
||||
// #endif
|
||||
|
||||
|
||||
export default {
|
||||
onLaunch: function() {
|
||||
console.log('App Launch')
|
||||
// #ifdef APP-PLUS
|
||||
// 锁定屏幕方向 横屏正方向
|
||||
plus.screen.lockOrientation('landscape-primary');
|
||||
// #endif
|
||||
var main = plus.android.runtimeMainActivity();
|
||||
var pkName = main.getPackageName();
|
||||
|
||||
console.log(pkName)
|
||||
// 锁定屏幕方向 横屏正方向
|
||||
plus.screen.lockOrientation('landscape-primary');
|
||||
// #endif
|
||||
|
||||
},
|
||||
onShow: function() {
|
||||
console.log('App Show')
|
||||
|
@ -23,8 +20,7 @@
|
|||
// 播放音频
|
||||
//#ifdef APP-PLUS
|
||||
jpushModule.addNotificationListener(res => {
|
||||
console.log(res,'111111')
|
||||
|
||||
// console.log(res, '111111')
|
||||
if (res.notificationEventType == 'notificationOpened') return
|
||||
audioContext.play()
|
||||
uni.vibrateLong();
|
||||
|
@ -48,9 +44,8 @@
|
|||
page {
|
||||
background: #F3F4F8;
|
||||
}
|
||||
|
||||
@import "static/css/base.css";
|
||||
|
||||
@import "static/css/base.css";
|
||||
|
||||
@import url('static/iconfont/iconfont.css')
|
||||
</style>
|
|
@ -12,43 +12,65 @@
|
|||
},
|
||||
endPoint: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
default: () => [116.40717,39.90469],
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
points() {
|
||||
console.log(this.startPoint, this.endPoint)
|
||||
// console.log(this.startPoint, this.endPoint)
|
||||
return {
|
||||
startPoint: this.startPoint,
|
||||
endPoint: this.endPoint
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<script module="aMapRenderJs" lang="renderjs">
|
||||
import {
|
||||
Toast
|
||||
} from '.././libs/uniApi'
|
||||
|
||||
const A_MAP_KEY = "4e96ffd5a5612a52c9caa25312ed9ace";
|
||||
const A_MAP_SECRET_KEY = "4817909f57e07c7694c056a62bb39124";
|
||||
|
||||
export default {
|
||||
mounted() {
|
||||
if (typeof window.AMap === 'function') {
|
||||
this.initAmap();
|
||||
} else {
|
||||
window._AMapSecurityConfig = {
|
||||
securityJsCode: A_MAP_SECRET_KEY,
|
||||
};
|
||||
const script = document.createElement('script');
|
||||
script.src = `https://webapi.amap.com/maps?v=1.4.15&key=${A_MAP_KEY}&plugin=AMap.Driving`;
|
||||
|
||||
script.onload = this.initAmap.bind(this);
|
||||
document.head.appendChild(script);
|
||||
}
|
||||
this.loadMapApi().then(() => {
|
||||
this.initAmap()
|
||||
})
|
||||
|
||||
},
|
||||
methods: {
|
||||
loadMapApi() {
|
||||
|
||||
const A_MAP_KEY = "4e96ffd5a5612a52c9caa25312ed9ace";
|
||||
const A_MAP_SECRET_KEY = "4817909f57e07c7694c056a62bb39124";
|
||||
return new Promise((resolve, reject) => {
|
||||
if (typeof window.AMap === 'function') {
|
||||
resolve()
|
||||
} else {
|
||||
const script = document.createElement('script')
|
||||
script.src =
|
||||
`https://webapi.amap.com/maps?v=1.4.15&key=${A_MAP_KEY}&plugin=AMap.Driving&async=true&defer=true`
|
||||
|
||||
script.onload = () => {
|
||||
window._AMapSecurityConfig = {
|
||||
securityJsCode: A_MAP_SECRET_KEY
|
||||
}
|
||||
resolve()
|
||||
}
|
||||
script.onerror = reject
|
||||
document.head.appendChild(script)
|
||||
}
|
||||
})
|
||||
},
|
||||
initAmap() {
|
||||
const map = new AMap.Map('amap', {
|
||||
center: this.startPoint,
|
||||
resizeEnable: true,
|
||||
});
|
||||
// 开始绘画路径
|
||||
|
@ -73,6 +95,8 @@
|
|||
console.log('绘制路线完成');
|
||||
} else {
|
||||
console.error('路线数据查询失败' + result);
|
||||
this.$emit('sbai','1')
|
||||
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -82,5 +106,7 @@
|
|||
this.makeWalking();
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
</script>
|
|
@ -18,7 +18,7 @@
|
|||
:polyline="polyline" :markers='markers'><cover-image class="map_btn" @tap="getoption()"
|
||||
src="@/static/images/DH.png">
|
||||
</cover-image></map> -->
|
||||
<a-map-walking :startPoint="startPoint" :endPoint="endPoint"
|
||||
<a-map-walking :startPoint="startPoint" :endPoint="endPoint" @sbai='onshibai'
|
||||
style="width: 100%;height: 265rpx;"></a-map-walking>
|
||||
<view class="walking-img">
|
||||
<image src="@/static/images/DH.png" mode="aspectFit" @click="getoption()"></image>
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
</view>
|
||||
|
||||
<view class="btn" @click="openCamera(lisobj.logistics)">
|
||||
<view class="btn" @click="openCamera(lisobj.logistics)" v-if="lisobj.logistics">
|
||||
<view class="btn1">
|
||||
|
||||
|
||||
|
@ -136,7 +136,7 @@
|
|||
<script>
|
||||
import {
|
||||
detail,
|
||||
|
||||
takeGoods
|
||||
} from '@/api/oa.js'
|
||||
const ttAMapNavi = uni.requireNativePlugin('TT-AMapNavi');
|
||||
import AMapWalking from "@/components/a-map-walking.vue";
|
||||
|
@ -188,20 +188,19 @@
|
|||
}
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
this.getlist(this.type)
|
||||
this.getLocation()
|
||||
|
||||
|
||||
// this.$refs.globalPopup.open()
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
//返回
|
||||
returnlog() {
|
||||
|
||||
this.$emit('outfun', '1')
|
||||
|
@ -210,6 +209,17 @@
|
|||
console.log('Map updated:', e);
|
||||
// 在地图更新后,可以根据用户选择的起点和终点,调用地图服务的规划路线接口,获取路线数据并更新polyline和markers
|
||||
},
|
||||
//监听失败
|
||||
onshibai(e) {
|
||||
if (e == 1) {
|
||||
uni.showToast({
|
||||
title: '路线规划失败',
|
||||
icon: none
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
//导航
|
||||
getoption() {
|
||||
|
@ -230,7 +240,7 @@
|
|||
// 终点(只支持传入一个)
|
||||
endPoints: [{
|
||||
name: '终点名称',
|
||||
latitude: this.endPoint[1],
|
||||
latitude: this.endPoint[1],
|
||||
longitude: this.endPoint[0]
|
||||
}],
|
||||
// 途径点(最多支持三个),选填
|
||||
|
@ -242,7 +252,7 @@
|
|||
// 导航组件的主题皮肤类型
|
||||
themeType: 1
|
||||
});
|
||||
|
||||
|
||||
// uni.navigateTo({
|
||||
// url: '/pages/submap/index?task_id=' + this.type
|
||||
// })
|
||||
|
@ -329,7 +339,7 @@
|
|||
},
|
||||
|
||||
//获取定位
|
||||
getLocation() {
|
||||
async getLocation() {
|
||||
|
||||
uni.getLocation({
|
||||
type: 'gcj02',
|
||||
|
@ -353,7 +363,6 @@
|
|||
// })
|
||||
|
||||
|
||||
|
||||
},
|
||||
fail: (res) => {
|
||||
console.log(res)
|
||||
|
@ -362,15 +371,6 @@
|
|||
});
|
||||
},
|
||||
|
||||
serch() {
|
||||
this.getlist()
|
||||
},
|
||||
inpuval(e) {
|
||||
|
||||
if (e.length == 0) {
|
||||
this.getlist()
|
||||
}
|
||||
},
|
||||
//提取商品
|
||||
getDocumentListApi(item, oredr) {
|
||||
|
||||
|
@ -380,14 +380,18 @@
|
|||
order_sn: oredr
|
||||
}
|
||||
|
||||
|
||||
|
||||
takeGoods(data).then(res => {
|
||||
|
||||
// Toast(res.msg)
|
||||
if (res.code == 1) {
|
||||
this.getlist()
|
||||
|
||||
const subNVue = uni.getSubNVueById('concat'); // 通过 id 获取 nvue 子窗体
|
||||
subNVue.show('none', 250); // 打开 nvue 子窗体
|
||||
this.$emit('outfun', '1')
|
||||
subNVue.show('none', 1000); // 打开 nvue 子窗体
|
||||
setTimeout(() => {
|
||||
this.$emit('outfun', '1')
|
||||
}, 1500)
|
||||
|
||||
}
|
||||
})
|
||||
|
@ -811,7 +815,7 @@
|
|||
.btn1 {
|
||||
width: 23rpx;
|
||||
height: 23rpx;
|
||||
margin-left: 80rpx;
|
||||
margin-left: 100rpx;
|
||||
margin-top: 0rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
|
|
@ -115,7 +115,22 @@
|
|||
<div class="shop-content-a1">商品信息:</div>
|
||||
<div class="shop-content-a2">{{ lisobj.product.length }}件</div>
|
||||
</view>
|
||||
<view class="shop" v-for="(items,j) in lisobj.product" :key="j">
|
||||
<view class="shop-list">
|
||||
|
||||
<view class="shop" v-for="(items,j) in lisobj.product" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="shop" v-for="(items,j) in lisobj.product" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" alt="">
|
||||
|
@ -123,7 +138,7 @@
|
|||
<view class="shop-txt">{{ items.goods_name }}</view>
|
||||
</view>
|
||||
<view style="line-height: 26rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
|
||||
|
@ -184,7 +199,6 @@
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
lisobj: [],
|
||||
page_no: 1,
|
||||
page_size: 1,
|
||||
|
@ -194,11 +208,13 @@
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
|
||||
this.getlist(this.type)
|
||||
|
||||
// console.log(this.type)
|
||||
|
||||
this.$refs.globalPopup.show();
|
||||
|
||||
},
|
||||
methods: {
|
||||
returnlog() {
|
||||
|
@ -224,12 +240,15 @@
|
|||
take_code: this.code
|
||||
}).then((res) => {
|
||||
|
||||
console.log(res)
|
||||
|
||||
this.code = ''
|
||||
if (res.code == 1) {
|
||||
// Toast(res.msg)
|
||||
this.$refs.globalPopup.open()
|
||||
setTimeout(() => {
|
||||
this.$emit('outfun', '2')
|
||||
}, 1500)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -256,16 +275,8 @@
|
|||
close() {
|
||||
this.$refs.globalPopup.close()
|
||||
},
|
||||
serch() {
|
||||
this.getlist()
|
||||
},
|
||||
|
||||
|
||||
inpuval(e) {
|
||||
|
||||
if (e.length == 0) {
|
||||
this.getlist()
|
||||
}
|
||||
},
|
||||
getlist(id) {
|
||||
detail({
|
||||
id: id
|
||||
|
@ -278,7 +289,7 @@
|
|||
|
||||
},
|
||||
openCamera() {
|
||||
console.log('1111111')
|
||||
|
||||
// this.show1()
|
||||
this.isShow1 = !this.isShow1
|
||||
}
|
||||
|
@ -651,32 +662,90 @@
|
|||
color: #0022c7;
|
||||
}
|
||||
|
||||
.shop {
|
||||
height: 130px;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
.shop-content {
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.shop-image {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
.shop-content-a {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 14px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.shop-content-a1 {
|
||||
font-size: 13rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.shop-content-a2 {
|
||||
font-size: 12rpx;
|
||||
font-family: PingFang SC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #0022C7;
|
||||
}
|
||||
|
||||
.shop-list {
|
||||
height: 220rpx;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.shop {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 10rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.shop-img {
|
||||
width: 34rpx;
|
||||
height: 34rpx;
|
||||
|
||||
border-radius: 6px 6px 6px 6px;
|
||||
}
|
||||
|
||||
.shop-img image {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
|
||||
width: 34rpx;
|
||||
height: 34rpx;
|
||||
border-radius: 6px 6px 6px 6px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.container-txt {
|
||||
margin-left: 10rpx;
|
||||
width: 130rpx;
|
||||
/* 设置容器高度 */
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
/* 水平居中 */
|
||||
align-items: center;
|
||||
/* 垂直居中 */
|
||||
}
|
||||
|
||||
.centered-multi-line {
|
||||
text-align: left;
|
||||
/* 文本水平居中 */
|
||||
width: 100%;
|
||||
/* 宽度占满父容器 */
|
||||
}
|
||||
|
||||
.shop-txt {
|
||||
margin-left: 20px;
|
||||
|
||||
|
||||
display: inline-block;
|
||||
/* 转换为行内块元素 */
|
||||
white-space: normal;
|
||||
/* 允许自动换行 */
|
||||
word-break: break-all;
|
||||
/* 单词内断行 */
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -109,13 +109,31 @@
|
|||
<div class="shop-content-a1">商品信息:</div>
|
||||
<div class="shop-content-a2">{{ lisobj.product.length }}件</div>
|
||||
</view>
|
||||
<view class="shop" v-for="(items,j) in lisobj.product" :key="j">
|
||||
|
||||
<view class="shop-list">
|
||||
|
||||
<view class="shop" v-for="(items,j) in lisobj.product" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<!-- <view class="shop" v-for="(items,j) in lisobj.product" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img"> <img :src="items.goods_pic" alt=""></view>
|
||||
<view class="shop-txt">{{ items.goods_name }}</view>
|
||||
</view>
|
||||
<view style="line-height: 26rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
@ -156,15 +174,7 @@
|
|||
// })
|
||||
this.$emit('outfun', '3')
|
||||
},
|
||||
serch() {
|
||||
this.getlist()
|
||||
},
|
||||
inpuval(e) {
|
||||
|
||||
if (e.length == 0) {
|
||||
this.getlist()
|
||||
}
|
||||
},
|
||||
|
||||
getlist(id) {
|
||||
detail({
|
||||
id: id
|
||||
|
@ -172,7 +182,7 @@
|
|||
|
||||
if (res.code == 1) {
|
||||
this.lisobj = res.data
|
||||
console.log(this.lisobj, '11111')
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -438,31 +448,90 @@
|
|||
color: #0022c7;
|
||||
}
|
||||
|
||||
.shop {
|
||||
height: 130px;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
|
||||
.shop-content {
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
|
||||
}
|
||||
|
||||
.shop-content-a {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 14px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
|
||||
.shop-content-a1 {
|
||||
font-size: 13rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.shop-content-a2 {
|
||||
font-size: 12rpx;
|
||||
font-family: PingFang SC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #0022C7;
|
||||
}
|
||||
|
||||
.shop-list {
|
||||
height: 220rpx;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.shop {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 10rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.shop-img {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
width: 34rpx;
|
||||
height: 34rpx;
|
||||
|
||||
border-radius: 6px 6px 6px 6px;
|
||||
}
|
||||
|
||||
.shop-img img {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
|
||||
.shop-img image {
|
||||
width: 34rpx;
|
||||
height: 34rpx;
|
||||
border-radius: 6px 6px 6px 6px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.container-txt {
|
||||
margin-left: 10rpx;
|
||||
width: 130rpx;
|
||||
/* 设置容器高度 */
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
/* 水平居中 */
|
||||
align-items: center;
|
||||
/* 垂直居中 */
|
||||
}
|
||||
|
||||
.centered-multi-line {
|
||||
text-align: left;
|
||||
/* 文本水平居中 */
|
||||
width: 100%;
|
||||
/* 宽度占满父容器 */
|
||||
}
|
||||
|
||||
.shop-txt {
|
||||
margin-left: 20px;
|
||||
|
||||
|
||||
display: inline-block;
|
||||
/* 转换为行内块元素 */
|
||||
white-space: normal;
|
||||
/* 允许自动换行 */
|
||||
word-break: break-all;
|
||||
/* 单词内断行 */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,84 +1,91 @@
|
|||
<template>
|
||||
|
||||
<view class="">
|
||||
<you-scroll ref="scroll" @onPullDown="onPullDown">
|
||||
|
||||
<view class="dashboard-container">
|
||||
<view class="container-top">
|
||||
<!-- <input v-model="keyword" prefix-icon="el-icon-search" placeholder="请输入内容" @input="inpuval" /> -->
|
||||
<u-search placeholder="请输入订单编号,联系方式,名称" v-model="keyword" @input="inpuval" :showAction='false' height="3"
|
||||
bgColor='#fff'></u-search>
|
||||
<view class="serch" @click="serch">搜索</view>
|
||||
<view class="dashboard-container">
|
||||
<view class="container-top">
|
||||
<!-- <input v-model="keyword" prefix-icon="el-icon-search" placeholder="请输入内容" @input="inpuval" /> -->
|
||||
<u-search placeholder="请输入订单编号,联系方式,名称" v-model="keyword" @input="inpuval" :showAction='false'
|
||||
height="3" bgColor='#fff'></u-search>
|
||||
<view class="serch" @click="serch">搜索</view>
|
||||
|
||||
</view>
|
||||
<view class="container-content" v-if="list.length>0">
|
||||
<scroll-view scroll-x="true" style="width: 565rpx;white-space: nowrap;overflow: hidden;"
|
||||
@scrolltolower="loadMoreData">
|
||||
</view>
|
||||
<view class="container-content" v-if="list.length>0">
|
||||
<scroll-view scroll-x="true" style="width: 565rpx;white-space: nowrap;overflow: hidden;"
|
||||
@scrolltolower="loadMoreData">
|
||||
|
||||
|
||||
<view v-for="(item,i) in list" :key="i" class="content-one">
|
||||
<view class="" @click="kk(item)">
|
||||
<view class="content-one-title">商户名称:{{item.shop_name}}</view>
|
||||
<view class="content-one-con">
|
||||
<view>店主姓名:{{item.shop_user}}</view>
|
||||
<view>联系电话:{{item.shop_phone}}</view>
|
||||
<view>商家地址:{{item.shop_address}}</view>
|
||||
<view>订单编号:{{item.order_sn}}</view>
|
||||
<!-- <view>订单状态:{{item.status==0?'待取货':item.status==1?'配送中':item.status==2?'已配送':'待取消'}}</view> -->
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<view class="shop-content">
|
||||
<view class="shop-content-a">
|
||||
<view class="shop-content-a1">商品信息:</view>
|
||||
<view class="shop-content-a2">{{ item.products.length }}件</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="shop-list">
|
||||
|
||||
<view class="shop" v-for="(items,j) in item.products" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode=""></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
<view v-for="(item,i) in list" :key="i" class="content-one">
|
||||
<view class="" @click="kk(item)">
|
||||
<view class="content-one-title">商户名称:{{item.shop_name}}</view>
|
||||
<view class="content-one-con">
|
||||
<view>店主姓名:{{item.shop_user}}</view>
|
||||
<view>联系电话:{{item.shop_phone}}</view>
|
||||
<view>商家地址:{{item.shop_address}}</view>
|
||||
<view>订单编号:{{item.order_sn}}</view>
|
||||
<!-- <view>订单状态:{{item.status==0?'待取货':item.status==1?'配送中':item.status==2?'已配送':'待取消'}}</view> -->
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<view class="shop-content">
|
||||
<view class="shop-content-a">
|
||||
<view class="shop-content-a1">商品信息:</view>
|
||||
<view class="shop-content-a2">{{ item.products.length }}件</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="shop-list">
|
||||
|
||||
<view class="shop" v-for="(items,j) in item.products" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode=""></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view class="btn" @click="openCamera(item)">
|
||||
<view class="btn1">
|
||||
|
||||
|
||||
<image src="@/static/images/er.png" mode=""></image>
|
||||
</view>
|
||||
<view class="btn2">扫码取货</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="bj" v-else>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="btn" @click="openCamera(item)">
|
||||
<view class="btn1">
|
||||
|
||||
|
||||
<image src="@/static/images/er.png" mode=""></image>
|
||||
<view class="bj-conter">
|
||||
<view class="bja">
|
||||
<image src="@/static/images/zanwu.png" mode=""></image>
|
||||
</view>
|
||||
<view class="bjb">
|
||||
暂无订单信息
|
||||
</view>
|
||||
<view class="btn2">扫码取货</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="bj" v-else>
|
||||
|
||||
<view class="bj-conter">
|
||||
<view class="bja">
|
||||
<image src="@/static/images/zanwu.png" mode=""></image>
|
||||
</view>
|
||||
<view class="bjb">
|
||||
暂无订单信息
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
</you-scroll>
|
||||
<uni-popup ref="globalPopup" :custom="true">
|
||||
<view class="popup-content" @click="close">
|
||||
<view class="popup-content-a">
|
||||
|
@ -106,7 +113,11 @@
|
|||
Toast
|
||||
} from '../../libs/uniApi'
|
||||
|
||||
import youScroll from '@/components/you-scroll'
|
||||
export default {
|
||||
components: {
|
||||
youScroll
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
|
@ -125,15 +136,23 @@
|
|||
camera: 'auto'
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getlist()
|
||||
|
||||
mounted() {
|
||||
|
||||
|
||||
this.initlist()
|
||||
},
|
||||
|
||||
methods: {
|
||||
refresh() {
|
||||
this.initlist()
|
||||
|
||||
methods: {
|
||||
onPullDown(done) { // 下拉刷新
|
||||
setTimeout(() => {
|
||||
this.initlist()
|
||||
done(); // 完成刷新
|
||||
}, 1000 * 1)
|
||||
},
|
||||
refresh() {
|
||||
this.initlist()
|
||||
},
|
||||
close() {
|
||||
this.$refs.globalPopup.close()
|
||||
|
@ -166,6 +185,7 @@
|
|||
data
|
||||
).then(res => {
|
||||
if (res.code == 1) {
|
||||
uni.hideLoading();
|
||||
this.list = [...this.list, ...res.data]
|
||||
this.page_no = this.page_no + 1
|
||||
|
||||
|
@ -179,7 +199,9 @@
|
|||
// url: '/pages/index/detail?id=' + item.id
|
||||
// })
|
||||
// })
|
||||
this.$emit('onfunction', item.id)
|
||||
|
||||
this.$emit('onfunction', item.id, 1)
|
||||
|
||||
},
|
||||
loadMoreData() {
|
||||
|
||||
|
@ -187,13 +209,12 @@
|
|||
},
|
||||
//提取商品
|
||||
getDocumentListApi(item, oredr) {
|
||||
|
||||
let data = {
|
||||
id: item.id,
|
||||
order_id: item.order_id,
|
||||
order_sn: oredr
|
||||
}
|
||||
console.log(data)
|
||||
|
||||
takeGoods(data).then(res => {
|
||||
|
||||
// Toast(res.msg)
|
||||
|
@ -206,11 +227,11 @@
|
|||
},
|
||||
// 打开相机
|
||||
openCamera(item) {
|
||||
|
||||
console.log(item);
|
||||
uni.scanCode({
|
||||
success: (res) => {
|
||||
this.getDocumentListApi(item, res.result)
|
||||
// console.log(res.result); // 打印扫码结果
|
||||
console.log(item, res.result); // 打印扫码结果
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -1,93 +1,102 @@
|
|||
<template>
|
||||
<view class="dashboard-container">
|
||||
<view class="">
|
||||
<you-scroll ref="scroll" @onPullDown="onPullDown">
|
||||
<view class="dashboard-container">
|
||||
|
||||
<view class="container-top">
|
||||
<!-- <input v-model="keyword" prefix-icon="el-icon-search" placeholder="请输入内容" @input="inpuval" /> -->
|
||||
<u-search placeholder="请输入订单编号,联系方式,名称" v-model="keyword" @input="inpuval" :showAction='false' height="30"
|
||||
bgColor='#fff'></u-search>
|
||||
<view class="serch" @click="serch">搜索</view>
|
||||
</view>
|
||||
<view class="container-content" v-if="list.length>0">
|
||||
<scroll-view scroll-x="true" style="width: 565rpx;white-space: nowrap;overflow: hidden;"
|
||||
@scrolltolower="loadMoreData">
|
||||
<view v-for="(item,i) in list" :key="i" class="content-one">
|
||||
<view class="" @click="kk(item)">
|
||||
<view class="content-one-title">收货人名称:{{item.receiver_name}}</view>
|
||||
<view class="content-one-con">
|
||||
<view>联系电话:{{item.receiver_phone}}</view>
|
||||
<view>商家地址:{{item.receiver_address}}</view>
|
||||
<view>订单编号:{{item.order_sn}}</view>
|
||||
<!-- <view>订单状态:{{item.status==0?'待取货':item.status==1?'配送中':item.status==2?'已配送':'待取消'}}</view> -->
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="shop-content">
|
||||
<view class="shop-content-a">
|
||||
<view class="shop-content-a1">商品信息:</view>
|
||||
<view class="shop-content-a2">{{ item.products.length }}件</view>
|
||||
|
||||
</view>
|
||||
<view class="shop-list">
|
||||
|
||||
<view class="shop" v-for="(items,j) in item.products" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode=""></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
<view class="container-top">
|
||||
<!-- <input v-model="keyword" prefix-icon="el-icon-search" placeholder="请输入内容" @input="inpuval" /> -->
|
||||
<u-search placeholder="请输入订单编号,联系方式,名称" v-model="keyword" @input="inpuval" :showAction='false'
|
||||
height="30" bgColor='#fff'></u-search>
|
||||
<view class="serch" @click="serch">搜索</view>
|
||||
</view>
|
||||
<view class="container-content" v-if="list.length>0">
|
||||
<scroll-view scroll-x="true" style="width: 565rpx;white-space: nowrap;overflow: hidden;"
|
||||
@scrolltolower="loadMoreData">
|
||||
<view v-for="(item,i) in list" :key="i" class="content-one">
|
||||
<view class="" @click="kk(item)">
|
||||
<view class="content-one-title">收货人名称:{{item.receiver_name}}</view>
|
||||
<view class="content-one-con">
|
||||
<view>联系电话:{{item.receiver_phone}}</view>
|
||||
<view>商家地址:{{item.receiver_address}}</view>
|
||||
<view>订单编号:{{item.order_sn}}</view>
|
||||
<!-- <view>订单状态:{{item.status==0?'待取货':item.status==1?'配送中':item.status==2?'已配送':'待取消'}}</view> -->
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="shop-content">
|
||||
<view class="shop-content-a">
|
||||
<view class="shop-content-a1">商品信息:</view>
|
||||
<view class="shop-content-a2">{{ item.products.length }}件</view>
|
||||
|
||||
</view>
|
||||
<view class="shop-list">
|
||||
|
||||
<view class="shop" v-for="(items,j) in item.products" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode=""></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="btn" @click="show1(item)">
|
||||
<view class="btn1">
|
||||
<image src="@/static/images/che.png" mode=""></image>
|
||||
|
||||
</view>
|
||||
<view class="btn2">货物送达</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
<view class="btn" @click="show1(item)">
|
||||
<view class="btn1">
|
||||
<image src="@/static/images/che.png" mode=""></image>
|
||||
</view>
|
||||
<view class="bj" v-else>
|
||||
|
||||
</view>
|
||||
<view class="btn2">货物送达</view>
|
||||
<view class="bj-conter">
|
||||
<view class="bja">
|
||||
<image src="@/static/images/zanwu.png" mode=""></image>
|
||||
</view>
|
||||
<view class="bjb">
|
||||
暂无订单信息
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
</view>
|
||||
<view class="bj" v-else>
|
||||
|
||||
<view class="bj-conter">
|
||||
<view class="bja">
|
||||
<image src="@/static/images/zanwu.png" mode=""></image>
|
||||
</view>
|
||||
<view class="bjb">
|
||||
暂无订单信息
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</you-scroll>
|
||||
<gb-popup :isShow="isShow1" rName="确定" :isBut="false" lName="取消" @lEvent="copyshow" @rEvent="copyData"
|
||||
title="请输入取件码">
|
||||
|
||||
|
||||
<view style="padding: 30rpx;">
|
||||
<input type="value" v-model="code" placeholder="请输入"
|
||||
placeholder-style="font-size: 12rpx;height: 50rpx;line-height: 50rpx;"
|
||||
style="height: 50rpx;font-size: 18rpx;" />
|
||||
</view>
|
||||
</gb-popup>
|
||||
|
||||
<uni-popup ref="globalPopup" :custom="true">
|
||||
|
||||
<uni-popup ref="globalPopup" :custom="true">
|
||||
<view class="popup-content" @click="close">
|
||||
|
||||
|
||||
<view class="popup-content-a">
|
||||
<view class="popup-item">
|
||||
用户完成收货
|
||||
</view>
|
||||
|
||||
|
||||
<view class="popup-item">
|
||||
<image src="@/static/images/zzw.png" mode="aspectFit" style="width: 150rpx; height: 150rpx;">
|
||||
<image src="@/static/images/zzw.png" mode="aspectFit"
|
||||
style="width: 150rpx; height: 150rpx;">
|
||||
</image>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -102,8 +111,12 @@
|
|||
delivery
|
||||
} from '@/api/oa.js'
|
||||
|
||||
export default {
|
||||
import youScroll from '@/components/you-scroll'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
youScroll
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isShow1: false,
|
||||
|
@ -124,11 +137,18 @@
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getlist()
|
||||
|
||||
this.initlist()
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
onPullDown(done) { // 下拉刷新
|
||||
setTimeout(() => {
|
||||
this.initlist()
|
||||
done(); // 完成刷新
|
||||
}, 1000 * 1)
|
||||
},
|
||||
refresh() {
|
||||
this.initlist()
|
||||
|
||||
|
@ -136,7 +156,7 @@
|
|||
close() {
|
||||
this.$refs.globalPopup.close()
|
||||
},
|
||||
|
||||
|
||||
//查询
|
||||
serch() {
|
||||
this.initlist()
|
||||
|
@ -144,7 +164,7 @@
|
|||
//监听
|
||||
inpuval(e) {
|
||||
if (e.length == 0) {
|
||||
|
||||
|
||||
this.initlist()
|
||||
}
|
||||
},
|
||||
|
@ -179,7 +199,7 @@
|
|||
|
||||
this.isShow1 = true
|
||||
this.typeid = row.id
|
||||
|
||||
|
||||
},
|
||||
copyshow() {
|
||||
this.isShow1 = false
|
||||
|
@ -231,7 +251,7 @@
|
|||
// uni.navigateTo({
|
||||
// url: '/pages/psong/detail?id=' + item.id
|
||||
// })
|
||||
this.$emit('onfunction1', item.id)
|
||||
this.$emit('onfunction', item.id,2)
|
||||
|
||||
},
|
||||
// 打开相机
|
||||
|
|
|
@ -1,88 +1,93 @@
|
|||
<template>
|
||||
<view class="dashboard-container">
|
||||
<view class="">
|
||||
<you-scroll ref="scroll" @onPullDown="onPullDown">
|
||||
<view class="dashboard-container">
|
||||
|
||||
<view class="container-top">
|
||||
<!-- <input v-model="keyword" prefix-icon="el-icon-search" placeholder="请输入内容" @input="inpuval" /> -->
|
||||
<u-search placeholder="请输入订单编号,联系方式,名称" v-model="keyword" @input="inpuval" :showAction='false'
|
||||
bgColor='#fff' height="30" class="usearch"></u-search>
|
||||
<view class="serch" @click="serch">搜索</view>
|
||||
<view class="container-top">
|
||||
<!-- <input v-model="keyword" prefix-icon="el-icon-search" placeholder="请输入内容" @input="inpuval" /> -->
|
||||
<u-search placeholder="请输入订单编号,联系方式,名称" v-model="keyword" @input="inpuval" :showAction='false'
|
||||
bgColor='#fff' height="30" class="usearch"></u-search>
|
||||
<view class="serch" @click="serch">搜索</view>
|
||||
|
||||
</view>
|
||||
<view class="container-content" v-if="list.length>0">
|
||||
<scroll-view scroll-x="true" style="width: 565rpx;white-space: nowrap;overflow: hidden;"
|
||||
@scrolltolower="loadMoreData">
|
||||
<view v-for="(item,i) in list" :key="i" class="content-one" @click="kk(item)">
|
||||
<view class="" @click="kk(item)">
|
||||
<view :class="item.status==3?'content-one-title1':'content-one-title'">
|
||||
<view class="">收货人名称:{{item.receiver_name}}</view>
|
||||
<view class="" v-if="item.status==3">已取消</view>
|
||||
</view>
|
||||
<view class="content-one-con">
|
||||
|
||||
<view>联系电话:{{item.receiver_phone}}</view>
|
||||
<view>商家地址:{{item.shop_address}}</view>
|
||||
<view>订单编号:{{item.order_sn}}</view>
|
||||
|
||||
<view v-if="item.status!=3">取货时间:{{item.qh_time}}</view>
|
||||
|
||||
<view v-if="item.status!=3">送达时间:{{item.ps_time}}</view>
|
||||
<!-- <view>订单状态:{{item.status==0?'待取货':item.status==1?'配送中':item.status==2?'已配送':'待取消'}}</view> -->
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view class="shop-content">
|
||||
<view class="shop-content-a">
|
||||
<view class="shop-content-a1">商品信息:</view>
|
||||
<view class="shop-content-a2">{{ item.products.length }}件</view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
<view class="shop-list">
|
||||
|
||||
<view :class="item.status==3?'shop1':'shop'" v-for="(items,j) in item.products" :key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode=""></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="container-content" v-if="list.length>0">
|
||||
<scroll-view scroll-x="true" style="width: 565rpx;white-space: nowrap;overflow: hidden;"
|
||||
@scrolltolower="loadMoreData">
|
||||
<view v-for="(item,i) in list" :key="i" class="content-one" @click="kk(item)">
|
||||
<view class="" @click="kk(item)">
|
||||
<view :class="item.status==3?'content-one-title1':'content-one-title'">
|
||||
<view class="">收货人名称:{{item.receiver_name}}</view>
|
||||
<view class="" v-if="item.status==3">已取消</view>
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
<view class="content-one-con">
|
||||
|
||||
<view>联系电话:{{item.receiver_phone}}</view>
|
||||
<view>商家地址:{{item.shop_address}}</view>
|
||||
<view>订单编号:{{item.order_sn}}</view>
|
||||
|
||||
<view v-if="item.status!=3">取货时间:{{item.qh_time}}</view>
|
||||
|
||||
<view v-if="item.status!=3">送达时间:{{item.ps_time}}</view>
|
||||
<!-- <view>订单状态:{{item.status==0?'待取货':item.status==1?'配送中':item.status==2?'已配送':'待取消'}}</view> -->
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view class="shop-content">
|
||||
<view class="shop-content-a">
|
||||
<view class="shop-content-a1">商品信息:</view>
|
||||
<view class="shop-content-a2">{{ item.products.length }}件</view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
<view class="shop-list">
|
||||
|
||||
<view :class="item.status==3?'shop1':'shop'" v-for="(items,j) in item.products"
|
||||
:key="j">
|
||||
<view style="display: flex;">
|
||||
<view class="shop-img">
|
||||
<image :src="items.goods_pic" mode=""></image>
|
||||
</view>
|
||||
<view class="container-txt">
|
||||
<text class=" centered-multi-line shop-txt">
|
||||
{{ items.goods_name }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="line-height: 34rpx;">X{{ items.product_num}}</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="btn" :class="item.status==3?'btns':'btn'">
|
||||
<view class="btn1">
|
||||
|
||||
<image src="@/static/images/yan.png" mode=""></image>
|
||||
</view>
|
||||
<view class="btn2" @click="openCamera"> 查看详情</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
<view class="btn" :class="item.status==3?'btns':'btn'">
|
||||
<view class="btn1">
|
||||
<view class="bj" v-else>
|
||||
|
||||
<image src="@/static/images/yan.png" mode=""></image>
|
||||
</view>
|
||||
<view class="btn2" @click="openCamera"> 查看详情</view>
|
||||
<view class="bj-conter">
|
||||
<view class="bja">
|
||||
<image src="@/static/images/zanwu.png" mode=""></image>
|
||||
</view>
|
||||
<view class="bjb">
|
||||
暂无订单信息
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
<view class="bj" v-else>
|
||||
|
||||
<view class="bj-conter">
|
||||
<view class="bja">
|
||||
<image src="@/static/images/zanwu.png" mode=""></image>
|
||||
</view>
|
||||
<view class="bjb">
|
||||
暂无订单信息
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</you-scroll>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -90,8 +95,11 @@
|
|||
import {
|
||||
lists
|
||||
} from '@/api/oa.js'
|
||||
|
||||
import youScroll from '@/components/you-scroll'
|
||||
export default {
|
||||
components: {
|
||||
youScroll
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
|
@ -111,10 +119,18 @@
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
this.initlist()
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
onPullDown(done) { // 下拉刷新
|
||||
setTimeout(() => {
|
||||
this.initlist()
|
||||
done(); // 完成刷新
|
||||
},1000*1)
|
||||
},
|
||||
refresh() {
|
||||
this.initlist()
|
||||
|
||||
|
@ -127,7 +143,7 @@
|
|||
this.initlist()
|
||||
}
|
||||
},
|
||||
initlist() {
|
||||
initlist() {
|
||||
this.list = []
|
||||
this.page_no = 1
|
||||
this.getlist()
|
||||
|
@ -155,7 +171,7 @@
|
|||
// uni.navigateTo({
|
||||
// url: '/pages/sda/detail?id=' + item.id
|
||||
// })
|
||||
this.$emit('onfunction2', item.id)
|
||||
this.$emit('onfunction', item.id,3)
|
||||
|
||||
},
|
||||
loadMoreData() {
|
||||
|
|
|
@ -0,0 +1,271 @@
|
|||
<template>
|
||||
<view class="you-scroll" ref="youScroll">
|
||||
<view class="pullDown" :style="{ transform: 'translateY('+translateY+'px)', transition: isDown ? '0s' : '0.3s' }">
|
||||
<slot name="pullDown">
|
||||
<!-- <img src="@/static/pullDown.jpg" :class="{'down-icon': true,'animate': pullDownStatus == 3}"></img> -->
|
||||
<span>
|
||||
<block v-if="pullDownStatus == 1">{{downPullToRefresh}}</block>
|
||||
<block v-if="pullDownStatus == 2">{{downReleaseToRefresh}}</block>
|
||||
<block v-if="pullDownStatus == 3">{{downRefreshing}}</block>
|
||||
</span>
|
||||
</slot>
|
||||
</view>
|
||||
<scroll-view class="you-scroll-inner" ref="youScrollInner" :scroll-top="scrollToTop" scroll-with-animation scroll-y :style="{ transform: 'translateY('+translateY+'px)', transition: isDown ? '0s' : 'transform 0.3s' }"
|
||||
@touchstart="startFn" @touchmove="moveFn" @touchend="endFn" @touchcancel="endFn" @scroll="scroll">
|
||||
<view class="you-scroll-content">
|
||||
<slot></slot>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
scrollToTop: 0,
|
||||
scrollTop: 0,
|
||||
oldTop: 0,
|
||||
sPageY: 0,
|
||||
mPageY: 0,
|
||||
ePageY: 0,
|
||||
translateY: 0,
|
||||
pullDownStatus: 1, // 1:下拉刷新 2:松开刷新 3:刷新中
|
||||
isDown: false
|
||||
};
|
||||
},
|
||||
props: {
|
||||
pullDownDistance: {
|
||||
type: Number,
|
||||
default: 50 // 下拉刷新距离
|
||||
},
|
||||
reachBottomDistance: {
|
||||
type: Number,
|
||||
default: 30 // 上拉加载距离
|
||||
},
|
||||
downPullToRefresh: {
|
||||
type: String,
|
||||
default: '下拉刷新'
|
||||
},
|
||||
downReleaseToRefresh: {
|
||||
type: String,
|
||||
default: '松开刷新'
|
||||
},
|
||||
downRefreshing: {
|
||||
type: String,
|
||||
default: '刷新中…'
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
startFn(e) {
|
||||
this.isDown = true;
|
||||
this.sPageY = e.changedTouches[0].pageY;
|
||||
this.pointY = this.translateY;
|
||||
},
|
||||
moveFn(e) {
|
||||
let view = uni.createSelectorQuery().in(this).select(".you-scroll-inner");
|
||||
view.fields({
|
||||
size: true,
|
||||
scrollOffset: true
|
||||
}, data => {
|
||||
this.scrollTop = data.scrollTop;
|
||||
this.mPageY = e.changedTouches[0].pageY;
|
||||
if (this.scrollTop <= 0) {
|
||||
let translateY = ((this.mPageY - this.sPageY) / 2) + this.pointY;
|
||||
this.translateY = (translateY < 0 ? 0 : translateY);
|
||||
|
||||
if(this.pullDownStatus != 3) {
|
||||
if(this.translateY < this.pullDownDistance) {
|
||||
this.pullDownStatus = 1;
|
||||
} else if(this.translateY >= this.pullDownDistance) {
|
||||
this.pullDownStatus = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}).exec();
|
||||
|
||||
},
|
||||
endFn(e) {
|
||||
this.isDown = false;
|
||||
this.ePageY = e.changedTouches[0].pageY;
|
||||
setTimeout(() => {
|
||||
this.translateY = this.translateY >= this.pullDownDistance ? this.pullDownDistance : 0;
|
||||
if(this.pullDownStatus == 2) { // 开始刷新
|
||||
this.pullDownStatus = 3;
|
||||
this.$emit('onPullDown',this.endPullDown);
|
||||
}
|
||||
},100)
|
||||
|
||||
|
||||
},
|
||||
endPullDown(mm) {
|
||||
if(this.timeout) clearTimeout(this.timeout);
|
||||
this.timeout = setTimeout(() => {
|
||||
this.translateY = 0;
|
||||
this.pullDownStatus = 1;
|
||||
}, mm || 0);
|
||||
},
|
||||
prevent(e) {
|
||||
if(this.translateY > 0) {
|
||||
e.preventDefault();
|
||||
}
|
||||
},
|
||||
scroll(e) {
|
||||
this.$emit('onScroll',e);
|
||||
this.oldTop = e.detail.scrollTop;
|
||||
|
||||
if(this.timeout) clearTimeout(this.timeout);
|
||||
this.timeout = setTimeout(() => {
|
||||
this.scrolltolower(e);
|
||||
},20);
|
||||
},
|
||||
scrolltolower(e) {
|
||||
let view = uni.createSelectorQuery().in(this).select(".you-scroll-inner");
|
||||
view.fields({
|
||||
size: true,
|
||||
scrollOffset: true
|
||||
}, data => {
|
||||
if(data.scrollTop >= (e.detail.scrollHeight - data.height - this.reachBottomDistance)) {
|
||||
this.$emit('onLoadMore',e);
|
||||
}
|
||||
}).exec();
|
||||
|
||||
},
|
||||
isWeixinCient(){
|
||||
var ua = navigator.userAgent.toLowerCase();
|
||||
if(ua.match(/MicroMessenger/i)=="micromessenger") {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
goTop(top) {
|
||||
this.scrollToTop = this.oldTop;
|
||||
this.$nextTick(function() {
|
||||
this.scrollToTop = top || 0;
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// #ifdef H5
|
||||
if(this.isWeixinCient()) {
|
||||
document.body.addEventListener('touchmove', this.prevent);
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
destroyed() {
|
||||
// #ifdef H5
|
||||
if(this.isWeixinCient()) {
|
||||
document.body.removeEventListener('touchmove', this.prevent);
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.you-scroll {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
// background-color: #eee;
|
||||
}
|
||||
.you-scroll .pullDown {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 50px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
overflow: hidden;
|
||||
transform: translateY(-100%);
|
||||
position: absolute;
|
||||
top: -40px;
|
||||
left: 0;
|
||||
}
|
||||
.you-scroll .pullDown .down-icon {
|
||||
width: 40px;
|
||||
height: 32px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.you-scroll .pullDown .animate {
|
||||
-webkit-animation: scaleIcon 1s infinite linear;
|
||||
-moz-animation: scaleIcon 1s infinite linear;
|
||||
-ms-animation: scaleIcon 1s infinite linear;
|
||||
animation: scaleIcon 1s infinite linear;
|
||||
}
|
||||
.you-scroll .pullDown span {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.you-scroll .you-scroll-inner {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.you-scroll-content {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@-webkit-keyframes scaleIcon {
|
||||
0% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
40% {
|
||||
transform: scaleY(0.8);
|
||||
}
|
||||
80% {
|
||||
transform: scaleY(0.9);
|
||||
}
|
||||
100% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
@-moz-keyframes scaleIcon {
|
||||
0% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
40% {
|
||||
transform: scaleY(0.8);
|
||||
}
|
||||
80% {
|
||||
transform: scaleY(0.9);
|
||||
}
|
||||
100% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
@-ms-keyframes scaleIcon {
|
||||
0% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
40% {
|
||||
transform: scaleY(0.8);
|
||||
}
|
||||
80% {
|
||||
transform: scaleY(0.9);
|
||||
}
|
||||
100% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
@keyframes scaleIcon {
|
||||
0% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
40% {
|
||||
transform: scaleY(0.8);
|
||||
}
|
||||
80% {
|
||||
transform: scaleY(0.9);
|
||||
}
|
||||
100% {
|
||||
transform: scaleY(1);
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -6,7 +6,7 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "首页",
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true,
|
||||
|
||||
"app-plus": {
|
||||
"subNVues": [{
|
||||
"id": "concat", // 唯一标识
|
||||
|
|
|
@ -108,7 +108,6 @@
|
|||
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
|
||||
uni.stopPullDownRefresh()
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -22,12 +22,9 @@
|
|||
<view class="left-bottom-right">
|
||||
<view class="bottom-right1">
|
||||
<view class="bottom-right_a">
|
||||
|
||||
</view>
|
||||
<view class="bottom-right_b">
|
||||
|
||||
{{oaUserInfo.nickname ?'在线':'离线'}}
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom-right2" @click="logout">
|
||||
|
@ -37,13 +34,12 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="content-right">
|
||||
<index ref="list" @onfunction='onfunction' v-if="num==0&&isshow" />
|
||||
<indexa :type='type' @outfun='outfun' v-if="num==0&&!isshow" />
|
||||
<index1 ref="list1" @onfunction1='onfunction1' v-if="num==1&&isshow1" />
|
||||
<indexb :type='type' @outfun='outfun' v-if="num==1&&!isshow1" />
|
||||
<pindex ref="list2" @onfunction2='onfunction2' v-if="num==2&&isshow2" />
|
||||
<indexc :type='type' @outfun='outfun' v-if="num==2 &&!isshow2" />
|
||||
|
||||
<index ref="list" @onfunction='onfunction' v-show="showIndexComponent" />
|
||||
<indexa :type='type' @outfun='outfun' v-if="showIndexAComponent" />
|
||||
<index1 ref="list1" @onfunction='onfunction' v-show="showIndex1Component" />
|
||||
<indexb :type='type' @outfun='outfun' v-if="showIndexBComponent" />
|
||||
<pindex ref="list2" @onfunction='onfunction' v-show="showPIndexComponent" />
|
||||
<indexc :type='type' @outfun='outfun' v-if="showIndexCComponent" />
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
@ -78,7 +74,7 @@
|
|||
indexc
|
||||
},
|
||||
data() {
|
||||
|
||||
|
||||
return {
|
||||
title: 'Hello',
|
||||
BarHeight: '',
|
||||
|
@ -106,7 +102,24 @@
|
|||
oaUserInfo() {
|
||||
return this.$store.state.app.userInfo
|
||||
},
|
||||
|
||||
showIndexComponent: function() {
|
||||
return this.num === 0 && this.isshow;
|
||||
},
|
||||
showIndexAComponent: function() {
|
||||
return this.num === 0 && !this.isshow;
|
||||
},
|
||||
showIndex1Component: function() {
|
||||
return this.num === 1 && this.isshow1;
|
||||
},
|
||||
showIndexBComponent: function() {
|
||||
return this.num === 1 && !this.isshow1;
|
||||
},
|
||||
showPIndexComponent: function() {
|
||||
return this.num === 2 && this.isshow2;
|
||||
},
|
||||
showIndexCComponent: function() {
|
||||
return this.num === 2 && !this.isshow2;
|
||||
}
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
|
@ -114,21 +127,43 @@
|
|||
|
||||
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
if (this.num == 0) {
|
||||
|
||||
// onPullDownRefresh() {
|
||||
// if (this.num == 0 && this.isshow) {
|
||||
// this.$refs.list.refresh()
|
||||
// uni.stopPullDownRefresh()
|
||||
// } else if (this.num == 1 && this.isshow1) {
|
||||
// this.$refs.list1.refresh()
|
||||
// uni.stopPullDownRefresh()
|
||||
// } else if (this.num == 2 && this.isshow2) {
|
||||
// this.$refs.list2.refresh()
|
||||
// uni.stopPullDownRefresh()
|
||||
// }
|
||||
// },
|
||||
onShow() {
|
||||
if (this.num == 0 && this.isshow) {
|
||||
this.$refs.list.refresh()
|
||||
uni.stopPullDownRefresh()
|
||||
} else if (this.num == 1) {
|
||||
} else if (this.num == 1 && this.isshow1) {
|
||||
this.$refs.list1.refresh()
|
||||
uni.stopPullDownRefresh()
|
||||
} else {
|
||||
} else if (this.num == 2 && this.isshow2) {
|
||||
this.$refs.list2.refresh()
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
mounted() {
|
||||
if (this.num == 0 && this.isshow) {
|
||||
this.$refs.list.refresh()
|
||||
uni.stopPullDownRefresh()
|
||||
} else if (this.num == 1 && this.isshow1) {
|
||||
this.$refs.list1.refresh()
|
||||
uni.stopPullDownRefresh()
|
||||
} else if (this.num == 2 && this.isshow2) {
|
||||
this.$refs.list2.refresh()
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
login() {
|
||||
|
@ -137,59 +172,75 @@
|
|||
})
|
||||
},
|
||||
logout() {
|
||||
uni.reLaunch({
|
||||
url: '/pages/oaLogin/oaLogin'
|
||||
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确定退出?',
|
||||
cancelText: "取消", // 取消按钮的文字
|
||||
confirmText: "确认", // 确认按钮的文字
|
||||
showCancel: true, // 是否显示取消按钮,默认为 true
|
||||
confirmColor: '#f55850',
|
||||
cancelColor: '#39B54A',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
uni.reLaunch({
|
||||
url: '/pages/oaLogin/oaLogin'
|
||||
})
|
||||
console.log('comfirm') //点击确定之后执行的代码
|
||||
} else {
|
||||
console.log('cancel') //点击取消之后执行的代码
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
getlist(index) {
|
||||
this.num = index
|
||||
if (index == 1) {
|
||||
|
||||
this.$refs.list1.refresh()
|
||||
this.isshow2 = true
|
||||
this.isshow = true
|
||||
}
|
||||
if (index == 2) {
|
||||
this.isshow1 = true
|
||||
this.isshow = true
|
||||
this.$refs.list2.refresh()
|
||||
}
|
||||
|
||||
if (index == 0) {
|
||||
this.$refs.list.refresh()
|
||||
|
||||
this.isshow1 = true
|
||||
this.isshow2 = true
|
||||
}
|
||||
|
||||
},
|
||||
onfunction(e) {
|
||||
if (e) {
|
||||
|
||||
onfunction(e,id) {
|
||||
console.log(e,id)
|
||||
if (id == 1) {
|
||||
this.isshow = false
|
||||
this.type = e
|
||||
}
|
||||
},
|
||||
onfunction1(e) {
|
||||
if (e) {
|
||||
|
||||
} else if (id == 2) {
|
||||
this.isshow1 = false
|
||||
this.type = e
|
||||
}
|
||||
},
|
||||
onfunction2(e) {
|
||||
|
||||
if (e) {
|
||||
} else {
|
||||
this.isshow2 = false
|
||||
this.type = e
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
|
||||
outfun(e) {
|
||||
if (e == 1) {
|
||||
|
||||
this.$refs.list.refresh()
|
||||
this.isshow = true
|
||||
} else if (e == 2) {
|
||||
|
||||
this.$refs.list1.refresh()
|
||||
this.isshow1 = true
|
||||
} else {
|
||||
|
||||
this.$refs.list2.refresh()
|
||||
this.isshow2 = true
|
||||
}
|
||||
},
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
jpushModule.getRegistrationID(result => {
|
||||
console.log("设备----", result)
|
||||
// 绑定极光设备id
|
||||
this.formData.register_id = result.registerID || 1
|
||||
this.formData.register_id = result.registerID
|
||||
console.log("设备----", this.formData)
|
||||
})
|
||||
// #endif
|
||||
|
@ -117,6 +117,7 @@
|
|||
async login() {
|
||||
|
||||
if (!this.formData.account) return Toast('账号不能为空');
|
||||
|
||||
if (this.formData.scene == 1 && !this.formData.password) return Toast('密码不能为空');
|
||||
if (this.formData.scene == 2 && !this.formData.code) return Toast('验证码不能为空');
|
||||
|
||||
|
@ -126,7 +127,7 @@
|
|||
// })
|
||||
console.log(that.formData)
|
||||
let res = await loginAccount(that.formData);
|
||||
console.log(res)
|
||||
// console.log(res)
|
||||
encrypt.encode('ACT', that.formData);
|
||||
|
||||
this.$store.commit('SET_USERINFO', {
|
||||
|
@ -139,8 +140,6 @@
|
|||
|
||||
// console.log(data, '11111111')
|
||||
// this.$store.commit('setUserInfo', data);
|
||||
|
||||
|
||||
uni.hideLoading()
|
||||
if (res.data.token) {
|
||||
// console.log('111111111')
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Loading…
Reference in New Issue