Files
sifa-mp/userPages/pages/userData.vue
T
2025-05-22 10:33:32 +08:00

109 lines
4.0 KiB
Vue

<template>
<view class="min-height bg-linear">
<HeaderItem title="企业认证"/>
<view class="rounded-top min-height p-30 bg-gray-light">
<view class="text-25">个人信息</view>
<view class="my-20 card p-30">
<u-form label-width="140rpx">
<u-form-item label="我的行业" required border-bottom @click="showModal = true">
<u-input v-model="userInfo.industry" border="none" placeholder="请选择行业" readonly>
<u-icon
slot="right"
name="arrow-right"
></u-icon>
</u-input>
</u-form-item>
<u-form-item label="企业名称" required border-bottom>
<u-input v-model="userInfo.companyName" border="none" placeholder="请输入单位名"/>
</u-form-item>
<u-form-item label="职位" border-bottom>
<u-input v-model="userInfo.position" border="none" placeholder="请输入职位"/>
</u-form-item>
<u-form-item label="姓名" required>
<u-input v-model="userInfo.realName" border="none" placeholder="请输入姓名"/>
</u-form-item>
</u-form>
</view>
<view class="text-25 mt-20">联系方式</view>
<view class="my-20 card p-30">
<u-form label-width="140rpx">
<u-form-item label="手机号" required border-bottom>
<u-input v-model="userInfo.phone" border="none" placeholder="请输入手机号"/>
</u-form-item>
<u-form-item label="邮箱" border-bottom>
<u-input v-model="userInfo.email" border="none" placeholder="请输入邮箱"/>
</u-form-item>
<u-form-item label="微信号" border-bottom>
<u-input v-model="userInfo.wechatNumber" border="none" placeholder="请输入微信号"/>
</u-form-item>
<u-form-item label="常驻地址" border-bottom>
<u-input v-model="userInfo.liveAddress" border="none" placeholder="请输入常驻地址"/>
</u-form-item>
<u-form-item label="单位地址">
<u-input v-model="userInfo.companyAddress" border="none" placeholder="请输入单位地址"/>
</u-form-item>
</u-form>
</view>
<view class="mt-30">
<u-button type="primary" shape="circle" @click="save">保存</u-button>
</view>
</view>
<u-picker :show="showModal" :columns="[industryList]" @cancel="showModal = false"
@confirm="selectIndustry" key-name="dictDataCode"
/>
</view>
</template>
<script>
import {userInfoReq, userInfoUpdateDataReq, userInfoUpdateReq} from "@/api/user";
import {MAIN_API} from "@/config";
import HeaderItem from "@/components/HeaderItem.vue";
import {dictDataReq} from "@/api/common";
export default {
name: "profile",
components: {HeaderItem},
data() {
return {
uri: MAIN_API,
userInfo: {},
industryList: [],
showModal: false,
showActionSheet: false,
}
},
methods: {
async getIndustryList() {
const {data} = await dictDataReq({dictId: '163'})
this.industryList = data
},
async getUserInfo() {
const {data} = await userInfoReq()
this.userInfo = data
},
selectIndustry({value}) {
this.userInfo.industry = value[0].dictDataCode
this.showModal = false
console.log(this.userInfo)
},
async save() {
if (!this.userInfo.industry) return this.$toast('请选择行业')
if (!this.userInfo.companyName) return this.$toast('请输入企业名称')
if (!this.userInfo.position) return this.$toast('请输入职位')
if (!this.userInfo.realName) return this.$toast('请输入姓名')
if (!this.userInfo.phone) return this.$toast('请输入手机号')
uni.showLoading({
title: '保存中'
})
await userInfoUpdateDataReq(this.userInfo)
uni.hideLoading()
this.$toast('已保存')
}
},
async onShow() {
await this.getUserInfo()
await this.getIndustryList()
}
}
</script>