mo-bai 4 years ago
parent
commit
d62ed1359d
13 changed files with 109 additions and 45 deletions
  1. 15
      apis/orderApi.js
  2. 3
      components/qn-select/qn-select.vue
  3. 5
      enums/index.js
  4. 4
      env/index.js
  5. 7
      manifest.json
  6. 2
      pages.json
  7. 15
      pages/digital-workshops/index.vue
  8. 10
      pages/mall/index.vue
  9. 62
      pages/order-detail/index.vue
  10. 2
      pages/order-make/index.vue
  11. 29
      pages/page-view/index.vue
  12. BIN
      static/imgs/mall/default-avatar.png
  13. BIN
      static/imgs/mall/search-icon.png

15
apis/orderApi.js

@ -61,7 +61,7 @@ export const submitClientOrder = (data) => {
*/ */
export const getClientOrderInfo = (data) => { export const getClientOrderInfo = (data) => {
return http.get({ return http.get({
url: '/base-paper-trading/get/customer/order/details',
url: '/base-paper-trading/get/customer/order/details1',
data data
}) })
} }
@ -159,3 +159,16 @@ export function getCooperationList(data) {
data data
}) })
} }
/**
* 提交微信直付单返回微信支付参数
* @param {object} data
* @property {string} data.customerOrderId
* @property {string} data.wxAppid
*/
export function makeSupplierPay(data) {
return http.post({
url: '/base-paper-trading/submit/wx/straight/pay',
data
})
}

3
components/qn-select/qn-select.vue

