334 lines
8.4 KiB
Vue
334 lines
8.4 KiB
Vue
![]() |
<template>
|
|||
|
<view style="padding: 10px">
|
|||
|
<u-form :model="form" ref="uForm" :rules="rules">
|
|||
|
<u-form-item label="姓名"
|
|||
|
><u-input v-model="form.name" placeholder="请输入您真实姓名"
|
|||
|
/></u-form-item>
|
|||
|
<u-form-item label="性别">
|
|||
|
<u-radio-group v-model="form.sex" style="margin-left: 30px">
|
|||
|
<u-radio
|
|||
|
v-for="(item, index) in radioList"
|
|||
|
:key="index"
|
|||
|
:name="item.value"
|
|||
|
:value="item.value"
|
|||
|
:disabled="item.disabled"
|
|||
|
>
|
|||
|
{{ item.name }}
|
|||
|
</u-radio>
|
|||
|
</u-radio-group>
|
|||
|
</u-form-item>
|
|||
|
<u-form-item label="联系方式"
|
|||
|
><u-input v-model="form.contact" placeholder="请输入"
|
|||
|
/></u-form-item>
|
|||
|
<u-form-item label="店铺地址"
|
|||
|
><u-input v-model="form.residenceAddress" placeholder="请输入"
|
|||
|
/></u-form-item>
|
|||
|
<u-form-item label="营业执照">
|
|||
|
<u-upload
|
|||
|
:action="action"
|
|||
|
:header="{ accessToken: storage.getAccessToken() }"
|
|||
|
max-count="1"
|
|||
|
style="margin-left: 30px"
|
|||
|
@on-uploaded="onUploaded"
|
|||
|
></u-upload>
|
|||
|
<!-- <u-input v-model="form.businessLicense" placeholder="请输入"/> -->
|
|||
|
</u-form-item>
|
|||
|
|
|||
|
<u-form-item label="证件类别"
|
|||
|
><u-input v-model="idType" type="select" @click="show = true" />
|
|||
|
<u-action-sheet
|
|||
|
:list="actionSheetList"
|
|||
|
v-model="show"
|
|||
|
@click="actionSheetCallback"
|
|||
|
></u-action-sheet>
|
|||
|
</u-form-item>
|
|||
|
|
|||
|
<u-form-item label="证件照片">
|
|||
|
<u-upload
|
|||
|
:header="{ accessToken: storage.getAccessToken() }"
|
|||
|
max-count="2"
|
|||
|
:action="action"
|
|||
|
@on-uploaded="onUploadedtwo"
|
|||
|
style="margin-left: 30px"
|
|||
|
></u-upload>
|
|||
|
</u-form-item>
|
|||
|
<u-form-item label="证件有效期" right-icon="arrow-right">
|
|||
|
<u-input
|
|||
|
v-model="form.idExpiryDate"
|
|||
|
placeholder="请输入"
|
|||
|
@click="showtime = true"
|
|||
|
/>
|
|||
|
<u-calendar
|
|||
|
v-model="showtime"
|
|||
|
mode="date"
|
|||
|
@change="changetime"
|
|||
|
max-date="30000"
|
|||
|
></u-calendar>
|
|||
|
</u-form-item>
|
|||
|
<u-form-item label="经营范围">
|
|||
|
<u-checkbox-group
|
|||
|
@change="checkboxGroupChange"
|
|||
|
style="margin-left: 30px"
|
|||
|
>
|
|||
|
<u-checkbox
|
|||
|
v-model="item.checked"
|
|||
|
v-for="(item, index) in cateList"
|
|||
|
:key="index"
|
|||
|
:name="item.id"
|
|||
|
>{{ item.name }}</u-checkbox
|
|||
|
>
|
|||
|
</u-checkbox-group>
|
|||
|
</u-form-item>
|
|||
|
</u-form>
|
|||
|
<button @click="consub" :style="{ background: '#FE3C3C' }"
|
|||
|
class="bunem">提交</button>
|
|||
|
<u-toast ref="uToast" />
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import storage from "@/utils/storage.js";
|
|||
|
import { upload } from "@/api/common.js";
|
|||
|
import { getCategoryList, getMon } from "@/api/goods.js";
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
action: upload,
|
|||
|
storage: storage,
|
|||
|
form: {
|
|||
|
name: "",
|
|||
|
sex: "",
|
|||
|
contact: "",
|
|||
|
residenceAddress: "",
|
|||
|
businessLicense: "",
|
|||
|
idType: "",
|
|||
|
idPhoto: [],
|
|||
|
idExpiryDate: "",
|
|||
|
businessAddress: "",
|
|||
|
businessScope: "",
|
|||
|
},
|
|||
|
rules: {
|
|||
|
name: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "姓名不能为空",
|
|||
|
trigger: "blur",
|
|||
|
},
|
|||
|
],
|
|||
|
sex: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "性别不能为空",
|
|||
|
trigger: "change",
|
|||
|
},
|
|||
|
],
|
|||
|
contact: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "联系方式不能为空",
|
|||
|
trigger: "blur",
|
|||
|
},
|
|||
|
],
|
|||
|
residenceAddress: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "居住地址不能为空",
|
|||
|
trigger: "blur",
|
|||
|
},
|
|||
|
],
|
|||
|
businessLicense: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "营业执照不能为空",
|
|||
|
trigger: "change",
|
|||
|
},
|
|||
|
],
|
|||
|
idType: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "证件类别不能为空",
|
|||
|
trigger: "change",
|
|||
|
},
|
|||
|
],
|
|||
|
idPhoto: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "证件照片不能为空",
|
|||
|
trigger: "change",
|
|||
|
},
|
|||
|
],
|
|||
|
idExpiryDate: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "证件有效期不能为空",
|
|||
|
trigger: "change",
|
|||
|
},
|
|||
|
],
|
|||
|
businessAddress: [
|
|||
|
{
|
|||
|
required: true,
|
|||
|
message: "经营范围不能为空",
|
|||
|
trigger: "change",
|
|||
|
},
|
|||
|
],
|
|||
|
},
|
|||
|
idType: "",
|
|||
|
radioList: [
|
|||
|
{
|
|||
|
name: "男",
|
|||
|
disabled: false,
|
|||
|
value: "MALE",
|
|||
|
},
|
|||
|
{
|
|||
|
name: "女",
|
|||
|
disabled: false,
|
|||
|
value: "FEMALE",
|
|||
|
},
|
|||
|
],
|
|||
|
showtime: false, // 控制u-calendar的显示与隐藏
|
|||
|
show: false, // 控制actionSheet的显示与隐藏--证件
|
|||
|
// 证件
|
|||
|
actionSheetList: [
|
|||
|
{
|
|||
|
text: "身份证",
|
|||
|
value: "ID",
|
|||
|
},
|
|||
|
{
|
|||
|
text: "护照",
|
|||
|
value: "PASSPORT",
|
|||
|
},
|
|||
|
{
|
|||
|
text: "其他",
|
|||
|
value: "OTHER",
|
|||
|
},
|
|||
|
],
|
|||
|
radio: "",
|
|||
|
switchVal: false,
|
|||
|
cateList: [],
|
|||
|
};
|
|||
|
},
|
|||
|
|
|||
|
onLoad() {
|
|||
|
// 页面加载时可以初始化数据
|
|||
|
},
|
|||
|
onShow() {
|
|||
|
// 页面显示时可以执行一些操作
|
|||
|
},
|
|||
|
mounted() {
|
|||
|
this.getCategoryList(); // 调用获取分类列表的方法
|
|||
|
},
|
|||
|
methods: {
|
|||
|
//点击actionSheet回调--证件
|
|||
|
actionSheetCallback(index) {
|
|||
|
this.form.idType = this.actionSheetList[index].value;
|
|||
|
this.idType = this.actionSheetList[index].text;
|
|||
|
},
|
|||
|
consub() {
|
|||
|
const {
|
|||
|
name,
|
|||
|
sex,
|
|||
|
contact,
|
|||
|
residenceAddress,
|
|||
|
businessLicense,
|
|||
|
idType,
|
|||
|
idPhoto,
|
|||
|
idExpiryDate,
|
|||
|
businessAddress,
|
|||
|
businessScope,
|
|||
|
} = this.form;
|
|||
|
if (
|
|||
|
name == "" ||
|
|||
|
sex == "" ||
|
|||
|
contact == "" ||
|
|||
|
residenceAddress == "" ||
|
|||
|
businessLicense.length == 0 ||
|
|||
|
idType == "" ||
|
|||
|
idPhoto.length == 0 ||
|
|||
|
idExpiryDate == "" ||
|
|||
|
businessScope.length == 0
|
|||
|
) {
|
|||
|
this.$refs.uToast.show({
|
|||
|
title: "不能为空",
|
|||
|
type: "error",
|
|||
|
});
|
|||
|
} else {
|
|||
|
this.form.businessAddress = this.form.residenceAddress;
|
|||
|
getMon(this.form).then((res) => {
|
|||
|
if (res.data.code == 200) {
|
|||
|
this.$refs.uToast.show({
|
|||
|
title: "提交成功",
|
|||
|
type: "success",
|
|||
|
});
|
|||
|
setTimeout(() => {
|
|||
|
uni.switchTab({
|
|||
|
url: "/pages/tabbar/user/my",
|
|||
|
});
|
|||
|
}, 1000);
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
},
|
|||
|
onUploaded(lists) {
|
|||
|
console.log(lists); // 打印上传成功后的文件列表
|
|||
|
lists.forEach((item) => {
|
|||
|
this.form.businessLicense = item.response.result;
|
|||
|
});
|
|||
|
},
|
|||
|
onUploadedtwo(lists) {
|
|||
|
let images = [];
|
|||
|
lists.forEach((item) => {
|
|||
|
images.push(item.response.result);
|
|||
|
});
|
|||
|
this.form.idPhoto = images;
|
|||
|
},
|
|||
|
changetime(value) {
|
|||
|
console.log(value); // 打印选择的日期
|
|||
|
this.form.idExpiryDate = value.result; // 将选择的日期赋值给form.idExpiryDate
|
|||
|
},
|
|||
|
// 选中某个复选框时,由checkbox时触发
|
|||
|
checkboxChange(e) {
|
|||
|
console.log(e, "[====]");
|
|||
|
},
|
|||
|
// 选中任一checkbox时,由checkbox-group触发
|
|||
|
checkboxGroupChange(e) {
|
|||
|
this.form.businessScope = e;
|
|||
|
},
|
|||
|
|
|||
|
getCategoryList() {
|
|||
|
getCategoryList(0).then((res) => {
|
|||
|
res.data.result.forEach((item) => {
|
|||
|
item.checked = false; // 初始化每个项目的checked属性为false
|
|||
|
});
|
|||
|
this.cateList = res.data.result;
|
|||
|
});
|
|||
|
},
|
|||
|
},
|
|||
|
};
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss" scoped>
|
|||
|
::v-deep {
|
|||
|
.u-form-item--left__content {
|
|||
|
width: 100px;
|
|||
|
white-space: nowrap;
|
|||
|
}
|
|||
|
.u-input {
|
|||
|
margin-left: 30px; // 可根据实际情况调整这个值
|
|||
|
}
|
|||
|
.u-checkbox__icon-wrap--checked{
|
|||
|
border-color: #fe3c3c !important;
|
|||
|
background-color: #fe3c3c !important;
|
|||
|
}
|
|||
|
}
|
|||
|
.bunem {
|
|||
|
width: 309px;
|
|||
|
margin-top: 20px;
|
|||
|
height: 41px;
|
|||
|
font-size: 15px;
|
|||
|
line-height: 41px;
|
|||
|
text-align: center;
|
|||
|
color: #ffffff;
|
|||
|
margin-bottom: 35px;
|
|||
|
}
|
|||
|
</style>
|