myTest383 5 months ago
parent
commit
80c3c6edc4
  1. 4
      common/config.js
  2. 31
      common/request.api.js
  3. 6
      components/NavBar/NavBar.vue
  4. 2
      custom-tab-bar/index.js
  5. 72
      custom-tab-bar/index.wxss
  6. 13
      pages.json
  7. 347
      pages/SelectAddressActivity.vue
  8. 30
      pages/bind/bind_cloudCard.vue
  9. 322
      pages/bind/bind_pickUpCard2.vue
  10. 2
      pages/card/card_detail.vue
  11. 2
      pages/card/card_detail2.vue
  12. 2
      pages/detail/detail_affeection.vue
  13. 2
      pages/detail/detail_affeection2.vue
  14. 2
      pages/detail/detail_enterprise.vue
  15. 2
      pages/detail/detail_enterprise2.vue
  16. 2
      pages/detail/detail_family.vue
  17. 2
      pages/detail/detail_family2.vue
  18. 2
      pages/enterprise/corporate_card_detail.vue
  19. 2
      pages/enterprise/corporate_card_detail2.vue
  20. 2
      pages/enterprise/welfare_card_detail.vue
  21. 2
      pages/enterprise/welfare_card_detail2.vue
  22. 8
      pages/good/changePersonnel.vue
  23. 24
      pages/good/goodsDetail.vue
  24. 5
      pages/good/goodsDetail2.vue
  25. 81
      pages/good/reservation.vue
  26. 424
      pages/good/reservation2.vue
  27. 13
      pages/good/transfer.vue
  28. 32
      pages/home/cloudCard2.vue
  29. 67
      pages/home/myCellar.vue
  30. 6
      pages/home/myHome.vue
  31. 2
      pages/me/RealInfo.vue
  32. 23
      pages/me/addInvoice.vue
  33. 14
      pages/me/makeInvoice.vue
  34. 5
      pages/records/orderDetail.vue
  35. 4
      pages/records/orderRecords.vue
  36. 2
      pages/records/reservationRecords.vue
  37. 2
      pages/records/reservationRecords2.vue
  38. 29
      pages/records/reservationRecords3.vue
  39. 35
      pages/records/reservationRecords4.vue
  40. 4
      pages/records/transferRecords.vue
  41. 4
      pages/records/transferRecords2.vue
  42. 490
      uni_modules/common-pay/pages/pay/pay.vue
  43. 2121
      uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue

4
common/config.js

@ -7,10 +7,10 @@
*/
module.exports = {
// baseUrl: 'http://uv32vz.natappfree.cc', // 本地
// baseUrl: 'http://192.168.0.105:7211', // 本地
baseUrl: 'http://192.168.0.105:7211', // 本地
// baseUrl: 'https://39.104.100.138/lpkapi', // 测试服务器
// baseUrl: 'https://lpk.yyundong.com/mallapi', // 测试服务器
baseUrl: 'https://supervise.yxtsoft.com/lpkapi', // 正式服务器
// baseUrl: 'https://supervise.yxtsoft.com/lpkapi', // 正式服务器
// tokenName: "Authorization", // 请求头中token的名字,与服务器端对应
loginTimeoutCode: "5001", // 登录超时或失效的情况下,服务器端返回的错误码
loginTimeoutPage: "/pages/login/index", // 登录超时或失效的情况下,跳转到的登录页面

31
common/request.api.js

@ -71,11 +71,15 @@ export default {
// 自选菜窖 商品信息
getAllGiftBag: (params = {}) => request.get("/lpkgoods/getAllGiftBag", params),
// 結算商品
createOrder: (params = {}) => request.post("/empsreservoorder/createOrder", params),
// createOrder: (params = {}) => request.post("/empsreservoorder/createOrder", params),
createOrder: (params = {}) => request.post("/order/createOrder", params),
// 预约记录
orderListByUserSid: (params = {}) => request.post("/lpksreservoorder/orderListByUserSid", params, {}, {}),
// 取消预约记录
cancelReservation: (params = {}) => request.get("/lpksreservoorders/cancelReservation/" + params, params, {}, {}),
// 取消预约记录 客户手动填写地址 2024-12-26
cancelReservation2: (params = {}) => request.get("/vegecellarreserveorder/cancelReservation/" + params,
params, {}, {}),
// 转赠记录
transferRecordsList: (params = {}) => request.post("/transferrecords/transferRecordsList", params, {}, {}),
@ -107,14 +111,20 @@ export default {
saveTuiJianZhiHang: (params = {}) => request.formpost("/lpkcustomer/updateCustomerBank", params),
// 我的 预约记录
myOrderListByUserSid: (params = {}) => request.post("/lpksreservoorders/orderListByUserSid", params, {}, {}),
// 我的 预约记录 客户手动填写地址 2024-12-26
myOrderListByUserSid2: (params = {}) => request.post("/vegecellarreserveorder/orderListByUserSid", params, {}, {}),
// 我的 订单列表
ordersList: (params = {}) => request.post("/empsreservoorder/ordersList", params, {}, {}),
// ordersList: (params = {}) => request.post("/empsreservoorder/ordersList", params, {}, {}),
ordersList: (params = {}) => request.post("/order/ordersList", params, {}, {}),
// 我的 订单详情
orderDetails: (params = {}) => request.get("/empsreservoorder/OrderDetails/" + params, params, {}, {}, true),
// orderDetails: (params = {}) => request.get("/empsreservoorder/OrderDetails/" + params, params, {}, {}, true),
orderDetails: (params = {}) => request.get("/order/OrderDetails/" + params, params, {}, {}, true),
// 我的 订单详情 修改订单状态
changePayState: (params = {}) => request.get("/empsreservoorder/changePayState/" + params, params, {}, {}, true),
// changePayState: (params = {}) => request.get("/empsreservoorder/changePayState/" + params, params, {}, {}, true),
changePayState: (params = {}) => request.get("/order/changePayState/" + params, params, {}, {}, true),
// 订单发票获取授权页链接
wxElectronicInvoice: (params = {}) => request.post("/empsreservoorder/wxElectronicInvoice", params, {}, {}),
// wxElectronicInvoice: (params = {}) => request.post("/empsreservoorder/wxElectronicInvoice", params, {}, {}),
wxElectronicInvoice: (params = {}) => request.post("/order/wxElectronicInvoice", params, {}, {}),
// 我的 失效商品
vegeCellarInvalidList: (params = {}) => request.post("/lpkgoods/vegeCellarInvalidList", params, {}, {}),
@ -153,7 +163,8 @@ export default {
// 结算 跳过支付
saveGoods: (params = {}) => request.post("/vegetablecellar/saveGoods", params),
// 正式结算 支付
createVegeOrder: (params = {}) => request.post("/empsreservoorder/createVegeOrder", params),
// createVegeOrder: (params = {}) => request.post("/empsreservoorder/createVegeOrder", params),
createVegeOrder: (params = {}) => request.post("/order/createVegeOrder", params),
// 我的菜窖 通知公告
@ -161,7 +172,8 @@ export default {
// 我的菜窖 新人礼包列表
newUserQuota: (params = {}) => request.post("/appletgiftbag/newUserQuota", params),
// 结算新人礼包 支付
createNewUserBagOrder: (params = {}) => request.post("/empsreservoorder/createNewUserBagOrder", params),
// createNewUserBagOrder: (params = {}) => request.post("/empsreservoorder/createNewUserBagOrder", params),
createNewUserBagOrder: (params = {}) => request.post("/order/createNewUserBagOrder", params),
// 我的菜窖 类型列表
vegeCellarTypeList: (params = {}) => request.post("/lpkgoods/vegeCellarTypeList", params),
// 我的菜窖 商品列表
@ -175,10 +187,13 @@ export default {
// 我的菜窖 绑定之前发出的礼品卡
bindAllCard: (params = {}) => request.post("/lpkgiftcard/bindAllCard", params),
// 我的菜窖 预约提菜
getStoreBySid: (params = {}) => request.get("/customerstore/getStoreBySid/" + params, params),
getStoreBySid: (params = {}) => request.get("/customerstore/getStoreBySid/" + params.customerSid + "/" + params
.delivery, {}, {}, {}, true),
// 我的菜窖 预约提菜 选择时间范围
getExtractSaturAndSun: (params = {}) => request.get("/customerstore/isSaturAndSun", params),
// 我的菜窖 保存预约提菜
submissionExtract: (params = {}) => request.post("/lpksreservoorders/submission", params, {}, {}, true),
// 预约提货 客户手动填写地址 2024-12-26
submissionExtract2: (params = {}) => request.post("/vegecellarreserveorder/submission", params, {}, {}, true),
}

6
components/NavBar/NavBar.vue

@ -54,7 +54,7 @@
/**
* 全局默认背景透明supportChange= false 会对默认色变成不透明
*/
const defaultTransparentBg = "linear-gradient(89.26deg, rgba(254,144,56,0) 0.75%,rgba(255,177,118,0) 99.78%)";
const defaultTransparentBg = "linear-gradient(89.26deg, rgba(97,204,44,0) 0.75%,rgba(128,200,90,0) 99.78%)";
export default {
name: "NavBar",
@ -161,8 +161,8 @@
*/
defaultColorBgAlpha(res) {
let x = this.alpha(res)
this.navBackground = "linear-gradient(89.26deg, rgba(254,144,56," + x +
") 0.75%,rgba(255,177,118," + x + ") 99.78%)"
this.navBackground = "linear-gradient(89.26deg, rgba(97,204,44," + x +
") 0.75%,rgba(128,200,90," + x + ") 99.78%)"
},
clickIcon() {
// uni.navigateBack()

2
custom-tab-bar/index.js

@ -3,7 +3,7 @@ Component({
selected: 0,
"color": "#FFEEE1",
"selectedColor": "#FFFFFF",
"backgroundColor": "#F69448",
"backgroundColor": "#60CA2C",
list: [
// {
// "pagePath": "/pages/home/cloudCard",

72
custom-tab-bar/index.wxss

@ -1,46 +1,46 @@
.tab-bar {
pointer-events: auto;
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 50px;
/* background: #F69448; */
display: flex;
padding-top: 5px;
padding-bottom: 5px;
/* 加载背景图 */
background-image: url(https://supervise.yxtsoft.com/lpk/image/bom_navigation.png);
/* 让背景图基于容器大小伸缩 */
background-size: 100% 100%;
/* padding-bottom: env(safe-area-inset-bottom); */
pointer-events: auto;
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 50px;
/* background: #F69448; */
display: flex;
padding-top: 5px;
padding-bottom: 5px;
/* 加载背景图 */
background-image: url(https://supervise.yxtsoft.com/lpk/image/bom_navigation_new.png);
/* 让背景图基于容器大小伸缩 */
background-size: 100% 100%;
/* padding-bottom: env(safe-area-inset-bottom); */
}
.tab-bar-border {
background-color: rgba(246, 148, 72, 0.3);
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 1px;
transform: scaleY(0.5);
background-color: rgba(246, 148, 72, 0.3);
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 1px;
transform: scaleY(0.5);
}
.tab-bar-item {
flex: 1;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
flex: 1;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.tab-bar-item cover-image {
width: 27px;
height: 27px;
width: 27px;
height: 27px;
}
.tab-bar-item cover-view {
margin-top: 3px;
font-size: 10px;
margin-top: 3px;
font-size: 10px;
}

13
pages.json

@ -298,6 +298,13 @@
"disableScroll": true
}
},
{
"path": "pages/good/reservation2",
"style": {
"navigationStyle": "custom",
"disableScroll": true
}
},
{
"path": "pages/good/changePersonnel",
"style": {
@ -435,15 +442,15 @@
"globalStyle": {
"navigationBarTextStyle": "white",
"navigationBarTitleText": "惠享云菜窖",
"navigationBarBackgroundColor": "#FE9039",
"backgroundColor": "#FE9039"
"navigationBarBackgroundColor": "#60CA2C",
"backgroundColor": "#60CA2C"
},
"tabBar": {
"custom": true, //tabBar
"color": "#FFEEE1",
"selectedColor": "#191919",
"borderStyle": "white",
"backgroundColor": "#F69448",
"backgroundColor": "#60CA2C",
"list": [
// {
// "pagePath": "pages/home/cloudCard",

347
pages/SelectAddressActivity.vue

@ -1,32 +1,33 @@
<template>
<view>
<view style="position: sticky;top: 0;background-color: #FE9039;">
<view class="search-container">
<!-- 搜索框 -->
<view class="search-container-bar">
<!-- :cancelText="keyBoardPopup ? '取消' : '搜索'" -->
<uni-search-bar ref="searchBar" style="flex:1;margin-left: 20rpx;" radius="100"
v-model="associativeText" :focus="focus" :placeholder="hotWorld" clearButton="auto"
cancelButton="none" @clear="clear" />
<view v-if="stringIsNotEmpty(associativeText) && associativeText!=page.key" @click="search"
style="margin-right: 10px; padding: 3px 8px; font-size: 18px; color: #fff;">搜索</view>
</view>
</view>
<!-- <view class="search-body">
<view>
<view style="position: sticky;top: 0;background-color: #60CA2C;">
<view class="search-container">
<!-- 搜索框 -->
<view class="search-container-bar">
<!-- :cancelText="keyBoardPopup ? '取消' : '搜索'" -->
<uni-search-bar ref="searchBar" style="flex:1;margin-left: 20rpx;" radius="100"
v-model="associativeText" :focus="focus" :placeholder="hotWorld" clearButton="auto"
cancelButton="none" @clear="clear" />
<view v-if="stringIsNotEmpty(associativeText) && associativeText!=page.key" @click="search"
style="margin-right: 10px; padding: 3px 8px; font-size: 18px; color: #fff;">搜索</view>
</view>
</view>
<!-- <view class="search-body">
<view
style="font-size: 26rpx;padding-left: 50rpx;padding-right: 40rpx;padding-top: 10rpx;padding-bottom: 20rpx;color: #FED6B5;">
输入关键字筛选提货点
</view>
</view> -->
</view>
</view>
<loading-state ref="pageView" @request="request">
<!-- 搜索联想 -->
<view style="display: flex;flex-direction: column;background: #FFFFFF;
<loading-state ref="pageView" @request="request">
<!-- 搜索联想 -->
<view
style="display: flex;flex-direction: column;background: #FFFFFF;
border-top-left-radius: 30px;border-top-right-radius: 30px; padding:10px 20px;margin-top: 10px;box-sizing: border-box;padding-bottom: 0px;"
v-for="(item,index) in dataList" :key="index">
<!--
v-for="(item,index) in dataList" :key="index">
<!--
<view
style="display: flex;flex-direction: row;width: 100%;box-sizing: border-box;width: 100%;margin-top:10rpx ;align-items: center;">
<image src="../static/address_name.png" style="width: 50rpx;height: 50rpx;flex-shrink: 0;">
@ -76,169 +77,171 @@
</view>
</view> -->
<text style="font-size: 18px;font-weight: 600;font-family: sans-serif;color: 333;">{{item.name}}</text>
<text style="font-size: 18px;font-weight: 600;font-family: sans-serif;color: 333;">{{item.name}}</text>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<image src="https://supervise.yxtsoft.com/lpk/image/date.png" style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 12px; color: #999;">营业时间{{item.businessHours}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<image src="https://supervise.yxtsoft.com/lpk/image/date.png" style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 12px; color: #999;">营业时间{{item.businessHours}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<image src="https://supervise.yxtsoft.com/lpk/image/location.png" style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 12px; color: #999;flex: 1;">门店地址{{item.address}}</text>
<!-- <image src="https://supervise.yxtsoft.com/lpk/image/navigation.png"
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<image src="https://supervise.yxtsoft.com/lpk/image/location.png" style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 12px; color: #999;flex: 1;">门店地址{{item.address}}</text>
<!-- <image src="https://supervise.yxtsoft.com/lpk/image/navigation.png"
style="width: 20px;height: 20px; margin-right: 20px;"></image> -->
</view>
<view style="display: flex;flex-direction: row;margin-top: 38rpx;border-top: 1rpx #f1f2f3 solid; justify-content: space-between;
</view>
<view style="display: flex;flex-direction: row;margin-top: 38rpx;border-top: 1rpx #f1f2f3 solid; justify-content: space-between;
padding-left: 30px;padding-right:30px;">
<view class="btn" @click.stop="phone(item.phone)">
<image src="https://supervise.yxtsoft.com/lpk/image/phone.png" style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 14px; color: #666;">电话咨询</text>
</view>
<view class="btn" @click.stop="confirm(item)">
<image src="https://supervise.yxtsoft.com/lpk/image/user.png" style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 14px; color: #666;">预约自提</text>
</view>
</view>
</view>
<view class="btn" @click.stop="phone(item.phone)">
<image src="https://supervise.yxtsoft.com/lpk/image/phone.png"
style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 14px; color: #666;">电话咨询</text>
</view>
<view class="btn" @click.stop="confirm(item)">
<image src="https://supervise.yxtsoft.com/lpk/image/user.png" style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;font-size: 14px; color: #666;">预约自提</text>
</view>
</view>
</view>
</loading-state>
<view style="height: 20px;"></view>
</view>
</loading-state>
<view style="height: 20px;"></view>
</view>
</template>
<script>
export default {
data() {
return {
page: {
key: ''
},
associativeText: '',
hotWorld: '输入关键字搜索提货点', //
focus: true, //
dataList: []
}
},
created() {
//
this.request()
// #ifdef APP-PLUS
uni.onKeyboardHeightChange((res) => {
this.keyBoardPopup = res.height !== 0;
})
// #endif
},
methods: {
search() {
this.page.key = this.associativeText
this.request()
},
phone(num) {
uni.makePhoneCall({
phoneNumber: num
});
},
confirm(item) {
uni.$emit('address', item)
uni.navigateBack()
},
request() {
this.$nextTick(() => {
this.$refs.pageView.setLoadState(0)
})
let _this = this
_this.$api.address({
'name': this.page.key
}).then((resp) => {
_this.dataList = resp
if (resp.length == 0) {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(100)
})
} else {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
})
}
}).catch(e => {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(1)
})
})
},
clear(res) {
this.page.key = ''
this.request()
}
}
}
export default {
data() {
return {
page: {
key: ''
},
associativeText: '',
hotWorld: '输入关键字搜索提货点', //
focus: true, //
dataList: []
}
},
created() {
//
this.request()
// #ifdef APP-PLUS
uni.onKeyboardHeightChange((res) => {
this.keyBoardPopup = res.height !== 0;
})
// #endif
},
methods: {
search() {
this.page.key = this.associativeText
this.request()
},
phone(num) {
uni.makePhoneCall({
phoneNumber: num
});
},
confirm(item) {
uni.$emit('address', item)
uni.navigateBack()
},
request() {
this.$nextTick(() => {
this.$refs.pageView.setLoadState(0)
})
let _this = this
_this.$api.address({
'name': this.page.key
}).then((resp) => {
_this.dataList = resp
if (resp.length == 0) {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(100)
})
} else {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
})
}
}).catch(e => {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(1)
})
})
},
clear(res) {
this.page.key = ''
this.request()
}
}
}
</script>
<style lang="scss">
uni-page-body,
page {
background: #f3f4f6;
}
.btn {
margin-top: 10px;
border: 1px solid #FEA561;
border-radius: 20px;
display: flex;flex-direction: row;
align-items: center;
justify-content: center;
padding: 5px 10px;
margin-bottom: 10px;
}
.search-body {
background-color: #FE9039;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
}
@mixin uni-flex {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
}
$search-bar-height: 52px;
$word-container_header-height: 72rpx;
.search-container {
height: $search-bar-height;
@include uni-flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
background: white;
@at-root {
#{&}-bar {
@include uni-flex;
flex-direction: row;
justify-content: center;
align-items: center;
position: absolute;
top: 0;
left: 0;
right: 0;
background: #FE9039;
}
}
}
uni-page-body,
page {
background: #f3f4f6;
}
.btn {
margin-top: 10px;
border: 1px solid #FEA561;
border-radius: 20px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 5px 10px;
margin-bottom: 10px;
}
.search-body {
background-color: #FE9039;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
}
@mixin uni-flex {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
}
$search-bar-height: 52px;
$word-container_header-height: 72rpx;
.search-container {
height: $search-bar-height;
@include uni-flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
background: white;
@at-root {
#{&}-bar {
@include uni-flex;
flex-direction: row;
justify-content: center;
align-items: center;
position: absolute;
top: 0;
left: 0;
right: 0;
background: #60CA2C;
}
}
}
</style>

30
pages/bind/bind_cloudCard.vue

@ -15,8 +15,8 @@
<view
style="height: calc(100vh - 75vw - 98px); overflow: scroll; padding-left: 12px;padding-right: 12px;padding-bottom: 24px;box-sizing: border-box;">
<view style="display: flex;flex-direction: row;align-items: center;">
<view style="background: #FF9D33; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #FFDAB2; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #32ff00; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #d1ff7c; border-radius: 50%;width: 12px;height: 12px;"></view>
<text style="margin-left: 8px;font-size: 18px;color: #333;">好友赠与的礼品</text>
</view>
<view v-for="(item,index) in data.list"
@ -36,12 +36,19 @@
<text style="color: #000;font-size: 14px;font-weight: 600;font-family: sans-serif;"
@click="itemClick(item.goodsSid)">{{item.goodsName}}</text>
<text style="margin-top: 6px;color: #999;font-size: 12px;">{{item.goodsContent}}</text>
<!-- <text style="margin-top: 6px;color: #999;font-size: 12px;">{{item.goodsContent}}</text> -->
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="color: #E36443;font-size: 12px;">{{item.goodsFs}}</text>
<text style="color: #E36443;margin-left: 10px;font-size: 12px;">{{item.goodsJs}}</text>
<text
style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; ">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text v-show="item.remarks!=''" style="margin-left: 10px; border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.remarks}}</text>
<!-- <text style="color: #E36443;font-size: 12px;">{{item.goodsFs}}</text>
<text style="color: #E36443;margin-left: 10px;font-size: 12px;">{{item.goodsJs}}</text> -->
<!-- <text
style="margin-left: 10px;color: #E36443;border: 1px #E36443 solid;border-radius: 8px;padding: 1px 10px;font-size: 12px;">{{item.price}}</text> -->
@ -49,6 +56,11 @@
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 5px;">
<text style="font-size: 14px;color: #FF5006;">{{item.goodsFs}}</text>
</view>
</view>
</view>
@ -58,8 +70,8 @@
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 10px;"
v-if="data.remarks!=''">
<view style="background: #FF9D33; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #FFDAB2; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #32ff00; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #d1ff7c; border-radius: 50%;width: 12px;height: 12px;"></view>
<text style="margin-left: 8px;font-size: 18px;color: #333;">转赠留言</text>
</view>
@ -75,7 +87,7 @@
<text
style=" text-align: center;width: 100%;color: #4F4F4F;font-size: 12px;margin-top: 12px;">温馨提示:您的好友赠送您一份心意请接收</text>
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B);
<view style="background: -webkit-linear-gradient(left,#d1ff7c,#32ff00);
width: 100%;border-radius: 25px;height: 50px;text-align: center;
margin-top: 12px;line-height: 50px;color: #FFFFFF;font-size: 16px;" @click="save">
接收</view>

322
pages/bind/bind_pickUpCard2.vue

