浏览代码

增加 资料修改功能

master
JinxChen 3 周前
父节点
当前提交
51e0756602
共有 6 个文件被更改,包括 40 次插入13 次删除
  1. +6
    -1
      pages/details/records.vue
  2. +30
    -8
      pages/user/info.vue
  3. +1
    -1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/info.js.map
  4. +1
    -1
      unpackage/dist/dev/mp-weixin/pages/user/info.js
  5. +1
    -1
      unpackage/dist/dev/mp-weixin/pages/user/info.wxml
  6. +1
    -1
      unpackage/dist/dev/mp-weixin/project.private.config.json

+ 6
- 1
pages/details/records.vue 查看文件

@@ -5,7 +5,7 @@
<view class="step-content">
<view class="step-banner" v-if="userInfo">
<view class="right">
<u-avatar :src="avatarSrc" size="60"></u-avatar>
<u-avatar :src="avatarSrc" size="60" @click="onUpdateInfo"></u-avatar>
</view>
<view class="left">
<view class="date">
@@ -133,6 +133,11 @@ export default {
},
onResult(item){
uni.reLaunch({ url: '/pages/details/result' })
},
onUpdateInfo() {
uni.reLaunch({
url: `/pages/user/info?action=update`,
})
}
}
}


+ 30
- 8
pages/user/info.vue 查看文件

@@ -36,14 +36,14 @@
<!-- 性别弹窗 -->
<u-action-sheet :actions="genderList" @select="selectClickGender" :show="showGender"></u-action-sheet>
<!-- 出生日期弹窗 -->
<u-datetime-picker ref="datetimePicker" :show="showDate" v-model="pickerDate" mode="date" :minDate="minDate"
<u-datetime-picker ref="datetimePicker" :closeOnClickOverlay="true" :show="showDate" v-model="pickerDate" mode="date" :minDate="minDate"
:maxDate="maxDate" confirmColor="#E19F4B" @confirm="onConfirmDate" @cancel="onCancelDate"
:formatter="formatter"></u-datetime-picker>

