Commit 2e2419e5 authored by 黄媛媛's avatar 黄媛媛

解决冲突

parents 0e81e1b4 4d9f1177
......@@ -7,7 +7,7 @@
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate, no-store">
<meta http-equiv="Expires" content="0">
<title>资产管理</title>
<title>四川和平国际旅行社SCM管理系统</title>
</head>
<body>
<div id="app"></div>
......
<template>
<div class="Home" v-loading="Allload">
<div class="Home">
<div class="banner" ref="banner">
<ul ref="scrollUl">
<li class="liItem" @click="goUrl('SignMan')">
<li class="liItem" >
<img src="../assets/img/b1.png" alt="">
<div>
<p class="f22">{{TaskObj.SignCount}}</p>
<p style="margin-top:10px">待我签名</p>
<p class="f22"></p>
<p style="margin-top:10px">酒店管理</p>
</div>
</li>
<li class="liItem" @click="goUrl('approvalMan')">
<li class="liItem" >
<img src="../assets/img/b2.png" alt="">
<div>
<p class="f22">{{TaskObj.WaitCount}}</p>
<p style="margin-top:10px">待我审核</p>
<p class="f22"></p>
<p style="margin-top:10px">订单管理</p>
</div>
</li>
<li class="liItem" @click="goUrl('approvalMan',3,'3')">
<img src="../assets/img/b3.png" alt="">
<div>
<p class="f22">{{TaskObj.RejectCount}}</p>
<p style="margin-top:10px">审批驳回</p>
</div>
</li>
<li class="liItem" @click="goUrl('myAssets')">
<img src="../assets/img/b4.png" alt="">
<div>
<p class="f22">{{TaskObj.MyProperty}}</p>
<p style="margin-top:10px">我的资产</p>
</div>
</li>
<li class="liItem" @click="goUrl('MaturingAssets')">
<img src="../assets/img/b5.png" alt="">
<div>
<p class="f22">{{TaskObj.MaturityCount}}</p>
<p style="margin-top:10px">资产到期</p>
</div>
</li>
<li class="liItem" @click="goUrl('SpotQuery')">
<img src="../assets/img/b6.png" alt="">
<div>
<p class="f22">{{TaskObj.MaturityCount}}</p>
<p style="margin-top:10px">耗材预警</p>
</div>
</li>
</ul>
<div v-if="stepTask" class="navDiv">
<span @click="goScroll(1)" :class="tabActive==1?'active':''"></span>
<span @click="goScroll(2)" :class="tabActive==2?'active':''"></span>
</div>
</div>
<div class="homeContent basefix" style="background:#F1FAF1">
<div class="left">
<div>
<img style="width:100%;" src="../assets/img/banner.png" alt="">
</div>
<div class="zcState">
<p style="padding-left:25px;padding-top:20px;" class="c11 bold">资产状态占比</p>
<el-row v-for="(item,index) in StatusList" :key="index" class="ziItem">
<el-col :span="14">
<p style="font-family:'muil';font-size:16px;font-weight: 600;">资产{{item.Name}}</p>
<p style="margin-top:6px;"><span class="sl">数量</span> <span style="font-family:'muil';font-size:24px;font-weight: 600;margin-left: 5px;">{{item.Count}}</span></p>
</el-col>
<el-col :span="10" style="text-align:right">
<el-progress class="progressDiv" type="circle" :percentage="item.percent" color="#089bab" :stroke-width="12" :width="86"></el-progress>
</el-col>
</el-row>
</div>
</div>
<div class="right">
<div class="firstDiv assetsgk" style="padding:20px 0">
<p class="f14 bold" style="padding-left:30px;">资产概况</p>
<el-row style="margin-top:20px">
<el-col :span="12">
<div style="text-align:center">
<el-progress class="progressDiv Zyprogress" type="circle" :percentage="SituationInfo.Norpercent" color="#089bab" :stroke-width="18" :width="150"></el-progress>
</div>
<div class="f12 c11" style="text-align:center;margin-top:20px;border-right:1px solid #089bab">
<span class="bold" style="color:#A6C6C6">在用:</span>
<span class="Circle" style="background:#089bab"></span>
<span>金额 ¥{{SituationInfo.NorMoney}}</span>
<span class="Circle" style="background:#BEEFF0"></span>
<span>数量 {{SituationInfo.NorCount}}</span>
</div>
</el-col>
<el-col :span="12">
<div style="text-align:center">
<el-progress class="progressDiv Xzprogress" type="circle" :percentage="SituationInfo.Idlepercent" color="#FFA475" :stroke-width="18" :width="150"></el-progress>
</div>
<div class="f12 c11" style="text-align:center;margin-top:20px;">
<span class="bold" style="color:#A6C6C6">闲置:</span>
<span class="Circle" style="background:#FFA475"></span>
<span>金额 ¥{{SituationInfo.IdleMoney}}</span>
<span class="Circle" style="background:#FFE4D5"></span>
<span>数量 {{SituationInfo.IdleCount}}</span>
</div>
</el-col>
</el-row>
</div>
<div class="firstDiv" style="height:370px;margin-top:30px">
<el-row class="chartTitle">
<el-col :span="10" class="f14 bold c11">资产入库领用情况<span style="color:#969696;margin-left:14px">固定资产</span></el-col>
<el-col class="f12 c11" :span="14" style="text-align:right;cursor: pointer">
<span @click="SetTimeType(1,1)" :class="IntimeType==1?'Active':''">最近一年</span>
<span style="margin:0 10px" @click="SetTimeType(2,1)" :class="IntimeType==2?'Active':''">最近半年</span>
<span @click="SetTimeType(3,1)" :class="IntimeType==3?'Active':''">最近三月</span>
<el-select @change="getPropertyInStock" v-model="InStockMsg.LogType" placeholder="请选择">
<el-option key="1" label="入库" :value="1"> </el-option>
<el-option key="2" label="领用" :value="2"> </el-option>
</el-select>
</el-col>
</el-row>
<div v-loading="loading" id="chartsMap" class="bgDiv" style="height:320px;width:100%;margin-top:10px"></div>
</div>
<div class="firstDiv" style="height:360px;margin-top:30px">
<el-row class="chartTitle">
<el-col :span="10" class="f14 bold c11">耗材入库出库情况<span style="color:#969696;margin-left:14px">固定资产</span></el-col>
<el-col class="f12 c11" :span="14" style="text-align:right;cursor: pointer">
<span @click="SetTimeType(1,2)" :class="IntimesuppleType==1?'Active':''">最近一年</span>
<span style="margin:0 10px" @click="SetTimeType(2,2)" :class="IntimesuppleType==2?'Active':''">最近半年</span>
<span @click="SetTimeType(3,2)" :class="IntimesuppleType==3?'Active':''">最近三月</span>
<el-select @change="getSuppliesInStock" v-model="InStockSuppleMsg.Type" placeholder="请选择">
<el-option key="1" label="入库" :value="1"> </el-option>
<el-option key="2" label="出库" :value="2"> </el-option>
</el-select>
</el-col>
</el-row>
<div v-loading="loading1" id="chartsMap1" class="bgDiv" style="height:310px;width:100%;margin-top:10px"></div>
</div>
</div>
</ul>
</div>
</div>
</template>
<script>
import moment from 'moment'
export default {
name: 'Home',
data () {
return {
Allload:false,
datedata1:[1,2,50,60,50,40,70],
datedata:[4,7,90,50,55,77,88],
value:[],
zcuserInfo:{},
tabActive:1,
width:0,
TaskObj:{},
stepTask:true,
StatusList:[],
InStockMsg:{
LogType:1,
StartTime:moment().subtract(3, "month").format("YYYY-MM"),
EndTime:moment().format("YYYY-MM"),
},
InStockSuppleMsg:{
Type:1,
StartTime:moment().subtract(3, "month").format("YYYY-MM"),
EndTime:moment().format("YYYY-MM"),
},
IntimeType:3,
IntimesuppleType:3,
InStockData:[],
CategoryNameList:[],
colorList:['#089bab','#FFA171','#72b8ff','#ff9cc6','#7b78ff','#28cc90','#ee8fff','#5cf2ff','#ff9a00','#4fc4f7','#738eff','#b0edff'],
StockMonth:[],
Stocklegend:{},
InStockData1:[],
SuppliesNameList:[],
StockMonth1:[],
Stocklegend1:{},
SituationInfo:{},
loading:true,
loading1:false,
}
},
created(){
},
mounted(){
this.width=this.$refs.banner.clientWidth;
......@@ -191,495 +37,12 @@ export default {
if(num>7){
this.stepTask=false;
}
this.getTask();
this.getStatus();
this.getPropertyInStock();
this.getSuppliesInStock();
this.getSituation();
},
methods:{
SetTimeType(type,num){
let start="";
if(type==1){
start=moment().subtract(12, "month").format("YYYY-MM")
}
if(type==2){
start=moment().subtract(6, "month").format("YYYY-MM")
}
if(type==3){
start=moment().subtract(3, "month").format("YYYY-MM")
}
if(num==1){
this.IntimeType=type;
this.InStockMsg.StartTime=start;
this.getPropertyInStock();
}
if(num==2){
this.IntimesuppleType=type;
this.InStockSuppleMsg.StartTime=start;
this.getSuppliesInStock();
}
},
goUrl(path,showTable,AuditStatus){
if(showTable){
this.$router.push({
path: "/" + path,
query: {
showTable:showTable,
AuditStatus:AuditStatus
}
});
}else{
this.$router.push({
path: "/" + path,
query: {
}
});
}
},
goScroll(num){
let Width=this.width-700;
this.tabActive=num;
if(num==2){
// this.$refs.scrollUl.style.left="-1000px";
this.animate(this.$refs.scrollUl,-1000)
}else{
this.animate(this.$refs.scrollUl,0)
}
},
//移动方法
animate(element, target) {
//清理定时器
clearInterval(element.timeId);
element.timeId = setInterval(function () {
//获取元素的当前位置
var current = element.offsetLeft;
//移动的步数
var step = 10;
step = target > current ? step : -step;
current += step;
if (Math.abs(current - target) > Math.abs(step)) {
element.style.left = current + "px";
} else {
clearInterval(element.timeId);
element.style.left = target + "px";
}
}, 10);
},
getPropertyInStock(){
let that=this;
this.loading=true;
that.apiJavaPost("/api/property/GetPropertyIndexPropertyInStock",this.InStockMsg,
res => {
this.loading=false;
if (res.data.resultCode === 1) {
let data=res.data.data;
this.InStockData=[];
this.CategoryNameList=[];
this.StockMonth=[];
let Newobj={};
data.forEach((item,index1) => {
this.CategoryNameList.push(item.CategoryName)
if(index1>4){
let name=item.CategoryName;
Newobj[name]=false;
}
this.Stocklegend=Newobj;
item.List.forEach((list,index) => {
if(index1==0){
this.StockMonth.push(list.Month)
}
});
});
data.forEach((item,index1)=> {
let arr=[];
let obj={
name:item.CategoryName,
data: [],
type: 'line',
smooth: true,
areaStyle:{
normal: {
color: '#D6F8F8' //改变区域颜色
}
},
symbolSize: 10,
itemStyle : {
normal : {
borderWidth:0,
borderColor:"transparent",
lineStyle:{
color:that.colorList[index1], //改变折线颜色
width:5
}
}
},
emphasis:{
itemStyle:{
borderWidth:5,
borderColor:that.colorList[index1],
}
},
};
// if(index1==0){
// obj.areaStyle={
// normal: {
// color: '#D6F8F8' //改变区域颜色
// }
// }
// }
item.List.forEach(list=> {
this.StockMonth.forEach((month,index3)=> {
if(list.Month==month){
arr.push(list.Number)
}
obj.data=arr;
});
});
this.InStockData.push(obj)
});
setTimeout(()=>{
that.LineChart();
},1000)
} else {
this.Error(res.data.message);
}
},
null
);
},
LineChart(){
var that = this;
var myChart = this.$echarts.init(document.getElementById('chartsMap'));
var option={
color: that.colorList,
tooltip : {
trigger: 'item',
backgroundColor:'transparent',
showSymbol:false,
axisPointer: {
type: 'none',
label: {
// backgroundColor: '#6a7985'
}
},
position: function (point, params, dom, rect, size) {
      return [point[0]-50, point[1]-dom.offsetHeight -10];
},
      formatter: function(params) {
var res = `<div style="background:${params.color};position:relative;padding:6px 10px;border-radius:8px;">
${params.seriesName}:${params.data}
<div style="position: absolute;bottom: -8px;left: 35%;width:0;
height:0;
border-left:8px solid transparent;
border-right:8px solid transparent;
border-top:8px solid ${params.color};">
</div>
<div>`
          return res;
}
},
legend: {
x:'left',
y:'bottom',
type:'scroll',
padding: [5, 30, 20, 30] ,
data:that.CategoryNameList,
// data:["邮件营销","联盟广告"],
selected:this.Stocklegend
},
grid:{
left: 75, // 默认10%,给24就挺合适的。
top: 30, // 默认60
right: 75, // 默认10%
bottom: 70, // 默认60
},
xAxis: {
type: 'category',
boundaryGap: false,
data: this.StockMonth,
axisLine: {
lineStyle: {
// 设置x轴颜色
color: "transparent"
}
},
axisLabel: {
textStyle: {
color: "#333333"
}
},
},
yAxis: {
type: 'value',
axisLine: {
lineStyle: {
// 设置x轴颜色
color: "transparent"
}
},
axisLabel: {
textStyle: {
color: "#969696"
}
},
splitLine:{
show:true,
lineStyle:{
// type:'dashed'
color:'#EEEEEE',
}
}
},
series:that.InStockData,
};
// myChart.setOption(option);
myChart.setOption(option,true);
//echarts点击事件
myChart.on('legendselectchanged', function (params) {
var legend_option = this.getOption();
//手动改变legend的selected状态:
// legend_option.legend[0].selected[name] = false;
// //切换tooltips的高度
});
},
getSuppliesInStock(){
let that=this;
this.loading1=true;
that.apiJavaPost("/api/property/GetPropertyIndexSuppliesInStock",this.InStockSuppleMsg,
res => {
this.loading1=false;
if (res.data.resultCode === 1) {
let data=res.data.data;
this.InStockData1=[];
this.SuppliesNameList=[];
this.StockMonth1=[];
let Newobj={};
data.forEach((item,index1) => {
this.SuppliesNameList.push(item.SuppliesName)
if(index1>4){
let name=item.SuppliesName;
Newobj[name]=false;
}
this.Stocklegend1=Newobj;
item.List.forEach((list,index) => {
if(index1==0){
this.StockMonth1.push(list.Month)
}
});
});
data.forEach((item,index1)=> {
let arr=[];
let obj={
name:item.SuppliesName,
type:'bar',
itemStyle:{
barBorderRadius: 15,
},
barWidth : 15,
data:[],
};
item.List.forEach(list=> {
this.StockMonth1.forEach((month,index3)=> {
if(list.Month==month){
arr.push(list.Number)
}
obj.data=arr;
});
});
this.InStockData1.push(obj)
});
setTimeout(()=>{
that.LineChart1();
},1000)
} else {
this.Error(res.data.message);
}
},
null
);
},
LineChart1(){
var that = this;
var myChart1 = this.$echarts.init(document.getElementById('chartsMap1'));
var option={
color:that.colorList,
tooltip : {
backgroundColor:'transparent',
trigger: 'item',
axisPointer: {
type: 'none',
label: {
// backgroundColor: '#6a7985'
}
},
position: function (point, params, dom, rect, size) {
      return [point[0]-50, point[1]-dom.offsetHeight];
  },
formatter: function(params) {
var res = `<div style="background:${params.color};position:relative;padding:6px 10px;border-radius:8px;">
${params.seriesName}:${params.data}
<div style="position: absolute;bottom: -8px;left: 35%;width:0;
height:0;
border-left:8px solid transparent;
border-right:8px solid transparent;
border-top:8px solid ${params.color};">
</div>
<div>`
          return res;
}
},
legend: {
x:'left',
y:'bottom',
type:'scroll',
icon: "circle",
padding: [5, 30, 20, 30] ,
type:'scroll',
data:that.SuppliesNameList,
selected:this.Stocklegend1
},
grid: {
left: 75, // 默认10%,给24就挺合适的。
top: 30, // 默认60
right: 75, // 默认10%
bottom: 70, // 默认60
},
xAxis : [
{
type : 'category',
data :this.StockMonth1,
axisLine: {
lineStyle: {
// 设置x轴颜色
color: "transparent"
}
},
axisLabel: {
textStyle: {
color: "#333333"
}
},
}
],
yAxis : [
{
type : 'value',
axisLine: {
lineStyle: {
// 设置x轴颜色
color: "transparent",
width: 1,
}
},
axisLabel: {
textStyle: {
color: "#969696"
}
},
splitLine:{
show:true,
lineStyle:{
// type:'dashed'
color:'#EEEEEE',
}
}
}
],
series:that.InStockData1
};
myChart1.setOption(option,true);
},
getTask(){
this.Allload=true;
this.apiJavaPost("/api/property/GetPropertyIndexTask",{},
res => {
this.Allload=false;
if (res.data.resultCode === 1) {
this.TaskObj=res.data.data;
} else {
this.Error(res.data.message);
}
},
null
);
},
getStatus(){
this.apiJavaPost("/api/property/GetPropertyIndexPropertyStatusRatio",{},
res => {
if (res.data.resultCode === 1) {
let total=0;
let data=res.data.data;
data.forEach(item=>{
total+=item.Count;
})
data.forEach(item=>{
if(total==0){
item.percent=0;
}
else{
item.percent=Number((( item.Count / total) *100).toFixed(2));
}
})
this.StatusList=data;
} else {
this.Error(res.data.message);
}
},
null
);
},
getSituation(){
this.apiJavaPost("/api/property/GetPropertyIndexGeneralSituation",{},
res => {
if (res.data.resultCode === 1) {
let data=res.data.data;
if(data.TotalCount==0){
data.Norpercent=0;
data.Idlepercent=0;
}else{
data.Norpercent=Number(((data.NorCount / data.TotalCount) * 100).toFixed(2));
data.Idlepercent=Number(((data.IdleCount / data.TotalCount) * 100).toFixed(2));
}
this.SituationInfo=data;
} else {
this.Error(res.data.message);
}
},
null
);
},
},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.Zyprogress >>> svg path:first-child{
......
......@@ -113,10 +113,10 @@
<div class="resource-content clearfix">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="140px">
<div class="resource-baseinfo" style="width:500px;margin:30px 0 0 30px;float:left;">
<el-form-item label="ホテル名">
<el-form-item label="ホテル名" prop="SHotelName">
<el-input type="text" v-model="addMsg.SHotelName" maxlength="100" class="w300"></el-input>
</el-form-item>
<el-form-item label="ホテルの住所">
<el-form-item label="ホテルの住所" prop="SHotelAddress">
<el-input type="text" v-model="addMsg.SHotelAddress" maxlength="100" class="w300"></el-input>
</el-form-item>
<el-form-item label="ホテル星">
......@@ -155,12 +155,27 @@
<el-option v-for="item in SHotelService" :key="item.HType" :label="item.HName" :value="item.HName"></el-option>
</el-select>
</el-form-item>
<el-form-item label="早到入住时间">
<el-time-select class='w300' v-model='addMsg.CheckInTime'
:picker-options="{start: '08:00',step: '00:05',end: '22:00'}">
</el-time-select>
</el-form-item>
<el-form-item label="退房时间">
<el-time-select class='w300' v-model='addMsg.CheckOutTime'
:picker-options="{start: '08:00',step: '00:05',end: '22:00'}">
</el-time-select>
</el-form-item>
<el-form-item label="酒店前台服务时间至">
<el-time-select class='w300' v-model='addMsg.ServiceTime'
:picker-options="{start: '08:00',step: '00:05',end: '22:00'}">
</el-time-select>
</el-form-item>
</div>
</el-form>
</div>
<div class="_addUpload_box" style="margin:30px 0 30px 60px;">
<ul class="uploadUl">
<li v-for="(item, index) in addMsg.ImageList" :key="index"><img :src="item" alt="" />
<li v-for="(item, index) in HotelImageArray" :key="index"><img :src="item" alt="" />
<div class="hoverDiv"><img @click="DeleteImg(item, index)" src="../../assets/img/imgdelete.png" alt="" />
</div>
</li>
......@@ -195,12 +210,17 @@
RoomFacilities: '',
ActivityFacilities: '',
SHotelService: '',
CheckInTime:'',
CheckOutTime:'',
ServiceTime:''
},
PublicFacilities:[],//公共设施
RoomFacilities:[],//客房设施
ActivityFacilities:[],//活动设施
SHotelService:[],//酒店设施服务
//图片数组
HotelImageArray:[],
publicService:'',
roomService:'',
activeService:'',
......@@ -210,7 +230,17 @@
SelectDefaultValue: 0,
starslevel:[],
rules:{
//表单必填验证
SHotelName: [{
required: true,
message: 'ホテル名を入力してください',
trigger: "change"
}],
SHotelAddress: [{
required: true,
message: '住所を入力してください',
trigger: "change"
}]
}
//酒店编号
......@@ -223,26 +253,28 @@
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/DMC/";
var path = "/Upload/SCMHotel/";
this.UploadSelfFileT(path, newArr, x => {
var obj = this.$DMCUtils.DMCImageObj();
var str = x.data.FilePath;
var imgUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
obj.Path = str;
obj.ShowPath = imgUrl;
this.HotelImageArray.push(obj);
console.log(x,'xxxxxx');
var imgUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.HotelImageArray.push(imgUrl);
});
},
//删除图片
DeleteImg(item, index) {
this.HotelImageArray.splice(index, 1);
},
submitForm(addMsg) {
//提交创建、修改表单
let that = this;
// that.$refs[addMsg].validate(valid => {
// if (valid) {
that.saveData();
// } else {
// return false;
// }
// });
that.$refs[addMsg].validate(valid => {
if (valid) {
that.saveData();
} else {
return false;
}
});
},
//保存数据
......@@ -251,6 +283,8 @@
this.addMsg.RoomFacilities=this.roomService.toString();
this.addMsg.ActivityFacilities=this.activeService.toString();
this.addMsg.SHotelService=this.hotelService.toString();
this.addMsg.SHotelImgCover = this.HotelImageArray.toString();
this.apipost(
"scm_post_SetSCMHotelService",
this.addMsg,
......
......@@ -14,34 +14,13 @@
新たに</span>
</div>
<div class="padContent">
<!-- <ul v-show="morequery" class="queryul">
<ul v-show="morequery" class="queryul">
<li>
<el-input class="w200" size="small" v-model="msg.Name" placeholder="资产名称"></el-input>
<el-input class="w200" size="small" v-model="msg.SHotelName" placeholder="ホテル名"></el-input>
</li>
<li>
<el-input class="w200" size="small" v-model="msg.PropertyNum" placeholder="资产编码"></el-input>
</li>
<li>
<el-input class="w200" size="small" v-model="msg.SerialNumber" placeholder="序列号"></el-input>
</li>
<li>
<el-select size="small" v-model="msg.PropertyStatus" placeholder="资产状态" clearable filterable>
<el-option v-for="item in PropertyStatusList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</li>
<li>
<el-select size="small" filterable clearable v-model="msg.EmployeeId" placeholder="使用人"
:filter-method="getEmployee1">
<el-option v-for="item in EmployeeList1" :key="item.EmployeeId" :label="item.EmName"
:value="item.EmployeeId">
</el-option>
</el-select>
</li>
<li>
<el-select clearable size="small" v-model="msg.SupplierId" placeholder="供应商">
<el-option v-for="item in supplierList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
<el-select size="small" v-model="msg.Status" placeholder="ホテル状態" >
</el-select>
</li>
<li>
......@@ -49,7 +28,7 @@
start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</li>
</ul> -->
</ul>
<vxe-table stripe style="margin-top:15px" :loading="loading" :data="dataList">
<vxe-table-column field="SID" title="ホテル番号"></vxe-table-column>
<vxe-table-column field="Name" title="ホテル名">
......@@ -61,25 +40,13 @@
<vxe-table-column field="SHotelStar" title="ホテル星"></vxe-table-column>
<vxe-table-column field="SHotelImgCover" title="ホテルの表紙"></vxe-table-column>
<vxe-table-column field="SHotelInfo" title="ホテル案内"></vxe-table-column>
<!-- <vxe-table-column field="SHotelPolicy" title="酒店政策"></vxe-table-column>
<vxe-table-column field="PublicFacilities" title="公共设施服务"></vxe-table-column>
<vxe-table-column field="RoomFacilities" title="客房设施服务"></vxe-table-column>
<vxe-table-column field="ActivityFacilities" title="活动设施服务"></vxe-table-column>
<vxe-table-column field="SHotelService" title="酒店设施服务"></vxe-table-column>
<vxe-table-column field="SupplierId" title="供应商编号"></vxe-table-column>
<vxe-table-column field="CreateBy" title="创建人"></vxe-table-column>
<vxe-table-column field="Name" title="创建时间">
<template v-slot="{row}">
<span>{{getDate(row.CreateTime)}}</span>
</template>
</vxe-table-column> -->
<vxe-table-column field="UpdateBy" title="修正者"></vxe-table-column>
<vxe-table-column field="UpdateByName" title="修正者"></vxe-table-column>
<vxe-table-column field="Name" title="修正時間">
<template v-slot="{row}">
<span>{{getDate(row.UpdateTime)}}</span>
</template>
</vxe-table-column>
<vxe-table-column field="Status" title="ホテル状態"></vxe-table-column>
<vxe-table-column field="StatusStr" title="ホテル状態"></vxe-table-column>
<vxe-table-column field="address" title="操作">
<template v-slot="{ row }">
<el-tooltip class="item" effect="dark" content="修正" placement="top" >
......@@ -109,6 +76,8 @@
msg: {
pageIndex: 1,
pageSize: 15,
SHotelName:"",//酒店名称
Status:-1,//酒店状态
},
};
},
......
<template>
<div class="login">
<div class="loginContent">
<p class="f40 bold c11">资产管理系统</p>
<p class="f40 bold c11">SCM管理系统</p>
<div style="margin:60px 0 50px 0">
<p>
<img style="width:16px;height:14px" src="../../assets/img/user.png" alt="">
......
......@@ -50,16 +50,19 @@
trigger="click">
<ul>
<li style="cursor: pointer;">
<span class="f14"><span style="color:#BEBEBE">Hello</span>,{{zcuserInfo.emName}}</span>
<span class="f14"><span style="color:#BEBEBE">Hello</span>,{{zcuserInfo.Name}}</span>
</li>
<li @click="showUpdateBoard()" style="cursor: pointer;margin-top:12px">
<i style="color:#FFA475" class="iconfont icon-tuichudenglu"></i>
<span style="margin-left:6px">修改资料</span>
</li>
<li @click="LoginOut" style="cursor: pointer;margin-top:12px">
<i style="color:#FFA475" class="iconfont icon-tuichudenglu"></i>
<span style="margin-left:6px">退出登录</span>
</li>
</ul>
<span slot="reference" style="display: inline-flex;align-items: center;cursor: pointer;">
<img v-if="zcuserInfo.Icon && zcuserInfo.Icon!='' " :src="zcuserInfo.Icon" :onerror="defaultHeadImg" style="width:44px;height:44px;margin-left:45px;border-radius:50%" alt="">
<img v-if="zcuserInfo.HeadImg && zcuserInfo.HeadImg!='' " :src="zcuserInfo.HeadImg" :onerror="defaultHeadImg" style="width:44px;height:44px;margin-left:45px;border-radius:50%" alt="">
<img v-else src="../../assets/img/defaultperson.png" style="width:44px;height:44px;margin-left:45px;border-radius:50%" alt="">
</span>
</el-popover>
......@@ -140,6 +143,10 @@ export default {
let menu= this.getLocalStorage().UserMenu
this.menuList =menu[0].ChildMenu;
},
//点击弹出框
showUpdateBoard(){
this.$parent.showBoard();
}
},
}
</script>
......
<style>
.PHeader{
width:100px;
height:100px;
margin:30px 0 30px 105px;
border:1px solid #d1d1d1;
border-radius:50%;
background-color: #fff;
}
.PHeader img{
width:100%;
height:100%;
border-radius: 50%;
}
</style>
<template>
<div class="App">
<div class="nav">
......@@ -5,16 +20,41 @@
</div>
<div class="appContent">
<div class="routerContent">
<div :style='{"min-height":minHeight+"px"}'>
<router-view/>
</div>
</div>
</div>
<el-dialog
title="修改资料"
:visible.sync="updateInfo"
top="0"
width="350px"
>
<div class="basefix">
<el-upload :http-request="UploadImage" :multiple="false" :show-file-list="false" action>
<div class="PHeader">
<img v-if="imgMsg.HeadImg && imgMsg.HeadImg!='' " :src="imgMsg.HeadImg" :onerror="defaultHeadImg">
<img v-else src="../../assets/img/defaultperson.png">
</div>
</el-upload>
<el-form :model="passWordMsg" :rules="rules" ref="passWordMsg" label-width="70px">
<el-form-item label="旧密码" prop="oldPwd">
<el-input size="small" v-model="passWordMsg.oldPwd" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="新密码" prop="newPwd">
<el-input size="small" v-model="passWordMsg.newPwd" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<div class="btnformItem" style="text-align:center;margin:50px 0 20px 0;">
<span class="chaxunSpan" type="primary" @click="submitForm('passWordMsg')">确定</span>
<span class="addSpan" @click="updateInfo = false,resetMsg()">取消</span>
</div>
</div>
</el-dialog>
</div>
</template>
......@@ -29,13 +69,35 @@ export default {
data(){
return{
minHeight:0,
}
updateInfo:false,
imgMsg:{
Account:'',
HeadImg:''
},
zcuserInfo:{},
passWordMsg:{
Account:'',
oldPwd:'',
newPwd:''
},
rules:{
//表单必填验证
oldPwd: [{
required: true,
message: '古いパスワードを入力してください',
trigger: "change"
}],
newPwd: [{
required: true,
message: '新しいパスワードを入力してください',
trigger: "change"
}]
},
defaultHeadImg:
'this.src="' + require("../../assets/img/defaultperson.png") + '"',
}
},
created(){
this.minHeight=document.body.clientHeight;
if(!this.getLocalStorage()){
this.$router.push({path: 'login'})
......@@ -46,9 +108,62 @@ export default {
if (this.$route.name === 'index') {
this.$router.push({path: 'Home'})
}
this.imgMsg.HeadImg = zcuserInfo.HeadImg;
},
methods:{
showBoard(){
this.updateInfo=true;
},
//上传图片
UploadImage(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/SCMHotel/";
this.UploadSelfFileT(path, newArr, x => {
var str = x.data.FilePath;
this.imgMsg.HeadImg = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.imgMsg.Account=this.zcuserInfo.Account;
this.apipost("scm_post_UpdateHeadImgService",this.imgMsg,response => {
//修改添加接口
if (response.data.resultCode == 1) {
this.Success(response.data.message);
} else {
this.Error(response.data.message);
}
},null);
});
},
submitForm(addMsg) {
//提交创建、修改表单
let that = this;
that.$refs[addMsg].validate(valid => {
if (valid) {
that.UpdatePwd();
} else {
return false;
}
});
},
//修改密码
UpdatePwd(){
this.passWordMsg.Account=this.zcuserInfo.Account;
this.apipost("scm_post_UpdatePwdService",this.passWordMsg,response => {
//修改添加接口
if (response.data.resultCode == 1) {
this.Success(response.data.message);
this.updateInfo=false;
this.resetMsg();
} else {
this.Error(response.data.message);
}
},null);
},
//重置输入框
resetMsg(){
this.passWordMsg.oldPwd='';
this.passWordMsg.newPwd='';
}
},
}
</script>
......
......@@ -118,9 +118,11 @@ export default {
this.apiurl = apiurl;
var token = "";
var key = "";
var uid = "0";
if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token;
key = this.getLocalStorage().secretKey;
uid = this.getLocalStorage().Id;
}
var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
......@@ -131,7 +133,8 @@ export default {
"cmd": cmd,
"timestamp": timestamp,
"token": token,
"sign": md5Str
"sign": md5Str,
"uid":uid
}
if (localStorage.g && localStorage.g != 'undefined') {
// postData.groupId = parseInt(JSON.parse(localStorage.g).i)
......
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