Commit dc8a2862 authored by 杨梦雪's avatar 杨梦雪

11

parent 7d222daf
......@@ -11,7 +11,7 @@ export function setAddress(data) {
return request({
method: 'post',
url: '/web/download/setAddress ',
params: data
data
})
}
// 获取地址
......@@ -20,7 +20,6 @@ export function getAddress(data) {
return request({
method: 'post',
url: '/web/download/getAddress ',
params: data
data
})
}
......@@ -13,13 +13,15 @@
<!-- </div> -->
<div class="content">
<div class="top">
<div class="p_title">恭喜你顺利结业!点击【获取营地证书】确认收货地址,证书将以纸质形式邮寄上门</div>
<div class="p_title">
恭喜你顺利结业!点击【获取营地证书】确认收货地址,证书将以纸质形式邮寄上门
</div>
<div>
<img src="@/assets/img/signUp/offer.png" alt="" />
</div>
<div class="btn">
<el-button @click="getAddress">获得营地证书</el-button>
<el-button @click="getCertifi">获得营地证书</el-button>
</div>
</div>
......@@ -34,19 +36,24 @@
</div>
</div>
<!-- 确认收货地址对话框 -->
<el-dialog title="确认收货地址" :visible.sync="dialogVisible" width="40%">
<el-dialog
title="确认收货地址"
:visible.sync="dialogVisible"
width="40%"
@open="getAddress"
>
<el-form ref="addressRef" :model="addressForm" :rules="addressRules">
<el-form-item label="收件人" prop="name">
<el-form-item label="收件人" prop="certificate_name">
<el-input
v-model="addressForm.name"
v-model="addressForm.certificate_name"
placeholder="填写真实姓名"
size="small"
clearable
></el-input>
</el-form-item>
<el-form-item label="收件人电话" prop="phone">
<el-form-item label="收件人电话" prop="certificate_phone">
<el-input
v-model="addressForm.phone"
v-model="addressForm.certificate_phone"
placeholder="填写真实电话"
size="small"
clearable
......@@ -54,13 +61,13 @@
</el-form-item>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="收货地址" prop="province">
<el-form-item label="收货地址" prop="certificate_province">
<el-select
ref="province"
v-model="addressForm.province"
ref="certificate_province"
v-model="addressForm.certificate_province"
clearable
placeholder="选择省份"
@change="changeProvince(2, $event)"
@change="changeProvince($event)"
>
<el-option
v-for="item in selectProvince"
......@@ -73,13 +80,12 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="no_label" label=" " prop="city">
<el-form-item class="no_label" label=" " prop="certificate_city">
<el-select
ref="city"
v-model="addressForm.city"
ref="certificate_city"
v-model="addressForm.certificate_city"
clearable
placeholder="选择城市"
@change="changeCity($event)"
>
<el-option
v-for="item in selectCitySchool"
......@@ -92,8 +98,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="no_label" label=" " prop="school">
<el-select
<el-form-item class="no_label" label=" " prop="county">
<!-- <el-select
ref="school"
v-model="addressForm.school"
clearable
......@@ -106,24 +112,30 @@
:value="item.id"
>
</el-option>
</el-select>
</el-select> -->
<el-input
v-model="county"
placeholder="选择所在区县"
size="small"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="" prop="detail_address">
<el-form-item label="" prop="certificate_address">
<el-input
v-model="addressForm.detail_address"
ref="certificate_address"
v-model="certificate_address"
placeholder="填写详细地址"
size="small"
clearable
@change="getCertificate_address"
></el-input>
</el-form-item>
</el-form>
<div class="btn">
<el-button type="primary" @click="dialogVisible = false"
>确 定</el-button
>
<el-button type="primary" @click="setAddress()">确 定</el-button>
</div>
</el-dialog>
</div>
......@@ -131,8 +143,8 @@
<script>
/* eslint-disable */
import { getProAndCity, getSchool } from "r/index/signUp";
import { setAddress,getAddress} from "r/index/certificate";
import { getProAndCity } from "r/index/signUp";
import { setAddress, getAddress } from "r/index/certificate";
import validator from "common/validator";
export default {
......@@ -142,8 +154,10 @@ export default {
return {
dialogVisible: false, //确认收货地址对话框
addressRules: {
name: [{ required: true, message: "姓名不能为空!", trigger: "blur" }],
phone: [
certificate_name: [
{ required: true, message: "姓名不能为空!", trigger: "blur" },
],
certificate_phone: [
{
required: true,
message: "手机号不能为空!",
......@@ -151,54 +165,77 @@ export default {
},
{ validator: validator.validatePhone, trigger: "blur" },
],
province: [
certificate_province: [
{
required: true,
message: "请选择所在学校省份!",
trigger: "change",
},
],
city: [
certificate_city: [
{
required: true,
message: "请选择所在学校城市!",
trigger: "change",
},
],
school: [
{ required: true, message: "请选择所在学校!", trigger: "change" },
county: [
{ required: true, message: "请选择所在区县!", trigger: "blur" },
],
detail_address: [
certificate_address: [
{ required: true, message: "详细地址不能为空!", trigger: "blur" },
],
},
addressForm: {
name: "",
phone: "",
province: null,
city: null,
school: null,
detail_address: "",
certificate_name: "",
certificate_phone: "",
certificate_province: null,
certificate_city: null,
certificate_address: "",
},
county: "", //区县
certificate_address: "", //详细地址
selectProvince: [], //省份
CityName: {}, //根据省份筛选出所有城市的对象
selectCityJiguan: [], //籍贯城市列表
selectCitySchool: [], //就读中学-城市列表
selectSchoolList: [], //就读中学-中学列表
jgProvinceCode: "", //省份id
jiguan_city: "", //城市id(和省份id拼接)
};
},
created() {
this.getSchool();
this.getProAndCity();
// this.getAddress();
},
watch: {},
methods: {
getAddress() {
// console.log(111111)
getAddress({}).then((res) => {
// console.log(res, "getAddress");
if (res.data.code != 200) {
return this.$message.error(res.data.message);
}
this.addressForm.certificate_name = res.data.info.certificate_name;
this.addressForm.certificate_phone = res.data.info.certificate_phone;
this.addressForm.certificate_province =
res.data.info.certificate_province;
this.addressForm.certificate_city = res.data.info.certificate_city;
this.getCurrentCityLists(this.addressForm.certificate_city, true);
this.county = res.data.info.certificate_address.split("-")[0];
this.certificate_address =
res.data.info.certificate_address.split("-")[1];
// console.log(res.data.info.certificate_address.split("-"))
});
},
getCertifi() {
this.dialogVisible = true;
},
getCertificate_address() {
this.addressForm.certificate_address =
this.county.toString() + "-" + this.certificate_address.toString();
},
// 获取省份城市
getProAndCity() {
getProAndCity({}).then((res) => {
......@@ -211,38 +248,20 @@ export default {
// console.log(this.selectProvince, this.CityName);
});
},
// getAddress() {
// getAddress({}).then((res) => {
// // console.log(res, "getProAndCity");
// if (res.data.code != 200) {
// return this.$message.error(res.data.message);
// }
// });
// },
//选择籍贯省份change事件
changeProvince(type, val, status) {
// console.log(type, val);
if (type == 1) {
this.selectCityJiguan = [];
this.selectCityJiguan = this.getCurrentCityLists(val);
if (!status) {
this.jiguan_city = "";
this.addressForm.jiguan_code = "";
}
} else {
changeProvince(val, status) {
console.log(val);
this.selectCitySchool = [];
this.selectCitySchool = this.getCurrentCityLists(val); //在此调用城市筛选列表
if (!status) {
this.addressForm.city = "";
this.addressForm.school = "";
this.selectSchoolList = []; //重新选择省份时候,学校list清空
}
this.addressForm.certificate_city = "";
}
},
//返回当前省份下的城市列表
getCurrentCityLists(val) {
console.log(val)
let currentCity = [];
if (
this.CityName == null ||
......@@ -255,6 +274,7 @@ export default {
if (res.data.code === 200) {
// this.selectProvince = res.data.province_list;
this.CityName = res.data.city_list;
console.log(this.CityName)
for (let key in this.CityName) {
if (this.CityName[key].parent_id == val) {
......@@ -279,73 +299,22 @@ export default {
}
return currentCity;
},
// 籍贯城市change事件
getJiguan() {
this.addressForm.jiguan_code =
this.jgProvinceCode.toString() + this.jiguan_city.toString();
},
getSchool() {
getSchool({}).then((res) => {
// console.log(res, "getSchool");
if (res.data.code != 200) {
return this.$message.error(res.data.message);
// 提交
setAddress() {
this.$refs["addressRef"].validate((valid, object) => {
console.log(valid, "valid");
if (!valid) {
return false;
}
this.schoolName = res.data.school_list;
});
},
// 学校城市change事件
changeCity(val, status) {
// console.log(12345333,val,status)
this.selectSchoolList = [];
this.selectSchoolList = this.getCurrentSchoolLists(val);
if (!status) {
this.addressForm.school = "";
}
},
// 返回当前城市下的学校列表
getCurrentSchoolLists(val) {
let currentSchool = [];
// console.log(this.schoolName);
if (
this.schoolName == null ||
!this.schoolName ||
Object.values(this.schoolName).length == 0
) {
getSchool({})
.then((res) => {
// console.log(res)
if (res.data.code === 200) {
this.schoolName = res.data.school_list;
let code = this.$store.state.indexIdentity;
window.localStorage.setItem(
"schoolName" + code,
JSON.stringify(res.data.list)
);
for (let key in this.schoolName) {
if (this.schoolName[key].city_id == val) {
currentSchool.push(this.schoolName[key]);
}
}
return currentSchool;
} else {
this.$message.error(res.data.message);
setAddress(this.addressForm).then((res) => {
// console.log(res, "setAddress");
if (res.data.code != 200) {
return this.$message.error(res.data.message);
}
})
.catch((err) => {
this.$message.error(err);
this.$message.success(res.data.message);
this.dialogVisible = false;
});
} else {
// console.log(this.schoolName, 111);
for (let key in this.schoolName) {
// console.log(key, this.schoolName[key]);
if (this.schoolName[key].city_id == val) {
currentSchool.push(this.schoolName[key]);
}
}
// console.log(currentSchool, 222);
return currentSchool;
}
return currentSchool;
},
},
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment