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

11

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