Commit d77d61b6 authored by anxixi's avatar anxixi

运营指标验收等功能

parent b9be0fd8
......@@ -904,6 +904,8 @@ module.exports = {
plcustomerLabelList:'Please select labels of target clients',
plcustomerCase:'Please enter examples of current clients',
plcompanys:'Please select up to three industries',
tkcontacted:'Have the staff of TechBook contacted you?',
Pleasename:'Please select the name of the contact',
//第四步
companyCreateDate:'Year of Company Establishment:',
companyScale:'Company Size:',
......
......@@ -907,6 +907,8 @@ module.exports = {
plcustomerLabelList: '请输入客户通俗标签',
plcustomerCase: '请输入现有客户举例',
plcompanys: '请选择最多三个目标客户行业',
tkcontacted:'太库工作人员是否联系过您?',
Pleasename:'请选择联系人的姓名',
//第四步
companyCreateDate: '公司创建时间:',
companyScale: '公司规模:',
......
<template>
<div>
<el-row :gutter="20" style=" padding: 6px 0 6px 10px;margin:0;">
<el-col :span="3" style="padding-left: 0;width: 135px">
<el-col :span="3" style="padding-left: 0;width: 130px;">
<div style="line-height: 45px;font-weight: bold">{{titleName}}</div>
</el-col>
<el-col :span="21" style="margin-left: -25px;font-weight:normal;width: 88%;padding-left: 30px">
<el-col :span="21" style="font-weight:normal;padding-left: 10px;width: 80%;">
<div style="width: 80%;">
<el-row>
<el-col :span="2">
......@@ -15,7 +15,7 @@
</el-checkbox-button>
</el-checkbox-group>
</el-col>
<el-col :span="20" style="margin-left: 11px;">
<el-col :span="20" style="margin-left: 35px;">
<el-checkbox-group v-model="checkboxlocation" size="small" @change="changecity">
<el-checkbox-button class="applyCheckbox" v-for="item in cityList" :label="item.lab" :key="item.lab">
{{item.lab}} <i v-if="item.checked" class="el-icon-close"></i>
......
......@@ -950,7 +950,7 @@ const router = new Router({
path: "/expertAccepting",
components: {
default: resolve => require(['views/indexAccepting/projectManage.vue'], resolve).catch(routerUtils.catchImport),
secondStage:resolve => require(['views/indexAccepting/projectManage.vue'], resolve).catch(routerUtils.catchImport),
secondStage:resolve => require(['views/indexAccepting/kolProfessorsManage.vue'], resolve).catch(routerUtils.catchImport),
thirdStage: resolve => require(['views/partner/auditList.vue'], resolve).catch(routerUtils.catchImport),
forthStage: resolve => require(['views/partner/auditList.vue'], resolve).catch(routerUtils.catchImport),
......@@ -960,6 +960,21 @@ const router = new Router({
]
},
{
path: '/addkolExpert',
component: resolve => require(['views/kolExpert/addkolExpert.vue'], resolve).catch(routerUtils.catchImport),
meta: {title: '添加kol专家'}
},
{
path: '/kolExpertManage',
component: resolve => require(['views/kolExpert/kolExpertManage.vue'], resolve).catch(routerUtils.catchImport),
meta: {title: '维护的专家'}
},
{
path: '/kolProfessorsDetail',
component: resolve => require(['views/indexAccepting/kolProfessorsDetail.vue'], resolve).catch(routerUtils.catchImport),
meta: {title: '审核专家详情'}
},
]
},
//需要登录的
......
......@@ -178,6 +178,9 @@
resourcesdata(){
this.searchs.dataIds = this.searchs.eventdataIds?this.searchs.eventdataIds.join(','):'';
let params = this.searchs;
if(params.channelCity instanceof Array){
params.channelCity = params.channelCity.join(',');
}
let searchsurl = '/base/channel/searchActivity?';
api.showList(searchsurl,params).then(response => {
if(response.code == 0) {
......
......@@ -64,7 +64,7 @@
},
//去主页
tohome(row){
window.open(this.publicFun.getCurrentHrefEnv()+"#/peoplehome?id="+row.empId);
window.open(this.publicFun.getCurrentHrefEnv()+"#/peoplehome?id="+row.otherEmpId);
},
//联系人推荐处理
updateFriendStatus(row,type){
......
import api from '../../../api/api';
import Qs from 'qs';
export default {
//查询区域
selectAreaList( ) {
return api.fetchGet( '/base/org/selectAreaList' );
},
//专家列表
getCheckProfessors( params ) {
return api.fetchPost( '/base/check/professor/getCheckProfessors', params );
},
//审核专家详情信息
getCheckProfessor( params ) {
return api.fetchGet( '/base/check/professor/getCheckProfessor?professorId=' +params );
},
//专家审核
acceptProfessor( params ) {
return api.fetchPost( '/base/check/professor/acceptProfessor', params );
},
//表头字段
selectFieldList( params ) {
return api.fetchPost( '/business/export/selectFieldList', params );
},
//kol专家导出
exportCheckProfessors( params ) {
return api.fetchLoadingPostex( '/base/check/professor/exportCheckProfessors', params );
},
//项目列表
selectAcceptanceList( params ) {
return api.fetchPost( '/business/project/selectAcceptanceList', params );
},
//优质项目导出
exportExcel( params ) {
return api.fetchLoadingPostex( '/business/project/exportExcel', params );
},
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -103,7 +103,7 @@
<el-row>
<p v-if="authenticationState=='AS02'&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;height: 40px;line-height: 40px;text-align: center;background:#FFF8EF;border-radius:3px;border:1px solid #FF9E29;color: #FF9E29">{{$t("listproject.statereview")}}</p>
<!--<p v-if="!isbtntype&&!addData.projectCreatedBy&&!isempinfo" style="margin: 20px 30px 0 30px;height: 40px;line-height: 40px;text-align: center;background:#FFF8EF;border-radius:3px;border:1px solid #FF9E29;color: #FF9E29">{{$t("Otherjson.Customer")}}</p>-->
<p v-if="authenticationState=='AS04'&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;padding: 0 20px; line-height: 30px;text-align: left;background:#FFEFEF;border-radius:3px;border:1px solid #FF5D5D;color: #FF5D5D">{{$t("listproject.staterefuse")}}<span>{{authContent}}</span></p>
<p v-if="(authenticationState=='AS04'||authenticationState=='AS06')&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;padding: 0 20px; line-height: 30px;text-align: left;background:#FFEFEF;border-radius:3px;border:1px solid #FF5D5D;color: #FF5D5D">{{$t("listproject.staterefuse")}}<span>{{authContent}}</span></p>
<!-- <p v-if="auditgo&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;height: 40px;line-height: 40px;text-align: center;background:#FFEFEF;border-radius:3px;border:1px solid #FF5D5D;color: #FF5D5D">{{$t("listproject.statenotcertified")}}<span @click="$router.push('/editAuth')" style="text-decoration:underline;cursor:pointer">{{$t("listproject.gocertified")}}</span></p>-->
</el-row>
<div class="contentsy" id="anchor-0">
......@@ -352,7 +352,7 @@
</el-row>
<el-row>
<p v-if="authenticationState=='AS02'&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;height: 40px;line-height: 40px;text-align: center;background:#FFF8EF;border-radius:3px;border:1px solid #FF9E29;color: #FF9E29">{{$t("listproject.statereview")}}</p>
<p v-if="authenticationState=='AS04'&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;padding: 0 20px; line-height: 30px;text-align: left;background:#FFEFEF;border-radius:3px;border:1px solid #FF5D5D;color: #FF5D5D">{{$t("listproject.staterefuse")}}<span>{{authContent}}</span></p>
<p v-if="(authenticationState=='AS04'||authenticationState=='AS06')&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;padding: 0 20px; line-height: 30px;text-align: left;background:#FFEFEF;border-radius:3px;border:1px solid #FF5D5D;color: #FF5D5D">{{$t("listproject.staterefuse")}}<span>{{authContent}}</span></p>
<p v-if="auditgo&&addData.projectCreatedBy" style="margin: 20px 30px 0 30px;height: 40px;line-height: 40px;text-align: center;background:#FFEFEF;border-radius:3px;border:1px solid #FF5D5D;color: #FF5D5D">{{$t("listproject.statenotcertified")}}<span @click="$router.push('/editAuth')" style="text-decoration:underline;cursor:pointer">{{$t("listproject.gocertified")}}</span></p>
</el-row>
<div class="contentsy" id="anchor-00">
......
......@@ -20,4 +20,7 @@ export default {
auth (params){
return api.fetchLoadingPost('/business/project/auth',Qs.stringify(params));
},
queryProjectSimilar (params){
return api.fetchGet('/business/search/queryProjectSimilar?projectId=' +params);
},
}
\ No newline at end of file
......@@ -53,4 +53,9 @@ export default {
selectUserInfo (params){
return api.fetchPost('/base/emp/selectUserInfo',Qs.stringify(params));
},
//查询销售列表
selectSaleList (){
return api.fetchGet('/business/project/selectSaleList');
},
}
\ No newline at end of file
......@@ -51,6 +51,16 @@
<p style="margin-bottom: 10px;font-size: 14px;color: #9197B4"><i style="color: #FF9E29;font-size: 12px;padding-right: 5px" class="iconfont icon-gantanhao-quan"></i>{{$t('Otherjson.message5')}}</p>
<el-input v-model="formData.customerCase" maxlength="36" :placeholder="$t('releasejson.plcustomerCase')" style="width: 600px;height: 40px"></el-input>
</el-form-item>
<el-form-item :label="$t('topNav.project')+$t('topNav.match')+':'">
<p style="margin-bottom: 10px;font-size: 14px;color: #9197B4">
<i style="color: #FF9E29;font-size: 12px;padding-right: 5px" class="iconfont icon-gantanhao-quan"></i>
{{$t('releasejson.tkcontacted')}}
</p>
<el-select style="width: 250px;height: 40px" v-model="formData.tempLinkSalesId" :placeholder="$t('releasejson.Pleasename')">
<el-option v-for="item in saleList" :key="item.empId" :label="item.empName+'('+item.orgName+')'" :value="item.empId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<el-row v-if="maxIf" style="margin: 40px 0 20px 0; text-align: center;width: 100%;">
<el-button type="primary" style="width: 180px;height: 42px" @click="submitform">{{$t('releasejson.confirmnext')}}</el-button>
......@@ -115,6 +125,7 @@
tagIf:false,
tagbtn:true,
diven_zh:true,
saleList:[],//销售列表
}
},
methods: {
......@@ -177,6 +188,21 @@
return false;
});
},
//查询销售列表
getselectSale(){
api.selectSaleList().then(response => {
if(response.code == 0) {
this.saleList = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
industry(val){
let arr = [];
for(let i=0;i<val.length;i++){
......@@ -226,6 +252,7 @@
this.diven_zh = this.publicFun.getCookie("language") == "en" ? false : true;
this.selectDictListcode();
this.selectBigBusinessLevelect();
this.getselectSale();
},
watch:{
formDatas(val){
......
......@@ -94,6 +94,7 @@
}else if(tab.label == this.$t('releasejson.label3')){
this.$refs.childthree.selectDictListcode();
this.$refs.childthree.selectBigBusinessLevelect();
this.$refs.childthree.getselectSale();
}else if(tab.label == this.$t('releasejson.label4')){
this.$refs.childfour.companyValuationed();
this.$refs.childfour.companyFinancedAmountDataed();
......
......@@ -238,8 +238,8 @@
},
//条件查询
searchCik(){
console.log((new Date(Date.parse((this.publicFun.getDataTimeFormatFunc(this.startTime, 0)).replace(/-/g, "/")))) / 1);
console.log(Date.parse(new Date()))
// console.log((new Date(Date.parse((this.publicFun.getDataTimeFormatFunc(this.startTime, 0)).replace(/-/g, "/")))) / 1);
// console.log(Date.parse(new Date()))
if(this.startTime && this.endTime){
if(this.publicFun.getDataCheck(this.startTime,this.endTime)){
this.$message.error(this.$t('usermanagement.time'));
......
......@@ -6,6 +6,7 @@
<p>我们也正在收录更多科创项目,欢迎提供科创项目线索,发送邮件至service@techbook.com.cn。</p>
</div>
<div v-else>
<choice-group @active="groupdata"></choice-group>
<p class="search_dataNum">共搜到 <i>{{totalListResult}}</i> 个项目</p>
<div class="search_dataList">
<div v-for="(item,index) in datalist" class="gendisplay" @click="newOpenroute(item)">
......@@ -58,6 +59,7 @@
<script>
import api from "./api/api";
import expertVisible from "../../components/login/quicklogin";
import choiceGroup from "../seeprojects/choicegroup";
export default {
name: "projectlist",
......@@ -67,11 +69,12 @@
totalListResult: 0,
numberData: 10, //设置个数
datalist:[],
stateData:{},
userInfo : this.publicFun.getUserInfoCookieType() ? JSON.parse(this.Base64.decode(this.publicFun.getUserInfoCookieType())) : null,
}
},
props:['keyword'],
components:{expertVisible},
components:{expertVisible,choiceGroup},
methods:{
newOpenroute(row){
window.open(this.publicFun.getCurrentHrefEnv()+"#/viewproject?projectId="+row.projectId+'&state=0');
......@@ -92,13 +95,21 @@
this.numberData = val;
this.getselectdatas();
},
groupdata(val){
this.stateData = val;
if(Object.keys(val).length!=0){
this.getselectdatas();
}
},
getselectdatas(){
this.stateData.context = this.keyword;
let params = {
pagination: {
number: this.numberData,
numberOfPages: this.cur_page || 1,
},
search: {context:this.keyword},
search: this.stateData,
sort: {}
};
api.searchProject(params).then((response)=>{
......
This diff is collapsed.
import api from '../../../api/api';
import Qs from 'qs';
export default {
//查询专家信息
searchAccount( params ) {
return api.fetchGet( '/base/subject/searchAccount?empAccount=' + params );
},
//所有分类
dataGroupAllLists (){
return api.fetchGet('/business/report/dataGroupAllList');
},
//添加专家
addProfessor (params){
return api.fetchLogin('/base/subject/addProfessor',params);
},
//查询专家信息
getProfessor( params ) {
return api.fetchGet( '/base/manage/professor/getProfessor?professorId=' + params );
},
//专家列表
searchCreatedProfessors (params){
return api.fetchPost('/base/manage/professor/searchCreatedProfessors',params);
},
}
\ No newline at end of file
<template>
<div class="soutform loginedWrapper">
<div class="breadcrumb">
<el-breadcrumb separator="/">
<el-breadcrumb-item :to="{ path: '/projectdynamics' }">{{$t("releasejson.wrkbench")}}</el-breadcrumb-item>
<el-breadcrumb-item>KOL专家列表</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="projectTabadd">
<el-tabs v-model="activeName">
<el-tab-pane label="KOL专家列表" name="first">
<el-row class="contentPadding">
<el-form :inline="true">
<el-form-item>
<template slot-scope="scope">
<div style="display:flex;">
<el-date-picker style="width: 180px;" v-model="searchs.startTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authBegin')"></el-date-picker>
<p style="width: 50px;text-align: center">{{$t('operationjson.tos')}}</p>
<el-date-picker style="width: 180px;" v-model="searchs.endTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('operationjson.authEnd')"></el-date-picker>
<el-button type="primary" style="width: 100px;margin-left: 20px" @click="searchCik">{{$t('operationjson.search')}}</el-button>
<el-button type="primary" plain style="width: 100px;margin-left: 20px" @click="resetCik">重置</el-button>
</div>
</template>
</el-form-item>
<el-form-item class="formcontentnk">
<el-button type="primary" @click="" style="margin-right: 20px;">导出</el-button>
<el-input placeholder="请输入关键字" v-model="searchs.content" class="input-with-select" style="width: 290px">
<el-button slot="append" icon="el-icon-search" @click="searchCik"></el-button>
</el-input>
</el-form-item>
</el-form>
<el-row>
<el-table :data="createdProfessorslist" tooltip-effect="dark" class="projectTable2">
<el-table-column type="index" label="序号" align="center"></el-table-column>
<el-table-column prop="empAccount" label="专家账号" align="center"></el-table-column>
<el-table-column prop="professorName" label="专家姓名" align="center"></el-table-column>
<el-table-column prop="empSex" label="性别" align="center">
<template slot-scope="scope">
<p>{{scope.row.empSex==0?'男':'女'}}</p>
</template>
</el-table-column>
<el-table-column prop="professorTitle" label="专家title" align="center"></el-table-column>
<el-table-column prop="dataNameList" label="行业方向" align="center"></el-table-column>
<el-table-column prop="professorIntroduction" label="专家介绍" align="center"></el-table-column>
<el-table-column prop="professorWork" label="工作单位" align="center"></el-table-column>
<el-table-column prop="contactStaff" label="是否沟通过" align="center">
<template slot-scope="scope">
<p>{{scope.row.contactStaff==0?'是':scope.row.contactStaff==1?'否':'——'}}</p>
</template>
</el-table-column>
<el-table-column prop="professorLogo" label="专家头像" align="center">
<template slot-scope="scope">
<img :src="scope.row.professorLogo?scope.row.professorLogo:require('../../assets/img/defaultlogo.png')" style="width: 30px;height: 30px;border-radius: 50%;">
</template>
</el-table-column>
<el-table-column prop="checkState" label="审核状态" align="center">
<template slot-scope="scope">
{{scope.row.checkState=='AS02'?'待验收':scope.row.checkState=='AS03'?'已验收':scope.row.checkState=='AS04'?'已驳回':''}}
</template>
</el-table-column>
<el-table-column :label="$t('listjson.action')" width="150" align='center' fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="$router.push({path:'/addkolExpert',query:{id:scope.row.professorId}})">查看</el-button>
<el-button type="text" @click="$router.push({path:'/addkolExpert',query:{id:scope.row.professorId}})">修改</el-button>
</template>
</el-table-column>
<template slot="empty">
<i class="iconfont icon-hezi501 datai"></i>
<p class="datap">{{$t('listjson.notfoundyet')}}</p>
</template>
</el-table>
<div class="pagination">
<el-pagination
@current-change="handleCurrentChange"
background
:page-sizes="[10, 20, 30, 40, 50]"
:page-size="10"
:current-page="cur_page"
layout=" total, prev, pager, next"
:total="totalListResult">
</el-pagination>
</div>
</el-row>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
</div>
</template>
<script>
import api from "./api/api";
export default {
name: "kolExpertManage"
name : "kolExpertManage",
data() {
return {
activeName:'first',
createdProfessorslist:[],
cur_page: 1, //页数
totalListResult: 0,
numberData: 10, //设置个数
searchs:{
startTime:'',
endTime:'',
},
}
},
components:{
},
methods:{
// 分页导航
handleCurrentChange(val) {
this.cur_page = val;
this.getCreatedProfessors();
},
//条件查询
searchCik(){
if(this.searchs.startTime && this.searchs.endTime){
if(this.publicFun.getDataCheck(this.searchs.startTime,this.searchs.endTime)){
this.$message.error(this.$t('usermanagement.time'));
return;
}
}
this.cur_page = 1;
this.getCreatedProfessors();
},
//重置
resetCik(){
this.searchs = {
startTime:'',
endTime:'',
};
this.cur_page = 1;
this.getCreatedProfessors();
},
getCreatedProfessors(){
let params = {
pagination: {
number: this.numberData,
start: 0,
numberOfPages: this.cur_page || 1,
totalItemCount: 0
},
search: this.searchs,
sort: {}
};
api.searchCreatedProfessors(params).then(response => {
if(response.code == 0) {
this.createdProfessorslist = response.result.records;
this.totalListResult = response.result.total;
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
},
mounted() {
this.getCreatedProfessors();
}
}
</script>
<style scoped>
<style scoped lang="scss">
.formcontentnk {
float: right;
}
</style>
\ No newline at end of file
......@@ -85,6 +85,15 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('topNav.project')+$t('topNav.match')+':'">
<div style="margin-top: -20px;">
<p style="line-height: 26px;color: #9197B4;font-size: 12px;">{{$t('releasejson.tkcontacted')}}</p>
<el-select style="width:100%;" v-model="projectjson.tempLinkSalesId" :placeholder="$t('releasejson.Pleasename')">
<el-option v-for="item in saleList" :key="item.empId" :label="item.empName+'('+item.orgName+')'" :value="item.empId">
</el-option>
</el-select>
</div>
</el-form-item>
<div v-if="projectjson.isSubmitAuth==1">
<el-form-item :label="projectjson.accountType!=1?$t('projectdynamics.Contact')+$t('oneself.phone')+':':$t('projectdynamics.Contact')+$t('oneself.email')+':'" style="width: 100%;">
<span>{{projectjson.account}}</span>
......@@ -298,6 +307,7 @@
projectId:'',
companyData:{},
iscompanyList:true,
saleList:[],
}
},
methods:{
......@@ -539,6 +549,20 @@
}
this.projectjson.projectIndustryList = arr;
},
//查询销售列表
getselectSale(){
api.selectSaleList().then(response => {
if(response.code == 0) {
this.saleList = response.result;
} else {
this.$message.error(response.msg);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
//获取行业领域接口
smallbusinessselect(){
api.selectSmallBusinessTree('service_type').then(response => {
......@@ -760,6 +784,7 @@
this.projectphaselist();
this.projectformlist();
this.$forceUpdate();
this.getselectSale();
this.getselectCompanyOrContact();
if(this.$route.query.projectId){
this.Visible = false;
......
......@@ -101,4 +101,9 @@ export default {
deleteRedisCache (params){
return api.fetchPost('/business/trans/deleteRedisCache',params);
},
//查询销售列表
selectSaleList (){
return api.fetchGet('/business/project/selectSaleList');
},
}
\ No newline at end of file
......@@ -87,6 +87,10 @@ export default {
callLiveMessage( id ) {
return api.fetchGet( '/base/activity/callLiveMessage?channelId='+id);
},
//名片开关
processExchangeCards( id,state ) {
return api.fetchGet( '/base/activity/processExchangeCards?channelId='+id+'&exchangeCards='+state);
},
//时区
getTimeZoneList( ) {
......
......@@ -74,6 +74,9 @@
<el-button v-if="scope.row.hasLive == 1&&scope.row.liveState!=2" type="text" @click="getprocessLiveState(scope.row)">
{{scope.row.liveState==0?$t('livedata.start'):scope.row.liveState==1?$t('livedata.finish'):''}}
</el-button>
<el-button v-if="scope.row.hasLive == 1&&scope.row.liveState!=2" type="text" @click="processCard(scope.row)">
{{scope.row.exchangeCards==0?'关闭交换名片':scope.row.exchangeCards==1?'开启交换名片':''}}
</el-button>
<el-button v-if="scope.row.channelType == 5" type="text" @click="$router.push({path:'/moneystatistics',query:{channelId:scope.row.channelId}})">
{{$t('pubactivities.statistics')}}
</el-button>
......@@ -177,6 +180,21 @@
this.cur_page = 1;
this.getpublishActivityList();
},
//开关名片
processCard(row){
api.processExchangeCards(row.channelId,row.exchangeCards==0?1:0).then(response => {
if(response.code == 0) {
this.getpublishActivityList();
this.$message.success(this.$t('commonTitle.title'));
} else {
this.$message.error(response.msgCode);
}
})
.catch(error => {
console.log("提交出错");
return false;
});
},
//开播提醒
messageclk(row){
api.callLiveMessage(row.channelId).then(response => {
......
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