19 changed files with 1627 additions and 166 deletions
@ -0,0 +1,597 @@ |
|||
<template> |
|||
<view class="container"> |
|||
<view class="formlist"> |
|||
<u-form :model="form" ref="uFormRef" label-position="top" :rules="rules"> |
|||
<!-- <u-form-item label="用户身份" prop="member_tag_name"> |
|||
<u-input v-model="form.member_tag_name" placeholder="请选择" placeholderStyle="color: #D3D3D3;" |
|||
disabled disabled-color="#ffffff" suffixIcon="arrow-down" @tap="show = true" /> |
|||
<u-picker :show="show" :columns="[columns]" @confirm="confirm" @cancel="show = false" |
|||
keyName="title"></u-picker> |
|||
</u-form-item> |
|||
<u-form-item |
|||
:label="sftype===1?'会员代表姓名':(sftype===2?'会员代表姓名':(sftype===5?'姓名':'联系人'))" |
|||
prop="contact"> |
|||
<u-input v-model="form.contact" placeholder="请输入" placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> |
|||
<u-form-item |
|||
:label="sftype===1?'会员代表电话':(sftype===2?'会员代表电话':(sftype===5?'电话':'联系电话'))" |
|||
prop="tel"> |
|||
<u-input v-model="form.tel" placeholder="请输入" placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> --> |
|||
<u-form-item label="单位名称" prop="title" v-if="sftype!=='5'"> |
|||
<u-input v-if="sftype==='3'" v-model="form.title" placeholder="请选择" placeholderStyle="color: #D3D3D3;" |
|||
disabled disabled-color="#ffffff" suffixIcon="arrow-down" @tap="dwshow = true" /> |
|||
<u-picker v-if="sftype==='3'" :show="dwshow" :columns="dwcolumns" @confirm="dwconfirm" |
|||
@cancel="dwshow = false"></u-picker> |
|||
<u-input v-if="sftype!=='3'" v-model="form.title" placeholder="请输入" |
|||
placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> |
|||
<u-form-item label="行业" prop="industry" v-if="sftype==='1'||sftype==='2'||sftype==='5'"> |
|||
<u-input v-model="form.industry" placeholder="请输入" placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> |
|||
<u-form-item label="地址" prop="address" v-if="sftype==='4'"> |
|||
<u-input v-model="form.address" placeholder="请选择" placeholderStyle="color: #D3D3D3;" disabled |
|||
disabled-color="#ffffff" suffixIcon="arrow-down" @tap="dzshow = true" /> |
|||
<u-cascader :show="dzshow" v-model="dzvalue" :data="dzcolumns" @confirm="dzconfirm" |
|||
@close="dzshow = false"></u-cascader> |
|||
</u-form-item> |
|||
<!-- <view class="cardbox" v-if="ishowcommany"> |
|||
<view v-for="(group, index) in inputGroups" :key="index" class="input-group"> |
|||
<view class="inputs" @click="beforeRead(index)"> |
|||
公司性质 |
|||
<input class="inputclass" placeholder-class="inputplacla" disabled disabledColor="#ffffff" |
|||
:value="group.type == 1 ? '其他(自由职业者等)' : group.type === 2 ? '个体工商户' : group.type === 3 ? '民营企业' : ''" |
|||
placeholder="民营企业、个体工商户、其它(自由职业者等)" @tap="qyshow = true" /> |
|||
<u-action-sheet :actions="qylist" title="请选择关联企业类型" :show="qyshow" @select="qyClick" |
|||
@close="qyshow = false"></u-action-sheet> |
|||
公司名称 |
|||
<input class="inputclass" placeholder-class="inputplacla" v-model="group.title" |
|||
placeholder="请输入真实公司名称" /> |
|||
营业执照 |
|||
<u-upload class="uploadbox" @afterRead="afterRead" :maxCount="1" :imageMode="'heightFix'" |
|||
:width="auto" :height="144"> |
|||
<view class="yyzz" v-if="group.license === ''"> |
|||
<image style="width: 40rpx; height: 40rpx" src="@/static/img/yyzz.png" mode=""> |
|||
</image> |
|||
上传营业执照 |
|||
</view> |
|||
<image v-else @click="beforeRead(index)" |
|||
style="width: 100%; height: 288rpx; margin-top: 12rpx" |
|||
:src="baseurl + '/' + group.license" mode="scaleToFill"></image> |
|||
</u-upload> |
|||
</view> |
|||
<view v-if="index > 0" class="remove-btn" @click="removeGroup(index)">-</view> |
|||
</view> |
|||
<button @click="addGroup" class="add-btn">+ 添加一组</button> |
|||
</view> --> |
|||
<!-- <u-form-item label="个人介绍" prop="introduce"> |
|||
<u-textarea v-model="form.introduce" autoHeight placeholder="请输入个人介绍" placeholderStyle="color: #D3D3D3;"></u-textarea> |
|||
</u-form-item> --> |
|||
<u-form-item label="营业执照" prop="business_license" v-if="sftype==='1'||sftype==='2'"> |
|||
<u-upload class="uploadbox" @afterRead="afterRead1" :maxCount="1" :imageMode="'heightFix'" |
|||
:width="auto" :height="144"> |
|||
<view class="yyzz" v-if="form.business_license === ''"> |
|||
<image style="width: 40rpx; height: 40rpx" src="@/static/img/yyzz.png" mode=""></image> |
|||
请上传营业执照 |
|||
</view> |
|||
<image v-else style="width: 100%; height: 600rpx; margin-top: 12rpx" |
|||
:src="baseurl + '/' + form.business_license" mode="scaleToFill"></image> |
|||
</u-upload> |
|||
</u-form-item> |
|||
</u-form> |
|||
</view> |
|||
<view class="sumitbotton"> |
|||
<view class="button" @click="submit">确认提交</view> |
|||
<view class="zbtx" @click="backindex"> |
|||
暂不完善 |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import { |
|||
ref |
|||
} from 'vue'; |
|||
import { |
|||
memberTagList, |
|||
memberApply, |
|||
xhMemberImprove, |
|||
xhMemprove |
|||
} from '@/api/memberCenter' |
|||
import { |
|||
onShow |
|||
} from '@dcloudio/uni-app'; |
|||
import ssqdata from './slpace.json' |
|||
import useUserStore from '@/store/user' |
|||
const userStore = useUserStore() |
|||
|
|||
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL) |
|||
|
|||
const uPickerRef = ref(null) |
|||
|
|||
|
|||
// 响应式表单数据 |
|||
const form = ref({ |
|||
mobile: '', |
|||
member_tag_name: '', |
|||
contact: '', |
|||
tel: '', |
|||
title: '', |
|||
identity: '', |
|||
address: '', |
|||
industry: '', |
|||
business_license: '' |
|||
}); |
|||
|
|||
const identityname = ref('') |
|||
|
|||
const ishowcommany = ref(false) |
|||
|
|||
const show = ref(false); |
|||
const columns = ref([{ |
|||
id: 1, |
|||
title: '个体私营企业' |
|||
}, |
|||
{ |
|||
id: 2, |
|||
title: '个体工商户' |
|||
}, |
|||
{ |
|||
id: 5, |
|||
title: '自然人' |
|||
}, |
|||
{ |
|||
id: 3, |
|||
title: '理事单位' |
|||
}, |
|||
{ |
|||
id: 4, |
|||
title: '商协会' |
|||
}, |
|||
{ |
|||
id: 6, |
|||
title: '其他单位' |
|||
} |
|||
]); |
|||
|
|||
|
|||
const dwshow = ref(false); |
|||
const dwcolumns = ref([ |
|||
[{ |
|||
id: '内蒙古自治区党委统战部', |
|||
text: '内蒙古自治区党委统战部' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区民营经济发展服务局', |
|||
text: '内蒙古自治区民营经济发展服务局' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区工业和信息化厅', |
|||
text: '内蒙古自治区工业和信息化厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区司法厅', |
|||
text: '内蒙古自治区司法厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区人力资源和社会保障厅', |
|||
text: '内蒙古自治区人力资源和社会保障厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区退役军人事务厅', |
|||
text: '内蒙古自治区退役军人事务厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区药品监督管理局', |
|||
text: '内蒙古自治区药品监督管理局' |
|||
}, |
|||
{ |
|||
id: '国家税务总局内蒙古自治区税务局', |
|||
text: '国家税务总局内蒙古自治区税务局' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区工商业联合会', |
|||
text: '内蒙古自治区工商业联合会' |
|||
} |
|||
] |
|||
]); |
|||
const dzshow = ref(false); |
|||
const dzvalue = ref(['内蒙古自治区']) |
|||
const dzcolumns = ref([ssqdata]); |
|||
|
|||
// 校验规则 |
|||
const rules = { |
|||
contact: [{ |
|||
required: true, |
|||
message: '请输入姓名', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
tel: [{ |
|||
required: true, |
|||
message: '请输入电话', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
title: [{ |
|||
required: true, |
|||
message: '请输入单位名称', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
industry: [{ |
|||
required: true, |
|||
message: '请输入行业', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
member_tag_name: [{ |
|||
required: true, |
|||
message: '请选择身份类别', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
address: [{ |
|||
required: true, |
|||
message: '请选择地址', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
business_license: [{ |
|||
required: true, |
|||
message: '请上传营业执照', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
}; |
|||
|
|||
const inputGroups = ref([{ |
|||
type: '', |
|||
title: '', |
|||
license: '' |
|||
}]) |
|||
|
|||
const addGroup = () => { |
|||
inputGroups.value.push({ |
|||
type: '', |
|||
title: '', |
|||
license: '' |
|||
}) |
|||
} |
|||
|
|||
const qyshow = ref(false) |
|||
const qylist = ref([{ |
|||
id: 1, |
|||
name: '其他(自由职业者等)', |
|||
}, |
|||
{ |
|||
id: 2, |
|||
name: '个体工商户', |
|||
}, |
|||
{ |
|||
id: 3, |
|||
name: '民营企业', |
|||
} |
|||
]); |
|||
const qyClick = async (val) => { |
|||
inputGroups.value[upclickindex.value].type = val.id |
|||
} |
|||
|
|||
const removeGroup = (index) => { |
|||
inputGroups.value.splice(index, 1) |
|||
} |
|||
|
|||
const upclickindex = ref(0) |
|||
const beforeRead = (index) => { |
|||
upclickindex.value = index |
|||
} |
|||
|
|||
const afterRead = async (e) => { |
|||
uni.uploadFile({ |
|||
url: import.meta.env.VITE_APP_BASE_URL + '/api/file/image', |
|||
filePath: e.file.url, |
|||
name: 'file', |
|||
header: { |
|||
'token': uni.getStorageSync('access_token') |
|||
}, |
|||
success: async (val) => { |
|||
if (JSON.parse(val.data).data.url) { |
|||
inputGroups.value[upclickindex.value].license = JSON.parse(val.data).data.url |
|||
} |
|||
}, |
|||
fail: (res) => { |
|||
console.log('失败', res); |
|||
} |
|||
}) |
|||
} |
|||
|
|||
const afterRead1 = async (e) => { |
|||
uni.uploadFile({ |
|||
url: import.meta.env.VITE_APP_BASE_URL + '/api/file/image', |
|||
filePath: e.file.url, |
|||
name: 'file', |
|||
header: { |
|||
'token': uni.getStorageSync('access_token') |
|||
}, |
|||
success: async (val) => { |
|||
if (JSON.parse(val.data).data.url) { |
|||
form.value.business_license = JSON.parse(val.data).data.url |
|||
} |
|||
}, |
|||
fail: (res) => { |
|||
console.log('失败', res); |
|||
} |
|||
}) |
|||
console.log(form.value); |
|||
} |
|||
|
|||
// 表单引用 |
|||
const uFormRef = ref(null); |
|||
|
|||
const confirm = (val) => { |
|||
form.value.member_tag_name = val.value[0].title |
|||
form.value.identity = val.value[0].id |
|||
show.value = false |
|||
} |
|||
|
|||
const dwconfirm = (val) => { |
|||
form.value.title = val.value[0].id |
|||
dwshow.value = false |
|||
} |
|||
|
|||
const dzconfirm = (val) => { |
|||
console.log(val); |
|||
form.value.address = val[1] + '-' + val[2] |
|||
dzshow.value = false |
|||
} |
|||
|
|||
const backindex = () => { |
|||
uni.switchTab({ |
|||
url: '/pages/index/index' |
|||
}) |
|||
} |
|||
|
|||
|
|||
// 提交方法 |
|||
function submit() { |
|||
uFormRef.value.validate().then(valid => { |
|||
if (valid) { |
|||
let data = [] |
|||
// inputGroups.value.forEach((obj) => { |
|||
// if (obj.type == '' || obj.title == '' || obj.license == '') { |
|||
// uni.showToast({ |
|||
// title: '请填写完整', |
|||
// icon: 'fail' |
|||
// }) |
|||
// } else { |
|||
// data.push(obj) |
|||
// } |
|||
// }) |
|||
uni.$u.toast('校验通过') |
|||
delete form.value.member_tag_name |
|||
console.log(form.value); |
|||
xhMemprove(form.value).then((res) => { |
|||
if (res.code === 1) { |
|||
uni.showToast({ |
|||
title: '等待管理员审核', |
|||
icon: 'success', |
|||
duration: 2000 |
|||
}) |
|||
setTimeout(() => { |
|||
uni.switchTab({ |
|||
url: '/pages/index/index' |
|||
}) |
|||
}, 2000) |
|||
} else { |
|||
uni.showToast({ |
|||
title: res.msg, |
|||
icon: 'fail', |
|||
duration: 2000 |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
}).catch(() => { |
|||
// 处理验证错误 |
|||
uni.$u.toast('请填写完整') |
|||
}) |
|||
} |
|||
|
|||
const sftype = ref('') |
|||
|
|||
onLoad(async (e) => { |
|||
console.log(e); |
|||
form.value.identity = e.type |
|||
sftype.value = e.type |
|||
form.value.mobile = e.number |
|||
console.log(sftype.value); |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background-color: #e9ecf3; |
|||
width: 100%; |
|||
height: 100vh; |
|||
overflow-y: hidden; |
|||
|
|||
.formlist { |
|||
width: 100%; |
|||
max-height: calc(100vh - 168rpx); |
|||
background: #e9ecf3; |
|||
padding: 40rpx; |
|||
box-sizing: border-box; |
|||
overflow-y: auto; |
|||
|
|||
.cardbox { |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
.input-group { |
|||
padding: 40rpx; |
|||
margin-top: 20rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
margin-bottom: 20rpx; |
|||
background-color: #e2e2e2; |
|||
} |
|||
|
|||
.inputs { |
|||
flex: 9; |
|||
} |
|||
|
|||
input { |
|||
flex: 1; |
|||
height: 80rpx; |
|||
border: 2rpx solid #ddd; |
|||
padding: 0 20rpx; |
|||
margin-right: 10rpx; |
|||
} |
|||
|
|||
.remove-btn, |
|||
.add-btn { |
|||
width: 80rpx; |
|||
height: 80rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
background: #f0f0f0; |
|||
border-radius: 8rpx; |
|||
} |
|||
|
|||
.remove-btn { |
|||
margin-left: 20rpx; |
|||
border-radius: 50%; |
|||
width: 40rpx; |
|||
height: 40rpx; |
|||
color: #ff0000; |
|||
border: 2rpx solid #ff0000; |
|||
display: flex; |
|||
align-items: flex-end; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.add-btn { |
|||
width: auto; |
|||
padding: 0 30rpx; |
|||
background: #007fff; |
|||
color: white; |
|||
margin-bottom: 60rpx; |
|||
} |
|||
|
|||
.inputclass { |
|||
margin-top: 12rpx; |
|||
margin-bottom: 36rpx; |
|||
margin-right: 0 !important; |
|||
height: 100rpx !important; |
|||
border-radius: 10rpx; |
|||
background: #ffffff; |
|||
} |
|||
|
|||
:deep(.inputplacla) { |
|||
font-family: Source Han Sans; |
|||
font-size: 24rpx; |
|||
font-weight: 350; |
|||
line-height: 32.76rpx; |
|||
letter-spacing: normal; |
|||
color: #d3d3d3; |
|||
} |
|||
|
|||
.yyzz { |
|||
margin-top: 12rpx; |
|||
width: 100%; |
|||
height: 288rpx; |
|||
border-radius: 16rpx; |
|||
background: #ffffff; |
|||
display: grid; |
|||
align-content: center; |
|||
justify-items: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 30rpx; |
|||
font-weight: 350; |
|||
line-height: 70rpx; |
|||
letter-spacing: normal; |
|||
color: #cccccc; |
|||
} |
|||
|
|||
:deep(.u-upload) { |
|||
.u-upload__wrap { |
|||
view { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.sumitbotton { |
|||
width: 100%; |
|||
height: 168rpx; |
|||
padding: 0 45px; |
|||
box-sizing: border-box; |
|||
background: #ffffff; |
|||
/* 标签栏投影 */ |
|||
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0, 0, 0, 0.3); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
position: fixed; |
|||
bottom: 0; |
|||
|
|||
.button { |
|||
width: 50%; |
|||
height: 96rpx; |
|||
border-radius: 248rpx; |
|||
background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 36rpx; |
|||
font-weight: 350; |
|||
color: #ffffff; |
|||
} |
|||
|
|||
.zbtx { |
|||
width: 50%; |
|||
height: 96rpx; |
|||
color: #2563EB; |
|||
font-family: Source Han Sans; |
|||
font-size: 18px; |
|||
font-weight: 350; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.yyzz { |
|||
margin-top: 12rpx; |
|||
width: 100%; |
|||
height: 288rpx; |
|||
border-radius: 16rpx; |
|||
background: #ffffff; |
|||
display: grid; |
|||
align-content: center; |
|||
justify-items: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 30rpx; |
|||
font-weight: 350; |
|||
line-height: 70rpx; |
|||
letter-spacing: normal; |
|||
color: #cccccc; |
|||
} |
|||
|
|||
:deep(.u-upload) { |
|||
.u-upload__wrap { |
|||
view { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
<style> |
|||
.u-input { |
|||
background-color: #ffffff; |
|||
height: 100rpx !important; |
|||
} |
|||
|
|||
.u-form-item__body__left__content__label { |
|||
white-space: nowrap; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,590 @@ |
|||
<template> |
|||
<view class="container"> |
|||
<view class="formlist"> |
|||
<u-form :model="form" ref="uFormRef" label-position="top" :rules="rules"> |
|||
<!-- <u-form-item label="用户身份" prop="member_tag_name"> |
|||
<u-input v-model="form.member_tag_name" placeholder="请选择" placeholderStyle="color: #D3D3D3;" |
|||
disabled disabled-color="#ffffff" suffixIcon="arrow-down" @tap="show = true" /> |
|||
<u-picker :show="show" :columns="[columns]" @confirm="confirm" @cancel="show = false" |
|||
keyName="title"></u-picker> |
|||
</u-form-item> |
|||
<u-form-item |
|||
:label="sftype===1?'会员代表姓名':(sftype===2?'会员代表姓名':(sftype===5?'姓名':'联系人'))" |
|||
prop="contact"> |
|||
<u-input v-model="form.contact" placeholder="请输入" placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> |
|||
<u-form-item |
|||
:label="sftype===1?'会员代表电话':(sftype===2?'会员代表电话':(sftype===5?'电话':'联系电话'))" |
|||
prop="tel"> |
|||
<u-input v-model="form.tel" placeholder="请输入" placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> --> |
|||
<u-form-item label="单位名称" prop="title" v-if="form.identity!==5"> |
|||
<u-input v-if="form.identity===3" v-model="form.title" placeholder="请选择" placeholderStyle="color: #D3D3D3;" |
|||
disabled disabled-color="#ffffff" suffixIcon="arrow-down" @tap="dwshow = true" /> |
|||
<u-picker v-if="form.identity===3" :show="dwshow" :columns="dwcolumns" @confirm="dwconfirm" |
|||
@cancel="dwshow = false"></u-picker> |
|||
<u-input v-if="form.identity!==3" v-model="form.title" placeholder="请输入" |
|||
placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> |
|||
<u-form-item label="行业" prop="industry" v-if="form.identity===1||form.identity===2||form.identity===5"> |
|||
<u-input v-model="form.industry" placeholder="请输入" placeholder-style="color: #D3D3D3;" /> |
|||
</u-form-item> |
|||
<u-form-item label="地址" prop="address" v-if="form.identity===4"> |
|||
<u-input v-model="form.address" placeholder="请选择" placeholderStyle="color: #D3D3D3;" disabled |
|||
disabled-color="#ffffff" suffixIcon="arrow-down" @tap="dzshow = true" /> |
|||
<u-cascader :show="dzshow" v-model="dzvalue" :data="dzcolumns" @confirm="dzconfirm" |
|||
@close="dzshow = false"></u-cascader> |
|||
</u-form-item> |
|||
<!-- <view class="cardbox" v-if="ishowcommany"> |
|||
<view v-for="(group, index) in inputGroups" :key="index" class="input-group"> |
|||
<view class="inputs" @click="beforeRead(index)"> |
|||
公司性质 |
|||
<input class="inputclass" placeholder-class="inputplacla" disabled disabledColor="#ffffff" |
|||
:value="group.type == 1 ? '其他(自由职业者等)' : group.type === 2 ? '个体工商户' : group.type === 3 ? '民营企业' : ''" |
|||
placeholder="民营企业、个体工商户、其它(自由职业者等)" @tap="qyshow = true" /> |
|||
<u-action-sheet :actions="qylist" title="请选择关联企业类型" :show="qyshow" @select="qyClick" |
|||
@close="qyshow = false"></u-action-sheet> |
|||
公司名称 |
|||
<input class="inputclass" placeholder-class="inputplacla" v-model="group.title" |
|||
placeholder="请输入真实公司名称" /> |
|||
营业执照 |
|||
<u-upload class="uploadbox" @afterRead="afterRead" :maxCount="1" :imageMode="'heightFix'" |
|||
:width="auto" :height="144"> |
|||
<view class="yyzz" v-if="group.license === ''"> |
|||
<image style="width: 40rpx; height: 40rpx" src="@/static/img/yyzz.png" mode=""> |
|||
</image> |
|||
上传营业执照 |
|||
</view> |
|||
<image v-else @click="beforeRead(index)" |
|||
style="width: 100%; height: 288rpx; margin-top: 12rpx" |
|||
:src="baseurl + '/' + group.license" mode="scaleToFill"></image> |
|||
</u-upload> |
|||
</view> |
|||
<view v-if="index > 0" class="remove-btn" @click="removeGroup(index)">-</view> |
|||
</view> |
|||
<button @click="addGroup" class="add-btn">+ 添加一组</button> |
|||
</view> --> |
|||
<!-- <u-form-item label="个人介绍" prop="introduce"> |
|||
<u-textarea v-model="form.introduce" autoHeight placeholder="请输入个人介绍" placeholderStyle="color: #D3D3D3;"></u-textarea> |
|||
</u-form-item> --> |
|||
<u-form-item label="营业执照" prop="business_license" v-if="form.identity===1||form.identity===2"> |
|||
<u-upload class="uploadbox" @afterRead="afterRead1" :maxCount="1" :imageMode="'heightFix'" |
|||
:width="auto" :height="144"> |
|||
<view class="yyzz" v-if="form.business_license === ''||form.business_license === null"> |
|||
<image style="width: 40rpx; height: 40rpx" src="@/static/img/yyzz.png" mode=""></image> |
|||
请上传营业执照 |
|||
</view> |
|||
<image v-else style="width: 100%; height: 600rpx; margin-top: 12rpx" |
|||
:src="baseurl + '/' + form.business_license" mode="scaleToFill"></image> |
|||
</u-upload> |
|||
</u-form-item> |
|||
</u-form> |
|||
</view> |
|||
<view class="sumitbotton"> |
|||
<view class="button" @click="submit">确认提交</view> |
|||
<view class="zbtx" @click="backindex"> |
|||
暂不完善 |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import { |
|||
ref |
|||
} from 'vue'; |
|||
import { |
|||
memberTagList, |
|||
memberApply, |
|||
xhMemberImprove, |
|||
xhMemprove |
|||
} from '@/api/memberCenter' |
|||
import { |
|||
onShow |
|||
} from '@dcloudio/uni-app'; |
|||
import ssqdata from './slpace.json' |
|||
import useUserStore from '@/store/user' |
|||
const userStore = useUserStore() |
|||
|
|||
const baseurl = ref(import.meta.env.VITE_APP_BASE_URL) |
|||
|
|||
const uPickerRef = ref(null) |
|||
|
|||
|
|||
// 响应式表单数据 |
|||
const form = ref({ |
|||
mobile: '', |
|||
member_tag_name: '', |
|||
contact: '', |
|||
tel: '', |
|||
title: '', |
|||
identity: '', |
|||
address: '', |
|||
industry: '', |
|||
business_license: '' |
|||
}); |
|||
|
|||
const identityname = ref('') |
|||
|
|||
const ishowcommany = ref(false) |
|||
|
|||
const show = ref(false); |
|||
const columns = ref([{ |
|||
id: 1, |
|||
title: '个体私营企业' |
|||
}, |
|||
{ |
|||
id: 2, |
|||
title: '个体工商户' |
|||
}, |
|||
{ |
|||
id: 5, |
|||
title: '自然人' |
|||
}, |
|||
{ |
|||
id: 3, |
|||
title: '理事单位' |
|||
}, |
|||
{ |
|||
id: 4, |
|||
title: '商协会' |
|||
}, |
|||
{ |
|||
id: 6, |
|||
title: '其他单位' |
|||
} |
|||
]); |
|||
|
|||
|
|||
const dwshow = ref(false); |
|||
const dwcolumns = ref([ |
|||
[{ |
|||
id: '内蒙古自治区党委统战部', |
|||
text: '内蒙古自治区党委统战部' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区民营经济发展服务局', |
|||
text: '内蒙古自治区民营经济发展服务局' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区工业和信息化厅', |
|||
text: '内蒙古自治区工业和信息化厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区司法厅', |
|||
text: '内蒙古自治区司法厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区人力资源和社会保障厅', |
|||
text: '内蒙古自治区人力资源和社会保障厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区退役军人事务厅', |
|||
text: '内蒙古自治区退役军人事务厅' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区药品监督管理局', |
|||
text: '内蒙古自治区药品监督管理局' |
|||
}, |
|||
{ |
|||
id: '国家税务总局内蒙古自治区税务局', |
|||
text: '国家税务总局内蒙古自治区税务局' |
|||
}, |
|||
{ |
|||
id: '内蒙古自治区工商业联合会', |
|||
text: '内蒙古自治区工商业联合会' |
|||
} |
|||
] |
|||
]); |
|||
const dzshow = ref(false); |
|||
const dzvalue = ref(['内蒙古自治区']) |
|||
const dzcolumns = ref([ssqdata]); |
|||
|
|||
// 校验规则 |
|||
const rules = { |
|||
contact: [{ |
|||
required: true, |
|||
message: '请输入姓名', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
tel: [{ |
|||
required: true, |
|||
message: '请输入电话', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
title: [{ |
|||
required: true, |
|||
message: '请输入单位名称', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
industry: [{ |
|||
required: true, |
|||
message: '请输入行业', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
member_tag_name: [{ |
|||
required: true, |
|||
message: '请选择身份类别', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
address: [{ |
|||
required: true, |
|||
message: '请选择地址', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
business_license: [{ |
|||
required: true, |
|||
message: '请上传营业执照', |
|||
trigger: ['blur', 'change'], |
|||
}, ], |
|||
}; |
|||
|
|||
const inputGroups = ref([{ |
|||
type: '', |
|||
title: '', |
|||
license: '' |
|||
}]) |
|||
|
|||
const addGroup = () => { |
|||
inputGroups.value.push({ |
|||
type: '', |
|||
title: '', |
|||
license: '' |
|||
}) |
|||
} |
|||
|
|||
const qyshow = ref(false) |
|||
const qylist = ref([{ |
|||
id: 1, |
|||
name: '其他(自由职业者等)', |
|||
}, |
|||
{ |
|||
id: 2, |
|||
name: '个体工商户', |
|||
}, |
|||
{ |
|||
id: 3, |
|||
name: '民营企业', |
|||
} |
|||
]); |
|||
const qyClick = async (val) => { |
|||
inputGroups.value[upclickindex.value].type = val.id |
|||
} |
|||
|
|||
const removeGroup = (index) => { |
|||
inputGroups.value.splice(index, 1) |
|||
} |
|||
|
|||
const upclickindex = ref(0) |
|||
const beforeRead = (index) => { |
|||
upclickindex.value = index |
|||
} |
|||
|
|||
const afterRead = async (e) => { |
|||
uni.uploadFile({ |
|||
url: import.meta.env.VITE_APP_BASE_URL + '/api/file/image', |
|||
filePath: e.file.url, |
|||
name: 'file', |
|||
header: { |
|||
'token': uni.getStorageSync('access_token') |
|||
}, |
|||
success: async (val) => { |
|||
if (JSON.parse(val.data).data.url) { |
|||
inputGroups.value[upclickindex.value].license = JSON.parse(val.data).data.url |
|||
} |
|||
}, |
|||
fail: (res) => { |
|||
console.log('失败', res); |
|||
} |
|||
}) |
|||
} |
|||
|
|||
const afterRead1 = async (e) => { |
|||
uni.uploadFile({ |
|||
url: import.meta.env.VITE_APP_BASE_URL + '/api/file/image', |
|||
filePath: e.file.url, |
|||
name: 'file', |
|||
header: { |
|||
'token': uni.getStorageSync('access_token') |
|||
}, |
|||
success: async (val) => { |
|||
if (JSON.parse(val.data).data.url) { |
|||
form.value.business_license = JSON.parse(val.data).data.url |
|||
} |
|||
}, |
|||
fail: (res) => { |
|||
console.log('失败', res); |
|||
} |
|||
}) |
|||
console.log(form.value); |
|||
} |
|||
|
|||
// 表单引用 |
|||
const uFormRef = ref(null); |
|||
|
|||
const confirm = (val) => { |
|||
form.value.member_tag_name = val.value[0].title |
|||
form.value.identity = val.value[0].id |
|||
show.value = false |
|||
} |
|||
|
|||
const dwconfirm = (val) => { |
|||
form.value.title = val.value[0].id |
|||
dwshow.value = false |
|||
} |
|||
|
|||
const dzconfirm = (val) => { |
|||
console.log(val); |
|||
form.value.address = val[1] + '-' + val[2] |
|||
dzshow.value = false |
|||
} |
|||
|
|||
const backindex = () => { |
|||
uni.switchTab({ |
|||
url: '/pages/index/index' |
|||
}) |
|||
} |
|||
|
|||
|
|||
// 提交方法 |
|||
function submit() { |
|||
uFormRef.value.validate().then(valid => { |
|||
if (valid) { |
|||
let data = [] |
|||
// inputGroups.value.forEach((obj) => { |
|||
// if (obj.type == '' || obj.title == '' || obj.license == '') { |
|||
// uni.showToast({ |
|||
// title: '请填写完整', |
|||
// icon: 'fail' |
|||
// }) |
|||
// } else { |
|||
// data.push(obj) |
|||
// } |
|||
// }) |
|||
uni.$u.toast('校验通过') |
|||
delete form.value.member_tag_name |
|||
console.log(form.value); |
|||
xhMemprove(form.value).then((res) => { |
|||
if (res.code === 1) { |
|||
uni.showToast({ |
|||
title: '等待管理员审核', |
|||
icon: 'success', |
|||
duration: 2000 |
|||
}) |
|||
setTimeout(() => { |
|||
uni.navigateBack() |
|||
}, 2000) |
|||
} else { |
|||
uni.showToast({ |
|||
title: res.msg, |
|||
icon: 'fail', |
|||
duration: 2000 |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
}).catch(() => { |
|||
// 处理验证错误 |
|||
uni.$u.toast('请填写完整') |
|||
}) |
|||
} |
|||
|
|||
|
|||
onLoad(async (e) => { |
|||
form.value = userStore.userInfo |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.container { |
|||
background-color: #e9ecf3; |
|||
width: 100%; |
|||
height: 100vh; |
|||
overflow-y: hidden; |
|||
|
|||
.formlist { |
|||
width: 100%; |
|||
max-height: calc(100vh - 168rpx); |
|||
background: #e9ecf3; |
|||
padding: 40rpx; |
|||
box-sizing: border-box; |
|||
overflow-y: auto; |
|||
|
|||
.cardbox { |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
.input-group { |
|||
padding: 40rpx; |
|||
margin-top: 20rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
margin-bottom: 20rpx; |
|||
background-color: #e2e2e2; |
|||
} |
|||
|
|||
.inputs { |
|||
flex: 9; |
|||
} |
|||
|
|||
input { |
|||
flex: 1; |
|||
height: 80rpx; |
|||
border: 2rpx solid #ddd; |
|||
padding: 0 20rpx; |
|||
margin-right: 10rpx; |
|||
} |
|||
|
|||
.remove-btn, |
|||
.add-btn { |
|||
width: 80rpx; |
|||
height: 80rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
background: #f0f0f0; |
|||
border-radius: 8rpx; |
|||
} |
|||
|
|||
.remove-btn { |
|||
margin-left: 20rpx; |
|||
border-radius: 50%; |
|||
width: 40rpx; |
|||
height: 40rpx; |
|||
color: #ff0000; |
|||
border: 2rpx solid #ff0000; |
|||
display: flex; |
|||
align-items: flex-end; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.add-btn { |
|||
width: auto; |
|||
padding: 0 30rpx; |
|||
background: #007fff; |
|||
color: white; |
|||
margin-bottom: 60rpx; |
|||
} |
|||
|
|||
.inputclass { |
|||
margin-top: 12rpx; |
|||
margin-bottom: 36rpx; |
|||
margin-right: 0 !important; |
|||
height: 100rpx !important; |
|||
border-radius: 10rpx; |
|||
background: #ffffff; |
|||
} |
|||
|
|||
:deep(.inputplacla) { |
|||
font-family: Source Han Sans; |
|||
font-size: 24rpx; |
|||
font-weight: 350; |
|||
line-height: 32.76rpx; |
|||
letter-spacing: normal; |
|||
color: #d3d3d3; |
|||
} |
|||
|
|||
.yyzz { |
|||
margin-top: 12rpx; |
|||
width: 100%; |
|||
height: 288rpx; |
|||
border-radius: 16rpx; |
|||
background: #ffffff; |
|||
display: grid; |
|||
align-content: center; |
|||
justify-items: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 30rpx; |
|||
font-weight: 350; |
|||
line-height: 70rpx; |
|||
letter-spacing: normal; |
|||
color: #cccccc; |
|||
} |
|||
|
|||
:deep(.u-upload) { |
|||
.u-upload__wrap { |
|||
view { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.sumitbotton { |
|||
width: 100%; |
|||
height: 168rpx; |
|||
padding: 0 45px; |
|||
box-sizing: border-box; |
|||
background: #ffffff; |
|||
/* 标签栏投影 */ |
|||
box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0, 0, 0, 0.3); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
position: fixed; |
|||
bottom: 0; |
|||
|
|||
.button { |
|||
width: 50%; |
|||
height: 96rpx; |
|||
border-radius: 248rpx; |
|||
background: linear-gradient(90deg, #007fff 0%, #99ccff 100%); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 36rpx; |
|||
font-weight: 350; |
|||
color: #ffffff; |
|||
} |
|||
|
|||
.zbtx { |
|||
width: 50%; |
|||
height: 96rpx; |
|||
color: #2563EB; |
|||
font-family: Source Han Sans; |
|||
font-size: 18px; |
|||
font-weight: 350; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.yyzz { |
|||
margin-top: 12rpx; |
|||
width: 100%; |
|||
height: 288rpx; |
|||
border-radius: 16rpx; |
|||
background: #ffffff; |
|||
display: grid; |
|||
align-content: center; |
|||
justify-items: center; |
|||
font-family: Source Han Sans; |
|||
font-size: 30rpx; |
|||
font-weight: 350; |
|||
line-height: 70rpx; |
|||
letter-spacing: normal; |
|||
color: #cccccc; |
|||
} |
|||
|
|||
:deep(.u-upload) { |
|||
.u-upload__wrap { |
|||
view { |
|||
width: 100%; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
<style> |
|||
.u-input { |
|||
background-color: #ffffff; |
|||
height: 100rpx !important; |
|||
} |
|||
|
|||
.u-form-item__body__left__content__label { |
|||
white-space: nowrap; |
|||
} |
|||
</style> |
|||
|
After Width: | Height: | Size: 514 B |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 283 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 29 KiB |
Loading…
Reference in new issue