Commit 8f42f0fd authored by 黄奎's avatar 黄奎

页面修改

parent 74fc3448
......@@ -712,7 +712,6 @@
}
},
created() {
console.log(this.saveObj)
if (this.saveObj.tab) {
this.tab = (this.saveObj.tab).toString();
}
......
......@@ -1737,7 +1737,6 @@
})
},
studyabroadorderconfirmation(item) { //留学订单确认
console.log(item)
let that = this
this.$q.dialog({
title: '提示信息',
......
......@@ -230,7 +230,6 @@
CustomerId: this.customerObj.CustomerId
}
GetCustomer(msg).then(res => {
console.log(res,'数据');
if (res.Code == 1) {
let tempData = res.Data;
this.objOption.CustomerId = tempData.CustomerId;
......
......@@ -64,7 +64,6 @@
this.getEmployeeList();
},
mounted() {
console.log("this.saveObj",this.saveObj)
if (this.saveObj && this.saveObj.Id > 0) {
this.objOption.Id = this.saveObj.Id;
this.objOption.CreateBy = this.saveObj.CreateBy;
......
......@@ -142,7 +142,6 @@ export default {
e.TeacherId = e.Teacher_Id;
delete e.Teacher_Id;
});
console.log(this.dataList);
setFeedBack(this.dataList)
.then((res) => {
this.saveLoading = false;
......@@ -161,7 +160,6 @@ export default {
});
},
uploadFile(files, index) {
console.log(files, index, this.dataList);
let type =
files.type.indexOf("video") != -1 || files.type.indexOf("image") != -1;
if (type) {
......
......@@ -239,8 +239,7 @@
</div>
<div style="display: flex;align-items: center;margin-left: 10px;">
<span>¥:</span>
<span class="sjbox_l_t_x" style="width: 200px"
:class="[name==1?'':'color_bt']">{{GetDetail.Money}}</span>
<span class="sjbox_l_t_x" style="width: 200px" :class="[name==1?'':'color_bt']">{{GetDetail.Money}}</span>
</div>
</div>
<div class="sjbox_l_t" style="margin-top: 30px;">
......@@ -249,7 +248,8 @@
</div>
</div>
<div style="display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;" v-if="name==1">
<div style="display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;"
v-if="name==1">
<div></div>
<div></div>
<div></div>
......@@ -260,7 +260,8 @@
<div></div>
<div></div>
</div>
<div style="display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;" v-if="name==2">
<div style="display: flex;flex-direction: column;align-items: center;width: 20px;line-height: 17px;"
v-if="name==2">
<div></div>
<div></div>
<div></div>
......@@ -311,9 +312,22 @@
currentMoney: 0,
benMoney: 0,
GetDetail: {},
AuditSteps: [{ Id: 1, Name: '单位盖章' }, { Id: 2, Name: '出纳' }, { Id: 3, Name: '交款方式' }, { Id: 4, Name: '开票人' },],
AuditSteps: [{
Id: 1,
Name: '单位盖章'
}, {
Id: 2,
Name: '出纳'
}, {
Id: 3,
Name: '交款方式'
}, {
Id: 4,
Name: '开票人'
}, ],
}
}, created() {
},
created() {
let date = new Date(),
y = date.getFullYear(),
m = date.getMonth() < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1,
......@@ -322,7 +336,8 @@
min = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
s = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
this.printTime = y + '' + m + '' + d + ' ' + h + ':' + min + ':' + s;
}, methods: {
},
methods: {
sendMsg() {
this.$emit('helloPP', '1')
},
......@@ -341,21 +356,22 @@
Financial_post_GetDetail(id) { //获取单据详情
if (!id) return;
this.loading = true;
getReceiptInfoForFinanceId({ FinanceId: id }).then(res => {
getReceiptInfoForFinanceId({
FinanceId: id
}).then(res => {
if (res.Code == 1) {
this.loading = false;
let data = res.Data;
data.ChinesePayMoney = this.$commonUtils.changeMoneyToChinese(data.Money)
data.Money = this.$commonUtils.addCommas(Math.round(data.Money * 100) / 100)
this.GetDetail = data;
console.log(this.GetDetail)
this.$set(this.$data, "GetDetail", data);
}
})
},
}, mounted() {
},
mounted() {
const myDate = new Date();
let yaer = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
let month = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
......@@ -365,7 +381,8 @@
let userInfo = this.getLocalStorage();
this.EmployeeId = userInfo.EmployeeId;
this.Financial_post_GetDetail(this.ID);
}, watch: { // 监听参数变化
},
watch: { // 监听参数变化
ID: {
handler: function (val, oldVal) {
......
......@@ -314,7 +314,6 @@
this.$nextTick(() => {
this.$refs.imgcode.src=this.imgUrl;
})
console.log(this.imgUrl)
tipLoadding.hide();
} else {
tipLoadding.hide();
......
......@@ -71,9 +71,11 @@
<el-table-column prop="ContributeType" label="投稿类型"> </el-table-column>
<el-table-column width='80' prop="ContributeId" label="投稿编码">
<template slot-scope="scope">
<div style="cursor: pointer;text-decoration: underline;" @click="showXQ(scope.row.ContributeId)">{{scope.row.ContributeId}}</div>
<div style="cursor: pointer;text-decoration: underline;" @click="showXQ(scope.row.ContributeId)">
{{scope.row.ContributeId}}</div>
</template>
</el-table-column> <el-table-column width='250' prop="ContributeTitle" label="投稿标题"> </el-table-column>
</el-table-column>
<el-table-column width='250' prop="ContributeTitle" label="投稿标题"> </el-table-column>
<el-table-column prop="CommissionMoney" label="提成金额"> </el-table-column>
<el-table-column width='90' prop="Periods" label="期数"> </el-table-column>
<el-table-column prop="Remark" width='160' label="备注"> </el-table-column>
......@@ -103,7 +105,9 @@
title: "用户提成明细"
},
props: {},
components: {contributionXQ},
components: {
contributionXQ
},
data() {
return {
loading: false,
......@@ -111,7 +115,7 @@
msg: {
PeriodId: 0,
TeacherId: 0,
TeacherIds:''
TeacherIds: ''
},
pageCount: 0,
persistent: false,
......@@ -123,11 +127,11 @@
allClassList: [],
TeacherList: [],
allTeacherList: [],
ContributeId:0,
isDetails:false,
ContributeId: 0,
isDetails: false,
}
},
created() { },
created() {},
mounted() {
if (this.$route.query && this.$route.query.userId) {
......@@ -140,7 +144,6 @@
this.msg.TeacherIds = this.$route.query.TeacherIds
}
this.getList()
// this.setClass()
this.GetTeacherList()
},
methods: {
......@@ -148,14 +151,12 @@
getList() {
if (this.msg)
this.loading = true;
getTeaConCommissionUserDetailList(this.msg).then(res => {
if (res.Code == 1) {
this.loading = false;
this.tableData = res.Data
if (this.tableData.length > 0) {
this.getAskfor()
}
}
})
......@@ -171,35 +172,31 @@
};
})
this.tableData.push(obj)
},
accAdd(arg1, arg2) { //js 加法精确计算
var r1, r2, m;
try {
r1 = arg1.toString().split(".")[1].length;
} catch (e) {
r1 = 0;
}
try {
r2 = arg2.toString().split(".")[1].length;
} catch (e) {
r2 = 0;
}
m = Math.pow(10, Math.max(r1, r2));
return (arg1 * m + arg2 * m) / m;
},
//获取教师下拉
GetTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
var jsonData = res.Data;
jsonData.unshift({ TeacherName: '不限', TId: 0 })
// this.allTeacherList = JSON.parse(JSON.stringify(jsonData));;
jsonData.unshift({
TeacherName: '不限',
TId: 0
})
this.TeacherList = JSON.parse(JSON.stringify(jsonData));
}
})
......@@ -222,7 +219,6 @@
},
//筛选老师
filterFn(val, update) {
console.log(val)
update(() => {
if (val === '') {
this.TeacherList = JSON.parse(JSON.stringify(this.allTeacherList))
......@@ -233,18 +229,13 @@
this.$forceUpdate();
})
},
goreturn() {
this.$router.go(-1);
},
showXQ(ContributeId){//弹出显示详情
this.ContributeId= ContributeId;
showXQ(ContributeId) { //弹出显示详情
this.ContributeId = ContributeId;
this.isDetails = true
}
},
}
</script>
......
......@@ -6,7 +6,6 @@
}
.userCommissionDetails .border-bottom {
/* border-bottom: 1px dashed #EEE; */
padding-bottom: 5px;
margin-bottom: 5px;
}
......@@ -83,8 +82,6 @@
<div v-if="scope.row.OrderId" style="cursor: pointer;text-decoration: underline;" @click="goUrlorderList('/sale/orderStatistics',scope.row)">
{{scope.row.OrderId}}
</div>
</template>
</el-table-column>
<el-table-column prop="CommissionMoney" label="订单提成"></el-table-column>
......@@ -156,7 +153,6 @@
if (this.$route.query && this.$route.query.OrderId) {
this.msg.OrderId = this.$route.query.OrderId
}
console.log( this.msg.PeriodId)
this.getList()
this.getStudyAbroad()
},
......@@ -318,6 +314,5 @@
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -223,7 +223,6 @@
},
//选择图片
PageSelect(item) {
console.log(item,'item');
if(this.type!=1){//单选
this.emitmsg = [];
this.emitmsg.push(item)
......
......@@ -29,7 +29,8 @@
<q-img v-else :src="imgPath" style="width: 110px;height: 110px;border-radius: 6px;display: flex;">
</q-img>
</el-upload>
<q-img v-else :src="imgPath" style="width: 110px;height: 110px;border-radius: 6px;display: flex;" v-if="ismodify"></q-img>
<q-img v-else :src="imgPath" style="width: 110px;height: 110px;border-radius: 6px;display: flex;"
v-if="ismodify"></q-img>
<!-- <el-upload class="avatar-uploader materialupload" action="" :before-upload="uploadFile"
accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp" :show-file-list="false">
<i class="el-icon-plus avatar-uploader-icon" style="font-size: 30px;" v-if="addMsg.Path==''"></i>
......@@ -79,7 +80,8 @@
</span>
</q-circular-progress>
<div style="margin-top: 15px;">
<el-upload class="avatar-uploader " action="" :before-upload="uploadFile" :show-file-list="false" v-if="ismodify==false">
<el-upload class="avatar-uploader " action="" :before-upload="uploadFile" :show-file-list="false"
v-if="ismodify==false">
<q-btn color="accent" size="sm" class="q-mr-md" icon="cloud_upload" label="上传"
@click='stopPlayVoice()'>
</q-btn>
......@@ -114,11 +116,13 @@
v-model="addMsg.PlatformType" @input="$forceUpdate()" ref="Id" :options="platTypeList" label="平台类型"
:dense="false" emit-value map-options /> -->
<q-input clearable filled v-model="addMsg.MediaName" placeholder="请输入视频名称" class="q-mt-lg" maxlength="20" />
<q-input clearable filled v-model="addMsg.Description" placeholder="请输入视频介绍" class="q-mt-lg" type="textarea" maxlength="300" counter/>
<q-input clearable filled v-model="addMsg.Description" placeholder="请输入视频介绍" class="q-mt-lg" type="textarea"
maxlength="300" counter />
<div style="margin-top: 15px;">
<div style="width:80px">视频封面图:</div>
<div style="margin-top: 15px;">
<div style="width:100px;height:100px;border:1px solid #d1d1d1;text-align:center;line-height:100px;" @click="getImgChoice=true">
<div style="width:100px;height:100px;border:1px solid #d1d1d1;text-align:center;line-height:100px;"
@click="getImgChoice=true">
<i class="el-icon-plus avatar-uploader-icon" style="font-size: 30px;"
v-if="addMsg.VideoWXImage==''"></i>
<q-img v-else :src="addMsg.VideoWXImage" style="width: 100%;height: 100%;">
......@@ -142,7 +146,8 @@
<source :src="addMsg.Path" type="video/mp4" />
</video>
<div style="margin-top: 15px;">
<el-upload class="avatar-uploader " action="" :before-upload="uploadFile" :show-file-list="false" v-if="ismodify==false">
<el-upload class="avatar-uploader " action="" :before-upload="uploadFile" :show-file-list="false"
v-if="ismodify==false">
<q-btn color="accent" size="sm" class="q-mr-md" icon="cloud_upload" label="上传">
</q-btn>
</el-upload>
......@@ -222,19 +227,19 @@
imgPath: '',
importFileUrl2: '',
getImgChoice: false,
ismodify:false,//是否修改
ismodify: false, //是否修改
}
},
created() {
if (this.editobj != null) {
this.addMsg = JSON.parse(JSON.stringify(this.editobj))
this.ismodify = true
if(this.type==1){
if (this.type == 1) {
this.imgPath = this.addMsg.ImageUrl;
}
}
let address = process.env.API;
this.importFileUrl2 = address+'/upload/UploadTemporaryFile'
this.importFileUrl2 = address + '/upload/UploadTemporaryFile'
},
mounted() {
this.getPlatForm();
......@@ -247,7 +252,6 @@
//获取已开放平台
getPlatForm() {
GetContributePlatfrom({}).then(res => {
console.log(res, '数据');
if (res.Code == 1) {
this.platTypeList = res.Data;
}
......@@ -262,7 +266,6 @@
message: res.Message,
position: 'top'
})
//this.gettype()
this.$emit('editsuccess')
})
},
......@@ -273,7 +276,7 @@
if (file.Code == 1) {
let address = process.env.API;
let aOne = address.split('/api')[0];
this.imgPath =aOne + file.Data.HttpPath;
this.imgPath = aOne + file.Data.HttpPath;
this.addMsg.Path = file.Data.Path;
this.addMsg.MediaName = file.Data.Name;
}
......@@ -298,12 +301,7 @@
position: 'top'
})
} else {
// UploadSelfFile('wechatcatalogue', files, res => {
//           console.log(res, '数据');
//           if (res.Code == 1) {
// this.addMsg.Path = res.FileUrl;
//           }
//         })
}
}
if (this.type == 2) { //音频上传
......@@ -313,14 +311,6 @@
const isLt2M = files.size / 1024 / 1024 < 2;
let Times = this.getTimes(files)
const isTime60S = Times >= 60 ? true : false;
// 获取时长
// if (!isAudio) {
// this.$q.notify({
// type: 'negative',
// message: `上传文件只能是mp3、wma、wav、amr格式!`,
// position: 'top'
// })
// } else {
if (!isLt2M) {
this.$q.notify({
type: 'negative',
......@@ -350,9 +340,8 @@
} else {
that.$forceUpdate();
that.addMsg.Path = res.FileUrl;
that.addMsg.MediaName = res.FileName?res.FileName:'';
that.addMsg.MediaName = res.FileName ? res.FileName : '';
that.addMsg.Minutes = parseInt(that.duration.toFixed());
console.log(that.addMsg.Minutes, 'Minutes');
}
}).catch((e) => {
......@@ -360,13 +349,11 @@
}
})
}
// }
}
}
if (this.type == 3) { //视频上传
// 文件类型进行判断
const isLt10M = files.size / 1024 / 1024 < 10;
if (['video/mp4'].indexOf(files.type) == -1) {
this.$q.notify({
type: 'negative',
......@@ -387,18 +374,15 @@
isCreateCover: 1
}
UploadSelfFile('wechatcatalogue', files, res => {
console.log(res,'数据');
if (res.Code == 1) {
let amr = new BenzAMRRecorder()
let that = this
amr.initWithUrl(res.FileUrl).then(function () {
that.duration = amr.getDuration();
that.addMsg.Path = res.FileUrl;
that.addMsg.MediaName = res.FileName?res.FileName:'';
that.addMsg.MediaName = res.FileName ? res.FileName : '';
that.addMsg.Minutes = parseInt(that.duration.toFixed());
}).catch((e) => {
})
}).catch((e) => {})
}
})
}
......@@ -408,7 +392,6 @@
let audioDuration = 0
//获取录音时长
var url = URL.createObjectURL(content);
console.log(url, '进入url');
//经测试,发现audio也可获取视频的时长
var audioElement = new Audio(url);
audioElement.addEventListener("loadedmetadata", function (_event) {
......@@ -534,7 +517,6 @@
}
}
</script>
<style>
......@@ -641,5 +623,4 @@
.fullscreen {
z-index: 999;
}
</style>
\ No newline at end of file
......@@ -7,10 +7,11 @@
@click="goadd()"></q-btn>
<q-btn color="accent" style="float:right;" size="sm" class="q-mr-md" icon="delete" label="批量删除"
@click="pldelete()"></q-btn>
<q-btn color="accent" style="float:right;" size="sm" class="q-mr-md" icon="edit" label="修改分组"
@click="plmove()"></q-btn>
<q-btn color="accent" style="float:right;" size="sm" class="q-mr-md" icon="edit" label="修改分组" @click="plmove()">
</q-btn>
</div>
<div style="width: 100%;display: flex;align-items: center;flex-wrap: wrap;padding: 10px 20px;" v-if="dataList.length>0">
<div style="width: 100%;display: flex;align-items: center;flex-wrap: wrap;padding: 10px 20px;"
v-if="dataList.length>0">
<q-card class="imgcard" v-for="(x,y) in dataList" :key='y'
:style="{border:x.check==true?'2px solid #91d5ff':'2px solid #FFF'}"
@click="dataList[y].check = !dataList[y].check,$forceUpdate()">
......@@ -19,8 +20,7 @@
<div>{{x.UpdateTime}}</div>
<div>
<i class="el-icon-edit-outline" style="font-size: 20px;color: #1890ff;"
@click.stop="goedit(x)"></i>
<i class="el-icon-edit-outline" style="font-size: 20px;color: #1890ff;" @click.stop="goedit(x)"></i>
</div>
</div>
<video width="260" height="180" :src="x.Path" controls="controls" v-if="x.Path">
......@@ -29,8 +29,10 @@
<div class="onetext" style="margin-top: 5px;">{{x.MediaName}}</div>
<div style="margin-top: 5px;display: flex;justify-content: space-between;align-items: center;">
<span class="onetext" style="width: 50%;"><i class="iconfont icon-ico-64" style="font-size: 12px;color: #1890ff;margin-right: 3px;" ></i>{{x.MediaGroupName}}</span>
<span class="onetext" style="width: 50%;text-align: right;" ><i class="iconfont icon-ren-" style="font-size: 14px;color: #1890ff;margin-right: 3px;" ></i>{{x.UpdateByName}}</span>
<span class="onetext" style="width: 50%;"><i class="iconfont icon-ico-64"
style="font-size: 12px;color: #1890ff;margin-right: 3px;"></i>{{x.MediaGroupName}}</span>
<span class="onetext" style="width: 50%;text-align: right;"><i class="iconfont icon-ren-"
style="font-size: 14px;color: #1890ff;margin-right: 3px;"></i>{{x.UpdateByName}}</span>
</div>
</q-card-section>
</q-card>
......@@ -40,7 +42,8 @@
</div>
<div v-if="Isadd==true">
<alladdsc :allclassifyList="allclassifyList" type='3' @editsuccess="getchildren" :editobj='editobj' @getcancel='Isadd=false'></alladdsc>
<alladdsc :allclassifyList="allclassifyList" type='3' @editsuccess="getchildren" :editobj='editobj'
@getcancel='Isadd=false'></alladdsc>
</div>
......@@ -60,7 +63,7 @@
type: Array,
default: [],
},
allclassifyList:{
allclassifyList: {
type: Array,
default: [],
}
......@@ -69,7 +72,7 @@
return {
loading: false,
Isadd: false,
editobj:null
editobj: null
}
},
created() {
......@@ -78,27 +81,24 @@
methods: {
goadd() {
this.Isadd = true;
this.editobj=null
this.editobj = null
},
goedit(row){
console.log(row,'row');
this.editobj= row
goedit(row) {
this.editobj = row
this.Isadd = true
},
getchildren(){
getchildren() {
this.$emit('editsuccess')
this.Isadd = false
},
pldelete(){
pldelete() {
this.$emit('getdelete')
},
plmove(){
plmove() {
this.$emit('getmove')
}
}
}
</script>
<style>
......
......@@ -34,7 +34,6 @@
}
},
created() {
// console.log(this.$route.query)
if(this.$route.query){
this.Image = this.$route.query.Image;
this.Name = this.$route.query.Name;
......
......@@ -116,7 +116,8 @@
let html = '';
//s视频
fileArray.forEach(item => {
html += "<iframe frameborder='0' width='100%' height='200px' src='https://v.qq.com/iframe/player.html?vid=v326875u4ek' allowfullscreen='true'></iframe>"
html +=
"<iframe frameborder='0' width='100%' height='200px' src='https://v.qq.com/iframe/player.html?vid=v326875u4ek' allowfullscreen='true'></iframe>"
})
if (html && html != '') {
......@@ -157,24 +158,29 @@
},
applet(data) {
let html = '';
if (data.type == 1) {//文字小程序
html += `<p><a data-miniprogram-appid="${data.appletmsg.AppID}" data-miniprogram-path="${data.route}" href="">${data.title}</a></p>`;
if (data.type == 1) { //文字小程序
html +=
`<p><a data-miniprogram-appid="${data.appletmsg.AppID}" data-miniprogram-path="${data.route}" href="">${data.title}</a></p>`;
} else if (data.type == 2) {//图片小程序
html += `<p><a data-miniprogram-appid="${data.appletmsg.AppID}" data-miniprogram-path="${data.route}" href=""><img src="${data.imgUrl}" alt="" data-width="null" ></a></p>`
} else if (data.type == 2) { //图片小程序
html +=
`<p><a data-miniprogram-appid="${data.appletmsg.AppID}" data-miniprogram-path="${data.route}" href=""><img src="${data.imgUrl}" alt="" data-width="null" ></a></p>`
} else if (data.type == 3) {
let dataTime = Date.parse(new Date())
// 给公众号的写法
html += `<mp-miniprogram data-time="${dataTime}" data-miniprogram-appid="${data.appletmsg.AppID}" data-miniprogram-path="${data.route}"
html +=
`<mp-miniprogram data-time="${dataTime}" data-miniprogram-appid="${data.appletmsg.AppID}" data-miniprogram-path="${data.route}"
data-miniprogram-title="${data.title}"
data-miniprogram-imageurl="${data.imgUrl}"
data-miniprogram-type="card" data-miniprogram-servicetype="0"></mp-miniprogram><span data-time="${dataTime}"></span>`
//自己看的写法
html += '<p><iframe height="320" width="auto" data-time=' + dataTime + ' data-miniprogram-appid=' + data.appletmsg.AppID + ' frameborder="0" allowtransparency="true" ' +
html += '<p><iframe height="320" width="auto" data-time=' + dataTime + ' data-miniprogram-appid=' + data
.appletmsg.AppID + ' frameborder="0" allowtransparency="true" ' +
' style="background-color:transparent;border-radius: 3px;overflow: hidden;z-index: 0;" scrolling="no" ' +
' src="http://edu.oytour.com/#/teacher/contribution/graphicType?Name=' + data.appletmsg.Name + '&Image=' +
data.appletmsg.Image + '&title=' + data.title + '&imgUrl=' + data.imgUrl +
'" class="ans-insertaudio-module" module="_insertaudio">' + ' </iframe><span data-time=' + dataTime + '></span></p>';
'" class="ans-insertaudio-module" module="_insertaudio">' + ' </iframe><span data-time=' + dataTime +
'></span></p>';
}
......@@ -254,7 +260,6 @@
});
this.ue.addListener('keyup', editor => {
this.isInputChange = true;
// this.$emit('input', this.ue.getContent());
});
this.ue.addListener('contentChange', (editor, e) => {
this.isInputChange = true;
......@@ -268,7 +273,7 @@
this.$emit('focus');
});
this.ue.addListener('selectionchange', editor => {
// console.log(this.ue.selection.getStart() )
})
this.ue.addListener('click', (editor, a) => {
......@@ -276,7 +281,6 @@
}
},
}
</script>
<style scoped>
......
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