master
lion 5 months ago
parent 5644df7aec
commit aa2264d468

@ -66,7 +66,24 @@
<!-- 日期时间 -->
<u-picker @confirm="dateTimeConfirm" mode="time" v-model="dateTimeShow" :params="dateTimeParams"></u-picker>
<!-- 公司选择器 -->
<company-selector v-model="showCompanySelector" @confirm="handleCompanyConfirm"></company-selector>
<company-selector v-model="showCompanySelector" @confirm="handleCompanyConfirm" @no-data="handleNoCompanyData"></company-selector>
<!-- 手动输入公司名称 -->
<view class="modal">
<u-popup v-model="showCompanyInput" mode="bottom">
<view class="modal-tip">输入公司名称</view>
<view class="modal-content" style="height:400rpx">
<view class="login-form">
<view>
<u-input :custom-style="inputStyle" :clearable="true" v-model="manualCompanyName"
placeholder="请输入公司全称"></u-input>
</view>
</view>
</view>
<view class="form-btn">
<view @click="confirmManualCompany" type="primary">确定</view>
</view>
</u-popup>
</view>
</view>
</template>
@ -91,6 +108,8 @@
data() {
return {
showCompanySelector: false,
showCompanyInput: false,
manualCompanyName: '',
submitForm: {},
now_fileld: 0, // filed index
//
@ -123,6 +142,13 @@
fileList: [],
formData: {},
rules: {},
//
inputStyle: {
'padding': '0rpx 30rpx',
'height': '80rpx',
'border': '1rpx solid #dad8d8;',
'border-radius': '20rpx'
},
}
@ -178,6 +204,40 @@
})
console.log("this.course_forms",this.course_forms)
},
//
handleNoCompanyData(searchKeyword) {
uni.showModal({
title: '提示',
content: '当前没有查询到公司信息,是否输入公司全称?',
success: (res) => {
if (res.confirm) {
//
this.showCompanySelector = false;
//
this.manualCompanyName = searchKeyword || '';
//
this.showCompanyInput = true;
}
}
});
},
//
confirmManualCompany() {
if (this.base.isNull(this.manualCompanyName)) {
this.base.toast('请输入公司名称');
return;
}
// course_forms field === 'company_name' value
this.course_forms.map(item1 => {
if (item1.field === 'company_name') {
this.$set(item1, 'value', this.manualCompanyName.trim());
}
});
//
this.showCompanyInput = false;
//
this.manualCompanyName = '';
},
//
showSelect(item, index) {
this.selectList = item.select_item
@ -392,4 +452,28 @@
padding: 20rpx;
}
}
.modal {
::v-deep .u-drawer-bottom {
border-radius: 40rpx;
}
&-tip {
text-align: center;
padding: 30rpx;
font-size: 32rpx;
}
&-content {
padding: 0 30rpx;
}
}
.login-form {
margin: 100rpx 50rpx;
&>view {
border-radius: 20rpx;
}
}
</style>

@ -136,19 +136,26 @@ export default {
this.loading = false;
//
console.log("res",res)
if (res) {
this.companyList = res
//
console.log("res123",res)
// {errorcode:1001,errormsg:""}
if (res && typeof res === 'object' && res.errorcode === 1001) {
this.companyList = [];
//
this.$emit('no-data', this.searchKeyword.trim());
} else if (Array.isArray(res)) {
//
this.companyList = res;
if (this.companyList.length === 0) {
//
this.$emit('no-data', this.searchKeyword.trim());
}
} else {
//
this.companyList = [];
}
if (this.companyList.length === 0) {
uni.showToast({
title: '未找到相关公司',
icon: 'none'
});
//
this.$emit('no-data', this.searchKeyword.trim());
}
} catch (error) {
this.loading = false;
@ -157,6 +164,8 @@ export default {
title: '搜索失败,请稍后重试',
icon: 'none'
});
//
this.$emit('no-data', this.searchKeyword.trim());
this.companyList = [];
}
},

