Commit 0eace3a7 authored by 华国豪's avatar 华国豪 🙄
parents dfe2bdb7 1a4344c4
......@@ -113,7 +113,7 @@ export default {
}
</script>
<style>
@import "//at.alicdn.com/t/font_635492_wsab6ve9rk8.css";
@import "//at.alicdn.com/t/font_635492_kwjp9opkywc.css";
@import "./assets/css/Semibold.css";
@import "./assets/css/global/config.css";
@import "./assets/css/fileIcon.css";
......
<template>
<div>
<div class="query-box" style="border-bottom: none;">
<ul>
<li>
<span>
<em>酒店</em>
<el-select v-model="msg.HotelId" :placeholder="$t('pub.pleaseSel')" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</span>
</li>
<li><span><em>日期</em>
<el-date-picker v-model='msg.StartDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.EndDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li>
<input type="button" class="normalBtn" value="查询" @click="getList()" />
</li>
</ul>
</div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " class="ownScrollbarStyle">
<table border="0" cellspacing="1" cellpadding="0" class="HouseTypeList" v-if="isShow">
<tr>
<th width="300">酒店名称</th>
<th width="80"></th>
<th v-for="item in dataList[0].subList">
{{getDateList(item.DateStr)}}
</th>
</tr>
<tr>
<th></th>
<th></th>
<th v-for="item in dataList[0].subList">
{{getWeek(item.DateStr)}}
</th>
</tr>
<tr v-for="item in dataList">
<td>
<div style="min-width:300px; text-align:left;padding-left:5px;">{{item.HotelName}}</div>
</td>
<td>
<div class="Hotel_kong" style="min-width:60px;">空房</div>
<div class="Hotel_kong">超定</div>
</td>
<td v-for="subItem in item.subList">
<div class="Hotel_kong Com_hoteldiv" :class="{'noKucun':subItem.Status==0}">{{subItem.RemainingInventory}}</div>
<div class="Hotel_kong Com_hoteldiv">
<span v-if="subItem.UseInventory-subItem.Inventory>0" style="color:red;">{{subItem.UseInventory-subItem.Inventory}}</span>
</div>
</td>
</tr>
</table>
</div>
</div>
</template>
<script>
export default {
data() {
return {
msg:{
HotelId:0,
StartDate: new Date().Format("yyyy-MM-dd"),
EndDate: this.setEdate(),
},
HotelList: [],
dataList: [],
isShow:false,
};
},
methods: {
getList() {
if (this.msg.StartDate == null) {
this.msg.StartDate = new Date().Format("yyyy-MM-dd")
}
if (this.msg.EndDate == null) {
this.msg.EndDate = this.setEdate()
}
this.apipost("dict_post_HotelOffer_GetHotelStatics",this.msg,
res => {
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.isShow=true;
console.log(this.dataList,'dataList');
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取酒店列表
GetHotelList() {
this.apipost(
"hotel_post_GetHasStockHotelList", {
Country: 651,
IsMoreThanZero: 1
},
res => {
if (res.data.resultCode == 1) {
this.HotelList = res.data.data;
}
},
err => {}
);
},
setEdate(){
return this.addMoth(new Date().Format("yyyy-MM-dd"), 1)
},
addMoth(d, m) {
let ds = d.split('-'),
_d = ds[2] - 0;
let nextM = new Date(ds[0], ds[1] - 1 + m + 1, 0);
let max = nextM.getDate();
d = new Date(ds[0], ds[1] - 1 + m, _d > max ? max : _d);
return d.toLocaleDateString().match(/\d+/g).join('-')
},
//格式化返回显示日期
getDateList(dateStr){
var str = dateStr.split('-');
return str[1]+'/'+str[2];
},
//获取星期几
getWeek(dateStr){
var weekDay = ["天", "一", "二", "三", "四", "五", "六"];
var myDate = new Date(Date.parse(dateStr));
return weekDay[myDate.getDay()]
}
},
mounted() {
this.GetHotelList();
this.getList();
}
};
</script>
<style>
.HouseTypeList {
background: #ccc;
width:100%;
}
.Com_hoteldiv{
min-width: 40px;
}
.noKucun{
background-color: black;
}
.Hotel_kong{
width:100%;
height:35px;
line-height: 35px;
border-bottom:1px solid #d1d1d1;
}
.Hotel_kong:last-child{
border:0;
}
.HouseTypeList tr th {
background: #e6e6e6;
height: 35px;
font-size: 12px;
color: #333;
}
.HouseTypeList tr {
background: #fff;
text-align: center;
height: 35px;
}
.HouseTypeList tr td {
font-size: 12px;
}
</style>
......@@ -117,7 +117,7 @@
<i class="iconfont icon-imessage_top" :class="[hasNewMsg>0&&!IM_bodyIsShow?'animation red':'',IM_bodyIsShow?'red':'']" @click="IM_bodyIsShow=!IM_bodyIsShow"></i>
<!--<i class="iconfont icon-imessage_top" @click="togglebox($event)"></i>-->
</li>
<li><i class="iconfont icon-help_top"></i></li>
<li><i class="iconfont icon-banbengengxin" @click="goUrlLog()"></i></li>
<li>
<el-dropdown trigger="click">
<span class="el-dropdown-link">
......@@ -574,6 +574,18 @@
<div style="width: 100%; height: 50px;"></div>
</div>
</div>
<div class="logsBack" v-if="logsShow">
<div class="updateLogs">
<img src="../assets/img/logsImg.png" alt="" class="logsImg" />
<div class="logsTitle">
{{versionList[0].UpdateTitle}}版本更新
</div>
<div class="inlogs_Content" v-html="versionList[0].UpdateContent">
</div>
<input type="button" value="我知道了" class="normalBtn" style="margin:10px 0 0 155px;" @click="logsShow=false"/>
</div>
</div>
<div class="downmz" v-show="downmz">
<div class="top_1"></div>
<div style="text-align:center">
......@@ -819,6 +831,7 @@ import emojiObj from "../configs/emoji";
import loading from "./commonPage/loading";
import VueDraggableResizable from "vue-draggable-resizable";
import { setInterval, clearInterval } from 'timers';
import { version } from 'punycode';
export default {
components: {
ChatList,
......@@ -923,6 +936,9 @@ export default {
displayNone: true,
dialogTitle: "",
outerVisible: false,
logsShow:false,
newVersion:'',
versionList:[],
msg: {
ParentId: 0,
MenuStatus: "",
......@@ -1298,6 +1314,8 @@ export default {
this.allPartMsg.RB_Group_Id = this.deleteMsg.groupId = this.likeMsg.groupId = this.addDynamicMsg.rB_GroupId = this.dynamicMsg.groupId =
UserInfo.RB_Group_id;
this.addDynamicMsg.rB_BranchId = UserInfo.RB_Branch_id;
//获取版本
this.getVersion();
this.getMenu();
this.setCheckMenu();
......@@ -1305,7 +1323,6 @@ export default {
this.getMyDynamic();
this.getAboutMeDynamic();
this.getWebAllPart();
document
.getElementById("allDynamic")
.addEventListener("scroll", function() {
......@@ -3006,6 +3023,10 @@ export default {
// this.$router.push({ path: url });
// }
},
goUrlLog(){
console.log('AAAAAAAA');
this.$router.push({ path: 'systemLogs', query:{} });
},
goUrlPayment() {
let eid=this.getLocalStorage().EmployeeId;
this.$router.push({ path: 'empBankAccount', query: { id: eid,type:10,blank:'y' } });
......@@ -3236,6 +3257,34 @@ export default {
this.$message.error(r.data.message);
}
},null)
},
//获取版本号
getVersion(){
let msg = {
pageIndex:1,
pageSize:5
}
this.apipost("sysrecord_get_GetPageList",msg,res => {
if (res.data.resultCode == 1) {
this.versionList = res.data.data.pageData;
if(this.versionList.length>0){
let oldVersion = localStorage.version;
this.newVersion = this.versionList[0].UpdateTitle;
if(this.newVersion!=oldVersion){
this.logsShow = true;
localStorage.version = this.newVersion;
}else{
this.logsShow = false;
}
}else{
this.logsShow = false;
}
} else {
this.Error(res.data.message);
}
},
err => {}
);
}
}
......@@ -3428,6 +3477,50 @@ export default {
box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.3);
background-clip: content-box;
}
.logsBack{
position: fixed;
z-index: 999;
background: rgba(0, 0, 0, 0.2);
width: 100%;
height: 100%;
left: 0;
top: 0;
}
.updateLogs{
position: absolute;
width:400px;
height:400px;
left:50%;
top:50%;
margin-left:-200px;
margin-top:-200px;
border-radius: 4px;
border:1px solid #DCDCDC;
z-index: 9999;
background-color: #fff;
}
.logsTitle{
width:100%;
padding:0 10px;
text-align: center;
color:#333333;
font-size:12px;
margin-top:10px;
font-weight: bold;
}
.inlogs_Content{
width:100%;
padding:0 15px;
height:260px;
overflow: auto;
margin-top:20px;
color:#666666;
font-size:12px;
}
.logsImg{
margin-top:-30px;
margin-left:155px;
}
.myDocumentsLink {
margin: 25px 0;
}
......
<style>
.sysLog_Content{
width:100%;
border-left:2px solid #D2D2D2;
margin-left:20px;
}
.sysLog_List{
position: relative;
margin:0 0 20px 16px;
}
.sysCircle{
display: inline-block;
width:13px;
height:13px;
background-color: #36AF84;
border:2px solid #58D2A7;
border-radius:50%;
margin-right:10px;
}
.sysFirDate{
color:#38425D;
font-weight: bold;
font-size:12px;
}
.sysContent_main{
width:894px;
min-height: 101px;
background-color: #fff;
border:1px solid #E5E5E5;
border-radius:8px;
margin-top:10px;
color:#333333;
font-size:14px;
padding:20px;
}
.sysPosi_div{
margin:-4px 0 0 -24px;
}
.sysCircle_other{
width:13px;
height:13px;
display: inline-block;
border-radius: 50%;
background-color: #B1B1B1;
border:2px solid #EFEFEF;
margin-right:10px;
}
.sysFirDate_other{
color:#38425D;
font-size:12px;
}
</style>
<template>
<div class="sysLog_Content">
<div class="sysLog_List" v-for="(item,index) in dataList">
<div class="sysPosi_div">
<span class="sysCircle" v-if="index==0"></span>
<span class="sysCircle_other" v-else></span>
<span style="font-size:14px;margin-right:20px;">{{item.UpdateTitle}}</span>
<span class="sysFirDate" v-if="index==0">{{item.UpdateTimeStr}}</span>
<span class="sysFirDate_other" v-else>{{item.UpdateTimeStr}}</span>
</div>
<div class="sysContent_main" v-html="item.UpdateContent">
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
msg:{
pageIndex:1,
pageSize:15
},
dataList:[],
};
},
methods: {
getList() {
this.apipost("sysrecord_get_GetPageList",this.msg,res => {
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
console.log(this.dataList,'datalist');
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
},
mounted() {
this.getList();
}
};
</script>
<style>
.syslog_Content{
width:100%;
}
.syslog_ul li{
width:100%;
min-height:135px;
margin-bottom:10px;
}
.syslog_top{
width:100%;
height:34px;
line-height: 34px;
background-color: #DFDFDF;
}
.sys_content{
width:100%;
min-height: 101px;
padding:20px;
font-size:14px;
background-color: #fff;
}
.systemUpdateLog .ql-editor{
min-height: 200px;
}
.sysTop_left{
float:left;
}
.sysTop_banben{
display: inline-block;
color:#38425D;
font-size: 14px;
font-weight: bold;
margin:0 30px;
}
.sysTop_uptime{
font-size:14px;
color:#666666;
}
.sysTop_right{
float:right;
margin-right:30px;
}
.sysliteleBtn{
color: #fff;
padding: 0 10px;
height: 20px;
background: #E95252;
border: 1px solid #E95252;
cursor: pointer;
border-radius: 15px;
margin-left: 10px;
}
</style>
<template>
<div class="flexOne systemUpdateLog">
<div class="query-box">
<ul>
<li>
<input type="button" class="normalBtn" @click="outerVisible=true,resetInfo(),dialogTitle='新增更新日志'" :value="$t('pub.addBtn')"/>
</li>
</ul>
</div>
<div class="syslog_Content" v-loading="loading">
<ul class="syslog_ul">
<li v-for="item in dataList">
<div class="syslog_top clearfix">
<div class="sysTop_left">
<span class="sysTop_banben">
{{item.UpdateTitle}}
</span>
<span class="sysTop_uptime">
更新时间:{{item.UpdateTimeStr}}
</span>
</div>
<div class="sysTop_right">
<input type="button" class="sysliteleBtn" @click="updateLog(item.Id)" value="修改"/>
<input type="button" class="sysliteleBtn" @click="delLog(item.Id)" value="删除"/>
</div>
</div>
<div class="sys_content" v-html="item.UpdateContent">
</div>
</li>
</ul>
<div class="noDataNotice" v-if="dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</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>
<el-dialog
custom-class="w800"
:title="dialogTitle"
:visible.sync="outerVisible"
center
:before-close="closeChangeMachie"
>
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="80px">
<table style="width:100%">
<tr>
<td colspan="2">
<el-form-item label="标题" prop="UpdateTitle" >
<el-input v-model="addMsg.UpdateTitle" class="w595" placeholder="请输入"/>
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="更新内容" prop="UpdateContent">
<quill-editor class="w595" :options="editorOption" v-model="addMsg.UpdateContent"></quill-editor>
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false,resetForm('addMsg')">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
msg: {
pageIndex:1,
pageSize:15
},
total: 0,
currentPage: 1,
loading:false,
noData: false,
dataList:[],
dialogTitle:'',
outerVisible:false,
addMsg:{
ID:0,
UpdateTitle:'',
UpdateContent:'',
},
rules:{
UpdateTitle: [{ required: true, message: "请输入标题", trigger: "blur" }],
UpdateContent: [{ required: true, message: "请输入更新内容", trigger: "blur" }]
},
editorOption:{
placeholder: '请输入内容',
modules:{
toolbar:[
['bold', 'italic', 'underline', 'strike'], // toggled buttons
['blockquote', 'code-block','align']
]
}
},
};
},
methods: {
getList() {
//获取现有线路列表
this.loading = true;
this.apipost("sysrecord_get_GetPageList",this.msg,res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
console.log(this.dataList,'datalist');
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//新增日志
addDialog(){
this.apipost("sysrecord_get_Set",this.addMsg,res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.outerVisible = false;
this.getList();
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//修改获取数据
updateLog(Id){
let msg = {
Id:Id
}
this.dialogTitle='修改更新日志';
this.apipost("sysrecord_get_Get",msg,res => {
if (res.data.resultCode == 1) {
this.addMsg = res.data.data;
this.addMsg.ID = res.data.data.Id;
this.outerVisible = true;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//删除日志
delLog(Id){
this.$confirm('确定删除该日志?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
});
let msg = {
Id:Id
}
this.apipost("sysrecord_get_Remove",msg,res=>{
if(res.data.resultCode==1){
this.Success('删除成功!');
this.getList();
}else{
this.Error(res.data.message);
}
},null);
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.addDialog();
} else {
return false;
}
});
},
handleCurrentChange(val) {
//翻页功能按钮
this.msg.pageIndex = val;
this.getList();
},
//点击新增初始化
resetInfo(){
this.addMsg = {
ID:0,
UpdateTitle:'',
UpdateContent:'',
};
},
closeChangeMachie(done) {
//弹出框关闭初始化弹框内表单
done();
this.resetForm("addMsg");
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
},
mounted() {
this.getList();
},
};
</script>
......@@ -627,6 +627,13 @@ export default {
meta: {
title: '酒店核算详情'
},
},{
path: '/HouseTypeList', //配房类型
name: 'HouseTypeList',
component: resolve => require(['@/components/Hotel/HouseTypeList'], resolve),
meta: {
title: '配房类型'
},
},
{
path: '/RestauranOrder', //餐厅订单信息
......@@ -675,6 +682,14 @@ export default {
title: '线路管理'
},
},
{
path: '/systemUpdateLog', //系统更新与日志管理
name: 'systemUpdateLog',
component: resolve => require(['@/components/systemManagement/systemUpdateLog'], resolve),
meta: {
title: '系统更新与日志管理'
},
},
{
path: '/destinationManagement', //目的地管理
name: 'destinationManagement',
......@@ -2923,6 +2938,14 @@ export default {
meta: {
title: '奖项列表'
}
},
{
path: '/systemLogs', //版本更新记录
name: 'systemLogs',
component: resolve => require(['@/components/systemLogs'], resolve),
meta:{
title: '版本更新记录'
}
}
]
},
......@@ -2931,6 +2954,7 @@ export default {
name: 'PermissionManage',
component: resolve => require(['@/components/PermissionManage'], resolve),
},
]
},
{
......
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