Commit abd027d1 authored by 王悦's avatar 王悦
parents f1dc0f60 281f4154
...@@ -35,7 +35,8 @@ export const pub={ ...@@ -35,7 +35,8 @@ export const pub={
closeWindow:'关闭窗口', closeWindow:'关闭窗口',
noMsg:'咱无', noMsg:'咱无',
returnBack:'返回', returnBack:'返回',
allday:'全天' allday:'全天',
clickToView:'点击查看',
} }
export const login = { export const login = {
...@@ -705,38 +706,31 @@ export const active = { ...@@ -705,38 +706,31 @@ export const active = {
cl_zanwu: '暂无', cl_zanwu: '暂无',
cl_qita: '其他', cl_qita: '其他',
} }
export const rule = {
company: '请选择公司',
ldNmae: '请输入抽奖名称',
ldNum: '请输入抽奖次数',
startDate: '请选择开始日期',
endDate: '请选择结束日期',
qsrzhbieming: '请输入账户别名',
qxzzhleixing: '请选择账户类型',
qxzyhjigou: '请选择银行机构',
qsrkhuren: '请输入开户人',
qsrkhuhang: '请输入开户行',
qsrptzhanghao: '请输入平台账号',
qsrptsxufei: '请输入平台手续费',
qsrzqxufei: '请输入正确的平台手续费',
qszssgongsi: '请选择所属公司',
qxzzhbizhong: '请选择账户币种',
qsrcsyue: '请输入初始余额',
qsrzqdyue: '请输入正确的余额',
szfzeren: '支款负责人',
fkfzeren: '付款负责人',
qxzfyleixing: '请选择费用类型',
qtxptsyongfei: '请填写平台使用费',
qtxptbzhengjin: '请填写平台保证金',
qxzbdyinhang: '请选择绑定银行',
qssrzhhaoma: '请输入账户号码',
qsrzqdzhhaoma: '请输入正确的账户号码',
}
export const fnc = { export const fnc = {
acc: '账户', acc: '账户',
accBming: '账户别名:', accBming: '账户别名:',
accType: '账户类型:', accType: '账户类型:',
ptjigou: '平台机构:', ptjigou: '平台机构:',
tcleibie: '提成类别:',
jiaoyie: '交易额',
retoushu: '人头数',
tcfangshi: '提成方式:',
gdbfenbi: '固定百分比',
jtbfenbi: '阶梯百分比',
tcbili: '提成比例:',
tcyaoqiu: '提成要求:',
shiyongongsi: '适用公司:',
ysdingjin: '已收定金',
wkshouqi: '尾款收齐',
jszhouqi: '结算周期:',
andjiesuan: '按单结算',
anyjiesuan: '按月结算',
jsyaoqiu: '结算要求:',
qzwcsyyq: '强制完成周期内所有订单提成要求',
bqzwancheng: '不用强制完成',
gdjine: '固定金额',
jtjine: '阶梯金额',
khuren: '开户人:', khuren: '开户人:',
ptAcc: '平台账户:', ptAcc: '平台账户:',
suoshugs: '所属公司:', suoshugs: '所属公司:',
...@@ -791,6 +785,95 @@ export const fnc = { ...@@ -791,6 +785,95 @@ export const fnc = {
yhkahao: '银行卡号:', yhkahao: '银行卡号:',
bweibi: '本位币', bweibi: '本位币',
waibi: '外币', waibi: '外币',
dhsunyi: '汇兑损益',
ljshouji: '累计收益',
shouyi: '收益',
kuisun: '亏损',
yingli: '盈利',
lcliebiao: '流程列表',
addliucheng: '新增流程',
syfeiyong: '适用费用',
gfyleixing: '个费用类型',
sygongsi: '适用公司',
jttongyong: '集团通用',
sydxianlu: '所有线路',
shiyongxianlu: '适用线路',
symdidi: '适用目的地:',
symudidi: '所有目的地',
qyshijian: '启用时间:',
syxianlu: '适用线路:',
qzrenshu: '起始人数',
zzrenshu: '终止人数',
jcbili: '基础比列',
ewjiangli: '额外奖励',
jttcblsd: '阶梯提成比例设定',
lcrizhi: '流程日志',
zwxgrizhi: '暂无修改日志',
zwkqliucheng: '暂未开启流程',
zlchengshu: '子流程数量',
no: '无',
rizhi: '日志',
liucheng: '流程',
skliucheng: '收款流程',
qiyong: '启用',
tingyong: '停用',
huiqian: '(会签)',
huoqian: '(或签)',
sprshezhi: '审批人设置',
sprleibie: '审批人类别',
jdmiaoshu: '节点描述',
jddongzuo: '节点动作',
zhuguan: '主管',
zdchengyuan: '指定成员',
tsjiedian: '特殊节点',
fqrende: '发起人的',
tjchengyuan: '添加成员',
huiquandetail: '会签(须所有审批人同意)',
huoqiandetail: '或签(一名审批人同意或拒绝即可)',
xzgangwei: '选择岗位',
addgangweo: '添加岗位',
xgjiedian: '修改节点',
jcxinxi: '基础信息',
lcmingcheng: '流程名称',
lcleixing: '流程类型',
scfujian: '上传附件',
buqiyong: '不启用',
qiyong: '启用',
syzhanghu: '适用账户',
yinhang: '银行',
xianjin: '现金',
pingtai: '平台',
zjinchi: '资金池',
mbmiaoshu: '模板描述',
lcshezhi: '流程设置',
mrspliucheng: '默认审批流程',
mrspiren: '默认审批人',
huiqian: '会签',
huoqian: '或签',
tianjia: '添加',
mrcsongren: '默认抄送人',
xuanze: '选择',
yixuan: '已选',
yixuangangwei: '已选岗位',
xzcsongren: '选择抄送人',
kjiedian: '空节点',
cnchuangkou: '出纳窗口',
kjchuangkou: '会计窗口',
xiankong: '线控',
jzchuna: '记账出纳',
skchuna: '收款出纳',
xzrenyuan: '选择人员',
addguize: '新增规则',
editguize: '修改规则',
gzmingcheng: '规则名称',
tcguize: '提成规则',
tcjilu: '提成记录',
tczhouqi: '提成周期',
dyjiesuan: '按单结算',
ayjiesuan: '按月结算',
dwala: '必选完成周期内所有的提成要求',
awala: '不强制完成周期内所有的提成要求',
meiyousunyi: '该账户当前还没有损益记录',
} }
export const tips = { export const tips = {
tips: '提示', tips: '提示',
...@@ -799,4 +882,79 @@ export const tips = { ...@@ -799,4 +882,79 @@ export const tips = {
cancleDelete: '已取消删除', cancleDelete: '已取消删除',
saveYes: '保存成功!', saveYes: '保存成功!',
sxhuilv: '以下汇率系统将每隔30分钟实时更新一次', sxhuilv: '以下汇率系统将每隔30分钟实时更新一次',
} yssdliucheng: '注:以上费用类型将会被执行你设定的流程',
\ No newline at end of file zwsyfeiyong: '暂无适用费用!',
qrsc: '确定删除',
lcmscbkhf: '流程吗?删除后不可恢复!',
qsrmiaoshu: '请输入6个字的描述',
srgjzjxguolv: '输入关键字进行过滤',
qxzsygongsi: '请选择适用公司!',
qxzsyfeiyong: '请选择适用费用!',
qxzspiren: '请选择审批人!',
qxzliucehng: '请选择流程类型!',
czchenggong: '操作成功!',
rsbncgtr: '人数不能超过10人',
qtxjdmiaoshu: '请填写节点描述!',
qxzbmzgjibie: '请选择部门主管级别!',
cybnweikong: '成员不能为空',
qxzgangwei: '请选择岗位',
qxzbumen: '请选择部门!',
di: '第',
jizhuguan: '级主管',
xzqyshijian: '选择启用时间',
cicaozuoyongjiushanchu: '此操作将永久删除该提成规则, 是否继续?',
shanchutishi: '删除提示',
shanchuchenggong: '删除成功',
baocunchenggong: '保存成功',
}
export const Operation = {
Op_ShortName:'线路简称',
Op_sname:'简称',
Op_depositAmount:'最低定金金额',
Op_EarlybirdDay:'早鸟优惠天数',
Op_LossAllocation:'损失分摊比列',
Op_partInCompany:'参与公司',
Op_belongDepartment:'所属部门',
Op_CombinedContry:'关联国家',
Op_lowDeposit:'最低定金',
Op_preferentialDays:'优惠天数',
Op_isDirect:'是否直采',
Op_isShared:'是否共享',
Op_AllowSmallGroup:'允许小包团',
Op_Project:'项目',
Op_notInvoled:'未参与',
Op_ManageDepartment:'管理部门',
}
export const rule = {
company: '请选择公司',
ldNmae: '请输入抽奖名称',
ldNum: '请输入抽奖次数',
startDate: '请选择开始日期',
endDate: '请选择结束日期',
qsrzhbieming: '请输入账户别名',
qxzzhleixing: '请选择账户类型',
qxzyhjigou: '请选择银行机构',
qsrkhuren: '请输入开户人',
qsrkhuhang: '请输入开户行',
qsrptzhanghao: '请输入平台账号',
qsrptsxufei: '请输入平台手续费',
qsrzqxufei: '请输入正确的平台手续费',
qszssgongsi: '请选择所属公司',
qxzzhbizhong: '请选择账户币种',
qsrcsyue: '请输入初始余额',
qsrzqdyue: '请输入正确的余额',
szfzeren: '支款负责人',
fkfzeren: '付款负责人',
qxzfyleixing: '请选择费用类型',
qtxptsyongfei: '请填写平台使用费',
qtxptbzhengjin: '请填写平台保证金',
qxzbdyinhang: '请选择绑定银行',
qssrzhhaoma: '请输入账户号码',
qsrzqdzhhaoma: '请输入正确的账户号码',
qsrlcmingcheng: '请输入流程名称',
qsrjcbili: '请输入基础比例',
qsrwmjiangli: '请输入外卖奖励',
qsrgzmingcheng: '请输入规则名称',
qzsxzytxianlu: '请至少选择一个适用线路',
qzsxzyggongsi: '请至少选择一个适用公司',
}
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
} }
.TPsecondTitle { .TPsecondTitle {
display: inline-block; display: inline-block;
margin: 12px 0 0 0; margin: 18px 0 0 0;
width: 50px; width: 50px;
text-align: right; text-align: right;
} }
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
height: 30px; height: 30px;
text-align: center; text-align: center;
line-height: 30px; line-height: 30px;
margin-right:30px;
} }
.ShoppingDetails .backBtn { .ShoppingDetails .backBtn {
float: right; float: right;
...@@ -51,14 +52,13 @@ ...@@ -51,14 +52,13 @@
height: 38px; height: 38px;
background-color: #ededed; background-color: #ededed;
line-height: 38px; line-height: 38px;
min-width: 1400px;
} }
.infoTitle span { .infoTitle span {
display: inline-block; display: inline-block;
color: #000000; color: #000000;
font-family: PingFangSC-Semibold, sans-serif; font-family: PingFangSC-Semibold, sans-serif;
font-size: 12px; font-size: 12px;
width: 10%; width: 12%;
text-align: center; text-align: center;
} }
.listInfo { .listInfo {
...@@ -66,7 +66,6 @@ ...@@ -66,7 +66,6 @@
height: 50px; height: 50px;
background-color: #fff; background-color: #fff;
margin-bottom: 10px; margin-bottom: 10px;
min-width: 1400px;
line-height: 50px; line-height: 50px;
font-size: 12px; font-size: 12px;
} }
...@@ -76,7 +75,7 @@ ...@@ -76,7 +75,7 @@
} }
.listInfo span { .listInfo span {
display: inline-block; display: inline-block;
width: 10%; width: 12%;
text-align: center; text-align: center;
} }
.travelProfit { .travelProfit {
...@@ -153,21 +152,31 @@ ...@@ -153,21 +152,31 @@
background-color: #fff; background-color: #fff;
padding-top: 50px; padding-top: 50px;
} }
.Shop_span{
font-size:14px;
}
</style> </style>
<template> <template>
<div class='flexOne ShoppingDetails'> <div class='flexOne ShoppingDetails'>
<div class="dataIn clearfix"> <div class="dataIn clearfix">
<div class="storeName">{{Name}}</div> <div class="storeName">{{Name}}</div>
<input type="button" class="hollowFixedBtn backBtn" @click="goUrl('ShoppingStore')" value="返回"/> <span class="Shop_span">日期</span>
<input type="button" class="normalBtn backBtn" @click="showStatis(1)" v-if="isShow==false" value="数据看板"/> <el-date-picker class="w150" type="date" v-model="msg.StartDate" :picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
<el-date-picker class="w150" type="date" v-model="msg.EndDate" :picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
<input type="button" class="normalBtn backBtn" @click="showStatis(1)" v-if="isShow==false" value="数据看板" style="display:none;"/>
<input type="button" class="normalBtn backBtn" @click="showStatis(2)" v-else value="列表"/> <input type="button" class="normalBtn backBtn" @click="showStatis(2)" v-else value="列表"/>
<input type="button" class="hollowFixedBtn backBtn" @click="goUrl('ShoppingStore')" value="返回"/>
<input type="button" class="hollowFixedBtn backBtn" @click="getList()" value="查询"/>
</div> </div>
<div class="listSpan"> <!-- <div class="listSpan">
<span>总交易额:<label class="ShopDetail_c1 fbold">{{TotalPrice}}</label></span> <span>总交易额:<label class="ShopDetail_c1 fbold">{{TotalPrice}}</label></span>
<span>旅行社盈利:<label class="ShopDetail_c2 fbold">{{GroupExtract}}</label></span> <span>旅行社盈利:<label class="ShopDetail_c2 fbold">{{GroupExtract}}</label></span>
<span>导游盈利:<label class="ShopDetail_c3 fbold">{{GuideExtract}}</label></span> <span>导游盈利:<label class="ShopDetail_c3 fbold">{{GuideExtract}}</label></span>
<span>领队盈利:<label class="ShopDetail_c4 fbold">{{LeaderExtract}}</label></span> <span>领队盈利:<label class="ShopDetail_c4 fbold">{{LeaderExtract}}</label></span>
</div> </div> -->
<div class="mainInfo" :class="{'hidDiv':isShow}"> <div class="mainInfo" :class="{'hidDiv':isShow}">
<div class="infoTitle"> <div class="infoTitle">
<span>进店日期</span> <span>进店日期</span>
...@@ -176,32 +185,30 @@ ...@@ -176,32 +185,30 @@
<span>旅行社提成</span> <span>旅行社提成</span>
<span>导游提成</span> <span>导游提成</span>
<span>领队提成</span> <span>领队提成</span>
<span>操作人</span> <span>返佣余额</span>
<span>币种</span> <span>返佣总计</span>
<span>日期</span>
</div> </div>
<div class="listInfo" v-for="item in DataList" :key="item.subCode"> <div class="listInfo" v-for="item in DataList" :key="item.subCode">
<span>{{item.StoreTime}}</span> <span>{{item.StoreTime}}</span>
<span>{{item.TCID}}</span> <span>{{item.TCID}}</span>
<span class="totalPrice"> <span class="totalPrice">
<label class="total ShopDetail_c1">{{item.NowTotalPrice}}</label> <label class="total ShopDetail_c1">{{getPrice(item.TotalMoney,item.DMCRate)}}</label>
<label class="littleTotal">{{item.TotalPrice}}*{{item.Rate}}</label> <label class="littleTotal">{{item.TotalMoney}}*{{item.DMCRate}}</label>
</span> </span>
<span class="totalPrice"> <span class="totalPrice">
<label class="total ShopDetail_c2">{{item.NowGroupExtract}}</label> <label class="total ShopDetail_c2">{{getPrice(item.CompanyCommission,item.DMCRate)}}</label>
<label class="littleTotal">{{item.GroupExtract}}*{{item.Rate}}</label> <label class="littleTotal">{{item.CompanyCommission}}*{{item.DMCRate}}</label>
</span> </span>
<span class="totalPrice"> <span class="totalPrice">
<label class="total ShopDetail_c3">{{item.NowGuideExtract}}</label> <label class="total ShopDetail_c3">{{getPrice(item.GuideCommission,item.DMCRate)}}</label>
<label class="littleTotal">{{item.GuideExtract}}*{{item.Rate}}</label> <label class="littleTotal">{{item.GuideCommission}}*{{item.DMCRate}}</label>
</span> </span>
<span class="totalPrice"> <span class="totalPrice">
<label class="total ShopDetail_c4">{{item.NowLeaderExtract}}</label> <label class="total ShopDetail_c4">{{getPrice(item.LeaderCommission,item.DMCRate)}}</label>
<label class="littleTotal">{{item.LeaderExtract}}*{{item.Rate}}</label> <label class="littleTotal">{{item.LeaderCommission}}*{{item.DMCRate}}</label>
</span> </span>
<span>{{item.emName}}</span> <span>{{item.OtherDeduct}}</span>
<span>{{item.currencyName}}</span> <span>{{item.BackTotalMoney}}</span>
<span>{{item.UpdateDate}}</span>
</div> </div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total>
</el-pagination> </el-pagination>
...@@ -241,7 +248,9 @@ export default { ...@@ -241,7 +248,9 @@ export default {
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
ShoppingID: "" ShopId: "",
StartDate:'',
EndDate:''
}, },
noData: false, noData: false,
loading: true, loading: true,
...@@ -269,27 +278,40 @@ export default { ...@@ -269,27 +278,40 @@ export default {
DayGroupExtract: [], DayGroupExtract: [],
DayGuideExtract: [], DayGuideExtract: [],
DayLeaderExtract: [], DayLeaderExtract: [],
DaydataZoom: [] DaydataZoom: [],
pickerBeginDateBefore: {
disabledDate: time => {
let endTime = new Date(this.msg.EndDate)
return endTime.getTime() < time.getTime()
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.StartDate)
return startTime.getTime() >= time.getTime()
}
}
}; };
}, },
methods: { methods: {
getList() { getList() {
this.loading = true; this.loading = true;
this.apipost( this.apipost(
"ShoppingInfo_Post_GetPageList", "ShoppingInfo_Post_GetPriceShopDetailsPageList",
this.msg, this.msg,
res => { res => {
this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.loading = false; this.loading = false;
if (res.data.data.count > 0) { if (res.data.data.count > 0) {
this.total = res.data.data.count;
this.noData = false; this.noData = false;
this.DataList = res.data.data.pageData;
} else { } else {
this.noData = true; this.noData = true;
} }
} else { this.total = res.data.data.count;
this.loading = false; this.DataList = res.data.data.pageData;
}else{
this.Error(res.data.message);
} }
}, },
err => {} err => {}
...@@ -490,10 +512,14 @@ export default { ...@@ -490,10 +512,14 @@ export default {
}; };
myChart.clear(); myChart.clear();
myChart.setOption(option2); myChart.setOption(option2);
} },
//乘以获得2位小数
getPrice(x,y){
return (x*y).toFixed(2);
}
}, },
mounted() { mounted() {
this.msg.ShoppingID = this.$route.query.id; this.msg.ShopId = this.$route.query.id;
this.Name = this.$route.query.Name; this.Name = this.$route.query.Name;
this.TotalPrice = this.$route.query.TotalPrice; this.TotalPrice = this.$route.query.TotalPrice;
this.GroupExtract = this.$route.query.GroupExtract; this.GroupExtract = this.$route.query.GroupExtract;
......
...@@ -631,6 +631,8 @@ ...@@ -631,6 +631,8 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-if="item.Status==2" @click.native="OutGroup(item.TCID,1)">销售 <el-dropdown-item v-if="item.Status==2" @click.native="OutGroup(item.TCID,1)">销售
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item @click.native="goSureOrder('priceIncomeConfirmInfo',item.TCID)" style="display:none;">收入确认单
</el-dropdown-item>
<el-dropdown-item v-if="CurrentUserInfo.B2BDomain!=''" @click.native="goB2B(item.ConfigId, item.TCID)"> <el-dropdown-item v-if="CurrentUserInfo.B2BDomain!=''" @click.native="goB2B(item.ConfigId, item.TCID)">
B2B预览 B2B预览
</el-dropdown-item> </el-dropdown-item>
...@@ -1221,6 +1223,16 @@ ...@@ -1221,6 +1223,16 @@
}) })
window.open(routeData.href, '_blank') window.open(routeData.href, '_blank')
}, },
goSureOrder(path,TCID){
this.$router.push({
name: path,
query: {
TCID: TCID,
blank: 'y',
tab: '收入确认单'
}
})
},
goUrlMake(path, LineID, TCID, name) { goUrlMake(path, LineID, TCID, name) {
this.$router.push({ this.$router.push({
name: path, name: path,
......
<style>
.priceIncomeTable{
width:1200px;
border-collapse:collapse;
font-size:14px;
}
.priceIncomeTable td{
border: 1px solid #dcdfe6;
height:34px;
background-color: #fff;
text-align: center;
}
.priceComtd{
background: #e6e6e6!important;
}
.princeOrderSpan{
margin-right:10px;
display: inline-block;
}
.PriceRemark{
width:100%;
min-height: 100px;
padding:10px;
font-size: 14px;
background-color: #fff;
}
.leftRemarkTitle{
float:left;
width:5%;
text-align: right;
}
.rightRemarkContent{
float:left;
width:95%;
}
</style>
<template>
<div>
<table class="singeRowTable">
<tr>
<th colspan="10">团队收入确认单</th>
</tr>
<tr>
<th>部门</th>
<th width="250">单号</th>
<th width="180">团号</th>
<th>团队编号</th>
<th>人数</th>
<th width="100">领队</th>
<th>团费收入合计</th>
<th>直客收入</th>
<th>同行交客收入</th>
<th>平台收入</th>
</tr>
<tr>
<td>{{dataList.DepartmentName}}</td>
<td>
<span class="princeOrderSpan" v-for="item in dataList.OrderIds">{{item}}</span>
</td>
<td>{{dataList.TCNUM}}</td>
<td>{{dataList.TCID}}</td>
<td>{{dataList.PeopleNum}}</td>
<td>{{dataList.LeaderName}}</td>
<td>{{dataList.TotalIncome}}</td>
<td>{{dataList.DirectGuestIncome}}</td>
<td>{{dataList.PlatformGuestIncome}}</td>
<td>{{dataList.PlatformIncome}}</td>
</tr>
</table>
<div class="PriceRemark clearfix">
<div class="leftRemarkTitle">备注:</div>
<div class="rightRemarkContent">{{dataList.Remark}} </div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
loading:false,
msg: {
tcid:''
},
dataList:[],
};
},
methods: {
getList() {
//获取数据
this.loading=true;
this.apipost(
"travel_post_GetPriceIncomeConfirmInfo",
this.msg,
res => {
this.loading=false;
if (res.data.resultCode == 1) {
console.log(res,'data');
this.dataList = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
},
mounted() {
this.msg.tcid = this.$route.query.TCID;
this.getList();
}
};
</script>
...@@ -1427,6 +1427,14 @@ export default { ...@@ -1427,6 +1427,14 @@ export default {
title: '团控列表' title: '团控列表'
}, },
}, },
{
path: '/priceIncomeConfirmInfo',///priceIncomeConfirmInfo
name: 'priceIncomeConfirmInfo',
component: resolve => require(['@/components/TravelManager/TravelList//priceIncomeConfirmInfo'], resolve),
meta: {
title: '收入确认单'
},
},
{ {
//团控列表 自主开团 //团控列表 自主开团
path: '/TravelControlListSale', path: '/TravelControlListSale',
......
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