Commit 9289d6f9c10f3f03109e0ac8c9498f4cd025e42c
1 parent
08852e31
Exists in
master
and in
1 other branch
fix: 24年7月3周优化
Showing
15 changed files
with
245 additions
and
100 deletions
Show diff stats
App.vue
| @@ -160,8 +160,10 @@ export default { | @@ -160,8 +160,10 @@ export default { | ||
| 160 | uni.$u.api.login.wechat({ code }).then(response => { | 160 | uni.$u.api.login.wechat({ code }).then(response => { |
| 161 | const result = response.result || {}; | 161 | const result = response.result || {}; |
| 162 | this.$store.commit('SET_AUTHED', result.hasBind); | 162 | this.$store.commit('SET_AUTHED', result.hasBind); |
| 163 | - this.$store.commit('SET_USER_INFO', result); | ||
| 164 | - uni.$emit('refresh-permission'); | 163 | + if (result.hasBind) { |
| 164 | + this.$store.commit('SET_USER_INFO', result); | ||
| 165 | + uni.$emit('refresh-permission'); | ||
| 166 | + } | ||
| 165 | }); | 167 | }); |
| 166 | } | 168 | } |
| 167 | }, | 169 | }, |
common/api.js
| @@ -138,8 +138,8 @@ module.exports = (vm) => { | @@ -138,8 +138,8 @@ module.exports = (vm) => { | ||
| 138 | getPayeeInfo: params => vm.$u.http.get( freightAPI + '/freightOrder/getPayeeInfo', params), // 获取收款人 | 138 | getPayeeInfo: params => vm.$u.http.get( freightAPI + '/freightOrder/getPayeeInfo', params), // 获取收款人 |
| 139 | modifyCustomerOrderCode: params => vm.$u.http.post( freightAPI + '/freightOrder/modifyCustomerOrderCode', params), // 修改内部单号 | 139 | modifyCustomerOrderCode: params => vm.$u.http.post( freightAPI + '/freightOrder/modifyCustomerOrderCode', params), // 修改内部单号 |
| 140 | modifyAddress: params => vm.$u.http.get( freightAPI + '/freightOrder/modifyAddress', params), // 更改地址 | 140 | modifyAddress: params => vm.$u.http.get( freightAPI + '/freightOrder/modifyAddress', params), // 更改地址 |
| 141 | - modifyGoods: params => vm.$u.http.post( freightAPI + '/freightOrder/modifyGoods', params), // 更改货物信息 | ||
| 142 | - adjustAmount: params => vm.$u.http.post( freightAPI + '/freightOrder/adjustAmount', params), // 更改运费 | 141 | + modifyGoods: params => vm.$u.http.post( freightAPI + '/freightOrder/maModifyGoods', params), // 更改货物信息 |
| 142 | + adjustAmount: params => vm.$u.http.post( freightAPI + '/freightOrder/maAdjustAmount', params), // 更改运费 | ||
| 143 | modifyReceiptAttachment: params => vm.$u.http.post( freightAdmin + '/woss/freightOrder/modifyReceiptAttachment', params), // 修改回单附件 | 143 | modifyReceiptAttachment: params => vm.$u.http.post( freightAdmin + '/woss/freightOrder/modifyReceiptAttachment', params), // 修改回单附件 |
| 144 | count: params => vm.$u.http.post( freightAPI + '/freightOrder/count', params), // 状态数量 | 144 | count: params => vm.$u.http.post( freightAPI + '/freightOrder/count', params), // 状态数量 |
| 145 | getDetail: params => vm.$u.http.get( freightAPI + '/freightOrder/getDetail', {params}), // 订单详情 | 145 | getDetail: params => vm.$u.http.get( freightAPI + '/freightOrder/getDetail', {params}), // 订单详情 |
config/index.js
| @@ -29,28 +29,28 @@ const newUploadHost = `${envMapping[env] || envMapping.develop}/driver-app-api/u | @@ -29,28 +29,28 @@ const newUploadHost = `${envMapping[env] || envMapping.develop}/driver-app-api/u | ||
| 29 | export default { | 29 | export default { |
| 30 | // 微信小程序名称 | 30 | // 微信小程序名称 |
| 31 | wxAppName: '则一飞牛货主', | 31 | wxAppName: '则一飞牛货主', |
| 32 | - | 32 | + |
| 33 | // 微信小程序ID | 33 | // 微信小程序ID |
| 34 | wxAppId: 'wxc92a99760d6b0a99', | 34 | wxAppId: 'wxc92a99760d6b0a99', |
| 35 | - | 35 | + |
| 36 | // 企业微信小程序SuiteID | 36 | // 企业微信小程序SuiteID |
| 37 | suiteId: '', | 37 | suiteId: '', |
| 38 | - | 38 | + |
| 39 | // 钉钉第三方企业版小程序应用ID | 39 | // 钉钉第三方企业版小程序应用ID |
| 40 | clientId: '', | 40 | clientId: '', |
| 41 | - | 41 | + |
| 42 | // 腾讯地图位置服务KEY(对应插件chooseLocation) | 42 | // 腾讯地图位置服务KEY(对应插件chooseLocation) |
| 43 | mapServiceKey: 'CFKBZ-6L3C4-LZSUR-DJQAY-3R7NT-IPFJR', | 43 | mapServiceKey: 'CFKBZ-6L3C4-LZSUR-DJQAY-3R7NT-IPFJR', |
| 44 | 44 | ||
| 45 | // 小程序的 Code Name | 45 | // 小程序的 Code Name |
| 46 | - name: 'outscourced-ma', | 46 | + name: 'freight-ma', |
| 47 | 47 | ||
| 48 | // 全局分享文案 | 48 | // 全局分享文案 |
| 49 | shareMessage: '则一飞牛货主', | 49 | shareMessage: '则一飞牛货主', |
| 50 | 50 | ||
| 51 | // 服务地址 | 51 | // 服务地址 |
| 52 | apiHost, | 52 | apiHost, |
| 53 | - | 53 | + |
| 54 | // 上传地址 | 54 | // 上传地址 |
| 55 | uploadHost, | 55 | uploadHost, |
| 56 | 56 | ||
| @@ -62,4 +62,4 @@ export default { | @@ -62,4 +62,4 @@ export default { | ||
| 62 | 62 | ||
| 63 | // 小程序版本(生产) | 63 | // 小程序版本(生产) |
| 64 | version: miniProgram?.version, | 64 | version: miniProgram?.version, |
| 65 | -} | 65 | +}; |
main.js
| @@ -18,16 +18,16 @@ uni.$u.setConfig({ | @@ -18,16 +18,16 @@ uni.$u.setConfig({ | ||
| 18 | 'u-primary': colorPrimary, | 18 | 'u-primary': colorPrimary, |
| 19 | }, | 19 | }, |
| 20 | }, | 20 | }, |
| 21 | - props: { | 21 | + props: { |
| 22 | line: { | 22 | line: { |
| 23 | - color: 'rgba(151, 151, 151, 0.2)' | 23 | + color: 'rgba(151, 151, 151, 0.2)', |
| 24 | }, | 24 | }, |
| 25 | swiper: { | 25 | swiper: { |
| 26 | - bgColor: 'inherit' | 26 | + bgColor: 'inherit', |
| 27 | }, | 27 | }, |
| 28 | - tabs: { | 28 | + tabs: { |
| 29 | lineColor: colorPrimary, | 29 | lineColor: colorPrimary, |
| 30 | - }, | 30 | + }, |
| 31 | steps: { | 31 | steps: { |
| 32 | activeColor: colorPrimary, | 32 | activeColor: colorPrimary, |
| 33 | }, | 33 | }, |
| @@ -44,18 +44,19 @@ uni.$u.setConfig({ | @@ -44,18 +44,19 @@ uni.$u.setConfig({ | ||
| 44 | activeColor: colorPrimary, | 44 | activeColor: colorPrimary, |
| 45 | }, | 45 | }, |
| 46 | input: { | 46 | input: { |
| 47 | - fontSize: 'inherit' | 47 | + fontSize: 'inherit', |
| 48 | }, | 48 | }, |
| 49 | text: { | 49 | text: { |
| 50 | size: 'inherit', | 50 | size: 'inherit', |
| 51 | - color: 'inherit' | 51 | + color: 'inherit', |
| 52 | }, | 52 | }, |
| 53 | icon: { | 53 | icon: { |
| 54 | - color: 'inherit' | 54 | + color: 'inherit', |
| 55 | }, | 55 | }, |
| 56 | - } | 56 | + }, |
| 57 | }); | 57 | }); |
| 58 | - | 58 | +import mpShare from './uni_modules/uview-ui/libs/mixin/mpShare.js'; |
| 59 | +Vue.mixin(mpShare); | ||
| 59 | // 混入与组件List相关的页面生命周期 | 60 | // 混入与组件List相关的页面生命周期 |
| 60 | Vue.mixin({ | 61 | Vue.mixin({ |
| 61 | onPullDownRefresh() { | 62 | onPullDownRefresh() { |
| @@ -68,7 +69,7 @@ Vue.mixin({ | @@ -68,7 +69,7 @@ Vue.mixin({ | ||
| 68 | onSearch(config) { | 69 | onSearch(config) { |
| 69 | if (this.mpType === 'page' && this.$refs.list) this.$refs.list.search(config); | 70 | if (this.mpType === 'page' && this.$refs.list) this.$refs.list.search(config); |
| 70 | }, | 71 | }, |
| 71 | - } | 72 | + }, |
| 72 | }); | 73 | }); |
| 73 | 74 | ||
| 74 | // 页面内获取当前页面参数 | 75 | // 页面内获取当前页面参数 |
| @@ -79,7 +80,7 @@ Object.defineProperty(Vue.prototype, '$params', { | @@ -79,7 +80,7 @@ Object.defineProperty(Vue.prototype, '$params', { | ||
| 79 | }, | 80 | }, |
| 80 | }); | 81 | }); |
| 81 | 82 | ||
| 82 | -import store from './store' | 83 | +import store from './store'; |
| 83 | 84 | ||
| 84 | Vue.config.productionTip = false; | 85 | Vue.config.productionTip = false; |
| 85 | Vue.prototype.$store = store; | 86 | Vue.prototype.$store = store; |
| @@ -88,7 +89,7 @@ App.mpType = 'app'; | @@ -88,7 +89,7 @@ App.mpType = 'app'; | ||
| 88 | 89 | ||
| 89 | const app = new Vue({ | 90 | const app = new Vue({ |
| 90 | store, | 91 | store, |
| 91 | - ...App | 92 | + ...App, |
| 92 | }); | 93 | }); |
| 93 | 94 | ||
| 94 | require('@/utils/uniapp.js')(uni); | 95 | require('@/utils/uniapp.js')(uni); |
pages/login/login.vue
| @@ -4,8 +4,8 @@ | @@ -4,8 +4,8 @@ | ||
| 4 | <image src="/static/logo.png" mode="aspectFit"></image> | 4 | <image src="/static/logo.png" mode="aspectFit"></image> |
| 5 | </view> | 5 | </view> |
| 6 | <view class="page-login__title"> | 6 | <view class="page-login__title"> |
| 7 | - <view>您好,</view> | ||
| 8 | - <view>欢迎使用则一飞牛货主</view> | 7 | + <view class="welcome">欢迎使用</view> |
| 8 | + <view class="title">则一飞牛货主</view> | ||
| 9 | </view> | 9 | </view> |
| 10 | <!-- #ifdef MP-WEIXIN --> | 10 | <!-- #ifdef MP-WEIXIN --> |
| 11 | <view class="page-login__content"> | 11 | <view class="page-login__content"> |
| @@ -40,7 +40,7 @@ | @@ -40,7 +40,7 @@ | ||
| 40 | <view class="page-login__wechat"> | 40 | <view class="page-login__wechat"> |
| 41 | <u-button type="primary" plain shape="circle" open-type="getPhoneNumber" :loading="submitting" loading-text="登录中..." @getphonenumber="onGetPhoneNumber"> | 41 | <u-button type="primary" plain shape="circle" open-type="getPhoneNumber" :loading="submitting" loading-text="登录中..." @getphonenumber="onGetPhoneNumber"> |
| 42 | <!-- <u-icon name="weixin-fill" size="inherit" /> --> | 42 | <!-- <u-icon name="weixin-fill" size="inherit" /> --> |
| 43 | - <text>手机号快捷登录</text> | 43 | + <text>微信一键登录</text> |
| 44 | </u-button> | 44 | </u-button> |
| 45 | </view> | 45 | </view> |
| 46 | <!-- #endif --> | 46 | <!-- #endif --> |
| @@ -202,6 +202,14 @@ export default { | @@ -202,6 +202,14 @@ export default { | ||
| 202 | font-size: $font-lg * 1.2; | 202 | font-size: $font-lg * 1.2; |
| 203 | padding: $padding-md; | 203 | padding: $padding-md; |
| 204 | line-height: 2; | 204 | line-height: 2; |
| 205 | + text-align: center; | ||
| 206 | + color: $color-primary; | ||
| 207 | + .welcome { | ||
| 208 | + font-size: 40rpx; | ||
| 209 | + } | ||
| 210 | + .title { | ||
| 211 | + font-size: 70rpx; | ||
| 212 | + } | ||
| 205 | } | 213 | } |
| 206 | &__content { | 214 | &__content { |
| 207 | color: $color-minor; | 215 | color: $color-minor; |
| @@ -224,7 +232,7 @@ export default { | @@ -224,7 +232,7 @@ export default { | ||
| 224 | background-color: $color-primary; | 232 | background-color: $color-primary; |
| 225 | padding: $padding-md; | 233 | padding: $padding-md; |
| 226 | line-height: 1.5; | 234 | line-height: 1.5; |
| 227 | - text-align: cener; | 235 | + text-align: center; |
| 228 | font-size: $font-md * 1.2; | 236 | font-size: $font-md * 1.2; |
| 229 | border-radius: $radius-lg * 2; | 237 | border-radius: $radius-lg * 2; |
| 230 | &::after { | 238 | &::after { |
| @@ -245,7 +253,7 @@ export default { | @@ -245,7 +253,7 @@ export default { | ||
| 245 | } | 253 | } |
| 246 | } | 254 | } |
| 247 | &__wechat { | 255 | &__wechat { |
| 248 | - color: $color-wx; | 256 | + color: $color-primary; |
| 249 | margin-top: $padding-md * 3; | 257 | margin-top: $padding-md * 3; |
| 250 | .u-icon { | 258 | .u-icon { |
| 251 | margin-right: $padding-base; | 259 | margin-right: $padding-base; |
pages/me/index.vue
| 1 | <template> | 1 | <template> |
| 2 | - <Page name="my" flank> | ||
| 3 | - <template #content> | ||
| 4 | - <view class="page-my__background"></view> | ||
| 5 | - <view class="page-my__info"> | ||
| 6 | - <view class="page-my__info-avatar"> | ||
| 7 | - <view class="avatar"> | ||
| 8 | - <image v-if="freightInfo.headImgUrl" class="image" :src="freightInfo.headImgUrl" mode="aspectFill" /> | ||
| 9 | - <!-- #ifdef MP-WEIXIN --> | ||
| 10 | - <open-data v-else type="userAvatarUrl"></open-data> | ||
| 11 | - <!-- #endif --> | ||
| 12 | - <!-- #ifndef MP-WEIXIN --> | ||
| 13 | - <!-- #ifdef MP-DINGTALK --> | ||
| 14 | - <image class="image" :src="formatImagePath('dingtalk', 'svg')" mode="aspectFill"></image> | ||
| 15 | - <!-- #endif --> | ||
| 16 | - <!-- #ifndef MP-DINGTALK --> | ||
| 17 | - <image class="image" :src="formatImagePath('avatar-none', 'svg')" mode="aspectFill"></image> | ||
| 18 | - <!-- #endif --> | ||
| 19 | - <!-- #endif --> | ||
| 20 | - </view> | ||
| 21 | - </view> | ||
| 22 | - <view class="page-my__info-content"> | ||
| 23 | - <view class="name"> | ||
| 24 | - <text v-if="freightInfo.name">{{ freightInfo.name }}{{ mobileFilter(freightInfo.mobile) }}</text> | ||
| 25 | - <!-- #ifdef MP-WEIXIN --> | ||
| 26 | - <open-data v-else type="userNickName"></open-data> | ||
| 27 | - <!-- #endif --> | ||
| 28 | - <!-- #ifndef MP-WEIXIN --> | ||
| 29 | - <text>钉钉用户</text> | ||
| 30 | - <!-- #endif --> | ||
| 31 | - </view> | ||
| 32 | - <view class="mobile"> | ||
| 33 | - {{ freightInfo.enterpriseName }} | ||
| 34 | - </view> | ||
| 35 | - <view class="mobile"> | ||
| 36 | - <render-dict v-if="freightInfo.job" v-else dict="FREIGHT_ENTERPRISE_EMPLOYEE_JOB" :value="freightInfo.job"></render-dict> | ||
| 37 | - <text v-else-if="freightInfo.enterpriseAdmin">管理员</text> | ||
| 38 | - </view> | 2 | + <view class="page-my"> |
| 3 | + <view class="page-my__background"></view> | ||
| 4 | + <view class="page-my__info"> | ||
| 5 | + <view class="page-my__info-avatar"> | ||
| 6 | + <view class="avatar"> | ||
| 7 | + <image class="image" src="/static/user_img.png" mode="aspectFill" /> | ||
| 39 | <!-- #ifdef MP-WEIXIN --> | 8 | <!-- #ifdef MP-WEIXIN --> |
| 40 | - <view class="refresh-version" @click.stop="handleRefreshVersion"> | ||
| 41 | - <view :class="[loading && 'loading']"><u-icon name="reload" size="20" /></view> | ||
| 42 | - <text>检测更新</text> | ||
| 43 | - </view> | 9 | + <!-- <open-data v-else type="userAvatarUrl"></open-data>--> |
| 10 | + <!-- #endif --> | ||
| 11 | + <!-- #ifndef MP-WEIXIN --> | ||
| 12 | + <!-- #ifdef MP-DINGTALK --> | ||
| 13 | + <image class="image" :src="formatImagePath('dingtalk', 'svg')" mode="aspectFill"></image> | ||
| 14 | + <!-- #endif --> | ||
| 15 | + <!-- #ifndef MP-DINGTALK --> | ||
| 16 | + <image class="image" :src="formatImagePath('avatar-none', 'svg')" mode="aspectFill"></image> | ||
| 17 | + <!-- #endif --> | ||
| 44 | <!-- #endif --> | 18 | <!-- #endif --> |
| 45 | </view> | 19 | </view> |
| 46 | </view> | 20 | </view> |
| 47 | - <view class="page-my__login"> | ||
| 48 | - <template v-if="authed"> | ||
| 49 | - <u-button shape="circle" @click="handleLogout">退出登录</u-button> | ||
| 50 | - </template> | ||
| 51 | - <template v-else> | ||
| 52 | - <u-button shape="circle" @click="handleLogin">立即登录</u-button> | ||
| 53 | - </template> | 21 | + <view class="page-my__info-content"> |
| 22 | + <view class="name"> | ||
| 23 | + <text v-if="freightInfo.name">{{ freightInfo.name }}{{ mobileFilter(freightInfo.mobile) }}</text> | ||
| 24 | + <!-- #ifdef MP-WEIXIN --> | ||
| 25 | + <open-data v-else type="userNickName"></open-data> | ||
| 26 | + <!-- #endif --> | ||
| 27 | + <!-- #ifndef MP-WEIXIN --> | ||
| 28 | + <text>钉钉用户</text> | ||
| 29 | + <!-- #endif --> | ||
| 30 | + </view> | ||
| 31 | + <view class="mobile"> | ||
| 32 | + {{ freightInfo.enterpriseName || '' }} | ||
| 33 | + </view> | ||
| 34 | + <view class="tag-job" v-if="freightInfo.id"> | ||
| 35 | + <render-dict v-if="freightInfo.job" v-else dict="FREIGHT_ENTERPRISE_EMPLOYEE_JOB" :value="freightInfo.job"></render-dict> | ||
| 36 | + <text v-else-if="freightInfo.enterpriseAdmin">管理员</text> | ||
| 37 | + </view> | ||
| 38 | + <!-- #ifdef MP-WEIXIN --> | ||
| 39 | + <!-- <view class="refresh-version" @click.stop="handleRefreshVersion">--> | ||
| 40 | + <!-- <view :class="[loading && 'loading']"><u-icon name="reload" size="20" /></view>--> | ||
| 41 | + <!-- <text>检测更新</text>--> | ||
| 42 | + <!-- </view>--> | ||
| 43 | + <!-- #endif --> | ||
| 54 | </view> | 44 | </view> |
| 45 | + </view> | ||
| 46 | + <view class="page-my__login"> | ||
| 47 | + <u-button shape="circle" @click="handleRefreshVersion">检测更新</u-button> | ||
| 48 | + <template v-if="authed"> | ||
| 49 | + <u-button shape="circle" @click="handleLogout">退出登录</u-button> | ||
| 50 | + </template> | ||
| 51 | + <template v-else> | ||
| 52 | + <u-button shape="circle" @click="handleLogin">立即登录</u-button> | ||
| 53 | + </template> | ||
| 55 | <view class="card-version"> | 54 | <view class="card-version"> |
| 56 | <text class="cell-version">SDK: {{ versionInfo.SDKVersion }}</text> | 55 | <text class="cell-version">SDK: {{ versionInfo.SDKVersion }}</text> |
| 57 | <text class="cell-version">wechat: {{ versionInfo.version }}</text> | 56 | <text class="cell-version">wechat: {{ versionInfo.version }}</text> |
| 58 | <text class="cell-version" v-if="version">version: {{ version }}</text> | 57 | <text class="cell-version" v-if="version">version: {{ version }}</text> |
| 59 | </view> | 58 | </view> |
| 60 | - </template> | ||
| 61 | - </Page> | 59 | + </view> |
| 60 | + </view> | ||
| 62 | </template> | 61 | </template> |
| 63 | 62 | ||
| 64 | <script> | 63 | <script> |
| @@ -134,8 +133,10 @@ export default { | @@ -134,8 +133,10 @@ export default { | ||
| 134 | box-sizing: border-box; | 133 | box-sizing: border-box; |
| 135 | overflow-x: hidden; | 134 | overflow-x: hidden; |
| 136 | &__info { | 135 | &__info { |
| 137 | - padding-top: $padding-md * 6; | ||
| 138 | - padding-bottom: $padding-md * 3; | 136 | + margin: $padding-md; |
| 137 | + background: $color-white; | ||
| 138 | + padding: $padding-md; | ||
| 139 | + border-radius: $radius-md; | ||
| 139 | display: flex; | 140 | display: flex; |
| 140 | text-align: center; | 141 | text-align: center; |
| 141 | align-items: center; | 142 | align-items: center; |
| @@ -176,6 +177,15 @@ export default { | @@ -176,6 +177,15 @@ export default { | ||
| 176 | } | 177 | } |
| 177 | .mobile { | 178 | .mobile { |
| 178 | color: $color-text-minor; | 179 | color: $color-text-minor; |
| 180 | + font-size: 26upx; | ||
| 181 | + } | ||
| 182 | + .tag-job { | ||
| 183 | + color: #2673fb; | ||
| 184 | + font-size: 20upx; | ||
| 185 | + margin-top: $padding-base; | ||
| 186 | + border-radius: $radius-sm; | ||
| 187 | + padding: 4upx 10upx; | ||
| 188 | + border: 1px solid #2673fb; | ||
| 179 | } | 189 | } |
| 180 | } | 190 | } |
| 181 | &__background { | 191 | &__background { |
| @@ -208,8 +218,11 @@ export default { | @@ -208,8 +218,11 @@ export default { | ||
| 208 | } | 218 | } |
| 209 | } | 219 | } |
| 210 | &__login { | 220 | &__login { |
| 211 | - margin-top: $padding-md * 24; | 221 | + position: absolute; |
| 222 | + width: 100%; | ||
| 223 | + bottom: 20upx; | ||
| 212 | .u-button { | 224 | .u-button { |
| 225 | + margin-bottom: $padding-md; | ||
| 213 | box-shadow: $shadow-normal; | 226 | box-shadow: $shadow-normal; |
| 214 | } | 227 | } |
| 215 | } | 228 | } |
pages/order/add.vue
| @@ -27,7 +27,7 @@ | @@ -27,7 +27,7 @@ | ||
| 27 | <u-input v-model="form.goodsName" border="none" suffix-icon="arrow-right" placeholder="请选择" disabledColor="#ffffff" disabled /> | 27 | <u-input v-model="form.goodsName" border="none" suffix-icon="arrow-right" placeholder="请选择" disabledColor="#ffffff" disabled /> |
| 28 | </u-form-item> | 28 | </u-form-item> |
| 29 | <u-form-item v-if="showGoodsValue" label="货物价值" required> | 29 | <u-form-item v-if="showGoodsValue" label="货物价值" required> |
| 30 | - <u-input v-model="form.goodsValue" border="none" type="digit" placeholder="请输入" /> | 30 | + <u-input v-model="form.goodsValue" border="none" type="digit" placeholder="请输入" @change="computedService" /> |
| 31 | </u-form-item> | 31 | </u-form-item> |
| 32 | <u-form-item label="货物件数"> | 32 | <u-form-item label="货物件数"> |
| 33 | <u-input v-model="form.goodsPiece" border="none" type="digit" placeholder="请输入,选填" /> | 33 | <u-input v-model="form.goodsPiece" border="none" type="digit" placeholder="请输入,选填" /> |
| @@ -41,7 +41,11 @@ | @@ -41,7 +41,11 @@ | ||
| 41 | </view> | 41 | </view> |
| 42 | <view class="card"> | 42 | <view class="card"> |
| 43 | <u-form-item label="司机手机" required> | 43 | <u-form-item label="司机手机" required> |
| 44 | - <u-input v-model="form.mobile" border="none" type="number" placeholder="请输入" @blur="mobileChange" /> | 44 | + <u-input v-model="form.mobile" border="none" type="number" placeholder="请输入" @blur="mobileChange"> |
| 45 | + <template #suffix> | ||
| 46 | + <u-tag @click="(showModal = true), (content = '')" text="粘贴识别" plain size="mini"></u-tag> | ||
| 47 | + </template> | ||
| 48 | + </u-input> | ||
| 45 | </u-form-item> | 49 | </u-form-item> |
| 46 | <u-form-item label="司机姓名" required> | 50 | <u-form-item label="司机姓名" required> |
| 47 | <u-input v-model="form.driverName" border="none" placeholder="请输入" :disabled="!!form.driverId" /> | 51 | <u-input v-model="form.driverName" border="none" placeholder="请输入" :disabled="!!form.driverId" /> |
| @@ -75,7 +79,11 @@ | @@ -75,7 +79,11 @@ | ||
| 75 | :disabled="autoComputedArrival" | 79 | :disabled="autoComputedArrival" |
| 76 | :placeholder="autoComputedArrival ? '自动计算' : '请输入'" | 80 | :placeholder="autoComputedArrival ? '自动计算' : '请输入'" |
| 77 | @change="computedService" | 81 | @change="computedService" |
| 78 | - /> | 82 | + > |
| 83 | + <template #suffix> | ||
| 84 | + <span v-if="autoComputedArrival && form.driverSecurityServiceAmount" class="color-red">已扣安全服务费{{ form.driverSecurityServiceAmount }}</span> | ||
| 85 | + </template> | ||
| 86 | + </u-input> | ||
| 79 | </u-form-item> | 87 | </u-form-item> |
| 80 | <u-form-item label="尾款/回单付"> | 88 | <u-form-item label="尾款/回单付"> |
| 81 | <u-input | 89 | <u-input |
| @@ -86,7 +94,11 @@ | @@ -86,7 +94,11 @@ | ||
| 86 | @change="computedService" | 94 | @change="computedService" |
| 87 | :disabled="!autoComputedArrival" | 95 | :disabled="!autoComputedArrival" |
| 88 | :placeholder="!autoComputedArrival ? '自动计算' : '请输入'" | 96 | :placeholder="!autoComputedArrival ? '自动计算' : '请输入'" |
| 89 | - /> | 97 | + > |
| 98 | + <template #suffix> | ||
| 99 | + <span v-if="!autoComputedArrival && form.driverSecurityServiceAmount" class="color-red">已扣安全服务费{{ form.driverSecurityServiceAmount }}</span> | ||
| 100 | + </template> | ||
| 101 | + </u-input> | ||
| 90 | </u-form-item> | 102 | </u-form-item> |
| 91 | </view> | 103 | </view> |
| 92 | <view class="card" @tap="more = !more"> | 104 | <view class="card" @tap="more = !more"> |
| @@ -127,6 +139,9 @@ | @@ -127,6 +139,9 @@ | ||
| 127 | <u-button type="primary" @tap="submitAddFun">下单并指派</u-button> | 139 | <u-button type="primary" @tap="submitAddFun">下单并指派</u-button> |
| 128 | </template> | 140 | </template> |
| 129 | <u-toast ref="uToast"></u-toast> | 141 | <u-toast ref="uToast"></u-toast> |
| 142 | + <u-modal :show="showModal" title="粘贴识别司机车辆信息" :showCancelButton="true" @cancel="cliCancel" @confirm="cliSubmit" confirmText="确定"> | ||
| 143 | + <u--textarea v-model="content" placeholder="支持同时粘贴司机手机号、车牌号、车挂号"></u--textarea> | ||
| 144 | + </u-modal> | ||
| 130 | <popup-platenumber :visible="showCar" @update:visible="e => (showCar = e)" @confirm="carConfirm" v-model="carNumber"></popup-platenumber> | 145 | <popup-platenumber :visible="showCar" @update:visible="e => (showCar = e)" @confirm="carConfirm" v-model="carNumber"></popup-platenumber> |
| 131 | </Page> | 146 | </Page> |
| 132 | </template> | 147 | </template> |
| @@ -135,11 +150,14 @@ import { urlParam } from '@/utils/param'; | @@ -135,11 +150,14 @@ import { urlParam } from '@/utils/param'; | ||
| 135 | import dayjs from 'dayjs'; | 150 | import dayjs from 'dayjs'; |
| 136 | import payee from '../../components/card/payee.vue'; | 151 | import payee from '../../components/card/payee.vue'; |
| 137 | import PopupPlatenumber from '../../components/popup/popup-platenumber.vue'; | 152 | import PopupPlatenumber from '../../components/popup/popup-platenumber.vue'; |
| 153 | +import UTextarea from '../../uni_modules/uview-ui/components/u--textarea/u--textarea.vue'; | ||
| 138 | export default { | 154 | export default { |
| 139 | name: 'order-add', | 155 | name: 'order-add', |
| 140 | - components: { PopupPlatenumber, payee }, | 156 | + components: { UTextarea, PopupPlatenumber, payee }, |
| 141 | data() { | 157 | data() { |
| 142 | return { | 158 | return { |
| 159 | + showModal: '', | ||
| 160 | + content: '', | ||
| 143 | carNumber: '', | 161 | carNumber: '', |
| 144 | showLoadTime: false, | 162 | showLoadTime: false, |
| 145 | loadTimeDef: new Date(), | 163 | loadTimeDef: new Date(), |
| @@ -195,6 +213,57 @@ export default { | @@ -195,6 +213,57 @@ export default { | ||
| 195 | this.initConfig(); | 213 | this.initConfig(); |
| 196 | }, | 214 | }, |
| 197 | methods: { | 215 | methods: { |
| 216 | + clipboard(data) { | ||
| 217 | + if (!data) return; | ||
| 218 | + let mobileReg = /1[3456789]\d{9}/; | ||
| 219 | + let vehicleReg = /[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新]{1}[ABCDEFGHJKLMNOPQRSTUVWXY]{1}[0-9A-Z]{5,6}/; | ||
| 220 | + let trailerReg = /[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新]{1}[ABCDEFGHJKLMNPQRSTUVWXY]{1}[0-9A-Z]{4}[挂超]{1}/; | ||
| 221 | + let mobile = mobileReg.exec(data.toUpperCase()); | ||
| 222 | + let vehicle = vehicleReg.exec(data.toUpperCase()); | ||
| 223 | + let trailer = trailerReg.exec(data.toUpperCase()); | ||
| 224 | + let cliMobile = '', | ||
| 225 | + cliVehicle = '', | ||
| 226 | + cliTrailer = ''; | ||
| 227 | + if (mobile && mobile.input) { | ||
| 228 | + cliMobile = mobile[0]; | ||
| 229 | + } | ||
| 230 | + if (vehicle && vehicle.input) { | ||
| 231 | + cliVehicle = vehicle[0]; | ||
| 232 | + } | ||
| 233 | + if (trailer && trailer.input) { | ||
| 234 | + cliTrailer = trailer[0]; | ||
| 235 | + } | ||
| 236 | + console.info(cliMobile, cliVehicle, cliTrailer); | ||
| 237 | + if (cliMobile || cliVehicle || cliTrailer) { | ||
| 238 | + this.form = { | ||
| 239 | + ...this.form, | ||
| 240 | + mobile: cliMobile || this.form.mobile, | ||
| 241 | + licenseNumber: cliVehicle || this.form.licenseNumber, | ||
| 242 | + }; | ||
| 243 | + if (cliMobile) { | ||
| 244 | + this.mobileChange(); | ||
| 245 | + } | ||
| 246 | + if (cliVehicle) { | ||
| 247 | + this.typeCar = 'licenseNumber'; | ||
| 248 | + this.vehicleChange(cliVehicle); | ||
| 249 | + } | ||
| 250 | + if (cliTrailer) { | ||
| 251 | + setTimeout(() => { | ||
| 252 | + this.typeCar = 'trailerNumber'; | ||
| 253 | + this.form.trailerNumber = cliTrailer ? cliTrailer.replace('超', '挂') : this.form.trailerNumber; | ||
| 254 | + this.vehicleChange(cliTrailer); | ||
| 255 | + }, 500); | ||
| 256 | + } | ||
| 257 | + } | ||
| 258 | + }, | ||
| 259 | + cliCancel() { | ||
| 260 | + this.showModal = false; | ||
| 261 | + }, | ||
| 262 | + cliSubmit() { | ||
| 263 | + this.clipboard(this.content); | ||
| 264 | + this.cliCancel(); | ||
| 265 | + }, | ||
| 266 | + | ||
| 198 | initConfig() { | 267 | initConfig() { |
| 199 | uni.$u.api.freightOrder.currentFreight({}).then(en => { | 268 | uni.$u.api.freightOrder.currentFreight({}).then(en => { |
| 200 | this.currentFreight = en?.result || {}; | 269 | this.currentFreight = en?.result || {}; |
pages/order/card.vue
| @@ -30,6 +30,11 @@ | @@ -30,6 +30,11 @@ | ||
| 30 | </view> | 30 | </view> |
| 31 | </view> | 31 | </view> |
| 32 | </view> | 32 | </view> |
| 33 | + <view class="card-order__item"> | ||
| 34 | + <image src="/static/driver.png" /> | ||
| 35 | + {{ item.driverName ? item.driverName.substring(0, 4) : '' }} {{ item.driverMobile ? item.driverMobile : '' }} | {{ item.vehicleLicenseNum ? item.vehicleLicenseNum : '' }} | ||
| 36 | + {{ item.trailerLicenseNum ? item.trailerLicenseNum : '' }} | ||
| 37 | + </view> | ||
| 33 | <view class="card-order__tags"> | 38 | <view class="card-order__tags"> |
| 34 | <view class="tag--warning" v-if="item.driverCertifiedStatus === 'NOT_CERTIFIED'">司机未认证</view> | 39 | <view class="tag--warning" v-if="item.driverCertifiedStatus === 'NOT_CERTIFIED'">司机未认证</view> |
| 35 | <view class="tag--paying" v-if="item.driverCertifiedStatus === 'CERTIFYING'">司机认证中</view> | 40 | <view class="tag--paying" v-if="item.driverCertifiedStatus === 'CERTIFYING'">司机认证中</view> |
| @@ -43,10 +48,6 @@ | @@ -43,10 +48,6 @@ | ||
| 43 | <text class="tag--warning" v-if="item.extraTrailerFlag">多车挂</text> | 48 | <text class="tag--warning" v-if="item.extraTrailerFlag">多车挂</text> |
| 44 | <text class="tag--warning" v-if="item.missTrailerFlag">缺车挂</text> | 49 | <text class="tag--warning" v-if="item.missTrailerFlag">缺车挂</text> |
| 45 | </view> | 50 | </view> |
| 46 | - <view class="card-order__item"> | ||
| 47 | - {{ item.driverName ? item.driverName : '' }} {{ item.driverMobile ? item.driverMobile : '' }} | {{ item.vehicleLicenseNum ? item.vehicleLicenseNum : '' }} | ||
| 48 | - {{ item.trailerLicenseNum ? item.trailerLicenseNum : '' }} | ||
| 49 | - </view> | ||
| 50 | <view class="card-order__footer"> | 51 | <view class="card-order__footer"> |
| 51 | <view class="amount"> | 52 | <view class="amount"> |
| 52 | 运费<text class="red">¥{{ item.freightAmount }}</text> | 53 | 运费<text class="red">¥{{ item.freightAmount }}</text> |
| @@ -185,12 +186,19 @@ export default { | @@ -185,12 +186,19 @@ export default { | ||
| 185 | } | 186 | } |
| 186 | } | 187 | } |
| 187 | &__item { | 188 | &__item { |
| 189 | + margin-top: $padding-xs; | ||
| 188 | display: flex; | 190 | display: flex; |
| 189 | font-size: 26upx; | 191 | font-size: 26upx; |
| 190 | color: #999999; | 192 | color: #999999; |
| 193 | + align-items: baseline; | ||
| 194 | + image { | ||
| 195 | + margin-right: $padding-xs; | ||
| 196 | + width: 24upx; | ||
| 197 | + height: 24upx; | ||
| 198 | + } | ||
| 191 | } | 199 | } |
| 192 | &__tags { | 200 | &__tags { |
| 193 | - margin-bottom: $padding-sm; | 201 | + margin-top: $padding-xs; |
| 194 | display: flex; | 202 | display: flex; |
| 195 | align-items: center; | 203 | align-items: center; |
| 196 | flex-wrap: wrap; | 204 | flex-wrap: wrap; |
| @@ -206,6 +214,7 @@ export default { | @@ -206,6 +214,7 @@ export default { | ||
| 206 | font-size: $font-sm; | 214 | font-size: $font-sm; |
| 207 | background-color: rgba($color-primary, 0.1); | 215 | background-color: rgba($color-primary, 0.1); |
| 208 | &--warning { | 216 | &--warning { |
| 217 | + margin-right: $padding-xs; | ||
| 209 | color: #f52723; | 218 | color: #f52723; |
| 210 | font-size: 20rpx; | 219 | font-size: 20rpx; |
| 211 | padding-left: 10rpx; | 220 | padding-left: 10rpx; |
| @@ -214,6 +223,7 @@ export default { | @@ -214,6 +223,7 @@ export default { | ||
| 214 | border: 2rpx solid #f52723; | 223 | border: 2rpx solid #f52723; |
| 215 | } | 224 | } |
| 216 | &--paying { | 225 | &--paying { |
| 226 | + margin-right: $padding-xs; | ||
| 217 | color: #ff9339; | 227 | color: #ff9339; |
| 218 | font-size: 20rpx; | 228 | font-size: 20rpx; |
| 219 | padding-left: 10upx; | 229 | padding-left: 10upx; |
| @@ -314,7 +324,7 @@ export default { | @@ -314,7 +324,7 @@ export default { | ||
| 314 | color: #ffffff; | 324 | color: #ffffff; |
| 315 | } | 325 | } |
| 316 | } | 326 | } |
| 317 | - margin-top: $padding-sm; | 327 | + margin-top: $padding-base; |
| 318 | } | 328 | } |
| 319 | } | 329 | } |
| 320 | </style> | 330 | </style> |
pages/order/change-fee.vue
| @@ -73,7 +73,11 @@ | @@ -73,7 +73,11 @@ | ||
| 73 | :suffix-icon="autoComputedArrival ? '' : 'arrow-right'" | 73 | :suffix-icon="autoComputedArrival ? '' : 'arrow-right'" |
| 74 | :placeholder="autoComputedArrival ? '自动计算' : '请输入'" | 74 | :placeholder="autoComputedArrival ? '自动计算' : '请输入'" |
| 75 | :disabled="autoComputedArrival || arrivalPay.disabled" | 75 | :disabled="autoComputedArrival || arrivalPay.disabled" |
| 76 | - ></u-input> | 76 | + > |
| 77 | + <template #suffix> | ||
| 78 | + <span v-if="autoComputedArrival && form.driverSecurityServiceAmount" class="color-red">-{{ form.driverSecurityServiceAmount }}</span> | ||
| 79 | + </template> | ||
| 80 | + </u-input> | ||
| 77 | </view> | 81 | </view> |
| 78 | </view> | 82 | </view> |
| 79 | <view class="item"> | 83 | <view class="item"> |
| @@ -95,7 +99,11 @@ | @@ -95,7 +99,11 @@ | ||
| 95 | :suffix-icon="!autoComputedArrival ? '' : 'arrow-right'" | 99 | :suffix-icon="!autoComputedArrival ? '' : 'arrow-right'" |
| 96 | :placeholder="!autoComputedArrival ? '自动计算' : '请输入'" | 100 | :placeholder="!autoComputedArrival ? '自动计算' : '请输入'" |
| 97 | :disabled="!autoComputedArrival || final.disabled" | 101 | :disabled="!autoComputedArrival || final.disabled" |
| 98 | - ></u-input> | 102 | + > |
| 103 | + <template #suffix> | ||
| 104 | + <span v-if="!autoComputedArrival && form.driverSecurityServiceAmount" class="color-red">-{{ form.driverSecurityServiceAmount }}</span> | ||
| 105 | + </template> | ||
| 106 | + </u-input> | ||
| 99 | </view> | 107 | </view> |
| 100 | </view> | 108 | </view> |
| 101 | </view> | 109 | </view> |
pages/order/detail.vue
| @@ -79,7 +79,9 @@ | @@ -79,7 +79,9 @@ | ||
| 79 | <text v-if="!!item.goodsWeight">{{ item.goodsWeight }}吨</text> | 79 | <text v-if="!!item.goodsWeight">{{ item.goodsWeight }}吨</text> |
| 80 | <text v-if="!!item.goodsVolume">{{ item.goodsVolume }}方</text> | 80 | <text v-if="!!item.goodsVolume">{{ item.goodsVolume }}方</text> |
| 81 | </view> | 81 | </view> |
| 82 | - <view v-if="$permission('/freightOrder/modifyGoods')" class="action" @tap="toChangeGoods"> <u--text text="修改" suffixIcon="arrow-right"></u--text> </view> | 82 | + <view v-if="$permission('/freightOrder/modifyGoods') && !['ALREADY_SETTLEMENT'].includes(item.paymentSettlementStatus)" class="action" @tap="toChangeGoods"> |
| 83 | + <u--text text="修改" suffixIcon="arrow-right"></u--text> | ||
| 84 | + </view> | ||
| 83 | </view> | 85 | </view> |
| 84 | </view> | 86 | </view> |
| 85 | <view class="card__item"> | 87 | <view class="card__item"> |
| @@ -218,7 +220,13 @@ | @@ -218,7 +220,13 @@ | ||
| 218 | <view class="card__item_field"> | 220 | <view class="card__item_field"> |
| 219 | <render-dict dict="ONLINE_FREIGHT_ORDER_FEE_TYPE" :value="it.type"></render-dict> | 221 | <render-dict dict="ONLINE_FREIGHT_ORDER_FEE_TYPE" :value="it.type"></render-dict> |
| 220 | </view> | 222 | </view> |
| 221 | - <view class="card__item_content">¥{{ it.amount }}</view> | 223 | + <view class="card__item_content"> |
| 224 | + ¥{{ it.amount || 0 }} | ||
| 225 | + <span v-if="item.driverSecurityServiceAmount"> | ||
| 226 | + <span v-if="autoComputedArrival && it.type === 'OUT_INVITE_ARRIVAL'" class="color-red">已扣安全服务费{{ item.driverSecurityServiceAmount }}</span> | ||
| 227 | + <span v-if="!autoComputedArrival && it.type === 'OUT_INVITE_FINAL'" class="color-red">已扣安全服务费{{ item.driverSecurityServiceAmount }}</span> | ||
| 228 | + </span> | ||
| 229 | + </view> | ||
| 222 | <view v-if="it.payStatus === 'PAY_FAILED'" class="card__item--warning">支付失败:{{ it.remark }}</view> | 230 | <view v-if="it.payStatus === 'PAY_FAILED'" class="card__item--warning">支付失败:{{ it.remark }}</view> |
| 223 | <view v-if="it.payStatus === 'PAYING'" class="card__item--paying">支付中</view> | 231 | <view v-if="it.payStatus === 'PAYING'" class="card__item--paying">支付中</view> |
| 224 | <view v-if="it.payStatus === 'PAY_SUCCESS'" class="card__item--success">已支付</view> | 232 | <view v-if="it.payStatus === 'PAY_SUCCESS'" class="card__item--success">已支付</view> |
| @@ -285,11 +293,30 @@ export default { | @@ -285,11 +293,30 @@ export default { | ||
| 285 | { cityName: '', areaName: '', address: '' }, | 293 | { cityName: '', areaName: '', address: '' }, |
| 286 | ], | 294 | ], |
| 287 | }, | 295 | }, |
| 296 | + currentFreight: {}, | ||
| 288 | }; | 297 | }; |
| 289 | }, | 298 | }, |
| 290 | computed: { | 299 | computed: { |
| 291 | amountList() { | 300 | amountList() { |
| 292 | - return this.item.orderFeePayPlanList ? this.item.orderFeePayPlanList.filter(i => i.amount && i.amount > 0) : []; | 301 | + let list = this.item.orderFeePayPlanList; |
| 302 | + if (!list || list.length === 0) return []; | ||
| 303 | + const { prePayFlag, arrivalPayFlag, oilPayFlag } = this.item; | ||
| 304 | + let oilPay = list.filter(i => i.type === 'OIL_COST')[0]; | ||
| 305 | + let prePay = list.filter(i => i.type === 'OUT_INVITE_PRE')[0]; | ||
| 306 | + let arrivalPay = list.filter(i => i.type === 'OUT_INVITE_ARRIVAL')[0]; | ||
| 307 | + let finalPay = list.filter(i => i.type === 'OUT_INVITE_FINAL')[0]; | ||
| 308 | + let res = []; | ||
| 309 | + if (oilPayFlag || (oilPay.amount && oilPay.amount > 0)) { | ||
| 310 | + res.push(oilPay); | ||
| 311 | + } | ||
| 312 | + if (prePayFlag || (prePay.amount && prePay.amount > 0)) { | ||
| 313 | + res.push(prePay); | ||
| 314 | + } | ||
| 315 | + if (arrivalPayFlag || (arrivalPay.amount && arrivalPay.amount > 0) || (this.autoComputedArrival && this.item.driverSecurityServiceAmount)) { | ||
| 316 | + res.push(arrivalPay); | ||
| 317 | + } | ||
| 318 | + res.push(finalPay); | ||
| 319 | + return res; | ||
| 293 | }, | 320 | }, |
| 294 | payeeModel() { | 321 | payeeModel() { |
| 295 | return this.item.payee | 322 | return this.item.payee |
| @@ -300,6 +327,10 @@ export default { | @@ -300,6 +327,10 @@ export default { | ||
| 300 | } | 327 | } |
| 301 | : {}; | 328 | : {}; |
| 302 | }, | 329 | }, |
| 330 | + autoComputedArrival() { | ||
| 331 | + // 自动计算货到 | ||
| 332 | + return 'OUT_INVITE_ARRIVAL' === this.currentFreight ? this.currentFreight.autoComputeFeeType : false; | ||
| 333 | + }, | ||
| 303 | }, | 334 | }, |
| 304 | onLoad(options) { | 335 | onLoad(options) { |
| 305 | if (options.code) { | 336 | if (options.code) { |
| @@ -308,6 +339,9 @@ export default { | @@ -308,6 +339,9 @@ export default { | ||
| 308 | }, | 339 | }, |
| 309 | methods: { | 340 | methods: { |
| 310 | initData(code) { | 341 | initData(code) { |
| 342 | + uni.$u.api.freightOrder.currentFreight({}).then(en => { | ||
| 343 | + this.currentFreight = en.result || {}; | ||
| 344 | + }); | ||
| 311 | uni.$u.api.freightOrder.getDetail({ code }).then(res => { | 345 | uni.$u.api.freightOrder.getDetail({ code }).then(res => { |
| 312 | this.item = res.result || {}; | 346 | this.item = res.result || {}; |
| 313 | }); | 347 | }); |
pages/order/index.vue
| @@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
| 33 | </view> | 33 | </view> |
| 34 | </template> | 34 | </template> |
| 35 | <template #content> | 35 | <template #content> |
| 36 | - <List ref="list" v-model="list" :api="orderAPI" @update:loading="e => (loading = e)"> | 36 | + <List ref="list" v-model="list" :api="orderAPI" @update:loading="e => (loading = e)" :verify="true"> |
| 37 | <template v-for="(item, index) in list"> | 37 | <template v-for="(item, index) in list"> |
| 38 | <card | 38 | <card |
| 39 | @more="more" | 39 | @more="more" |
pages/settlement/index.vue
| @@ -40,7 +40,7 @@ | @@ -40,7 +40,7 @@ | ||
| 40 | </view> | 40 | </view> |
| 41 | </template> | 41 | </template> |
| 42 | <template #content> | 42 | <template #content> |
| 43 | - <List ref="list" v-model="list" :api="orderAPI" @update:loading="e => (loading = e)"> | 43 | + <List ref="list" v-model="list" :api="orderAPI" @update:loading="e => (loading = e)" :verify="true"> |
| 44 | <template v-for="(item, index) in list"> | 44 | <template v-for="(item, index) in list"> |
| 45 | <card @apply="applySub" @audit="auditFun" @cancelApply="cancelApplySub" @tap="toDetail(item.orderCode)" :key="index" :item="item"></card> | 45 | <card @apply="applySub" @audit="auditFun" @cancelApply="cancelApplySub" @tap="toDetail(item.orderCode)" :key="index" :item="item"></card> |
| 46 | </template> | 46 | </template> |
7.25 KB
static/qr.png
11.4 KB