Commit 3e1a8b2e authored by 华国豪's avatar 华国豪 🙄

创建代码

parents
.commonF{
color:#000000;
background: #fff;
}
.commonF .cff{
color: #fff;
}
#searchView{
height: 70rpx;
width: 100%;
}
::-webkit-scrollbar {
width: 0;
height: 0;
color: transparent;
}
.commonF .f12{
font-size: 12rpx;
}
.commonF .f14{
font-size: 14rpx;
}
.commonF .f18{
font-size: 18rpx;
}
.commonF .f20{
font-size: 20rpx;
}
.commonF .f22{
font-size: 22rpx;
}
.commonF .f24{
font-size: 24rpx;
}
.num_wrap .btn[disabled] {
border: 1px solid #888888;
color: #888888;
}
.commonF .f26{
font-size: 26rpx;
}
.commonF .f28{
font-size: 28rpx;
}
.commonF .f30{
font-size:30rpx !important;
}
.commonF .f32{
font-size:32rpx;
}
.commonF .f40{
font-size:40rpx;
}
.commonF .f46{
font-size:46rpx;
}
.commonF .f52{
font-size: 52rpx;
}
.commonF .bold{
font-weight: 600;
}
.commonF .c88{
color:#888888;
}
.commonF .c33{
color:#333333;
}
.commonF .c66{
color:#666666;
}
.commonF .c99{
color:#999999;
}
.commonF .c55{
color:#5597FF;
}
.commonF .p30_2{
padding:0 30rpx;
}
.commonF .p30_4{
padding:30rpx;
}
.commonF .basefix:after {
clear: both;
content: '.';
display: block;
height: 0;
overflow: hidden;
}
.commonF .text1{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.commonF .text2{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.commonF .text3{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.commonF .c11{
color: #111111;
}
.commonF .c33{
color: #333333;
}
.commonF .cee{
color: #EE4454;
}
.commonF .cc2{
color: #C2C2C2;
}
image{
width: 100%;
height: 100%;
}
.commonF .cztm1 .cztmList1{
width:450rpx;
height:280rpx;
border-radius:12rpx;
}
.commonF .cztm>view{
display: inline-block;
position: relative;
}
.commonF .cztm image{
width: 100%;
height: 100%;
}
.commonF .cztm .cztmList{
width:210rpx;
height:280rpx;
border-radius:12rpx;
margin-left: 30rpx;
}
.commonF .cztm .cztmList image{
width: 100%;
height: 100%;
}
.commonF .cztm .boxshadow{
position: absolute;
width:100%;
bottom: 0;
height:120rpx;
background:rgba(0,0,0,0.3);
border-radius:0px 0px 12rpx 12rpx;
padding-left: 29rpx;
color:#fff;
box-sizing: border-box;
}
.commonF .cztm1{
margin-top: 30rpx;
}
.commonF .cztm2{
margin-left: -30rpx;
margin-top: 20rpx;
}
.commonF .FlTitleView{
display: flex;
align-items: center;
height:90rpx;
background:rgba(245,245,245,1);
padding: 0 26rpx;
position: relative;
}
.commonF .FlTitleView .more{
position: absolute;
right: 30rpx;
margin-top:7rpx;
}
.commonF .FlTitleView .text{
font-size:20rpx;font-weight:700;
}
.commonF .inlineBlock>view{
display: inline-block;
}
.commonF .Gray30{
width: 100%;
background: #F4F4F4;
height: 30rpx;
}
.commonF .Nodataview{
width: 100%;
box-sizing: border-box;
padding: 30rpx;
text-align: center;
font-size: 24rpx;
color: #999;
}
.commonF .bb1e9{
border-bottom: 1px solid #E9E9E9;
}
.commonF .mg10{
display: inline-block;
margin-right: 10rpx;
}
.commonF .mgtb10{
margin: 10rpx 0;
}
.commonF .mglr20{
margin: 0 20rpx;
}
.commonF .flex1{
flex: 1;
}
.num_wrap{
width: 220rpx;
vertical-align: middle;
display: inline-flex!important;
flex-direction: row;
align-items: center;
justify-content: flex-end;
}
.num_wrap .btn{
width: 40rpx;
height:40rpx;
line-height: 30rpx;
text-align: center;
border-radius: 50%;
padding: 0;
margin:0;
font-size: 36rpx;
border: 1px solid #EE4454;
color: #EE4454;
}
.btn::after{
border: none;
}
.num_wrap .input{
width: 90rpx;
height: 60rpx;
color: #333;
font-size: 24rpx;
text-align: center;
border: none;
margin: 0 2rpx;
}
.flex-ter{
display: flex;
align-items: center;
}
.center{
text-align: center;
}
.t-left{
text-align: left;
}
\ No newline at end of file
# WX_Viitto
ERP小程序项目
\ No newline at end of file
//app.js
let md5 = require('utils/md5.js')
let javaUrl = 'https://efficient.oytour.com/';
// let javaUrl = 'http://47.96.12.235:9001/';
// let netUrl = 'https://reborn.oytour.com/api/common/post';
let netUrl = 'http://192.168.2.65:8025/api/Common/Post';
App({
// 小程序初始化时
onLaunch: function(options) {
},
// 小程序显示
onShow: function(options) {},
// 小程序隐藏
onHide: function() {},
// 错误监听
onError: function(msg) {},
// 用户token
token: '',
isLogin: wx.getStorageSync('admin') ? 1 :0,
// 全局状态
state: {
admin: {
account: wx.getStorageSync('admin') ? wx.getStorageSync('admin').account:'',
address: wx.getStorageSync('admin') ? wx.getStorageSync('admin').address:'',
businessCardPhotos: wx.getStorageSync('admin') ? wx.getStorageSync('admin').businessCardPhotos:null,
contact: wx.getStorageSync('admin') ? wx.getStorageSync('admin').contact:'',
customerAccountId: wx.getStorageSync('admin') ? wx.getStorageSync('admin').customerAccountId:0,
housePhotos: wx.getStorageSync('admin') ? wx.getStorageSync('admin').housePhotos:null,
images: wx.getStorageSync('admin') ? wx.getStorageSync('admin').images:null,
isMember: wx.getStorageSync('admin') ? wx.getStorageSync('admin').isMember :0,
name: wx.getStorageSync('admin') ? wx.getStorageSync('admin').name :'',
photo: wx.getStorageSync('admin') ? wx.getStorageSync('admin').photo :'',
secretKey: wx.getStorageSync('admin') ? wx.getStorageSync('admin').secretKey :'',
token: wx.getStorageSync('admin') ? wx.getStorageSync('admin').token :'',
customerName: wx.getStorageSync('admin') ? wx.getStorageSync('admin').customerName : '',
id: wx.getStorageSync('admin') ? wx.getStorageSync('admin').id : ''
},
site:{
companyId: wx.getStorageSync('site') ? wx.getStorageSync('site').companyId : 0,
cityId: wx.getStorageSync('site') ? wx.getStorageSync('site').cityId : 262,
siteName: wx.getStorageSync('site') ? wx.getStorageSync('site').siteName : '成都站'
},
companyId: wx.getStorageSync('site') ? wx.getStorageSync('site').companyId : 0,
cityId: wx.getStorageSync('site') ? wx.getStorageSync('site').cityId:262,
siteName: wx.getStorageSync('site') ? wx.getStorageSync('site').siteName :'成都站',
locaSite: false,
},
// 请求接口
$api: function (url, data) {
var promise = new Promise((resolve, reject) => {
wx.showLoading({
title: '加载中',
});
let timestamp = (new Date()).valueOf()
let sign = md5('cmd=' + url + '&' + 'msg=' + encodeURIComponent(data).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + getApp().state.admin.token + '&' + 'key=' + '')
wx.request({
url: netUrl,
method: 'POST',
data: {
cmd: url,
msg: data,
timestamp: timestamp,
token: getApp().state.admin.token,
sign: sign
},
success(res) {
wx.hideLoading()
if (res.data.resultCode === 1) {
resolve(res.data.data);
} else if (res.data.resultCode === 10000 || res.data.resultCode === 10001) {
wx.navigateTo({
url: '/pages/login/login'
})
} else {
wx.showToast({
title: res.data.message,
icon: 'none',
duration: 1000
})
reject(res.data)
}
}
})
})
return promise;
},
// 请求接口
$apiSaveFormId: function (url, data) {
var promise = new Promise((resolve, reject) => {
let timestamp = (new Date()).valueOf()
let sign = md5('cmd=' + url + '&' + 'msg=' + encodeURIComponent(data).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + getApp().state.admin.token + '&' + 'key=' + '')
wx.request({
url: netUrl,
method: 'POST',
data: {
cmd: url,
msg: data,
timestamp: timestamp,
token: getApp().state.admin.token,
sign: sign
},
success(res) {
}
})
})
return promise;
},
$apiJavaData: function (url, msg) {
let groupId = 2;
let token = this.state.admin.token;
let secretKey = this.state.admin.secretKey;
let data = {};
var promise = new Promise((resolve, reject) => {
wx.showLoading({
title: '加载中...',
});
let timestamp = (new Date()).valueOf()
let sign = md5('msg=' + encodeURIComponent(JSON.stringify(msg)).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + token + '&' + 'key=' + secretKey)
wx.request({
url: javaUrl + url,
method: 'POST',
data: {
msg: msg,
timestamp: timestamp,
token: token,
sign: sign,
groupId: groupId,
},
success(res) {
wx.hideLoading()
if (res.data.resultCode === 1) {
resolve(res.data);
} else if (res.data.resultCode === 10000 || res.data.resultCode === 10001) {
wx.navigateTo({
url: '/pages/login/login'
})
} else {
wx.showToast({
title: res.data.message,
icon: 'none',
duration: 1000
})
reject(res.data)
}
}
})
})
return promise;
},
//
$apiJavaNew: function (url, msg) {
let groupId=2;
let token = this.state.admin.token;
let secretKey = this.state.admin.secretKey;
let data={};
var promise = new Promise((resolve, reject) => {
wx.showLoading({
title: '加载中...',
});
let timestamp = (new Date()).valueOf()
let sign = md5('msg=' + encodeURIComponent(JSON.stringify(msg)).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + token + '&' + 'key=' + secretKey)
wx.request({
url: javaUrl + url,
method: 'POST',
data: {
msg: msg,
timestamp: timestamp,
token: token,
sign: sign,
groupId: groupId,
},
success(res) {
wx.hideLoading()
if (res.data.resultCode === 1) {
resolve(res.data.data);
} else if (res.data.resultCode === 10000 || res.data.resultCode === 10001) {
wx.navigateTo({
url: '/pages/login/login'
})
} else {
wx.showToast({
title: res.data.message,
icon: 'none',
duration: 1000
})
reject(res.data)
}
}
})
})
return promise;
},
// 抽奖接口2
$apiJava: function (url, msg, groupId, uid, token, secretKey) {
var promise = new Promise((resolve, reject) => {
wx.showLoading({
title: '加载中',
});
let timestamp = (new Date()).valueOf()
let sign = md5('msg=' + encodeURIComponent(JSON.stringify(msg)).toLowerCase() + '&' + 'timestamp=' + timestamp + '&' + 'token=' + token + '&' + 'key=' + secretKey)
wx.request({
url: javaUrl + url,
method: 'POST',
data: {
msg: msg,
timestamp: timestamp,
token: token,
sign: sign,
uid: uid,
groupId: groupId,
},
success(res) {
wx.hideLoading()
if (res.data.resultCode === 1) {
resolve(res.data.data);
} else if (res.data.resultCode === 10000 || res.data.resultCode === 10001) {
wx.navigateTo({
url: '/pages/login/login'
})
} else {
wx.showToast({
title: res.data.message,
icon: 'none',
duration: 1000
})
reject(res.data)
}
}
})
})
return promise;
},
globalData: {
userInfo: null,
awardsConfig: {},
runDegs: 0
}
})
\ No newline at end of file
{
"pages": [
"pages/Home/home"
],
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序获取当前城市所属站点"
}
},
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTitleText": "印象之旅",
"navigationBarTextStyle": "black",
"enablePullDownRefresh": true,
"onReachBottomDistance": 20
},
"tabBar": {
"color": "#000000",
"selectedColor": "#EE4454",
"backgroundColor": "#FFFFFF",
"list": [
{
"pagePath": "pages/Home/home",
"text": "首页"
},
{
"pagePath": "pages/Home/home",
"text": "首页"
}
]
},
"sitemapLocation": "sitemap.json"
}
\ No newline at end of file
/**app.wxss**/
@import "weui.wxss";
@import 'Common.wxss';
view,scroll-view,swiper,swiper-item,movable-area,movable-view,cover-view,cover-image,icon,text,rich-text,progress,button,checkbox-group,checkbox,form,input,label,picker,picker-view,radio-group,radio,slider,switch,textarea,navigator,functional-page-navigator,image,video,camera,live-player,live-pusher,map,canvas,open-data,web-view,ad{
box-sizing: border-box;
}
page {
display: block;
min-height: 100%;
background-color: #F5F5F5;
}
\ No newline at end of file
let app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
{
"navigationBarTitleText": "首页",
"usingComponents": {
}
}
\ No newline at end of file
<view class="Home commonF">
代购
</view>
\ No newline at end of file
{
"description": "项目配置文件",
"packOptions": {
"ignore": []
},
"setting": {
"urlCheck": false,
"es6": true,
"postcss": true,
"minified": true,
"newFeature": true,
"autoAudits": false,
"checkInvalidKey": true
},
"compileType": "miniprogram",
"libVersion": "2.7.7",
"appid": "wx2e070bb923f858fd",
"projectname": "FLASHMAN",
"debugOptions": {
"hidedInDevtools": []
},
"isGameTourist": false,
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {
"search": {
"current": -1,
"list": []
},
"conversation": {
"current": -1,
"list": []
},
"plugin": {
"current": -1,
"list": []
},
"game": {
"currentL": -1,
"list": []
},
"gamePlugin": {
"current": -1,
"list": []
},
"miniprogram": {
"current": -1,
"list": [
{
"id": 2,
"name": "写游记",
"pathName": "pages/Voucher/write/write",
"query": "orderId=25098&tcId=4006&GuestId=24614",
"scene": null
},
{
"id": 1,
"name": "调查",
"pathName": "pages/Voucher/Voucher",
"query": "tcid=5560",
"scene": null
},
{
"id": 7,
"name": "个人中心",
"pathName": "pages/member/member",
"query": "",
"scene": null
},
{
"id": -1,
"name": "个人信息",
"pathName": "pages/member/memberInfo/memberInfo",
"query": "",
"scene": null
},
{
"id": -1,
"name": "修改",
"pathName": "pages/member/memberInfoED/memberInfoED",
"query": "",
"scene": null
},
{
"id": -1,
"name": "订单中心",
"pathName": "pages/member/orderCenter/orderCenter",
"query": "",
"scene": null
},
{
"id": 8,
"name": "getToken",
"pathName": "pages/login/login",
"query": "",
"scene": null
},
{
"id": -1,
"name": "意见调查",
"pathName": "pages/member/investigation/investigation",
"query": "",
"scene": null
},
{
"id": -1,
"name": "表格",
"pathName": "pages/member/invesDetails/invesDetails",
"query": "",
"scene": null
},
{
"id": -1,
"name": "我的票券",
"pathName": "pages/member/Coupon/Coupon",
"query": "",
"scene": null
},
{
"id": -1,
"name": "签证首页",
"pathName": "pages/visa/visa",
"query": "",
"scene": null
},
{
"id": -1,
"name": "签证列表页",
"pathName": "pages/visa/visaList/visaList",
"query": "",
"scene": null
},
{
"id": 12,
"name": "签证详情",
"pathName": "pages/visa/visaDetails/visaDetails",
"query": "id=dRvFC7rQ4Lg%3D%0A",
"scene": null
},
{
"id": 13,
"name": "签证详情日期",
"pathName": "pages/visa/visaChDate/visaChDate",
"query": "id=dRvFC7rQ4Lg%3D%0A&visaB2CPrice=500&visaPrice=350",
"scene": null
},
{
"id": 14,
"name": "签证下单",
"pathName": "pages/visa/visaOrder/visaOrder",
"query": "id=dRvFC7rQ4Lg%3D%0A&selectDate=2019-07-11",
"scene": null
},
{
"id": 15,
"name": "跟团游填写订单",
"pathName": "pages/GroupTour/FillOrder/FillOrder",
"query": "",
"scene": null
},
{
"id": -1,
"name": "机票列表",
"pathName": "pages/Ticket/TicketList/TicketList",
"query": "",
"scene": null
},
{
"id": 17,
"name": "机票详情",
"pathName": "pages/Ticket/TicketOrder/TicketOrder",
"query": "id=940",
"scene": null
},
{
"id": -1,
"name": "机票加人",
"pathName": "pages/Ticket/TicketSetpp/TicketSetpp",
"query": "id=940",
"scene": null
},
{
"id": -1,
"name": "跟团游下单",
"pathName": "pages/GroupTour/FillOrder/FillOrder",
"query": "idDes=w%2BngpO%2BnQZw%3D%0A&tcid=3929&teamType=0",
"scene": null
},
{
"id": 20,
"name": "站位",
"pathName": "pages/product/SametradeZW/Successview/Successview",
"query": "idDes=w%2BngpO%2BnQZw%3D%0A&tcid=3929&teamType=0",
"scene": null
},
{
"id": -1,
"name": "站位",
"pathName": "pages/mine/Happypassbook/Happypassbook",
"query": "",
"scene": null
},
{
"id": -1,
"name": "baomingqueren",
"pathName": "pages/product/SametradeZW/SametradeZW",
"query": "",
"scene": null
},
{
"id": -1,
"name": "测试弹出",
"pathName": "pages/Voucher/VoucherDetails/VoucherDetails",
"query": "tcid=5560",
"scene": null
},
{
"id": -1,
"name": "报名确认",
"pathName": "pages/product/SametradeZW/SametradeZW",
"query": "",
"scene": null
},
{
"id": -1,
"name": "pages/Home/home",
"pathName": "pages/Home/home",
"query": "",
"scene": null
},
{
"id": -1,
"name": "pages/Home/home",
"pathName": "pages/Voucher/authenticat/authenticat",
"query": "",
"scene": null
},
{
"id": 29,
"name": "手机号确认",
"pathName": "pages/Voucher/Voucher",
"query": "",
"scene": null
},
{
"id": -1,
"name": "pages/Home/home",
"pathName": "pages/product/SametradeZW/SametradeZW",
"query": "",
"scene": null
}
]
}
}
}
\ No newline at end of file
{
"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
"rules": [{
"action": "allow",
"page": "*"
}]
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
// 获取7天后是啥时候
const AddDays = (date, days) =>{
var nd = new Date(date);
nd = nd.valueOf();
nd = nd + days * 24 * 60 * 60 * 1000;
nd = new Date(nd);
var y = nd.getFullYear();
var m = nd.getMonth() + 1;
var d = nd.getDate();
if (m <= 9) m = "0" + m;
if (d <= 9) d = "0" + d;
var cdate = y + "-" + m + "-" + d;
return cdate;
}
const YYMMDD = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('-')
}
const YYMM= date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month].map(formatNumber).join('-')
}
const CompareDate=(date1, date2)=> {
var oDate1 = new Date(date1);
var oDate2 = new Date(date2);
if (oDate1.getTime() > oDate2.getTime()) {
return true;
} else {
return false;
}
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : '0' + n
}
const changeMonth=(date,i)=>{
let data = new Date(date);
data.setMonth(data.getMonth() + i);
let dateString = data.getFullYear() + "-" + ((data.getMonth() + 1) < 10 ? '0' + (data.getMonth() + 1) : (data.getMonth() + 1));
return dateString;
}
// 得到某年某月有多少天
const getDays = (year, month)=>{
month = parseInt(month, 10);
var d = new Date(year, month, 0);
return d.getDate();
}
// 时间格式化
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds() //秒
};
if (/(y+)/.test(fmt)) { //根据y的长度来截取年
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
return fmt;
}
// 上个月
const getPreMonth = (date) => {
var arr = date.split('-');
var year = arr[0]; //获取当前日期的年份
var month = arr[1]; //获取当前日期的月份
var day = arr[2]; //获取当前日期的日
var days = new Date(year, month, 0);
days = days.getDate(); //获取当前日期中月的天数
var year2 = year;
var month2 = parseInt(month) - 1;
if (month2 == 0) {
year2 = parseInt(year2) - 1;
month2 = 12;
}
var day2 = day;
var days2 = new Date(year2, month2, 0);
days2 = days2.getDate();
if (day2 > days2) {
day2 = days2;
}
if (month2 < 10) {
month2 = '0' + month2;
}
var t2 = year2 + '-' + month2 + '-' + day2;
return t2;
}
//下个月
const getNextMonth = (date) => {
var arr = date.split('-');
var year = arr[0]; //获取当前日期的年份
var month = arr[1]; //获取当前日期的月份
var day = arr[2]; //获取当前日期的日
var days = new Date(year, month, 0);
days = days.getDate(); //获取当前日期中的月的天数
var year2 = year;
var month2 = parseInt(month) + 1;
if (month2 == 13) {
year2 = parseInt(year2) + 1;
month2 = 1;
}
var day2 = day;
var days2 = new Date(year2, month2, 0);
days2 = days2.getDate();
if (day2 > days2) {
day2 = days2;
}
if (month2 < 10) {
month2 = '0' + month2;
}
var t2 = year2 + '-' + month2 + '-' + day2;
return t2;
}
module.exports = {
formatTime: formatTime,
CompareDate: CompareDate,
YYMMDD: YYMMDD,
changeMonth: changeMonth,
YYMM: YYMM,
getDays: getDays,
AddDays: AddDays,
getNextMonth: getNextMonth,
getPreMonth: getPreMonth,
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment