wong1988 1 year ago
parent
commit
155c95777c
  1. 201
      common/Time.js
  2. 4
      common/request.api.js
  3. 13
      main.js
  4. 6
      pages.json
  5. 208
      pages/me/RealInfo.vue

201
common/Time.js

@ -0,0 +1,201 @@
const timeText = (time, format) => {
if (format == null) {
format = "yyyy-MM-dd HH:mm:ss"
}
let timeStr = "";
let todayEndTime = getTodayEndTime();
let todayStartTime = getTodayStartTime();
let thisWeekStartTime = getThisWeekStartTime();
console.log("kaishi" + todayStartTime)
console.log("jieshu" + thisWeekStartTime)
// 今天23:59:59:999之后
if (time > todayEndTime) {
// 显示年月日
timeStr = timeFormat(time, format)
} else if (thisWeekStartTime > time) {
// 此周前(本周星期一之前)
let i = format.indexOf(" ");
let formatStyle = format.substring(i + 1);
let formatNew = timeFormat(time, formatStyle);
if (time > todayStartTime - 86399999 && time < todayStartTime) {
// 显示昨天
timeStr = "昨天 " + formatNew;
} else {
timeStr = timeFormat(time, format)
}
} else {
// 显示星期 时分
let i = format.indexOf(" ");
let formatStyle = format.substring(i + 1);
let formatNew = timeFormat(time, formatStyle);
if (todayStartTime - 86399999 > time) {
// 显示星期
timeStr = getWeekStr(time) + " " + formatNew
} else if (time > todayStartTime - 86399999 && time < todayStartTime) {
// 显示昨天
timeStr = "昨天 " + formatNew;
} else {
// 显示
timeStr = formatNew;
}
}
return timeStr
}
/**
* 获取本周开始时间
*/
const getThisWeekStartTime = () => {
let todayEndTime = getTodayEndTime();
var date = new Date();
var weekDays = date.getDay();
var weeks = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
var week = weeks[weekDays];
return todayEndTime + 1 - weekDays * 86400000;
}
/**
* 获取今天是周几
*/
const getWeekStr = (time) => {
if (time instanceof Date) {
} else {
let temp = new Date(time);
time = temp;
}
let todayEndTime = getTodayEndTime();
var weekDays = time.getDay();
var weeks = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
var week = weeks[weekDays];
return week;
}
/**
* 获取今天开始时间
*/
const getTodayStartTime = () => {
let startTime = 0;
let myDate = new Date();
let current = myDate.getTime();
try {
let format = timeFormat(myDate);
let split = format.split(" ");
let time = split[1].split(":");
startTime = current - time[0] * 60 * 60 * 1000 - time[1] * 60 * 1000 - time[2] * 1000 - time[3]
} catch (e) {
console.log(e)
}
return startTime;
}
/**
* 获取今天结束时间
*/
const getTodayEndTime = () => {
let endTime = 0;
let myDate = new Date();
let current = myDate.getTime();
try {
let format = timeFormat(myDate);
let split = format.split(" ");
let time = split[1].split(":");
let startTime = current - time[0] * 60 * 60 * 1000 - time[1] * 60 * 1000 - time[2] * 1000 - time[3]
endTime = startTime + 86399999;
} catch (e) {
console.log(e)
}
return endTime;
}
/**
* 格式化时间
* 支持时间戳 以及 date类型
*/
const timeFormat = (date, formoat) => {
if (date == undefined || date == null) {
return "";
}
if (date instanceof Date) {
console.log("正确")
} else {
let temp = new Date(Number(date));
date = temp;
}
let fmt = formoat;
if (fmt == null) {
fmt = "yyyy-MM-dd HH:mm:ss:SSS"
}
let ret;
const opt = {
"y+": date.getFullYear().toString(), // 年
"M+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"m+": date.getMinutes().toString(), // 分
"s+": date.getSeconds().toString(), // 秒
"S+": date.getMilliseconds().toString()
};
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt;
}
const currentMillions = () => {
let current = new Date().getTime();
return current;
}
export {
timeText,
timeFormat,
currentMillions,
getWeekStr,
getTodayEndTime
}

4
common/request.api.js

@ -88,6 +88,10 @@ export default {
changeNick: (params = {}) => request.formpost("/lpkcustomer/modifyUserNickName", params),
// 获取手机号
getPhone: (params = {}) => request.formpost("/lpkcustomer/getPhoneNumber", params),
// 获取实名
getRealInfo: (params = {}) => request.get("/lpkcustomer/getRealInfo/" + params, params),
// 保存实名
saveRealInfo: (params = {}) => request.post("/lpkcustomer/saveRealInfo", params),
// 2024-1-15 新需求

13
main.js

@ -29,6 +29,19 @@ import {
Vue.prototype.shortToast = shortToast
Vue.prototype.longToast = longToast
import {
timeText,
timeFormat,
currentMillions,
getWeekStr,
getTodayEndTime
} from "./common/Time.js"
Vue.prototype.TimeText = timeText
Vue.prototype.TimeFormat = timeFormat
Vue.prototype.GetWeekStr = getWeekStr
Vue.prototype.CurrentMillions = currentMillions
Vue.prototype.GetTodayEndTime = getTodayEndTime
import bus from './common/bus.js';

6
pages.json

@ -272,6 +272,12 @@
"navigationStyle": "custom",
"disableScroll": true
}
}, {
"path": "pages/me/RealInfo",
"style": {
"navigationStyle": "custom",
"disableScroll": true
}
}
],