@ -1,21 +1,21 @@
<template>
<!-- 扫码进入 携带参数 -->
<!-- 扫码进入 携带参数 -->
<view style="display: flex;flex-direction: column;background-color: #fff;">
<view style="display: flex;flex-direction: column;background-color: #fff;">
<view class="top">
<NavBar ref="nav" navTitle="绑定云菜窖" :showIcon="true" :start-change-height="page.startHeight"
:end-change-height="page.endHeight">
</NavBar>
<view>
<image src="https://supervise.yxtsoft.com/lpk/image/bind_bj.png" mode="scaleToFill"
style="width: 100%;height: 70vw"></image>
</view>
<view class="top">
<NavBar ref="nav" navTitle="绑定云菜窖" :showIcon="true" :start-change-height="page.startHeight"
:end-change-height="page.endHeight">
</NavBar>
<view>
<image src="https://supervise.yxtsoft.com/lpk/image/bind_bj.png" mode="scaleToFill"
style="width: 100%;height: 70vw"></image>
</view>
</view>
</view>
<!-- <view style="display: flex;flex-direction: column;margin-top: -10vw;box-sizing: border-box;">
<!-- <view style="display: flex;flex-direction: column;margin-top: -10vw;box-sizing: border-box;">
<view
style="display: flex;flex-direction: column;border-radius: 20rpx;background: #FFFFFF;z-index: 1;align-items: center;box-sizing: border-box;">
<view style="margin: 15px;">绑定云菜窖卡</view>
@ -40,167 +40,167 @@
@click="save">
绑定</view> -->
<view style="display: flex;flex-direction: column;padding:20px;">
<view style="display: flex;flex-direction: column;padding:20px;">
<view style="display: flex;flex-direction: row;align-items: center;">
<view style="background: #FF9D33; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #FFDAB2; border-radius: 50%;width: 12px;height: 12px;"></view>
<text style="margin-left: 8px;font-size: 18px;color: #333;">绑定云菜窖</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;">
<view style="background: #32ff00; border-radius: 50%;width: 12px;height: 12px;"></view>
<view style="background: #d1ff7c; border-radius: 50%;width: 12px;height: 12px;"></view>
<text style="margin-left: 8px;font-size: 18px;color: #333;">绑定云菜窖</text>
</view>
<text style="margin-left: 8px;font-size: 14px;color: #333;margin-top: 20px;">提货编码</text>
<view style="display: flex;flex-direction: row;justify-content: space-between;
<text style="margin-left: 8px;font-size: 14px;color: #333;margin-top: 20px;">提货编码</text>
<view style="display: flex;flex-direction: row;justify-content: space-between;
background: #F8F8F8;border-radius: 5px;box-sizing: border-box;
width: calc(100vw -40px);align-items: center; padding:10px 0px;margin-top: 5px;">
<input maxlength="20" placeholder="请输入/扫码"
style="font-size: 30rpx;flex: 1;margin-right: 20px;padding-left: 10px;" type="number"
:value="page.code" @input="onKeyInput1" />
<view style="width: 1px;height: 20px;background: #ccc; margin-right: 10px;"></view>
<uni-icons type="camera-filled" color="#c0c4cc" size="22" style="flex-shrink: 0;margin-right: 10px;"
@click="scan" />
</view>
<text style="margin-left: 8px;font-size: 14px;color: #333;margin-top: 20px;">提货密码</text>
<view style="display: flex;flex-direction: row;justify-content: space-between;
<input maxlength="20" placeholder="请输入/扫码"
style="font-size: 30rpx;flex: 1;margin-right: 20px;padding-left: 10px;" type="number"
:value="page.code" @input="onKeyInput1" />
<view style="width: 1px;height: 20px;background: #ccc; margin-right: 10px;"></view>
<uni-icons type="camera-filled" color="#c0c4cc" size="22" style="flex-shrink: 0;margin-right: 10px;"
@click="scan" />
</view>
<text style="margin-left: 8px;font-size: 14px;color: #333;margin-top: 20px;">提货密码</text>
<view style="display: flex;flex-direction: row;justify-content: space-between;
background: #F8F8F8;border-radius: 5px; padding:10px 0px;
box-sizing: border-box;width: calc(100vw - 40px);align-items: center;margin-top: 10px;">
<input maxlength="6" placeholder="请输入提货密码" style="font-size: 30rpx;flex: 1;padding-left: 10px;"
type="number" :value="page.codeKey" @input="onKeyInput2" />
</view>
<input maxlength="6" placeholder="请输入提货密码" style="font-size: 30rpx;flex: 1;padding-left: 10px;"
type="number" :value="page.codeKey" @input="onKeyInput2" />
</view>
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B); position: absolute; bottom: 30px;
<view style="background: -webkit-linear-gradient(left,#d1ff7c,#32ff00); position: absolute; bottom: 30px;
width: 90%;border-radius: 100rpx;height: 80rpx;display: flex;
flex-direction: column;align-items: center;line-height: 80rpx;color: #FFFFFF;font-size: 36rpx;" @click="save">
接收</view>
</view>
</view>
接收</view>
</view>
</view>
</template>
<script>
//bus
import bus from '@/common/bus';
export default {
data() {
return {
page: {
code: '',
codeKey: '',
customerSid: ''
}
}
},
onUnload() {
let pages = getCurrentPages().length - 1;
wx.navigateBack({
delta: pages
})
},
onLoad(options) {
let _this = this;
wx.login({
success: function(res) {
uni.request({
//
url: getApp().globalData.wxSilentLoginURL + "?wxCode=" + res.code,
method: "GET",
header: {
'content-type': "application/x-www-form-urlencoded"
},
data: {
"wxCode": res.code
},
success: res => {
if (res.statusCode == 200) {
if (!res.data.success) {
if (res.data.code == "110") {
//
uni.reLaunch({
url: '/pages/index/BindPhone?openid=' +
res.data.data.wxMpOpenid
})
} else {
// _this.status = 'more'
}
} else {
//
getApp().globalData.sid = res.data.data.sid
_this.page.customerSid = getApp().globalData.sid
console.log("用户sid", getApp().globalData.sid)
}
} else {
// _this.status = 'more'
}
},
fail: (err) => {
// _this.status = 'more'
}
});
},
fail: function(res) {
// _this.status = 'more'
}
});
if (options) {
console.log("options", options)
const q = decodeURIComponent(options.q) //
console.log("二维码原始链接内容", q)
var code = q.split('=')[1]
// var code = this.getQueryString(q, 'code');// code
console.log("提货卡编码", code)
this.page.code = code
}
},
methods: {
onKeyInput1: function(event) {
this.page.code = event.target.value
},
onKeyInput2: function(event) {
this.page.codeKey = event.target.value
},
scan() {
//
let _this = this
uni.scanCode({
onlyFromCamera: true,
success: function(res) {
_this.page.code = res.result.substring(res.result.length - 20, res.result.length)
}
});
},
save() {
this.page.customerSid = getApp().globalData.sid
if (this.stringIsEmpty(this.page.code) || this.page.code.length != 20) {
this.shortToast('请输入20位提货编码')
return
}
if (this.stringIsEmpty(this.page.codeKey) || this.page.codeKey.length != 6) {
this.shortToast('请输入6位提货密码')
return
}
let _this = this
console.log("+++++++++++", this.page);
_this.$api.bindAllCard(this.page).then((resp) => {
// bus.$emit('order', "");
uni.switchTab({
url: '/pages/home/myCellar'
})
}).catch(e => {
_this.longToast(e.msg)
})
}
}
}
//bus
import bus from '@/common/bus';
export default {
data() {
return {
page: {
code: '',
codeKey: '',
customerSid: ''
}
}
},
onUnload() {
let pages = getCurrentPages().length - 1;
wx.navigateBack({
delta: pages
})
},
onLoad(options) {
let _this = this;
wx.login({
success: function(res) {
uni.request({
//
url: getApp().globalData.wxSilentLoginURL + "?wxCode=" + res.code,
method: "GET",
header: {
'content-type': "application/x-www-form-urlencoded"
},
data: {
"wxCode": res.code
},
success: res => {
if (res.statusCode == 200) {
if (!res.data.success) {
if (res.data.code == "110") {
//
uni.reLaunch({
url: '/pages/index/BindPhone?openid=' +
res.data.data.wxMpOpenid
})
} else {
// _this.status = 'more'
}
} else {
//
getApp().globalData.sid = res.data.data.sid
_this.page.customerSid = getApp().globalData.sid
console.log("用户sid", getApp().globalData.sid)
}
} else {
// _this.status = 'more'
}
},
fail: (err) => {
// _this.status = 'more'
}
});
},
fail: function(res) {
// _this.status = 'more'
}
});
if (options) {
console.log("options", options)
const q = decodeURIComponent(options.q) //
console.log("二维码原始链接内容", q)
var code = q.split('=')[1]
// var code = this.getQueryString(q, 'code');// code
console.log("提货卡编码", code)
this.page.code = code
}
},
methods: {
onKeyInput1: function(event) {
this.page.code = event.target.value
},
onKeyInput2: function(event) {
this.page.codeKey = event.target.value
},
scan() {
//
let _this = this
uni.scanCode({
onlyFromCamera: true,
success: function(res) {
_this.page.code = res.result.substring(res.result.length - 20, res.result.length)
}
});
},
save() {
this.page.customerSid = getApp().globalData.sid
if (this.stringIsEmpty(this.page.code) || this.page.code.length != 20) {
this.shortToast('请输入20位提货编码')
return
}
if (this.stringIsEmpty(this.page.codeKey) || this.page.codeKey.length != 6) {
this.shortToast('请输入6位提货密码')
return
}
let _this = this
console.log("+++++++++++", this.page);
_this.$api.bindAllCard(this.page).then((resp) => {
// bus.$emit('order', "");
uni.switchTab({
url: '/pages/home/myCellar'
})
}).catch(e => {
_this.longToast(e.msg)
})
}
}
}
</script>
<style>

2
pages/card/card_detail.vue

