提交 9b4ac95d 编写于 作者: D devil_gong

百度小程序开发

上级 952a5688
......@@ -316,8 +316,8 @@ class ConfigService
$map = \base\GeoTransUtil::BdToGcj($v['lng'], $v['lat']);
if(isset($map['lng']) && isset($map['lat']))
{
$v['lng_gcj'] = $map['lng'];
$v['lat_gcj'] = $map['lat'];
$v['lng'] = $map['lng'];
$v['lat'] = $map['lat'];
}
}
}
......
......@@ -892,8 +892,8 @@ class OrderService
$map = \base\GeoTransUtil::BdToGcj($data['lng'], $data['lat']);
if(isset($map['lng']) && isset($map['lat']))
{
$data['lng_gcj'] = $map['lng'];
$data['lat_gcj'] = $map['lat'];
$data['lng'] = $map['lng'];
$data['lat'] = $map['lat'];
}
}
}
......
......@@ -107,8 +107,8 @@ Page({
return false;
}
var lng = parseFloat(ads.lng_gcj || 0);
var lat = parseFloat(ads.lat_gcj || 0);
var lng = parseFloat(ads.lng || 0);
var lat = parseFloat(ads.lat || 0);
if (lng <= 0 || lat <= 0) {
app.showToast("坐标有误");
return false;
......
......@@ -26,6 +26,13 @@
height: 85rpx;
line-height: 85rpx;
}
.address-alias {
border: 1px solid #d2364c;
color: #d2364c;
padding: 2rpx 10rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
/*
* 商品信息
......
......@@ -2,6 +2,7 @@
<!-- 地址 -->
<view a:if="{{detail.order_model == 0 || detail.order_model == 2}}" class="address bg-white spacing-mb">
<view class="address-base oh">
<text a:if="{{(detail.address_data.alias || null) != null}}" class="address-alias">{{detail.address_data.alias}}</text>
<text>{{detail.address_data.name}}</text>
<text class="fr">{{detail.address_data.tel}}</text>
</view>
......@@ -9,7 +10,7 @@
<image class="icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">
{{detail.address_data.province_name}}{{detail.address_data.city_name}}{{detail.address_data.county_name}}{{detail.address_data.address}}
<text a:if="{{detail.order_model == 2 && (detail.address_data.lng_gcj || 0) > 0 && (detail.address_data.lat_gcj || 0) > 0}}" class="cr-666 br address-map-submit" onTap="address_map_event">查看位置</text>
<text a:if="{{detail.order_model == 2 && (detail.address_data.lng || 0) > 0 && (detail.address_data.lat || 0) > 0}}" class="cr-666 br address-map-submit" onTap="address_map_event">查看位置</text>
</view>
</view>
</view>
......@@ -46,7 +47,7 @@
</view>
<view a:for="{{detail.items}}" class="item br-b-dashed oh">
<image class="left-image br fl" src="{{item.images}}" mode="aspectFill" />
<view class="right-value fr">
<view class="right-value oh">
<view a:if="{{(item.fictitious_goods_value || null) != null}}" class="rich-text-value">
<rich-text nodes="{{item.fictitious_goods_value}}"></rich-text>
</view>
......
......@@ -140,8 +140,8 @@ Page({
}
var ads = this.data.detail.address_data;
var lng = parseFloat(ads.lng_gcj || 0);
var lat = parseFloat(ads.lat_gcj || 0);
var lng = parseFloat(ads.lng || 0);
var lat = parseFloat(ads.lat || 0);
if (lng <= 0 || lat <= 0) {
app.showToast("坐标有误");
return false;
......
......@@ -62,7 +62,7 @@ App({
// 请求地址
request_url: "{{request_url}}",
// request_url: 'http://tp5-dev.com/',
request_url: 'http://tp5-dev.com/',
// request_url: 'https://test.shopxo.net/',
// 基础信息
......
......@@ -27,7 +27,8 @@
"pages/user-orderaftersale/user-orderaftersale",
"pages/user-orderaftersale-detail/user-orderaftersale-detail",
"pages/coupon/coupon",
"pages/user-coupon/user-coupon"
"pages/user-coupon/user-coupon",
"pages/extraction-address/extraction-address"
],
"window": {
"navigationBarTitleText": "{{application_title}}",
......
......@@ -12,7 +12,7 @@
padding: 10rpx 35rpx 10rpx 10rpx;
}
.address-detail .icon {
width: 35rpx;
width: 30rpx;
height: 35rpx !important;
}
.address-detail .text {
......@@ -30,6 +30,13 @@
height: 85rpx;
line-height: 85rpx;
}
.address-alias {
border: 1px solid #d2364c;
color: #d2364c;
padding: 2rpx 10rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
/**
* 商品
......@@ -130,9 +137,8 @@
.content-textarea-view textarea {
height: 180rpx;
}
.content-textarea-view textarea,
.content-textarea-view view {
padding: 10rpx;
padding: 12rpx;
}
/**
......
......@@ -8,31 +8,25 @@ Page({
payment_list: [],
goods_list: [],
address: null,
address_id: 0,
address_id: null,
total_price: 0,
user_note_value: '',
is_first: 1,
extension_data: [],
payment_id: 0,
common_order_is_booking: 0,
common_site_type: 0,
extraction_address: [],
// 优惠劵
plugins_coupon_data: null,
plugins_use_coupon_id: 0,
plugins_choice_coupon_value: '选择优惠劵',
popup_plugins_coupon_status: false,
popup_plugins_coupon_status: false
},
onLoad(params) {
if ((params.data || null) == null || app.get_length(JSON.parse(params.data)) == 0) {
swan.alert({
title: '温馨提示',
content: '订单信息有误',
buttonText: '确认',
success: () => {
swan.navigateBack();
}
});
} else {
//params['data'] = '{"buy_type":"goods","goods_id":"1","stock":"1","spec":"[]"}';
if ((params.data || null) != null && app.get_length(JSON.parse(params.data)) > 0) {
this.setData({ params: JSON.parse(params.data) });
// 删除地址缓存
......@@ -41,25 +35,29 @@ Page({
},
onShow() {
swan.setNavigationBarTitle({ title: app.data.common_pages_title.buy });
this.init();
this.setData({ is_first: 0 });
},
// 获取数据列表
init() {
// 订单参数信息是否正确
if (this.data.params == null) {
this.setData({
data_list_loding_status: 2,
data_list_loding_msg: '订单信息有误'
});
swan.stopPullDownRefresh();
return false;
}
// 本地缓存地址
if (this.data.is_first == 0) {
var cache_address = swan.getStorageSync(app.data.cache_buy_user_address_select_key);
if ((cache_address || null) != null) {
this.setData({
address: cache_address,
address_id: cache_address.id
});
} else {
this.setData({
address: null,
address_id: 0
address_id: cache_address.id || null
});
}
}
......@@ -93,35 +91,30 @@ Page({
extension_data: data.extension_data || [],
data_list_loding_status: 3,
common_order_is_booking: data.common_order_is_booking || 0,
plugins_coupon_data: data.plugins_coupon_data || null,
common_site_type: data.common_site_type || 0,
extraction_address: data.base.extraction_address || [],
plugins_coupon_data: data.plugins_coupon_data || null
});
// 优惠劵选择处理
if ((data.plugins_coupon_data || null) != null)
{
if ((data.plugins_coupon_data.coupon_choice || null) != null)
{
if ((data.plugins_coupon_data || null) != null) {
if ((data.plugins_coupon_data.coupon_choice || null) != null) {
this.setData({ plugins_choice_coupon_value: data.plugins_coupon_data.coupon_choice.coupon.desc });
} else {
var coupon_count = ((data.plugins_coupon_data.coupon_list || null) != null) ? data.plugins_coupon_data.coupon_list.length : 0;
this.setData({ plugins_choice_coupon_value: (coupon_count > 0) ? '可选优惠劵' + coupon_count + '' : '暂无可用优惠劵' });
var coupon_count = (data.plugins_coupon_data.coupon_list || null) != null ? data.plugins_coupon_data.coupon_list.length : 0;
this.setData({ plugins_choice_coupon_value: coupon_count > 0 ? '可选优惠劵' + coupon_count + '' : '暂无可用优惠劵' });
}
}
// 地址
if (this.data.address == null || this.data.address_id == 0) {
if ((data.base.address || null) != null) {
this.setData({
address: data.base.address,
address_id: data.base.address.id
});
swan.setStorage({
key: app.data.cache_buy_user_address_select_key,
data: data.base.address
});
}
}
this.setData({
address: data.base.address || null,
address_id: (data.base.address || null) != null && (data.base.address.id || null) != null ? data.base.address.id : null
});
swan.setStorage({
key: app.data.cache_buy_user_address_select_key,
data: data.base.address || null
});
// 支付方式
this.payment_list_data(data.payment_list);
......@@ -131,7 +124,9 @@ Page({
data_list_loding_status: 2,
data_list_loding_msg: res.data.msg
});
app.showToast(res.data.msg);
if (app.is_login_check(res.data)) {
app.showToast(res.data.msg);
}
}
},
fail: () => {
......@@ -167,7 +162,10 @@ Page({
data['coupon_id'] = this.data.plugins_use_coupon_id;
// 数据验证
var validation = [{ fields: 'address_id', msg: '请选择地址' }];
var validation = [];
if (this.data.common_site_type == 0 || this.data.common_site_type == 2) {
validation.push({ fields: 'address_id', msg: '请选择地址', is_can_zero: 1 });
}
if (this.data.common_order_is_booking != 1) {
validation.push({ fields: 'payment_id', msg: '请选择支付方式' });
}
......@@ -229,7 +227,7 @@ Page({
// 优惠劵弹层开启
plugins_coupon_open_event(e) {
this.setData({ popup_plugins_coupon_status: true});
this.setData({ popup_plugins_coupon_status: true });
},
// 优惠劵弹层关闭
......@@ -243,7 +241,7 @@ Page({
var value = e.currentTarget.dataset.value;
this.setData({
plugins_use_coupon_id: value,
popup_plugins_coupon_status: false,
popup_plugins_coupon_status: false
});
this.init();
},
......@@ -252,9 +250,24 @@ Page({
plugins_coupon_not_use_event(e) {
this.setData({
plugins_use_coupon_id: 0,
popup_plugins_coupon_status: false,
popup_plugins_coupon_status: false
});
this.init();
},
// 地址选择事件
address_event(e) {
if (this.data.common_site_type == 0) {
swan.navigateTo({
url: '/pages/user-address/user-address?is_back=1'
});
} else if (this.data.common_site_type == 2) {
swan.navigateTo({
url: '/pages/extraction-address/extraction-address?is_back=1'
});
} else {
app.showToast('当前模式不允许使用地址');
}
}
});
\ No newline at end of file
<view s-if="goods_list.length > 0" class="page">
<!-- 地址 -->
<view class="address bg-white arrow-right">
<navigator url="/pages/user-address/user-address?is_back=1" hover-class="none">
<view s-if="address != null">
<view class="address-base oh">
<text>{{address.name}}</text>
<text class="fr">{{address.tel}}</text>
<block s-if="common_site_type == 1">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: 2, msg: '展示型不允许提交订单'}}}"></template>
</block>
<block s-else>
<view s-if="goods_list.length > 0" class="page">
<!-- 地址 -->
<block s-if="common_site_type == 0 || common_site_type == 2">
<view class="address bg-white arrow-right" bindtap="address_event">
<view s-if="address != null">
<view class="address-base oh">
<text s-if="(address.alias || null) != null" class="address-alias">{{address.alias}}</text>
<text>{{address.name}}</text>
<text class="fr">{{address.tel}}</text>
</view>
<view class="address-detail oh">
<image class="icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">{{address.province_name}}{{address.city_name}}{{address.county_name}}{{address.address}}</view>
</view>
</view>
<view class="address-detail oh">
<image class="icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">{{address.province_name}}{{address.city_name}}{{address.county_name}}{{address.address}}</view>
<view s-if="address == null" class="no-address cr-888">
请选择地址
</view>
</view>
<view s-if="address == null" class="no-address cr-888">
请选择地址
</view>
</navigator>
</view>
<view class="address-divider spacing-mb"></view>
<view class="address-divider spacing-mb"></view>
</block>
<!-- 商品 -->
<view class="goods bg-white spacing-mb">
<view s-for="item, index in goods_list" s-key="key" class="goods-item oh">
<image class="goods-image fl" src="{{item.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}</view>
<block s-if="item.spec != null">
<view class="goods-spec cr-888" s-for="spec, index in item.spec" s-key="key">{{spec.type}}:{{spec.value}}
</view>
</block>
</view>
<view class="oh goods-price">
<text class="sales-price">¥{{item.price}}
</text>
<text s-if="item.original_price > 0" class="original-price">¥{{item.original_price}}
</text>
<text class="buy-number cr-888">x{{item.stock}}
</text>
<!-- 商品 -->
<view class="goods bg-white spacing-mb">
<view s-for="item, index in goods_list" s-key="key" class="goods-item oh">
<image class="goods-image fl" src="{{item.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}</view>
<block s-if="item.spec != null">
<view class="goods-spec cr-888" s-for="spec, index in item.spec" s-key="key">{{spec.type}}:{{spec.value}}
</view>
</block>
</view>
<view class="oh goods-price">
<text class="sales-price">¥{{item.price}}
</text>
<text s-if="item.original_price > 0" class="original-price">¥{{item.original_price}}
</text>
<text class="buy-number cr-888">x{{item.stock}}
</text>
</view>
</view>
</view>
</view>
<!-- 留言 -->
<view class="content-textarea-view bg-white spacing-mb">
<textarea s-if="!popup_plugins_coupon_status" bindinput="bind_user_note_event" value="{{user_note_value}}" maxlength="60" placeholder="留言" class="wh-auto" />
<view s-if="popup_plugins_coupon_status" class="cr-888">{{user_note_value || '留言'}}</view>
</view>
<!-- 优惠劵 -->
<view s-if="(plugins_coupon_data || null) != null && plugins_coupon_data.coupon_list.length > 0" class="plugins-coupon bg-white spacing-mb arrow-right" bindtap="plugins_coupon_open_event">
<text class="cr-666">优惠劵</text>
<text class="cr-ccc fr">{{plugins_choice_coupon_value}}</text>
</view>
<!-- 留言 -->
<view class="content-textarea-view bg-white spacing-mb">
<textarea s-if="!popup_plugins_coupon_status" bindinput="bind_user_note_event" value="{=user_note_value=}" maxlength="60" placeholder="留言" class="wh-auto" />
<view s-if="popup_plugins_coupon_status" class="cr-888">{{user_note_value || '留言'}}</view>
</view>
<!-- 扩展数据展示 -->
<view s-if="extension_data.length > 0" class="extension-list spacing-mb">
<view s-for="item, index in extension_data" s-key="key" class="item oh">
<text class="cr-666 fl">{{item.name}}
</text>
<text class="text-tips fr">{{item.tips}}
</text>
<!-- 优惠劵 -->
<view s-if="(plugins_coupon_data || null) != null && plugins_coupon_data.coupon_list.length > 0" class="plugins-coupon bg-white spacing-mb arrow-right" bindtap="plugins_coupon_open_event">
<text class="cr-666">优惠劵</text>
<text class="cr-ccc fr">{{plugins_choice_coupon_value}}</text>
</view>
</view>
<!-- 支付方式 -->
<view s-if="payment_list.length > 0 && common_order_is_booking != 1" class="payment-list bg-white oh">
<view class="item tc fl" s-for="item, index in payment_list" s-key="key">
<view class="item-content br {{(item.selected || '')}}" data-value="{{item.id}}" bindtap="payment_event">
<image s-if="(item.logo || null) != null" class="icon" src="{{item.logo}}" mode="widthFix" />
<text>{{item.name}}</text>
<!-- 扩展数据展示 -->
<view s-if="extension_data.length > 0" class="extension-list spacing-mb">
<view s-for="item, index in extension_data" s-key="key" class="item oh">
<text class="cr-666 fl">{{item.name}}
</text>
<text class="text-tips fr">{{item.tips}}
</text>
</view>
</view>
</view>
<!-- 导航 -->
<view class="buy-nav oh wh-auto">
<view class="nav-base bg-white fl single-text">
<text>合计:</text>
<text class="sales-price">¥{{total_price}}</text>
<!-- 支付方式 -->
<view s-if="payment_list.length > 0 && common_order_is_booking != 1" class="payment-list bg-white oh">
<view class="item tc fl" s-for="item, index in payment_list" s-key="key">
<view class="item-content br {{(item.selected || '')}}" data-value="{{item.id}}" bindtap="payment_event">
<image s-if="(item.logo || null) != null" class="icon" src="{{item.logo}}" mode="widthFix" />
<text>{{item.name}}</text>
</view>
</view>
</view>
<view class="fr nav-submit">
<button class="bg-main wh-auto" type="default" bindtap="buy_submit_event" disabled="{{buy_submit_disabled_status}}" hover-class="none">提交订单</button>
<!-- 导航 -->
<view class="buy-nav oh wh-auto">
<view class="nav-base bg-white fl single-text">
<text>合计:</text>
<text class="sales-price">¥{{total_price}}</text>
</view>
<view class="fr nav-submit">
<button class="bg-main wh-auto" type="default" bindtap="buy_submit_event" disabled="{{buy_submit_disabled_status}}" hover-class="none">提交订单</button>
</view>
</view>
</view>
</view>
<view s-if="goods_list.length == 0">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: data_list_loding_status, msg: data_list_loding_msg}}}"></template>
</view>
<view s-if="goods_list.length == 0">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: data_list_loding_status, msg: data_list_loding_msg}}}"></template>
</view>
<!-- 优惠劵选择 -->
<component-popup status="{{popup_plugins_coupon_status}}" position="bottom" bindonclose="plugins_coupon_close_event">
<view class="plugins-coupon-popup bg-white">
<view class="close oh">
<view class="fr" catchtap="plugins_coupon_close_event">
<icon type="clear" size="20" />
</view>
</view>
<view s-if="(plugins_coupon_data || null) != null && plugins_coupon_data.coupon_list.length > 0" class="coupon-container oh br-b">
<view class="not-use-tips tc">
<text bindtap="plugins_coupon_not_use_event">不使用优惠劵</text>
<!-- 优惠劵选择 -->
<component-popup prop-show="{{popup_plugins_coupon_status}}" prop-position="bottom" bindonclose="plugins_coupon_close_event">
<view class="plugins-coupon-popup bg-white">
<view class="close oh">
<view class="fr" catchtap="plugins_coupon_close_event">
<icon type="clear" size="20" />
</view>
</view>
<block s-for="item, index in plugins_coupon_data.coupon_list" s-key="key">
<view class="item spacing-mt bg-white" style="border:1px solid {{item.coupon.bg_color_value}};">
<view class="v-left fl">
<view class="base single-text" style="color:{{item.coupon.bg_color_value}};">
<text class="symbol">¥</text>
<text class="price">{{item.coupon.discount_value}}</text>
<text class="unit">{{item.coupon.type_unit}}</text>
<text s-if="(item.coupon.desc || null) != null" class="desc cr-888">{{item.coupon.desc}}</text>
<view s-if="(plugins_coupon_data || null) != null && plugins_coupon_data.coupon_list.length > 0" class="coupon-container oh br-b">
<view class="not-use-tips tc">
<text bindtap="plugins_coupon_not_use_event">不使用优惠劵</text>
</view>
<block s-for="item, index in plugins_coupon_data.coupon_list" s-key="item">
<view class="item spacing-mt bg-white" style="border:1px solid {{item.coupon.bg_color_value}};">
<view class="v-left fl">
<view class="base single-text" style="color:{{item.coupon.bg_color_value}};">
<text class="symbol">¥</text>
<text class="price">{{item.coupon.discount_value}}</text>
<text class="unit">{{item.coupon.type_unit}}</text>
<text s-if="(item.coupon.desc || null) != null" class="desc cr-888">{{item.coupon.desc}}</text>
</view>
<view s-if="(item.coupon.use_limit_type_name || null) != null" class="base-tips cr-666 single-text">{{item.coupon.use_limit_type_name}}</view>
<view class="base-time cr-888 single-text">{{item.time_start_text}} 至 {{item.time_end_text}}</view>
</view>
<view class="v-right fr" style="background:{{item.coupon.bg_color_value}};" data-index="{{index}}" data-value="{{item.id}}" bindtap="plugins_coupon_use_event">
<text class="circle"></text>
<text>{{plugins_use_coupon_id == item.id ? '已选' : '选择'}}</text>
</view>
<view s-if="(item.coupon.use_limit_type_name || null) != null" class="base-tips cr-666 single-text">{{item.coupon.use_limit_type_name}}</view>
<view class="base-time cr-888 single-text">{{item.time_start_text}} 至 {{item.time_end_text}}</view>
</view>
<view class="v-right fr" style="background:{{item.coupon.bg_color_value}};" data-index="{{index}}" data-value="{{item.id}}" bindtap="plugins_coupon_use_event">
<text class="circle"></text>
<text>{{plugins_use_coupon_id == item.id ? '已选' : '选择'}}</text>
</view>
</view>
</block>
</block>
</view>
</view>
</view>
</component-popup>
\ No newline at end of file
</component-popup>
</block>
\ No newline at end of file
.item {
padding: 10rpx 10rpx 0 10rpx;
}
.base, .address, .operation {
padding: 20rpx 0;
}
.address .item-icon {
width: 30rpx;
height: 35rpx !important;
}
.address-alias {
border: 1px solid #d2364c;
color: #d2364c;
padding: 2rpx 10rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
.address .text {
line-height: 44rpx;
width: calc(100% - 40rpx);
}
.operation .map-submit {
margin-left: 20rpx;
}
\ No newline at end of file
const app = getApp();
Page({
data: {
data_list_loding_status: 1,
data_bottom_line_status: false,
data_list: [],
params: null,
is_default: 0
},
onLoad(params) {
this.setData({ params: params });
},
onShow() {
swan.setNavigationBarTitle({ title: app.data.common_pages_title.extraction_address });
this.init();
},
// 初始化
init() {
var user = app.get_user_cache_info(this, "init");
// 用户未绑定用户则转到登录页面
if (app.user_is_need_login(user)) {
swan.redirectTo({
url: "/pages/login/login?event_callback=init"
});
return false;
} else {
// 获取数据
this.get_data_list();
}
},
// 获取数据列表
get_data_list() {
// 加载loding
swan.showLoading({ title: "加载中..." });
this.setData({
data_list_loding_status: 1
});
// 获取数据
swan.request({
url: app.get_request_url("extraction", "useraddress"),
method: "POST",
data: {},
dataType: "json",
success: res => {
swan.hideLoading();
swan.stopPullDownRefresh();
if (res.data.code == 0) {
if (res.data.data.length > 0) {
// 获取当前默认地址
var is_default = 0;
for (var i in res.data.data) {
if (res.data.data[i]['is_default'] == 1) {
is_default = res.data.data[i]['id'];
}
}
// 设置数据
this.setData({
data_list: res.data.data,
is_default: is_default,
data_list_loding_status: 3,
data_bottom_line_status: true
});
} else {
this.setData({
data_list_loding_status: 0
});
}
} else {
this.setData({
data_list_loding_status: 0
});
if (app.is_login_check(res.data)) {
app.showToast(res.data.msg);
}
}
},
fail: () => {
swan.hideLoading();
swan.stopPullDownRefresh();
this.setData({
data_list_loding_status: 2
});
app.showToast("服务器请求出错");
}
});
},
// 下拉刷新
onPullDownRefresh() {
this.get_data_list();
},
// 地图查看
address_map_event(e) {
var index = e.currentTarget.dataset.index || 0;
var ads = this.data.data_list[index] || null;
if (ads == null) {
app.showToast("地址有误");
return false;
}
var lng = parseFloat(ads.lng || 0);
var lat = parseFloat(ads.lat || 0);
if (lng <= 0 || lat <= 0) {
app.showToast("坐标有误");
return false;
}
swan.openLocation({
latitude: lat,
longitude: lng,
scale: 18,
name: ads.alias || '',
address: (ads.province_name || '') + (ads.city_name || '') + (ads.county_name || '') + (ads.address || '')
});
},
// 地址内容事件
address_conent_event(e) {
var index = e.currentTarget.dataset.index || 0;
var is_back = this.data.params.is_back || 0;
if (is_back == 1) {
swan.setStorage({
key: app.data.cache_buy_user_address_select_key,
data: this.data.data_list[index]
});
swan.navigateBack();
}
}
});
\ No newline at end of file
{
"enablePullDownRefresh": true
}
\ No newline at end of file
<view class="page">
<view s-if="data_list.length > 0">
<view class="item bg-white spacing-mb" s-for="item, index in data_list" s-key="key">
<view bindtap="address_conent_event" data-index="{{index}}">
<view class="base oh">
<text s-if="(item.alias || null) != null" class="address-alias">{{item.alias}}</text>
<text>{{item.name}}</text>
<text class="fr">{{item.tel}}</text>
</view>
<view class="address oh">
<image class="item-icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">{{item.province_name}}{{item.city_name}}{{item.county_name}}{{item.address}}</view>
</view>
</view>
<view class="operation br-t oh">
<button s-if="item.lng > 0 && item.lat > 0" class="fr cr-666 map-submit br" type="default" size="mini" bindtap="address_map_event" data-index="{{index}}" hover-class="none">查看地图</button>
</view>
</view>
</view>
<view s-if="data_list.length == 0">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: data_list_loding_status}}}"></template>
</view>
<import src="/pages/common/bottom_line.swan" />
<template is="bottom_line" data="{{{status: data_bottom_line_status}}}"></template>
</view>
\ No newline at end of file
......@@ -5,9 +5,16 @@
padding: 20rpx 0;
}
.address .item-icon {
width: 35rpx;
width: 30rpx;
height: 35rpx !important;
}
.address-alias {
border: 1px solid #d2364c;
color: #d2364c;
padding: 2rpx 10rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
.address .text {
line-height: 44rpx;
width: calc(100% - 40rpx);
......@@ -24,9 +31,6 @@
.operation .delete-submit {
margin-left: 20rpx;
}
.submit-bottom {
border-radius: 0 !important;
}
.page {
padding-bottom: 85rpx;
}
\ No newline at end of file
......@@ -3,6 +3,7 @@
<view class="item bg-white spacing-mb" s-for="item, index in data_list" s-key="key">
<view bindtap="address_conent_event" data-index="{{index}}">
<view class="base oh">
<text s-if="(item.alias || null) != null" class="address-alias">{{item.alias}}</text>
<text>{{item.name}}</text>
<text class="fr">{{item.tel}}</text>
</view>
......
/*
* 地址信息
*/
.address {
padding: 10rpx;
}
......@@ -23,13 +26,23 @@
height: 85rpx;
line-height: 85rpx;
}
.address-alias {
border: 1px solid #d2364c;
color: #d2364c;
padding: 2rpx 10rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
/*
* 商品信息
*/
.goods-base {
min-height: 160rpx;
margin-left: 180rpx;
}
.goods .goods-item:not(:last-child) {
border-bottom: 1px dashed #efefef;
.goods .goods-item:last-child {
border-bottom: 0;
}
.goods-item {
padding: 20rpx 10rpx;
......@@ -50,26 +63,36 @@
right: 0;
bottom: 0;
}
.order-describe {
padding: 20rpx 10rpx;
}
/*
* 基础信息
* 面板信息
*/
.detail-list {
padding: 0 10rpx;
}
.detail-list .item {
.panel-item .panel-title {
background: #fff;
font-weight: bold;
padding: 15rpx;
border-bottom: 2px solid #eee;
font-size: 34rpx;
}
.panel-item .panel-content .item {
padding: 20rpx 0;
}
.detail-list .item .title {
.panel-item .panel-content .item:last-child {
border: 0;
}
.panel-item .panel-content .item .title {
width: 25%;
padding-left: 20rpx;
}
.detail-list .item .content {
.panel-item .panel-content .item .content {
width: calc(75% - 50rpx);
padding-left: 20rpx;
min-height: 46rpx;
}
.detail-list .item view {
.panel-item .panel-content .item view {
line-height: 46rpx;
}
......@@ -84,4 +107,59 @@
}
.extension-list .item .content {
padding-left: 20rpx;
}
/*
* 虚拟销售信息
*/
.site-fictitious .panel-content {
padding: 0 20rpx;
}
.site-fictitious .panel-content .tips-value {
color: #f37b1d;
background-color: #fff2e9;
border-color: #ffebdb;
padding: 10rpx;
margin-top: 20rpx;
}
.site-fictitious .panel-content .left-image {
width: 80rpx;
height: 80rpx;
}
.site-fictitious .panel-content .right-value,
.site-fictitious .panel-content .right-value .rich-text-value {
width: calc(100% - 100rpx);
}
.site-fictitious .panel-content .item {
position: relative;
}
.site-fictitious .panel-content .right-value .rich-text-value {
position: absolute;
top: 0;
right: 0;
}
/*
* 自提信息
*/
.site-extraction .panel-content {
padding: 20rpx;
}
.site-extraction .panel-content .code {
background: #5eb95e;
color: #fff;
}
.site-extraction .panel-content .code,
.address-map-submit {
padding: 1rpx 16rpx;
border-radius: 6rpx;
}
.site-extraction .panel-content .qrcode {
margin-top: 15rpx;
width: 300rpx;
height: 300rpx;
}
.address-map-submit {
margin-left: 20rpx;
background: #f5f5f5;
}
\ No newline at end of file
......@@ -9,6 +9,7 @@ Page({
detail: null,
detail_list: [],
extension_data: [],
site_fictitious: null,
},
onLoad(params) {
......@@ -40,29 +41,31 @@ Page({
if (res.data.code == 0) {
var data = res.data.data;
self.setData({
detail: data,
detail: data.data,
detail_list:[
{name: "订单号", value: data.order_no || ''},
{name: "状态", value: data.status_name || ''},
{name: "支付状态", value: data.pay_status_name || ''},
{name: "单价", value: data.price || ''},
{name: "总价", value: data.total_price || ''},
{name: "优惠金额", value: data.preferential_price || ''},
{name: "增加金额", value: data.increase_price || '' },
{name: "支付金额", value: data.pay_price || ''},
{name: "支付方式", value: data.payment_name || ''},
{name: "快递公司", value: data.express_name || ''},
{name: "快递单号", value: data.express_number || ''},
{name: "用户留言", value: data.user_note || ''},
{name: "创建时间", value: data.add_time || ''},
{name: "确认时间", value: data.confirm_time || ''},
{name: "支付时间", value: data.pay_time || ''},
{name: "发货时间", value: data.delivery_time || ''},
{name: "收货时间", value: data.collect_time || ''},
{name: "取消时间", value: data.close_time || ''},
{name: "关闭时间", value: data.close_time || ''},
{name: "订单号", value: data.data.order_no || ''},
{name: "订单模式", value: data.data.order_model_name || ''},
{name: "状态", value: data.data.status_name || ''},
{name: "支付状态", value: data.data.pay_status_name || ''},
{name: "单价", value: data.data.price || ''},
{name: "总价", value: data.data.total_price || ''},
{name: "优惠金额", value: data.data.preferential_price || ''},
{name: "增加金额", value: data.data.increase_price || '' },
{name: "支付金额", value: data.data.pay_price || ''},
{name: "支付方式", value: data.data.payment_name || ''},
{name: "快递公司", value: data.data.express_name || ''},
{name: "快递单号", value: data.data.express_number || ''},
{name: "用户留言", value: data.data.user_note || ''},
{name: "创建时间", value: data.data.add_time || ''},
{name: "确认时间", value: data.data.confirm_time || ''},
{name: "支付时间", value: data.data.pay_time || ''},
{name: "发货时间", value: data.data.delivery_time || ''},
{name: "收货时间", value: data.data.collect_time || ''},
{name: "取消时间", value: data.data.close_time || ''},
{name: "关闭时间", value: data.data.close_time || ''},
],
extension_data: data.extension_data || [],
extension_data: data.data.extension_data || [],
site_fictitious: data.site_fictitious || null,
data_list_loding_status: 3,
data_bottom_line_status: true,
data_list_loding_msg: ''
......@@ -73,7 +76,9 @@ Page({
data_bottom_line_status: false,
data_list_loding_msg: res.data.msg
});
app.showToast(res.data.msg);
if (app.is_login_check(res.data)) {
app.showToast(res.data.msg);
}
}
},
fail: () => {
......@@ -90,6 +95,30 @@ Page({
});
},
// 地图查看
address_map_event(e) {
if ((this.data.detail.address_data || null) == null) {
app.showToast("地址有误");
return false;
}
var ads = this.data.detail.address_data;
var lng = parseFloat(ads.lng || 0);
var lat = parseFloat(ads.lat || 0);
if (lng <= 0 || lat <= 0) {
app.showToast("坐标有误");
return false;
}
swan.openLocation({
latitude: lat,
longitude: lng,
scale: 18,
name: ads.alias || '',
address: (ads.province_name || '') + (ads.city_name || '') + (ads.county_name || '') + (ads.address || '')
});
},
// 下拉刷新
onPullDownRefresh() {
this.init();
......
<view s-if="detail != null">
<view class="address bg-white spacing-mb">
<!-- 地址 -->
<view s-if="detail.order_model == 0 || detail.order_model == 2" class="address bg-white spacing-mb">
<view class="address-base oh">
<text>{{detail.receive_name}}</text>
<text class="fr">{{detail.receive_tel}}</text>
<text s-if="{{(detail.address_data.alias || null) != null}}" class="address-alias">{{detail.address_data.alias}}</text>
<text>{{detail.address_data.name}}</text>
<text class="fr">{{detail.address_data.tel}}</text>
</view>
<view class="address-detail oh">
<image class="icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">{{detail.receive_province_name}}{{detail.receive_city_name}}{{detail.receive_county_name}}{{detail.receive_address}}</view>
<view class="text fr">
{{detail.address_data.province_name}}{{detail.address_data.city_name}}{{detail.address_data.county_name}}{{detail.address_data.address}}
<text s-if="detail.order_model == 2 && (detail.address_data.lng || 0) > 0 && (detail.address_data.lat || 0) > 0" class="cr-666 br address-map-submit" bindtap="address_map_event">查看位置</text>
</view>
</view>
</view>
<!-- 商品列表 -->
<view class="goods bg-white spacing-mb">
<view s-for="item, index in detail.items" class="goods-item oh">
<view s-for="item, index in detail.items" s-key="item" class="goods-item br-b-dashed oh">
<navigator url="/pages/goods-detail/goods-detail?goods_id={{item.goods_id}}" hover-class="none">
<image class="goods-image fl" src="{{item.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}</view>
<block s-if="item.spec != null">
<view class="goods-attribute cr-888" s-for="spec, index in item.spec">
<view class="goods-attribute cr-888" s-for="spec, index in item.spec" s-key="spec">
{{spec.type}}:{{spec.value}}
</view>
</block>
......@@ -29,22 +35,60 @@
</view>
</navigator>
</view>
<view class="order-describe">{{detail.describe}}</view>
</view>
<!-- 虚拟销售数据 -->
<view s-if="detail.order_model == 3 && detail.pay_status == 1 && (detail.status == 3 || detail.status == 4)" class="panel-item spacing-mt site-fictitious">
<view class="panel-title">{{site_fictitious.title || '密钥信息'}}</view>
<view class="panel-content bg-white oh">
<view s-if="(site_fictitious.tips || null) != null" class="tips-value">
<rich-text nodes="{{site_fictitious.tips}}"></rich-text>
</view>
<view s-for="item, index in detail.items" s-key="item" class="item br-b-dashed oh">
<image class="left-image br fl" src="{{item.images}}" mode="aspectFill" />
<view class="right-value oh">
<view s-if="{{(item.fictitious_goods_value || null) != null}}" class="rich-text-value">
<rich-text nodes="{{item.fictitious_goods_value}}"></rich-text>
</view>
<text s-else class="cr-888">未配置数据</text>
</view>
</view>
</view>
</view>
<!-- 自提信息 -->
<view s-if="detail.order_model == 2 && (detail.status == 2 || detail.status == 3) && (detail.extraction_data || null) != null" class="panel-item spacing-mt site-extraction">
<view class="panel-title">取货信息</view>
<view class="panel-content bg-white oh">
<view>
<text>取货码:</text>
<text class="code">{{detail.extraction_data.code || '取货码不存在、请联系管理员'}}</text>
</view>
<image s-if="(detail.extraction_data.images || null) != null" class="br qrcode" src="{{detail.extraction_data.images}}" mode="aspectFill" />
</view>
</view>
<!-- 订单基础数据 -->
<view s-if="detail_list.length > 0" class="detail-list bg-white">
<view s-for="item, index in detail_list" class="item br-b oh">
<view class="title fl">{{item.name}}</view>
<view class="content cr-888 fl br-l">{{item.value}}</view>
<view s-if="detail_list.length > 0" class="panel-item spacing-mt">
<view class="panel-title">基础数据</view>
<view class="panel-content bg-white">
<view s-for="item, index in detail_list" s-key="item" class="item br-b oh">
<view class="title fl">{{item.name}}</view>
<view class="content cr-888 fl br-l">{{item.value}}</view>
</view>
</view>
</view>
<!-- 扩展数据 -->
<view s-if="extension_data.length > 0" class="extension-list bg-white spacing-mt">
<view s-for="item, index in extension_data" class="item br-b oh">
<view s-if="extension_data.length > 0" class="panel-item spacing-mt extension-list">
<view class="panel-title">扩展数据</view>
<view class="panel-content bg-white">
<view s-for="item, index in extension_data" s-key="item" class="item br-b oh">
<text class="title">{{item.name}}</text>
<text class="content cr-888 br-l">{{item.tips}}</text>
</view>
</view>
</view>
<import src="/pages/common/bottom_line.swan" />
......
......@@ -24,8 +24,8 @@
.goods-title {
line-height: 36rpx;
}
.list-item .goods-item:not(:last-child) {
border-bottom: 1px dashed #efefef;
.list-item .goods-item:last-child {
border-bottom: 0;
}
.goods-item {
padding: 20rpx 10rpx;
......
......@@ -14,7 +14,7 @@
<text class="cr-666">{{item.add_time}}</text>
<text class="fr cr-main">{{item.status_name}}</text>
</view>
<view s-for="detail, index in item.items" s-key="key" class="goods-item oh">
<view s-for="detail, index in item.items" s-key="key" class="goods-item br-b-dashed oh">
<navigator url="/pages/user-order-detail/user-order-detail?id={{item.id}}" hover-class="none">
<image class="goods-image fl" src="{{detail.images}}" mode="aspectFill" />
<view class="goods-base">
......@@ -34,10 +34,10 @@
</navigator>
</view>
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view s-if="item.status <= 3 || (item.status == 4 && item.user_is_comments == 0)" class="item-operation tr br-t">
<view s-if="item.status == 1 || item.status == 3 || (item.status == 4 && item.user_is_comments == 0) || (item.status == 2 && item.order_model != 2)" class="item-operation tr br-t">
<button s-if="item.status <= 1" class="submit-cancel" type="default" size="mini" bindtap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消</button>
<button s-if="item.status == 1" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付</button>
<button s-if="item.status == 2" class="submit-rush cr-666 br" type="default" size="mini" bindtap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催</button>
<button s-if="item.status == 2 && item.order_model != 2" class="submit-rush cr-666 br" type="default" size="mini" bindtap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催</button>
<button s-if="item.status == 3" class="submit-success cr-666 br" type="default" size="mini" bindtap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货</button>
<button s-if="item.status == 4 && item.user_is_comments == 0" class="submit-success cr-666 br" type="default" size="mini" bindtap="comments_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">评论</button>
</view>
......@@ -55,7 +55,7 @@
</scroll-view>
<!-- 支付方式 popup -->
<component-popup status="{{is_show_payment_popup}}" position="bottom" bindonclose="payment_popup_event_close">
<component-popup prop-show="{{is_show_payment_popup}}" prop-position="bottom" bindonclose="payment_popup_event_close">
<view s-if="payment_list.length > 0" class="payment-list oh bg-white">
<view class="item tc fl" s-for="item, index in payment_list" s-key="key">
<view class="item-content br" data-value="{{item.id}}" bindtap="popup_payment_event">
......
......@@ -107,8 +107,8 @@ Page({
return false;
}
var lng = parseFloat(ads.lng_gcj || 0);
var lat = parseFloat(ads.lat_gcj || 0);
var lng = parseFloat(ads.lng || 0);
var lat = parseFloat(ads.lat || 0);
if (lng <= 0 || lat <= 0) {
app.showToast("坐标有误");
return false;
......
......@@ -105,8 +105,8 @@ Page({
}
var ads = this.data.detail.address_data;
var lng = parseFloat(ads.lng_gcj || 0);
var lat = parseFloat(ads.lat_gcj || 0);
var lng = parseFloat(ads.lng || 0);
var lat = parseFloat(ads.lat || 0);
if (lng <= 0 || lat <= 0) {
app.showToast("坐标有误");
return false;
......
......@@ -2,6 +2,7 @@
<!-- 地址 -->
<view wx:if="{{detail.order_model == 0 || detail.order_model == 2}}" class="address bg-white spacing-mb">
<view class="address-base oh">
<text wx:if="{{(detail.address_data.alias || null) != null}}" class="address-alias">{{detail.address_data.alias}}</text>
<text>{{detail.address_data.name}}</text>
<text class="fr">{{detail.address_data.tel}}</text>
</view>
......@@ -9,7 +10,7 @@
<image class="icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">
{{detail.address_data.province_name}}{{detail.address_data.city_name}}{{detail.address_data.county_name}}{{detail.address_data.address}}
<text wx:if="{{detail.order_model == 2 && (detail.address_data.lng_gcj || 0) > 0 && (detail.address_data.lat_gcj || 0) > 0}}" class="cr-666 br address-map-submit" bindtap="address_map_event">查看位置</text>
<text wx:if="{{detail.order_model == 2 && (detail.address_data.lng || 0) > 0 && (detail.address_data.lat || 0) > 0}}" class="cr-666 br address-map-submit" bindtap="address_map_event">查看位置</text>
</view>
</view>
</view>
......
......@@ -26,6 +26,13 @@
height: 85rpx;
line-height: 85rpx;
}
.address-alias {
border: 1px solid #d2364c;
color: #d2364c;
padding: 2rpx 10rpx;
border-radius: 6rpx;
margin-right: 10rpx;
}
/*
* 商品信息
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册