208
pages/me/RealInfo.vue

@ -0,0 +1,208 @@
<template>
<view>
<NavBar ref="nav" navTitle="个人信息" :showIcon="true" :supportChange="false">
</NavBar>
<loading-state ref="pageView" @request="request">
<view @click="remark()" class="menu-item">
<text class="text">姓名</text>
<text class="explain">{{page.realName}}</text>
<image class="more" src="../../static/more.png"></image>
</view>
<view class="line-thin"></view>
<view @click="clickSex()" class="menu-item">
<text class="text">性别</text>
<text class="explain">{{page.sex}}</text>
<image class="more" src="../../static/more.png"></image>
</view>
<view class="line-thin"></view>
<uni-datetime-picker style="flex: 1;margin-top: 1px;" type="date" :value="page.birthDay" :start="startDate"
:end="endData" v-model="page.birthDay" :disabledDate="[]">
<view class="menu-item">
<text class="text">生日</text>
<text class="explain">{{stringIsEmpty(page.birthDay) ?"请选择生日":page.birthDay}}</text>
<image class="more" src="../../static/more.png"></image>
</view>
</uni-datetime-picker>
<view class="line-thin"></view>
<pick-regions :defaultRegion="defaultRegionCode" @getRegion="handleGetRegion">
<view class="menu-item">
<text class="text">地区</text>
<text class="explain">{{stringIsEmpty(page.regionName) ?"请选择地区":page.regionName}}</text>
<image class="more" src="../../static/more.png"></image>
</view>
</pick-regions>
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B); position: absolute; bottom: 30px;
width: 90%;border-radius: 100rpx;height: 80rpx;display: flex;margin-left: 5%;
flex-direction: column;align-items: center;line-height: 80rpx;color: #FFFFFF;font-size: 36rpx;"
@click="realInfoAttestation">
保存</view>
</loading-state>
<uni-popup ref="inputDialog" type="dialog">
<uni-popup-dialog ref="inputClose" mode="input" title="修改姓名" :value="page.realName" placeholder="请输入内容"
@confirm="dialogInputConfirm"></uni-popup-dialog>
</uni-popup>
</view>
</template>
<script>
import pickRegions from '@/components/pick-regions/pick-regions.vue'
export default {
components: {
pickRegions
},
created() {
this.startDate = this.TimeFormat(this.CurrentMillions() - 100 * 365 * 24 * 60 * 60 * 1000);
this.endData = this.TimeFormat(this.CurrentMillions());
},
data() {
return {
region: [],
defaultRegion: ['北京市', '市辖区', '东城区'],
defaultRegionCode: '110101',
region_sid_path: "",
address_path: "北京市/市辖区/东城区",
startDate: "1921-01-01",
endData: "",
pickerDate: "",
page: {
"birthDay": "",
"realName": "",
"regionCode": "",
"regionName": "",
"sex": ""
},
contorl: {
listSex: ["男", "女"]
},
}
},
onLoad(options) {
this.request()
},
methods: {
//
remark() {
this.$refs.inputDialog.open()
},
dialogInputConfirm(val) {
this.page.realName = val
},
request() {
let _this = this
_this.$api.getRealInfo(getApp().globalData.sid).then((resp) => {
console.log(JSON.stringify(resp));
_this.page = resp
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
})
}).catch(e => {
console.log(e);
})
},
clickSex() {
let _this = this;
uni.showActionSheet({
itemList: this.contorl.listSex,
success: function(res) {
_this.selectSex(res.tapIndex + 1)
}
});
},
selectSex(id) {
let _this = this
switch (id) {
case 1:
this.page.sex = '男'
break;
case 2:
this.page.sex = '女'
break;
case 3:
break
}
},
modibirthDay(e) {
this.page.birthDay = e
},
realInfoAttestation() {
this.page.userSid = getApp().globalData.sid
let _this = this
_this.$api.saveRealInfo(this.page).then((resp) => {
uni.navigateBack()
}).catch(e => {
console.log(e);
})
},
//
handleGetRegion(region) {
let code = region.map(item => item.code)
let name = region.map(item => item.name)
this.page.regionCode = code[2]
this.page.regionName = name[0] + "/" + name[1] + "/" + name[2]
}
}
}
</script>
<style lang="scss">
page {
background-color: #f1f2f3;
}
.menu-item {
height: 112rpx;
width: auto;
display: flex;
flex-direction: row;
background-color: #fff;
align-items: center;
padding-left: 36rpx;
padding-right: 36rpx;
}
.more {
width: 35rpx;
height: 35rpx;
float: right;
}
.menu-item .icon {
width: 69rpx;
height: 35rpx;
}
.menu-item .text {
font-size: 32rpx;
color: #101010;
flex: 1;
float: left;
}
.menu-item .explain {
font-size: 28rpx;
color: #828282;
margin-right: 10rpx;
}
.line-thin {
height: 1rpx;
width: 100%;
background-color: #eee;
}
</style>
Loading…
Cancel
Save