1.对接门店接口

2.对接商户接口
huipay-master
杨杰 3 years ago
parent de647a1073
commit 87e5571b8f
  1. 31
      Utils/Api.js
  2. 3
      Utils/js/date.js
  3. 56
      pages.json
  4. 95
      pages/index/addService/addService.vue
  5. 520
      pages/index/addStore/addStore.vue
  6. 62
      pages/index/collectNotes/collectNotes.vue
  7. 136
      pages/index/doorManage/doorManage.vue
  8. 2
      pages/index/mcc-list/mcc-list.vue
  9. 2
      pages/index/merchant-details/merchant-details.vue
  10. 11
      pages/index/merchant-incoming-parts/merchant-incoming-parts.vue
  11. 2
      pages/index/merchant-management/merchant-management.vue
  12. 145
      pages/index/serviceBuild/serviceBuild.vue
  13. 2
      pages/index/store-details/store-details.vue
  14. 147
      pages/tabBar/home/home.vue
  15. 10
      pages/tabBar/user/user.vue
  16. BIN
      static/img/addser.png
  17. BIN
      static/img/home1.png
  18. BIN
      static/img/home2.png
  19. BIN
      static/img/home3.png
  20. BIN
      static/img/home4.png
  21. 2
      unpackage/dist/build/h5/index.html
  22. BIN
      unpackage/dist/build/h5/static/img/addser.png
  23. BIN
      unpackage/dist/build/h5/static/img/home1.png
  24. BIN
      unpackage/dist/build/h5/static/img/home2.png
  25. BIN
      unpackage/dist/build/h5/static/img/home3.png
  26. BIN
      unpackage/dist/build/h5/static/img/home4.png
  27. 1
      unpackage/dist/build/h5/static/js/index.2ecf215f.js
  28. 1
      unpackage/dist/build/h5/static/js/index.33a4581c.js
  29. 1
      unpackage/dist/build/h5/static/js/pages-index-addService-addService.7d63d754.js
  30. 1
      unpackage/dist/build/h5/static/js/pages-index-addStore-addStore.4e56f7b9.js
  31. 1
      unpackage/dist/build/h5/static/js/pages-index-addStore-addStore.e1c484c6.js
  32. 1
      unpackage/dist/build/h5/static/js/pages-index-addStore-addStore~pages-index-merchant-incoming-parts-merchant-incoming-parts.69532adf.js
  33. 1
      unpackage/dist/build/h5/static/js/pages-index-business-category-business-category.419f4ccf.js
  34. 1
      unpackage/dist/build/h5/static/js/pages-index-business-category-business-category.79f7d97a.js
  35. 1
      unpackage/dist/build/h5/static/js/pages-index-collectNotes-collectNotes.463c09a7.js
  36. 1
      unpackage/dist/build/h5/static/js/pages-index-doorManage-doorManage.a6bb0c24.js
  37. 1
      unpackage/dist/build/h5/static/js/pages-index-mcc-list-mcc-list.26c35bd1.js
  38. 1
      unpackage/dist/build/h5/static/js/pages-index-mcc-list-mcc-list.9f281e51.js
  39. 1
      unpackage/dist/build/h5/static/js/pages-index-mcc-list-mcc-list~pages-index-merchant-incoming-parts-merchant-incoming-parts.57723673.js
  40. 1
      unpackage/dist/build/h5/static/js/pages-index-mcc-list-mcc-list~pages-index-merchant-incoming-parts-merchant-incoming-parts.9c345664.js
  41. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-details-merchant-details.1a79b526.js
  42. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-details-merchant-details.94b63118.js
  43. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-details-merchant-details~pages-index-merchant-list-merchant-list.48183921.js
  44. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-incoming-parts-merchant-incoming-parts.b064705c.js
  45. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-incoming-parts-merchant-incoming-parts.d3845289.js
  46. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-list-merchant-list.cb0d3f82.js
  47. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-list-merchant-list.d72cdcd2.js
  48. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-management-merchant-management.0bbd6db6.js
  49. 1
      unpackage/dist/build/h5/static/js/pages-index-merchant-management-merchant-management.2d5bce70.js
  50. 1
      unpackage/dist/build/h5/static/js/pages-index-serviceBuild-serviceBuild.77be670b.js
  51. 1
      unpackage/dist/build/h5/static/js/pages-index-store-details-store-details.3c5dd9e8.js
  52. 1
      unpackage/dist/build/h5/static/js/pages-index-store-details-store-details.44ed2054.js
  53. 2
      unpackage/dist/build/h5/static/js/pages-login-login~pages-tabBar-user-user.180513cc.js
  54. 1
      unpackage/dist/build/h5/static/js/pages-tabBar-home-home.b5ddd2de.js
  55. 1
      unpackage/dist/build/h5/static/js/pages-tabBar-home-home.e3c0b14c.js
  56. 1
      unpackage/dist/build/h5/static/js/pages-tabBar-user-user.255be470.js
  57. 1
      unpackage/dist/build/h5/static/js/pages-tabBar-user-user.35b49c84.js
  58. BIN
      unpackage/dist/build/h5/归档.zip

@ -69,8 +69,35 @@ export const getStoreListByMer = params => {
export const getStoreDetailById = params => { export const getStoreDetailById = params => {
return POST('GET', `${base}/store/getStoreDetailById`, params).then(res => res.data); return POST('GET', `${base}/store/getStoreDetailById`, params).then(res => res.data);
} }
//商户添加门店
//手机查询统计 export const configStore = params => {
return POST('POST', `${base}/store/configStore`, params).then(res => res.data);
}
//门店添加设备
export const configStoreDevice = params => {
return POST('POST', `${base}/storeDevice/configStoreDevice`, params).then(res => res.data);
}
//门店删除设备
export const delStoreDevice = params => {
return POST('POST', `${base}/storeDevice/delStoreDevice`, params).then(res => res.data);
}
//门店查看设备列表
export const getStoreDeviceList = params => {
return POST('GET', `${base}/storeDevice/getStoreDeviceList`, params).then(res => res.data);
}
//业务员查询统计
export const moveHomeCount = params => { export const moveHomeCount = params => {
return POST('POST', `${base}/salesman/moveHomeCount`, params).then(res => res.data); return POST('POST', `${base}/salesman/moveHomeCount`, params).then(res => res.data);
} }
//商户查询统计
export const mermoveHomeCount = params => {
return POST('POST', `${base}/mer/moveHomeCount`, params).then(res => res.data);
}
//门店查询统计
export const storemoveHomeCount = params => {
return POST('POST', `${base}/store/moveHomeCount`, params).then(res => res.data);
}
// 查询交易订单列表
export const getTradeOrderList = params => {
return POST('GET', `${base}/tradeOrder/getTradeOrderList`, params).then(res => res.data);
}