@ -530,7 +530,7 @@
var data = res.target.dataset.info
this.shareCard(data.sid)
return {
title: '汇融农链-云菜窖',
// title: '-',
path: '/pages/bind/bind_giftCard?code=' + data.code + '&codeKey=' + data.codeKey,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareGift.png', // 5:4
success: function(res) {

2
pages/card/card_detail2.vue

@ -244,7 +244,7 @@
var data = res.target.dataset.info
this.shareCard(data.sid)
return {
title: '汇融农链-云菜窖',
// title: '-',
path: '/pages/bind/bind_giftCard?code=' + data.code + '&codeKey=' + data.codeKey,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareGift.png', // 5:4
success: function(res) {

2
pages/detail/detail_affeection.vue

@ -610,7 +610,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链ss-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4

2
pages/detail/detail_affeection2.vue

@ -276,7 +276,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4

2
pages/detail/detail_enterprise.vue

@ -620,7 +620,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4

2
pages/detail/detail_enterprise2.vue

@ -272,7 +272,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4

2
pages/detail/detail_family.vue

@ -613,7 +613,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4

2
pages/detail/detail_family2.vue

@ -276,7 +276,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4

2
pages/enterprise/corporate_card_detail.vue

@ -545,7 +545,7 @@
var data = res.target.dataset.info
this.shareCard(data.sid)
return {
title: '汇融农链-云菜窖',
// title: '-',
path: '/pages/bind/bind_giftCard?code=' + data.code + '&codeKey=' + data.codeKey,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share.png', // 5:4
success: function(res) {

2
pages/enterprise/corporate_card_detail2.vue

@ -231,7 +231,7 @@
var data = res.target.dataset.info
this.shareCard(data.sid)
return {
title: '汇融农链-云菜窖',
// title: '-',
path: '/pages/bind/bind_giftCard?code=' + data.code + '&codeKey=' + data.codeKey,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share.png', // 5:4
success: function(res) {

2
pages/enterprise/welfare_card_detail.vue

@ -513,7 +513,7 @@
var data = res.target.dataset.info
this.shareCard(data.sid)
return {
title: '汇融农链-云菜窖',
// title: '-',
path: '/pages/bind/bind_giftCard?code=' + data.code + '&codeKey=' + data.codeKey,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareGift.png', // 5:4
success: function(res) {

2
pages/enterprise/welfare_card_detail2.vue

@ -233,7 +233,7 @@
var data = res.target.dataset.info
this.shareCard(data.sid)
return {
title: '汇融农链-云菜窖',
// title: '-',
path: '/pages/bind/bind_giftCard?code=' + data.code + '&codeKey=' + data.codeKey,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareGift.png', // 5:4
success: function(res) {

8
pages/good/changePersonnel.vue

@ -3,7 +3,7 @@
<view
style="display: flex;flex-direction: column; background: #f7f7f7;height: 100%;box-sizing: border-box;position: absolute;width: 100%;">
<NavBar ref="nav" navTitle="提货人信息" :showIcon="true" :supportChange="false">
<NavBar ref="nav" navTitle="联系人信息" :showIcon="true" :supportChange="false">
</NavBar>
<view style="display: flex;flex-direction: column; margin: 10px; border-radius: 15px; background: #fff;
@ -11,9 +11,9 @@
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 14px;color: #999;">提货</text>
<text style="font-size: 14px;color: #999;">联系</text>
<input placeholder="请输入提货人" style="font-size: 25rpx;flex: 1;height: 35px;line-height: 35px;padding-left: 10px;padding-right: 10px; margin-left: 15px;
<input placeholder="请输入联系人" style="font-size: 25rpx;flex: 1;height: 35px;line-height: 35px;padding-left: 10px;padding-right: 10px; margin-left: 15px;
border-bottom: 1px #EFEFEF solid;padding-bottom: 1px;" :value="page.name" @input="onKeyInput1" />
</view>
@ -29,7 +29,7 @@
<view
style=" width: 100%; box-sizing: border-box; padding-left: 10vw;padding-right: 10vw;display: flex;flex-direction: row; justify-content: center;align-items: center;">
<text style=" background: #FF9900;color: #fff;margin-top: 20px;margin-bottom: 20px; border-radius: 20px;
<text style=" background: #60CA2C;color: #fff;margin-top: 20px;margin-bottom: 20px; border-radius: 20px;
padding-top: 10px;padding-bottom: 10px;padding-left: 25vw;padding-right: 25vw; text-align: center;"
@click="confirm()">确认</text>
</view>

24
pages/good/goodsDetail.vue

@ -1,7 +1,7 @@
<template>
<view style="height: 100vh;background: #fff;">
<loading-state ref="pageView" @request="request">
<view style="height: 85vh;overflow: hidden;overflow-y: auto;">
<view style="height: 100vh;overflow: hidden;overflow-y: auto;">
<image :src="data.picUrl" style="width: 100vw;height: 80vw;" mode="scaleToFill"></image>
<view style="display: flex;flex-direction: column;background: #fff;padding: 20px 20px 0px 20px;margin-top: 10px;
@ -14,19 +14,19 @@
</view>
<view style="display: flex;flex-direction: row;justify-content: space-between;margin-top: 10px;">
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text
style="font-size: 13px;color: #999;">{{data.weight}}{{data.specificationUnit}}/{{data.unitName}}</text>
</view>
<view style="display: flex;flex-direction: row;justify-content: space-between;margin-top: 10px;">
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text style="font-size: 13px;color: #999;">{{data.remarks}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 20px;">
<view style="width: 2px;height: 15px;background: #FF7A11;margin-right: 10px;"></view>
<view style="width: 2px;height: 15px;background: #61CB29;margin-right: 10px;"></view>
<text style="font-size: 14px;font-weight: 600;font-family: sans-serif;color: #333;">商品详情</text>
</view>
@ -40,11 +40,11 @@
</view>
</loading-state>
<view
<!-- <view
style="position: absolute; bottom: 0px; display: flex;flex-direction: column;width: 100%;
box-sizing: border-box; padding-left: 16px;padding-right: 16px;background: #fff; height: 12vh;border-top: 1px solid #EFEFEF;">
box-sizing: border-box; padding-left: 16px;padding-right: 16px;background: #fff; height: 12vh;border-top: 1px solid #EFEFEF;"> -->
<!-- <view
<!-- <view
style="display: flex;flex-direction: row;align-items: center; justify-content: center; margin-top:10px;">
<view id="bomView" style="display: flex;flex-direction: row;align-items: center;">
@ -69,13 +69,13 @@
</view>
</view> -->
<view
<!-- <view
style="display: flex;flex-direction: row; justify-content: center;align-items: center;margin-top: 10px;padding: 0px 10px;margin-bottom: 20px;">
<text style="background: #FF9900; color: #fff;font-size: 14px; padding: 0px 15px;height: 50px;line-height:50px;flex: 1;text-align: center;
border: 1px #FF9900 solid; border-radius: 25px;" @click="showDialog()">加入购物车</text>
border: 1px #FF9900 solid; border-radius: 25px;" @click="showDialog()">加入购物车</text> -->
<!-- <view style="border: 1px #FF9900 solid;border-top-right-radius: 25px; border-bottom-right-radius: 25px;padding: 0px 5px;height: 50px;line-height:50px;flex: 1;
<!-- <view style="border: 1px #FF9900 solid;border-top-right-radius: 25px; border-bottom-right-radius: 25px;padding: 0px 5px;height: 50px;line-height:50px;flex: 1;
display: flex;flex-direction: row;align-items: center;box-sizing: border-box;justify-content: center;"
@click="gotoCart()">
<image src="../../static/shoppCart_icon.png" mode="aspectFill"
@ -89,8 +89,8 @@
</view>
</view> -->
</view>
</view>
<!-- </view> -->
<!-- </view> -->
<!-- 弹窗蒙版 -->

5
pages/good/goodsDetail2.vue

@ -14,15 +14,16 @@
</view>
<view style="display: flex;flex-direction: row;justify-content: space-between;margin-top: 10px;">
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text
style="font-size: 13px;color: #999;">{{data.weight}}{{data.specificationUnit}}/{{data.unitName}}</text>
</view>
<view style="display: flex;flex-direction: row;justify-content: space-between;margin-top: 10px;">
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text style="font-size: 13px;color: #666;">&ensp;&ensp;&ensp;&ensp;</text>
<text style="font-size: 13px;color: #999;">{{data.remarks}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 20px;">
<view style="width: 2px;height: 15px;background: #FF7A11;margin-right: 10px;"></view>

81
pages/good/reservation.vue

@ -1,5 +1,5 @@
<template>
<view style="width: 100%;height: 100%;background: #FFA35A;display: flex;flex-direction: column;">
<view style="width: 100%;height: 100%;background: #60CA2C;display: flex;flex-direction: column;">
<NavBar ref="nav" navTitle="预约提货" :showIcon="true" :supportChange="false">
</NavBar>
@ -14,7 +14,7 @@
<view style="display: flex;flex-direction: column;background: #fff;
border-radius: 15px;padding: 15px 10px;">
<!--
<view v-if="info.storeSid!=''"
style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;">
@ -58,16 +58,31 @@
</image>
<text style="margin-left: 5px;flex: 1; color: #666;font-size: 14px;">{{info.address}}</text>
</view> -->
<view style="display: flex;flex-direction: row;align-items: center;">
<text
style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif; ">配送地址</text>
<textarea bindblur="bindTextAreaBlur" :value="info.userAddress" @input="onKeyInput2"
style=" margin-left: 15px;border-bottom: 1px solid #ccc; padding-bottom: 5px; flex: 1;"
auto-height placeholder="请输入详细配送地址精确到门牌号" />
<!-- <input placeholder="."
style="font-size: 25rpx;flex: 1;height: 35px;line-height: 35px;padding-left: 10px;padding-right: 10px; margin-left: 15px;"
:value="page.phone" @input="onKeyInput2" /> -->
</view>
<view
style="display: flex;flex-direction: row;align-items: center;justify-content: center;margin-top: 16px;">
<text
style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif; flex: 1;">提货时间</text>
style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif; flex: 1;">配送时间</text>
<uni-datetime-picker type="date" v-model="info.reserveDate" :start="info.start"
:clearIcon="false" :border="false" :end="info.end" :disabledDate="disabledDate" />
:clearIcon="false" :border="false" :disabledDate="disabledDate" />
<image src="../../static/right_icon.png" style="width: 15px;height: 15px;margin-left: 5px;">
</image>
</view>
@ -78,7 +93,7 @@
<view style="margin-top: 10px;display: flex;flex-direction: row;background: #fff;align-items: center;
border-radius: 15px;padding: 15px 10px;justify-content: space-between;">
<text style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif;">提货</text>
<text style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif;">联系</text>
<view v-if="info.name!=''" style="display: flex;flex-direction: row;align-items: center;"
@click="changePer()">
@ -109,7 +124,7 @@
<text style="font-size: 15px; color: #000; font-weight: 600;font-family: sans-serif;">提货列表</text>
<scroll-view scroll-y="true" style="max-height:calc(100vh - 450px); width: 100%; box-sizing: border-box; margin-top: 10px;;
<scroll-view scroll-y="true" style="max-height:calc(100vh - 400px); width: 100%; box-sizing: border-box; margin-top: 10px;;
" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll">
<view style="width: 100%; display: flex;flex-direction: column; margin-top: 10px;">
@ -129,15 +144,16 @@
<text style="font-size: 13px;color: #000;"
@click="itemClick(item.goodsSid)">{{item.name}}</text>
<text
style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text>
<!-- <text
style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text> -->
<view
style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text
style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; margin-right: 10px; ">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; ">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text v-show="item.remarks!=''" style="margin-left: 10px; border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.remarks}}</text>
<text
style="border: 1px #EE752F solid; background: #FF9900; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='0'">百姓菜!</text>
@ -157,7 +173,7 @@
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 12px;color: #FF5006;">存量</text>
<text
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}{{item.unitName}}</text>
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}</text>
</view>
@ -191,8 +207,8 @@
</view>
<view
style="position: fixed;bottom: 0; width: 100%; box-sizing: border-box; padding-left: 10vw;padding-right: 10vw;display: flex;flex-direction: row; justify-content: center;align-items: center;">
<text style=" background: #FF9900;color: #fff;margin-bottom: 20px; border-radius: 20px;
style=" position: fixed;bottom: 0; width: 100%; box-sizing: border-box; padding-left: 10vw;padding-right: 10vw;display: flex;flex-direction: row; justify-content: center;align-items: center;">
<text style=" background: #60CA2C;color: #fff;margin-bottom: 20px; border-radius: 20px;
padding-top: 10px;padding-bottom: 10px;padding-left: 25vw;padding-right: 25vw; text-align: center;"
@click="congirmExtract()">确认提货</text>
</view>
@ -208,6 +224,7 @@
data() {
return {
affiliation: "",
delivery: "",
info: {
},
@ -234,23 +251,26 @@
this.info.phone = e.phone;
})
this.request()
this.getSun()
this.pickingUpGoods = JSON.parse(decodeURIComponent(options.pickingUpGoods))
this.affiliation = options.affiliation
this.delivery = options.delivery
console.log(">>>>>", options);
console.log(">>>>>", this.pickingUpGoods);
console.log(">>>>>", this.affiliation);
console.log(">>>>>", this.delivery);
this.request()
this.getSun()
},
onUnload() {
uni.$off('address');
uni.$off('changePer');
},
methods: {
onKeyInput2(val) {
this.info.userAddress = val.detail.value
},
itemClick(goodsSid) {
uni.navigateTo({
url: '/pages/good/goodsDetail?sid=' + goodsSid
@ -279,7 +299,15 @@
//
request() {
let _this = this
_this.$api.getStoreBySid(getApp().globalData.sid).then((resp) => {
var params = {
customerSid: getApp().globalData.sid,
delivery: _this.delivery
}
console.log(">>>>>", params);
_this.$api.getStoreBySid(params).then((resp) => {
_this.info = resp
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
@ -335,19 +363,24 @@
this.btnDisabled = true
if (_this.info.storeSid == '') {
this.shortToast('请完善提货点信息')
console.log('用户点击确定', _this.info.userAddress)
if (_this.info.userAddress == '' || _this.info.userAddress == undefined) {
this.shortToast('请完善配送地址')
this.btnDisabled = false
return
}
if (_this.info.reserveDate == '') {
this.shortToast('请选择日期')
this.btnDisabled = false
return
}
if (this.info.name == "" || this.info.phone == '') {
this.shortToast('请完善提菜人信息')
this.shortToast('请完善联系人信息')
this.btnDisabled = false
return
}
@ -365,6 +398,7 @@
if (list.length == 0) {
this.shortToast('请添加商品')
this.btnDisabled = false
return
}
@ -373,13 +407,14 @@
affiliation: _this.affiliation,
reserveDate: _this.info.reserveDate,
storeSid: _this.info.storeSid,
userAddress: _this.info.userAddress,
userName: _this.info.name,
userPhone: _this.info.phone,
goodsVos: list
}
console.log("pppp", params);
_this.$api.submissionExtract(params).then((resp) => {
_this.$api.submissionExtract2(params).then((resp) => {
uni.navigateBack()
_this.btnDisabled = false
}).catch(e => {

424
pages/good/reservation2.vue

@ -0,0 +1,424 @@
<template>
<view style="width: 100%;height: 100%;background: #60CA2C;display: flex;flex-direction: column;">
<NavBar ref="nav" navTitle="预约提货" :showIcon="true" :supportChange="false">
</NavBar>
<loading-state ref="pageView" @request="request">
<!-- <view style="background: #FFA35A;width: 100%;height: 100%;"> -->
<view style="display: flex;flex-direction: column;background: #F2F2F2; width: 100%;
border-radius: 25px;height: 100vh; padding: 10px;box-sizing: border-box;">
<view style="display: flex;flex-direction: column;background: #fff;
border-radius: 15px;padding: 15px 10px;">
<view v-if="info.storeSid!=''"
style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;">
<text
style="font-size: 16px;color: #000; font-weight: 600;font-family: sans-serif;">{{info.storeName}}</text>
<view style="display: flex;flex-direction: row;align-items: center;" @click="address()">
<text style="font-size: 12px;color: #FF9900;">切换</text>
<image src="../../static/right_icon.png" style="width: 15px;height: 15px;margin-left: 5px;">
</image>
</view>
</view>
<view v-if="info.storeSid==''"
style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;">
<text
style="font-size: 16px;color: #000; font-weight: 600;font-family: sans-serif;">暂无提货点信息</text>
<view style="display: flex;flex-direction: row;align-items: center;" @click="address()">
<text style="font-size: 12px;color: #FF9900;">去完善</text>
<image src="../../static/right_icon.png" style="width: 15px;height: 15px;margin-left: 5px;">
</image>
</view>
</view>
<view v-if="info.storeSid!=''"
style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<image src="https://supervise.yxtsoft.com/lpk/image/date.png" style="width:20px;height: 20px;">
</image>
<text
style="margin-left: 5px;flex: 1;color: #666;font-size: 14px;">{{info.businessHours}}</text>
</view>
<view v-if="info.storeSid!=''"
style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<image src="https://supervise.yxtsoft.com/lpk/image/location.png"
style="width: 20px;height: 20px;">
</image>
<text style="margin-left: 5px;flex: 1; color: #666;font-size: 14px;">{{info.address}}</text>
</view>
<!-- <view style="display: flex;flex-direction: row;align-items: center;">
<text
style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif; ">配送地址</text>
<textarea bindblur="bindTextAreaBlur" :value="info.userAddress" @input="onKeyInput2"
style=" margin-left: 15px;border-bottom: 1px solid #ccc; padding-bottom: 5px; flex: 1;"
auto-height placeholder="请输入详细配送地址精确到门牌号" />
</view>
-->
<view
style="display: flex;flex-direction: row;align-items: center;justify-content: center;margin-top: 16px;">
<text
style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif; flex: 1;">提货时间</text>
<uni-datetime-picker type="date" v-model="info.reserveDate" :start="info.start"
:clearIcon="false" :border="false" :disabledDate="disabledDate" />
<image src="../../static/right_icon.png" style="width: 15px;height: 15px;margin-left: 5px;">
</image>
</view>
</view>
<view style="margin-top: 10px;display: flex;flex-direction: row;background: #fff;align-items: center;
border-radius: 15px;padding: 15px 10px;justify-content: space-between;">
<text style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif;">联系人</text>
<view v-if="info.name!=''" style="display: flex;flex-direction: row;align-items: center;"
@click="changePer()">
<text
style="font-size: 14px;color: #000; font-weight: 600;font-family: sans-serif;">{{info.name}}</text>
<text style="font-size: 12px;color: #999; margin-left: 8px;">{{info.phone}}</text>
<image src="../../static/right_icon.png" style="width: 15px;height: 15px;margin-left: 5px;">
</image>
</view>
<view v-if="info.name==''" style="display: flex;flex-direction: row;align-items: center;"
@click="changePer()">
<text style="font-size: 12px;color: #999; margin-left: 8px;">去完善</text>
<image src="../../static/right_icon.png" style="width: 15px;height: 15px;margin-left: 5px;">
</image>
</view>
</view>
<view
style="margin-top: 10px;display: flex;flex-direction: column;background: #fff;border-radius: 15px;padding: 10px;">
<text style="font-size: 15px; color: #000; font-weight: 600;font-family: sans-serif;">提货列表</text>
<scroll-view scroll-y="true" style="max-height:calc(100vh - 400px); width: 100%; box-sizing: border-box; margin-top: 10px;;
" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll">
<view style="width: 100%; display: flex;flex-direction: column; margin-top: 10px;">
<view v-for="(item,index) in pickingUpGoods"
style="display: flex;flex-direction: column;justify-content: center;width: 100%; margin-top: 15px; ">
<view style="display: flex;flex-direction: row;align-items: center;width: 100%; ">
<image :src="item.iconUrl" @click="itemClick(item.goodsSid)"
style="width: 90px;height: 90px; border-radius: 10px; " mode="aspectFill">
</image>
<view
style="display: flex;flex-direction: column;flex: 1; padding-bottom: 15px; margin-left: 10px;"
:style="{'border-bottom':(index == pickingUpGoods.length-1 ? 'none' : '1px #EFEFEF solid')}">
<text style="font-size: 13px;color: #000;"
@click="itemClick(item.goodsSid)">{{item.name}}</text>
<!-- <text
style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text> -->
<view
style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; ">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text v-show="item.remarks!=''" style="margin-left: 10px; border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.remarks}}</text>
<text
style="border: 1px #EE752F solid; background: #FF9900; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='0'">百姓菜!</text>
<text
style="border: 1px #3AA15F solid; background: #40C772; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='1'">精品菜!</text>
<text
style="border: 1px #1D60C7 solid; background: #2489F7; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='2'">企业菜!</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;justify-content: space-between; margin-top: 15px;
margin-right: 15px;">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 12px;color: #FF5006;">存量</text>
<text
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;">
<image src="../../static/jian_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;" @click.stop="jian(item)">
</image>
<text
style="font-size: 14px;margin-left: 8px;margin-right: 8px;">{{item.count}}</text>
<image src="../../static/jia_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;" @click.stop="jia(item)">
</image>
</view>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
<view
style=" position: fixed;bottom: 0; width: 100%; box-sizing: border-box; padding-left: 10vw;padding-right: 10vw;display: flex;flex-direction: row; justify-content: center;align-items: center;">
<text style=" background: #60CA2C;color: #fff;margin-bottom: 20px; border-radius: 20px;
padding-top: 10px;padding-bottom: 10px;padding-left: 25vw;padding-right: 25vw; text-align: center;"
@click="congirmExtract()">确认提货</text>
</view>
</view>
<!-- </view> -->
</loading-state>
</view>
</template>
<script>
export default {
data() {
return {
affiliation: "",
delivery: "",
info: {
},
pickingUpGoods: [],
disabledDate: [
// '2023-12-16'
],
btnDisabled: false
}
},
onLoad(options) {
uni.$on("address", (e) => {
//
this.info.storeSid = e.sid;
this.info.storeName = e.name;
this.info.businessHours = e.businessHours;
this.info.address = e.address;
})
uni.$on("changePer", (e) => {
//
this.info.name = e.name;
this.info.phone = e.phone;
})
this.pickingUpGoods = JSON.parse(decodeURIComponent(options.pickingUpGoods))
this.affiliation = options.affiliation
this.delivery = options.delivery
console.log(">>>>>", options);
console.log(">>>>>", this.pickingUpGoods);
console.log(">>>>>", this.affiliation);
console.log(">>>>>", this.delivery);
this.request()
this.getSun()
},
onUnload() {
uni.$off('address');
uni.$off('changePer');
},
methods: {
onKeyInput2(val) {
this.info.userAddress = val.detail.value
},
itemClick(goodsSid) {
uni.navigateTo({
url: '/pages/good/goodsDetail?sid=' + goodsSid
})
},
getSun() {
let _this = this
_this.$api.getExtractSaturAndSun().then((resp) => {
_this.disabledDate = resp
}).catch(e => {
})
},
address() {
uni.navigateTo({
url: '/pages/SelectAddressActivity'
})
},
changePer() {
uni.navigateTo({
url: '/pages/good/changePersonnel?name=' + this.info.name + "&phone=" + this.info.phone
})
},
//
request() {
let _this = this
var params = {
customerSid: getApp().globalData.sid,
delivery: _this.delivery
}
console.log(">>>>>", params);
_this.$api.getStoreBySid(params).then((resp) => {
_this.info = resp
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
})
}).catch(e => {
console.log(e);
})
},
jian(item) {
console.log("item》》》》", item)
const that = this
if (Number(item.count) == 1) {
wx.showModal({
content: '确定不要了吗',
cancelText: "再想想",
confirmText: "删除",
confirmColor: "#FF9900",
success(res) {
if (res.confirm) {
console.log('用户点击确定')
item.count = 0
const index = that.pickingUpGoods.findIndex((info) => info.goodsSid === item
.goodsSid)
console.log("index》》》》", index)
that.pickingUpGoods.splice(index, 1)
} else if (res.cancel) {
}
}
})
} else {
if (Number(item.count) > 0) {
item.count = Number(item.count) - 1
}
}
},
jia(item) {
if (item.count < item.goodsNumber)
item.count = Number(item.count) + 1
},
congirmExtract() {
let _this = this
if (this.btnDisabled) {
this.shortToast('请勿重复点击')
return
}
this.btnDisabled = true
if (_this.info.storeSid == '') {
this.shortToast('请完善提货点信息')
return
}
if (_this.info.reserveDate == '') {
this.shortToast('请选择日期')
this.btnDisabled = false
return
}
if (this.info.name == "" || this.info.phone == '') {
this.shortToast('请完善联系人信息')
this.btnDisabled = false
return
}
let list = []
for (var i = 0; i < this.pickingUpGoods.length; i++) {
var item = this.pickingUpGoods[i]
if (item.count > 0)
list.push({
goodsSid: item.goodsSid,
select: item.count,
})
}
// console.log("ddd", list);
if (list.length == 0) {
this.shortToast('请添加商品')
this.btnDisabled = false
return
}
var params = {
customerSid: getApp().globalData.sid,
affiliation: _this.affiliation,
reserveDate: _this.info.reserveDate,
storeSid: _this.info.storeSid,
userAddress: '',
userName: _this.info.name,
userPhone: _this.info.phone,
goodsVos: list
}
console.log("pppp", params);
_this.$api.submissionExtract2(params).then((resp) => {
uni.navigateBack()
_this.btnDisabled = false
}).catch(e => {
console.log(e);
_this.btnDisabled = false
})
},
}
}
</script>
<style>
</style>

13
pages/good/transfer.vue

@ -1,5 +1,5 @@
<template>
<view style="width: 100%;height: 100%;background: #FFA35A;display: flex;flex-direction: column;">
<view style="width: 100%;height: 100%;background: #60CA2C;display: flex;flex-direction: column;">
<!-- <NavBar ref="nav" navTitle="转赠亲友" :showIcon="true" :supportChange="false">
</NavBar> -->
@ -26,12 +26,14 @@
<text style="font-size: 14px;color: #000; font-weight: 600;"
@click="itemClick(item.goodsSid)">{{item.name}}</text>
<text style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text>
<!-- <text style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text> -->
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text v-show="item.remarks!=''" style="margin-left: 10px; border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.remarks}}</text>
<text
style="border: 1px #EE752F solid; background: #FF9900;margin-left: 10px; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='0'">百姓菜!</text>
@ -47,8 +49,7 @@
margin-right: 15px;">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 10px;color: #FF5006;">存量</text>
<text
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}{{item.unitName}}</text>
<text style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;">
@ -233,7 +234,7 @@
let value = encodeURIComponent(shareData)
resolve({
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_transfer.png', // 5:4
@ -259,7 +260,7 @@
<style>
button {
background: #FF9900;
background: #60CA2C;
color: #fff;
margin-top: 20px;
height: 40px;

32
pages/home/cloudCard2.vue

@ -1,7 +1,7 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);">
<view class="top" style="position: fixed;">
@ -173,7 +173,7 @@
<view style="display: flex;flex-direction: row;align-items: center;margin-left: 20px; ">
<view style=" display: flex;flex-direction: row;align-items: center; border: 1px #FF5006 solid;margin-left: 5px;margin-right: 5px;padding: 0px 5px;height: 42px;flex: 1;
<view style=" display: flex;flex-direction: row;align-items: center; border: 1px #60CA2C solid;margin-left: 5px;margin-right: 5px;padding: 0px 5px;height: 42px;flex: 1;
display: flex;flex-direction: row;align-items: center;box-sizing: border-box;">
<view
@ -199,8 +199,8 @@
<text
style="background: #FF9900; color: #fff;font-size: 13px; padding: 0px 15px;height: 40px;line-height: 40px;
border: 1px #FF5006 solid; border-top-right-radius: 25px; border-bottom-right-radius: 25px;flex-shrink: 0;margin-right: 20px;"
style="background: #60CA2C; color: #fff;font-size: 13px; padding: 0px 15px;height: 40px;line-height: 40px;
border: 1px #60CA2C solid; border-top-right-radius: 25px; border-bottom-right-radius: 25px;flex-shrink: 0;margin-right: 20px;"
@click="settlement()">去结算</text>
</view>
@ -313,7 +313,7 @@
<view v-for="(item,index) in newPerGiftList" class="device-list" style="overflow-y: auto;">
<view style="">
<radio :value="item.sid" style="transform:scale(0.8)" color="#FF9900" />
<radio :value="item.sid" style="transform:scale(0.8)" color="#60CA2C" />
</view>
<view
@ -354,7 +354,7 @@
<view
style=" height: 15vw; flex-shrink: 0;display: flex;flex-direction: row;align-items: center;justify-content: center;"
class="newpor_bom">
<text style="background: #FF9900;color: #fff;text-align: center;border-radius: 20px;
<text style="background: #60CA2C;color: #fff;text-align: center;border-radius: 20px;
padding:8px 25px ;" @click="newporGift">确认结算</text>
</view>
@ -1140,7 +1140,7 @@
let value = encodeURIComponent(shareData)
resolve({
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_invite.png', // 5:4
@ -1198,7 +1198,7 @@
.button2 {
background: #fff;
color: #FF9900;
color: #60CA2C;
border-radius: 0px;
border-bottom-right-radius: 20px;
flex: 1;
@ -1206,7 +1206,7 @@
}
button {
background: #FF9900;
background: #60CA2C;
color: #fff;
height: 42px;
line-height: 40px;
@ -1335,7 +1335,7 @@
.swiper /deep/ .wx-swiper-dot-active {
width: 44rpx;
height: 12rpx;
background: #FF9900;
background: #60CA2C;
border-radius: 8rpx;
}
@ -1374,7 +1374,7 @@
.label2 {
background: #FFF;
color: #FFF;
background-color: #FF9900;
background-color: #60CA2C;
font-size: 12px;
margin-top: 10px;
margin-bottom: 10px;
@ -1388,7 +1388,7 @@
}
.top_img1 {
border: 1px #FF9900 solid;
border: 1px #60CA2C solid;
}
.top_img2 {
@ -1396,8 +1396,8 @@
}
.top_text1 {
border: 1px #FF9900 solid;
background: #FF5006;
border: 1px #60CA2C solid;
background: #81C95D;
color: #fff;
font-weight: 800;
font-family: sans-serif;
@ -1410,9 +1410,9 @@
}
.top_text2 {
border: 1px #FF9900 solid;
border: 1px #60CA2C solid;
background: #fff;
color: #F6894B;
color: #81C95D;
font-weight: 800;
padding: 5px 12px;
font-family: sans-serif;

67
pages/home/myCellar.vue

@ -1,7 +1,7 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);">
<view class="top">
<NavBar ref="nav" navTitle=" " :showIcon="false" :start-change-height="page.startHeight"
@ -86,6 +86,9 @@
<!-- :class="item.state=='0'?'oragin':'gray'" -->
<text :class="item.state=='0'?'oragin':'gray'" style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text v-show="item.remarks!=''" :class="item.state=='0'?'oragin':'gray'"
style="margin-left: 10px; border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.remarks}}</text>
<text
style="border: 1px #EE752F solid; background: #FF9900;margin-left: 10px; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
@ -112,7 +115,7 @@
<text style="font-size: 12px;color: #666;">存量</text>
<!-- :style="{color:(item.state == '1' ? '#999' : '#FF5006')}" -->
<text :style="{color:(item.state == '1' ? '#999' : '#FF5006')}"
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}{{item.unitName}}</text>
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}</text>
</view>
<!-- :class="item.state=='0'?'oragin':'gray'" -->
@ -147,7 +150,7 @@
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<text style="font-size: 14px; color: #666;margin-right: 5px;">您的订单为空,</text>
<text
style="background: #FF9900; border-radius: 8px; padding: 3px 8px; color: #fff;"
style="background: #61CB29; border-radius: 8px; padding: 3px 8px; color: #fff;"
@click="gotoShopp()">补充商品</text>
</view>
</view>
@ -165,11 +168,11 @@
style="display: flex;flex-direction: row; justify-content: center;align-items: center;padding-bottom: 10px;margin-top: 5px;padding: 0px 20px;">
<text
style="background: #FF9900;color: #fff;height: 40px;line-height: 40px;font-size: 13px;padding: 0px 15px;border: 1px #FF5006 solid;
style="background: #61CB29;color: #fff;height: 40px;line-height: 40px;font-size: 13px;padding: 0px 15px;border: 1px #61CB29 solid;
border-top-left-radius: 25px;border-bottom-left-radius: 25px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;"
@click="transfer()">转赠亲友</text>
<view style="border: 1px #FF5006 solid;margin-left: 5px;margin-right: 5px;padding: 0px 10px;height: 42px;flex: 1;
<view style="border: 1px #61CB29 solid;margin-left: 5px;margin-right: 5px;padding: 0px 10px;height: 42px;flex: 1;
display: flex;flex-direction: row;align-items: center;box-sizing: border-box;justify-content: center;"
@click="gotoCart()">
<!-- image src="../../static/shoppCart_icon.png" mode="aspectFill"
@ -178,8 +181,8 @@
<text style="font-size: 15px;color: #FF5006;margin-left: 10px; ">{{page.count}}</text>
<text style="font-size: 12px;color: #666;margin-left: 10px; "></text>
</view>
<text style="background: #FF9900; color: #fff;font-size: 13px; padding: 0px 15px;height: 40px;line-height: 40px;
border: 1px #FF5006 solid; border-top-right-radius: 25px; border-bottom-right-radius: 25px;flex-shrink: 0;"
<text style="background: #61CB29; color: #fff;font-size: 13px; padding: 0px 15px;height: 40px;line-height: 40px;
border: 1px #61CB29 solid; border-top-right-radius: 25px; border-bottom-right-radius: 25px;flex-shrink: 0;"
@click="reservation()">预约提货</text>
@ -271,7 +274,7 @@
style="width: 50vw;height: 50vw;"></image>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: -15px;">
<text
style="background: #FF9900; border-radius: 8px; padding: 3px 8px; color: #fff;">请添加~</text>
style="background: #61CB29; border-radius: 8px; padding: 3px 8px; color: #fff;">请添加~</text>
</view>
</view>
@ -456,6 +459,7 @@
scrollLeftTop: "0",
scrollRightTop: "0",
brandType: "0",
brandItem: {},
styleObject: {
// 'position': 'fixed',
// 'top':'80vw',
@ -620,10 +624,14 @@
labelClick(index, item) {
this.selectIndex = index
this.brandType = item.id
this.brandItem = item
this.pickingUpGoods = []
this.page.count = 0
this.getgoods()
console.log("labelClick>>>>", this.brandType);
console.log("labelClick>>>>", this.brandItem);
},
request() {
let _this = this
@ -636,6 +644,7 @@
_this.pickingUpGoods = []
_this.baseDataSuccess = true
// _this.selectIndex = 0
_this.brandItem = _this.data[_this.selectIndex]
_this.getgoods()
}).catch(e => {
_this.$nextTick(() => {
@ -788,14 +797,24 @@
},
reservation() {
console.log("labelClick>>>>", this.brandItem);
console.log(">>>>>>>>>>", this.pickingUpGoods);
if (this.pickingUpGoods.length > 0) {
uni.navigateTo({
url: '/pages/good/reservation?pickingUpGoods=' + encodeURIComponent(JSON.stringify(this
.pickingUpGoods)) +
"&affiliation=" + this.data[this.selectIndex].id,
})
if (this.brandItem.delivery == '1') {
uni.navigateTo({
url: '/pages/good/reservation?pickingUpGoods=' + encodeURIComponent(JSON.stringify(
this
.pickingUpGoods)) + "&affiliation=" + this.data[this.selectIndex].id +
"&delivery=" + this.brandItem.delivery,
})
} else {
uni.navigateTo({
url: '/pages/good/reservation2?pickingUpGoods=' + encodeURIComponent(JSON.stringify(
this.pickingUpGoods)) + "&affiliation=" + this.data[this.selectIndex].id +
"&delivery=" + this.brandItem.delivery,
})
}
// this.showModal = true
} else {
@ -869,7 +888,7 @@
let value = encodeURIComponent(shareData)
resolve({
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_transfer.png', // 5:4
@ -952,7 +971,7 @@
.button2 {
background: #fff;
color: #FF9900;
color: #61CB29;
border-radius: 0px;
border-bottom-right-radius: 20px;
flex: 1;
@ -960,13 +979,13 @@
}
button {
background: #FF9900;
background: #61CB29;
color: #fff;
height: 42px;
line-height: 40px;
font-size: 13px;
padding: 0px 15px;
border: 1px #FF5006 solid;
border: 1px #61CB29 solid;
border-top-left-radius: 25px;
border-bottom-left-radius: 25px;
border-top-right-radius: 0px;
@ -984,7 +1003,7 @@
/* height: 126.66vw; */
height: 65vw;
/* 加载背景图 */
background-image: url(https://supervise.yxtsoft.com/lpk/image/clound_bj1.png);
background-image: url(https://supervise.yxtsoft.com/lpk/image/clound_bj1_new.png);
/* background-image: url(../../static/clound_bj1.png); */
/* 让背景图基于容器大小伸缩 */
background-size: 100% 100%;
@ -1023,7 +1042,7 @@
.label2 {
background: #FFF;
color: #FFF;
background-color: #FF9900;
background-color: #61CB29;
font-size: 12px;
margin-top: 10px;
margin-bottom: 10px;
@ -1036,7 +1055,7 @@
}
.top_img1 {
border: 1px #FF9900 solid;
border: 1px #61CB29 solid;
}
.top_img2 {
@ -1044,8 +1063,8 @@
}
.top_text1 {
border: 1px #FF9900 solid;
background: #FF5006;
border: 1px #61CB29 solid;
background: #61CB29;
color: #fff;
font-weight: 800;
font-family: sans-serif;
@ -1058,9 +1077,9 @@
}
.top_text2 {
border: 1px #FF9900 solid;
border: 1px #61CB29 solid;
background: #fff;
color: #F6894B;
color: #61CB29;
font-weight: 800;
padding: 5px 16px;
font-family: sans-serif;

6
pages/home/myHome.vue

@ -410,7 +410,7 @@
let value = encodeURIComponent(shareData)
resolve({
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_invite.png', // 5:4
@ -506,7 +506,7 @@
display: flex;
flex-direction: column;
height: 100vh;
background: -webkit-linear-gradient(left, #FEA65F, #FB9440);
background: -webkit-linear-gradient(left, #77E270, #9EECA0);
box-sizing: border-box;
}
@ -517,7 +517,7 @@
/* height: 126.66vw; */
height: 65vw;
/* 加载背景图 */
background-image: url(https://supervise.yxtsoft.com/lpk/image/my_bj.png);
background-image: url(https://supervise.yxtsoft.com/lpk/image/my_bj_new.png);
/* 让背景图基于容器大小伸缩 */
background-size: 100% 100%;

2
pages/me/RealInfo.vue

@ -41,7 +41,7 @@
</view>
</pick-regions>
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B); position: absolute; bottom: 30px;
<view style="background: -webkit-linear-gradient(left,#61CB29,#60CA2C); position: absolute; bottom: 30px;
width: 90%;border-radius: 100rpx;height: 80rpx;display: flex;margin-left: 5%;
flex-direction: column;align-items: center;line-height: 80rpx;color: #FFFFFF;font-size: 36rpx;"
@click="realInfoAttestation">

23
pages/me/addInvoice.vue

@ -10,9 +10,9 @@
<text class="item-text">发票类型</text>
<radio-group @change="radioChange">
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="普通发票"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="普通发票"
:checked="info.invoiceType=='普通发票'">普通发票</radio>
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="增值税发票"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="增值税发票"
:checked="info.invoiceType=='增值税发票'">增值税发票</radio>
</radio-group>
</view>
@ -22,10 +22,10 @@
<text class="item-text">抬头类型</text>
<radio-group @change="radioChange2">
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="个人或事业单位"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="个人或事业单位"
:checked="info.headingType=='个人或事业单位'">个人或事业单位
</radio>
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="企业"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="企业"
:checked="info.headingType=='企业'">企业</radio>
</radio-group>
@ -47,6 +47,17 @@
</view>
</view>
<view class="bom-item" style="margin-top: 12px;">
<text class="item-text">电子邮箱</text>
<view class="item-right" style="width: 100%;margin-left: 20px;padding-left: 5px;">
<input class="input" type="text" placeholder="选填" v-model="info.email" />
</view>
</view>
<view v-if="isPerson">
<view style="display: flex;flex-direction: column;" v-if="showDetail">
@ -120,14 +131,14 @@
<text class="item-text">设为默认</text>
<radio :checked="radioDefault" @click="radioDefaultClick" style="transform:scale(0.8);" color="#FF9900">
<radio :checked="radioDefault" @click="radioDefaultClick" style="transform:scale(0.8);" color="#61CB29">
</radio>
</view>
</view>
<view style="position: absolute; bottom: 20px; display: flex;flex-direction: column;width: 100%;
box-sizing: border-box;padding-left: 40px;padding-right: 40px; ">
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B);
<view style="background: -webkit-linear-gradient(left,#61CB29,#60CA2C);
width: 100%;border-radius: 25px;height: 50px;text-align: center;
line-height: 50px;color: #FFFFFF;font-size: 16px;" @click="save">
完成</view>

14
pages/me/makeInvoice.vue

@ -10,9 +10,9 @@
<text class="item-text">发票类型</text>
<radio-group @change="radioChange">
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="普通发票"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="普通发票"
:checked="info.invoiceType=='普通发票'">普通发票</radio>
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="增值税发票"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="增值税发票"
:checked="info.invoiceType=='增值税发票'">增值税发票</radio>
</radio-group>
</view>
@ -22,10 +22,10 @@
<text class="item-text">抬头类型</text>
<radio-group @change="radioChange2">
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="个人或事业单位"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="个人或事业单位"
:checked="info.headingType=='个人或事业单位'">个人或事业单位
</radio>
<radio style="transform:scale(0.8);font-size: 20px;" color="#FF9900" value="企业"
<radio style="transform:scale(0.8);font-size: 20px;" color="#61CB29" value="企业"
:checked="info.headingType=='企业'">企业</radio>
</radio-group>
@ -125,7 +125,7 @@
</view>
<view style="position: absolute; bottom: 20px; display: flex;flex-direction: column;width: 100%;
box-sizing: border-box;padding-left: 40px;padding-right: 40px; ">
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B);
<view style="background: -webkit-linear-gradient(left,#61CB29,#60CA2C);
width: 100%;border-radius: 25px;height: 50px;text-align: center;
line-height: 50px;color: #FFFFFF;font-size: 16px;" @click="save">
提交申请</view>
@ -161,7 +161,7 @@
<view style="flex: 1;display: flex;flex-direction: row;align-items: center;">
<text
style="font-size: 16px;font-weight: 600;font-family: sans-serif;">{{item.invoiceHeader}}</text>
<text v-if="item.isDefault==1" style="background: #FFF0DA; color: #FF7200;
<text v-if="item.isDefault==1" style="background: #FFF0DA; color: #61CB29;
font-size: 10px;margin-left: 6px;border-radius: 5px;padding: 2px 5px;">默认</text>
</view>
@ -192,7 +192,7 @@
<view style="position: absolute; bottom: 20px; display: flex;flex-direction: column;width: 100%;
box-sizing: border-box;padding-left: 40px;padding-right: 40px; ">
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B);
<view style="background: -webkit-linear-gradient(left,#61CB29,#60CA2C);
width: 100%;border-radius: 25px;height: 50px;text-align: center;
line-height: 50px;color: #FFFFFF;font-size: 16px;" @click="addInviice">
添加新的抬头</view>

5
pages/records/orderDetail.vue

@ -36,11 +36,12 @@
<view style="margin-top: 8px;display: flex;flex-direction: column;">
<view style="display: flex;flex-direction: row;align-items: center;">
<!-- <text style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.priceUnit}}/{{item.unitName}}</text> -->
<text
style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; margin-right: 10px; ">{{item.numofPart}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text v-show="item.remarks!=''" style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.remarks}}</text>
</view>
<text

4
pages/records/orderRecords.vue

@ -146,9 +146,9 @@
}
.label2 {
color: #FF9900;
color: #61CB29;
font-size: 14px;
border-bottom: 1px #FF9900 solid;
border-bottom: 1px #61CB29 solid;
padding-bottom: 5px;
margin-right: 30px;
flex-shrink: 0;

2
pages/records/reservationRecords.vue

@ -1,6 +1,6 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>

2
pages/records/reservationRecords2.vue

@ -1,6 +1,6 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>

29
pages/records/reservationRecords3.vue

@ -1,6 +1,6 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);"
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);"
class="app">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>
@ -20,27 +20,26 @@
<text class="item-top-state">{{item.stateValue}}</text>
</view>
<view
<!-- <view
style="display: flex;flex-direction: row;align-items: center;margin-left: 16px;margin-right: 16px;margin-top: 15px;">
<text
style="font-size: 16px;margin-right: 8px;flex: 1;margin-right: 15px;">{{item.storeName}}</text>
style="font-size: 16px;margin-right: 8px;flex: 1;margin-right: 15px;">{{item.storeName}}</text> -->
<!-- <view style="display: flex;flex-direction: row;align-items: center;"
<!-- <view style="display: flex;flex-direction: row;align-items: center;"
@click="makePhoneCall(item.linkPhone)">
<image src="../../static/phone-2.png" style="width: 20px;height: 20px;margin-right: 5px;">
</image>
<text>咨询电话</text>
</view> -->
</view>
<!-- </view> -->
<view
style="display: flex;flex-direction: row;align-items: center;margin-left: 16px;margin-right: 16px;margin-top: 6px;">
<image src="../../static/dingwei.png" style="width: 20px;height: 20px;margin-right: 5px;"
mode="aspectFit">
style="display: flex;flex-direction: row;align-items: center;margin-left: 15px;margin-right: 16px;margin-top: 15px;">
<image src="../../static/dingwei.png" style="width: 20px;height: 23px;" mode="aspectFill">
</image>
<text style="font-size: 12px;color: #666;">{{item.address}}</text>
<text style="font-size: 16px;margin-left: 10px;">{{item.userAddress}}</text>
</view>
<view class="item-bom" style="margin-left: 16px;margin-right: 16px;margin-top: 10px;">
@ -166,7 +165,7 @@
if (res.confirm) {
// console.log('')
_this.$api.cancelReservation(item.reserveCode).then((resp) => {
_this.$api.cancelReservation2(item.reserveCode).then((resp) => {
const index = _this.data.findIndex((info) => info.sid === item.sid)
console.log("index》》》》", index)
@ -191,12 +190,12 @@
},
makePhoneCall(phone) {
if (this.stringIsNotEmpty(phone))
wx.makePhoneCall({
// if (this.stringIsNotEmpty(phone))
wx.makePhoneCall({
phoneNumber: phone,
phoneNumber: "13011576972",
})
})
},
showList(item) {
item.showLsit = !item.showLsit
@ -204,7 +203,7 @@
//
queryList(pageNo, pageSize) {
let _this = this
_this.$api.myOrderListByUserSid({
_this.$api.myOrderListByUserSid2({
"current": pageNo,
"size": pageSize,
"params": {

35
pages/records/reservationRecords4.vue

@ -1,6 +1,6 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);"
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);"
class="app">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>
@ -20,31 +20,38 @@
<text class="item-top-state">{{item.stateValue}}</text>
</view>
<view
style="display: flex;flex-direction: row;align-items: center;margin-left: 16px;margin-right: 16px;margin-top: 15px;">
<text
style="font-size: 16px;margin-right: 8px;color: #bbb;flex: 1;margin-right: 15px;">{{item.storeName}}</text>
<view style="display: flex;flex-direction: row;align-items: center;"
style="display: flex;flex-direction: row;align-items: center;margin-left: 16px;margin-right: 16px;margin-top: 10px;">
<!-- <text
style="font-size: 16px;margin-right: 8px;color: #bbb;flex: 1;margin-right: 15px;">{{item.storeName}}</text> -->
<view style="display: flex;flex-direction: row;align-items: center; flex: 1.5;">
<image src="../../static/dingwei.png" style="width: 20px;height: 23px;margin-right: 10px;"
mode="aspectFill">
</image>
<text style="font-size: 16px;">{{item.userAddress}}啊实打实大师大多啊撒大声地阿萨德阿斗阿萨德阿</text>
</view>
<!-- <view style="display: flex;flex-direction: row;align-items: center;"
@click="makePhoneCall(item.linkPhone)">
<image src="../../static/phone-2.png" style="width: 20px;height: 20px;margin-right: 5px;">
</image>
<text style="">咨询电话</text>
</view>
</view> -->
</view>
<view
<!-- <view
style="display: flex;flex-direction: row;align-items: center;margin-left: 16px;margin-right: 16px;margin-top: 6px;">
<image src="../../static/dingwei.png" style="width: 20px;height: 20px;margin-right: 5px;"
mode="aspectFit">
</image>
<text style="font-size: 12px;color: #BBBBBB;">{{item.address}}</text>
</view>
<text style="font-size: 12px;color: #BBBBBB;">{{item.userAddress}}</text>
</view> -->
<view class="item-bom" style="margin-left: 16px;margin-right: 16px;margin-top: 10px;">
<view class="item-bom" style="margin-left: 16px;margin-right: 16px;margin-top: 5px;">
<view class="item-bom-left">
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<view style="display: flex;flex-direction: row;align-items: center;">
<image src="../../static/time.png" style="width: 15px;height: 15px;margin-right: 5px;">
</image>
<text style="font-size: 12px;color: #BBBBBB; margin-right: 5px;">提货日期</text>
@ -69,11 +76,11 @@
<view class="item-bom_right" style="box-sizing: border-box;">
<text style="opacity: 0.7;font-size: 18px;font-weight: 800;font-family: sans-serif;z-index: 101;
width: 104px; height: 104px;line-height: 104px; text-align: center; background: #666;
width: 94px; height: 94px;line-height: 94px; text-align: center; background: #666;
position: absolute;border-radius: 20px;color: #fff;">已提货</text>
<image src="https://supervise.yxtsoft.com/lpk/image/daiticai.png"
style="width: 104px; height: 104px;z-index: 100;border-radius: 20px;">
style="width: 94px; height: 94px;z-index: 100;border-radius: 20px;">
</image>
</view>
@ -157,7 +164,7 @@
//
queryList(pageNo, pageSize) {
let _this = this
_this.$api.myOrderListByUserSid({
_this.$api.myOrderListByUserSid2({
"current": pageNo,
"size": pageSize,
"params": {

4
pages/records/transferRecords.vue

@ -1,6 +1,6 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>
@ -91,7 +91,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_transfer.png', // 5:4

4
pages/records/transferRecords2.vue

@ -1,6 +1,6 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#61CB29,#60CA2C);">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>
@ -90,7 +90,7 @@
let value = encodeURIComponent(shareData)
return {
title: '汇融农链-云菜窖',
// title: '-',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4

490
uni_modules/common-pay/pages/pay/pay.vue

@ -1,252 +1,254 @@
<template>
<view style="height: 100%;display: flex;flex-direction: column;align-items: center;">
<view
style="display: flex;flex-direction: column;align-items: center;overflow-y: scroll;flex:1;padding-top: 60rpx;">
<view style="color: #666;margin-left: 20rpx;margin-right: 20rpx;text-align: center;font-size: 24rpx;">
{{convertSecondsToHMS(page.countdown)}}
</view>
<view>
<text style="color: black;font-size: 35rpx;font-weight: bold;"></text>
<text style="color: black;font-size: 70rpx;font-weight: bold;">{{data.price}}</text>
</view>
<view style="color: #666;margin-left: 20rpx;margin-right: 20rpx;text-align: center;font-size: 24rpx;">
{{data.goods}}
</view>
<view style="background: #ffffff;margin-top: 100rpx;border-radius: 20rpx;width: calc(100vw - 40rpx);">
<radio-group @change="radioChange">
<label
style="width: 100%;height: 120rpx;display: flex;flex-direction: column;justify-content: center;align-items: center;"
v-for="(item, index) in page.real" :key="index">
<view style="width: 100%;height: 120rpx;display: flex;flex-direction: row;align-items: center;">
<image :src="item.image" style="width: 55rpx;height: 55rpx;margin-left: 25rpx;"></image>
<text style="flex: 1;font-size: 30rpx;margin-left: 6rpx;">{{item.pay}}</text>
<radio style="transform:scale(0.8);margin-right: 25rpx;" :checked="index==0"
:value="index+''" :activeBackgroundColor="item.btnColor" />
</view>
<view v-if="index != page.real.length-1"
style="width: 93%;height: 1px;background-color: #f1f2f3;"></view>
</label>
</radio-group>
</view>
</view>
<view class="btn" :style="{'background': page.real[page.selected].btnColor}" @click="createOrder">
{{page.submitText}}
</view>
</view>
<view style="height: 100%;display: flex;flex-direction: column;align-items: center;">
<view
style="display: flex;flex-direction: column;align-items: center;overflow-y: scroll;flex:1;padding-top: 60rpx;">
<view style="color: #666;margin-left: 20rpx;margin-right: 20rpx;text-align: center;font-size: 24rpx;">
{{convertSecondsToHMS(page.countdown)}}
</view>
<view>
<text style="color: black;font-size: 35rpx;font-weight: bold;"></text>
<text style="color: black;font-size: 70rpx;font-weight: bold;">{{data.price}}</text>
</view>
<view style="color: #666;margin-left: 20rpx;margin-right: 20rpx;text-align: center;font-size: 24rpx;">
{{data.goods}}
</view>
<view style="background: #ffffff;margin-top: 100rpx;border-radius: 20rpx;width: calc(100vw - 40rpx);">
<radio-group @change="radioChange">
<label
style="width: 100%;height: 120rpx;display: flex;flex-direction: column;justify-content: center;align-items: center;"
v-for="(item, index) in page.real" :key="index">
<view style="width: 100%;height: 120rpx;display: flex;flex-direction: row;align-items: center;">
<image :src="item.image" style="width: 55rpx;height: 55rpx;margin-left: 25rpx;"></image>
<text style="flex: 1;font-size: 30rpx;margin-left: 6rpx;">{{item.pay}}</text>
<radio style="transform:scale(0.8);margin-right: 25rpx;" :checked="index==0"
:value="index+''" :activeBackgroundColor="item.btnColor" />
</view>
<view v-if="index != page.real.length-1"
style="width: 93%;height: 1px;background-color: #f1f2f3;"></view>
</label>
</radio-group>
</view>
</view>
<view class="btn" :style="{'background': page.real[page.selected].btnColor}" @click="createOrder">
{{page.submitText}}
</view>
</view>
</template>
<script>
import {
http
} from '../../utils/pay_http.js'
export default {
data() {
return {
page: {
//
supports: [{
payType: 'wxpay',
pay: '微信',
image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAADcUlEQVR4nO2ZfVLaUBDAdyFCAGekJyg9Qb2BMBX/lZ4APEHxBOIJSk+gnqD0X6EFT6A9QfUExZkCAUK2u1iYNF98+CiR8ptR92Xy8X4vm7cvEWFD2IqEjf9DJN3UMwMTihyunZgGV+2ccQ8++Iqk6vGPFkCZw9AQAah28v1TDl14iqQa8apF8IHD0BFB+NQ57LsG2CUi6dQ36QeHoSWu4RtnmrlEknW9QkBnHIaYyGkv36tyMOVFiiDgeTdvVMDGVmSdbEUWAx+QoIVR/rHgHmxwXcoCQQaQCgSwx5uWYsUieBMFqPzKGy2Yg2QjWSCyygB0wM2FWIkIn+AxAliYV8DJH6EqC73m5lwoF+EU+h7bSWTbuXabm0uTbqbTg2GvRQhvuTkTpSKqJCaITN80anxnDrgZiDIRPugxpiUyqiSEVEMvElGZAPa5GYg6EYy+7x52axw+C7kLw5FxbFlQ4VucAUYWhdaMBasSEUmp7lF/n8OlEYGBaXBnx3cgzZukI19iGpZlMZi81i8JqcibPVEiwmPmWrAJ0rlZqSYr68EIzoioBFPwgaftkn3We5rJRp859ESJiNcSetxBk24BoydeKbdb17MWQpFsAnzhR/5ddXZIkEHpm72fHHqCKkR6+b7rGCFZj9cI4DjCb3E7WuJc7o4IjADOOIWyYINPME0j8CFRjxP/8WSlIk+dpiaHY3inNvHgcmjDnUZ+rE1ESF7H77yKGh/gm0Z+rFwkriVeSdpw6CL1VS9ZFl1wOAUJr2I7UAlKIyfyzAW9bisRmVVD+FmRlNrjPW84jSrzpJETrwGxo0aER7h7ZJTABxnNIUTTnVznjptLwYNxSwEVXomIEJRez8U5aXihTAQRL7uHxgmHShnXj6HB9YgyEIAyEWHWs7IMyYZ+Qbai6YdaEa4TGMHTzjvjEhQwr4SgVGRCJIInz5FJNVP7ZJoXFPBwO1mJyKxZzA+Z3WQBCTT+EJHmTXOzGhHbSWXVyt9KjvmkrZ0o3DiL4O43/WBk4T6SlSUA3nc57NecwNf8m0VFooA5TdPvBmZP0mPpzi3CSkRkKiYLspxjGfhHrERkHWxFwsbGiHD1cn03cInI/B70LhAGvL4buESEjfhn6IQwyvhJCL4iwlOaYQGB0txcGwTYjmtUc6aTnUCRl8RWJGxsjMhvudpkUV3iI98AAAAASUVORK5CYII=',
btnColor: '#FE9039'
}],
// 使App,h5()
use: [0],
real: [],
selected: 0,
countdown: 0,
submitText: '确认支付',
cancleText: '订单已取消'
},
data: {
price: '价格',
goods: '商品名称',
remainder: 60000,
// ,
// type
pay_url: {
url: '底梦哲提供,王鹏飞进行组装成绝对地址返回',
//
params: {
//
type: '支付方式,由本框架提供',
// ...
}
},
//
return_url: '订单详情的地址'
}
}
},
methods: {
wxPay(order, o) {
wx.requestPayment({
appId: order.appid,
timeStamp: order.timeStamp, //
nonceStr: order.nonceStr,
package: order.package, //
signType: order.signType, // 'MD5'
paySign: order.sign, //
success(res) {
//
let data = JSON.stringify(o)
//
let value = encodeURIComponent(data)
uni.redirectTo({
url: '/uni_modules/common-pay/pages/success/success?data=' +
value
})
},
fail(res) {
try {
if (err.errMsg != 'requestPayment:fail cancel') {
uni.showToast({
icon: 'error',
title: '支付失败'
})
}
} catch (e) {
//TODO handle the exception
}
}
})
},
convertSecondsToHMS(seconds) {
var hours = Math.floor(seconds / (60 * 60)); //
seconds %= (60 * 60); // 1
var minutes = Math.floor(seconds / 60); //
seconds %= 60; // 1
let result = '支付剩余时间 '
if (hours > 0) {
result += (hours < 10 ? '0' + hours : hours) + ":" + (minutes < 10 ? '0' + minutes : minutes) + ":" + (
seconds < 10 ? '0' + seconds : seconds)
} else {
//
if (minutes > 0) {
result += (minutes < 10 ? '0' + minutes : minutes) + ":" + (seconds < 10 ? '0' + seconds : seconds)
} else {
result += "00:" + (seconds < 10 ? '0' + seconds : seconds)
}
}
return result
},
startCountdown() {
setInterval(() => {
if (this.page.countdown > 0) {
this.page.countdown--;
} else {
//
this.page.submitText = this.page.cancleText
}
}, 1000);
},
radioChange: function(evt) {
this.page.selected = parseInt(evt.detail.value)
},
createOrder() {
if (this.page.cancleText === this.page.submitText) {
uni.showToast({
icon: 'error',
title: this.page.cancleText
})
return
}
// type
let payType = this.page.real[this.page.selected].payType
this.data.pay_url.params.type = payType
let o = this.data
o.color = this.page.real[this.page.selected].btnColor
o.pay = this.page.real[this.page.selected].pay
http({
url: this.data.pay_url.url,
data: this.data.pay_url.params
}).then((res) => {
if ('wxpay' === payType) {
this.wxPay(res.data, o)
}
}).catch((err) => {
console.log('fail', JSON.stringify(err));
});
}
},
onLoad(options) {
try {
//
this.data = JSON.parse(options.data)
} catch (e) {
this.data = JSON.parse(decodeURIComponent(options.data))
}
this.page.countdown = this.data.remainder;
if (this.page.countdown <= 0) {
this.page.submitText = this.page.cancleText
} else {
//
this.startCountdown();
}
// ToDo h5app
//
// #ifdef APP || H5
// #endif
//
// #ifdef MP-WEIXIN
//
this.page.use = [0]
// #endif
for (var i = 0; i < this.page.use.length; i++) {
this.page.real.push(this.page.supports[this.page.use[i]])
}
if (this.page.real.length < 1) {
uni.showModal({
content: '未正确配置支付方式',
showCancel: false,
success: function(res) {
if (res.confirm) {
uni.navigateBack()
}
}
});
return
}
// if (this.page.real.length == 1) {
// //
// this.createOrder()
// }
}
}
import {
http
} from '../../utils/pay_http.js'
export default {
data() {
return {
page: {
//
supports: [{
payType: 'wxpay',
pay: '微信',
image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAADcUlEQVR4nO2ZfVLaUBDAdyFCAGekJyg9Qb2BMBX/lZ4APEHxBOIJSk+gnqD0X6EFT6A9QfUExZkCAUK2u1iYNF98+CiR8ptR92Xy8X4vm7cvEWFD2IqEjf9DJN3UMwMTihyunZgGV+2ccQ8++Iqk6vGPFkCZw9AQAah28v1TDl14iqQa8apF8IHD0BFB+NQ57LsG2CUi6dQ36QeHoSWu4RtnmrlEknW9QkBnHIaYyGkv36tyMOVFiiDgeTdvVMDGVmSdbEUWAx+QoIVR/rHgHmxwXcoCQQaQCgSwx5uWYsUieBMFqPzKGy2Yg2QjWSCyygB0wM2FWIkIn+AxAliYV8DJH6EqC73m5lwoF+EU+h7bSWTbuXabm0uTbqbTg2GvRQhvuTkTpSKqJCaITN80anxnDrgZiDIRPugxpiUyqiSEVEMvElGZAPa5GYg6EYy+7x52axw+C7kLw5FxbFlQ4VucAUYWhdaMBasSEUmp7lF/n8OlEYGBaXBnx3cgzZukI19iGpZlMZi81i8JqcibPVEiwmPmWrAJ0rlZqSYr68EIzoioBFPwgaftkn3We5rJRp859ESJiNcSetxBk24BoydeKbdb17MWQpFsAnzhR/5ddXZIkEHpm72fHHqCKkR6+b7rGCFZj9cI4DjCb3E7WuJc7o4IjADOOIWyYINPME0j8CFRjxP/8WSlIk+dpiaHY3inNvHgcmjDnUZ+rE1ESF7H77yKGh/gm0Z+rFwkriVeSdpw6CL1VS9ZFl1wOAUJr2I7UAlKIyfyzAW9bisRmVVD+FmRlNrjPW84jSrzpJETrwGxo0aER7h7ZJTABxnNIUTTnVznjptLwYNxSwEVXomIEJRez8U5aXihTAQRL7uHxgmHShnXj6HB9YgyEIAyEWHWs7IMyYZ+Qbai6YdaEa4TGMHTzjvjEhQwr4SgVGRCJIInz5FJNVP7ZJoXFPBwO1mJyKxZzA+Z3WQBCTT+EJHmTXOzGhHbSWXVyt9KjvmkrZ0o3DiL4O43/WBk4T6SlSUA3nc57NecwNf8m0VFooA5TdPvBmZP0mPpzi3CSkRkKiYLspxjGfhHrERkHWxFwsbGiHD1cn03cInI/B70LhAGvL4buESEjfhn6IQwyvhJCL4iwlOaYQGB0txcGwTYjmtUc6aTnUCRl8RWJGxsjMhvudpkUV3iI98AAAAASUVORK5CYII=',
btnColor: '#60CA2C'
}],
// 使App,h5()
use: [0],
real: [],
selected: 0,
countdown: 0,
submitText: '确认支付',
cancleText: '订单已取消'
},
data: {
price: '价格',
goods: '商品名称',
remainder: 60000,
// ,
// type
pay_url: {
url: '底梦哲提供,王鹏飞进行组装成绝对地址返回',
//
params: {
//
type: '支付方式,由本框架提供',
// ...
}
},
//
return_url: '订单详情的地址'
}
}
},
methods: {
wxPay(order, o) {
wx.requestPayment({
appId: order.appid,
timeStamp: order.timeStamp, //
nonceStr: order.nonceStr,
package: order.package, //
signType: order.signType, // 'MD5'
paySign: order.sign, //
success(res) {
//
let data = JSON.stringify(o)
//
let value = encodeURIComponent(data)
uni.redirectTo({
url: '/uni_modules/common-pay/pages/success/success?data=' +
value
})
},
fail(res) {
try {
if (err.errMsg != 'requestPayment:fail cancel') {
uni.showToast({
icon: 'error',
title: '支付失败'
})
}
} catch (e) {
//TODO handle the exception
}
}
})
},
convertSecondsToHMS(seconds) {
var hours = Math.floor(seconds / (60 * 60)); //
seconds %= (60 * 60); // 1
var minutes = Math.floor(seconds / 60); //
seconds %= 60; // 1
let result = '支付剩余时间 '
if (hours > 0) {
result += (hours < 10 ? '0' + hours : hours) + ":" + (minutes < 10 ? '0' + minutes : minutes) +
":" + (
seconds < 10 ? '0' + seconds : seconds)
} else {
//
if (minutes > 0) {
result += (minutes < 10 ? '0' + minutes : minutes) + ":" + (seconds < 10 ? '0' + seconds :
seconds)
} else {
result += "00:" + (seconds < 10 ? '0' + seconds : seconds)
}
}
return result
},
startCountdown() {
setInterval(() => {
if (this.page.countdown > 0) {
this.page.countdown--;
} else {
//
this.page.submitText = this.page.cancleText
}
}, 1000);
},
radioChange: function(evt) {
this.page.selected = parseInt(evt.detail.value)
},
createOrder() {
if (this.page.cancleText === this.page.submitText) {
uni.showToast({
icon: 'error',
title: this.page.cancleText
})
return
}
// type
let payType = this.page.real[this.page.selected].payType
this.data.pay_url.params.type = payType
let o = this.data
o.color = this.page.real[this.page.selected].btnColor
o.pay = this.page.real[this.page.selected].pay
http({
url: this.data.pay_url.url,
data: this.data.pay_url.params
}).then((res) => {
if ('wxpay' === payType) {
this.wxPay(res.data, o)
}
}).catch((err) => {
console.log('fail', JSON.stringify(err));
});
}
},
onLoad(options) {
try {
//
this.data = JSON.parse(options.data)
} catch (e) {
this.data = JSON.parse(decodeURIComponent(options.data))
}
this.page.countdown = this.data.remainder;
if (this.page.countdown <= 0) {
this.page.submitText = this.page.cancleText
} else {
//
this.startCountdown();
}
// ToDo h5app
//
// #ifdef APP || H5
// #endif
//
// #ifdef MP-WEIXIN
//
this.page.use = [0]
// #endif
for (var i = 0; i < this.page.use.length; i++) {
this.page.real.push(this.page.supports[this.page.use[i]])
}
if (this.page.real.length < 1) {
uni.showModal({
content: '未正确配置支付方式',
showCancel: false,
success: function(res) {
if (res.confirm) {
uni.navigateBack()
}
}
});
return
}
// if (this.page.real.length == 1) {
// //
// this.createOrder()
// }
}
}
</script>
<style>
uni-page-body,
page {
background-color: #f1f3f5;
height: 100%;
}
.btn {
width: calc(100% - 40rpx);
height: 80rpx;
line-height: 80rpx;
text-align: center;
font-size: 28rpx;
border-radius: 50rpx;
margin-bottom: 30rpx;
margin-top: 30rpx;
color: #fff;
}
uni-page-body,
page {
background-color: #f1f3f5;
height: 100%;
}
.btn {
width: calc(100% - 40rpx);
height: 80rpx;
line-height: 80rpx;
text-align: center;
font-size: 28rpx;
border-radius: 50rpx;
margin-bottom: 30rpx;
margin-top: 30rpx;
color: #fff;
}
</style>

2121
uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue

File diff suppressed because it is too large
Loading…
Cancel
Save