@ -61,6 +61,9 @@ export default {
label: '' label: ''
} }
}, },
created() {
this.handleChange(this.value, this.options)
},
methods: { methods: {
handleSelect(item) { handleSelect(item) {
if (this.multiple) { if (this.multiple) {

5
enums/index.js

@ -3,6 +3,8 @@ const urlEnv = env === 'production' ? '' : `-${env}`
export const XAPPID = '503258978847966407' export const XAPPID = '503258978847966407'
export const WX_APPID = 'wx6c66084e2de41575'
export const H5_URL = `https://printpackage${urlEnv}.qniao.cn` export const H5_URL = `https://printpackage${urlEnv}.qniao.cn`
/** /**
@ -220,7 +222,7 @@ export const orderStatusMap = {
} }
/** /**
* 供应商订单状态 待客户确认订单/30202,待供应商确认订单/30205,待发货/30106,已发货/30107 已发货在H5客户端显示 待收货/30107 ,待客户借款/30207,支付中/30208,待客户支付/30214,付款失败/30211,已完成/30213,待客户还款/30217,已取消/30212,还款中/30216
* 供应商订单状态 待客户确认订单/30202,待供应商确认订单/30205,待发货/30106,已发货/30107 已发货在H5客户端显示 待收货/30107 ,待客户借款/30207,支付中/30208,待客户支付/30214,微信服务商支付/30215,付款失败/30211,已完成/30213,待客户还款/30217,已取消/30212,还款中/30216
*/ */
export const supplierOrderStatusEnum = { export const supplierOrderStatusEnum = {
WAIT_CLIENT_CONFIRM: 30202, WAIT_CLIENT_CONFIRM: 30202,
@ -230,6 +232,7 @@ export const supplierOrderStatusEnum = {
WAIT_CLIENT_LOAN: 30207, WAIT_CLIENT_LOAN: 30207,
PAYING: 30208, PAYING: 30208,
WAIT_CLIENT_PAY: 30214, WAIT_CLIENT_PAY: 30214,
WX_PAY_SUPPLIER: 30215,
PAY_FAIL: 30211, PAY_FAIL: 30211,
FINISHED: 30213, FINISHED: 30213,
WAIT_CLIENT_REPAY: 30217, WAIT_CLIENT_REPAY: 30217,

4
env/index.js

@ -1,8 +1,8 @@
/** /**
* @description 唯一环境变量 * @description 唯一环境变量
*/ */
// const env = 'test'
const env = 'test'
// const env = 'dev' // const env = 'dev'
const env = 'production'
// const env = 'production'
export default env export default env

7
manifest.json

@ -24,7 +24,6 @@
}, },
/* */ /* */
"modules" : { "modules" : {
"iBeacon" : {},
"Share" : {}, "Share" : {},
"Payment" : {}, "Payment" : {},
"Push" : {}, "Push" : {},
@ -39,8 +38,6 @@
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>", "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>", "<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
@ -52,9 +49,7 @@
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>", "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
], ],
"abiFilters" : [ "armeabi-v7a", "x86" ] "abiFilters" : [ "armeabi-v7a", "x86" ]
}, },

2
pages.json

@ -175,7 +175,7 @@
"path": "pages/order-detail/index", "path": "pages/order-detail/index",
"style": { "style": {
"navigationBarTitleText": "订单详情", "navigationBarTitleText": "订单详情",
"enablePullDownRefresh": false,
"enablePullDownRefresh": true,
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },

15
pages/digital-workshops/index.vue

@ -1,10 +1,7 @@
<template> <template>
<view class="page"> <view class="page">
<!-- 非工厂展示 -->
<view v-show="!isFactory">空白页</view>
<!-- 工厂企业展示 -->
<view v-show="isFactory">
<view class="flex-col group" v-if="deviceList.length > 0">
<view>
<view class="flex-col group" v-show="deviceList.length > 0">
<view class="flex-col section_1"> <view class="flex-col section_1">
<view class="flex-row-center-center page__title">监控台</view> <view class="flex-row-center-center page__title">监控台</view>
<view class="flex-col group_5"> <view class="flex-col group_5">
@ -110,7 +107,7 @@
</scroll-list> </scroll-list>
</view> </view>
</view> </view>
<view v-else>
<view v-show="deviceList.length == 0">
<empty-data></empty-data> <empty-data></empty-data>
</view> </view>
</view> </view>
@ -152,9 +149,6 @@ export default {
} }
}, },
computed: { computed: {
isFactory() {
return this.$store.state.companyInfo.enterpriseType == enterpriseType.PRINT_PACKAGE_FACTORY
},
userName() { userName() {
return this.$store.state.userInfo.name || this.$store.state.userInfo.mobile return this.$store.state.userInfo.name || this.$store.state.userInfo.mobile
}, },
@ -163,7 +157,8 @@ export default {
} }
}, },
onShow() { onShow() {
if (this.isFactory) {
let isFactory = this.$store.state.companyInfo.enterpriseType == enterpriseType.PRINT_PACKAGE_FACTORY
if (isFactory) {
this.getDeviceList() this.getDeviceList()
this.getDeviceStatistics() this.getDeviceStatistics()
} }

10
pages/mall/index.vue

@ -4,10 +4,7 @@
<view class="flex-row section_2"> <view class="flex-row section_2">
<text class="text">原纸商城</text> <text class="text">原纸商城</text>
<view class="flex-row items-center section_3"> <view class="flex-row items-center section_3">
<image
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/611dd17441a9be0011f45822/620ccb0962a7d90011fe5c8f/16488644996273525546.png"
class="image_1"
/>
<image src="/static/imgs/mall/search-icon.png" class="image_1" />
<qn-easyinput @confirm="downCallback" :maxlength="15" v-model="condition.searchValue" :inputBorder="false" placeholder="输入搜索信息"></qn-easyinput> <qn-easyinput @confirm="downCallback" :maxlength="15" v-model="condition.searchValue" :inputBorder="false" placeholder="输入搜索信息"></qn-easyinput>
</view> </view>
</view> </view>
@ -16,10 +13,7 @@
<view class="flex-col list"> <view class="flex-col list">
<view class="list-item flex-col" :key="i" v-for="(item, i) in storeList"> <view class="list-item flex-col" :key="i" v-for="(item, i) in storeList">
<view class="flex-row"> <view class="flex-row">
<image
src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/611dd17441a9be0011f45822/620ccb0962a7d90011fe5c8f/16488644996327336999.png"
class="image_2"
/>
<image src="/static/imgs/mall/default-avatar.png" class="image_2" />
<view class="right-group flex-col" @click="jumpStore(item)"> <view class="right-group flex-col" @click="jumpStore(item)">
<view class="text_2" v-html="item.enterpriseName"></view> <view class="text_2" v-html="item.enterpriseName"></view>
<view class="bottom-group flex-row"> <view class="bottom-group flex-row">

62
pages/order-detail/index.vue

@ -28,6 +28,8 @@
<view v-if="supplierOrder.status == supplierOrderStatusEnum.WAIT_CLIENT_PAY" class="button-item" @click="confirmWxPay(supplierOrder.mallSupplierId)"> <view v-if="supplierOrder.status == supplierOrderStatusEnum.WAIT_CLIENT_PAY" class="button-item" @click="confirmWxPay(supplierOrder.mallSupplierId)">
去付款 去付款
</view> </view>
<!-- 微信服务商支付待付款 -->
<view v-if="supplierOrder.status == supplierOrderStatusEnum.WX_PAY_SUPPLIER" class="button-item" @click="makeWxpay()">去付款</view>
<!-- 待收货展示 --> <!-- 待收货展示 -->
<view v-else-if="supplierOrder.status == supplierOrderStatusEnum.WAIT_RECEIVE" class="button-item" @click="confirmReceive(supplierOrder)"> <view v-else-if="supplierOrder.status == supplierOrderStatusEnum.WAIT_RECEIVE" class="button-item" @click="confirmReceive(supplierOrder)">
确认收货 确认收货
@ -158,9 +160,17 @@
<script> <script>
import { go2, back, uploadImage } from '@/utils/hook.js' import { go2, back, uploadImage } from '@/utils/hook.js'
import { getClientOrderInfo, clientUploadVoucher, clientDeleteVoucher, clientConfirmOrder, getReciptCode } from '@/apis/orderApi.js'
import { getClientOrderInfo, clientUploadVoucher, clientDeleteVoucher, clientConfirmOrder, getReciptCode, makeSupplierPay } from '@/apis/orderApi.js'
import { transformFileToImg, getFeisuanUrl } from '@/apis/commonApi.js' import { transformFileToImg, getFeisuanUrl } from '@/apis/commonApi.js'
import { orderStatusEnum, supplierOrderStatusMap, supplierOrderStatusEnum, paymentMethodMap, paymentMethodEnum, invoiceStatusMap } from '@/enums/index.js'
import {
orderStatusEnum,
supplierOrderStatusMap,
supplierOrderStatusEnum,
paymentMethodMap,
paymentMethodEnum,
invoiceStatusMap,
WX_APPID
} from '@/enums/index.js'
const statusImg = { const statusImg = {
[orderStatusEnum.WAIT_SUPPLIER_CONFIRM]: '待供应商确认', [orderStatusEnum.WAIT_SUPPLIER_CONFIRM]: '待供应商确认',
[orderStatusEnum.ORDERED]: '已下单', [orderStatusEnum.ORDERED]: '已下单',
@ -187,6 +197,7 @@ const showUploadStatus = [
export default { export default {
data() { data() {
return { return {
orderId: null,
orderInfo: { orderInfo: {
deliveryAddress: {}, deliveryAddress: {},
supplierOrder: [] supplierOrder: []
@ -202,7 +213,7 @@ export default {
}, },
onLoad(option) { onLoad(option) {
if (option.orderId) { if (option.orderId) {
this.init(option.orderId)
this.orderId = option.orderId
} else { } else {
uni.showToast({ uni.showToast({
title: '订单信息错误', title: '订单信息错误',
@ -215,6 +226,16 @@ export default {
}) })
} }
}, },
onPullDownRefresh() {
console.log('下拉刷新')
this.init(this.orderId)
uni.stopPullDownRefresh()
},
onShow() {
if (this.orderId) {
this.init(this.orderId)
}
},
methods: { methods: {
go2, go2,
back, back,
@ -222,6 +243,7 @@ export default {
getClientOrderInfo({ getClientOrderInfo({
customerOrderId: orderId customerOrderId: orderId
}).then((res) => { }).then((res) => {
console.log('订单详情', res)
if (res) { if (res) {
this.orderInfo = res this.orderInfo = res
} }
@ -368,6 +390,40 @@ export default {
} }
}) })
}, },
makeWxpay() {
makeSupplierPay({ customerOrderId: this.orderInfo.orderId, wxAppid: WX_APPID, apiType: 'app' }).then((info) => {
if (info) {
console.log('info', info)
uni.requestPayment({
provider: 'wxpay',
orderInfo: {
appid: info.appId,
partnerid: info.partnerid,
prepayid: info.prepayId,
package: 'Sign=WXPay',
noncestr: info.nonceStr,
timestamp: info.timeStamp,
sign: info.paySign
},
success: () => {
uni.showToast({
title: '支付成功',
icon: 'none',
duration: 1500
})
},
fail: (err) => {
console.log('err', err)
uni.showToast({
title: '支付失败',
icon: 'none',
duration: 1500
})
}
})
}
})
},
clip(content) { clip(content) {
uni.setClipboardData({ uni.setClipboardData({
data: content, data: content,

2
pages/order-make/index.vue

@ -293,7 +293,7 @@ export default {
success: () => { success: () => {
setTimeout(() => { setTimeout(() => {
// #ifdef APP-PLUS // #ifdef APP-PLUS
go2('page-view', { title: '合同签署', url: encodeURIComponent(res.signUrl) })
go2('page-view', { title: '合同签署', url: encodeURIComponent(res.signUrl) }, true)
// #endif // #endif
// #ifdef H5 // #ifdef H5
if (window) { if (window) {

29
pages/page-view/index.vue

@ -33,14 +33,25 @@ export default {
}) })
} }
}, },
created() {
makeSocket({ pageInfo: 'page-view', retry: true }).then((res) => {
this.destroySocket()
this.socket = res
this.socket.onMessage(this.getMessage)
})
onShow() {
this.initSocket()
},
onHide() {
console.log('onHide')
this.destroySocket()
},
onUnload() {
console.log('onUnload')
this.destroySocket()
}, },
methods: { methods: {
initSocket() {
makeSocket({ pageInfo: 'page-view', retry: true }).then((res) => {
this.destroySocket()
this.socket = res
this.socket.onMessage(this.getMessage)
})
},
/** /**
* @param {Object} data {data:{},type:''} * @param {Object} data {data:{},type:''}
*/ */
@ -68,12 +79,6 @@ export default {
this.socket = null this.socket = null
} }
} }
},
destroyed() {
this.destroySocket()
} }
// onHide() {
// this.destroySocket()
// }
} }
</script> </script>

BIN
static/imgs/mall/default-avatar.png

Before After
Width: 152  |  Height: 152  |  Size: 39 KiB

BIN
static/imgs/mall/search-icon.png

Before After
Width: 50  |  Height: 50  |  Size: 1.6 KiB
Loading…
Cancel
Save