地图定位考勤打卡组件引入前备份
@ -0,0 +1,110 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="cu-form-group " style="margin: 10upx;">
|
||||
<view style="width: 21%;">
|
||||
</view>
|
||||
<view >
|
||||
2021 年门店成本利润表
|
||||
</view>
|
||||
<button class="cu-btn bg-green shadow">上一年</button>
|
||||
</view>
|
||||
<view style="padding: 10upx;">
|
||||
<view style="margin: 10upx auto;"
|
||||
class="bg-red flex solid-bottom padding justify-start text-white text-center">
|
||||
<view class="text-header" style="width:15%">
|
||||
<text>月份</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>成本</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>收入</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>利润</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>利润率</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="targetList.length==0">
|
||||
<view class='empty cuIcon-info'></view>
|
||||
<view class='empty-text text-gray'>暂无数据</view>
|
||||
</view>
|
||||
<view class=" light flex justify-start text-black text-center text-main"
|
||||
style="padding-left: 10upx;" v-for="(item,index) in targetList" :key='index'>
|
||||
<view class="text-header" style="width:15%">
|
||||
<text>{{item.date}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>{{item.mbMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>{{item.sjMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header " style="width:20%;">
|
||||
<text>{{item.difference}}</text>
|
||||
</view>
|
||||
<view class="text-header " style="width:20%;">
|
||||
<text>{{item.ratio}}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
targetList: [{
|
||||
date: "2021-01",
|
||||
mbMoney: 150000,
|
||||
sjMoney: 265500,
|
||||
difference: "115500",
|
||||
ratio: "177.00%"
|
||||
},
|
||||
{
|
||||
date: "2021-02",
|
||||
mbMoney: 120000,
|
||||
sjMoney: 138650,
|
||||
difference: "18650",
|
||||
ratio: "115.54%"
|
||||
},
|
||||
{
|
||||
date: "2021-03",
|
||||
mbMoney: 150000,
|
||||
sjMoney: 289500,
|
||||
difference: "139500",
|
||||
ratio: "193.00%"
|
||||
},
|
||||
{
|
||||
date: "2021-04",
|
||||
mbMoney: 150000,
|
||||
sjMoney: 250603,
|
||||
difference: 100603,
|
||||
ratio: "167.08%"
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 15upx;
|
||||
color: #000000;
|
||||
border-bottom: #e6e6e6 1upx solid;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,133 @@
|
||||
<template>
|
||||
<view class=" memberRanking">
|
||||
<view class=" margin-top " style="padding: 10upx;">
|
||||
<view style="margin: 10upx auto; width:1200upx;"
|
||||
class="bg-red flex solid-bottom padding justify-start text-white text-center">
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>会员名字</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>充值</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>疗程</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>服务</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>充值还款</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>充值退款</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>疗程还款</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>疗程退款</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="starList.length==0">
|
||||
<view class='empty cuIcon-info'></view>
|
||||
<view class='empty-text text-gray'>暂无数据</view>
|
||||
</view>
|
||||
<view class=" light flex justify-start text-black text-center text-main" style="width: 1200upx;padding-left: 10upx;" v-for="(item,index) in starList"
|
||||
:key='index'
|
||||
:class="index+1==1?'bg-pink':'bg-grey' && index+1==2?'bg-red':'bg-grey' &&index+1==3?'bg-orange':'bg-grey' ">
|
||||
<view class="cur" style="width: 20upx;">
|
||||
<text>{{index+1}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.memberName}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.recStatisticMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.courseStatisticMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.cashStatisticMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.recRepayMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.recRefundMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.courseRepayMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:400upx">
|
||||
<text>{{item.courseRefundMoney}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import host from '../../../../utils/host.js'
|
||||
export default {
|
||||
data() {
|
||||
|
||||
return {
|
||||
userInfo: {},
|
||||
daylist: [],
|
||||
starList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
|
||||
memberList() {
|
||||
var that = this
|
||||
|
||||
uni.request({
|
||||
url: host + '/demay/ssm/staff/memberList', // 请求接口
|
||||
data: {storeId:that.userInfo.storeId}, // 发送参数
|
||||
method: 'POST', // 参数类型
|
||||
header: {
|
||||
'content-type': 'application/x-www-form-urlencoded',
|
||||
'token': that.userInfo.token
|
||||
}, // 请求头
|
||||
dataType: 'json', // 返回数据格式
|
||||
success(response) {
|
||||
console.log(response.data.rows);
|
||||
that.starList = response.data.rows
|
||||
},
|
||||
fail(error) {},
|
||||
complete(com) {}
|
||||
})
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.daylist = this.starList
|
||||
this.userInfo = uni.getStorageSync("userInfo")
|
||||
this.memberList()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 10upx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.memberRanking {
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,133 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class=" bg-white margin-top flex justify-between " style="height: 120upx;font-size: 36upx;">
|
||||
<view class=" flex align-center margin-left" style="width:50%">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>计划</text>
|
||||
</view>
|
||||
<view class="flex align-center margin-left" style="width: 50%;">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>实际</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-start cradtext">
|
||||
<view class="margin-left" style="width: 50%;">
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">充值</text>
|
||||
<text class='text-price text-red'>{{form1.rechargeTask}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">疗程</text>
|
||||
<text class='text-price text-red'>{{form1.courseTask}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<view class="cuIcon-titles text-red" style="display: inline-block;margin-left:5upx;margin-right: 50upx;"></view>
|
||||
<text>服务</text> <text class="text-red">{{form1.storeCashTask}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">卡付</text>
|
||||
<text class='text-price text-red'>{{form1.storeCashTask*3/12}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">疗程</text>
|
||||
<text class='text-price text-red'>{{form1.storeCashTask*5/12}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">现付</text>
|
||||
<text class='text-price text-red'>{{form1.storeCashTask*4/12}}</text>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="margin-left" style="width: 50%;">
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">充值</text>
|
||||
<text class='text-price text-red'>{{form1.rechargeMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">疗程</text>
|
||||
<text class='text-price text-red'>{{form1.courseMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<view class="cuIcon-titles text-red" style="display: inline-block;margin-left:5upx;margin-right: 50upx;"></view>
|
||||
<text>服务</text> <text class="text-red">{{(form1.recStoreCashMoney+form1.courseStoreCashMoney+form1.cashStoreCashMoney).toFixed(2)*1}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">卡付</text>
|
||||
<text class='text-price text-red'>{{form1.recStoreCashMoney}}</text>
|
||||
</view> <view class="margin-top">
|
||||
<text class="margin-left">疗程</text>
|
||||
<text class='text-price text-red'>{{form1.courseStoreCashMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">现付</text>
|
||||
<text class='text-price text-red'>{{form1.cashStoreCashMoney}}</text>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
|
||||
return {
|
||||
form1: {},
|
||||
userInfo: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
statistic() {
|
||||
const dates = new Date();
|
||||
let year = dates.getFullYear();
|
||||
let month = dates.getMonth() + 1;
|
||||
let day = dates.getDate()
|
||||
month = month > 9 ? month : '0' + month;;
|
||||
let date= year+'-'+month
|
||||
this.$api.statistic({
|
||||
storeId: this.userInfo.storeId,date:date
|
||||
}).then(res => {
|
||||
if (res.code == '000000') {
|
||||
this.form1 = res.data
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: "none",
|
||||
duration: 2000
|
||||
});
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.userInfo = uni.getStorageSync("userInfo")
|
||||
this.statistic()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 10upx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.cradtext text {
|
||||
display: inline-block;
|
||||
width: 80upx;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,110 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="cu-form-group " >
|
||||
<view style="width: 21%;">
|
||||
</view>
|
||||
<view >
|
||||
2021 年
|
||||
</view>
|
||||
<button class="cu-btn bg-green shadow">上一年</button>
|
||||
</view>
|
||||
<view style="padding: 10upx;">
|
||||
<view style="margin: 10upx auto;"
|
||||
class="bg-red flex solid-bottom padding justify-start text-white text-center">
|
||||
<view class="text-header" style="width:15%">
|
||||
<text>日期</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>目标业绩</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>实际业绩</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>差额</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>达成率</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="targetList.length==0">
|
||||
<view class='empty cuIcon-info'></view>
|
||||
<view class='empty-text text-gray'>暂无数据</view>
|
||||
</view>
|
||||
<view class=" light flex justify-start text-black text-center text-main"
|
||||
style="padding-left: 10upx;" v-for="(item,index) in targetList" :key='index'>
|
||||
<view class="text-header" style="width:15%">
|
||||
<text>{{item.date}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>{{item.mbMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>{{item.sjMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header " style="width:20%;">
|
||||
<text>{{item.difference}}</text>
|
||||
</view>
|
||||
<view class="text-header " style="width:20%;">
|
||||
<text>{{item.ratio}}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
targetList: [{
|
||||
date: "2021-01",
|
||||
mbMoney: 40000,
|
||||
sjMoney: 48500,
|
||||
difference: "超额8500",
|
||||
ratio: "121.25%"
|
||||
},
|
||||
{
|
||||
date: "2021-02",
|
||||
mbMoney: 15000,
|
||||
sjMoney: 14500,
|
||||
difference: "500",
|
||||
ratio: "96.67%"
|
||||
},
|
||||
{
|
||||
date: "2021-03",
|
||||
mbMoney: 50000,
|
||||
sjMoney: 52150,
|
||||
difference: "超额2150",
|
||||
ratio: "104.30%"
|
||||
},
|
||||
{
|
||||
date: "2021-04",
|
||||
mbMoney: 50000,
|
||||
sjMoney: 45600,
|
||||
difference: "4400",
|
||||
ratio: "91.20%"
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 15upx;
|
||||
color: #000000;
|
||||
border-bottom: #e6e6e6 1upx solid;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,142 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class=" bg-white margin-top flex justify-between " style="height: 120upx;font-size: 36upx;">
|
||||
<view class=" flex align-center margin-left" style="width:50%">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>充值</text>
|
||||
</view>
|
||||
<view class="flex align-center margin-left" style="width: 50%;">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>疗程</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-start cradtext">
|
||||
<view class="margin-left" style="width: 50%;" >
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">期初</text>
|
||||
<text class='text-price text-red'>{{form1.startMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">收入</text>
|
||||
<text class='text-price text-red'>{{form1.rechargeMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">还款</text>
|
||||
<text class='text-price text-red'>{{form1.recRepayMoney+form1.cashRefundMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">服务</text>
|
||||
<text class='text-price text-red'>{{form1.recStoreCashMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">退款</text>
|
||||
<text class='text-price text-red'>{{form1.recRefundMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">购疗程</text>
|
||||
<text class='text-price text-red'>{{form1.cardToCourseMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">结存</text>
|
||||
<text class='text-price text-red'>{{form1.endMoney}}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="margin-left" style="width: 50%;">
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">期初</text>
|
||||
<text class='text-price text-red'>{{form2.startMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">收入</text>
|
||||
<text class='text-price text-red'>{{form2.courseMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">还款</text>
|
||||
<text class='text-price text-red'>{{form2.courseRepayMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">服务</text>
|
||||
<text class='text-price text-red'>{{form2.courseStoreCashMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">退款</text>
|
||||
<text class='text-price text-red'>{{form2.cashRefundMoney+form2.courseRefundMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">购疗程</text>
|
||||
<text class='text-price text-red'>{{form2.cardToCourseMoney}}</text>
|
||||
</view>
|
||||
<view class="margin-top">
|
||||
<text class="margin-left">结存</text>
|
||||
<text class='text-price text-red'>{{form2.endMoney}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
|
||||
return {
|
||||
form1:{},
|
||||
form2:{},
|
||||
userInfo: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
achiCommList() {
|
||||
const dates = new Date();
|
||||
let year = dates.getFullYear();
|
||||
let month = dates.getMonth() + 1;
|
||||
let day = dates.getDate()
|
||||
month = month > 9 ? month : '0' + month;;
|
||||
day = day > 9 ? day : '0' + day;;
|
||||
let date= year+'-'+month+"-"+day
|
||||
this.$api.dayStatistic({
|
||||
date: date,storeId:this.userInfo.storeId
|
||||
}).then(res => {
|
||||
console.log(res);
|
||||
if (res.code == '000000') {
|
||||
this.form1 = res.rows[0]
|
||||
this.form2 = res.rows[1]
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: "none",
|
||||
duration: 2000
|
||||
});
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.userInfo = uni.getStorageSync("userInfo")
|
||||
this.achiCommList()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 10upx;
|
||||
color: #000000;
|
||||
}
|
||||
.cradtext text{
|
||||
display: inline-block;
|
||||
width: 100upx;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,137 @@
|
||||
<template>
|
||||
<view class="todaystar ">
|
||||
<scroll-view scroll-x class="bg-white nav text-center ">
|
||||
<view class="cu-item" :class="TabCur==1?'text-white light bg-red':''" @tap="tabSelect" :data-id="1">购卡
|
||||
</view>
|
||||
<view class="cu-item" :class="TabCur==2?'text-white light bg-red':''" @tap="tabSelect" :data-id="2">服务
|
||||
</view>
|
||||
<view class="cu-item" :class="TabCur==3?'text-white light bg-red':''" @tap="tabSelect" :data-id="3">结存
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class=" margin-top " style="padding: 10upx;">
|
||||
<view style="margin: 10upx auto;"
|
||||
class="bg-red flex solid-bottom padding justify-start text-white text-center">
|
||||
<view class="text-header" style="width: 5%;">
|
||||
</view>
|
||||
<view class="text-header" style="width: 50%;">
|
||||
<text>项目名称</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 30%;">
|
||||
<text v-show="TabCur==1">购卡金额</text>
|
||||
<text v-show="TabCur==2">交易金额</text>
|
||||
<text v-show="TabCur==3">结存金额</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:15%;">
|
||||
<text>占比</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="starList.length==0">
|
||||
<view class='empty cuIcon-info'></view>
|
||||
<view class='empty-text text-gray'>暂无数据</view>
|
||||
</view>
|
||||
<view class=" light flex justify-start text-black text-center text-main" v-for="(item,index) in starList"
|
||||
:key='index'
|
||||
:class="index+1==1?'bg-pink':'bg-grey' && index+1==2?'bg-red':'bg-grey' &&index+1==3?'bg-orange':'bg-grey' ">
|
||||
<view class="cur" style="width: 5%;">
|
||||
<text>{{index+1}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 50%;">
|
||||
<text>{{item.projectName}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 25%;">
|
||||
<text>{{item.projectStatisticMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>{{item.ratio}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import host from '../../../../utils/host.js'
|
||||
export default {
|
||||
data() {
|
||||
|
||||
return {
|
||||
TabCur: 3,
|
||||
userInfo: {},
|
||||
daylist: [],
|
||||
starList: [{
|
||||
index: 1,
|
||||
brandNumber: 100023,
|
||||
staffName: "疾风弟弟",
|
||||
commissionAmount: 10560
|
||||
},
|
||||
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
tabSelect(e) {
|
||||
this.TabCur = e.currentTarget.dataset.id * 1
|
||||
this.starList = []
|
||||
this.projectList()
|
||||
},
|
||||
|
||||
projectList() {
|
||||
var that = this
|
||||
var formData = {type:this.TabCur,storeId:this.userInfo.storeId}
|
||||
|
||||
uni.request({
|
||||
url: host + '/demay/ssm/staff/projectList', // 请求接口
|
||||
data: formData, // 发送参数
|
||||
method: 'post', // 参数类型
|
||||
header: {
|
||||
'content-type': 'application/x-www-form-urlencoded',
|
||||
'token':that.userInfo.token
|
||||
}, // 请求头
|
||||
dataType: 'json', // 返回数据格式
|
||||
success(response) {
|
||||
console.log(response.data.rows);
|
||||
that.starList = response.data.rows
|
||||
|
||||
that.starList.forEach(item=>{
|
||||
// if(item.projectName=='十八岁'){
|
||||
// item.projectName='精品面部保养S疗'
|
||||
// }
|
||||
// if(item.projectName=='返老还童'){
|
||||
// item.projectName='高端SPS全身护理'
|
||||
// }
|
||||
item.ratio =( item.ratio*100).toFixed(2)*1+'%'
|
||||
})
|
||||
},
|
||||
fail(error) {
|
||||
},
|
||||
complete(com) {
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.userInfo = uni.getStorageSync("userInfo")
|
||||
this.projectList()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 10upx;
|
||||
color: #000000;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,167 @@
|
||||
<template>
|
||||
<view class="todaystar ">
|
||||
|
||||
<scroll-view scroll-x class="bg-white nav text-center ">
|
||||
<view class="cu-item" :class="TabCur==1?'text-white light bg-red':''" @tap="tabSelect" :data-id="1">充值
|
||||
</view>
|
||||
<view class="cu-item" :class="TabCur==2?'text-white light bg-red':''" @tap="tabSelect" :data-id="2">疗程
|
||||
</view>
|
||||
<view class="cu-item" :class="TabCur==3?'text-white light bg-red':''" @tap="tabSelect" :data-id="3">服务
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class=" margin-top " style="padding: 10upx;">
|
||||
<view style="margin: 10upx auto;"
|
||||
class="bg-red flex solid-bottom padding justify-start text-white text-center">
|
||||
<view class="text-header" style="width: 2%;">
|
||||
</view>
|
||||
<view class="text-header" style="width:20%;">
|
||||
<text>员工</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>目标</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>实际</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%;">
|
||||
<text>差额</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:18%;">
|
||||
<text>达成率</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="starList.length==0">
|
||||
<view class='empty cuIcon-info'></view>
|
||||
<view class='empty-text text-gray'>暂无数据</view>
|
||||
</view>
|
||||
<view class=" light flex justify-start text-black text-center text-main" v-for="(item,index) in starList"
|
||||
:key='index'
|
||||
:class="index+1==1?'bg-pink':'bg-grey' && index+1==2?'bg-red':'bg-grey' &&index+1==3?'bg-orange':'bg-grey' ">
|
||||
<view class="cur" style="width: 2%;">
|
||||
<text>{{index+1}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>{{item.name}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>{{item.m}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>{{item.s}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>{{item.c}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 18%;">
|
||||
<text>{{item.ratio}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import host from '../../../../utils/host.js'
|
||||
export default {
|
||||
data() {
|
||||
|
||||
return {
|
||||
TabCur: 1,
|
||||
userInfo: {},
|
||||
daylist: [],
|
||||
starList: [{
|
||||
name: '陈佳',
|
||||
m: 50000,
|
||||
s: 68750,
|
||||
c: '超额18750',
|
||||
ratio:'137.50%'
|
||||
}, {
|
||||
name: '赵晓琳',
|
||||
m: 45000,
|
||||
s: 60800,
|
||||
c: '超额15800',
|
||||
ratio:'135.11%'
|
||||
}, {
|
||||
name: '陈倩倩',
|
||||
m: 45000,
|
||||
s: 58685,
|
||||
c: '超额13685',
|
||||
ratio:'130.41%'
|
||||
},
|
||||
{
|
||||
name: '于颐莲',
|
||||
m: 40000,
|
||||
s: 41150,
|
||||
c: '超额1150',
|
||||
ratio:'102.87%'
|
||||
},
|
||||
{
|
||||
name: '沈嘉',
|
||||
m: 10000,
|
||||
s: 10500,
|
||||
c: '超额500',
|
||||
ratio:'105.00%'
|
||||
},
|
||||
{
|
||||
name: '王胜胜',
|
||||
m: 20000,
|
||||
s: 18600,
|
||||
c: 1400,
|
||||
ratio:'107.00%'
|
||||
},{
|
||||
name: '李婕',
|
||||
m: 40000,
|
||||
s: 36005,
|
||||
c: 3995,
|
||||
ratio:'109.98%'
|
||||
}, {
|
||||
name: '张毅',
|
||||
m: 10000,
|
||||
s: 5000,
|
||||
c: 5000,
|
||||
ratio:'50.00%'
|
||||
},{
|
||||
name: '余姚勇',
|
||||
m: 30000,
|
||||
s: 21050,
|
||||
c: 8050,
|
||||
ratio:'126.67%'
|
||||
}
|
||||
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
tabSelect(e) {
|
||||
this.TabCur = e.currentTarget.dataset.id * 1
|
||||
this.projectList()
|
||||
},
|
||||
|
||||
projectList() {
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.userInfo = uni.getStorageSync("userInfo")
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 10upx;
|
||||
color: #000000;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,154 @@
|
||||
<template>
|
||||
<view class="todaystar ">
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>当前月份</text>
|
||||
</view>
|
||||
<picker fields="month" mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
|
||||
<button class="cu-btn bg-green shadow" data-target="Modal">{{date}}</button>
|
||||
</picker>
|
||||
</view>
|
||||
<view class=" margin-top " style="padding: 10upx;">
|
||||
<view style="margin: 10upx auto;"
|
||||
class="bg-red flex solid-bottom padding justify-start text-white text-center">
|
||||
<view class="text-header" style="width: 35%;">
|
||||
<text>员工</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>底薪</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>提成</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 25%;">
|
||||
<text>合计</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="staffList.length==0">
|
||||
<view class='empty cuIcon-info'></view>
|
||||
<view class='empty-text text-gray'>暂无数据</view>
|
||||
</view>
|
||||
<view class=" light flex justify-start text-black text-center text-main" v-for="(item,index) in staffList"
|
||||
:key='index'>
|
||||
|
||||
<view class="text-header" style="width: 35%;">
|
||||
<text>{{item.brandNumber }} - {{ item.staffName}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>{{item.baseSalary==null?'无底薪':item.baseSalary}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 20%;">
|
||||
<text>{{item.commSalary}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width: 25%;">
|
||||
<text>{{item.num}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
const currentDate = this.getDate({
|
||||
format: true
|
||||
})
|
||||
return {
|
||||
date: currentDate,
|
||||
TabCur: 0,
|
||||
userInfo: {},
|
||||
daylist: [],
|
||||
staffList: [],
|
||||
}
|
||||
},
|
||||
// 成本列表 当月 上月
|
||||
// 服务 $ 提成 $ 员工餐补 租金 其他支出 结余
|
||||
|
||||
// 个人业绩达成表
|
||||
// 1. 目标
|
||||
// 充值 | 疗程 | 服务
|
||||
// 2.实际
|
||||
// 充值 | 疗程 | 服务
|
||||
// 3. 差额
|
||||
// 充值 | 疗程 | 服务
|
||||
computed: {
|
||||
startDate() {
|
||||
return this.getDate('start');
|
||||
},
|
||||
endDate() {
|
||||
return this.getDate('end');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getDate(type) {
|
||||
//获取时间
|
||||
const date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
if (type === 'start') {
|
||||
month = month - 2;
|
||||
} else if (type === 'end') {
|
||||
month = month
|
||||
}
|
||||
month = month > 9 ? month : '0' + month;;
|
||||
return `${year}-${month}`;
|
||||
},
|
||||
bindDateChange(e){
|
||||
this.date = e.detail.value
|
||||
this.selectSalary()
|
||||
},
|
||||
selectSalary() {
|
||||
this.$api.selectSalary({
|
||||
storeId: this.userInfo.storeId,
|
||||
date: this.date
|
||||
}).then(res => {
|
||||
if (res.code == '000000') {
|
||||
res.rows.forEach(item => {
|
||||
item.commSalary = item.commSalary.toFixed(2) * 1
|
||||
if (item.baseSalary == null) {
|
||||
item.num = item.commSalary
|
||||
} else {
|
||||
item.num = (item.commSalary * 1 + item.baseSalary * 1).toFixed(2) * 1
|
||||
}
|
||||
})
|
||||
this.staffList = res.rows
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.message,
|
||||
icon: "none",
|
||||
duration: 2000
|
||||
});
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.daylist = this.staffList
|
||||
this.userInfo = uni.getStorageSync("userInfo")
|
||||
this.selectSalary()
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
setTimeout(function() {
|
||||
uni.stopPullDownRefresh();
|
||||
this.daylist = []
|
||||
this.daylist = this.staffList
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 10upx;
|
||||
color: #000000;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,110 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="cu-form-group " style="margin: 10upx;">
|
||||
<view style="width: 21%;">
|
||||
</view>
|
||||
<view >
|
||||
2021 年门店业绩
|
||||
</view>
|
||||
<button class="cu-btn bg-green shadow">上一年</button>
|
||||
</view>
|
||||
<view style="padding: 10upx;">
|
||||
<view style="margin: 10upx auto;"
|
||||
class="bg-red flex solid-bottom padding justify-start text-white text-center">
|
||||
<view class="text-header" style="width:15%">
|
||||
<text>月份</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>计划业绩</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>实际业绩</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>差额</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>达成率</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="targetList.length==0">
|
||||
<view class='empty cuIcon-info'></view>
|
||||
<view class='empty-text text-gray'>暂无数据</view>
|
||||
</view>
|
||||
<view class=" light flex justify-start text-black text-center text-main"
|
||||
style="padding-left: 10upx;" v-for="(item,index) in targetList" :key='index'>
|
||||
<view class="text-header" style="width:15%">
|
||||
<text>{{item.date}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>{{item.mbMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header" style="width:20%">
|
||||
<text>{{item.sjMoney}}</text>
|
||||
</view>
|
||||
<view class="text-header " style="width:20%;">
|
||||
<text>{{item.difference}}</text>
|
||||
</view>
|
||||
<view class="text-header " style="width:20%;">
|
||||
<text>{{item.ratio}}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
targetList: [{
|
||||
date: "2021-01",
|
||||
mbMoney: 250000,
|
||||
sjMoney: 265500,
|
||||
difference: "超额15500",
|
||||
ratio: "106.20%"
|
||||
},
|
||||
{
|
||||
date: "2021-02",
|
||||
mbMoney: 150000,
|
||||
sjMoney: 138650,
|
||||
difference: "11350",
|
||||
ratio: "92.43%"
|
||||
},
|
||||
{
|
||||
date: "2021-03",
|
||||
mbMoney: 250000,
|
||||
sjMoney: 289500,
|
||||
difference: "超额39500",
|
||||
ratio: "115.80%"
|
||||
},
|
||||
{
|
||||
date: "2021-04",
|
||||
mbMoney: 250000,
|
||||
sjMoney: 250603,
|
||||
difference: "超额603",
|
||||
ratio: "100.24%"
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.text-main {
|
||||
font-size: 28upx;
|
||||
height: 80upx;
|
||||
width: 100%;
|
||||
line-height: 80upx;
|
||||
margin-top: 15upx;
|
||||
color: #000000;
|
||||
border-bottom: #e6e6e6 1upx solid;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,140 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>当前月份</text>
|
||||
</view>
|
||||
<picker fields="month" mode="date" :value="date" :start="startDate" :end="endDate" @change="bindDateChange">
|
||||
<button class="cu-btn bg-green shadow" data-target="Modal">{{date}}</button>
|
||||
<button class="cu-btn bg-red shadow margin-left margin-right" data-target="Modal">上一月</button>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>收入</text>
|
||||
</view>
|
||||
<text class="margin-right text-price text-red">250,603.00</text>
|
||||
</view>
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>提成</text>
|
||||
</view>
|
||||
<text class="margin-right text-price text-red">87,711.33</text>
|
||||
</view>
|
||||
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>员工餐补</text>
|
||||
</view>
|
||||
<text class="margin-right text-price text-red">8,000.00</text>
|
||||
</view>
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>租金</text>
|
||||
</view>
|
||||
<text class="margin-right text-price text-red">18,500.00</text>
|
||||
</view>
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>其他</text>
|
||||
</view>
|
||||
<text class="margin-right text-price text-red">62,608.50</text>
|
||||
</view>
|
||||
<view class="cu-bar bg-white margin-top">
|
||||
<view class="action">
|
||||
<text class="cuIcon-titles text-red"></text>
|
||||
<text>结余</text>
|
||||
</view>
|
||||
<text class="margin-right text-price text-red">73,783.17</text>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
const currentDate = this.getDate({
|
||||
format: true
|
||||
})
|
||||
return {
|
||||
userInfo: {},
|
||||
date:currentDate,
|
||||
form: {
|
||||
staffName: "刘乐乐",
|
||||
job: 5,
|
||||
basePay: 1800,
|
||||
performance: 156000,
|
||||
royalty: 3200,
|
||||
close: 5000
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
startDate() {
|
||||
return this.getDate('start');
|
||||
},
|
||||
endDate() {
|
||||
return this.getDate('end');
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getDate(type) {
|
||||
//获取时间
|
||||
const date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
if (type === 'start') {
|
||||
month = month - 2;
|
||||
} else if (type === 'end') {
|
||||
month = month
|
||||
}
|
||||
month = month > 9 ? month : '0' + month;;
|
||||
return `${year}-${month}`;
|
||||
},
|
||||
bindDateChange: function(e) {
|
||||
this.date = e.target.value
|
||||
this.salaryByStaff()
|
||||
},
|
||||
salaryByStaff() {
|
||||
|
||||
let date = this.date
|
||||
var form = {
|
||||
storeId: this.userInfo.storeId,
|
||||
storeName: this.userInfo.storeName,
|
||||
staffId: this.userInfo.id,
|
||||
staffName: this.userInfo.staffName,
|
||||
brandNumber: this.userInfo.brandNumber,
|
||||
date: date
|
||||
}
|
||||
this.$api.salaryByStaff(form).then(res => {
|
||||
if (res.code == '000000') {
|
||||
this.form = res.data
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: res.message,
|
||||
showCancel: false,
|
||||
success: function(res) {}
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
onShow: function() {
|
||||
this.userInfo = uni.getStorageSync('userInfo')
|
||||
this.salaryByStaff()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
|
After Width: | Height: | Size: 266 KiB |
@ -0,0 +1 @@
|
||||
https://service.dcloud.net.cn/build/download/82a0e840-9b68-11eb-8b9d-b9a6d32943db
|
||||
@ -0,0 +1,3 @@
|
||||
andrCertfile=G:/HBuilderX/plugins/app-safe-pack/Test.keystore
|
||||
andrCertAlias=test
|
||||
andrCertPass=ep/Tdjka4Y7WYqDB6/S7dw==
|
||||
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<script>
|
||||
var __UniViewStartTime__ = Date.now();
|
||||
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||
CSS.supports('top: constant(a)'))
|
||||
document.write(
|
||||
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||
</script>
|
||||
<title>View</title>
|
||||
<link rel="stylesheet" href="view.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script src="__uniappes6.js"></script>
|
||||
<script src="view.umd.min.js"></script>
|
||||
<script src="app-view.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -0,0 +1 @@
|
||||
(function(e){function r(r){for(var n,l,i=r[0],p=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in p)Object.prototype.hasOwnProperty.call(p,n)&&(e[n]=p[n]);f&&f(r);while(s.length)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var p=t[i];0!==o[p]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"app-config":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this["webpackJsonp"]=this["webpackJsonp"]||[],p=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var f=p;t()})([]);
|
||||
@ -0,0 +1 @@
|
||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__4D77F26","name":"DeMay","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"light","background":"#F8F8F8"},"usingComponents":true,"nvueCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","proapp@2x":"unpackage/res/icons/167x167.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png"},"prerendered":"false"}},"splashscreen":{"androidStyle":"common"},"google":{"permissions":["<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>","<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>","<uses-permission android:name=\"android.permission.CALL_PHONE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"packagename":"deMay.uniapp","password":"","aliasname":"","keystore":"html5plus://test","custompermissions":true},"apple":{"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}},"orientation":["portrait-primary"]},"allowsInlineMediaPlayback":true,"safearea":{"background":"#ffffff","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"3.1.8","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#7A7E83","selectedColor":"#e83131","borderStyle":"rgba(0,0,0,0.4)","backgroundColor":"#ffffff","list":[{"pagePath":"pages/tabBar/myHome/myHome","iconPath":"static/image/home.png","selectedIconPath":"static/image/home-select.png","text":"首页"},{"pagePath":"pages/tabBar/mySet/mySet","iconPath":"static/image/my.png","selectedIconPath":"static/image/my-select.png","text":"我的"}],"height":"50px","child":["lauchwebview"],"selected":1},"launch_path":"__uniappview.html","adid":"121927300401"}}
|
||||
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 266 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 392 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 11 KiB |
@ -1 +1 @@
|
||||
forceInstall
|
||||
installed
|
||||