8 Commits

Author SHA1 Message Date
老叶 e3182a26c8 新版logo添加版本号 2022-02-23 15:19:58 +08:00
yerz 5396e0f043 扫码签名 2022-02-12 11:42:17 +08:00
老叶 5b6d49c224 私域通 2022-02-10 17:03:31 +08:00
老叶 25155bc8f5 调拨 2022-02-10 10:48:20 +08:00
老叶 f6a5aae77e 私域通 2022-02-10 10:21:45 +08:00
老叶 7dc6064d32 调拨信息 2022-02-09 15:23:20 +08:00
老叶 516e8b2911 私域通入口 2022-02-08 10:51:17 +08:00
老叶 66f1e96e25 私域通 2022-02-08 10:31:20 +08:00
32 changed files with 1197 additions and 72 deletions
+4 -1
View File
@@ -34,7 +34,10 @@
"pages/audioPlay/index",
"pages/recommend/index",
"pages/allot/index",
"pages/storeInfo/index"
"pages/storeInfo/index",
"pages/siyutong/index",
"pages/siyutong/activityDetail/index",
"pages/siyutong/activityRanking/index"
],
"echarts": [
{
+4 -1
View File
@@ -33,4 +33,7 @@
.bg-e3f5f3{background-color:#e3f5f3;}
.bg-2e3246{background-color:#2e3246;}
.bg-ffedeb{background-color:#ffedeb;}
.bg-ffedeb{background-color:#ffedeb;}
.bg-f0f4ff{background-color:#f0f4ff;}
.bg-fffaf3{background-color:#fffaf3;}
+1
View File
@@ -11,5 +11,6 @@
.color-bbb{color:#bbb;}
.color-ccc{color:#ccc;}
.color-f9394d{color:#f9394d;}
.color-fe4109{color:#fe4109;}
.color-36afa2{color:#36afa2;}
.color-00c800{color:#00c800;}
File diff suppressed because one or more lines are too long
+22 -2
View File
@@ -49,7 +49,7 @@ api = {
appSeriesInfo: "app/series/info", //获取车辆价格
appSeriesBrands: "app/series/brands", //获取车型品牌
appSeries: "app/series", //获取车型车
appSeries: "app/series", //获取车系车型
appUserTel: "app/user/tel", //编辑拨打电话
@@ -106,6 +106,20 @@ api = {
appBizSituation_tabs:'app/biz/situation_tabs', //店铺概况_tab
appBizSituation:'app/biz/situation', //店铺概况 /店铺概况保存
appBizStreet:'app/biz/street', //获取乡镇
appCusorderV2Inten:'app/cusorderV2/inten', //新增意向金订单
appCusorderV2:'app/cusorderV2', //新建订单 /获取订单列表 /订单详情 /修改订单信息
appCusorderV2Tabs:'app/cusorderV2/tabs', //获取订单列表tab
appCusorderdata:'app/Cusorderdata', //获取订单图片 /上传编辑国补资料
appCusorderV2Info:'app/cusorderV2/info', //修改订单基本信息
appCusorderV2Status:'app/cusorderV2/status', //删除订单
appSytactivityTabs:'app/sytactivity/tabs', //私域通_tab
appSytactivityList:'app/sytactivity/list', //活动列表
appSytactivityDetail:'app/sytactivity/detail', //活动详情
appSytactivityLog:'app/sytactivity/log', //实时战报
appSytactivityRanking:'app/sytactivity/ranking', //活动排名
}
@@ -149,6 +163,11 @@ var white401UrlList = {
'app/home/qrcode':'app/home/qrcode'
}
/**
* 订单id临界切换版本
*/
var v2OrderId = 10000
export default {
env,
api,
@@ -161,5 +180,6 @@ export default {
bookTmpId,
getLotteryTmpId,
subscribeTmpId,
white401UrlList
white401UrlList,
v2OrderId,
}
+106 -2
View File
@@ -341,7 +341,7 @@ apiQuery.getAppSeriesBrands = function(params){
})
}
//获取车型车
//获取车系车型
apiQuery.getAppSeries = function(params){
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSeries, 2, params, "GET", resolve, reject)
@@ -642,7 +642,6 @@ apiQuery.getAppBrokerageOrders = function (params) {
})
}
//调拨记录_tab
apiQuery.getAppTransferTabs = function (params) {
return new Promise(function (resolve, reject) {
@@ -685,4 +684,109 @@ apiQuery.getAppBizStreet = function (params) {
})
}
//新增意向金订单
apiQuery.postAppCusorderV2Inten = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2Inten, 2, params, "POST", resolve, reject)
})
}
//新建订单
apiQuery.postAppCusorderV2 = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2, 2, params, "POST", resolve, reject)
})
}
//获取订单列表tab
apiQuery.getAppCusorderV2Tabs = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderV2Tabs, 2, params, "GET", resolve, reject)
})
}
//获取订单列表
apiQuery.getAppCusorderV2List = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderV2, 2, params, "GET", resolve, reject)
})
}
//订单详情
apiQuery.getAppCusorderV2 = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderV2, 2, params, "GET", resolve, reject)
})
}
//获取订单图片
apiQuery.getAppCusorderdata = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderdata, 2, params, "GET", resolve, reject)
})
}
//上传编辑国补资料
apiQuery.putAppCusorderdata = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderdata, 2, params, "PUT", resolve, reject)
})
}
//修改订单信息
apiQuery.putAppCusorderV2 = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2, 2, params, "PUT", resolve, reject)
})
}
//修改订单基本信息
apiQuery.putAppCusorderV2Info = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2Info, 2, params, "PUT", resolve, reject)
})
}
//删除订单
apiQuery.putAppCusorderV2Status = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2Status, 2, params, "PUT", resolve, reject)
})
}
//私域通_tab
apiQuery.getAppSytactivityTabs = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityTabs, 2, params, "GET", resolve, reject)
})
}
//活动列表
apiQuery.getAppSytactivityList = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityList, 2, params, "GET", resolve, reject)
})
}
//活动详情
apiQuery.getAppSytactivityDetail = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityDetail, 2, params, "GET", resolve, reject)
})
}
//实时战报
apiQuery.getAppSytactivityLog = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityLog, 2, params, "GET", resolve, reject)
})
}
//活动排名
apiQuery.getAppSytactivityRanking = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityRanking, 2, params, "GET", resolve, reject)
})
}
export default apiQuery;
+2 -1
View File
@@ -50,7 +50,8 @@ function HttpNoUkeyRequest(loading, url, sessionChoose, params, method, callBack
}
wx.showToast({
title: res.data.msg,
icon: "none"
icon: "none",
duration: 2500
});
}
}
+222
View File
@@ -0,0 +1,222 @@
import _ from '../../commons/js/commons'
import Canvas from '../../commons/js/utils/canvas'
let isGetImgInfo = false
const app = getApp()
Component({
//组件的属性列表
properties: {
isShow: {
type: Boolean,
value: false
},
customImg: {
type: String,
value: ''
},
codeImg: {
type: String,
value: ''
},
},
//组件的初始数据
data: {
imgs: [],
tempPosterPath: '',
showOptBtn:false,//操作按钮显示
},
attached: function () {
isGetImgInfo = false
},
//数据监听
observers: {
'isShow': function (e) {
if (e) {
this.setData({
showOptBtn:false,
})
this.createPoster()
}
},
'customImg': function (e) {
if (e) {
this.getImageInfo(this.data.customImg, 0)
}
},
'codeImg': function (e) {
if (e) {
this.getImageInfo(this.data.codeImg, 1)
}
},
},
//组件的方法列表
methods: {
// 转化网络图片,获取路径
getImageInfo(src, index) {
let that = this
isGetImgInfo = false
setTimeout(function () {
wx.getImageInfo({
src: src,
success: (res) => {
let arr = that.data.imgs
arr[index] = res
that.setData({
imgs: arr
})
isGetImgInfo = true
},
fail: (err) => {
console.log('error img is: ' + src)
}
})
}, 200)
},
//自定义海报
customizePoster(CTX){
if(this.data.customImg){
let that = this
let width = 600
let height = (parseFloat(this.data.imgs[0].height)/parseFloat(this.data.imgs[0].width))*600
this.setData({
canvasInfo:{
width: width+'px',
height: height+'px'
}
})
// CTX.setFillStyle('#ffffff')
// CTX.fillRect(0, 0,width+20, picheight+optheight+ftheight+20)
//底图
if (that.data.imgs[0]) {
CTX.drawImage(that.data.imgs[0].path, 0, 0, that.data.imgs[0].width, that.data.imgs[0].height, 0, 0, width, height)
}
//二维码
if (that.data.imgs[1]) {
CTX.drawImage(that.data.imgs[1].path,417, height-180,140,140)
}
setTimeout(function(){
CTX.save()
CTX.draw(true, function () {
wx.hideLoading()
that.saveCanvas()
})
},200)
}
},
//生成海报
createPoster() {
let that = this
wx.showLoading({
title: '正在生成',
})
if(isGetImgInfo){
this.setData({
tempPosterPath: ''
})
let ctx = wx.createCanvasContext('postercanvas', that)
that.customizePoster(ctx)
}
},
//临时存储canvas
saveCanvas() {
let that = this
wx.canvasToTempFilePath({
canvasId: 'postercanvas',
quality: 1,
success: (res) => {
// this.tempFilePath = res.tempFilePath
that.setData({
'tempPosterPath': res.tempFilePath
})
setTimeout(function () {
that.setData({
showOptBtn:true,
})
},200)
},
fail: (res) => {
app.printErrorClient('poseterfail',['错误信息:临时存储canvas失败',JSON.stringify(res)])
}
}, this)
},
//保存到相册
saveToAblum() {
let that = this
wx.saveImageToPhotosAlbum({
filePath: this.data.tempPosterPath,
success: (res) => {
_.utils.$toast('保存成功')
},
fail: (err) => {
app.printErrorClient('poseterfail',['错误信息:图片保存失败',JSON.stringify(err)])
if (err.errMsg == 'saveImageToPhotosAlbum:fail cancel') {
_.utils.$toast('您已取消保存')
} else if (err.errMsg == 'saveImageToPhotosAlbum:fail auth deny') {
_.utils.$modal('提示', '保存图片失败,您可以点击确定设置获取相册权限后再尝试保存!', '去授权').then(res => {
if (res) {
wx.openSetting({}) // 打开小程序设置页面,可以设置权限
}
})
}
}
})
},
//隐藏海报弹框
hidePoster() {
this.setData({
isShow: false
})
wx.hideLoading()
},
//预览图片
preview() {
wx.previewImage({
current: this.data.tempPosterPath, // 当前显示图片的http链接
urls: [this.data.tempPosterPath] // 需要预览的图片http链接列表
})
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//复制内容
copyWord(e){
if(e.currentTarget.dataset.tx){
wx.setClipboardData({
data: e.currentTarget.dataset.tx,
success (res) {
_.utils.$toast('复制成功')
}
})
}else{
_.utils.$toast('目前无文案')
}
},
}
})
+4
View File
@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}
+16
View File
@@ -0,0 +1,16 @@
<!-- components/poster/index.wxml -->
<view class="poster fixed {{isShow?'show':'hide'}}">
<view class="poster-bg absolute top-0 bottom-0 left-0 right-0" bindtap="hidePoster"></view>
<view class="poster-main bg-fff inner40 pt70 poster-main-img absolute box-center-middle ulib-r10">
<view class="absolute top-0 right-0 mt5 mr5 inner30 bg-fff img-50x50" bindtap="hidePoster"><text class="absolute box-center-middle iconfont icon-guanbi1 text-bold font-40 color-999"></text></view>
<canvas canvas-id='postercanvas' class='canvas absolute box-center-middle' style="width:{{canvasInfo.width}};height:{{canvasInfo.height}}"></canvas>
<view wx:if="{{showOptBtn}}" class="overflowhidden">
<scroll-view scroll-y="true" style="max-height:1000rpx;">
<image class="block wp100 ulib-r10" wx:if="{{tempPosterPath}}" src="{{tempPosterPath}}" mode="widthFix" catchtap="preview" />
</scroll-view>
</view>
<view class="mt40 fn-flex" wx:if="{{showOptBtn}}">
<button class="fn-flex-item btn-ffa73d-ff7a28 font-32 color-fff ulib-r750 text-center ml20 mr20" catchtap="saveToAblum">保存分享</button>
</view>
</view>
</view>
+26
View File
@@ -0,0 +1,26 @@
@import "../../commons/css/common.wxss";
.poster{
top: 0;
left: 100%;
width: 100%;
height: 100%;
z-index: 9999;
}
.show{
left: 0;
}
.poster-bg{
z-index: 9998;
background-color: rgba(0,0,0,.6);
}
.poster-main{
z-index: 9999;
}
.poster-main-img{
width:580rpx;
}
.poster-main-img canvas{
left: 1000%;
}
.btn-ffa73d-ff7a28{background-image:linear-gradient(#ffa73d,#ff7a28);border:none;}
.btn-ffa73d-ff7a28::after{border:none;}
+1 -1
View File
@@ -1,7 +1,7 @@
<view class="footer text-center">
<view>
<text class="support-tx">Powered by</text>
<image class='inline-block img-30x30' mode='aspectFit' src='https://qs.haodian.cn/wechat_app/common/lc-logo-gray.png?v=20210721'></image>
<image class='inline-block img-30x30' mode='aspectFit' src='https://qs.haodian.cn/wechat_app/common/lc-logo-gray.png?v=220223'></image>
<text class="support-tx">狸车</text>
</view>
</view>
+98 -39
View File
@@ -5,10 +5,12 @@ Page({
imgUrl:_.config.imgUrl,
photos:[],//异常报备
note:'',
isShowReport:false,
isShowReport:false,//是否显示报备异常弹窗
isShowTransfer:false,//是否显示确认弹窗
transport:[],//请上传运输单
id:'',
tran_id:'',
id:'',//查看id
tran_id:'',//操作ID
mileage:'',//里程数
},
onLoad: function (options) {
for (let key in options) {
@@ -45,10 +47,10 @@ Page({
},
//选择图片
chooseImg() {
chooseImg(e) {
let that = this
wx.chooseImage({
count: 10 - this.data.photos.length, // 默认10
count: e.currentTarget.dataset.amount - this.data.photos.length, // 默认10
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
@@ -89,8 +91,8 @@ Page({
let imgdata = JSON.parse(res.data)
let list = []
list.push({
img:imgdata.data.url,
img_url:imgdata.data.full_url,
value:imgdata.data.url,
src:imgdata.data.full_url,
})
that.setData({
photos: that.data.photos.concat(list),
@@ -116,7 +118,7 @@ Page({
})
},
//显示短信弹框
//显示报备异常弹框
optShowReport(e){
this.setData({
isShowReport:!this.data.isShowReport,
@@ -126,6 +128,17 @@ Page({
})
},
//显示确认弹框
optShowTransfer(e){
this.setData({
isShowTransfer:!this.data.isShowTransfer,
photos:[],
mileage:'',
optType:e.currentTarget.dataset.type?e.currentTarget.dataset.type:'',
optid:e.currentTarget.dataset.id?e.currentTarget.dataset.id:'',
})
},
//拨打电话
call(e) {
wx.makePhoneCall({
@@ -156,48 +169,94 @@ Page({
current:transportImg[0],
urls:transportImg,
})
}else if(e.currentTarget.dataset.type=='start_mileage'){
let start_mileage = []
this.data.info.transport.start_mileage.imgs.forEach(item => {
start_mileage.push(item.src)
})
wx.previewImage({
current:start_mileage[0],
urls:start_mileage,
})
}else if(e.currentTarget.dataset.type=='end_mileage'){
let end_mileage = []
this.data.info.transport.end_mileage.imgs.forEach(item => {
end_mileage.push(item.src)
})
wx.previewImage({
current:end_mileage[0],
urls:end_mileage,
})
}
},
//确认发车/接车
putAppTransfer(e) {
putAppTransfer() {
let that = this
let params = {};
params['id'] = e.currentTarget.dataset.id;
_.apiQuery.putAppTransfer(params).then(res => {
if (that.data.mileage == ''){
wx.showToast({
title: '请填定里程数',
icon: 'none'
})
}else if(that.data.photos.length==0){
wx.showToast({
title: '请拍照上传',
icon: 'none'
})
}else{
that.setData({
submitFlag: false,
submitFlag: true,
})
//刷新列表页
let pages = getCurrentPages();
let prevPage = null; //上一个页面
if (pages.length >= 2) {
prevPage = pages[pages.length - 2]; //上一个页面
if(prevPage.route == 'pages/allot/list/index'){
prevPage.onPullDownRefresh()
}
let params = {};
params['id'] = that.data.optid;
if(that.data.optType==2){
let start_mileage = that.data.info.transport.start_mileage?that.data.info.transport.start_mileage:{}
start_mileage.value = that.data.mileage
start_mileage.imgs = that.data.photos
params['start_mileage'] = start_mileage;
}else if(that.data.optType==3){
let end_mileage = that.data.info.transport.end_mileage?that.data.info.transport.end_mileage:{}
end_mileage.value = that.data.mileage
end_mileage.imgs = that.data.photos
params['end_mileage'] = end_mileage;
}
_.apiQuery.putAppTransfer(params).then(res => {
wx.showModal({
title: '操作成功',
content: '',
confirmText: "返回",
confirmColor: "#36afa2",
showCancel:false,
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
})
let pages = getCurrentPages();
let prevPage = null; //上一个页面
if (pages.length >= 2) {
prevPage = pages[pages.length - 2]; //上一个页面
if(prevPage.route == 'pages/allot/list/index'){
prevPage.onPullDownRefresh()
}
}
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
that.setData({
submitFlag: false,
isShowTransfer: false,
})
wx.showModal({
title: '操作成功',
content: '',
confirmText: "返回",
confirmColor: "#36afa2",
showCancel:false,
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
})
}
}
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
//报备异常
@@ -223,7 +282,7 @@ Page({
if(that.data.photos.length > 0){
let imgs = []
that.data.photos.forEach(item => {
imgs.push(item.img)
imgs.push(item.value)
})
params['imgs'] = imgs;
}
+75 -11
View File
@@ -38,8 +38,9 @@
</view>
</view>
</view>
<view class="pt0 inner40">
<view class="font-32">请上传运输单</view>
<view class="pl40 pr40 pb30">
<view class="font-32" wx:if="{{info.status==1}}">请上传运输单</view>
<view class="font-32" wx:elif="{{info.transport.imgs.length>0}}">请上传运输单</view>
<view class="mt20" wx:if="{{info.status==1}}">
<scroll-view class="space-nowrap" scroll-x="true">
<block wx:for='{{transport}}' wx:for-item='transport' wx:for-index="index" wx:key='transport'>
@@ -65,6 +66,33 @@
</view>
</view>
</view>
<view class="pl40 pr40 pb30" wx:if="{{info.transport.start_mileage.imgs.length>0}}">
<view class="font-32">发车信息</view>
<view class="mt20 font-28 color-666">
{{info.transport.start_mileage.title}}{{info.transport.start_mileage.value}}{{info.transport.start_mileage.tag}}
</view>
<view class="mt20">
<view class="img-200x180 relative" bindtap="previewImage" data-type="start_mileage">
<view class="absolute box-center-middle font-28 color-fff z-index-1" wx:if="{{info.transport.start_mileage.imgs.length>1}}">{{info.transport.start_mileage.imgs.length}}张</view>
<image class='img-200x180 ulib-r10' src='{{info.transport.start_mileage.imgs[0].src}}' mode='aspectFill'></image>
</view>
</view>
</view>
<view class="pl40 pr40 pb30" wx:if="{{info.transport.end_mileage.imgs.length>0}}">
<view class="font-32">接车信息</view>
<view class="mt20 fn-clear font-28 color-666">
{{info.transport.end_mileage.title}}{{info.transport.end_mileage.value}}{{info.transport.end_mileage.tag}}
</view>
<view class="mt20">
<view class="img-200x180 relative" bindtap="previewImage" data-type="end_mileage">
<view class="absolute box-center-middle font-28 color-fff z-index-1" wx:if="{{info.transport.end_mileage.imgs.length>1}}">{{info.transport.end_mileage.imgs.length}}张</view>
<image class='img-200x180 ulib-r10' src='{{info.transport.end_mileage.imgs[0].src}}' mode='aspectFill'></image>
</view>
</view>
</view>
</view>
<view class="mt30 font-24 color-999"><i class="mr5 iconfont icon-tishi"></i>请仔细检查车辆外观与随车物品是否正常,如有异常点击下方报备异常。</view>
</view>
@@ -75,8 +103,8 @@
<block wx:if="{{item.type==1}}">
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optShowReport" data-id="{{item.id}}">{{item.title}}</button>
</block>
<block wx:elif="{{item.type==2}}">
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppTransfer" data-id="{{item.id}}">{{item.title}}</button>
<block wx:elif="{{item.type==2||item.type==3}}">
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="optShowTransfer" data-type="{{item.type}}" data-id="{{item.id}}">{{item.title}}</button>
</block>
</block>
</view>
@@ -91,23 +119,23 @@
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
<view class="inline-block img-200x180 ml10 mr10 relative">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
<image class='img-200x180 ulib-r10' src='{{photos.img_url}}' mode='aspectFill'></image>
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill'></image>
</view>
</block>
<block wx:if="{{photos.length==0}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
@@ -115,13 +143,13 @@
</view>
</block>
<block wx:elif="{{photos.length==1}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
@@ -129,7 +157,7 @@
</view>
</block>
<block wx:elif="{{photos.length<10}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
@@ -147,4 +175,40 @@
<button disabled="{{submitFlag}}" bindtap="postAppTransfer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</lcb-msg>
<lcb-msg isShow="{{isShowTransfer}}">
<view slot="content">
<view class="pt40 pl40 pr40">
<view class="font-36 text-center" wx:if="{{optType==2}}">发车信息</view>
<view class="font-36 text-center" wx:elif="{{optType==3}}">接车信息</view>
</view>
<view class="relative mt20 pl40 pr100">
<input class="mt15 wp100 pl20 pr20 bds-1-eb font-28 ulib-r10" placeholder-class="color-ccc" placeholder="请填写里程数" type="digit" style="height:70rpx;" model:value='{{mileage}}'/>
<view class="absolute box-middle right-0 pr40 font-32 color-666">km</view>
</view>
<view class="mt30 pb40 pl30 pr40">
<scroll-view class="space-nowrap text-center" style="width:540rpx;" scroll-x="true">
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
<view class="inline-block img-200x180 ml10 mr10 relative">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill'></image>
</view>
</block>
<block wx:if="{{photos.length==0}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="1">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
</block>
</scroll-view>
<view class="mt10 text-center font-26 color-999">仪表盘拍照上传</view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowTransfer" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button disabled="{{submitFlag}}" bindtap="putAppTransfer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</lcb-msg>
+1 -1
View File
@@ -1,6 +1,6 @@
<view class="container">
<view class='pt160 text-center'>
<image class='img-130x130 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg'></image>
<image class='img-130x130 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg?v=220223'></image>
<view class='mt10 font-32 color-fff'>Hi~,欢迎回到狸车宝!</view>
<view class="mt10 font-64 color-fff">{{userInfo.uname}}</view>
<view class="inline-block bg-fff mt10 pl15 pr15 font-22 ulib-r750">{{userInfo.biz_name}}</view>
+5 -1
View File
@@ -18,10 +18,11 @@ Page({
if_driver:'',//是否试驾
level:'',//客户顶级
s_id:'',//车型id
v_id:'',//车型级别id
v_id:'',//车辆版本id
cfrom:'',//客户来源
o_type:'',//排序类型
visit:'',//只显示待回访客户(1是)
a_id:'',//活动ID
},
onLoad(options) {
for (let key in options) {
@@ -85,6 +86,9 @@ Page({
if(this.data.o_type != ''){
params['o_type'] = this.data.o_type;
}
if(this.data.a_id != ''){
params['a_id'] = this.data.a_id;
}
_.apiQuery.getAppCustomersList(params).then(res => {
this.setData({
total: res.data.total,
+1 -1
View File
@@ -1,7 +1,7 @@
<view class="container">
<view hidden="{{!pageshow}}">
<view class='pt100 text-center'>
<image class='img-140x140 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg'></image>
<image class='img-140x140 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg?v=220223'></image>
<view class='mt10 font-32 color-fff'>狸车宝</view>
</view>
<view class='pt30 pb30 pl90 pr90 relative z-index-4'>
+5 -1
View File
@@ -46,7 +46,11 @@ Page({
title:'账户设置',
url:'/pages/mine/install/index',
},
{
icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-siyutong2.png',
title:'私域通',
url:'/pages/siyutong/index',
},
]
}
+1 -1
View File
@@ -34,7 +34,7 @@
<block wx:for="{{list}}" wx:key='index'>
<view class="relative pt30 pb30 pr250 bbs-1-eb last-b-none {{item.status==1?'':'opacity-50'}}">
<view class="text-nowrap">
<image class='img-50x50 bds-1-eb ulib-r750 text-middle' lazy-load="{{true}}" mode="scaleToFill" src="{{imgUrl}}common/default-head.jpg"></image>
<image class='img-50x50 bds-1-eb ulib-r750 text-middle' lazy-load="{{true}}" mode="scaleToFill" src="{{imgUrl}}common/default-head.jpg?v=220223"></image>
<text class="pl10 text-middle font-28">{{item.uname}}</text>
<text class="pl10 text-middle font-28">{{item.mobile}}</text>
</view>
+6 -5
View File
@@ -324,7 +324,7 @@
<lcb-msg isShow="{{isShowCode}}">
<view slot="content">
<block wx:if="{{nextCode}}">
<!-- <block wx:if="{{nextCode}}">
<view class="inner40">
<view class="font-36 text-center">扫码生成合同</view>
<view class="pt20 text-center">
@@ -335,8 +335,9 @@
<view class="pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowCode" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">我知道了</button>
</view>
</block>
<block wx:elif="{{info.status>0}}">
</block> -->
<!-- <block wx:elif="{{info.status>0}}"> -->
<block>
<view class="inner40">
<view class="font-36 text-center">邀请客户扫码签名</view>
<view class="pt20 text-center">
@@ -348,7 +349,7 @@
<button bindtap="optShowCode" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">我知道了</button>
</view>
</block>
<block wx:else>
<!-- <block wx:else>
<view class="inner40">
<view class="font-36 text-center">邀请客户扫码签名</view>
<view class="pt20 text-center">
@@ -360,7 +361,7 @@
<view class="pl60 pr60 pb50 text-center font-32 color-666 fn-flex">
<view bindtap="optNextCode" class="fn-flex-item bg-36afa2 pt15 pb15 ml20 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">生成合同</view>
</view>
</block>
</block> -->
</view>
</lcb-msg>
+150
View File
@@ -0,0 +1,150 @@
import _ from '../../../commons/js/commons'
let flagForScroll = false
Page({
data: {
imgUrl:_.config.imgUrl,
navBar: {
title: '活动详情',
bgColor: '#fff',
isShowBg: false,
txtColor: '#fff'
},
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
flagForScroll = false
this.getAppSytactivityDetail()
this.getAppSytactivityLog()
},
//活动详情
getAppSytactivityDetail(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppSytactivityDetail(params).then(res => {
this.setData({
info:res.data,
})
wx.stopPullDownRefresh()
});
},
//实时战报
getAppSytactivityLog() {
this.setData({
load: false,
loading: true,
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 10;
params['id'] = this.data.id;
_.apiQuery.getAppSytactivityLog(params).then(res => {
this.setData({
pageNo: this.data.pageNo + 1,
list: this.data.list.concat(res.data.list),
load: true,
loading: false,
})
if (res.data.total == 0) {
this.setData({
noData: true
})
} else if (this.data.list.length == res.data.total) {
this.setData({
end: true
})
}
wx.stopPullDownRefresh()
});
},
//生成海报
showPoster(e){
let that = this
wx.showLoading({
title: '正在生成中...',
})
that.setData({
'poster.customPoster':that.data.info.poster,
'poster.codeImg':that.data.info.btn.share_url,
})
setTimeout(function(){
that.setData({
'poster.isShow': true
})
wx.hideLoading()
},3000)
},
onPageScroll(obj) {
if (obj.scrollTop > _.config.elementScrollTop && !flagForScroll) {
flagForScroll = true
this.setData({
'navBar.isShowBg': true,
'navBar.txtColor': '#333',
flagForBarColor: '000'
})
wx.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#000000',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
} else if (obj.scrollTop < _.config.elementScrollTop && flagForScroll) {
flagForScroll = false
this.setData({
'navBar.isShowBg': false,
'navBar.txtColor': '#fff',
flagForBarColor: 'fff'
})
wx.setNavigationBarColor({
frontColor: '#ffffff',
backgroundColor: '#ffffff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
}
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
})
this.getAppSytactivityDetail()
this.getAppSytactivityLog()
},
//页面上拉触底事件的处理函数
onReachBottom(){
if (this.data.noData || this.data.end||!this.data.load) return;
this.getAppSytactivityLog()
},
})
+11
View File
@@ -0,0 +1,11 @@
{
"enablePullDownRefresh": true,
"navigationStyle": "custom",
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#333",
"backgroundColor": "#333",
"backgroundColorTop": "#333",
"usingComponents": {
"activityPoster": "/components/activityPoster/index"
}
}
+48
View File
@@ -0,0 +1,48 @@
<lcb-navBar titleText="{{navBar.title}}" txtColor="{{navBar.txtColor}}" bgColor="{{navBar.bgColor}}" isShowBg="{{navBar.isShowBg}}"></lcb-navBar>
<view class='container' style="background-color:{{info.bg_color}};">
<view><image class="wp100" lazy-load="{{true}}" mode="widthFix" src="{{info.img}}"></image></view>
<view class="inner30 pt0" style="min-height:80vh;">
<view class="inner30 bg-fff box-shadow-000-10-10 ulib-r20">
<view class="text-center pt10 pb10 font-42 color-333">活动内容</view>
<view class="inner20 pt15 font-28 color-666 line-height-16">{{info.remark}}</view>
</view>
<!-- <view class="mt30 inner30 bg-fff box-shadow-000-10-10 ulib-r20">
<view class="relative pr150" bindtap="pushLink" data-url="{{info.ranking.url}}">
<view class="text-nowrap font-32 color-666">{{info.ranking.title}}</view>
<view class="absolute right-0 box-middle">
<text class="inline-block bg-ffa73d-ff7a28 pl10 pr10 text-middle font-20 color-fff ulib-r750">{{info.ranking.value}}</text>
<i class="iconfont icon-gengduo text-middle font-32 color-999"></i>
</view>
</view>
</view> -->
<view class="mt30 box-shadow-000-10-10 ulib-r20">
<view class="ulib-rt20 pt40 pb40 bg-fffaf3 text-center color-333 fn-flex">
<block wx:for='{{info.menus}}' wx:key='index'>
<view class="fn-flex-item" bindtap="pushLink" data-url="{{item.url}}">
<view class="font-40 text-bold color-fe4109">{{item.value}}</view>
<view class="font-28">{{item.title}}</view>
</view>
</block>
</view>
<view class="inner30 bg-fff ulib-rb20">
<view class="text-center pb10 font-42 color-333">实时数据</view>
<view>
<block wx:for='{{list}}' wx:key='index'>
<view class="mt20 inner30 relative bg-f0f4ff pr150 ulib-r10">
<view class="text-nowrap font-28 color-333">{{item.content}}</view>
<view class="absolute right-0 box-middle mr30 font-28 color-999">{{item.c_time}}</view>
</view>
</block>
<lcb-listmore isLoading='{{loading}}' isEnd='{{list.length>9&&end}}' isNoData='{{noData}}'></lcb-listmore>
</view>
</view>
</view>
<view class="pt40 pb40 pl100 pr100 text-center">
<view class="pt20 pb20 font-32 color-fff ulib-r750" style="background-color:{{info.btn.color}};" bindtap="{{info.btn.value==1?'showPoster':''}}">{{info.btn.title}}</view>
</view>
</view>
</view>
<activityPoster isShow="{{poster.isShow}}" customImg="{{poster.customPoster}}" codeImg="{{poster.codeImg}}"></activityPoster>
+37
View File
@@ -0,0 +1,37 @@
page{
background-color:#333;
}
.tt-ac{
background-color:#76a1e5;
box-shadow: 0 0 30rpx rgba(255,255,255,.5) inset;
}
.bds-5-679af5{
border:#679af5 5rpx solid;
}
.bg-1c349c{
background-color:#1c349c;
}
.bg-3349a6{
background-color:#3349a6;
}
.bg-ffa73d-ff7a28{
background-image:linear-gradient(#ffa73d,#ff7a28);
}
.bg-997871-ff7a28{
background-image:linear-gradient(#997871,#996267);
}
.box-shadow-000-50{
box-shadow: 0 0 30rpx rgba(0,0,0,.5) inset;
}
.color-adb3d6{
color:#adb3d6;
}
.ac-btn{
background-image:linear-gradient(#ffa73d,#ff7a28);
border-bottom:#db610d 6rpx solid;
}
.ac-btn-none{
background-image:linear-gradient(#bebebe,#aaa9a9);
border-bottom:#888 6rpx solid;
}
+48
View File
@@ -0,0 +1,48 @@
import _ from '../../../commons/js/commons'
Page({
data: {
isShowRule:false,
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppSytactivityRanking()
},
//活动排名
getAppSytactivityRanking(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppSytactivityRanking(params).then(res => {
this.setData({
info:res.data,
})
wx.setNavigationBarTitle({
title:res.data.title,
})
wx.stopPullDownRefresh()
});
},
//显示隐藏积分规则
optShowRule() {
this.setData({
isShowRule:!this.data.isShowRule,
})
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.getAppSytactivityRanking()
},
})
+11
View File
@@ -0,0 +1,11 @@
{
"navigationBarTitleText": "活动排名",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#fe722f",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#fe722f",
"usingComponents": {
}
}
+37
View File
@@ -0,0 +1,37 @@
<view class="container inner30 img-top-cover">
<view class="box-shadow-000-10-10 ulib-r20">
<view class="ulib-rt20 inner30 pl50 pr50 bg-fffaf3 relative color-333">
<view class="text-nowrap font-36"><text class="iconfont icon-cup mr5"></text>{{info.biz.title}}</view>
<view class="absolute right-0 box-middle mr50 font-36">{{info.biz.value}}</view>
</view>
<view class="inner30 pt10 bg-fff ulib-rb20">
<view>
<block wx:for='{{info.ranking}}' wx:key='index'>
<view class="mt20 inner30 relative bg-f0f4ff pr150 ulib-r10">
<view class="text-nowrap font-28 color-333">
<text class="iconfont icon-cup mr10 " wx:if="{{item.num==1}}"></text>
<text class="pl10 mr10" wx:else>{{item.num}}</text>
<text>{{item.biz_name}}</text>
</view>
<view class="absolute right-0 box-middle mr30 font-28 color-666">{{item.score}}</view>
</view>
</block>
</view>
</view>
</view>
<view class="pt30 pb30 text-center font-28 color-fff" bindtap="optShowRule">积分规则></view>
</view>
<!--积分规则-->
<lcb-msg isShow="{{isShowRule}}">
<view slot="content">
<view class="pt50 text-center font-36">{{info.rule.title}}</view>
<view class="pt10 pl40 pr40 pb50 line-height-16 text-center font-28 color-666">
<text>{{info.rule.value}}</text>
</view>
<view class="bts-1-eb text-center font-32 color-666">
<view class="pt25 pb25 color-000e65" bindtap="optShowRule">知道了</view>
</view>
</view>
</lcb-msg>
+28
View File
@@ -0,0 +1,28 @@
page{
background-color:#fe722f;
}
.tt-ac{
background-color:#76a1e5;
box-shadow: 0 0 30rpx rgba(255,255,255,.5) inset;
}
.bds-5-679af5{
border:#679af5 5rpx solid;
}
.bg-1c349c{
background-color:#1c349c;
}
.bg-3349a6{
background-color:#3349a6;
}
.bg-ffa73d-ff7a28{
background-image:linear-gradient(#ffa73d,#ff7a28);
}
.bg-997871-ff7a28{
background-image:linear-gradient(#997871,#996267);
}
.box-shadow-000-50{
box-shadow: 0 0 30rpx rgba(0,0,0,.5) inset;
}
.color-000e65{
color:#000e65;
}
+131
View File
@@ -0,0 +1,131 @@
import _ from '../../commons/js/commons'
const app = getApp()
Page({
//页面的初始数据
data: {
imgUrl:_.config.imgUrl,
swiperOptions: {
indicatorDots: false,
vertical: false,
autoplay: false,
interval: 4000,
duration: 1000,
items: 1,
circular: false,
current: 0
},
swiperCurrent: 0,
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
},
//生命周期函数--监听页面加载
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppSytactivityTabs()
this.getAppSytactivityList()
},
//私域通_tab
getAppSytactivityTabs(){
_.apiQuery.getAppSytactivityTabs().then(res => {
this.setData({
bg_img:res.data.bg_img,
menus:res.data.menus,
})
wx.setNavigationBarTitle({
title:res.data.title,
})
wx.stopPullDownRefresh()
});
},
//活动列表
getAppSytactivityList(){
this.setData({
load: false,
loading: true,
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 10;
_.apiQuery.getAppSytactivityList(params).then(res => {
this.setData({
pageNo: this.data.pageNo + 1,
list: this.data.list.concat(res.data.list),
load: true,
loading: false,
})
if (res.data.total == 0) {
this.setData({
noData: true
})
} else if (this.data.list.length == res.data.total) {
this.setData({
end: true
})
}
wx.stopPullDownRefresh()
});
},
//数据分组
getIconByGroup(list) {
let arr = []
if (list.length > 3) {
for (var i = 0; i < list.length; i += 3) {
arr.push(list.slice(i, i + 3));
}
} else {
arr.push(list)
}
return arr
},
//切换icon轮播
swiperChange: function (e) {
this.setData({
swiperCurrent: e.detail.current // current 改变时会触发 change 事件
})
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
})
this.getAppSytactivityTabs()
this.getAppSytactivityList()
},
//页面上拉触底事件的处理函数
onReachBottom(){
if (this.data.noData || this.data.end||!this.data.load) return;
this.getAppSytactivityList()
},
})
+11
View File
@@ -0,0 +1,11 @@
{
"navigationBarTitleText": "私域通",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#fe722f",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#fe722f",
"usingComponents": {
}
}
+30
View File
@@ -0,0 +1,30 @@
<view class="container img-top-cover" style="background-image:url({{bg_img}});">
<view class="relative" style="height:630rpx;"></view>
<view class="pl30 pr30 pb30">
<view class="syt-panel box-shadow-000-10-10 ulib-r20">
<!-- <view class="ulib-rt10 pt40 pb40 bg-fffaf3 text-center fn-flex color-333">
<block wx:for='{{menus}}' wx:key='index'>
<view class="fn-flex-item">
<view class="font-40 text-bold color-fe4109">{{item.value}}</view>
<view class="font-28">{{item.title}}</view>
</view>
</block>
</view> -->
<view class="inner30 bg-fff ulib-r10" style="min-height:700rpx">
<view class="mt10 text-center"><image style="width:300rpx;height:40rpx;" lazy-load="{{true}}" mode="aspectFill" src="{{imgUrl}}siyutong/ac-tt-1.png?v=220207"></image></view>
<block wx:for="{{list}}" wx:key="index">
<view class="mt20 inner30 relative bg-f0f4ff pr150 ulib-r10 {{item.color!='#ff842d'?'opacity-50':''}}" bindtap="pushLink" data-url="/pages/siyutong/activityDetail/index?id={{item.id}}">
<view class="text-nowrap font-32 color-333">{{item.title}}</view>
<view class="absolute right-0 box-middle mr20">
<text class="inline-block pl10 pr10 text-middle font-20 color-fff ulib-r750" style="background-color:{{item.color}};" >{{item.type_name}}</text>
<i class="iconfont icon-gengduo text-middle font-32 color-666"></i>
</view>
</view>
</block>
<lcb-listmore isLoading='{{loading}}' isEnd='{{list.length>9&&end}}' isNoData='{{noData}}'></lcb-listmore>
</view>
</view>
</view>
</view>
+30
View File
@@ -0,0 +1,30 @@
page{
background-color:#f88f3f;
}
.syt-panel{
border:#ffa63d 10rpx solid;
}
.bg-ffa73d-ff7a28{
background-image:linear-gradient(#ffa73d,#ff7a28);
}
.bg-997871-ff7a28{
background-image:linear-gradient(#997871,#996267);
}
.box-shadow-000-50{
box-shadow: 0 0 30rpx rgba(0,0,0,.5) inset;
}
.dots {
display: flex;
justify-content: center;
}
.dots .dot {
margin: 0 4rpx;
width: 12rpx;
height: 12rpx;
background: #ccc;
border-radius: 100%;
transition: all .6s;
}
.dots .dot.active {
background: #f88f3f;
}