Commit 2c0b84bc authored by zhangjianqian's avatar zhangjianqian

修改台账

parent 6e5cb467
...@@ -43,6 +43,12 @@ public class TEnterpriseInfo extends BaseEntity ...@@ -43,6 +43,12 @@ public class TEnterpriseInfo extends BaseEntity
@Excel(name = "经营区域") @Excel(name = "经营区域")
private String businessArea; private String businessArea;
@Excel(name = "负责人")
private String contact;
@Excel(name = "手机号")
private String phone;
/** 经度 */ /** 经度 */
private BigDecimal longitude; private BigDecimal longitude;
...@@ -88,6 +94,23 @@ public class TEnterpriseInfo extends BaseEntity ...@@ -88,6 +94,23 @@ public class TEnterpriseInfo extends BaseEntity
/**本地存储图片路径*/ /**本地存储图片路径*/
private String burl; private String burl;
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Integer getEnterpriseType() { public Integer getEnterpriseType() {
return enterpriseType; return enterpriseType;
} }
......
...@@ -25,10 +25,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -25,10 +25,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="isDel" column="is_del" /> <result property="isDel" column="is_del" />
<result property="remarks" column="remarks" /> <result property="remarks" column="remarks" />
<result property="doDusiness" column="do_business" /> <result property="doDusiness" column="do_business" />
<result property="contact" column="contact"/>
<result property="phone" column="phone" />
</resultMap> </resultMap>
<sql id="selectTEnterpriseInfoVo"> <sql id="selectTEnterpriseInfoVo">
select enterprise_id, enterprise_name, register_address, legal_representative,enterprise_type, select enterprise_id, enterprise_name, register_address, legal_representative,enterprise_type,contact,phone,
business_area, longitude, latitude, icon_type, license_key, license_validity_time, annual_supervision_inspection, business_area, longitude, latitude, icon_type, license_key, license_validity_time, annual_supervision_inspection,
create_by, create_time, update_by, update_time, remarks,do_business from t_enterprise_info create_by, create_time, update_by, update_time, remarks,do_business from t_enterprise_info
</sql> </sql>
...@@ -98,6 +100,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -98,6 +100,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isDel != null">is_del,</if> <if test="isDel != null">is_del,</if>
<if test="remarks != null">remarks,</if> <if test="remarks != null">remarks,</if>
<if test="doDusiness != null">do_business,</if> <if test="doDusiness != null">do_business,</if>
<if test="contact!=null"> contact,</if>
<if test="phone!=null"> phone,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="enterpriseId != null">#{enterpriseId},</if> <if test="enterpriseId != null">#{enterpriseId},</if>
...@@ -120,6 +124,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -120,6 +124,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isDel != null">#{isDel},</if> <if test="isDel != null">#{isDel},</if>
<if test="remarks != null">#{remarks},</if> <if test="remarks != null">#{remarks},</if>
<if test="doDusiness != null">#{doDusiness},</if> <if test="doDusiness != null">#{doDusiness},</if>
<if test="contact!=null"> #{contact},</if>
<if test="phone!=null">#{phone},</if>
</trim> </trim>
</insert> </insert>
...@@ -143,6 +149,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -143,6 +149,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remarks != null">remarks = #{remarks},</if> <if test="remarks != null">remarks = #{remarks},</if>
<if test="doDusiness != null">do_business=#{doDusiness},</if> <if test="doDusiness != null">do_business=#{doDusiness},</if>
<if test="contact!=null">contact = #{contact},</if>
<if test="phone!=null">phone = #{phone},</if>
</trim> </trim>
where enterprise_id = #{enterpriseId} where enterprise_id = #{enterpriseId}
</update> </update>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
:action="uploadFileUrl" :action="uploadFileUrl"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:file-list="fileArr" :file-list="fileArr"
:limit="5" :limit="fileNum"
:list-type="listType" :list-type="listType"
:on-error="handleUploadError" :on-error="handleUploadError"
:on-exceed="handleExceed" :on-exceed="handleExceed"
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
ref="upload" ref="upload"
> >
<!-- 上传按钮 --> <!-- 上传按钮 -->
<el-button plain type="primary" :disabled="disabled" @click="deleteFile()">选取文件</el-button> <el-button plain type="primary" :disabled="disabled">选取文件</el-button>
<!--<i class="el-icon-plus"></i>--> <!--<i class="el-icon-plus"></i>-->
<!-- 上传提示 --> <!-- 上传提示 -->
<div class="el-upload__tip" slot="tip" v-if="showTip"> <div class="el-upload__tip" slot="tip" v-if="showTip">
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<template v-if="fileType"> <template v-if="fileType">
格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b>
</template> </template>
的文件,且不超过 的文件,且不超过{{fileNum}}
</div> </div>
</el-upload> </el-upload>
...@@ -80,6 +80,11 @@ ...@@ -80,6 +80,11 @@
type: Number, type: Number,
default: 5, default: 5,
}, },
// 数量限制
fileNum: {
type: Number,
default: 5,
},
fileArr: { fileArr: {
type: Array, type: Array,
default: [], default: [],
...@@ -113,11 +118,11 @@ ...@@ -113,11 +118,11 @@
}; };
}, },
computed: { computed: {
deleteFile(){ // deleteFile(){
this.fileList=[] // this.fileList=[]
this.addShow = false; // this.addShow = false;
this.$emit("remove", 1); // this.$emit("remove", 1);
}, // },
// 是否显示提示 // 是否显示提示
showTip() { showTip() {
return this.isShowTip && (this.fileType || this.fileSize); return this.isShowTip && (this.fileType || this.fileSize);
...@@ -191,7 +196,6 @@ ...@@ -191,7 +196,6 @@
}, },
// 文件列表移除文件 // 文件列表移除文件
handleRemove(file, fileList) { handleRemove(file, fileList) {
console.log("列表移除", file, fileList);
this.addShow = fileList.length > 0 ? true : false; this.addShow = fileList.length > 0 ? true : false;
this.$emit("remove", file); this.$emit("remove", file);
}, },
......
<!--
* @Author: 纪泽龙 jizelong@qq.com
* @Date: 2024-01-11 11:31:51
* @LastEditors: 纪泽龙 jizelong@qq.com
* @LastEditTime: 2024-01-15 15:45:00
* @FilePath: /tianhua-web/src/components/MyImage/index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<div class="img-wrapper">
<el-image
v-if="src"
:src="src"
:preview-src-list="previewSrcList"
:z-index="9999"
class="picture"
>
</el-image>
<div class="error" v-else>暂无图片</div>
<div class="num">+{{ previewSrcList.length }}</div>
</div>
</template>
<script>
export default {
name: "",
props: {
src: {
type: String,
},
previewSrcList: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {};
},
methods: {},
};
</script>
<style lang="scss" scoped>
.picture {
width: 50px;
height: 50px;
margin: 2px;
}
.img-wrapper {
position: relative;
width: 50px;
height: 50px;
.num {
left: 27px;
bottom: 0px;
width: 25px;
height: 25px;
background: rgba(0, 0, 0, 0.5);
text-align: center;
line-height: 25px;
pointer-events: none;
color: #fff;
z-index: 99999999;
position: absolute;
font-size: 14px;
font-weight: 800;
}
}
.error {
width: 130px;
height: 130px;
text-align: center;
line-height: 139px;
background: #f5f7fa;
}
</style>
...@@ -44,9 +44,9 @@ ...@@ -44,9 +44,9 @@
<th>区域</th> <th>区域</th>
<th>企业名称</th> <th>企业名称</th>
<th>经营类别</th> <th>经营类别</th>
<th>燃气事故(件)</th> <th>燃气事故评分</th>
<th>隐患整治(次)</th> <th>隐患整治评分</th>
<th>投诉处置(件)</th> <th>投诉处置评分</th>
<th>考核得分</th> <th>考核得分</th>
<th>考核结果</th> <th>考核结果</th>
</tr> </tr>
......
<template> <template>
<el-dialog title="从业人员详情" :visible.sync="detailOpen" width="900px" append-to-body> <el-dialog title="从业人员基本信息" :visible.sync="detailOpen" width="900px" append-to-body>
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-row> <el-row>
<el-col :span="16"> <el-col :span="16">
......
...@@ -45,12 +45,30 @@ ...@@ -45,12 +45,30 @@
<span v-else>-</span> <span v-else>-</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="联系方式">
<span v-if="detailInfo.contact">{{ detailInfo.contact }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号">
<span v-if="detailInfo.phone">{{ detailInfo.phone }}</span>
<span v-else>-</span>
</el-form-item>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="营业执照"> <el-form-item label="营业执照">
<span class="dbtn" @click="checkFile(detailInfo.doDusiness)" v-if="detailInfo.doDusiness" <MyImage v-if="detailInfo.doDusiness"
class="view-img"
:src="detailInfo.doDusiness.split(',')[0]"
:previewSrcList="detailInfo.doDusiness.split(',')"
> >
<i class="el-icon el-icon-view"></i>查看/下载 </MyImage>
</span>
<span v-else>-</span> <span v-else>-</span>
</el-form-item> </el-form-item>
...@@ -77,13 +95,14 @@ ...@@ -77,13 +95,14 @@
<script> <script>
import Editor from '@/components/Editor/index.vue'; import Editor from '@/components/Editor/index.vue';
import MyImage from "@/components/MyImage/index.vue";
import { getInfo} from "@/api/regulation/info"; import { getInfo} from "@/api/regulation/info";
let uploadfile = require("@/assets/uploadfile.png"); let uploadfile = require("@/assets/uploadfile.png");
export default { export default {
name: "detail-info", name: "detail-info",
components: { components: {
Editor Editor,MyImage
}, },
data(){ data(){
return{ return{
......
...@@ -79,6 +79,14 @@ ...@@ -79,6 +79,14 @@
size="mini" size="mini"
@click="handleImport">导入</el-button> @click="handleImport">导入</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
plain
size="mini"
type="info"
@click="getGovermentTaskInfo"
>从省平台获取数据</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
...@@ -103,6 +111,14 @@ ...@@ -103,6 +111,14 @@
<span slot-scope="scope" v-if="scope.row.businessArea">{{scope.row.businessArea}}</span> <span slot-scope="scope" v-if="scope.row.businessArea">{{scope.row.businessArea}}</span>
<span v-else>-</span> <span v-else>-</span>
</el-table-column> </el-table-column>
<el-table-column label="联系人" align="center" prop="contact">
<span slot-scope="scope" v-if="scope.row.contact">{{scope.row.contact}}</span>
<span v-else>-</span>
</el-table-column>
<el-table-column label="联系方式" align="center" prop="phone">
<span slot-scope="scope" v-if="scope.row.phone">{{scope.row.phone}}</span>
<span v-else>-</span>
</el-table-column>
<el-table-column label="许可证编号" align="center" prop="licenseKey" > <el-table-column label="许可证编号" align="center" prop="licenseKey" >
<span slot-scope="scope" v-if="scope.row.licenseKey">{{scope.row.licenseKey}}</span> <span slot-scope="scope" v-if="scope.row.licenseKey">{{scope.row.licenseKey}}</span>
<span v-else>-</span> <span v-else>-</span>
...@@ -115,27 +131,30 @@ ...@@ -115,27 +131,30 @@
<span slot-scope="scope" v-if="scope.row.annualSupervisionInspection">{{scope.row.annualSupervisionInspection}}</span> <span slot-scope="scope" v-if="scope.row.annualSupervisionInspection">{{scope.row.annualSupervisionInspection}}</span>
<span v-else>-</span> <span v-else>-</span>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remarks" >
<span slot-scope="scope" v-if="scope.row.remarks">{{scope.row.remarks}}</span> <el-table-column label="营业执照" align="center" width="80" >
<span v-else>-</span> <template slot-scope="List" v-if="List.row.doDusiness">
</el-table-column> <MyImage
<el-table-column label="营业执照" align="center" > class="view-img"
<template slot-scope="List"> :src="List.row.doDusiness.split(',')[0]"
<img :src="List.row.doDusiness" width="100px"> :previewSrcList="List.row.doDusiness.split(',')"
</template>
</el-table-column>
<el-table-column label="营业执照" align="center" >
<template slot-scope="List">
<span
class="dbtn"
@click="checkFile(List.row.doDusiness)"
v-if="List.row.doDusiness"
> >
<i class="el-icon el-icon-view"></i>查看/下载 </MyImage>
</span> <!--<img v-for="item in List.row.doDusiness.split(',')" :src="item" width="100px">-->
<span v-else>-</span>
</template> </template>
</el-table-column> </el-table-column>
<!--<el-table-column label="营业执照" align="center" >-->
<!--<template slot-scope="List">-->
<!--<span-->
<!--class="dbtn"-->
<!--@click="checkFile(List.row.doDusiness)"-->
<!--v-if="List.row.doDusiness"-->
<!--&gt;-->
<!--<i class="el-icon el-icon-view"></i>查看/下载-->
<!--</span>-->
<!--<span v-else>-</span>-->
<!--</template>-->
<!--</el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
...@@ -232,10 +251,24 @@ ...@@ -232,10 +251,24 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="11">
<el-form-item label="负责人" prop="contact">
<el-input v-model="form.contact" placeholder="请输入负责人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" />
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="23"> <el-col :span="23">
<el-form-item label="营业执照"> <el-form-item label="营业执照">
<FileUpload <FileUpload
:fileNum="6"
listType="picture" listType="picture"
@resFun="getFileInfo" @resFun="getFileInfo"
@remove="listRemove" @remove="listRemove"
...@@ -301,13 +334,14 @@ ...@@ -301,13 +334,14 @@
<script> <script>
import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo,importTemplate } from "@/api/regulation/info"; import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo,importTemplate } from "@/api/regulation/info";
import FileUpload from '@/components/FileInfoUpload'; import MyImage from "@/components/MyImage/index.vue";
import FileUpload from '@/components/FileSuperviseUpload';
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import DetailInfo from "./DetailInfo"; import DetailInfo from "./DetailInfo";
export default { export default {
name: "Info", name: "Info",
components: { components: {
FileUpload,DetailInfo FileUpload,DetailInfo,MyImage
}, },
dicts: ['enterprise_type'], dicts: ['enterprise_type'],
data() { data() {
...@@ -431,22 +465,37 @@ export default { ...@@ -431,22 +465,37 @@ export default {
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true }); this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
this.getList(); this.getList();
}, },
//获取数据
getGovermentTaskInfo(){
this.$confirm('是否确认从省平台获取数据?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
///return '';
}).then(() => {
///this.getList();
///this.msgSuccess("从省平台获取数据成功");
}).catch(() => {});
},
// 提交上传文件 // 提交上传文件
submitFileForm() { submitFileForm() {
this.$refs.upload.submit(); this.$refs.upload.submit();
}, },
/**上传营业执照照片*/ /**上传营业执照照片*/
getFileInfo(res){ getFileInfo(res){
this.form.dealPlan = res.fileName; this.form.doDusiness = this.form.doDusiness?this.form.doDusiness+','+res.url:res.url;
this.form.doDusiness = res.url;
this.fileList.push({ this.fileList.push({
name: res.fileName, name: res.fileName,
url: uploadfile, url: res.url,
}); });
}, },
listRemove(e) { listRemove(e) {
this.form.dealPlan = ""; if(e){
this.fileList = []; this.fileList = this.fileList.filter(obj => obj.url !== e.url);
this.form.doDusiness = this.fileList.map(obj => obj.url).join(', ');
}
}, },
checkFile(url) { checkFile(url) {
window.open(url,'_blank'); window.open(url,'_blank');
...@@ -506,7 +555,7 @@ export default { ...@@ -506,7 +555,7 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.listRemove(); this.fileList =[];
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加企业信息"; this.title = "添加企业信息";
...@@ -516,24 +565,27 @@ export default { ...@@ -516,24 +565,27 @@ export default {
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.listRemove(); this.fileList =[];
this.reset(); this.reset();
const enterpriseId = row.enterpriseId || this.ids const enterpriseId = row.enterpriseId || this.ids
getInfo(enterpriseId).then(response => { getInfo(enterpriseId).then(response => {
this.form = response.data; this.form = response.data;
//图片回显 //图片回显
if (this.form.doDusiness) { if (this.form.doDusiness) {
for(var item of this.form.doDusiness.split(',')){
this.fileList.push({ this.fileList.push({
name: '营业执照', name: '营业执照',
url: this.form.doDusiness, url: item,
}); });
} }
}
this.open = true; this.open = true;
this.title = "修改企业信息"; this.title = "修改企业信息";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.enterpriseId != null) { if (this.form.enterpriseId != null) {
...@@ -600,4 +652,8 @@ export default { ...@@ -600,4 +652,8 @@ export default {
border-width: 1px; border-width: 1px;
border-color: rgb(48, 180, 107); border-color: rgb(48, 180, 107);
} }
.view-img{
width: 50px;
height: 50px;
}
</style> </style>
...@@ -107,6 +107,9 @@ ...@@ -107,6 +107,9 @@
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="唯一编码" align="center" >
<span slot-scope="scope">C{{1000000+scope.row.employedPeopleId}}</span>
</el-table-column>
<el-table-column label="姓名" align="center" prop="employedPeopleName" > <el-table-column label="姓名" align="center" prop="employedPeopleName" >
<span slot-scope="scope" v-if="scope.row.employedPeopleName">{{scope.row.employedPeopleName}}</span> <span slot-scope="scope" v-if="scope.row.employedPeopleName">{{scope.row.employedPeopleName}}</span>
<span v-else>-</span> <span v-else>-</span>
...@@ -167,7 +170,7 @@ ...@@ -167,7 +170,7 @@
type="text" type="text"
icon="el-icon-view" icon="el-icon-view"
@click="handleView(scope.row)" @click="handleView(scope.row)"
>详情</el-button> >基本信息</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
...@@ -354,10 +357,15 @@ ...@@ -354,10 +357,15 @@
</el-form> </el-form>
</el-dialog> </el-dialog>
<!-- 从业人员详情对话框 --> <!-- 从业人员基本信息对话框 -->
<el-dialog :title="viewTitle" :visible.sync="viewOpen" width="800px" append-to-body> <el-dialog :title="viewTitle" :visible.sync="viewOpen" width="800px" append-to-body>
<el-form :model="viewForm" label-width="130px"> <el-form :model="viewForm" label-width="130px">
<el-row> <el-row>
<el-col :span="24">
<el-form-item label="唯一编号">
<span>C{{1000000+viewForm.employedPeopleId}}</span>
</el-form-item>
</el-col>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="姓名"> <el-form-item label="姓名">
<span>{{ viewForm.employedPeopleName || '-' }}</span> <span>{{ viewForm.employedPeopleName || '-' }}</span>
...@@ -538,7 +546,7 @@ export default { ...@@ -538,7 +546,7 @@ export default {
// 详情对话框是否显示 // 详情对话框是否显示
viewOpen: false, viewOpen: false,
// 详情对话框标题 // 详情对话框标题
viewTitle: "从业人员详情", viewTitle: "从业人员基本信息",
// 详情表单数据 // 详情表单数据
viewForm: {}, viewForm: {},
// 变更记录对话框是否显示 // 变更记录对话框是否显示
......
...@@ -242,9 +242,8 @@ export default { ...@@ -242,9 +242,8 @@ export default {
}; };
}, },
getHiddenBookInfo(){ getHiddenBookInfo(){
console.log('进去了--------------------------------')
hiddenBookqiyeStatistics().then(res =>{ hiddenBookqiyeStatistics().then(res =>{
console.log(res)
if(res.code == 200){ if(res.code == 200){
this.comoption.series[0].data = res.data.yeshidden; this.comoption.series[0].data = res.data.yeshidden;
this.comoption.series[1].data = res.data.nohidden; this.comoption.series[1].data = res.data.nohidden;
......
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