@ -96,7 +96,24 @@
</u-popup>
</view>
<!-- 公司选择器 -->
<company-selector v-model="showCompanySelector" @confirm="handleCompanyConfirm"></company-selector>
<company-selector v-model="showCompanySelector" @confirm="handleCompanyConfirm" @no-data="handleNoCompanyData"></company-selector>
<!-- 手动输入公司名称 -->
<view class="modal">
<u-popup v-model="showCompanyInput" mode="bottom">
<view class="modal-tip">输入公司名称</view>
<view class="modal-content" style="height:400rpx">
<view class="login-form">
<view>
<u-input :custom-style="inputStyle" :clearable="true" v-model="manualCompanyName"
placeholder="请输入公司全称"></u-input>
</view>
</view>
</view>
<view class="form-btn">
<view @click="confirmManualCompany" type="primary">确定</view>
</view>
</u-popup>
</view>
</view>
</template>
@ -150,6 +167,8 @@
plate1: '',
plateNumber: ['苏', 'E', '', '', '', '', ''],
showCompanySelector: false,
showCompanyInput: false,
manualCompanyName: '',
rules: {
mobile: [{
required: true,
@ -332,6 +351,36 @@
this.form.is_yuanhe = company.isYhInvested?'是':'否'
console.log("this.form",this.form)
},
//
handleNoCompanyData(searchKeyword) {
uni.showModal({
title: '提示',
content: '当前没有查询到公司信息,是否输入公司全称?',
success: (res) => {
if (res.confirm) {
//
this.showCompanySelector = false;
//
this.manualCompanyName = searchKeyword || '';
//
this.showCompanyInput = true;
}
}
});
},
//
confirmManualCompany() {
if (this.base.isNull(this.manualCompanyName)) {
this.base.toast('请输入公司名称');
return;
}
// form.company_name
this.form.company_name = this.manualCompanyName.trim();
//
this.showCompanyInput = false;
//
this.manualCompanyName = '';
},
saveUser(type) {
if (type == 'add') {

@ -1,36 +1,36 @@
<template>
<view class="container">
<image class="cbg" :src="base.imgHost('common_bg.png')"></image>
<view class="wrap">
<u-form :model="form" :label-width="140" ref="uForm" :label-align="'left'" :error-type="['message']">
<u-form-item label="姓名" prop="username" required>
<u-input v-model="form.username" placeholder="请输入姓名" />
</u-form-item>
<u-form-item label="性别" prop="sex" required>
<u-input @click="showSex = true" placeholder="请选择性别" v-model="form.sex" type="select" />
</u-form-item>
<template>
<view class="container">
<image class="cbg" :src="base.imgHost('common_bg.png')"></image>
<view class="wrap">
<u-form :model="form" :label-width="140" ref="uForm" :label-align="'left'" :error-type="['message']">
<u-form-item label="姓名" prop="username" required>
<u-input v-model="form.username" placeholder="请输入姓名" />
</u-form-item>
<u-form-item label="性别" prop="sex" required>
<u-input @click="showSex = true" placeholder="请选择性别" v-model="form.sex" type="select" />
</u-form-item>
<u-form-item label="联系方式" prop="mobile" required>
<!-- <u-input type="number" placeholder="请输入联系方式" v-model="form.mobile" /> -->
<view style="display: flex;justify-content: space-between;align-items: center;">
<u-input type="number" disabled placeholder="联系方式" v-model="form.mobile" />
<!-- <view>{{form.mobile}}</view> -->
<u-button size="mini" type="primary" @click="addMobile"></u-button>
</view>
</u-form-item>
<u-form-item label="出生日期" prop="birthday">
<u-input @click="dateShow=true" placeholder="请选择出生日期" v-model="form.birthday"
type="select" /></u-form-item>
<u-form-item label="邮箱" prop="email">
<u-input v-model="form.email" placeholder="请输入邮箱" /></u-form-item>
<u-form-item label="公司名称" prop="company_name">
<u-input v-model="form.company_name" placeholder="请输入公司名称" />
</u-form-item>
<u-form-item label="职务" prop="company_position">
<u-input v-model="form.company_position" type="text" placeholder="请输入职务" /></u-form-item>
</u-form>
</view>
<view class="form-btn">
<view @click="saveUser"></view>
</view>
</u-form-item>
<u-form-item label="出生日期" prop="birthday">
<u-input @click="dateShow=true" placeholder="请选择出生日期" v-model="form.birthday"
type="select" /></u-form-item>
<u-form-item label="邮箱" prop="email">
<u-input v-model="form.email" placeholder="请输入邮箱" /></u-form-item>
<u-form-item label="公司名称" prop="company_name">
<u-input @click="showCompanySelector = true" type="select" v-model="form.company_name" border placeholder="请选择公司名称" />
</u-form-item>
<u-form-item label="职务" prop="company_position">
<u-input v-model="form.company_position" type="text" placeholder="请输入职务" /></u-form-item>
</u-form>
</view>
<view class="form-btn">
<view @click="saveUser"></view>
</view>
<!-- 修改手机号 -->
@ -58,17 +58,43 @@
</u-popup>
</view>
<u-picker @confirm="selectSex" v-model="showSex" :range="sexList" range-key="value" mode="selector"></u-picker>
<u-picker @confirm="dateConfirm" mode="time" v-model="dateShow" :params="dateParams"></u-picker>
</view>
</template>
<script>
export default {
data() {
<u-picker @confirm="selectSex" v-model="showSex" :range="sexList" range-key="value" mode="selector"></u-picker>
<u-picker @confirm="dateConfirm" mode="time" v-model="dateShow" :params="dateParams"></u-picker>
<!-- 公司选择器 -->
<company-selector v-model="showCompanySelector" @confirm="handleCompanyConfirm" @no-data="handleNoCompanyData"></company-selector>
<!-- 手动输入公司名称 -->
<view class="modal">
<u-popup v-model="showCompanyInput" mode="bottom">
<view class="modal-tip">输入公司名称</view>
<view class="modal-content" style="height:400rpx">
<view class="login-form">
<view>
<u-input :custom-style="inputStyle" :clearable="true" v-model="manualCompanyName"
placeholder="请输入公司全称"></u-input>
</view>
</view>
</view>
<view class="form-btn">
<view @click="confirmManualCompany" type="primary">确定</view>
</view>
</u-popup>
</view>
</view>
</template>
<script>
import CompanySelector from '@/components/company-selector/company-selector.vue'
export default {
components: {
CompanySelector
},
data() {
return {
showMobile: false,
showCompanySelector: false,
showCompanyInput: false,
manualCompanyName: '',
isDonate:false,
myMobile:'',
myCode: '',
@ -89,69 +115,69 @@
},
course_id: null,
showSex: false,
dateShow: false,
dateParams: {
year: true,
month: true,
day: true,
hour: false,
minute: false,
second: false
},
form: {
username: '',
sex: ''
},
sexList: [{
label: '男',
value: '男'
}, {
label: '女',
value: '女'
}],
rules: {
username: [{
required: true,
message: '请输入姓名',
trigger: ['blur'],
}],
sex: [{
required: true,
message: '请选择性别',
trigger: ['change', 'blur'],
}],
mobile: [{
required: true,
message: '请输入联系方式',
trigger: ['blur'],
}, {
validator: (rule, value, callback) => {
return this.$u.test.mobile(value);
},
message: '手机号码不正确',
trigger: ['blur'],
}],
// email: [{
// validator: (rule, value, callback) => {
// return this.$u.test.email(value);
// },
// message: '',
// trigger: ['blur'],
// }],
}
}
},
onReady() {
this.$refs.uForm.setRules(this.rules);
},
onLoad(options) {
course_id: null,
showSex: false,
dateShow: false,
dateParams: {
year: true,
month: true,
day: true,
hour: false,
minute: false,
second: false
},
form: {
username: '',
sex: ''
},
sexList: [{
label: '男',
value: '男'
}, {
label: '女',
value: '女'
}],
rules: {
username: [{
required: true,
message: '请输入姓名',
trigger: ['blur'],
}],
sex: [{
required: true,
message: '请选择性别',
trigger: ['change', 'blur'],
}],
mobile: [{
required: true,
message: '请输入联系方式',
trigger: ['blur'],
}, {
validator: (rule, value, callback) => {
return this.$u.test.mobile(value);
},
message: '手机号码不正确',
trigger: ['blur'],
}],
// email: [{
// validator: (rule, value, callback) => {
// return this.$u.test.email(value);
// },
// message: '',
// trigger: ['blur'],
// }],
}
}
},
onReady() {
this.$refs.uForm.setRules(this.rules);
},
onLoad(options) {
this.course_id = options.id ? options.id : null
this.isDonate = options.isDonate?options.isDonate:false
},
this.isDonate = options.isDonate?options.isDonate:false
},
onUnload() {
if (this.sendTimer) {
clearInterval(this.sendTimer);
@ -221,94 +247,129 @@
this.showMobile = false
})
},
selectSex(e) {
this.form.sex = this.sexList[e[0]]['value']
},
//
dateConfirm(e) {
this.form.birthday = e.year + '-' + e.month + '-' + e.day
},
saveUser() {
let that = this
this.$refs.uForm.validate(valid => {
if (valid) {
this.form.name = this.form.username
this.$u.api.saveUser(this.form).then(res => {
this.$u.api.user().then(res => {
this.$u.vuex('vuex_user', res.user)
this.base.toast("注册成功", 2000, function() {
console.log("that.course_id", that.course_id)
if (that.course_id) {
uni.redirectTo({
url: '/packages/course/detail?id=' +
that.course_id
})
// uni.redirectTo({
// url:'/pages/course/index'
// })
},
selectSex(e) {
this.form.sex = this.sexList[e[0]]['value']
},
//
dateConfirm(e) {
this.form.birthday = e.year + '-' + e.month + '-' + e.day
},
//
handleCompanyConfirm(company) {
console.log('选中的公司:', company);
this.form.company_name = company.enterpriseName || '';
},
//
handleNoCompanyData(searchKeyword) {
uni.showModal({
title: '提示',
content: '当前没有查询到公司信息,是否输入公司全称?',
success: (res) => {
if (res.confirm) {
//
this.showCompanySelector = false;
//
this.manualCompanyName = searchKeyword || '';
//
this.showCompanyInput = true;
}
}
});
},
//
confirmManualCompany() {
if (this.base.isNull(this.manualCompanyName)) {
this.base.toast('请输入公司名称');
return;
}
// form.company_name
this.form.company_name = this.manualCompanyName.trim();
//
this.showCompanyInput = false;
//
this.manualCompanyName = '';
},
saveUser() {
let that = this
this.$refs.uForm.validate(valid => {
if (valid) {
this.form.name = this.form.username
this.$u.api.saveUser(this.form).then(res => {
this.$u.api.user().then(res => {
this.$u.vuex('vuex_user', res.user)
this.base.toast("注册成功", 2000, function() {
console.log("that.course_id", that.course_id)
if (that.course_id) {
uni.redirectTo({
url: '/packages/course/detail?id=' +
that.course_id
})
// uni.redirectTo({
// url:'/pages/course/index'
// })
}else if(that.isDonate){
uni.redirectTo({
url: '/packages/donate/index'
})
} else {
uni.switchTab({
url: '/pages/me/index'
})
}
})
})
})
} else {
console.log('验证失败');
// this.base.toast("")
}
});
},
}
}
</script>
<style scoped lang="scss">
.container {
padding: 30rpx;
height: 100vh;
overflow: scroll;
.cbg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
}
.wrap {
background: #fff;
position: relative;
padding: 35rpx;
border-radius: 30rpx;
padding-top: 0;
}
.form-btn {
width: 100%;
position: relative;
padding: 60rpx 0;
&>view {
width: 70%;
text-align: center;
margin: 0 auto;
color: #fff;
background: linear-gradient(to right, #5e5fbc, #0d0398);
border-radius: 30rpx;
padding: 20rpx;
}
} else {
uni.switchTab({
url: '/pages/me/index'
})
}
})
})
})
} else {
console.log('验证失败');
// this.base.toast("")
}
});
},
}
}
</script>
<style scoped lang="scss">
.container {
padding: 30rpx;
height: 100vh;
overflow: scroll;
.cbg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
}
.wrap {
background: #fff;
position: relative;
padding: 35rpx;
border-radius: 30rpx;
padding-top: 0;
}
.form-btn {
width: 100%;
position: relative;
padding: 60rpx 0;
&>view {
width: 70%;
text-align: center;
margin: 0 auto;
color: #fff;
background: linear-gradient(to right, #5e5fbc, #0d0398);
border-radius: 30rpx;
padding: 20rpx;
}
}
.modal {
::v-deep .u-drawer-bottom {
@ -366,7 +427,7 @@
border: 1px solid #dad8d8;
}
}
}
}
}
}
</style>

