Commit 6eeff3ed authored by fwz's avatar fwz

爱车管理、挪车记录、呼叫记录、我的挪车牌、头像

parent 2b2a1168
......@@ -10,18 +10,19 @@
填写车辆信息
</div>
<div>
<u--form labelPosition="left" :model="model1" :rules="rules" ref="form1" labelWidth="100">
<u-form-item label="品牌" prop="userInfo.name" borderBottom ref="item1">
<u--input v-model="model1.userInfo.name" placeholder="请输入" border="none"></u--input>
<u--form labelPosition="left" :model="model1" ref="form1" labelWidth="100">
<u-form-item label="品牌" prop="carInfo.brand" borderBottom ref="item1">
<u--input v-model="model1.carInfo.brand" placeholder="请输入" border="none"></u--input>
</u-form-item>
<u-form-item label="车型" prop="userInfo.name" borderBottom ref="item1">
<u--input v-model="model1.userInfo.name" placeholder="请输入" border="none"></u--input>
<u-form-item label="车型" prop="carInfo.carModel" borderBottom ref="item1">
<u--input v-model="model1.carInfo.carModel" placeholder="请输入" border="none"></u--input>
</u-form-item>
<u-form-item label="行驶里程" prop="userInfo.name" borderBottom ref="item1">
<u--input v-model="model1.userInfo.name" placeholder="请输入" border="none"></u--input>KM
<u-form-item label="行驶里程" prop="carInfo.mileage" borderBottom ref="item1">
<u--input v-model="model1.carInfo.mileage" placeholder="请输入" border="none"></u--input>KM
</u-form-item>
<u-form-item label="车牌号" prop="carInfo.carNo" ref="item1">
<car-number v-model="model1.carInfo.carNo"></car-number>
</u-form-item>
<u-form-item label="车牌号" ref="item1"> </u-form-item>
<car-number v-model="carNumber"></car-number>
</u--form>
</div>
</div>
......@@ -31,7 +32,7 @@
</u-checkbox-group>
勾选同意<span>《用户服务协议》</span>
</div>
<div class="add__btn add__no__bind">
<div class="add__btn add__no__bind" @click="addCarInfo()">
完成
</div>
</div>
......@@ -47,16 +48,27 @@ export default {
data() {
return {
model1: {
userInfo: {
name: "",
sex: "",
carInfo: {
brand: '',
},
},
rules: {
"userInfo.name": {
"carInfo.brand": {
type: "string",
required: true,
message: "请填写品牌",
trigger: ["blur", "change"],
},
"carInfo.carModel": {
type: "string",
required: true,
message: "请填写车型",
trigger: ["blur", "change"],
},
"carInfo.carNo": {
type: "string",
required: true,
message: "请填写姓品牌",
message: "请填写车牌号",
trigger: ["blur", "change"],
},
},
......@@ -87,7 +99,26 @@ export default {
uni.navigateBack({
delta: 1
})
},
addCarInfo(){
//表单验证
this.$refs.form1.validate().then(res => {
let opts = { url: '/app/vehicleAdmin/add', method: 'post' };
this.http.httpTokenRequest(opts, this.model1.carInfo).then(res => {
if (res.data.code == 200) {
//添加成功
uni.$u.toast('添加成功')
this.goBack()
}
})
}).catch(errors => {
uni.$u.toast('校验失败')
})
},
},
onReady() {
// 如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则
this.$refs.form1.setRules(this.rules)
},
}
</script>
......
......@@ -28,38 +28,40 @@ export default {
return {
items: [{
title: "车主车牌号:",
value: "京A123456"
value: ""
},
{
title: "品牌:",
value: "宝马"
value: ""
},
{
title: "车型:",
value: "SUV"
value: ""
},
{
title: "车主手机号:",
value: "2020-02-22 12:00:00"
value: ""
}, {
title: "时间:",
value: "2020-02-22 12:00:00"
value: ""
},
{
title: "地点:",
value: "北京市朝阳区梨园小区停车场"
value: ""
}, {
title: "申请手机号:",
value: "159****9633"
value: ""
},
{
title: "通知方式:",
value: "微信通知"
value: ""
}, {
title: "通知类型:",
value: "请求挪车"
value: ""
}
]
],
id: '',
moveLog: '',
};
},
methods: {
......@@ -67,7 +69,37 @@ export default {
uni.navigateBack({
delta: 1
})
},
getApplyMoveLog(){
let opts = { url: '/app/moveLog/apply/' + this.id, method: 'get' };
let that = this
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.moveLog = res.data.data
let moveLogInfo = []
moveLogInfo.push({title: "车主车牌号:", value: this.moveLog.carNo})
moveLogInfo.push({title: "品牌:", value: this.moveLog.brand})
moveLogInfo.push({title: "车型:", value: this.moveLog.carModel})
moveLogInfo.push({title: "车主手机号:", value: this.moveLog.userMobile})
moveLogInfo.push({title: "时间:", value: this.moveLog.applyDate})
moveLogInfo.push({title: "地点:", value: this.moveLog.detailInfo})
moveLogInfo.push({title: "申请手机号:", value: this.moveLog.applyUserMobile})
if(this.moveLog.confirmType == '1'){
moveLogInfo.push({title: "通知方式:", value: "拨打电话"})
}else{
moveLogInfo.push({title: "通知方式:", value: "微信通知"})
}
moveLogInfo.push({title: "通知类型:", value: "请求他人挪车"})
this.items = moveLogInfo
}
})
},
},
onShow() {
this.getApplyMoveLog()
},
onLoad(option) {
this.id = option.id
},
}
</script>
......
......@@ -10,23 +10,24 @@
填写车辆信息
</div>
<div>
<u--form labelPosition="left" :model="model1" :rules="rules" ref="form1" labelWidth="100">
<u-form-item label="品牌" prop="userInfo.name" borderBottom ref="item1">
<u--input v-model="model1.userInfo.name" placeholder="请输入" border="none"></u--input>
<u--form labelPosition="left" :model="model1" ref="form1" labelWidth="100">
<u-form-item label="品牌" prop="carInfo.brand" borderBottom ref="item1">
<u--input v-model="model1.carInfo.brand" placeholder="请输入" border="none"></u--input>
</u-form-item>
<u-form-item label="车型" prop="userInfo.name" borderBottom ref="item1">
<u--input v-model="model1.userInfo.name" placeholder="请输入" border="none"></u--input>
<u-form-item label="车型" prop="carInfo.carModel" borderBottom ref="item2">
<u--input v-model="model1.carInfo.carModel" placeholder="请输入" border="none"></u--input>
</u-form-item>
<u-form-item label="行驶里程" prop="userInfo.name" borderBottom ref="item1">
<u--input v-model="model1.userInfo.name" placeholder="请输入" border="none"></u--input>KM
<u-form-item label="行驶里程" prop="carInfo.mileage" borderBottom ref="item3">
<u--input v-model="model1.carInfo.mileage" placeholder="请输入" border="none"></u--input>KM
</u-form-item>
<u-form-item label="车牌号" prop="carInfo.carNo" ref="item1">
<car-number v-model="model1.carInfo.carNo"></car-number>
</u-form-item>
<u-form-item label="车牌号" ref="item1"> </u-form-item>
<car-number v-model="carNumber"></car-number>
</u--form>
</div>
</div>
<div class="add__btn add__no__bind">
<div class="add__btn add__no__bind" @click="editCarInfo">
保存
</div>
<div class="add__btn add__back" @click="goBack">
......@@ -44,17 +45,28 @@ export default {
},
data() {
return {
//车辆id
id: '',
model1: {
userInfo: {
name: "",
sex: "",
},
carInfo: {},
},
rules: {
"userInfo.name": {
"carInfo.brand": {
type: "string",
required: true,
message: "请填写品牌",
trigger: ["blur", "change"],
},
"carInfo.carModel": {
type: "string",
required: true,
message: "请填写车型",
trigger: ["blur", "change"],
},
"carInfo.carNo": {
type: "string",
required: true,
message: "请填写姓品牌",
message: "请填写车牌号",
trigger: ["blur", "change"],
},
},
......@@ -85,8 +97,43 @@ export default {
uni.navigateBack({
delta: 1
})
},
getCarInfo(){
let opts = { url: '/app/vehicleAdmin/' + this.id, method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.model1.carInfo = res.data.data
console.log(this.model1.carInfo)
}else{
//展示删除失败
}
})
},
editCarInfo(){
this.$refs.form1.validate().then(res => {
let opts = { url: '/app/vehicleAdmin/edit', method: 'put' };
this.http.httpTokenRequest(opts, this.model1.carInfo).then(res => {
if (res.data.code == 200) {
//添加成功
uni.$u.toast('修改成功')
this.goBack()
}
})
}).catch(errors => {
uni.$u.toast('校验失败')
})
},
},
onLoad(option) {
this.id = option.id
},
onReady() {
// 如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则
this.$refs.form1.setRules(this.rules)
},
onShow(){
this.getCarInfo()
}
}
</script>
......
......@@ -9,21 +9,25 @@
我的爱车
</div>
<div class="love-car__list">
<div class="love__item" v-for="(vo,inx) in 3" :key="inx">
<div class="love__item" v-for="(vo,inx) in carList" :key="inx">
<div class="itme__img">
<image src="@/static/move-car/love-car6.png" />
</div>
<div class="item__title">
大众-捷达-1.4 手动 梦 想版时尚型
{{vo.brand}}-{{vo.carModel}}
</div>
<div class="item__edit" @click="editCar">
<div class="item__edit" @click="editCar(vo.id)">
<image src="@/static/move-car/love-car2.png" />
</div>
<div class="item__del">
<div class="item__del" @click="deleteModal(vo.id)">
<image src="@/static/move-car/love-car3.png" />
</div>
</div>
</div>
<div>
<u-modal :show="deleteShow" :title="deleteTitle" :content='deleteContent'
@confirm="confirmModal" @cancel="cancelModal" showCancelButton="true"></u-modal>
</div>
<div class="love__btn" @click="addCar">
<image src="@/static/move-car/love-car5.png"> 添加车辆
</div>
......@@ -35,7 +39,11 @@
export default {
data() {
return {
carList: [],
deleteShow: false,
deleteTitle: '删除车辆',
deleteContent: '确定删除车辆?',
carId: '',
};
},
methods: {
......@@ -44,13 +52,51 @@ export default {
url: '/pagesB/pages/move-car/addCar'
})
},
editCar() {
editCar(id) {
uni.navigateTo({
url: '/pagesB/pages/move-car/editCar'
url: '/pagesB/pages/move-car/editCar?id='+id
})
},
//打开确认删除框
deleteModal(id){
this.deleteShow = true
this.carId = id
},
//确认删除车辆
confirmModal(){
let opts = { url: '/app/vehicleAdmin/remove/' + this.carId, method: 'delete' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
uni.showToast({
title: '删除成功',
icon: "success",
});
this.getCarList()
}else{
uni.showToast({
title: res.data.msg,
icon: "error",
});
}
})
this.deleteShow = false
},
cancelModal(){
this.deleteShow = false
},
getCarList(){
let opts = { url: '/app/vehicleAdmin/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.carList = res.data.rows
}
})
},
},
onShow(){
this.getCarList()
}
}
</script>
......
......@@ -8,24 +8,24 @@
<div class="record__item" v-for="(vo,inx) in items" :key="inx">
<div class="item__top">
<div class="top__time">
时间:{{vo.time}}
时间:{{vo.applyDate}}
</div>
<div class="top__state" :class="vo.state==='微信'?'':'phone__state'">
{{vo.state}}
{{vo.confirmType=="1"?'电话':'微信'}}
</div>
</div>
<div class="item__content">
<div>
车牌号:{{vo.carNumber}}
车牌号:{{vo.carNo}}
</div>
<div>
通知类型:{{vo.type}}
通知类型:{{type}}
</div>
<div>
车主手机号:{{vo.name}}
车主手机号:{{vo.userMobile}}
</div>
</div>
<div class="item__btn" @click="goDetail">
<div class="item__btn" @click="goDetail(vo.id)">
<div>
查看详情
</div>
......@@ -39,29 +39,27 @@
export default {
data() {
return {
items: [{
time: '2020-02-22 12:00:45',
state: '微信',
carNum: '京A123456',
type: '请求挪车',
apply: '123****6633',
},
{
date: '2020-02-22 12:00:45',
state: '电话',
carNum: '京A123456',
type: '请求挪车',
apply: '123****6633',
}
]
items: [],
type: '请求他人挪车'
};
},
methods: {
goDetail(){
goDetail(id){
uni.navigateTo({
url: '/pagesB/pages/move-car/callDetail'
url: '/pagesB/pages/move-car/callDetail?id=' + id
})
},
getApplyMoveLogList(){
let opts = { url: '/app/moveLog/apply/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.items = res.data.rows
}
})
},
},
created() {
this.getApplyMoveLogList()
},
}
</script>
......
......@@ -16,20 +16,24 @@
</div>
<div class="top__car__phone">
<div>
京A231Q42
{{vo.carNo}}
</div>
<div>
152****2233
{{vo.userMobile}}
</div>
</div>
<div class="top__car__name">
北京现代
{{vo.brand}}
</div>
</div>
<div class="item__bottom">
<span>解除绑定</span>
<span @click="openUnbindModal(vo.id)">解除绑定</span>
<span @click="goView">查看详情</span>
</div>
<div>
<u-modal :show="unbindShow" :title="unbindTitle" :content='unbindContent'
@confirm="unbind" @cancel="cancelModal" showCancelButton="true"></u-modal>
</div>
</div>
</div>
</div>
......@@ -41,7 +45,16 @@ export default {
data() {
return {
keyword: '',
items: [{},{},{},]
//挪车码列表
items: [],
//解除绑定对话框
unbindShow: false,
//解除绑定对话框标题
unbindTitle: '解除绑定',
//解除绑定对话框内容
unbindContent: '确定解除绑定吗?',
//解除绑定的挪车牌
id: '',
};
},
methods: {
......@@ -49,8 +62,40 @@ export default {
uni.navigateTo({
url: '/pagesB/pages/move-car/moveCarDetail'
})
},
getMyMoveCodeList(){
let opts = { url: '/app/moveCode/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.items = res.data.rows
}
})
},
openUnbindModal(id){
this.id = id
this.unbindShow = true
},
unbind(){
let opts = { url: '/app/moveCode/edit/' + this.id, method: 'put' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
uni.showToast({
title: '解绑成功',
icon: "success",
});
this.getMyMoveCodeList()
}
})
this.unbindShow = false
},
cancelModal(){
this.unbindShow = false
},
},
created() {
this.getMyMoveCodeList()
}
}
</script>
......
......@@ -8,24 +8,24 @@
<div class="record__item" v-for="(vo,inx) in items" :key="inx">
<div class="item__top">
<div class="top__time">
时间:{{vo.time}}
时间:{{vo.applyDate}}
</div>
<div class="top__state" :class="vo.state==='微信'?'':'phone__state'">
{{vo.state}}
{{vo.confirmType=="1"?'电话':'微信'}}
</div>
</div>
<div class="item__content">
<div>
车牌号:{{vo.carNumber}}
车牌号:{{vo.carNo}}
</div>
<div>
通知类型:{{vo.type}}
通知类型:{{type}}
</div>
<div>
挪车申请人:{{vo.name}}
挪车申请人:{{vo.applyUserMobile}}
</div>
</div>
<div class="item__btn" @click="goDetail">
<div class="item__btn" @click="goDetail(vo.id)">
<div>
查看详情
</div>
......@@ -39,29 +39,28 @@
export default {
data() {
return {
items: [{
time: '2020-02-22 12:00:45',
state: '微信',
carNum: '京A123456',
type: '请求他人挪车',
apply: '123****6633',
},
{
date: '2020-02-22 12:00:45',
state: '电话',
carNum: '京A123456',
type: '请求他人挪车',
apply: '123****6633',
}
]
items: [],
type: '他人请求挪车',
};
},
methods: {
goDetail(){
goDetail(id){
console.log(id)
uni.navigateTo({
url: '/pagesB/pages/move-car/recordDetail'
url: '/pagesB/pages/move-car/recordDetail?id='+id
})
},
getMyMoveLogList(){
let opts = { url: '/app/moveLog/my/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.items = res.data.rows
}
})
},
},
created() {
this.getMyMoveLogList()
},
}
</script>
......
......@@ -55,7 +55,7 @@
</div>
</div>
</div>
<u-action-sheet :actions="list" @close='close' closeOnClickOverlay round='6' :show="show"></u-action-sheet>
<u-action-sheet :actions="list" @close='close' @select="selectClick" closeOnClickOverlay round='6' :show="show"></u-action-sheet>
</div>
</view>
</template>
......@@ -83,6 +83,28 @@ export default {
},
],
checked: [],
moveCode: '',
appBusCar: {},
appBo: {
//车牌号
carNo: '',
//申请人手机号
applyUserMobile: '',
//省
provinceName: '',
//市
cityName: '',
//区
countyName: '',
//详细地址
detailInfo: '',
//是否微信通知
isWechat: false,
//是否成功
isSuccess: false,
//日志唯一编码
logCode: '',
},
}
},
methods: {
......@@ -93,11 +115,52 @@ export default {
this.show = false;
},
selectClick(index){
console.log(index)
if(index.name == "2367虚拟号码345"){
}else if(index.name == "呼叫"){
//请求拨打电话路径
let opts = { url: '/app/contact/' , method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
//请求成功逻辑,修改
}
})
//记录修改
let optsOne = { url: '/app/moveLog/updateLog' , method: 'post' };
this.http.httpTokenRequest(optsOne, this.appBo).then(res => {
if (res.data.code == 200) {
//请求成功逻辑,后端应记录此次电话拨打
}
})
}else{
}
},
goMyCar() {
uni.navigateTo({
url: '/pagesB/pages/move-car/myMoveCar'
url: '/pages/move-car/myMoveCar'
})
},
getCarNumber(){
let opts = { url: '/app/moveCode/owner/' + this.moveCode, method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
if(JSON.stringify(res.data.data) != "{}"){
this.appBusCar = res.data.data
}else{
uni.navigateTo({
url: '/pagesB/pages/move-car/scan?moveCode=' + this.moveCode
})
}
}else{
//查询挪车码失败
uni.showToast({
title: res.data.msg,
icon: "error",
});
}
})
},
},
......@@ -111,7 +174,7 @@ export default {
// //场景值
// scene: e.scene
// }
this.moveCode = scene
console.log('scene: ' + scene);
}
}
......
......@@ -26,40 +26,9 @@
export default {
data() {
return {
items: [{
title: "车主车牌号:",
value: "京A123456"
},
{
title: "品牌:",
value: "宝马"
},
{
title: "车型:",
value: "SUV"
},
{
title: "车主手机号:",
value: "2020-02-22 12:00:00"
}, {
title: "时间:",
value: "2020-02-22 12:00:00"
},
{
title: "地点:",
value: "北京市朝阳区梨园小区停车场"
}, {
title: "挪车申请人:",
value: "159****9633"
},
{
title: "通知方式:",
value: "拨打电话"
}, {
title: "通知类型:",
value: "他人挪车请求"
}
]
items: [],
id: '',
moveLog: {},
};
},
methods: {
......@@ -67,7 +36,37 @@ export default {
uni.navigateBack({
delta: 1
})
},
getMyMoveLog(){
let opts = { url: '/app/moveLog/my/' + this.id, method: 'get' };
let that = this
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.moveLog = res.data.data
let moveLogInfo = []
moveLogInfo.push({title: "车主车牌号:", value: this.moveLog.carNo})
moveLogInfo.push({title: "品牌:", value: this.moveLog.brand})
moveLogInfo.push({title: "车型:", value: this.moveLog.carModel})
moveLogInfo.push({title: "车主手机号:", value: this.moveLog.userMobile})
moveLogInfo.push({title: "时间:", value: this.moveLog.applyDate})
moveLogInfo.push({title: "地点:", value: this.moveLog.detailInfo})
moveLogInfo.push({title: "申请手机号:", value: this.moveLog.applyUserMobile})
if(this.moveLog.confirmType == '1'){
moveLogInfo.push({title: "通知方式:", value: "拨打电话"})
}else{
moveLogInfo.push({title: "通知方式:", value: "微信通知"})
}
moveLogInfo.push({title: "通知类型:", value: "他人请求挪车"})
this.items = moveLogInfo
}
})
},
},
onLoad(option) {
this.id = option.id
},
onShow(){
this.getMyMoveLog()
},
}
</script>
......
......@@ -23,7 +23,7 @@
</div>
<active-form :formDate.sync="formData"></active-form>
</div>
<div class="view__btn view__no__bind">
<div class="view__btn view__no__bind" @click="confirmBinding">
确认绑定
</div>
<div class="use__text">使用说明</div>
......@@ -41,16 +41,17 @@ export default {
sex: "",
},
},
formData: [{
formData: [
{
id: "kjjns", //id必须唯一 可以是数字
placeholder: "请输入",
label: "车牌号", // 提示输入名
type: "text", //类型
rules: {
name: "realName", //字段名 即提交给后端的字段
name: "carNo", //字段名 即提交给后端的字段
value: "",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "车牌号未填写", //校验不通过的错误提示
},
},
{
......@@ -59,10 +60,10 @@ export default {
label: "品牌", // 提示输入名
type: "text", //类型
rules: {
name: "realName1", //字段名 即提交给后端的字段
name: "brand", //字段名 即提交给后端的字段
value: "",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "品牌未填写", //校验不通过的错误提示
},
},
{
......@@ -71,22 +72,22 @@ export default {
label: "车型", // 提示输入名
type: "text", //类型
rules: {
name: "realName2", //字段名 即提交给后端的字段
name: "carModel", //字段名 即提交给后端的字段
value: "",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "车型未填写", //校验不通过的错误提示
},
},
{
id: "kjjns", //id必须唯一 可以是数字
placeholder: "请输入",
label: "车牌号", // 提示输入名
label: "手机号", // 提示输入名
type: "text", //类型
rules: {
name: "realName4", //字段名 即提交给后端的字段
name: "userMobile", //字段名 即提交给后端的字段
value: "",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "手机号未填写", //校验不通过的错误提示
},
},
{
......@@ -96,17 +97,46 @@ export default {
type: "text",
// oneKeyPhone:true,
rules: {
name: "yzm",
name: "verificationCode",
value: "", //字段值
verify: false,
errMess: "",
errMess: "验证码未填写",
},
},
],
moveCode: '',
moveCodeInfo: {},
}
},
methods: {
confirmBinding(){
for(let i in this.formData){
let name = this.formData[i].rules.name
this.moveCodeInfo[name] = this.formData[i].rules.value
}
console.log(this.moveCodeInfo)
let opts = { url: '/app/moveCode/binding/', method: 'put' };
this.http.httpTokenRequest(opts, this.moveCodeInfo).then(res => {
if (res.data.code == 200) {
//展示绑定成功
uni.showToast({
title: "绑定成功",
icon: "success",
});
this.goBack()
}else{
//绑定失败,展示失败信息
uni.showToast({
title: res.data.msg,
icon: "error",
});
}
})
},
},
onLoad(option) {
this.moveCode = option.moveCode
},
methods: {},
}
</script>
......
......@@ -11,10 +11,10 @@
<div class="ps__title">个人中心</div>
<div class="ps__info">
<div class="info__cover">
<image src="@/static/my/my2.png" />
<image :src="avatar" />
</div>
<div>
<div class="info__name">这里是昵称</div>
<div class="info__name">{{userInfo.nickName}}</div>
<div class="view__info" @click="editInfo">
查看个人主页或编辑资料
<span>
......@@ -104,7 +104,11 @@ export default {
title: '退款/售后',
icon: require('@/static/my/my9.png')
}
]
],
//用户信息
userInfo: {},
//头像
avatar: '',
}
},
methods: {
......@@ -122,9 +126,20 @@ export default {
uni.navigateTo({
url: '/pagesD/pages/personal/userInfo'
});
}
},
getUserInfo(){
let opts = { url: '/app/user/info', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.userInfo = res.data.data
this.avatar = this.http.baseUrl + this.userInfo.avatar
}
})
},
},
created() {
this.getUserInfo()
},
};
</script>
......
......@@ -8,7 +8,7 @@
<div class="info__cover" @click="select">
<span class="cover__name">头像</span>
<div class="cover">
<image src="@/static/my/my2.png" />
<image :src="image" />
<span>
<image src="@/static/my/my6.png" /></span>
</div>
......@@ -30,10 +30,10 @@ export default {
label: "手机号", // 提示输入名
type: "text", //类型
rules: {
name: "realName", //字段名 即提交给后端的字段
name: "mobile", //字段名 即提交给后端的字段
value: "12563996933",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "手机号未填写", //校验不通过的错误提示
},
},
{
......@@ -42,10 +42,10 @@ export default {
label: "昵称", // 提示输入名
type: "text", //类型
rules: {
name: "realName2", //字段名 即提交给后端的字段
name: "nickName", //字段名 即提交给后端的字段
value: "",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "昵称未填写", //校验不通过的错误提示
},
},
{
......@@ -54,10 +54,10 @@ export default {
label: "性别", // 提示输入名
type: "text", //类型
rules: {
name: "realName3", //字段名 即提交给后端的字段
name: "sex", //字段名 即提交给后端的字段
value: "",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "性别未填写", //校验不通过的错误提示
},
},
{
......@@ -66,28 +66,79 @@ export default {
label: "生日", // 提示输入名
type: "text", //类型
rules: {
name: "realName4", //字段名 即提交给后端的字段
name: "birthday", //字段名 即提交给后端的字段
value: "",
verify: false, //是否开启校验
errMess: "姓名未填写", //校验不通过的错误提示
errMess: "生日未填写", //校验不通过的错误提示
},
},
],
userInfo: {
nickName: '默认昵称',
},
image: '',
}
},
methods: {
select() {
let that = this
uni.chooseImage({
count: 6, //默认9
count: 1, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
const tempFilePaths = res.tempFilePaths;
uni.uploadFile({
url: that.http.baseUrl + '/common/upload',
//url: 'http://192.168.2.21:7001/upload',//仅为示例,非真实的接口地址
method: 'POST',
filePath: tempFilePaths[0],
name: 'file',
formData: {
file: tempFilePaths[0]
},
success: (res) => {
let uploadData = JSON.parse(res.data)
let opts = { url: '/app/user/update', method: 'post' };
let userInfoItem = { type: 1, val: uploadData.data.fileName };
console.log(userInfoItem)
that.http.httpTokenRequest(opts, userInfoItem).then(response => {
if (response.data.code == 200) {
that.userInfo.avatar = res.data.url
}
})
}
});
}
});
},
getUserInfo(){
let opts = { url: '/app/user/info', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.userInfo = res.data.data
this.image = this.http.baseUrl + this.userInfo.avatar
for(let item in this.formData){
if(this.formData[item].rules.name == "mobile"){
this.formData[item].rules.value = this.userInfo.mobile
}
else if(this.formData[item].rules.name == "nickName"){
this.formData[item].rules.value = this.userInfo.nickName
}
else if(this.formData[item].rules.name == "sex"){
this.formData[item].rules.value = this.userInfo.sex==0?"男":"女"
}
else if(this.formData[item].rules.name == "birthday"){
this.formData[item].rules.value = this.userInfo.birthday
}
}
}
})
},
},
created() {
this.getUserInfo()
},
}
</script>
......
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