Commit 29cd5170 authored by miko's avatar miko

aa

parent 5759fb9f
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectTasksOptions"> <component name="ProjectTasksOptions">
<TaskOptions isEnabled="true"> <TaskOptions isEnabled="false">
<option name="arguments" value="-i &quot;&quot; s/&quot;\ rpx&quot;/rpx/g $FilePath$" /> <option name="arguments" value="-i &quot;&quot; s/&quot;\ rpx&quot;/rpx/g $FilePath$" />
<option name="checkSyntaxErrors" value="true" /> <option name="checkSyntaxErrors" value="true" />
<option name="description" /> <option name="description" />
......
{ {
"description": "A WePY project", "description": "A WePY project",
"setting": { "setting": {
"urlCheck": true, "urlCheck": false,
"es6": false, "es6": true,
"postcss": false, "postcss": false,
"minified": false, "minified": false,
"newFeature": true, "newFeature": true,
"coverView": true, "coverView": true,
"autoAudits": false, "nodeModules": true,
"showShadowRootInWxmlPanel": true, "autoAudits": false,
"scopeDataCheck": false, "showShadowRootInWxmlPanel": true,
"checkInvalidKey": true, "scopeDataCheck": false,
"checkSiteMap": true, "checkInvalidKey": true,
"uploadWithSourceMap": true, "checkSiteMap": true,
"babelSetting": { "uploadWithSourceMap": true,
"ignore": [], "compileHotReLoad": false,
"disablePlugins": [], "useMultiFrameRuntime": false,
"outputPath": "" "useApiHook": true,
}, "babelSetting": {
"nodeModules": true "ignore": [],
}, "disablePlugins": [],
"compileType": "miniprogram", "outputPath": ""
"appid": "wx5cda879d33846e26", },
"projectname": "mpshaodai", "useIsolateContext": true,
"miniprogramRoot": "weapp/", "useCompilerModule": false,
"simulatorType": "wechat", "userConfirmedUseCompilerModuleSwitch": false,
"simulatorPluginLibVersion": {}, "packNpmManually": false,
"condition": {} "packNpmRelationList": [],
"minifyWXSS": true
},
"compileType": "miniprogram",
"appid": "wx5cda879d33846e26",
"projectname": "mpshaodai",
"miniprogramRoot": "weapp/",
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {}
} }
\ No newline at end of file
...@@ -12,9 +12,13 @@ ...@@ -12,9 +12,13 @@
height: 100%; height: 100%;
} }
.pc{ .pc{
background: #FE991B!important; background: #FAC135!important;
} }
.sc{
background: #0468C3!important;
}
.mytabbar { .mytabbar {
--tabbar-item-font-size: 32rpx; --tabbar-item-font-size: 32rpx;
//--tabbar-item-icon-size:61px; //--tabbar-item-icon-size:61px;
...@@ -31,13 +35,14 @@ wepy.use(vuex); ...@@ -31,13 +35,14 @@ wepy.use(vuex);
wepy.app({ wepy.app({
hooks: { hooks: {
// App 级别 hook,对整个 App 生效 // App 级别 hook,对整个 App 生效
// 同时存在 Page hook 和 App hook 时,优先执行 Page hook,返回值再交由 App hook 处 // 同时存在 Page hook 和 App hook 时,优先执行 Page hook,返回值再交由 App hook 处
'before-setData': function (dirty) { // 'before-setData': function (dirty) {
console.log('setData dirty: ', dirty); // console.log('setData dirty: ', dirty);
return dirty; // return dirty;
} // }
}, },
globalData: { globalData: {
userInfo: null userInfo: null
...@@ -46,8 +51,6 @@ wepy.app({ ...@@ -46,8 +51,6 @@ wepy.app({
onLaunch() { onLaunch() {
this.testAsync(); this.testAsync();
eventHub.$on('app-launch', (...args) => { eventHub.$on('app-launch', (...args) => {
console.log('app-launch event emitted, the params are:');
console.log(args);
}); });
wx.getSystemInfo({ wx.getSystemInfo({
success: res => { success: res => {
...@@ -56,7 +59,6 @@ wepy.app({ ...@@ -56,7 +59,6 @@ wepy.app({
this.$options.config.statusbarHeight = res.statusBarHeight; this.$options.config.statusbarHeight = res.statusBarHeight;
}, fail(err) { }, fail(err) {
console.log(err);
} }
}) })
}, },
...@@ -72,7 +74,6 @@ wepy.app({ ...@@ -72,7 +74,6 @@ wepy.app({
async testAsync () { async testAsync () {
let d = await this.sleep(3); let d = await this.sleep(3);
console.log(d);
} }
}, },
config:{ config:{
...@@ -82,7 +83,10 @@ wepy.app({ ...@@ -82,7 +83,10 @@ wepy.app({
titleIcon_width: "87", titleIcon_width: "87",
title_top: "24", title_top: "24",
title_text: "xxx", // iphone X + 24 title_text: "xxx", // iphone X + 24
prefix: 24 prefix: 24,
urlPrefix: 'https://tmallab.com/sd/api'
// urlPrefix: "http://127.0.0.1:8888/api"
} }
}); });
</script> </script>
...@@ -90,9 +94,14 @@ wepy.app({ ...@@ -90,9 +94,14 @@ wepy.app({
{ {
pages: [ pages: [
'pages/index', 'pages/index',
'pages/progress' 'pages/progress',
], ],
<!--"plugins": {-->
<!--"ocr-plugin": {-->
<!--"version": "3.0.2",-->
<!--"provider": "wx4418e3e031e551be"-->
<!--}-->
<!--},-->
window: { window: {
navigationStyle: "custom", navigationStyle: "custom",
backgroundTextStyle: 'light', backgroundTextStyle: 'light',
...@@ -100,6 +109,7 @@ wepy.app({ ...@@ -100,6 +109,7 @@ wepy.app({
navigationBarTextStyle: 'black' navigationBarTextStyle: 'black'
} }
, ,
"tabBar": { "tabBar": {
"custom": true, "custom": true,
...@@ -122,3 +132,5 @@ wepy.app({ ...@@ -122,3 +132,5 @@ wepy.app({
} }
} }
</config> </config>
src/assets/tab1.png

3.22 KB | W: | H:

src/assets/tab1.png

2.09 KB | W: | H:

src/assets/tab1.png
src/assets/tab1.png
src/assets/tab1.png
src/assets/tab1.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/tab1s.png

4.64 KB | W: | H:

src/assets/tab1s.png

3.11 KB | W: | H:

src/assets/tab1s.png
src/assets/tab1s.png
src/assets/tab1s.png
src/assets/tab1s.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/tab2.png

1.02 KB | W: | H:

src/assets/tab2.png

1.28 KB | W: | H:

src/assets/tab2.png
src/assets/tab2.png
src/assets/tab2.png
src/assets/tab2.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/tab2s.png

2.66 KB | W: | H:

src/assets/tab2s.png

1.36 KB | W: | H:

src/assets/tab2s.png
src/assets/tab2s.png
src/assets/tab2s.png
src/assets/tab2s.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -3,13 +3,15 @@ module.exports = { ...@@ -3,13 +3,15 @@ module.exports = {
get, get,
upload upload
} }
const app = getApp().$wepy.$options
// LOG控制 // LOG控制
const isLog = false const isLog = false
// 网络请求超时 // 网络请求超时
const timeOut = 30 * 1000 const timeOut = 30 * 1000
const prefix = 'http://127.0.0.1:8888/api' const prefix = app.config.urlPrefix
// MARK 网络请求 // MARK 网络请求
function get(url, data) { function get(url, data) {
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
width: 100%; width: 100%;
} }
.header { .header {
z-index: 1000;
width: 100%; width: 100%;
height: 170rpx; height: 170rpx;
display: flex; display: flex;
...@@ -29,25 +31,34 @@ ...@@ -29,25 +31,34 @@
width: 490rpx; width: 490rpx;
.avatar-small { .avatar-small {
display: flex;flex-direction: row;
align-items: center;
justify-content: center;
border-radius: 50%; border-radius: 50%;
overflow: hidden; overflow: hidden;
background: #aaaaaa; background: white;
z-index: 1000; z-index: 1000;
width: 83rpx; width: 98rpx;
height: 83rpx; height: 98rpx;
} }
.avatar-big { .avatar-big {
display: flex;flex-direction: row;
align-items: center;
justify-content: center;
border-radius: 50%; border-radius: 50%;
overflow: hidden; background: white;
background: #aaaaaa;
z-index: 1000; z-index: 1000;
width: 119rpx; width: 138rpx;
height: 119rpx; height: 138rpx;
} }
} }
} }
.van-image{
display: block!important;
}
.message { .message {
border: 1px solid #EBEBEB; border: 1px solid #EBEBEB;
...@@ -76,6 +87,7 @@ ...@@ -76,6 +87,7 @@
padding-right: 24rpx; padding-right: 24rpx;
.scroll-container { .scroll-container {
position: relative;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
...@@ -110,7 +122,7 @@ ...@@ -110,7 +122,7 @@
} }
.placeholder { .placeholder {
color: black !important; color: #0468C3 !important;
} }
.input-notnull { .input-notnull {
...@@ -231,13 +243,13 @@ ...@@ -231,13 +243,13 @@
} }
.tag-checked { .tag-checked {
border: 1px solid #FE991B; border: 1px solid #FAC135;
margin: 12rpx 24rpx 10rpx 0; margin: 12rpx 24rpx 10rpx 0;
box-sizing: border-box; box-sizing: border-box;
height: 72rpx; height: 72rpx;
padding: 16rpx 31rpx; padding: 16rpx 31rpx;
font-size: 29rpx; font-size: 29rpx;
color: #FE991B; color: #FAC135;
border-radius: 34rpx; border-radius: 34rpx;
background: #F7F7F7; background: #F7F7F7;
} }
...@@ -297,8 +309,6 @@ ...@@ -297,8 +309,6 @@
width: 100%; width: 100%;
height: 66rpx; height: 66rpx;
align-items: flex-end; align-items: flex-end;
display: flex;
flex-direction: row;
label { label {
font-weight: 600; font-weight: 600;
...@@ -334,10 +344,7 @@ ...@@ -334,10 +344,7 @@
flex-direction: row; flex-direction: row;
width: 100%; width: 100%;
height: 66rpx; height: 66rpx;
display: flex;
align-items: flex-end; align-items: flex-end;
flex-direction: row;
label { label {
font-size: 26rpx; font-size: 26rpx;
margin-left: 26rpx margin-left: 26rpx
...@@ -347,7 +354,60 @@ ...@@ -347,7 +354,60 @@
} }
} }
} }
.pop-icon{
height: 162rpx;width: 162rpx;border-radius: 50%;background: white;margin-top: -74rpx;display: flex;flex-direction: column;align-items: center;justify-content: center
}
.pop-item{
margin-top: 22rpx;
display: flex;
flex-direction: row;
align-items: center;
width: 484rpx;
height: 82rpx;
background: rgba(4, 104, 195, 0.08);
border-radius: 46px;
image{
height: 44rpx;
width: 44rpx;
}
label{
font-size: 29rpx;
font-weight: 400;
color: #0468C3;
line-height: 40rpx;
}
}
.pop-button{
display: flex;
align-items: center;
flex-direction: row;
justify-content:center;
margin-top: 64rpx;
font-size: 33rpx;
font-weight: 500;
color: #FFFFFF;
line-height: 46rpx;
letter-spacing: 2rpx;
width: 651rpx;
height: 91rpx;
background: #0468C3;
border-radius: 46rpx;
}
.cellChecked{
background-color: #07c1604C!important;
color: #969799!important;
}
.bt-service{
box-shadow:0 2rpx 4rpx rgba(0, 0, 0, .3);
width: 160rpx!important;
position: fixed!important;
right: -30rpx!important;
bottom: 460rpx!important;
}
</style> </style>
...@@ -364,13 +424,124 @@ ...@@ -364,13 +424,124 @@
<!--</wxs>--> <!--</wxs>-->
<template> <template>
<div class="container" style="align-items: center"> <div class="container" style="align-items: center">
<header background="#FE991B" title_text="捎带"/> <van-overlay show="{{ showMark }}" bind:click="onClickHide">
<header background="transparent" title_text="熊猫派捎带"/>
<scroll-view scroll-y="true" class="main">
<div class="header pc">
<div class="inner">
<div @tap="openChange" class="avatar-small">
<van-image
round
fit="cover"
width="88rpx"
height="88rpx"
:src="schoolIconUrl"
/>
</div>
<div class="avatar-big">
<van-image
round
fit="cover"
width="126rpx"
height="126rpx"
src="../assets/main-logo.png"
/>
</div>
<div class="avatar-small" @tap="mallClick">
<van-image
round
fit="cover"
width="88rpx"
height="88rpx"
src="../assets/mall.png"
/>
</div>
</div>
</div>
<div class="message">
<div class="inner">
<div class="inner-top">
<div class="scroll-container">
<div v-if="!messageText"
style="width: 9rpx;height: 40rpx;margin-top: -3rpx;align-self: center;margin-left: 24rpx"
class="sc"/>
<textarea contenteditable="true" placeholder="粘贴短信或者识别截图"
auto-height="true"
fixed="true"
@input="messageInput"
placeholder-class="placeholder"
v-model="messageText"
class="{{messageText? 'input-notnull':'input-null'}}"/>
</div>
<img v-if="!messageText" src="@/assets/pic.png"/>
<img v-if="messageText" @tap="cleanMessage" src="@/assets/close.png"/>
</div>
<div class="parse-result" v-if="messageText">
<span style="font-size: 28rpx">识别结果</span>
<div>
<span style="color: #0468C3" v-if="messageComp">{{ messageComp }}</span>
<span style="color: #0468C3" v-else>未知快递公司</span>
<span v-if="messagePacketCode" style="margin-left: 25rpx;color: #0468C3;">{{ messagePacketCode }}</span>
<span v-else style="margin-left: 25rpx;color: #0468C3">无取件码</span>
</div>
<van-button icon="success" round type="primary" size="small" @tap="confirmMessage"
v-bind:disabled="messageConfirmed">确认
</van-button>
</div>
<div v-if="messageText" class="parse-result" style="font-size: 24rpx;color: #BABABA;border: none">
识别仅供参考,若与实际意思不一致,请自行输入快递公司和取件码,例如:"顺丰123"即可
</div>
</div>
</div>
<image style="margin-left: 150rpx" src="@/assets/hint.png"/>
<span style="width: 482rpx!important;margin: 10rpx 160rpx;height: 91rpx!important;font-size: 33rpx;font-weight: 500;color: #FFFFFF;line-height: 46rpx;letter-spacing: 2rpx;">
注意不是快递运单号,而是取件时使用的短信取件码哦~~
</span>
<van-button style="z-index: 1000!important;" @tap="know()" round color="#0468C3" custom-class="bt-submit">我知道了</van-button>
</scroll-view>
</van-overlay>
<header background="#FAC135" title_text="熊猫派捎带"/>
<div class="main"> <div class="main">
<div class="header pc"> <div class="header pc">
<div class="inner"> <div class="inner">
<image class="avatar-small"></image> <div @tap="openChange" class="avatar-small">
<image class="avatar-big"></image> <van-image
<image class="avatar-small"></image> round
fit="cover"
width="88rpx"
height="88rpx"
:src="schoolIconUrl"
/>
</div>
<div class="avatar-big">
<van-image
round
fit="cover"
width="126rpx"
height="126rpx"
src="../assets/main-logo.png"
/>
</div>
<div class="avatar-small" @tap="mallClick">
<van-image
round
fit="cover"
width="88rpx"
height="88rpx"
src="../assets/mall.png"
/>
</div>
</div> </div>
</div> </div>
...@@ -380,7 +551,7 @@ ...@@ -380,7 +551,7 @@
<div class="scroll-container"> <div class="scroll-container">
<div v-if="!messageText" <div v-if="!messageText"
style="width: 9rpx;height: 40rpx;margin-top: -3rpx;align-self: center;margin-left: 24rpx" style="width: 9rpx;height: 40rpx;margin-top: -3rpx;align-self: center;margin-left: 24rpx"
class="pc"/> class="sc"/>
<textarea contenteditable="true" placeholder="粘贴短信或者识别截图" <textarea contenteditable="true" placeholder="粘贴短信或者识别截图"
auto-height="true" auto-height="true"
...@@ -388,7 +559,6 @@ ...@@ -388,7 +559,6 @@
placeholder-class="placeholder" placeholder-class="placeholder"
v-model="messageText" v-model="messageText"
class="{{messageText? 'input-notnull':'input-null'}}"/> class="{{messageText? 'input-notnull':'input-null'}}"/>
</div> </div>
<img v-if="!messageText" src="@/assets/pic.png"/> <img v-if="!messageText" src="@/assets/pic.png"/>
<img v-if="messageText" @tap="cleanMessage" src="@/assets/close.png"/> <img v-if="messageText" @tap="cleanMessage" src="@/assets/close.png"/>
...@@ -397,10 +567,10 @@ ...@@ -397,10 +567,10 @@
<div class="parse-result" v-if="messageText"> <div class="parse-result" v-if="messageText">
<span style="font-size: 28rpx">识别结果</span> <span style="font-size: 28rpx">识别结果</span>
<div> <div>
<span v-if="messageComp">{{ messageComp }}</span> <span style="color: #0468C3" v-if="messageComp">{{ messageComp }}</span>
<span v-else>未知快递公司</span> <span style="color: #0468C3" v-else>未知快递公司</span>
<span v-if="messagePacketCode" style="margin-left: 25rpx">{{ messagePacketCode }}</span> <span v-if="messagePacketCode" style="margin-left: 25rpx;color: #0468C3;">{{ messagePacketCode }}</span>
<span v-else style="margin-left: 25rpx">无取件码</span> <span v-else style="margin-left: 25rpx;color: #0468C3">无取件码</span>
</div> </div>
<van-button icon="success" round type="primary" size="small" @tap="confirmMessage" <van-button icon="success" round type="primary" size="small" @tap="confirmMessage"
v-bind:disabled="messageConfirmed">确认 v-bind:disabled="messageConfirmed">确认
...@@ -426,11 +596,10 @@ ...@@ -426,11 +596,10 @@
</div> </div>
</div> </div>
<div class="remark"> <div class="remark" v-if="!showMark">
<div class="top"> <div class="top">
<span class="panel-title">留言</span> <span class="panel-title">留言</span>
</div> </div>
<div class="middle"> <div class="middle">
<div class="{{item.checked?'tag-checked':'tag-uncheck'}}" @tap="remarkCheck(index)" <div class="{{item.checked?'tag-checked':'tag-uncheck'}}" @tap="remarkCheck(index)"
v-for="(item,index) in remarkList">{{ item.label }} v-for="(item,index) in remarkList">{{ item.label }}
...@@ -442,8 +611,9 @@ ...@@ -442,8 +611,9 @@
<input v-model="remarkText" placeholder="也可以填写其他留言"/> <input v-model="remarkText" placeholder="也可以填写其他留言"/>
</div> </div>
</div> </div>
<van-button @tap="taskSubmit" round custom-class="bt-submit pc">提 交</van-button> <van-button @tap="taskSubmit" round color="#0468C3" custom-class="bt-submit">提 交</van-button>
</div> </div>
<van-button icon="service" open-type="contact" round custom-class="bt-service">客服</van-button>
<van-action-sheet <van-action-sheet
@close="closeAddressSheet" @close="closeAddressSheet"
...@@ -470,9 +640,9 @@ ...@@ -470,9 +640,9 @@
style="width: 220rpx;font-size: 34rpx;margin-left: 46rpx;" style="width: 220rpx;font-size: 34rpx;margin-left: 46rpx;"
placeholder="13000000000"/> placeholder="13000000000"/>
</div> </div>
<div style="width: 20%;color: #FE991B" @tap="getPhone"> <!-- <div style="width: 20%;color: #FAC135" @tap="getPhone">-->
自动获取 <!-- 自动获取-->
</div> <!-- </div>-->
</div> </div>
<div class="bottom"> <div class="bottom">
<image style="height: 32rpx;width: 32rpx" src="@/assets/info.png"></image> <image style="height: 32rpx;width: 32rpx" src="@/assets/info.png"></image>
...@@ -492,11 +662,85 @@ ...@@ -492,11 +662,85 @@
</div> </div>
</div> </div>
</div> </div>
<van-button @tap="updateAddress" round custom-class="bt-update pc">更 新</van-button> <van-button @tap="updateAddress" round custom-class="bt-update sc">更 新</van-button>
</div> </div>
</van-action-sheet> </van-action-sheet>
<van-action-sheet
title="我所在的校区"
@close="closeSchoolSheet"
@click-overlay="closeSchoolSheet"
v-bind:show="showChangeSchoolSheet"
>
<div style="display: flex;flex-direction: column;align-items: center;width: 100%;padding: 20rpx 0 40rpx 0rpx">
<van-cell-group style="width: 100%">
<div style="width: 100%" v-for="item in schoolSearchResult" >
<van-cell v-if="item.checked" custom-class="cellChecked" @tap="schoolItmeClick(item)" :title="item.schoolName" />
<van-cell v-else @tap="schoolItmeClick(item)" :title="item.schoolName" />
</div>
</van-cell-group>
<van-search @change="onChange" style="width: 90%;"
@search="onSearch" :value="searchText" placeholder="请输入校区名" />
<van-button @tap="updateSchool" round custom-class="bt-update sc">更 新</van-button>
</div>
</van-action-sheet>
<van-popup
@close="closeUnOpen"
@click-overlay="closeUnOpen"
v-bind:show="showUnOpenSheet"
closeable
position="bottom"
custom-style="height: 1000rpx;display: flex;flex-direction: column;align-items: center;width: 100%;overflow-y: visible"
>
<div class="pop-icon" v-if="showUnOpenSheet">
<van-image
round
fit="cover"
width="150rpx"
height="150rpx"
:src="schoolIconUrl"
/>
</div>
<span style="height: 48rpx;font-size: 37rpx;color: #000000;line-height: 44rpx;letter-spacing: 2rpx;margin-top: 12rpx">{{school.schoolName}}</span>
<span style="font-size: 26rpx;margin-top: 24rpx;color: #858585">暂未开通</span>
<div class="pop-item" style="margin-top: 64rpx!important;">
<image style="margin-left: 48rpx" src="@/assets/r1.png"/>
<span style="margin-left: 48rpx">0元投入</span>
</div>
<div class="pop-item">
<image style="margin-left: 48rpx" src="@/assets/r2.png"/>
<span style="margin-left: 48rpx">全方位扶持</span>
</div>
<div class="pop-item">
<image style="margin-left: 48rpx" src="@/assets/r3.png"/>
<span style="margin-left: 48rpx">锻炼管理能力</span>
</div>
<div class="pop-item">
<image style="margin-left: 48rpx" src="@/assets/r4.png"/>
<span style="margin-left: 48rpx">服务同学,结交朋友</span>
</div>
<div class="pop-item">
<image style="margin-left: 48rpx" src="@/assets/r5.png"/>
<span style="margin-left: 48rpx">享受月薪+提成</span>
</div>
<button class="pop-button" open-type="contact">
申请成为校区负责人
</button>
</van-popup>
<van-action-sheet <van-action-sheet
title="选择宿舍楼" title="选择宿舍楼"
...@@ -515,9 +759,11 @@ ...@@ -515,9 +759,11 @@
</van-action-sheet> </van-action-sheet>
<!-- 自定义tabbar--> <!-- 自定义tabbar-->
<van-tabbar <van-tabbar
active-color="#FE991B" active-color="#FAC135"
active="{{ active }}" @change="onTabChange" class="mytabbar"> active="{{ active }}" @change="onTabChange" class="mytabbar">
<van-tabbar-item> <van-tabbar-item>
<image <image
...@@ -582,12 +828,18 @@ wepy.page({ ...@@ -582,12 +828,18 @@ wepy.page({
mixins: [testMixin], mixins: [testMixin],
data: { data: {
showMark: false,
showUnOpenSheet: false,
school: {},
schoolSearchResult: [],
showChangeSchoolSheet: false,
schoolIconUrl: '',
active: 0, active: 0,
messageComp: '', messageComp: '',
messagePacketCode: '', messagePacketCode: '',
messageConfirmed: false, messageConfirmed: false,
carrierCoList: ['德邦', 'EMS', carrierCoList: ['德邦', 'EMS',
'百世', '国通', '汇通', '联邦', '申通', '顺丰', '天天', '菜鸟', '韵达', '圆通', '邮政', '中铁', '中通', '宅急送', '中邮', '中环'], '百世', '国通', '汇通', '联邦', '申通', '顺丰', '天天', '菜鸟', '韵达', '圆通', '邮政', '中铁', '中通', '宅急送', '中邮', '中环', '京东'],
dormitoryList: [], dormitoryList: [],
showDormitorySheet: false, showDormitorySheet: false,
...@@ -599,7 +851,6 @@ wepy.page({ ...@@ -599,7 +851,6 @@ wepy.page({
addressSheet_Floor: '', addressSheet_Floor: '',
addressSheet_Room: '', addressSheet_Room: '',
address: '', address: '',
messageText: '', messageText: '',
remarkText: '', remarkText: '',
...@@ -617,12 +868,65 @@ wepy.page({ ...@@ -617,12 +868,65 @@ wepy.page({
showMessageParse: true showMessageParse: true
}, },
computed: {}, computed: {},
methods: { methods: {
openChange(){
this.showUnOpenSheet = false
this.showChangeSchoolSheet = true
},
know(){
this.showMark = false
wx.setStorageSync("know",true)
},
apply(){
},
mallClick(){
wx.showToast({
title: '超市功能尚未开启,尽请期待',
icon: 'none',
duration: 4000
})
},
closeUnOpen(){
this.showUnOpenSheet = false
},
updateSchool(){
this.showChangeSchoolSheet = false
let s = this.schoolSearchResult.find(v=>{
return v.checked
})
wx.setStorageSync('schoolID',s.schoolID)
this.$wx.onShow()
},
schoolItmeClick(item){
let i = JSON.parse(JSON.stringify(item))
let l = JSON.parse(JSON.stringify(this.schoolSearchResult))
l.map(v=>{
v.checked = v.schoolName === i.schoolName
return v
})
this.schoolSearchResult = l
},
onChange(detail){
this.searchText = detail.$wx.detail
if(!this.searchText){
this.schoolSearchResult = []
return
}
let param = {
searchText: this.searchText
}
http.post('/school/search',param).then(data => {
this.schoolSearchResult = data.data
})
},
closeSchoolSheet(){
this.showChangeSchoolSheet = false
},
onTabChange(event){ onTabChange(event){
this.active = event.detail this.active = event.$wx.detail
if(this.active === 0){ if(this.active === 0){
}else{ }else{
...@@ -645,15 +949,12 @@ wepy.page({ ...@@ -645,15 +949,12 @@ wepy.page({
} }
this.messageConfirmed = true this.messageConfirmed = true
if(!this.address){ if(!this.address){
if (!this.messageComp || !this.messagePacketCode) {
wx.showToast({ wx.showToast({
title: '请填写正确的收货地址', title: '请填写正确的收货地址',
icon: 'none', icon: 'none',
duration: 4000 duration: 4000
}) })
return return
}
this.messageConfirmed = true
} }
let remark = this.remarkText let remark = this.remarkText
...@@ -663,7 +964,6 @@ wepy.page({ ...@@ -663,7 +964,6 @@ wepy.page({
} }
}) })
let param = { let param = {
remark: remark, remark: remark,
phone: this.address.phone, phone: this.address.phone,
...@@ -790,13 +1090,23 @@ wepy.page({ ...@@ -790,13 +1090,23 @@ wepy.page({
}, },
parsePaketCode(str) { parsePaketCode(str) {
let result = '' let result = ''
var pattern = /\d(\-|\/|.)\d{1,}\1\d{1,}/ var pattern = /\d{1,}(\-|\/|.)\d{1,}\1\d{1,}/
var arr = str.match(pattern) var arr = str.match(pattern)
if (arr && arr.length > 0) { if (arr && arr.length > 0) {
result = arr[0] result = arr[0]
return result
}
pattern = /\d{1,}(\-|\/|.)\d{1,6}/
arr = str.match(pattern)
if (arr && arr.length > 0 && !result) {
result = arr[0]
return result
} }
pattern = /\d{3,}/
pattern = /\d{2,}/
arr = str.match(pattern) arr = str.match(pattern)
if (arr && arr.length > 0 && !result) { if (arr && arr.length > 0 && !result) {
...@@ -806,13 +1116,26 @@ wepy.page({ ...@@ -806,13 +1116,26 @@ wepy.page({
}, },
getPhone() { getPhone() {
},initSchool(){
let schoolID = wx.getStorageSync('schoolID')
this.schoolIconUrl = app.config.urlPrefix+'/school/icon/'+schoolID
http.get('/school/info/'+schoolID).then(res => {
this.school = res.data
if(res.data.deleted === 1){
this.showUnOpenSheet = true
}
})
} }
}, },
onLoad() { onShow() {
this.showMark = !wx.getStorageSync("know")
this.active = 0
//TODO 初始化学校 id //TODO 初始化学校 id
wx.setStorageSync('schoolID', 2) if(!wx.getStorageSync('schoolID')){
wx.setStorageSync('schoolID', 2)
}
const _that = this const _that = this
wx.login({ wx.login({
...@@ -836,16 +1159,21 @@ wepy.page({ ...@@ -836,16 +1159,21 @@ wepy.page({
_that.address = null _that.address = null
} }
}) })
_that.initSchool()
http.post('/dormitory/getDormitoryBySchool', { pageIndex: 1, pageSize: 100 }).then(res => {
_that.dormitoryList = res.data.map(v => {
return v.name
})
_that.dormitoryList.unshift('其他')
})
}) })
} }
}) })
http.post('/dormitory/getDormitoryBySchool', { pageIndex: 1, pageSize: 100 }).then(res => {
this.dormitoryList = res.data.records.map(v => {
return v.name
})
this.dormitoryList.unshift('其他')
})
} }
}) })
</script> </script>
...@@ -855,6 +1183,11 @@ navigationBarTextStyle: "white", ...@@ -855,6 +1183,11 @@ navigationBarTextStyle: "white",
navigationBarBackgroundColor: "#45C9C3", navigationBarBackgroundColor: "#45C9C3",
navigationBarTitleText: '小树懒捎带', navigationBarTitleText: '小树懒捎带',
usingComponents: { usingComponents: {
"van-overlay": "module:@vant/weapp/lib/overlay/index",
"van-cell": "module:@vant/weapp/lib/cell/index",
"van-cell-group": "module:@vant/weapp/lib/cell-group/index",
"van-search": "module:@vant/weapp/lib/search/index",
"van-image": "module:@vant/weapp/lib/image/index",
header: '~@/components/header', header: '~@/components/header',
"van-picker": "module:@vant/weapp/lib/picker/index", "van-picker": "module:@vant/weapp/lib/picker/index",
"van-popup": "module:@vant/weapp/lib/popup/index", "van-popup": "module:@vant/weapp/lib/popup/index",
......
...@@ -44,14 +44,26 @@ ...@@ -44,14 +44,26 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
position: absolute; position: absolute;
background: red;width: 52rpx;height: 52rpx; background: #BABABA;width: 52rpx;height: 52rpx;
} }
.pp1{
border-radius: 26rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
position: absolute;
background: #FAC135;
width: 52rpx;height: 52rpx;
}
label{ label{
color: white; color: white;
font-size: 24rpx; font-size: 24rpx;
} }
} }
.bottom{ .bottom{
justify-content: space-between;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
...@@ -112,7 +124,17 @@ ...@@ -112,7 +124,17 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
position: absolute; position: absolute;
background: red;width: 52rpx;height: 52rpx; background: #BABABA;width: 52rpx;height: 52rpx;
}
.pp1{
border-radius: 26rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
position: absolute;
background: #FAC135;
width: 52rpx;height: 52rpx;
} }
label{ label{
color: white; color: white;
...@@ -136,6 +158,23 @@ ...@@ -136,6 +158,23 @@
} }
} }
} }
.bottom-button{
width: 272px;
height: 91px;
color: white!important;
background: #0468C3!important;
border-radius: 46px!important;
}
.bt-subscribe{
border-radius: 19rpx;
text-align: center;
font-size: 19rpx;
line-height: 37rpx;
width: 118rpx;
height: 37rpx;
color: white;
background: #FAC135;
}
</style> </style>
<wxs module="m1" lang="babel"> <wxs module="m1" lang="babel">
...@@ -152,16 +191,21 @@ module.exports.getTime = getTime; ...@@ -152,16 +191,21 @@ module.exports.getTime = getTime;
<template> <template>
<div class="container" style="align-items: center"> <div class="container" style="align-items: center">
<header background="#FE991B " title_text="进度查询"/> <header background="#FAC135 " title_text="进度查询"/>
<div class="main"> <div class="main">
<div v-for="(item,index) in list" class="list-item" @tap="itemClick(item)"> <van-empty v-if="list.length===0" description="您还没有发布过捎带订单哦">
<van-button custom-class="bottom-button">
发布捎带
</van-button>
</van-empty>
<div v-if="list.length>0" v-for="(item,index) in list" class="list-item" @tap="itemClick(item)">
<div class="top"> <div class="top">
<div class="right"> <div class="right">
<span>{{item.courierCompany}}</span> <span>{{item.courierCompany}}</span>
<span style="margin-left: 20rpx">{{item.pickupCode}}</span> <span style="margin-left: 20rpx">{{item.pickupCode}}</span>
</div> </div>
<span style="font-size: 23rpx;color: #BABABA">{{item.submitTime}}</span> <span style="font-size: 23rpx;color: #BABABA">{{item.create}}</span>
</div> </div>
<div class="middle"> <div class="middle">
...@@ -170,29 +214,37 @@ module.exports.getTime = getTime; ...@@ -170,29 +214,37 @@ module.exports.getTime = getTime;
:percentage="item.percentage" :percentage="item.percentage"
track-color="#B9b9b9" track-color="#B9b9b9"
pivot-text=" " pivot-text=" "
color="linear-gradient(to right, #FE9f1f, #FE991B)" color="linear-gradient(to right, #FAC135 30%, #FEC135 100%);"
stroke-width="" /> stroke-width="" />
<div class="cover"> <div class="cover">
<span style="margin-left: 30rpx">取件点</span> <span style="margin-left: 30rpx">取件点</span>
<span style="margin-left: 50rpx" >快到楼下</span>
<div class="p1" style="margin-left: 266rpx">
<div @tap.stop="photo1(item)" class="{{[item.status>=1?'pp1':'p1']}}" style="margin-left: 116rpx">
<van-icon color="white" name="photograph" /> <van-icon color="white" name="photograph" />
</div> </div>
<span style="margin-left: 100rpx" >楼内配送</span>
<span style="margin-left: 90rpx" >送达照片</span>
<div class="p1" style="margin-left: 637rpx"> <span style="margin-left:78rpx" >快到楼下</span>
<div @tap.stop="photo2(item)" class="{{[item.status>=2?'pp1':'p1']}}" style="margin-left: 296rpx">
<van-icon color="white" name="photograph" />
</div>
<span style="margin-left: 110rpx" >楼内配送</span>
<span style="margin-left: 40rpx" >订单送达</span>
<div @tap.stop="photo3(item)" class="{{[item.status==3 ?'pp1':'p1']}}" style="margin-left: 637rpx">
<van-icon color="white" name="photograph" /> <van-icon color="white" name="photograph" />
</div> </div>
</div> </div>
</div> </div>
<div class="bottom"> <div class="bottom">
<van-icon name="info-o" color="#BABABA" size="36rpx"/> <div style="display: flex;flex-direction: row;align-items: center;width: 350rpx;justify-content: flex-start">
<span style="margin-left: 9rpx;color: #bABABa">已送达,普通规格快递</span> <van-icon name="info-o" color="#BABABA" size="36rpx"/>
<span style="margin-left: 9rpx;color: #bABABa">{{item.statusStr}}</span>
</div>
<div class="bt-subscribe" @tap.stop="sub(item)">
订阅消息
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -206,22 +258,27 @@ module.exports.getTime = getTime; ...@@ -206,22 +258,27 @@ module.exports.getTime = getTime;
<div class="middle"> <div class="middle">
<van-progress <van-progress
class="progress" class="progress"
:percentage="item.percentage" :percentage="currentItem.percentage"
track-color="#B9b9b9" track-color="#B9b9b9"
pivot-text=" " pivot-text=" "
color="linear-gradient(to right, #FE9f1f, #FE991B)" color="linear-gradient(162deg, #FAC135 0%, #0468C3 100%);"
stroke-width="" /> stroke-width="" />
<div class="cover"> <div class="cover">
<span style="margin-left: 30rpx">取件点</span> <span style="margin-left: 30rpx">取件点</span>
<span style="margin-left: 50rpx" >快到楼下</span>
<div class="p1" style="margin-left: 266rpx">
<div @tap="photo1(currentItem)" class="{{[currentItem.status>=1?'pp1':'p1']}}" style="margin-left: 116rpx">
<van-icon color="white" name="photograph" /> <van-icon color="white" name="photograph" />
</div> </div>
<span style="margin-left: 100rpx" >楼内配送</span>
<span style="margin-left: 90rpx" >送达照片</span>
<div class="p1" style="margin-left: 637rpx"> <span style="margin-left:78rpx" >快到楼下</span>
<div @tap="photo2(currentItem)" class="{{[currentItem.status>=2?'pp1':'p1']}}" style="margin-left: 296rpx">
<van-icon color="white" name="photograph" />
</div>
<span style="margin-left: 110rpx" >楼内配送</span>
<span style="margin-left: 40rpx" >订单送达</span>
<div @tap="photo3(currentItem)" class="{{[currentItem.status==3 ?'pp1':'p1']}}" style="margin-left: 637rpx">
<van-icon color="white" name="photograph" /> <van-icon color="white" name="photograph" />
</div> </div>
</div> </div>
...@@ -252,7 +309,7 @@ module.exports.getTime = getTime; ...@@ -252,7 +309,7 @@ module.exports.getTime = getTime;
<div class="item"> <div class="item">
<div class="left">下单时间</div> <div class="left">下单时间</div>
<div class="right">{{currentItem.submitTime}}</div> <div class="right">{{currentItem.createTime}}</div>
</div> </div>
<div class="item"> <div class="item">
...@@ -261,7 +318,7 @@ module.exports.getTime = getTime; ...@@ -261,7 +318,7 @@ module.exports.getTime = getTime;
</div> </div>
<div class="item"> <div class="item">
<div class="left">情况描述</div> <div class="left">情况描述</div>
<div class="right">{{currentItem.remark}}</div> <div class="right">{{currentItem.statusStr}}</div>
</div> </div>
...@@ -271,7 +328,7 @@ module.exports.getTime = getTime; ...@@ -271,7 +328,7 @@ module.exports.getTime = getTime;
<!-- 自定义tabbar--> <!-- 自定义tabbar-->
<van-tabbar <van-tabbar
active-color="#FE991B" active-color="#FAC135"
active="{{ active }}" @change="onTabChange" class="mytabbar"> active="{{ active }}" @change="onTabChange" class="mytabbar">
<van-tabbar-item> <van-tabbar-item>
<image <image
...@@ -327,6 +384,12 @@ wepy.page({ ...@@ -327,6 +384,12 @@ wepy.page({
}, },
methods: { methods: {
sub(item) {
wx.requestSubscribeMessage({
tmplIds: ['8VhR4ruZ-b6kZRzSzQ4TwI-Y8Rh8vSR1kg5R7kFDrfQ','8VhR4ruZ-b6kZRzSzQ4TwP1fPXITxSawzR-z_XsgMok','8VhR4ruZ-b6kZRzSzQ4TwOHT914KwUCpusAX0y6w2Wo'],
success (res) { }
})
},
closeDetailSheet(){ closeDetailSheet(){
this.showDetailSheet = false this.showDetailSheet = false
}, },
...@@ -334,9 +397,54 @@ wepy.page({ ...@@ -334,9 +397,54 @@ wepy.page({
this.currentItem = item this.currentItem = item
this.showDetailSheet = true this.showDetailSheet = true
}, },
photo1(item){
if(item.takeCredentials){
console.log(app.config.urlPrefix+'/download/'+item.takeCredentials)
wx.previewImage({
current: app.config.urlPrefix+'/download/'+item.takeCredentials, // 当前显示图片的http链接
urls: [app.config.urlPrefix+'/download/'+item.takeCredentials]
})
}else{
wx.showToast({
title: '尚未取件',
icon: 'none',
duration: 4000
})
}
},
photo2(item){
if(item.sendCredentials){
wx.previewImage({
current: app.config.urlPrefix+'/download/'+item.sendCredentials, // 当前显示图片的http链接
urls: [app.config.urlPrefix+'/download/'+item.sendCredentials]
})
}else{
wx.showToast({
title: '尚未送达宿舍楼',
icon: 'none',
duration: 4000
})
}
},
photo3(item){
if(item.innerSendCredentials){
wx.previewImage({
current: app.config.urlPrefix+'/download/'+item.innerSendCredentials, // 当前显示图片的http链接
urls: [app.config.urlPrefix+'/download/'+item.innerSendCredentials]
})
}else{
wx.showToast({
title: '尚未配送完成',
icon: 'none',
duration: 4000
})
}
},
onTabChange(event){ onTabChange(event){
this.active = event.detail this.active = event.$wx.detail
console.log(this.active)
if(this.active === 1){ if(this.active === 1){
}else{ }else{
...@@ -348,20 +456,25 @@ wepy.page({ ...@@ -348,20 +456,25 @@ wepy.page({
} }
}, },
onShow() { onShow() {
http.post('/task/getSdHistory', { pageIndex: 1, pageSize: 1000, pageSorts: [{column: 'submittime',asc: false }] }).then(res => { this.active = 1
http.post('/task/getSdHistory', { pageIndex: 1, pageSize: 1000, pageSorts: [{column: 'createtime',asc: false }] }).then(res => {
if(res.code === 200){ if(res.code === 200){
this.list = res.data.records this.list = res.data.records
this.list.map(v=>{ this.list.map(v=>{
if(v.status === 0){ if(v.status === 0){
v.percentage = 20 v.percentage = 10
v.statusStr = '取件点取件中'
}else if(v.status === 1){ }else if(v.status === 1){
v.percentage = 40 v.percentage = 35
v.statusStr = '正在送往宿舍楼'
}else if(v.status === 2){ }else if(v.status === 2){
v.percentage = 60 v.percentage = 60
v.statusStr = '楼内配送中'
}else if(v.status === 3){ }else if(v.status === 3){
v.percentage = 100 v.percentage = 100
v.statusStr = '配送完成'
} }
return v return v
}) })
} }
...@@ -375,6 +488,7 @@ navigationBarTextStyle: "white", ...@@ -375,6 +488,7 @@ navigationBarTextStyle: "white",
navigationBarBackgroundColor: "#45C9C3", navigationBarBackgroundColor: "#45C9C3",
navigationBarTitleText: '', navigationBarTitleText: '',
usingComponents: { usingComponents: {
"van-empty": "module:@vant/weapp/lib/empty/index",
header: '~@/components/header', header: '~@/components/header',
"van-picker": "module:@vant/weapp/lib/picker/index", "van-picker": "module:@vant/weapp/lib/picker/index",
"van-popup": "module:@vant/weapp/lib/popup/index", "van-popup": "module:@vant/weapp/lib/popup/index",
......
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