@ -20,9 +20,6 @@ const timeFormat = (value, format) => {
h < 10 ? "0" + h : h h < 10 ? "0" + h : h
}:${min < 10 ? "0" + min : min}:${s < 10 ? "0" + s : s}`; }:${min < 10 ? "0" + min : min}:${s < 10 ? "0" + s : s}`;
} }
if (format == "yyyy-mm-dd hh:mm") {
result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} `;
}
if (format == "yyyy-mm-dd") { if (format == "yyyy-mm-dd") {
result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} `; result = `${y}-${m < 10 ? "0" + m : m}-${d < 10 ? "0" + d : d} `;
} }

@ -162,6 +162,62 @@
} }
} }
,{
"path" : "pages/index/collectNotes/collectNotes",
"style" :
{
"navigationBarTextStyle": "white",
"navigationBarTitleText": "收款记录",
"onReachBottomDistance": 50,
"app-plus": {
"titleNView": false, //
"softinputNavBar": "none"
}
}
}
,{
"path" : "pages/index/doorManage/doorManage",
"style" :
{
"navigationBarTextStyle": "white",
"navigationBarTitleText": "门店管理",
"onReachBottomDistance": 50,
"app-plus": {
"titleNView": false, //
"softinputNavBar": "none"
}
}
}
,{
"path" : "pages/index/serviceBuild/serviceBuild",
"style" :
{
"navigationBarTextStyle": "white",
"navigationBarTitleText": "绑定设备",
"onReachBottomDistance": 50,
"app-plus": {
"titleNView": false, //
"softinputNavBar": "none"
}
}
}
,{
"path" : "pages/index/addService/addService",
"style" :
{
"navigationBarTextStyle": "white",
"navigationBarTitleText": "绑定设备",
"onReachBottomDistance": 50,
"app-plus": {
"titleNView": false, //
"softinputNavBar": "none"
}
}
}
], ],
"subpackages": [{ "subpackages": [{
"root": "subPages", "root": "subPages",

@ -0,0 +1,95 @@
<template>
<view>
<view class="contents">
<input class="inputs" maxlength="20" v-model="codenums" placeholder-style="color:#ffffff;"
placeholder="请输入设备的SN号" />
<button class="btns" @click="configStoreDevice">确认</button>
</view>
</view>
</template>
<script>
import {
configStoreDevice
} from '../../../Utils/Api.js';
let app = getApp();
export default {
data() {
return {
codenums: '', //sn
userInfo: app.globalData.userInfo
}
},
methods: {
//
configStoreDevice() {
if (!this.codenums) {
uni.showToast({
title: '请填写设备SN号',
icon: "none",
duration: 2000
});
return;
}
uni.showLoading({
title: '提交中...'
})
let params = {
storeId: this.userInfo.store.id,
deviceSn: this.codenums
}
configStoreDevice(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({
title: '绑定成功',
icon: 'none',
duration: 2000,
success() {
setTimeout(() => {
uni.navigateBack({})
}, 1000);
}
})
} else {
uni.showToast({
title: res.return_msg,
icon: 'none',
duration: 2000
})
}
});
},
}
}
</script>
<style lang="scss">
.contents {
position: relative;
top: 240rpx;
}
.inputs {
height: 50px;
line-height: 50px;
background-color: #b4d5fb;
width: 86%;
margin-left: 6%;
padding-left: 10px;
border-radius: 5px;
color: white;
font-size: 20px;
}
.btns {
margin-top: 200rpx;
width: 60%;
margin-left: 20%;
height: 50px;
line-height: 50px;
background-color: #0083f5;
color: #FFFFFF;
font-weight: bold;
}
</style>

@ -1,22 +1,86 @@
<template> <template>
<view> <view>
<view class="width100 mart10 backcorfff"> <view class="width100 mart10 backcorfff">
<view class="storename"> <view class="titlename fcor666">营业执照</view>
<view class="namecont">门店账号</view> <view class="width94 displ">
<input placeholder="请输入门店账号" v-model="storeaccount" style="width: 70%;" <image :src="imgsUrl+businimg" v-if="businimg" mode="widthFix" class="width45" style="margin-left: 3%;"
@click="upload(1)"></image>
<image src="../../../static/img/businesslic.png" v-else mode="widthFix" class="width45"
style="margin-left: 3%;" @click="upload(1)"></image>
<image src="../../../static/img/businesslic1.png" mode="widthFix" class="width45"
style="margin-left: 3%;" @click="perImage('../../../static/img/businesslic1.png')"></image>
</view>
<view class="username" style="border-bottom: 0px;">
<view class="namecont">公司名称</view>
<input placeholder="请输入营业执照上的名称" v-model="companyname" style="width: 70%;"
placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
</view>
<view class="notes font13" style="color: #eb5823;border-bottom: 1px solid #f6f6f6;">
<image mode="widthFix" class="iconw" src="../../../static/img/gth.png"></image> 公司名称应与营业执照一致
</view>
<view class="username">
<view class="namecont">营业执照号</view>
<input placeholder="请输入营业执照号" v-model="businnum" style="width: 70%;"
placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
</view>
<view class="username">
<view class="namecont">注册地址</view>
<input placeholder="请输入注册地址" v-model="regaddress" style="width: 70%;"
placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" /> placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
</view> </view>
<view class="storename"> <view class="username" style="border-bottom: 0px;">
<view class="namecont">门店密码</view> <view class="namecont">营业期限</view>
<input placeholder="请输入门店密码" v-model="storepasd" style="width: 70%;" <view class="width30 aliitem" @tap="timetype='1'">
<radio class="checbox" :checked="timetype == '1'" color="#0083f5" /> 选择时间
</view>
<view class="width30 aliitem" @tap="timetype='2'">
<radio class="checbox" :checked="timetype == '2'" color="#0083f5" /> 长期有效
</view>
</view>
<view class="username width80">
<picker mode="date" class="width40 fotct" :value="start_date" :start="startDate" :end="endDate"
@change="bindDateChange">
<view class="date">{{start_date}}</view>
</picker>
<view class="width10 fotct"></view>
<picker v-if="timetype == '1'" mode="date" class="width40 fotct" :value="end_date" :start="startDate"
:end="endDate" @change="bindDateChange2">
<view class="date">{{end_date}}</view>
</picker>
<view class="width40 fotct fcor999" v-if="timetype == '2' ">长期有效</view>
</view>
<view class="username">
<view class="namecont">行业类目</view>
<input placeholder="请选择类目" v-model="industrycategory" style="width: 70%;" disabled="true"
@click="showjob()" placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
<image src="../../../static/img/jtg.png" mode="widthFix" class="iconw"></image>
</view>
<view class="username">
<view class="namecont">经营地区</view>
<pickRegions :defaultRegion="defaultRegionCode" class="width70" @getRegion="handleGetRegion">
<view style="color: #333333;font-size:14px;padding-top:2px;" v-if="regionName">
{{regionName}}
</view>
<view style="color: #bfbfbf;font-size:14px;padding-top:2px;" v-else>请选择经营地区</view>
</pickRegions>
<image src="../../../static/img/jtg.png" mode="widthFix" class="iconw"></image>
</view>
<view class="username">
<view class="namecont">详情地址</view>
<input placeholder="请精确到XX路XX号" v-model="detailsaddress" style="width: 70%;"
placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" /> placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
</view> </view>
<view class="storename"> <view class="username">
<view class="namecont">门店账号</view>
<input placeholder="请输入门店账号" v-model="storeaccount" style="width: 70%;"
placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
</view>
<view class="username">
<view class="namecont">门店名称</view> <view class="namecont">门店名称</view>
<input placeholder="请输入门店名称" v-model="storename" style="width: 70%;" <input placeholder="请输入门店名称" v-model="storename" style="width: 70%;"
placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" /> placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
</view> </view>
<view class="storename"> <view class="username">
<view class="namecont">门店电话</view> <view class="namecont">门店电话</view>
<input placeholder="请输入门店电话" v-model="storephone" style="width: 70%;" <input placeholder="请输入门店电话" v-model="storephone" style="width: 70%;"
placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" /> placeholder-style="color: #bfbfbf;font-size:14px;padding-top:2px;" />
@ -27,56 +91,474 @@
</view> </view>
</view> </view>
<view class="width94 displ mart5"> <view class="width94 displ mart5">
<image src="../../../static/img/store/store1.png" mode="widthFix" class="width45" <image :src="imgsUrl+storeimg1" v-if="storeimg1" mode="widthFix" class="width45"
style="margin-left: 3%;"></image> style="margin-left: 3%;" @click="upload(6)"></image>
<image src="../../../static/img/store/store1.png" v-else mode="widthFix" class="width45"
style="margin-left: 3%;" @click="upload(6)"></image>
<image src="../../../static/img/store/store2.png" mode="widthFix" class="width45" <image src="../../../static/img/store/store2.png" mode="widthFix" class="width45"
@click="perImage('../../../static/img/store/store2.png')" style="margin-left: 3%;"></image> @click="perImage('../../../static/img/store/store2.png')" style="margin-left: 3%;"></image>
</view> </view>
<view class="width94 displ mart5"> <view class="width94 displ mart5">
<image src="../../../static/img/store/store3.png" mode="widthFix" class="width45" <image :src="imgsUrl+storeimg2" v-if="storeimg2" mode="widthFix" class="width45"
style="margin-left: 3%;"></image> style="margin-left: 3%;" @click="upload(7)"></image>
<image src="../../../static/img/store/store3.png" v-else mode="widthFix" class="width45"
style="margin-left: 3%;" @click="upload(7)"></image>
<image src="../../../static/img/store/store4.png" mode="widthFix" class="width45" <image src="../../../static/img/store/store4.png" mode="widthFix" class="width45"
@click="perImage('../../../static/img/store/store4.png')" style="margin-left: 3%;"></image> @click="perImage('../../../static/img/store/store4.png')" style="margin-left: 3%;"></image>
</view> </view>
<view class="width94 displ mart5 marb15"> <view class="width94 displ mart5 marb15">
<image src="../../../static/img/store/store5.png" mode="widthFix" class="width45" <image :src="imgsUrl+storeimg3" v-if="storeimg3" mode="widthFix" class="width45"
style="margin-left: 3%;"></image> style="margin-left: 3%;" @click="upload(8)"></image>
<image src="../../../static/img/store/store5.png" v-else mode="widthFix" class="width45"
style="margin-left: 3%;" @click="upload(8)"></image>
<image src="../../../static/img/store/store6.png" mode="widthFix" class="width45" <image src="../../../static/img/store/store6.png" mode="widthFix" class="width45"
@click="perImage('../../../static/img/store/store6.png')" style="margin-left: 3%;"></image> @click="perImage('../../../static/img/store/store6.png')" style="margin-left: 3%;"></image>
</view> </view>
</view> </view>
<view class="btn" @tap="configStore">提交</view>
<view class="height60"></view>
</view> </view>
</template> </template>
<script> <script>
import {
recognizeBusinessLicense,
configStore
} from '../../../Utils/Api.js';
import pickRegions from '../../../components/pick-regions/pick-regions.vue';
let app = getApp();
export default { export default {
components: {
pickRegions
},
data() { data() {
return { return {
reqUrl: app.globalData.url, //
imgsUrl: app.globalData.imgUrl, //访
businessLicenselist: [], //
businimg: '', //
companyname: '', //
businnum: '', //
regaddress: '', //
industrycategory: '', //
inducateid: '', //id
detailsaddress: '', //
timetype: '1', // times: longterm:
start_date: '开始时间', //
end_date: '结束时间', //
region: [], //
areaCode: '', //
defaultRegion: ['北京市', '市辖区', '东城区'], //
defaultRegionCode: '110101', //
storeaccount: '', // storeaccount: '', //
storepasd: '', //
storename: '', // storename: '', //
storephone: '', // storephone: '', //
storeimg1: '', // storeimg1: '', //
storeimg2: '', //
storeimg3: '', //
userInfo: app.globalData.userInfo
}
},
computed: {
//
startDate() {
return this.getDate('start');
},
//
endDate() {
return this.getDate('end');
},
//
regionName() {
//
this.areaCode = this.region.map(item => item.code)[2];
return this.region.map(item => item.name).join('-');
} }
}, },
methods: { methods: {
/** //
* @param {Object} item 放大图片 bindDateChange: function(e) {
*/ this.start_date = e.target.value;
},
//
bindDateChange2: function(e) {
this.end_date = e.target.value;
},
//
getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === 'start') {
year = year - 60;
} else if (type === 'end') {
year = year + 2;
}
month = month > 9 ? month : '0' + month;
day = day > 9 ? day : '0' + day;
return `${year}-${month}-${day}`;
},
//
handleGetRegion(region) {
this.region = region;
},
//
perImage(item) { perImage(item) {
uni.previewImage({ uni.previewImage({
current: 0, // current: 0, //
urls: [item] // urls: [item] //
}) })
}, },
//
upload(item) {
let that = this;
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'], //
sourceType: ['album', 'camera'], //
success: function(res) {
const tempFilePaths = res.tempFilePaths;
const uploadTask = uni.uploadFile({
url: that.reqUrl + '/mer/uploadfile?merId=' + that.userInfo.mer.id,
filePath: tempFilePaths[0],
header: {
"Authorization": app.globalData.token
},
name: 'image',
formData: {
files: tempFilePaths[0]
},
success: function(uploadFileRes) {
if (item == 1) {
that.recognizeBusinessLicense(JSON.parse(uploadFileRes.data)
.return_data[0]);
}
if (item == 6) {
that.storeimg1 = JSON.parse(uploadFileRes.data).return_data[0];
}
if (item == 7) {
that.storeimg2 = JSON.parse(uploadFileRes.data).return_data[0];
}
if (item == 8) {
that.storeimg3 = JSON.parse(uploadFileRes.data).return_data[0];
}
}
});
},
error: function(e) {
console.log(e);
}
});
},
onShow() {
if (app.globalData.businessid) {
this.industrycategory = app.globalData.businessname;
this.inducateid = app.globalData.businessid;
}
},
//
recognizeBusinessLicense(item) {
uni.showLoading({
title: '识别中...'
})
let params = {
url: this.imgsUrl + item
}
recognizeBusinessLicense(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000' && res.return_data) {
this.businimg = item;
this.businessLicenselist = JSON.parse(res.return_data.data).data;
this.companyname = this.businessLicenselist.companyName;
this.detailsaddress = this.businessLicenselist.businessAddress;
this.businnum = this.businessLicenselist.creditCode;
this.regaddress = this.businessLicenselist.businessAddress;
this.start_date = this.businessLicenselist.RegistrationDate;
let times = this.businessLicenselist.validPeriod.split('至');
if (times[1] == '永久') {
this.timetype = '2';
}
} else {
uni.showToast({
title: '请上传正确的营业执照',
duration: 2000,
icon: 'none'
})
}
})
},
//
showjob() {
uni.navigateTo({
url: '../business-category/business-category'
})
},
//
configStore() {
let that = this;
if (!that.businimg) {
uni.showToast({
title: '请上传营业执照',
icon: "none",
duration: 2000
});
return;
}
if (!that.businnum) {
uni.showToast({
title: '请填写营业执照号',
icon: "none",
duration: 2000
});
return;
}
if (!that.regaddress) {
uni.showToast({
title: '请填写注册地址',
icon: "none",
duration: 2000
});
return;
}
if (!that.start_date) {
uni.showToast({
title: '请填写营业执照开始时间',
icon: "none",
duration: 2000
});
return;
}
if (!that.end_date) {
uni.showToast({
title: '请填写营业执照结束时间',
icon: "none",
duration: 2000
});
return;
}
if (!that.companyname) {
uni.showToast({
title: '请填写公司名称',
icon: "none",
duration: 2000
});
return;
}
if (!that.inducateid) {
uni.showToast({
title: '请选择行业类目',
icon: "none",
duration: 2000
});
return;
}
if (!that.areaCode) {
uni.showToast({
title: '请选择经营地区',
icon: "none",
duration: 2000
});
return;
}
if (!that.detailsaddress) {
uni.showToast({
title: '请填写详情地址',
icon: "none",
duration: 2000
});
return;
}
if (!that.storeaccount) {
uni.showToast({
title: '请填写门店账号',
icon: "none",
duration: 2000
});
return;
}
if (!that.storename) {
uni.showToast({
title: '请填写门店名称',
icon: "none",
duration: 2000
});
return;
}
if (!that.storephone) {
uni.showToast({
title: '请填写门店电话',
icon: "none",
duration: 2000
});
return;
}
if (!that.storeimg1) {
uni.showToast({
title: '请上传门头照片',
icon: "none",
duration: 2000
});
return;
}
if (!that.storeimg2) {
uni.showToast({
title: '请上传收银台照片',
icon: "none",
duration: 2000
});
return;
}
if (!that.storeimg3) {
uni.showToast({
title: '请上传室内照片',
icon: "none",
duration: 2000
});
return;
}
if (that.timetype == 2) {
that.end_date = '长期有效'
}
uni.showModal({
title: '提交门店',
content: '确认信息是否正确。',
success: (res) => {
if (res.confirm) {
uni.showLoading({
title: '提交中...'
})
let datas = {
"account": {
"loginName": that.storeaccount
},
"name": that.storename,
"telephone": that.storephone,
"doorHeadImg": that.storeimg1,
"cashRegisterImg": that.storeimg2,
"internalImg": that.storeimg3,
"blisUrl": that.businimg,
"blisName": that.companyname,
"blisNo": that.businnum,
"blisPeriodStart": that.start_date,
"blisPeriodType": that.timetype, // 1 2
"blisPeriodEnd": that.end_date,
"blisRegAddress": that.regaddress,
"merId": that.userInfo.mer.id,
"storeIndustry": {
"childId": that.inducateid
},
"storeRegion": {
"areaCode": that.areaCode,
"address": that.detailsaddress
}
}
configStore(datas).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({
title: '提交成功',
icon: 'none',
duration: 2000,
success() {
setTimeout(() => {
uni.navigateBack({})
}, 1000);
}
})
} else {
uni.showToast({
title: res.return_msg,
icon: 'none',
duration: 2000
})
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.btn {
color: #FFFFFF;
background-color: #0083f5;
width: 90%;
margin-left: 5%;
margin-top: 80rpx;
margin-bottom: 50rpx;
height: 90rpx;
display: flex;
justify-content: center;
align-items: center;
border-radius: 10rpx;
font-size: 40rpx;
}
.titlename {
width: calc(100% - 90upx);
height: 100upx;
display: flex;
align-items: center;
background-color: rgba($color: #ffffff, $alpha: 0.1);
padding: 0 45upx;
}
.username {
width: calc(100% - 90upx);
height: 100upx;
display: flex;
align-items: center;
background-color: rgba($color: #ffffff, $alpha: 0.1);
border-bottom: 1px solid #f6f6f6;
padding: 8upx 45upx;
input {
width: 50%;
height: 50upx;
font-size: 16px;
color: #333333;
font-weight: blod;
}
.get-code {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
right: 7px;
z-index: 3;
border: 1px solid #bfbfbf;
width: 25%;
padding: 3px 5px;
border-radius: 22px;
&:after {
content: " ";
width: 1upx;
height: 50upx;
position: absolute;
z-index: 3;
margin-right: 100%;
left: 0;
top: 20upx;
}
}
.namecont {
color: #666666;
width: 28%;
}
}
.storename { .storename {
width: calc(100% - 40upx); width: calc(100% - 40upx);
height: 100upx; height: 100upx;

@ -0,0 +1,62 @@
<template>
<view>
<view v-if="!notesList" class="mart60 fotct font14 fcor666">
<image mode="widthFix" style="width: 70vw;" src="../../../static/img/noorder.png"></image>
</view>
<view class="height90 width94 backcorfff mart20" v-for="(item,index) in notesList" :key="index">
<view class="font24 fcor333 paddtop10 padleft15">¥ <text
class="font306adb fontwig6 margle font28">{{item.tradeAmount}}</text></view>
<view class="mart10 fcor666 padleft15 font15">{{item.createTime | timeFormat('yyyy-mm-dd')}}
{{item.createTime | timeFormat('hh:mm')}}</view>
</view>
</view>
</template>
<script>
import {
getTradeOrderList
} from '../../../Utils/Api.js';
export default {
data() {
return {
notesList: []
}
},
onLoad() {
this.getTradeOrderList();
},
methods: {
getTradeOrderList() {
uni.showLoading({
title: '加载中...'
})
let datas = {
pageNum: 1,
pageSize: 10
}
getTradeOrderList(datas).then(res => {
uni.hideLoading();
if (res.return_code == '000000' && res.return_data.pageInfo.list) {
this.notesList = res.return_data.pageInfo.list;
} else {
uni.showToast({
title: res.return_msg,
duration: 2000,
icon: 'none'
})
}
})
},
}
}
</script>
<style lang="scss">
page {
background-color: #f8f9f9;
}
.font306adb {
color: #306adb;
}
</style>

@ -0,0 +1,136 @@
<template>
<view>
<view v-if="!storeList" class="mart60 fotct font14 fcor666">
<image mode="widthFix" style="width: 70vw;" src="../../../static/img/noorder.png"></image>
</view>
<view class="width94 backcorfff border-r mart15" v-for="(item,index) in storeList" :key="index"
@click="jumpstoredes(item.id)">
<view class="notes" style="border-bottom: 0px;">
<image src="../../../static/img/store/store7.png" mode="widthFix" class="iconw40"></image>
<view class="width65 margle">
<view class="font14 fcor333">{{item.name}}</view>
<view class="font12 fcor999">{{item.createTime | timeFormat('yyyy-mm-dd')}}
{{item.createTime | timeFormat('hh:mm')}}
</view>
</view>
<view class="storestus" v-if="item.status == 1">
正常
</view>
<view class="otstatucs" v-if="item.status == 2">
停用
</view>
</view>
<view class="conts" style="border-bottom: 0px;">
<image src="../../../static/img/store/store8.png" mode="widthFix" class="iconw"></image>
<view class="margle10 font14 fcor999">{{item.account.telephone}}</view>
</view>
<view class="conts" style="border-bottom: 0px;">
<image src="../../../static/img/store/store9.png" mode="widthFix" class="iconw"></image>
<view class="margle10 font14 fcor999">{{item.telephone}}</view>
</view>
<view class="conts" style="border-bottom: 0px;">
<image src="../../../static/img/store/store10.png" mode="widthFix" class="iconw"></image>
<view class="margle10 font14 fcor999 width90p">{{item.storeRegion.address}}</view>
</view>
</view>
<image src="../../../static/img/addser.png" mode="widthFix" class="xfimg" @click="jumpaddstore"></image>
</view>
</template>
<script>
import {
getStoreListByMer
} from '../../../Utils/Api.js';
let app = getApp();
export default {
data() {
return {
storeList: [],
userInfo: app.globalData.userInfo
}
},
onShow() {
this.storeList = [];
this.getStoreListByMer();
},
methods: {
//
jumpstoredes(item) {
uni.navigateTo({
url: '../store-details/store-details?id=' + item
})
},
//
getStoreListByMer() {
uni.showLoading({
title: '加载中...'
})
let datas = {
merId: this.userInfo.mer.id,
pageNum: 1,
pageSize: 10
}
getStoreListByMer(datas).then(res => {
uni.hideLoading();
if (res.return_code == '000000' && res.return_data.list) {
this.storeList = res.return_data.list;
} else {
uni.showToast({
title: res.return_msg,
duration: 2000,
icon: 'none'
})
}
})
},
//
jumpaddstore() {
uni.navigateTo({
url: '../addStore/addStore'
})
}
}
}
</script>
<style lang="scss">
page {
background-color: #f6f6f6;
}
.notes {
width: calc(100% - 40rpx);
display: flex;
align-items: center;
padding: 30rpx 0 30rpx 20rpx;
border-bottom: 1px solid #f6f6f6;
}
.storestus {
padding: 1px 5px;
color: #91bb88;
font-size: 14px;
background-color: #e8fbe6;
}
.otstatucs {
background-color: #fbeee4;
color: #db8c73;
font-size: 14px;
padding: 1px 5px;
}
.conts {
width: calc(100% - 60rpx);
display: flex;
align-items: center;
padding: 0 30rpx 10rpx 30rpx;
}
.xfimg {
width: 100rpx;
bottom: 60rpx;
position: fixed;
right: 40rpx;
}
</style>

@ -5,7 +5,7 @@
</unisearchbar> </unisearchbar>
<!-- 商户名字 --> <!-- 商户名字 -->
<view class="mart20 width100"> <view class="mart20 width100">
<view class=" mcclist font15 fcor666" v-for="(item,index) in mccList" @click="changemcc(item)"> <view class=" mcclist font15 fcor666" v-for="(item,index) in mccList" :key="index" @click="changemcc(item)">
{{item.maccCode}} {{item.maccCode}}
</view> </view>
</view> </view>

@ -51,7 +51,7 @@
<image src="../../../static/img/store/store7.png" mode="widthFix" class="iconw40"></image> <image src="../../../static/img/store/store7.png" mode="widthFix" class="iconw40"></image>
<view class="width65 margle"> <view class="width65 margle">
<view class="font14 fcor333">{{item.name}}</view> <view class="font14 fcor333">{{item.name}}</view>
<view class="font12 fcor999">{{item.updateTime | timeFormat('yyyy-mm-dd hh:mm')}} <view class="font12 fcor999">{{item.updateTime | timeFormat('yyyy-mm-dd')}}
{{item.updateTime | timeFormat('hh:mm')}} {{item.updateTime | timeFormat('hh:mm')}}
</view> </view>
</view> </view>

@ -1008,6 +1008,9 @@
this.regaddress = this.businessLicenselist.businessAddress; this.regaddress = this.businessLicenselist.businessAddress;
this.start_date = this.businessLicenselist.RegistrationDate; this.start_date = this.businessLicenselist.RegistrationDate;
let times = this.businessLicenselist.validPeriod.split('至'); let times = this.businessLicenselist.validPeriod.split('至');
if (times == '长期') {
this.timetype = '2';
}
if (times[1] == '永久') { if (times[1] == '永久') {
this.timetype = '2'; this.timetype = '2';
} }
@ -1178,9 +1181,15 @@
this.companyname = res.return_data.blisName; this.companyname = res.return_data.blisName;
this.businnum = res.return_data.blisNo this.businnum = res.return_data.blisNo
this.regaddress = res.return_data.blisRegAddress; this.regaddress = res.return_data.blisRegAddress;
this.start_date = res.return_data.blisPeriodStart if(res.return_data.blisPeriodStart){
this.start_date = res.return_data.blisPeriodStart;
}
if(res.return_data.blisPeriodType){
this.timetype = res.return_data.blisPeriodType; this.timetype = res.return_data.blisPeriodType;
}
if(res.return_data.blisPeriodEnd){
this.end_date = res.return_data.blisPeriodEnd; this.end_date = res.return_data.blisPeriodEnd;
}
this.inducateid = res.return_data.merIndustry.childId; this.inducateid = res.return_data.merIndustry.childId;
this.industrycategory = res.return_data.merIndustry.childName; this.industrycategory = res.return_data.merIndustry.childName;
this.detailsaddress = res.return_data.merRegion.address; this.detailsaddress = res.return_data.merRegion.address;

@ -17,7 +17,7 @@
<view class="width65 margle"> <view class="width65 margle">
<view class="font14 fcor333">{{item.regPhone}}</view> <view class="font14 fcor333">{{item.regPhone}}</view>
<view class="font12 fcor999"> <view class="font12 fcor999">
{{item.createTime | timeFormat('yyyy-mm-dd hh:mm')}} {{item.createTime | timeFormat('yyyy-mm-dd')}}
{{item.createTime | timeFormat('hh:mm')}} {{item.createTime | timeFormat('hh:mm')}}
</view> </view>
</view> </view>

@ -0,0 +1,145 @@
<template>
<view>
<view v-if="!serviceList" class="mart60 fotct font14 fcor666">
<image mode="widthFix" style="width: 70vw;" src="../../../static/img/noorder.png"></image>
</view>
<view class="height110 width94 backcorfff mart20" v-for="(item,index) in serviceList" :key="index">
<view class="font20 font306adb paddtop10 fontwig6 padleft15">{{item.deviceSn}}</view>
<view class="mart10 fcor666 padleft15 font14">绑定时间: {{item.createTime | timeFormat('yyyy-mm-dd')}}
{{item.createTime | timeFormat('hh:mm')}}
</view>
<button class="btns" @click="delStoreDevice(item.id)">删除设备</button>
</view>
<image src="../../../static/img/addser.png" mode="widthFix" class="xfimg" @click="jumpaddService"></image>
</view>
</template>
<script>
import {
getStoreDeviceList,
delStoreDevice
} from '../../../Utils/Api.js';
let app = getApp();
export default {
data() {
return {
serviceList: [],
pageNum: 1,
pagesize: 15,
isLoadMore: false, //
userInfo: app.globalData.userInfo
}
},
onReachBottom() { //
if (!this.isLoadMore) { //
this.isLoadMore = true
this.pageNum += 1
this.getStoreDeviceList()
}
},
onShow() {
this.serviceList = [];
this.getStoreDeviceList();
},
methods: {
//
jumpaddService() {
uni.navigateTo({
url: '../addService/addService'
})
},
//
getStoreDeviceList() {
let params = {
pageNum: this.pageNum,
pageSize: this.pagesize,
storeId: this.userInfo.store.id
}
getStoreDeviceList(params).then(res => {
if (res.return_code == '000000' && res.return_data.list) {
this.serviceList = this.serviceList.concat(res.return_data.list);
if (res.return_data.pages == this.pageNum) {
this.isLoadMore = true;
} else {
this.isLoadMore = false
}
} else {
this.isLoadMore = true
}
});
},
//
delStoreDevice(item) {
let that = this;
uni.showModal({
title: '删除设备',
content: '是否删除当前设备呢。',
success: (res) => {
if (res.confirm) {
uni.showLoading({
title: '提交中...'
})
let params = {
id: item
}
delStoreDevice(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({
title: '提交成功',
icon: 'none',
duration: 2000,
success() {
setTimeout(() => {
that.serviceList = [];
that.pageNum = 1;
that.isLoadMore = false;
that.getStoreDeviceList();
}, 1000);
}
})
} else {
uni.showToast({
title: res.return_msg,
icon: 'none',
duration: 2000
})
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
}
}
</script>
<style lang="scss">
page {
background-color: #f8f9f9;
}
.font306adb {
color: #306adb;
}
.xfimg {
width: 100rpx;
bottom: 60rpx;
position: fixed;
right: 40rpx;
}
.btns {
width: 25%;
margin-left: 68%;
height: 35px;
line-height: 35px;
background-color: #0083f5;
color: #FFFFFF;
font-weight: bold;
font-size: 14px;
}
</style>

@ -32,7 +32,7 @@
<view class="storelis"> <view class="storelis">
<view class="namecont">创建时间</view> <view class="namecont">创建时间</view>
<view class="font14 fcor333 text2 width75 fotrt"> <view class="font14 fcor333 text2 width75 fotrt">
{{storeDesInfo.updateTime | timeFormat('yyyy-mm-dd hh:mm')}} {{storeDesInfo.updateTime | timeFormat('yyyy-mm-dd')}}
{{storeDesInfo.updateTime | timeFormat('hh:mm')}} {{storeDesInfo.updateTime | timeFormat('hh:mm')}}
</view> </view>
</view> </view>

@ -2,16 +2,19 @@
<view> <view>
<image mode="widthFix" class="width100 headimg" src="../../../static/img/head.png"></image> <image mode="widthFix" class="width100 headimg" src="../../../static/img/head.png"></image>
<view class="headcont fotct" @click="jumpdesfun('../../tabBar/user/user')"> <view class="headcont fotct" @click="jumpdesfun('../../tabBar/user/user')">
<view class="width94 fcorfff font18 alijus">{{userInfo.secUser.userName}}<image mode="widthFix" class="margle iconw" <view class="width94 fcorfff font18 alijus">{{userInfo.secUser.userName}}
src="../../../static/img/jt.png"></image> <image mode="widthFix" class="margle iconw" src="../../../static/img/jt.png"></image>
</view> </view>
<!-- 业务员 --> <!-- 业务员 -->
<view class="font28 fcorfff mart20 width94">总收益</view> <view class="font28 fcorfff mart20 width94" v-if="userInfo.secUser.objectType == 3">总收益</view>
<view class="font28 fcorfff mart15 width94" v-if="userInfo.secUser.objectType == 3">¥<text
class="margle font40">0.00</text></view>
<!-- 非业务员 --> <!-- 非业务员 -->
<!-- <view class="font28 fcorfff mart20 width94">今日总收入</view> --> <view class="font15 height40 fcorfff mart20 width94" v-if="userInfo.secUser.objectType != 3">今日总收入</view>
<view class="font40 fcorfff mart15 width94">¥ 0.00</view> <view class="font28 fcorfff mart15 width94" v-if="userInfo.secUser.objectType != 3">¥<text
class="margle font40">{{auditnum.tradePrice}}</text></view>
<!-- 业务员 --> <!-- 业务员 -->
<view class="width94 mart15"> <view class="width94 mart15" v-if="userInfo.secUser.objectType == 3">
<view class="width50 fcorfff font14 flleft"> <view class="width50 fcorfff font14 flleft">
<view class="width100">进件成功数量</view> <view class="width100">进件成功数量</view>
<view class="width100 mart15 font22">{{auditnum.contractSuccess}}</view> <view class="width100 mart15 font22">{{auditnum.contractSuccess}}</view>
@ -22,16 +25,16 @@
</view> </view>
</view> </view>
<!-- 非业务员 --> <!-- 非业务员 -->
<!-- <view class="width94 mart15"> <view class="width94 mart15" v-if="userInfo.secUser.objectType != 3">
<view class="width50 fcorfff font14 flleft"> <view class="width50 fcorfff font14 flleft">
<view class="width100">收款笔数</view> <view class="width100">收款笔数</view>
<view class="width100 mart15 font22">0</view> <view class="width100 mart15 font22">{{auditnum.tradeSum}}</view>
</view> </view>
<view class="width48 fcorfff font14 flright"> <view class="width48 fcorfff font14 flright">
<view class="width100">退款笔数</view> <view class="width100">退款笔数</view>
<view class="width100 mart15 font22">0</view> <view class="width100 mart15 font22">{{auditnum.refundTradeSum}}</view>
</view>
</view> </view>
</view> -->
</view> </view>
<!-- 消息中心 --> <!-- 消息中心 -->
<view class="width100 backcorfff mart145" @click="jumpmescon"> <view class="width100 backcorfff mart145" @click="jumpmescon">
@ -44,84 +47,122 @@
<!-- 菜单功能 --> <!-- 菜单功能 -->
<view class="width100 line10"></view> <view class="width100 line10"></view>
<view class="funcss" v-for="(item,index) in funcList" :key="index" @click="jumpdesfun(item.url)"> <view class="funcss" v-for="(item,index) in funcList" :key="index" @click="jumpdesfun(item.url)">
<image src="../../../static/img/mer6.png" mode="widthFix" class="funicon"></image> <image :src="item.img" mode="widthFix" class="funicon"></image>
<view class="width100 font13">{{item.title}}</view> <view class="width100 font14 mart5">{{item.title}}</view>
</view> </view>
<view class="width100 height40p"></view> <view class="width100 height40p"></view>
</view> </view>
</template> </template>
<script> <script>
import {getDiscountList,moveHomeCount} from '../../../Utils/Api.js' import {
// getDiscountList,
moveHomeCount,
mermoveHomeCount,
storemoveHomeCount
} from '../../../Utils/Api.js'
let app = getApp(); let app = getApp();
export default { export default {
data() { data() {
return { return {
funcList: [ funcList: [],
// {
// title: '',
// url: '../../index/merchant-incoming-parts/merchant-incoming-parts',
// img: ''
// },
// {
// title: '',
// url: '../../index/merchant-management/merchant-management',
// img: ''
// },
// {
// title: '',
// url: '../../index/addStore/addStore',
// img: ''
// },
// {
// title: '',
// url: '../../index/merchant-list/merchant-list',
// img: ''
// },{
// title: '',
// url: '../../index/collection-record/collection-record',
// img: ''
// },
],
userInfo: app.globalData.userInfo, // userInfo: app.globalData.userInfo, //
auditnum: '' // auditnum: '' //
}; };
}, },
onLoad() { onLoad() {
//
if (this.userInfo.secUser.objectType == 3) { if (this.userInfo.secUser.objectType == 3) {
this.funcList = [{ this.funcList = [{
title: '新增商户', title: '新增商户',
url: '../../index/merchant-incoming-parts/merchant-incoming-parts', url: '../../index/merchant-incoming-parts/merchant-incoming-parts',
img: '' img: '../../../static/img/home3.png'
}, },
{ {
title: '商户管理', title: '商户管理',
url: '../../index/merchant-management/merchant-management', url: '../../index/merchant-management/merchant-management',
img: '' img: '../../../static/img/home4.png'
}]
} }
]
return;
}
//
if (this.userInfo.secUser.objectType == 4) {
this.funcList = [{
title: '收款记录',
url: '../../index/collectNotes/collectNotes',
img: '../../../static/img/home1.png'
},
{
title: '门店管理',
url: '../../index/doorManage/doorManage',
img: '../../../static/img/home3.png'
}
]
return;
}
//
if (this.userInfo.secUser.objectType == 5) {
this.funcList = [{
title: '收款记录',
url: '../../index/collectNotes/collectNotes',
img: '../../../static/img/home1.png'
},
{
title: '绑定设备',
url: '../../index/serviceBuild/serviceBuild',
img: '../../../static/img/home2.png'
}
]
return;
}
}, },
onShow() { onShow() {
if (this.userInfo.secUser.objectType == 3) {
this.moveHomeCount(); this.moveHomeCount();
}
if (this.userInfo.secUser.objectType == 4) {
this.mermoveHomeCount();
}
if (this.userInfo.secUser.objectType == 5) {
this.storemoveHomeCount();
}
}, },
methods: { methods: {
getDiscountList() { // getDiscountList() {
let params = { // let params = {
pageNum: 1, // pageNum: 1,
pageSize: 10 // pageSize: 10
// }
// getDiscountList(params).then(res => {
// if (res.return_code == '000000') {
// }
// })
// },
//
moveHomeCount() {
moveHomeCount().then(res => {
if (res.return_code == '000000') {
this.auditnum = res.return_data;
} }
getDiscountList(params).then(res => { })
},
//
mermoveHomeCount() {
mermoveHomeCount().then(res => {
if (res.return_code == '000000') { if (res.return_code == '000000') {
this.auditnum = res.return_data.today;
} }
}) })
}, },
// //
moveHomeCount(){ storemoveHomeCount() {
moveHomeCount().then(res => { storemoveHomeCount().then(res => {
if (res.return_code == '000000') { if (res.return_code == '000000') {
this.auditnum = res.return_data; this.auditnum = res.return_data.today;
} }
}) })
}, },
@ -179,7 +220,7 @@
display: inline-block; display: inline-block;
.funicon { .funicon {
width: 40px; width: 35px;
padding-top: 15px; padding-top: 15px;
} }
} }

@ -5,7 +5,7 @@
<view class="width94 fcor999 font14 paddtop10">xxx</view> <view class="width94 fcor999 font14 paddtop10">xxx</view>
<view class="width94 fcor999 font14 paddtop10">名称{{userInfo.secRole.roleName}}</view> <view class="width94 fcor999 font14 paddtop10">名称{{userInfo.secRole.roleName}}</view>
</view> </view>
<view class="width100 backcorfff mart15"> <view class="width100 backcorfff mart15" @click="jumpbankjs">
<view class="notes"> <view class="notes">
<view class="fcor666 width90p">结算银行账户</view> <view class="fcor666 width90p">结算银行账户</view>
<image src="../../../static/img/jtg.png" mode="widthFix" class="iconw"></image> <image src="../../../static/img/jtg.png" mode="widthFix" class="iconw"></image>
@ -67,6 +67,14 @@
} }
} }
}); });
},
//
jumpbankjs() {
uni.showToast({
title: '暂未开通',
duration: 2000,
icon: 'none'
})
} }
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@ -1,2 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>炫支付</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>炫支付</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/cweb/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/cweb/static/js/chunk-vendors.5a385107.js></script><script src=/cweb/static/js/index.2ecf215f.js></script></body></html> document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/cweb/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/cweb/static/js/chunk-vendors.5a385107.js></script><script src=/cweb/static/js/index.33a4581c.js></script></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.
Loading…
Cancel
Save