Commit 3e5765f8 authored by 华国豪's avatar 华国豪 🙄
parents 8c4a1196 ed0ab59e
...@@ -414,8 +414,18 @@ var commonUtils = { ...@@ -414,8 +414,18 @@ var commonUtils = {
} }
myDate = myDate.setDate(myDate.getDate() + day); myDate = myDate.setDate(myDate.getDate() + day);
myDate = new Date(myDate); myDate = new Date(myDate);
//返回年月日 var seperator1 = "-";
return myDate.getFullYear() + '-' + parseInt(myDate.getMonth() + 1) + "-" + myDate.getDate() var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var strDate = myDate.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = year + seperator1 + month + seperator1 + strDate;
return currentdate;
} }
} }
......
...@@ -278,7 +278,7 @@ ...@@ -278,7 +278,7 @@
</el-option> </el-option>
</el-select> </el-select>
</div> --> </div> -->
<div class="approval_layer_info" v-if="approvalType==5||approvalType==6||approvalType==7||approvalType==8 || approvalType==9||approvalType==10"> <div class="approval_layer_info" v-if="approvalType==5||approvalType==6||approvalType==7||approvalType==8 || approvalType==9||approvalType==10||approvalType==11">
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-radio-group v-model="AuditWay"> <el-radio-group v-model="AuditWay">
<el-radio :label="2">{{$t('fnc.huiquandetail')}}</el-radio> <el-radio :label="2">{{$t('fnc.huiquandetail')}}</el-radio>
...@@ -613,6 +613,10 @@ export default { ...@@ -613,6 +613,10 @@ export default {
id:10, id:10,
name:"分公司OP" name:"分公司OP"
}, },
{
id:11,
name:"总部线控"
},
], ],
accListMsg:[], accListMsg:[],
SpecialNodeSelectType:'', SpecialNodeSelectType:'',
...@@ -1267,6 +1271,16 @@ export default { ...@@ -1267,6 +1271,16 @@ export default {
this.myAuditList[this.updateItemIndex]=AuditList; this.myAuditList[this.updateItemIndex]=AuditList;
} }
if(type==11){//总部线控
AuditList.AuditType = 11;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==8){//记账负责人 if(type==8){//记账负责人
// if(!this.WindowID){ // if(!this.WindowID){
// this.$message.error("请选择窗口!") // this.$message.error("请选择窗口!")
...@@ -1331,7 +1345,7 @@ export default { ...@@ -1331,7 +1345,7 @@ export default {
this.showRole.push({DepartmentName:obj.AduitName,Id:obj.RoleOrInitiator}) this.showRole.push({DepartmentName:obj.AduitName,Id:obj.RoleOrInitiator})
this.SpecialNodeSelectType = obj.AuditType; this.SpecialNodeSelectType = obj.AuditType;
} }
if(obj.AuditType==5||obj.AuditType==6||obj.AuditType==7 || obj.AuditType==8 || obj.AuditType==9||obj.AuditType==10){ if(obj.AuditType==5||obj.AuditType==6||obj.AuditType==7 || obj.AuditType==8 || obj.AuditType==9||obj.AuditType==10||obj.AuditType==11){
this.AuditWay=obj.AuditWay; this.AuditWay=obj.AuditWay;
this.WindowID = obj.RoleOrInitiator; this.WindowID = obj.RoleOrInitiator;
this.SpecialNodeSelectType = obj.AuditType; this.SpecialNodeSelectType = obj.AuditType;
...@@ -1533,6 +1547,15 @@ export default { ...@@ -1533,6 +1547,15 @@ export default {
AuditList.AuditDescription = this.AuditDescription; AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue; AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList); this.myAuditList.push(AuditList);
}
if(type==11){//总部线控
AuditList.AuditType = 11;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
} }
if(type==8){//记账出纳 if(type==8){//记账出纳
// if(!this.WindowID){ // if(!this.WindowID){
......
...@@ -187,7 +187,7 @@ ...@@ -187,7 +187,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="单间成本价" prop="SingleroomPrice"> <el-form-item label="自然单间成本价" prop="SingleroomPrice">
<el-input-number v-model="msg2.SingleroomPrice" :precision="2" :min="0"></el-input-number> <el-input-number v-model="msg2.SingleroomPrice" :precision="2" :min="0"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -424,7 +424,7 @@ ...@@ -424,7 +424,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="单间成本价" prop="SingleroomPrice"> <el-form-item label="自然单间成本价" prop="SingleroomPrice">
<el-input-number v-model="msg.SingleroomPrice" :precision="2" :min="0"></el-input-number> <el-input-number v-model="msg.SingleroomPrice" :precision="2" :min="0"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
......
...@@ -707,6 +707,14 @@ ...@@ -707,6 +707,14 @@
<p><span>出发城市</span>{{item.StartCityName}}</p> <p><span>出发城市</span>{{item.StartCityName}}</p>
<p><span>返回城市</span>{{item.ReturnArriveCityName}}</p> <p><span>返回城市</span>{{item.ReturnArriveCityName}}</p>
<p><span>出团公司</span>{{item.OutBranchName}}</p> <p><span>出团公司</span>{{item.OutBranchName}}</p>
<p v-show="item.ClearOrderHour>0">
<span>同行清位时间</span>
<span class="TCL-greenType">{{item.ClearOrderHour}}小时</span>
</p>
<p v-show="item.SaleClearOrderHour&&item.SaleClearOrderHour>0">
<span>销售清位时间</span>
<span class="TCL-greenType">{{item.SaleClearOrderHour}}小时</span>
</p>
<p v-if="item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 "> <p v-if="item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 ">
<el-popover width="600" trigger="click" popper-class="PQ_HotelPop"> <el-popover width="600" trigger="click" popper-class="PQ_HotelPop">
<commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj"></commonHotelInfo> <commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj"></commonHotelInfo>
......
...@@ -3,26 +3,25 @@ ...@@ -3,26 +3,25 @@
<div class="Feedbackchart"> <div class="Feedbackchart">
<div style="margin:0 auto;width:1200px"> <div style="margin:0 auto;width:1200px">
<div style="font-size:14px;color:#666666;margin:10px 0"> <div style="font-size:14px;color:#666666;margin:10px 0">
<span>线路:不限</span> <span>线路:{{msg.lineName}}</span>
<span>系列:不限</span> <span>系列:{{msg.LineteamName}}</span>
<span>发团日期:2019-08-05至2019-05-20</span> <span>发团日期:
<span v-if="msg.reStartDate!=''">{{msg.reStartDate}} - {{msg.reEndDate}}</span>
<span v-else>不限</span>
</span>
</div> </div>
<div class="bannerList"> <div class="bannerList">
<div class="Item"> <div v-show="index=='整体评分'" v-for="(item,index) in ScoreJson" class="Item">
<img src="../../../assets/img/fk/1.png" alt=""> <img src="../../../assets/img/fk/1.png" alt="">
<p class="num">4.55</p> <p class="num">{{ScoreJson[index]}}</p>
<p style="font-size:14px;color:#666666;">整体评分</p> <p style="font-size:14px;color:#666666;">{{index}}</p>
</div> </div>
<div class="Item"> <div v-show="index!='整体评分'" v-for="(item,index) in ScoreJson" class="Item">
<img src="../../../assets/img/fk/2.png" alt=""> <img src="../../../assets/img/fk/1.png" alt="">
<p class="num">4.55</p> <p class="num">{{ScoreJson[index]}}</p>
<p style="font-size:14px;color:#666666;">住宿安排</p> <p style="font-size:14px;color:#666666;">{{index}}</p>
</div>
<div class="Item">
<img src="../../../assets/img/fk/3.png" alt="">
<p class="num">4.55</p>
<p style="font-size:14px;color:#666666;">餐食安排</p>
</div> </div>
</div> </div>
<div class="pieChart" style="width:100%"> <div class="pieChart" style="width:100%">
<div> <div>
...@@ -47,13 +46,16 @@ ...@@ -47,13 +46,16 @@
<span @click="goUrl('Usersuggest')" style="float:right;font-size:12px;color:#333333;cursor:pointer">查看全部</span> <span @click="goUrl('Usersuggest')" style="float:right;font-size:12px;color:#333333;cursor:pointer">查看全部</span>
</p> </p>
<ul> <ul>
<li> <li v-for="(item,index) in SuggestList" :key="index">
<img style="width:40px;height:40px" src="../../../assets/img/fk/8.png" alt=""> <img style="width:40px;height:40px" src="../../../assets/img/fk/8.png" alt="">
<div class="Item"> <div class="Item">
<p style="color:#3751FE">156456</p> <p style="color:#3751FE">{{item.GuestId}}</p>
<p>henbucooasd</p> <p>{{item.TextContent}}</p>
</div> </div>
</li> </li>
<div v-if="SuggestList.length==0" style="text-align:center;padding:40px 0;">
<i style="font-size:80px" class="iconfont icon-wushuju"></i>
</div>
</ul> </ul>
</div> </div>
</div> </div>
...@@ -68,16 +70,116 @@ export default { ...@@ -68,16 +70,116 @@ export default {
data (){ data (){
return{ return{
zChartcolor:["#3751FE","#7C8DFF","#04E38A","#9DFF86","#FFE689","#FDF39E","#FF918E"], zChartcolor:["#3751FE","#7C8DFF","#04E38A","#9DFF86","#FFE689","#FDF39E","#FF918E"],
msg:{},
ScoreJson:{},
planList:[],
priorityList:[],
destinationList:[],
arr:[{name:"暂无数据",value:100}],
SuggestList:[],
arrZ:[{ name: "暂无数据",type: 'bar',color:"#3751FE",data: [10]}]
} }
}, },
created(){
if(this.$route.query.msg){
this.msg=JSON.parse(this.$route.query.msg);
}
this.getSurveyAnalyze();
this.getNextPlan();
this.getpriority();
this.destination();
this.getSuggest();
},
mounted(){ mounted(){
this.creatChart1();
this.creatChart2();
this.creatChart3();
}, },
methods:{ methods:{
getSuggest() {
this.apiJavaPost("/api/erp/survey/getSuggest", this.msg, res => {
if (res.data.resultCode === 1) {
this.SuggestList=res.data.data.pageData;
} else {
this.Error(res.data.message)
}
}, null);
},
// 下次出游目的地
destination() {
this.apiJavaPost("/api/erp/survey/destination", this.msg, res => {
// console.log("destinationList",res)
if (res.data.resultCode === 1) {
this.destinationList=[];
let data=res.data.data;
data.forEach(item=>{
let a=Math.ceil(Math.random()*this.zChartcolor.length);
let obj={
name: item.TextContent,
type: 'bar',
color:this.zChartcolor[a],
data: [item.num]
};
this.destinationList.push(obj)
})
if(this.destinationList.length==0){
this.destinationList=this.arrZ
}
console.log("this.destinationList=",this.destinationList)
this.creatChart3();
} else {
this.Error(res.data.message)
}
}, null);
},
// 印象优先
getpriority() {
this.apiJavaPost("/api/erp/survey/getpriority", this.msg, res => {
if (res.data.resultCode === 1) {
this.priorityList=res.data.data;
this.priorityList.forEach(item=>{
item.value=item.num;
})
if(this.priorityList.length==0){
this.priorityList=this.arr;
}
this.creatChart2();
} else {
this.Error(res.data.message)
}
}, null);
},
// 计划出游
getNextPlan() {
this.apiJavaPost("/api/erp/survey/getNextPlan", this.msg, res => {
if (res.data.resultCode === 1) {
this.planList=res.data.data;
this.planList.forEach(item=>{
item.value=item.num;
})
if(this.planList.length==0){
this.planList=this.arr;
}
this.creatChart1();
} else {
this.Error(res.data.message)
}
}, null);
},
// 旅客反馈评分
getSurveyAnalyze() {
this.apiJavaPost("/api/erp/survey/getSurveyAnalyze", this.msg, res => {
if (res.data.resultCode === 1) {
this.ScoreJson=res.data.data;
} else {
this.Error(res.data.message)
}
}, null);
},
goUrl(path){ goUrl(path){
this.$router.push({ name:path,query:{blank: 'y'} }) this.$router.push({ name:path,query:{"msg":JSON.stringify(this.msg),blank: 'y'} })
}, },
creatChart1() { creatChart1() {
let myChart = this.$echarts.init(document.getElementById("chart1")); let myChart = this.$echarts.init(document.getElementById("chart1"));
...@@ -142,7 +244,7 @@ export default { ...@@ -142,7 +244,7 @@ export default {
} }
} }
}, },
data: [{"name":"测试1","value":20},{"name":"测试2","value":20},{"name":"测试3","value":20},] data: this.planList
} }
] ]
}; };
...@@ -212,7 +314,7 @@ export default { ...@@ -212,7 +314,7 @@ export default {
} }
} }
}, },
data: [{"name":"测试1","value":20},{"name":"测试2","value":20},{"name":"测试3","value":20},] data:this.priorityList
} }
] ]
}; };
...@@ -248,32 +350,7 @@ export default { ...@@ -248,32 +350,7 @@ export default {
type: 'category', type: 'category',
data: ['目的地'] data: ['目的地']
}, },
series: [ series: this.destinationList
{
name: '2011年',
type: 'bar',
color:"#3751FE",
data: [18203]
},
{
name: '2012年',
type: 'bar',
color:"#7C8DFF",
data: [19325]
},
{
name: '2015年',
type: 'bar',
color:"#04E38A",
data: [700]
},
{
name: '2016年',
type: 'bar',
color:"#9DFF86",
data: [500]
}
]
}; };
myChart.setOption(option); myChart.setOption(option);
...@@ -342,7 +419,7 @@ export default { ...@@ -342,7 +419,7 @@ export default {
} }
.bannerList .Item{ .bannerList .Item{
display: inline-flex; display: inline-flex;
width:154px; width:150px;
height:174px; height:174px;
background:rgba(255,255,255,1); background:rgba(255,255,255,1);
border:2px solid rgba(235, 237, 244, 1); border:2px solid rgba(235, 237, 244, 1);
...@@ -351,7 +428,8 @@ export default { ...@@ -351,7 +428,8 @@ export default {
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
margin-right: 20px; margin-right: 20px;
box-sizing: border-box box-sizing: border-box;
margin-bottom:20px;
} }
.zhanbitu{ .zhanbitu{
......
...@@ -7,18 +7,18 @@ ...@@ -7,18 +7,18 @@
<span> <span>
<em>线路</em> <em>线路</em>
</span> </span>
<el-select filterable v-model="msg.lineID" @change="getLineTeamList(msg.lineID)"> <el-select filterable v-model="obj.LineID" value-key="LineID" @change="getLineTeamList">
<el-option label="不限" :value='0'></el-option> <el-option label="不限" :value='{LineName:"不限",LineID:0}'></el-option>
<el-option v-for="item in LineList" :label='item.LineName' :value='item.LineID' :key='item.LineID'></el-option> <el-option v-for="item in LineList" :label='item.LineName' :value='item' :key='item.LineID'></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<span> <span>
<em>系列</em> <em>系列</em>
</span> </span>
<el-select filterable v-model="msg.LineteamId"> <el-select filterable v-model="obj.LineteamId" value-key="LtID" @change="getLineLtID">
<el-option label="不限" :value='0'></el-option> <el-option label="不限" :value='{LtName:"不限",LtID:0}'></el-option>
<el-option v-for="item in LineTeamList" :label='item.LtName' :value='item.LtID' :key='item.LtID'> <el-option v-for="item in LineTeamList" :label='item.LtName' :value='item' :key='item.LtID'>
</el-option> </el-option>
</el-select> </el-select>
</li> </li>
...@@ -37,7 +37,8 @@ ...@@ -37,7 +37,8 @@
<em>发团时间</em> <em>发团时间</em>
</span> </span>
<el-date-picker <el-date-picker
value-format="yyyy-mm-dd" value-format="yyyy-MM-dd"
:picker-options="pickerDisabled"
size="small" size="small"
v-model="dateList" v-model="dateList"
type="daterange" type="daterange"
...@@ -68,7 +69,9 @@ ...@@ -68,7 +69,9 @@
<td>{{item.start}}</td> <td>{{item.start}}</td>
<td>{{item.tCNUM}}</td> <td>{{item.tCNUM}}</td>
<td> <td>
{{(item.sumScore/fields.length).toFixed(1)}} <span v-if="fields.length>0">{{(item.sumScore/fields.length).toFixed(1)}}</span>
<span v-else>{{item.sumScore}}</span>
</td> </td>
<td v-for="(c,childIndex) in fields" :key="childIndex">{{item[c]?item[c]:0}}</td> <td v-for="(c,childIndex) in fields" :key="childIndex">{{item[c]?item[c]:0}}</td>
...@@ -92,11 +95,12 @@ ...@@ -92,11 +95,12 @@
</template> </template>
<script> <script>
import moment from "moment"
export default { export default {
name: 'Feedback', name: 'Feedback',
data (){ data (){
return{ return{
obj:{},
dataList:[], dataList:[],
loading:false, loading:false,
msg:{ msg:{
...@@ -106,14 +110,22 @@ export default { ...@@ -106,14 +110,22 @@ export default {
LineteamId:0, LineteamId:0,
reStartDate:'', reStartDate:'',
reEndDate:'', reEndDate:'',
isScore:0 isScore:0,
lineName:"不限",
LineteamName:"不限",
}, },
total:0, total:0,
currentPage:1, currentPage:1,
dateList:[], dateList:[],
LineList:[], LineList:[],
LineTeamList:[], LineTeamList:[],
fields:[] fields:[],
pickerDisabled: { //验证时间范围
disabledDate:(time)=>{
let _now = Date.now();
return time.getTime() > _now ;
}
}
} }
}, },
mounted(){ mounted(){
...@@ -124,18 +136,25 @@ export default { ...@@ -124,18 +136,25 @@ export default {
chaKan(item){ chaKan(item){
this.$router.push({ name:'investigationList',query:{"TCID":item.tcid,blank: 'y'} }) this.$router.push({ name:'investigationList',query:{"TCID":item.tcid,blank: 'y'} })
}, },
goUrl(){ goUrl(){
this.$router.push({ name:'FeedbackChart',query:{"customerId":1,blank: 'y'} }) this.$router.push({ name:'FeedbackChart',query:{"msg":JSON.stringify(this.msg),blank: 'y'} })
}, },
getLineList() { getLineList() {
this.apipost("line_post_GetAllList_V2", {LineDirection: 0}, res => { this.apipost("line_post_GetAllList_V2", {LineDirection: 0}, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.LineList = res.data.data; this.LineList = res.data.data;
} }
}); });
}, },
getLineLtID(val){
this.msg.LineteamId=val.LtID;
this.msg.LineteamName=val.LtName;
},
//获取系列列表 //获取系列列表
getLineTeamList(lineId) { getLineTeamList(val) {
let lineId=val.LineID;
this.msg.lineID=val.LineID;
this.msg.lineName=val.LineName;
this.LineTeamList = [] this.LineTeamList = []
this.apipost("team_post_GetList", { this.apipost("team_post_GetList", {
lineID: lineId, lineID: lineId,
...@@ -149,20 +168,32 @@ export default { ...@@ -149,20 +168,32 @@ export default {
getList(){ getList(){
if(this.dateList){ if(this.dateList && this.dateList.length>0){
this.msg.reStartDate=this.dateList[0]; this.msg.reStartDate=this.dateList[0];
this.msg.reEndDate=this.dateList[1]; this.msg.reEndDate=this.dateList[1];
}else{ //计算相差多少天 day可以是second minute
this.msg.reStartDate=""; let m1=moment(this.msg.reStartDate)
this.msg.reEndDate=""; let m2=moment(this.msg.reEndDate)
} let year = m2.diff(m1, 'year');
if(year>0){
this.Error("最多查询一年的数据!")
return;
}
}else{
this.msg.reStartDate="";
this.msg.reEndDate="";
}
this.loading=true; this.loading=true;
this.apiJavaPost("/api/erp/survey//getSurveyList", this.msg, res => { this.apiJavaPost("/api/erp/survey//getSurveyList", this.msg, res => {
this.loading = false; this.loading = false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
let arrays=[] let arrays=[];
console.log("res.data.data.pageData",res.data.data)
res.data.data.pageData.forEach(x => { res.data.data.pageData.forEach(x => {
let isHave=false let isHave=false
if(x.tCID!=0 || x.tCID || x.tCID!=''){
if(this.fields.indexOf(x.title)==-1&&x.title!=''){ if(this.fields.indexOf(x.title)==-1&&x.title!=''){
this.fields.push(x.title) this.fields.push(x.title)
} }
...@@ -175,20 +206,27 @@ export default { ...@@ -175,20 +206,27 @@ export default {
return false return false
} }
}) })
} }
if(!isHave){ if(!isHave){
let obj={ let obj={
tcid:x.tCID, tcid:x.tCID,
start:x.startDate.split('T')[0], start:"",
sumScore:x.scoreNum, sumScore:x.scoreNum,
tCNUM:x.tCNUM tCNUM:x.tCNUM
} }
obj[x.title]=x.scoreNum if(x.startDate){
arrays.push(obj) obj.start=x.startDate.split('T')[0]
}
obj[x.title]=x.scoreNum
arrays.push(obj)
}
} }
}); });
this.dataList=arrays; this.dataList=arrays;
console.log("this.dataList",this.dataList)
this.total=this.dataList.length; this.total=this.dataList.length;
} else { } else {
this.Error(res.data.message) this.Error(res.data.message)
......
...@@ -88,7 +88,16 @@ ...@@ -88,7 +88,16 @@
<tr v-for="(subItem,subIndex) in item" :class="{'redTr':subItem.VisaState==1}"> <tr v-for="(subItem,subIndex) in item" :class="{'redTr':subItem.VisaState==1}">
<td v-if="subIndex==0" :rowspan="subItem.RowsCount">{{index+1}}</td> <td v-if="subIndex==0" :rowspan="subItem.RowsCount">{{index+1}}</td>
<td v-if="subIndex==0" :rowspan="subItem.RowsCount"></td> <td v-if="subIndex==0" :rowspan="subItem.RowsCount"></td>
<td>{{getHouseTypeStr(subItem)}}</td> <td>
<!--自然单间 指定单间(单房差)-->
<template v-if="subItem.SingleRoomType==subItem.HouseType">
{{getHouseTypeStr(subItem.HouseType)}}
</template>
<template v-else>
{{getHouseTypeStr(subItem.SingleRoomType)}} <br/><span style="color:red;">(指定)</span>
</template>
<template v-if="subItem.IsBed==0"><br/><span style="color:red;">(不占床)</span></template>
</td>
<td>{{subItem.GuestName}}</td> <td>{{subItem.GuestName}}</td>
<td>{{subItem.ESurName}}</td> <td>{{subItem.ESurName}}</td>
<td>{{subItem.EName}}</td> <td>{{subItem.EName}}</td>
...@@ -126,6 +135,8 @@ export default { ...@@ -126,6 +135,8 @@ export default {
OrderId: 0, OrderId: 0,
currentPage: 1 currentPage: 1
}, },
IsHaveLeader:1,//1-有领队,0-无领队
IsLeaderGuide:0,//1-领兼导,0-领队
TCID: 0, TCID: 0,
QueryMsg: { QueryMsg: {
loading: true, loading: true,
...@@ -162,19 +173,19 @@ export default { ...@@ -162,19 +173,19 @@ export default {
return str; return str;
}, },
//获取房间类型 //获取房间类型
getHouseTypeStr(item) { getHouseTypeStr(HouseType) {
var str = ""; var str = "";
if (item.HouseType == 1) { if (HouseType == 1) {
str = "单间"; str = "自然单间";
} else if (item.HouseType == 2) { } else if (HouseType == 2) {
str = "标准双人间"; str = "标准双人间";
} else if (item.HouseType == 3) { } else if (HouseType == 3) {
str = "大床房"; str = "大床房";
} }
else if (item.HouseType == 4) { else if (HouseType == 4) {
str = "三人间"; str = "三人间";
} }
else if (item.HouseType== 5) { else if (HouseType== 5) {
str = "拼凑双人间"; str = "拼凑双人间";
} }
else { else {
...@@ -191,7 +202,9 @@ export default { ...@@ -191,7 +202,9 @@ export default {
res => { res => {
this.QueryMsg.loading = false; this.QueryMsg.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.QueryMsg.dataList = res.data.data.pageData; this.QueryMsg.dataList = res.data.data.pageData.result;
this.IsHaveLeader=res.data.data.pageData.IsHaveLeader;
this.IsLeaderGuide=res.data.data.pageData.IsLeaderGuide;
} }
}, },
err => {} err => {}
......
...@@ -10,16 +10,19 @@ ...@@ -10,16 +10,19 @@
<div class="people"> <div class="people">
<p> <p>
<span>用户建议</span> <span>用户建议</span>
<span style="float:right;font-size:12px;color:#333333">查看全部</span> <!-- <span style="float:right;font-size:12px;color:#333333">查看全部</span> -->
</p> </p>
<ul> <ul class="ul">
<li> <li v-for="(item,index) in SuggestList" :key="index">
<img style="width:40px;height:40px" src="../../../assets/img/fk/8.png" alt=""> <img style="width:40px;height:40px" src="../../../assets/img/fk/8.png" alt="">
<div class="Item"> <div class="Item">
<p style="color:#3751FE">156456</p> <p style="color:#3751FE">{{item.GuestId}}</p>
<p>henbucooasd</p> <p>{{item.TextContent}}</p>
</div> </div>
</li> </li>
<div v-if="SuggestList.length==0" style="text-align:center;padding:40px 0;">
<i style="font-size:80px" class="iconfont icon-wushuju"></i>
</div>
</ul> </ul>
<div> <div>
<el-pagination <el-pagination
...@@ -45,20 +48,32 @@ export default { ...@@ -45,20 +48,32 @@ export default {
name: 'Feedbackchart', name: 'Feedbackchart',
data (){ data (){
return{ return{
msg:{ msg:{},
pageIndex:1,
pageSize:15
},
currentPage:1, currentPage:1,
total:0, total:0,
SuggestList:[],
} }
}, },
created(){
if(this.$route.query.msg){
this.msg=JSON.parse(this.$route.query.msg);
}
this.getList();
},
mounted(){ mounted(){
}, },
methods:{ methods:{
getList(){ getList(){
this.apiJavaPost("/api/erp/survey/getSuggest", this.msg, res => {
if (res.data.resultCode === 1) {
this.SuggestList=res.data.data.pageData;
this.total=res.data.data.count;
} else {
this.Error(res.data.message)
}
}, null);
}, },
goUrl(path){ goUrl(path){
this.$router.push({ name:path,query:{blank: 'y'} }) this.$router.push({ name:path,query:{blank: 'y'} })
...@@ -75,7 +90,7 @@ export default { ...@@ -75,7 +90,7 @@ export default {
#Usersuggest .el-pagination{ #Usersuggest .el-pagination{
border-top:none!important; border-top:none!important;
} }
#Usersuggest .people li{ #Usersuggest .people .ul li{
padding:15px 0; padding:15px 0;
border-bottom: 1px dashed #DCDCDC; border-bottom: 1px dashed #DCDCDC;
display: flex; display: flex;
......
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
</table> </table>
</div> </div>
<div> <div>
<el-tabs type="border-card" v-loading="loading" v-if="IsShow"> <el-tabs type="border-card" v-loading="loading" v-if="qHotelType==1">
<el-tab-pane :label="item.ProvinceName" v-for="(item,index) in dataList" :key="item.subCode"> <el-tab-pane :label="item.ProvinceName" v-for="(item,index) in dataList" :key="item.subCode">
<div class="clearfix comCheckHotelV2"> <div class="clearfix comCheckHotelV2">
<div class="comCk_list" v-for="(subItem,subIndex) in item.HotelList"> <div class="comCk_list" v-for="(subItem,subIndex) in item.HotelList">
...@@ -124,6 +124,36 @@ ...@@ -124,6 +124,36 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<template v-else>
<table v-loading="loading" >
<thead>
<tr>
<th>选择</th>
<th>酒店名称</th>
<th>价格</th>
</tr>
</thead>
<tbody>
<tr v-for="item in ThirdHotelList">
<td width="50">
<input :id="item.hotelId" type="checkbox" />
</td>
<td width="150">{{item.hotelName}}</td>
<td width="150">{{item.lowrateTotal}}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">
<el-pagination v-if="thirdHotelMsg.numberOfResultMatched>0" background @current-change="handleCurrentChange"
:current-page.sync="thirdHotelMsg.displayFrom" :page-size="thirdHotelMsg.numberOfResults"
layout="total,prev, pager, next, jumper" :total="thirdHotelMsg.numberOfResultMatched">
</el-pagination>
</td>
</tr>
</tfoot>
</table>
</template>
</div> </div>
<input type="button" class="normalBtn com_SaveBtn" @click="sendCkedHotel()" value="保存" /> <input type="button" class="normalBtn com_SaveBtn" @click="sendCkedHotel()" value="保存" />
</div> </div>
...@@ -142,6 +172,34 @@ ...@@ -142,6 +172,34 @@
Name: "", //酒店名称 Name: "", //酒店名称
UseDate: "", //入住时间 UseDate: "", //入住时间
}, },
thirdHotelMsg: {
displayFrom: 1, //当前页
numberOfResults: 5, //每页条数
numberOfResultMatched: 0, //总条数
arrivalDate: "", //入住时间
departureDate: "", //离店时间
//房间信息列表
searchroomGroup: [{
numberOfAdults: 1, //大人数,
numberOfChildren: 0, //儿童数
childAges: 0, //儿童年龄
roomNum: 1, //房间数
}],
searchHotelIdList: [], //酒店id,[1,2,3]
freeword: "", //关键字
//类型 1,地区,2-酒店名称
freewordType: 0,
reviewRatingUpperLimits: 0, //指定评论分数的上限
reviewRatingLowerLimits: 0, //指定评论分数的下限
searchHotelCategory: [], //酒店分类
searchHotelFeatures: [], //酒店的特征
searchRoomType: [], //类型的房间
searchMealType: [], //饮食条件搜索
searchMinRate: 0, //検索最小金額,
searchMinRate: 0, //検索最大金額
sort: 0, //排序
},
ThirdHotelList: [], //第三方酒店列表
IsShow: false, IsShow: false,
ckedHotel: {} ckedHotel: {}
}; };
...@@ -152,88 +210,88 @@ ...@@ -152,88 +210,88 @@
this.IsShow = false; this.IsShow = false;
this.dataList = []; this.dataList = [];
this.HotelList = []; this.HotelList = [];
this.ThirdHotelList=[];
//地接酒店 //地接酒店
if (this.qHotelType == 1) { if (this.qHotelType == 1) {
this.apipost('hotel_post_GetHasStockHotelList_V2', { this.GetDMCHotelList();
//1-只查询有库存的酒店
IsMoreThanZero: 0,
Country: "651",
IsAllHotel: 1,
Province: this.qMsg.ProvinceId,
Name: this.qMsg.Name,
sDate: this.qMsg.UseDate
}, res => {
this.loading = false;
this.IsShow = true;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.dataList.forEach(x => {
x.HotelList.forEach(y => {
y.isChecked = false;
})
})
} else {
this.Error(res.data.message)
}
}, err => {})
} }
//第三方酒店 //第三方酒店
else { else {
var nQMsg = { this.GetThirdHotelList();
displayFrom: "1", //当前页 }
numberOfResults: "10", //每页条数 },
arrivalDate: this.qMsg.UseDate, //入住时间 //查询地接酒店
departureDate: "", //离店时间 GetDMCHotelList() {
//房间信息列表 this.apipost('hotel_post_GetHasStockHotelList_V2', {
searchroomGroup: { //1-只查询有库存的酒店
numberOfAdults: 2, //大人数, IsMoreThanZero: 0,
numberOfChildren: 0, //儿童数 Country: "651",
childAges: 0, //儿童年龄 IsAllHotel: 1,
}, Province: this.qMsg.ProvinceId,
searchHotelIdList:[],//酒店id,[1,2,3] Name: this.qMsg.Name,
freeword:this.qMsg.Name,//关键字 sDate: this.qMsg.UseDate
//类型 1,地区,2-酒店名称 }, res => {
freewordType:0, this.loading = false;
reviewRatingUpperLimits:0,//指定评论分数的上限 this.IsShow = true;
reviewRatingLowerLimits:0,//指定评论分数的下限 if (res.data.resultCode == 1) {
searchHotelCategory:[],//酒店分类 this.dataList = res.data.data;
searchHotelFeatures:[],//酒店的特征 this.dataList.forEach(x => {
searchRoomType:[],//类型的房间 x.HotelList.forEach(y => {
searchMealType:[],//饮食条件搜索 y.isChecked = false;
searchMinRate:0,//検索最小金額, })
searchMinRate:100000,//検索最大金額 })
sort:0,//排序 } else {
}; this.Error(res.data.message)
if(nQMsg.arrivalDate=="")
{
this.Info("请选择入住时间!");
return;
}
else
{
nQMsg.departureDate=this.$commonUtils.AddDay(nQMsg.arrivalDate,1);
}
if(nQMsg.freeword!="")
{
nQMsg.freewordType=1;
}
else
{
nQMsg.freewordType=2;
nQMsg.freeword="";
} }
console.log("nQMsg",nQMsg); }, err => {})
//多了一个参数调用线上的就酒店数据 },
this.apipost('dmc_post_Get_GetJAPAN_HotelList', nQMsg, res => { //查询第三方酒店
this.loading = false; GetThirdHotelList() {
this.IsShow = true; this.thirdHotelMsg.arrivalDate=this.qMsg.UseDate;
if (res.data.resultCode == 1) { if (this.thirdHotelMsg.arrivalDate == "") {
console.log("res.data",res.data); this.Info("请选择入住时间!");
return;
} else {
this.thirdHotelMsg.departureDate = this.$commonUtils.AddDay(this.thirdHotelMsg.arrivalDate, 1);
}
this.thirdHotelMsg.freeword=this.qMsg.Name;
if (this.thirdHotelMsg.freeword == "") {
this.thirdHotelMsg.freewordType = 1;
if (this.qMsg.ProvinceId > 0) {
//获取当前选中的对象
let obj = {};
obj = this.ProvinceList.find(item => {
return item.ID === this.qMsg.ProvinceId; //筛选出匹配数据
});
if (obj != undefined) {
this.thirdHotelMsg.freeword = obj.Name;
} else { } else {
this.Error(res.data.message) this.thirdHotelMsg.freeword = this.ProvinceList[0].Name;
} }
}, err => {},true) } else {
this.thirdHotelMsg.freeword = this.ProvinceList[0].Name;
}
} else {
this.thirdHotelMsg.freewordType = 2;
this.thirdHotelMsg.freeword = this.qMsg.Name;
} }
//多了一个参数调用线上的就酒店数据
this.apipost('dmc_post_Get_GetJAPAN_HotelList', this.thirdHotelMsg, res => {
this.loading = false;
this.IsShow = true;
if (res.data.resultCode == 1) {
//总条数
this.thirdHotelMsg.numberOfResultMatched = Number(res.data.data.numberOfResultMatched);
this.ThirdHotelList = res.data.data.hotelSummary;
} else {
this.Error(res.data.message)
}
}, err => {}, true)
},
handleCurrentChange(val) {
this.thirdHotelMsg.displayFrom = val;
this.GetThirdHotelList();
}, },
getCheck(hotelList, index) { getCheck(hotelList, index) {
hotelList.forEach((x, subIndex) => { hotelList.forEach((x, subIndex) => {
......
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