@ -18,7 +18,10 @@
<view class="login-btn">
<view @click="handleMsgLogin"></view>
</view>
<view class="login-msg" @click="toRegister"></view>
<view class="login-links">
<view class="login-msg" @click="toRegister"></view>
<view class="login-msg" @click="goHome"></view>
</view>
</view>
</view>
</template>
@ -27,7 +30,7 @@
export default {
data() {
return {
hasSend: false,
hasSend: false,
isDonate:false,
count: 60,
inputStyle: {
@ -51,7 +54,7 @@
}
},
onLoad(options) {
this.type = options.id ? 'course' : 'me'
this.type = options.id ? 'course' : 'me'
this.isDonate = options.isDonate?true:false
},
onUnload() {
@ -145,6 +148,11 @@
uni.redirectTo({
url: '/packages/register/index'
})
},
goHome() {
uni.switchTab({
url: '/pages/index/index'
})
}
}
@ -238,10 +246,15 @@
}
&-msg {
text-align: center;
padding: 20rpx 0;
padding: 20rpx 20rpx;
color: #0d0398;
}
&-links {
display: flex;
justify-content: center;
align-items: center;
}
}
}
</style>

@ -317,7 +317,7 @@
this.showRegister = true
this.hasMobile = false
} else {
this.showRegister = false
this.showRegister = true
this.hasMobile = true
}
})

Loading…
Cancel
Save