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

11

parent eaa77b37
......@@ -2,7 +2,7 @@
<div class="Header">
<div class="H_content com-container">
<div class="image">
<img :src="system_logo" alt=""/>
<img :src="system_logo" alt="" />
</div>
<div class="right" v-if="!isLogin">
<span
......@@ -21,7 +21,7 @@
<div class="right alreadyLogin" v-else>
<el-dropdown @command="handleCommand" trigger="click">
<div class="el-dropdown-link">
<img src="@/assets/img/default.svg" class="img_user"/>
<img src="@/assets/img/default.svg" class="img_user" />
<span class="phone">{{ phone }}</span>
<i class="el-icon-arrow-down el-icon--right"></i>
</div>
......@@ -32,8 +32,7 @@
> -->
<el-dropdown-item command="2" @click="logout">
<i class="el-icon-switch-button"></i>退出
</el-dropdown-item
>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
......@@ -41,11 +40,11 @@
</div>
</template>
<script>
/* eslint-disable */
import Cookie from "js-cookie";
import {logout} from "r/index/login";
/* eslint-disable */
import Cookie from "js-cookie";
import { logout } from "r/index/login";
export default {
export default {
name: "Header",
data() {
return {
......@@ -97,7 +96,6 @@
// 清除本地缓存除了大学logo
// window.localStorage.clear();
let code = this.$store.state.indexIdentity;
window.localStorage.removeItem("doubt_code" + code);
window.localStorage.removeItem("doubt_info" + code);
window.localStorage.removeItem("doubt_check" + code);
......@@ -113,26 +111,36 @@
window.localStorage.removeItem("bk_pic" + code);
window.localStorage.removeItem("examine_status" + code);
window.localStorage.removeItem("examine_reason" + code);
window.localStorage.removeItem("sign_up_file_18355151517" + code);
window.localStorage.removeItem(
"sign_up_file_18355151517" +
window.localStorage.getItem("phone" + code) +
code
);
window.localStorage.removeItem("schoolName" + code);
window.localStorage.removeItem("camp_statement" + code);
// window.localStorage.removeItem("restet_code_time" + code, )
window.localStorage.removeItem("transfer_account" + code);
window.localStorage.removeItem("payee" + code);
window.localStorage.removeItem("bank_first" + code);
window.localStorage.removeItem("bank_idcard" + code);
window.localStorage.removeItem(
"bank_info" + window.localStorage.getItem("phone" + code) + code
);
this.isLogin = false;
this.$message.success('退出成功');
this.$message.success("退出成功");
await logout({});
},
onMouserEnter(val) {
this.isHover = val;
},
},
};
};
</script>
<style lang="scss" scoped>
@import "a/scss/common";
@import "a/scss/common";
.Header {
.Header {
font-family: PingFang SC;
height: 80px;
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.12);
......@@ -201,5 +209,5 @@
}
}
}
}
}
</style>
......@@ -81,20 +81,96 @@
:confirmSignUpDialogFu="confirmSignUpDialogFu"
@closeCFSUDialog="closeCFSUDialog"
></confirm-sign-up>
<!-- 上传付款材料 -->
<el-dialog
title="银行卡支付"
:visible.sync="bankDialogVisible"
width="30%"
:before-close="handleClose"
>
<div>收款单位:清华大学</div>
<div>银行卡号:0200004509089131550</div>
<div>开户行:工行北京分行海淀西区支行</div>
<div>上传转账截图</div>
<div class="image_add">
<div class="image_in">
<el-upload
ref="imgUrl"
name="multipartFile"
list-type="picture-card"
:disabled="isUploading || fileList.length >= 10"
action="#"
accept=".jpg,.jpeg,.png"
:limit="1"
:file-list="fileList"
:before-upload="beforeAvatarUpload"
:on-progress="handleUploadProgress"
:on-success="uploadSuccess"
:http-request="uploadPicture"
>
<i style="font-size: 44px" class="el-icon-circle-plus"> </i>
<!-- <div class="text">上传材料</div> -->
<!-- <div slot="file" slot-scope="{ file }"> -->
<div v-for="(item, idx) in fileList" :key="idx">
<img
class="el-upload-list__item-thumbnail"
:src="file.url"
alt=""
/>
<span class="el-upload-list__item-actions">
<span
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"></i>
</span>
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleDownload(file)"
>
<i class="el-icon-download"></i>
</span>
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete"></i>
</span>
</span>
</div>
<!-- </div> -->
</el-upload>
</div>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="resultPicture" alt="" />
</el-dialog>
</div>
<div>*注:请在附言栏中注明“21069363021+学生姓名”字样</div>
<span slot="footer" class="dialog-footer">
<el-button @click="bankDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="uploadConfirm">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
/* eslint-disable */
import ConfirmSignUp from "c/index/SignUp/ConfirmSignUp";
import { SERVER_WS_URL } from "@/config/server";
import {
SERVER_WS_URL
} from '@/config/server'
import { getAccount } from "r/index/signUp";
import { signUpInit } from "r/index/signUp";
signUpInit,
getAccount,
getBankInfoOss,
delPayingPic,
} from "r/index/signUp";
import { getWxConfig } from "r/index/pay";
import { upload } from "r/index/network";
export default {
name: "Paying",
......@@ -105,18 +181,40 @@ export default {
return {
dialogChoose: false, //付款方式选择
confirmSignUpDialogFu: false, // 控制确认报名弹框的显示与隐藏
bankDialogVisible: false, //上传银行截图弹框的显示与隐藏
personalInfo: {},
camp_name: "", //营地名称
has_amount: "", //支付金额
status: "", //状态
status_wx: "", //状态
type: "", //状态
//支付状态判断
transfer_account: window.localStorage.getItem(
"transfer_account" + this.$store.state.indexIdentity
),
isUploading: false, // 图片上传蒙层
dialogVisible: false,
fileList: [],
file: "",
file_image: {},
resultPicture: "",
disabled: false, //限制输入框
};
},
created() {
const code = this.$store.state.indexIdentity;
this.camp_name = window.localStorage.getItem("camp_name" + code);
this.has_amount = window.localStorage.getItem("has_amount" + code);
// 已上传的银行付款图片
let bank_infoFile = window.localStorage.getItem(
"bank_info" + window.localStorage.getItem("phone" + code) + code
);
console.log(bank_infoFile, "bank_infoFile");
if (bank_infoFile && JSON.parse(bank_infoFile).length > 0) {
console.log(JSON.parse(bank_infoFile));
this.fileList = JSON.parse(bank_infoFile);
}
this.getAccount();
},
methods: {
......@@ -305,7 +403,11 @@ export default {
},
paying() {
if (this.transfer_account == 0) {
this.dialogChoose = true;
} else {
this.bankDialogVisible = true;
}
},
signUpInit(status_wx) {
signUpInit({}).then((res) => {
......@@ -356,6 +458,178 @@ export default {
// this.personalInfo.create_time = parseTime(res.data.info.create_time);
});
},
// 图片上传成功前钩子
beforeAvatarUpload(file) {
// console.log(file, "beforeImage");
const isJPG = file.type === "image/jpg";
const isPng = file.type === "image/png";
const isJPEG = file.type === "image/jpeg";
const isLt10M = file.size / 1024 / 1024 < 10;
// console.log(isLt10M)
if (!isJPG && !isPng && !isJPEG) {
this.$message.info("上传图片只能是 JPG,JPEG或png 格式!");
}
if (!isLt10M) {
this.$message.info("上传图片大小不能超过 10MB!");
}
return (isJPG || isPng || isJPEG) && isLt10M;
},
handlePictureCardPreview(file) {
console.log(file, "11111111");
this.resultPicture = file.url;
this.bankDialogVisible = true;
},
// 文件上传中处理
handleUploadProgress(event, file, fileList) {
// console.log(fileList);
this.isUploading = true;
if (this.fileList.lenge < 1) {
return this.$message.info("超过上传数量");
}
},
uploadSuccess(res, file, fileList) {
// console.log(res, "res");
// console.log(file, "file");
// console.log(fileList, "fileList");
this.referForm.achievementPath = res;
this.fileList = {
name: file.name,
url: res,
};
this.$refs["imgUrl"].clearFiles(); //上传成功之后清除历史记录
},
uploadPicture(params) {
// console.log("已经准备好上传图片", params);
this.file = params.file;
let raw = params.file;
let image = {
name: raw.name,
size: raw.size,
type: raw.type,
};
this.file_image = image;
// this.getOssConfigs(image, params.file);
},
// 上传截图
uploadConfirm() {
this.bankDialogVisible = false;
// this.$message.success("你的支付信息已提交,请留意短信通知。");
this.getOssConfigs(this.file_image, this.file);
},
async getOssConfigs(image, file) {
let obj = {
url: "",
savefile: "",
};
await getBankInfoOss({ image: image })
.then((res) => {
console.log(res, "开始上传图片");
if (res.data.code === 200) {
let oss_url = res.data.config.host;
let filename = res.data.config.file;
let formData = new FormData();
formData.append("OSSAccessKeyId", res.data.config.accessid);
formData.append("policy", res.data.config.policy);
formData.append("signature", res.data.config.signature);
formData.append("filename", res.data.config.file);
formData.append("key", res.data.config.savefile);
formData.append("callback", res.data.config.callback);
formData.append("success_action_status", 200);
formData.append("file", file);
// console.log(formData);
upload(oss_url, formData)
.then((ress) => {
console.log(555555555);
console.log(ress, "ress");
if (ress.data.code != 200) {
return this.$message.error(ress.data.message);
}
this.resultPicture = filename + "?t=" + Date.parse(new Date());
this.$forceUpdate();
this.$message.success("上传成功");
obj = {
url: ress.data.picture_path,
savefile: res.data.config.savefile,
};
this.fileList.push(obj);
let code = this.$store.state.indexIdentity;
window.localStorage.setItem(
"sign_up_payfile_" +
+window.localStorage.getItem("phone" + code) +
code,
JSON.stringify(this.fileList)
);
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error(res.data.message);
}
})
.catch((err) => {
// console.log(err);
});
},
// 下载证明资料图片
handleDownload(file) {
// console.log(file,'file22');
window.location.href = file.url;
},
//删除图片
handleRemove(file) {
console.log(file, "file");
this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let getfile = file.url;
// console.log(savefile.match(/^(?:[^\/]|\/\/)*/),'222222');//获取域名
let str = getfile.split(
"https://yingdi-bank-info.oss-cn-beijing.aliyuncs.com/"
); //https://yingdi-achievement.oss-cn-beijing.aliyuncs.com/进行分割,
// console.log(str, "str");
let savefile = str[1];
// console.log(savefile, "savefile");
delPayingPic({ object: savefile }).then((res) => {
// console.log(res, "delpic");
if (res.data.code != 200) {
return this.$message.error(res.data.message);
}
this.fileList.forEach((item, idx) => {
// console.log(item.url == file.url);
if (item.url == file.url) {
this.fileList.splice(idx, 1);
let code = this.$store.state.indexIdentity;
window.localStorage.setItem(
"sign_up_payfile_" +
window.localStorage.getItem("phone" + code) +
code,
JSON.stringify(this.fileList)
);
this.$message.success(res.data.message);
window.localStorage.removeItem(
"bank_info" +
window.localStorage.getItem("phone" + code) +
code
);
}
});
// console.log(this.fileList);
});
})
.catch((err) => {
this.$message({
type: "info",
message: "取消删除",
});
});
},
},
};
</script>
......
<template>
<div class="referInfo">
<!-- <el-form
v-if="$store.state.indexIdentity == '6c6884d1c83040ee8ca17736a8d67b93'"
ref="referRef"
:model="referForm"
label-position="top"
class="checkForm"
:rules="referInfoRules"
> -->
<el-form
v-if="$store.state.indexIdentity == 'c432d9028b2840ebbbfd56947b38069b'"
ref="referRef"
:model="referForm"
label-position="top"
......@@ -143,10 +152,10 @@
v-model="referForm.country"
placeholder="国籍"
:popper-append-to-body="false"
@change="changeCountry($event)"
filterable
>
<el-option
v-for="(item,index) in countryList"
v-for="(item, index) in countryList"
:key="index"
:label="item.label"
:value="item.label"
......@@ -255,7 +264,243 @@
</el-col>
</el-row>
<!-- <div class="cont_title">学校信息</div>
<el-form-item class="btn">
<el-button @click="confirm">提交资料</el-button>
</el-form-item>
</el-form>
<el-form
v-else
ref="referRef"
:model="referForm"
label-position="top"
class="checkForm"
:rules="referInfoRules"
>
<div class="cont_title">个人信息</div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="姓名" prop="name">
<el-input
ref="name"
v-model="referForm.name"
placeholder="填写真实姓名"
size="small"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" prop="gender">
<el-radio-group
v-model="referForm.gender"
ref="gender"
size="small"
>
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="id_card">
<el-input
ref="id_card"
v-model="referForm.id_card"
placeholder="填写真实身份证号"
size="small"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生日期" prop="birthday">
<el-row :gutter="20">
<el-col :span="8">
<el-select
v-model="bdYear"
placeholder="年"
:popper-append-to-body="false"
>
<el-option
v-for="(item, index) in yearArrs"
:key="index"
:label="item"
:value="item"
>
</el-option>
</el-select>
</el-col>
<el-col :span="8">
<el-select
v-model="bdMonth"
placeholder="月"
:popper-append-to-body="false"
>
<el-option
v-for="(item, index) in monthArrs"
:key="index"
:label="item"
:value="item"
>
</el-option>
</el-select>
</el-col>
<el-col :span="8">
<el-select
ref="birthday"
v-model="bdDay"
placeholder="日"
:popper-append-to-body="false"
@change="getTime"
>
<el-option
v-for="(item, index) in dayArrs"
:key="index"
:label="item"
:value="item"
>
</el-option>
</el-select>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="籍贯" prop="jiguan_code">
<el-row :gutter="20">
<el-col :span="12">
<!-- @keyup.enter.native="selsectProvince" -->
<el-select
v-model="jgProvinceCode"
placeholder="省"
:popper-append-to-body="false"
@change="changeProvince(1, $event)"
>
<el-option
v-for="item in selectProvince"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-col>
<el-col :span="12">
<el-select
ref="jiguan_code"
v-model="jiguan_city"
placeholder="市"
:popper-append-to-body="false"
@change="getJiguan()"
>
<el-option
v-for="item in selectCityJiguan"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="民族" prop="nation">
<el-input
ref="nation"
v-model="referForm.nation"
placeholder="填写民族"
size="small"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="入学年份" prop="start_school_date">
<el-row :gutter="20">
<el-col :span="12">
<el-select
v-model="start_grade"
placeholder="年级"
:popper-append-to-body="false"
clearable
>
<el-option
v-for="(item, index) in gradeArrs"
:key="index"
:label="item"
:value="item"
>
</el-option>
</el-select>
</el-col>
<el-col :span="12">
<el-select
ref="start_school_date"
v-model="start_year"
placeholder="年份"
clearable
:popper-append-to-body="false"
@change="getyear()"
>
<el-option
v-for="(item, index) in yearArrs"
:key="index"
:label="item"
:value="item"
>
</el-option>
</el-select>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="政治面貌" prop="political_status">
<el-select
ref="political_status"
v-model="referForm.political_status"
placeholder="填写政治面貌"
:popper-append-to-body="false"
clearable
>
<el-option
v-for="item in political_status"
:key="item.id"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号">
<el-input
v-model="referForm.phone"
placeholder="请输入手机号"
size="small"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电子邮箱" prop="email">
<el-input
v-model="referForm.email"
placeholder="填写电子邮箱"
size="small"
/>
</el-form-item>
</el-col>
</el-row>
<div class="cont_title">学校信息</div>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="就读中学" prop="school_province">
......@@ -314,18 +559,11 @@
:value="item.id"
>
</el-option>
</el-select> -->
<!-- <el-autocomplete
ref="school"
v-model="referForm.school"
:fetch-suggestions="querySearchAsync"
placeholder="中学"
@select="handleSelect"
></el-autocomplete> -->
<!-- </el-form-item>
</el-col> -->
</el-select>
</el-form-item>
</el-col>
<!-- <div class="tipsMsg">
<div class="tipsMsg">
如果没有您所在学校,请联系邮箱:ydhdservice@163.com
</div>
<el-col :span="12">
......@@ -350,9 +588,9 @@
/>
</el-form-item>
</el-col>
</el-row> -->
</el-row>
<!-- <div class="cont_title">学习成绩证明材料</div>
<div class="cont_title">学习成绩证明材料</div>
<el-form-item
label="上传申请资料图片"
prop="backgroundPicture"
......@@ -380,11 +618,11 @@
:on-success="uploadSuccess"
:http-request="uploadPicture"
>
<i style="font-size: 44px" class="el-icon-circle-plus"> </i> -->
<i style="font-size: 44px" class="el-icon-circle-plus"> </i>
<!-- <div class="text">上传材料</div> -->
<!-- <div slot="file" slot-scope="{ file }"> -->
<!-- <div v-for="(item, idx) in fileList" :key="idx"> -->
<!-- <img
<div slot="file" slot-scope="{ file }">
<div v-for="(item, idx) in fileList" :key="idx">
<img
class="el-upload-list__item-thumbnail"
:src="file.url"
alt=""
......@@ -412,6 +650,7 @@
</span>
</span>
</div>
</div>
</el-upload>
</div>
......@@ -419,7 +658,7 @@
<img width="100%" :src="resultPicture" alt="" />
</el-dialog>
</div>
</el-form-item> -->
</el-form-item>
<el-form-item class="btn">
<el-button @click="confirm">提交资料</el-button>
......@@ -507,7 +746,7 @@ export default {
{
required: true,
message: "国籍不能为空!",
trigger: "blur",
trigger: "change",
},
],
nation: [
......@@ -775,9 +1014,7 @@ export default {
// console.log(this.referForm.birthday);
},
// 国籍
changeCountry(val){
console.log(val)
},
//组装入学年份
getyear() {
this.referForm.start_school_date =
......@@ -936,35 +1173,6 @@ console.log(val)
return currentSchool;
},
// 中学学校(模糊搜索)
// querySearchAsync(queryString, cb) {
// console.log(queryString, "queryString");
// console.log(this.restaurants, "this.restaurants");
// var restaurants = this.restaurants;
// console.log(restaurants, "restaurants");
// var results = queryString
// ? restaurants.filter(this.createStateFilter(queryString))
// : restaurants;
// console.log(results, "results");
// clearTimeout(this.timeout);
// this.timeout = setTimeout(() => {
// cb(results);
// }, 3000 * Math.random());
// },
// createStateFilter(queryString) {
// console.log(queryString, "queryString");
// return (state) => {
// console.log(state, "state");
// // state.name.indexOf(queryString) === 0;
// return state.value.indexOf(queryString) === 0;
// };
// },
// handleSelect(item) {
// console.log(item);
// this.school = item.name;
// },
// 图片上传成功前钩子
beforeAvatarUpload(file) {
// console.log(file, "beforeImage");
......
......@@ -221,10 +221,21 @@ export function request(config) {
window.localStorage.removeItem("bk_pic" + code);
window.localStorage.removeItem("examine_status" + code);
window.localStorage.removeItem("examine_reason" + code);
window.localStorage.removeItem("sign_up_file_18355151517" + code);
window.localStorage.removeItem(
"sign_up_file_18355151517" +
window.localStorage.getItem("phone" + code) +
code
);
window.localStorage.removeItem("schoolName" + code);
window.localStorage.removeItem("restet_code_time" + code);
window.localStorage.removeItem("camp_statement" + code)
window.localStorage.removeItem("transfer_account" + code);
window.localStorage.removeItem("payee" + code);
window.localStorage.removeItem("bank_first" + code);
window.localStorage.removeItem("bank_idcard" + code);
window.localStorage.removeItem(
"bank_info" + window.localStorage.getItem("phone" + code) + code
);
router.push({
path: '/' + store.state.indexIdentity,
})
......@@ -253,8 +264,19 @@ export function request(config) {
window.localStorage.removeItem("bk_pic" + code);
window.localStorage.removeItem("examine_status" + code);
window.localStorage.removeItem("examine_reason" + code);
window.localStorage.removeItem("sign_up_file_18355151517" + code);
window.localStorage.removeItem(
"sign_up_file_18355151517" +
window.localStorage.getItem("phone" + code) +
code
);
window.localStorage.removeItem("schoolName" + code);
window.localStorage.removeItem("transfer_account" + code);
window.localStorage.removeItem("payee" + code);
window.localStorage.removeItem("bank_first" + code);
window.localStorage.removeItem("bank_idcard" + code);
window.localStorage.removeItem(
"bank_info" + window.localStorage.getItem("phone" + code) + code
);
router.push({
path: '/login',
query: {
......
......@@ -74,6 +74,26 @@ export function delPic(data) {
})
}
// 上传缴费图片
export function getBankInfoOss(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/signUp/getBankInfoOss',
data
})
}
// 删除缴费图片
export function delPayingPic(data) {
data['identity'] = store.state.indexIdentity;
return request({
method: 'post',
url: '/web/signUp/delPic',
params: data
})
}
// 页面个人信息保存
export function setAccount(data) {
data['identity'] = store.state.indexIdentity;
......
......@@ -134,6 +134,13 @@ function checkCam(code, cb) {
"doubt_check" + code,
res.data.audit_individual_information
); //是否审核个人资料
// 判断使用微信二维码付款/上传转账截图
window.localStorage.setItem("transfer_account" + code, res.data.transfer_account);
if (res.data.transfer_account == 1) {
window.localStorage.setItem("payee" + code, res.data.payee); //收款单位
window.localStorage.setItem("bank_first" + code, res.data.bank_first); //开户行
window.localStorage.setItem("bank_idcard" + code, res.data.bank_idcard); //银行卡号
}
store.state.info = res.data;
cb && cb(true);
}).catch(() => {
......
......@@ -311,6 +311,28 @@ export default {
JSON.stringify(fileList)
); //上传的图片
}
// 银行截图
const bank_Path = res.data.bank_info;
if (bank_Path) {
let arr = bank_Path.split(" ");
// console.log(arr)
let fileList = [];
fileList = arr.map((item) => {
let obj = {
url: item,
};
return obj;
});
// console.log(fileList)
// console.log(JSON.stringify(fileList))
// let code = this.$store.state.indexIdentity;
window.localStorage.setItem(
"bank_info" + window.localStorage.getItem("phone" + code) + code,
JSON.stringify(fileList)
); //上传的图片
}
});
},
},
......
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