<view class="action-box">
<view class="btn-box">
<u-button @click="onSubmit()" shape="circle" :color="bgthemeColor" type="info" size="large">
<text :style="{ color: themeColor, fontSize: '32rpx', fontWeight: 'bold' }">创建用户</text>
<text :style="{ color: themeColor, fontSize: '32rpx', fontWeight: 'bold' }">{{actionText}}</text>
</u-button>
</view>
</view>
@@ -96,7 +96,8 @@ export default {
message: '请选择出生日期',
trigger: ['blur', 'change']
}],
}
},
action: '',
}
},
onReady() {
@@ -124,8 +125,25 @@ export default {
const maxDate = new Date(now1.getFullYear() - 10, now1.getMonth(), now1.getDate());
return maxDate.getTime()
},
actionText() {
return this.action === 'update' ? '修改资料': '创建用户'
},
userInfo() {
return this.$store.state.user.userInfo
},

},
onLoad(props) {
if(props) {
this.action = props.action;
if(props.action === 'update' && this.userInfo) {
this.form = {... this.userInfo}
this.pickerDate = new Date(this.userInfo.date)
/* this.form.date = new Date(this.userInfo.date).getTime() */
}
console.log("this.action", this.action);
}
},
methods: {
formatter(type, value) {
if (type === 'year') {
@@ -145,21 +163,25 @@ export default {
this.$refs.uForm.validate().then( async valid => {
if(valid) {
uni.showLoading({
title: '创建中',
title: that.action === 'update' ? '修改中': '创建中',
mask: true,
})
setTimeout(() => {
// 缓存到本地
that.$store.commit('SET_USERINFO',that.form);
that.$store.commit('SET_USERINFO', that.form);
that.$store.commit('saveAll');
uni.showToast({
title: "创建成功",
title: that.action === 'update' ? '修改成功' : "创建成功",
icon: 'success'
});
}, 1000)
setTimeout(() => {
uni.switchTab({
url: '/pages/index/index',
})
},1500)
})
}, 2000)
}
}).catch(errors => {


+ 1
- 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/info.js.map
文件差异内容过多而无法显示
查看文件


+ 1
- 1
unpackage/dist/dev/mp-weixin/pages/user/info.js
文件差异内容过多而无法显示
查看文件


+ 1
- 1
unpackage/dist/dev/mp-weixin/pages/user/info.wxml 查看文件

@@ -1 +1 @@
<view class="info"><view class="main"><view class="avatar"><u-avatar vue-id="6d2caedd-1" src="{{avatarSrc}}" size="70" bind:__l="__l"></u-avatar></view><view class="form-box"><u--form class="vue-ref" vue-id="6d2caedd-2" labelPosition="left" model="{{form}}" rules="{{rules}}" data-ref="uForm" bind:__l="__l" vue-slots="{{['default']}}"><u-form-item vue-id="{{('6d2caedd-3')+','+('6d2caedd-2')}}" required="{{true}}" prop="name" borderBottom="{{true}}" bind:__l="__l" vue-slots="{{['default']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-4')+','+('6d2caedd-3')}}" type="text" maxlength="15" border="{{true}}" placeholder="请输入昵称" value="{{form.name}}" data-event-opts="{{[['^input',[['__set_model',['$0','name','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input></u-form-item><u-form-item vue-id="{{('6d2caedd-5')+','+('6d2caedd-2')}}" required="{{true}}" prop="gender" borderBottom="{{true}}" data-event-opts="{{[['^click',[['e0']]]]}}" bind:click="__e" bind:__l="__l" vue-slots="{{['default','right']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-6')+','+('6d2caedd-5')}}" disabled="{{true}}" disabledColor="#ffffff" placeholder="请选择性别" border="{{true}}" value="{{form.gender}}" data-event-opts="{{[['^input',[['__set_model',['$0','gender','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input><u-icon vue-id="{{('6d2caedd-7')+','+('6d2caedd-5')}}" slot="right" name="arrow-right" bind:__l="__l"></u-icon></u-form-item><u-form-item vue-id="{{('6d2caedd-8')+','+('6d2caedd-2')}}" required="{{true}}" labelWidth="80" prop="date" borderBottom="{{true}}" data-event-opts="{{[['^click',[['e1']]]]}}" bind:click="__e" bind:__l="__l" vue-slots="{{['default','right']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-9')+','+('6d2caedd-8')}}" disabled="{{true}}" disabledColor="#ffffff" placeholder="请选择出生日期" border="{{true}}" value="{{form.date}}" data-event-opts="{{[['^input',[['__set_model',['$0','date','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input><u-icon vue-id="{{('6d2caedd-10')+','+('6d2caedd-8')}}" slot="right" name="arrow-right" bind:__l="__l"></u-icon></u-form-item><u-form-item vue-id="{{('6d2caedd-11')+','+('6d2caedd-2')}}" borderBottom="{{true}}" bind:__l="__l" vue-slots="{{['default']}}"><u-input bind:input="__e" vue-id="{{('6d2caedd-12')+','+('6d2caedd-11')}}" border="{{true}}" placeholder="请输入身高" type="number" maxlength="3" value="{{form.height}}" data-event-opts="{{[['^input',[['__set_model',['$0','height','$event',[]],['form']]]]]}}" bind:__l="__l"></u-input></u-form-item><u-form-item vue-id="{{('6d2caedd-13')+','+('6d2caedd-2')}}" borderBottom="{{true}}" bind:__l="__l" vue-slots="{{['default']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-14')+','+('6d2caedd-13')}}" border="{{true}}" placeholder="请输入体重" type="number" maxlength="3" value="{{form.weight}}" data-event-opts="{{[['^input',[['__set_model',['$0','weight','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input></u-form-item></u--form></view><u-action-sheet vue-id="6d2caedd-15" actions="{{genderList}}" show="{{showGender}}" data-event-opts="{{[['^select',[['selectClickGender']]]]}}" bind:select="__e" bind:__l="__l"></u-action-sheet><u-datetime-picker class="vue-ref" vue-id="6d2caedd-16" show="{{showDate}}" mode="date" minDate="{{minDate}}" maxDate="{{maxDate}}" confirmColor="#E19F4B" formatter="{{formatter}}" data-ref="datetimePicker" value="{{pickerDate}}" data-event-opts="{{[['^confirm',[['onConfirmDate']]],['^cancel',[['onCancelDate']]],['^input',[['__set_model',['','pickerDate','$event',[]]]]]]}}" bind:confirm="__e" bind:cancel="__e" bind:input="__e" bind:__l="__l"></u-datetime-picker><view class="action-box"><view class="btn-box"><u-button vue-id="6d2caedd-17" shape="circle" color="{{bgthemeColor}}" type="info" size="large" data-event-opts="{{[['^click',[['onSubmit']]]]}}" bind:click="__e" bind:__l="__l" vue-slots="{{['default']}}"><text style="{{'color:'+(themeColor)+';'+('font-size:'+('32rpx')+';')+('font-weight:'+('bold')+';')}}">创建用户</text></u-button></view></view></view></view>
<view class="info"><view class="main"><view class="avatar"><u-avatar vue-id="6d2caedd-1" src="{{avatarSrc}}" size="70" bind:__l="__l"></u-avatar></view><view class="form-box"><u--form class="vue-ref" vue-id="6d2caedd-2" labelPosition="left" model="{{form}}" rules="{{rules}}" data-ref="uForm" bind:__l="__l" vue-slots="{{['default']}}"><u-form-item vue-id="{{('6d2caedd-3')+','+('6d2caedd-2')}}" required="{{true}}" prop="name" borderBottom="{{true}}" bind:__l="__l" vue-slots="{{['default']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-4')+','+('6d2caedd-3')}}" type="text" maxlength="15" border="{{true}}" placeholder="请输入昵称" value="{{form.name}}" data-event-opts="{{[['^input',[['__set_model',['$0','name','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input></u-form-item><u-form-item vue-id="{{('6d2caedd-5')+','+('6d2caedd-2')}}" required="{{true}}" prop="gender" borderBottom="{{true}}" data-event-opts="{{[['^click',[['e0']]]]}}" bind:click="__e" bind:__l="__l" vue-slots="{{['default','right']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-6')+','+('6d2caedd-5')}}" disabled="{{true}}" disabledColor="#ffffff" placeholder="请选择性别" border="{{true}}" value="{{form.gender}}" data-event-opts="{{[['^input',[['__set_model',['$0','gender','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input><u-icon vue-id="{{('6d2caedd-7')+','+('6d2caedd-5')}}" slot="right" name="arrow-right" bind:__l="__l"></u-icon></u-form-item><u-form-item vue-id="{{('6d2caedd-8')+','+('6d2caedd-2')}}" required="{{true}}" labelWidth="80" prop="date" borderBottom="{{true}}" data-event-opts="{{[['^click',[['e1']]]]}}" bind:click="__e" bind:__l="__l" vue-slots="{{['default','right']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-9')+','+('6d2caedd-8')}}" disabled="{{true}}" disabledColor="#ffffff" placeholder="请选择出生日期" border="{{true}}" value="{{form.date}}" data-event-opts="{{[['^input',[['__set_model',['$0','date','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input><u-icon vue-id="{{('6d2caedd-10')+','+('6d2caedd-8')}}" slot="right" name="arrow-right" bind:__l="__l"></u-icon></u-form-item><u-form-item vue-id="{{('6d2caedd-11')+','+('6d2caedd-2')}}" borderBottom="{{true}}" bind:__l="__l" vue-slots="{{['default']}}"><u-input bind:input="__e" vue-id="{{('6d2caedd-12')+','+('6d2caedd-11')}}" border="{{true}}" placeholder="请输入身高" type="number" maxlength="3" value="{{form.height}}" data-event-opts="{{[['^input',[['__set_model',['$0','height','$event',[]],['form']]]]]}}" bind:__l="__l"></u-input></u-form-item><u-form-item vue-id="{{('6d2caedd-13')+','+('6d2caedd-2')}}" borderBottom="{{true}}" bind:__l="__l" vue-slots="{{['default']}}"><u--input bind:input="__e" vue-id="{{('6d2caedd-14')+','+('6d2caedd-13')}}" border="{{true}}" placeholder="请输入体重" type="number" maxlength="3" value="{{form.weight}}" data-event-opts="{{[['^input',[['__set_model',['$0','weight','$event',[]],['form']]]]]}}" bind:__l="__l"></u--input></u-form-item></u--form></view><u-action-sheet vue-id="6d2caedd-15" actions="{{genderList}}" show="{{showGender}}" data-event-opts="{{[['^select',[['selectClickGender']]]]}}" bind:select="__e" bind:__l="__l"></u-action-sheet><u-datetime-picker class="vue-ref" vue-id="6d2caedd-16" closeOnClickOverlay="{{true}}" show="{{showDate}}" mode="date" minDate="{{minDate}}" maxDate="{{maxDate}}" confirmColor="#E19F4B" formatter="{{formatter}}" data-ref="datetimePicker" value="{{pickerDate}}" data-event-opts="{{[['^confirm',[['onConfirmDate']]],['^cancel',[['onCancelDate']]],['^input',[['__set_model',['','pickerDate','$event',[]]]]]]}}" bind:confirm="__e" bind:cancel="__e" bind:input="__e" bind:__l="__l"></u-datetime-picker><view class="action-box"><view class="btn-box"><u-button vue-id="6d2caedd-17" shape="circle" color="{{bgthemeColor}}" type="info" size="large" data-event-opts="{{[['^click',[['onSubmit']]]]}}" bind:click="__e" bind:__l="__l" vue-slots="{{['default']}}"><text style="{{'color:'+(themeColor)+';'+('font-size:'+('32rpx')+';')+('font-weight:'+('bold')+';')}}">{{actionText}}</text></u-button></view></view></view></view>

+ 1
- 1
unpackage/dist/dev/mp-weixin/project.private.config.json 查看文件

@@ -25,7 +25,7 @@
},
{
"name": "我的",
"pathName": "pages/user/mine",
"pathName": "pages/details/records",
"query": "",
"launchMode": "default",
"scene": null


正在加载...
取消
保存