Commit fe329500 authored by youjie's avatar youjie
parents 2027e3a2 0bf97055
<style> <style>
@import "../assets/css/summaryLogin.css"; @import "../assets/css/summaryLogin.css";
</style> </style>
<style> <style>
...@@ -7,431 +8,451 @@ ...@@ -7,431 +8,451 @@
<template> <template>
<div class="login-box newSummaryLogin"> <div class="login-box newSummaryLogin">
<div class="homepage-hero-module"> <div class="homepage-hero-module">
<div :style="{'height':'100vh'}"> <div :style="{'height':'100vh'}">
<div class="item"> <div class="item">
<img :style="{'height':'100vh'}" src="../assets/img/summary.jpg" /> <img :style="{'height':'100vh'}" src="../assets/img/summary.jpg" />
</div>
</div> </div>
</div> </div>
<form class="Summary_login_Div"> </div>
<div v-if="isShow==1"> <form class="Summary_login_Div">
<div class="sumMainTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div> <div v-if="isShow==1">
<div class="login-commonBotm"> <div class="sumMainTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<i class="icon-login-name iconfont icon-user11"></i> <div class="login-commonBotm">
<input class="input" @focus="name_bline=true" @blur="name_bline=false" maxlength="20" autocomplete="new-password" v-model="userInfo.name" style="background-color:transparent !important;" type="text" :placeholder="$t('login.login_account')" @keyup.enter="doLogin"/> <i class="icon-login-name iconfont icon-user11"></i>
<div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div> <input class="input" @focus="name_bline=true" @blur="name_bline=false" maxlength="20"
<div class="name_bline_right" :class="name_bline==true?'_bline_w':''"></div> autocomplete="new-password" v-model="userInfo.name" style="background-color:transparent !important;"
</div> type="text" :placeholder="$t('login.login_account')" @keyup.enter="doLogin" />
<div class="error-msg"> <div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div>
<div v-show="nameIsShow"><img src="../assets/img/login-error-tips.png"/>{{ nameErrorMsg }}</div> <div class="name_bline_right" :class="name_bline==true?'_bline_w':''"></div>
</div> </div>
<div class="login-commonBotm"> <div class="error-msg">
<i class="icon-login-password iconfont icon-mima"></i> <div v-show="nameIsShow"><img src="../assets/img/login-error-tips.png" />{{ nameErrorMsg }}</div>
<input class="input" @focus="pwd_bline=true" @blur="pwd_bline=false" maxlength="20" autocomplete="new-password" v-model="userInfo.password" style="background-color:transparent !important" type="password" :placeholder="$t('login.login_password')" @keyup.enter="doLogin"/> </div>
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div> <div class="login-commonBotm">
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div> <i class="icon-login-password iconfont icon-mima"></i>
</div> <input class="input" @focus="pwd_bline=true" @blur="pwd_bline=false" maxlength="20"
<div class="error-msg"> autocomplete="new-password" v-model="userInfo.password" style="background-color:transparent !important"
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png"/>{{ passwordErrorMsg }}</div> type="password" :placeholder="$t('login.login_password')" @keyup.enter="doLogin" />
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div>
</div>
<div class="error-msg">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png" />{{ passwordErrorMsg }}</div>
</div>
<button type="button" class="sLoginBtn" :class="{'loginIng':loginState==1}" :disabled="loginState==1"
@click="doLogin">{{loginState==1?'登录中...':'登录'}}</button>
<div class="forgetPw">
<span @click="updatePwd">{{$t('login.login_forgetpwd')}}?</span>
</div>
<div class="login-way">
<div class="wayLeft">
<i class="icon-login-qqicon"></i>
<span>QQ登录</span>
</div> </div>
<button type="button" class="sLoginBtn" :class="{'loginIng':loginState==1}" :disabled="loginState==1" @click="doLogin">{{loginState==1?'登录中...':'登录'}}</button> <div class="wayRight">
<div class="forgetPw"> <i class="icon-login-wechaticon"></i>
<span @click="updatePwd">{{$t('login.login_forgetpwd')}}?</span> <span>微信登录</span>
</div> </div>
<div class="login-way"> </div>
<div class="wayLeft"> </div>
<i class="icon-login-qqicon"></i> <div v-if="isShow==2" class="phoneLogin">
<span>QQ登录</span> <div class="sumMainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
</div> <div class="sumPhone">绑定手机号</div>
<div class="wayRight"> <div class="login-commonBotm">
<i class="icon-login-wechaticon"></i> <i class="icon-login-name iconfont icon-phone1"></i>
<span>微信登录</span> <input class="input" @focus="name_bline=true" @blur="name_bline=false"
</div> onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="11" autocomplete="new-password" v-model="mobileNumber"
style="background-color:transparent !important;" type="text" placeholder="请输入手机号" />
<div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div>
<div class="name_bline_right" :class="name_bline==true?'_bline_w':''"></div>
</div>
<div class="error-msg">
<div v-show="nameIsShow"><img src="../assets/img/login-error-tips.png" />{{ nameErrorMsg }}</div>
</div>
<div class="login-commonBotm">
<i class="icon-login-password iconfont icon-mima"></i>
<input class="input phoneValidate" maxlength="4" @focus="pwd_bline=true"
onkeyup="value=value.replace(/[^\d]/g,'')" @blur="pwd_bline=false" v-model="code"
autocomplete="new-password" style="background-color:transparent !important" type="text" placeholder="验证码"
@keyup.enter="doBind" />
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="validatCode">
<span v-show="show" @click="getCode">获取验证码</span>
<span v-show="!show" class="count">{{count}}s重新获取</span>
</div> </div>
</div> </div>
<div v-if="isShow==2" class="phoneLogin"> <div class="error-msg">
<div class="sumMainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div> <div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png" />{{ passwordErrorMsg }}</div>
<div class="sumPhone">绑定手机号</div>
<div class="login-commonBotm">
<i class="icon-login-name iconfont icon-phone1"></i>
<input class="input" @focus="name_bline=true" @blur="name_bline=false" onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="11" autocomplete="new-password" v-model="mobileNumber" style="background-color:transparent !important;" type="text" placeholder="请输入手机号"/>
<div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div>
<div class="name_bline_right" :class="name_bline==true?'_bline_w':''"></div>
</div>
<div class="error-msg">
<div v-show="nameIsShow"><img src="../assets/img/login-error-tips.png"/>{{ nameErrorMsg }}</div>
</div>
<div class="login-commonBotm">
<i class="icon-login-password iconfont icon-mima"></i>
<input class="input phoneValidate" maxlength="4" @focus="pwd_bline=true" onkeyup="value=value.replace(/[^\d]/g,'')" @blur="pwd_bline=false" v-model="code" autocomplete="new-password" style="background-color:transparent !important" type="text" placeholder="验证码" @keyup.enter="doBind"/>
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="validatCode">
<span v-show="show" @click="getCode">获取验证码</span>
<span v-show="!show" class="count">{{count}}s重新获取</span>
</div>
</div>
<div class="error-msg">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png"/>{{ passwordErrorMsg }}</div>
</div>
<input type="button" class="sLoginBtn" @click="doBind" value="确认绑定"/>
</div> </div>
<input type="button" class="sLoginBtn" @click="doBind" value="确认绑定" />
</div>
<div v-if="isShow==3" class="phoneLogin"> <div v-if="isShow==3" class="phoneLogin">
<div class="sumMainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div> <div class="sumMainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<div class="sumPhone">修改密码</div> <div class="sumPhone">修改密码</div>
<div class="login-commonBotm"> <div class="login-commonBotm">
<i class="icon-login-name iconfont icon-phone1"></i> <i class="icon-login-name iconfont icon-phone1"></i>
<input class="input" @focus="name_bline=true" onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="11" @blur="name_bline=false" autocomplete="new-password" v-model="mobileNumber" style="background-color:transparent !important;" type="text" placeholder="请输入手机号"/> <input class="input" @focus="name_bline=true" onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="11"
<div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div> @blur="name_bline=false" autocomplete="new-password" v-model="mobileNumber"
<div class="name_bline_right" :class="name_bline==true?'_bline_w':''"></div> style="background-color:transparent !important;" type="text" placeholder="请输入手机号" />
</div> <div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div>
<div class="error-msg"> <div class="name_bline_right" :class="name_bline==true?'_bline_w':''"></div>
<div v-show="nameIsShow"><img src="../assets/img/login-error-tips.png"/>{{ nameErrorMsg }}</div> </div>
</div> <div class="error-msg">
<div class="login-commonBotm"> <div v-show="nameIsShow"><img src="../assets/img/login-error-tips.png" />{{ nameErrorMsg }}</div>
<i class="icon-login-password iconfont icon-mima"></i> </div>
<input class="input" @focus="pwd_bline=true" @blur="pwd_bline=false" autocomplete="new-password" maxlength="20" v-model="password" style="background-color:transparent !important" type="password" placeholder="请输入新密码"/> <div class="login-commonBotm">
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div> <i class="icon-login-password iconfont icon-mima"></i>
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div> <input class="input" @focus="pwd_bline=true" @blur="pwd_bline=false" autocomplete="new-password"
</div> maxlength="20" v-model="password" style="background-color:transparent !important" type="password"
placeholder="请输入新密码" />
<div class="pwd_bline_left" :class="pwd_bline==true?'_bline_w':''"></div>
<div class="pwd_bline_right" :class="pwd_bline==true?'_bline_w':''"></div>
</div>
<div class="login-commonBotm btValidate"> <div class="login-commonBotm btValidate">
<i class="icon-login-password iconfont icon-mima"></i> <i class="icon-login-password iconfont icon-mima"></i>
<input class="input phoneValidate" maxlength="4" onkeyup="value=value.replace(/[^\d]/g,'')" @focus="validate_bline=true" @blur="validate_bline=false" v-model="code" autocomplete="new-password" style="background-color:transparent !important" type="text" placeholder="验证码" @keyup.enter="changePwd"/> <input class="input phoneValidate" maxlength="4" onkeyup="value=value.replace(/[^\d]/g,'')"
<div class="pwd_bline_left" :class="validate_bline==true?'_bline_w':''"></div> @focus="validate_bline=true" @blur="validate_bline=false" v-model="code" autocomplete="new-password"
<div class="pwd_bline_right" :class="validate_bline==true?'_bline_w':''"></div> style="background-color:transparent !important" type="text" placeholder="验证码" @keyup.enter="changePwd" />
<div class="validatCode"> <div class="pwd_bline_left" :class="validate_bline==true?'_bline_w':''"></div>
<span v-show="show" @click="getCode">获取验证码</span> <div class="pwd_bline_right" :class="validate_bline==true?'_bline_w':''"></div>
<span v-show="!show" class="count">{{count}}s重新获取</span> <div class="validatCode">
</div> <span v-show="show" @click="getCode">获取验证码</span>
</div> <span v-show="!show" class="count">{{count}}s重新获取</span>
<div class="forgetPw"> </div>
<div class="error-msg" style="float:left;width:auto;">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png"/>{{ passwordErrorMsg }}</div>
</div>
<span @click="goLogin">去登录</span>
</div>
<input type="button" class="sLoginBtn changeBtn" @click="changePwd" value="确认修改"/>
</div> </div>
<img class="login_elephant" src="../assets/img/elephant.gif" alt=""/> <div class="forgetPw">
</form> <div class="error-msg" style="float:left;width:auto;">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png" />{{ passwordErrorMsg }}</div>
</div>
<span @click="goLogin">去登录</span>
</div>
<input type="button" class="sLoginBtn changeBtn" @click="changePwd" value="确认修改" />
</div>
<img class="login_elephant" src="../assets/img/elephant.gif" alt="" />
</form>
</div> </div>
</template> </template>
<script> <script>
import url_1 from "@/assets/img/login_bg_1.jpg"; import url_1 from "@/assets/img/login_bg_1.jpg";
import url_2 from "@/assets/img/login_bg_2.jpg"; import url_2 from "@/assets/img/login_bg_2.jpg";
export default { export default {
name: "login-box", name: "login-box",
data() { data() {
return { return {
userInfo: { userInfo: {
name: "", name: "",
password: "",
Domain: ""
},
groupModel: "",
password: "", password: "",
Domain:"" mobileNumber: "",
}, code: "",
groupModel:"", mobileCodeType: 1,
password: "", show: true,
mobileNumber: "", count: "",
code: "", timer: null,
mobileCodeType: 1, isShow: 1,
show: true, vedioCanPlay: false,
count: "", fixStyle: "",
timer: null, nameIsShow: false,
isShow: 1, passwordIsShow: false,
vedioCanPlay: false, nameErrorMsg: "",
fixStyle: "", passwordErrorMsg: "",
nameIsShow: false, name_bline: false,
passwordIsShow: false, pwd_bline: false,
nameErrorMsg: "", validate_bline: false,
passwordErrorMsg: "", loginState: 0,
name_bline: false, height: 0,
pwd_bline: false, clock: null,
validate_bline: false, crtIndex: 0,
loginState: 0, imgs: [
height:0, url_1,
clock:null, url_2
crtIndex:0, ]
imgs:[ };
url_1, },
url_2 mounted() {
] this.init();
}; let that = this;
}, this.clock = setInterval(() => {
mounted() { that.init()
this.init(); }, 1000);
let that=this; let _audio = this.$refs.audio;
this.clock=setInterval(()=>{ try {
that.init() _audio.playbackRate = 0.5;
},1000); } catch (error) {}
let _audio = this.$refs.audio; this.getGroup();
try {
_audio.playbackRate = 0.5;
} catch (error) {}
this.getGroup();
this.initData(); this.initData();
window.onresize = () => { window.onresize = () => {
const windowWidth = document.body.clientWidth; const windowWidth = document.body.clientWidth;
const windowHeight = document.body.clientHeight; const windowHeight = document.body.clientHeight;
const windowAspectRatio = windowHeight / windowWidth; const windowAspectRatio = windowHeight / windowWidth;
let videoWidth; let videoWidth;
let videoHeight; let videoHeight;
if (windowAspectRatio < 0.5625) { if (windowAspectRatio < 0.5625) {
videoWidth = windowWidth; videoWidth = windowWidth;
videoHeight = videoWidth * 0.5625; videoHeight = videoWidth * 0.5625;
this.fixStyle = { this.fixStyle = {
height: windowWidth * 0.5625 + "px", height: windowWidth * 0.5625 + "px",
width: windowWidth + "px", width: windowWidth + "px",
"margin-bottom": (windowHeight - videoHeight) / 2 + "px", "margin-bottom": (windowHeight - videoHeight) / 2 + "px",
"margin-left": "initial" "margin-left": "initial"
}; };
} else { } else {
videoHeight = windowHeight; videoHeight = windowHeight;
videoWidth = videoHeight / 0.5625; videoWidth = videoHeight / 0.5625;
this.fixStyle = { this.fixStyle = {
height: windowHeight + "px", height: windowHeight + "px",
width: windowHeight / 0.5625 + "px", width: windowHeight / 0.5625 + "px",
"margin-left": (windowWidth - videoWidth) / 2 + "px", "margin-left": (windowWidth - videoWidth) / 2 + "px",
"margin-bottom": "initial" "margin-bottom": "initial"
}; };
}
};
window.onresize();
},
methods: {
init(){
let over=true;
let maxHeight=0;
if(!this.$refs['swiper'])
return false;
this.$refs['swiper'].forEach(x=>{
if(x.complete){
maxHeight=x.height>maxHeight?x.height:maxHeight
}else{
over=false;
return false
} }
}); };
if(over){ window.onresize();
this.height=maxHeight;
clearInterval(this.clock);
let that=this;
that.change();
setInterval(()=>{
that.change()
},8000)
}
},
change(){
if(this.crtIndex<this.imgs.length-1)
this.crtIndex++
else
this.crtIndex=0
},
//初始化数据
initData() {
//判断是否是线上环境
if (!this.isOnline()) {
this.userInfo.name = "17602887190";
this.userInfo.password = "123456";
}
this.userInfo.Domain =window.location.hostname
}, },
getGroup() { //获取集团 methods: {
let Domain= window.location.hostname init() {
this.apipost('admin_get_GetModelByDomain',{'Domain':Domain}, res => { let over = true;
let maxHeight = 0;
if (!this.$refs['swiper'])
return false;
this.$refs['swiper'].forEach(x => {
if (x.complete) {
maxHeight = x.height > maxHeight ? x.height : maxHeight
} else {
over = false;
return false
}
});
if (over) {
this.height = maxHeight;
clearInterval(this.clock);
let that = this;
that.change();
setInterval(() => {
that.change()
}, 8000)
}
},
change() {
if (this.crtIndex < this.imgs.length - 1)
this.crtIndex++
else
this.crtIndex = 0
},
//初始化数据
initData() {
//判断是否是线上环境
if (!this.isOnline()) {
this.userInfo.name = "17602887190";
this.userInfo.password = "123456";
}
this.userInfo.Domain = window.location.hostname
},
getGroup() { //获取集团
let Domain = window.location.hostname
this.apipost('admin_get_GetModelByDomain', {
'Domain': Domain
}, res => {
this.groupModel = res.data.data; this.groupModel = res.data.data;
document.title="欢迎使用 "+this.groupModel.GroupName+" ERP系统"; document.title = "欢迎使用 " + this.groupModel.GroupName + " ERP系统";
}, err => {}) }, err => {})
}, },
canplay() { canplay() {
this.vedioCanPlay = true; this.vedioCanPlay = true;
}, },
doLogin() { doLogin() {
if (this.userInfo.name == "") { if (this.userInfo.name == "") {
this.nameIsShow = true; this.nameIsShow = true;
this.nameErrorMsg = "请输入用户名"; this.nameErrorMsg = "请输入用户名";
return; return;
} else if (this.userInfo.password == "") { } else if (this.userInfo.password == "") {
this.passwordIsShow = true; this.passwordIsShow = true;
this.passwordErrorMsg = "请输入密码"; this.passwordErrorMsg = "请输入密码";
return; return;
} else { } else {
this.nameIsShow = false; this.nameIsShow = false;
this.passwordIsShow = false; this.passwordIsShow = false;
} }
this.loginState = 1; this.loginState = 1;
var msg = { var msg = {
EmAccount: this.userInfo.name, EmAccount: this.userInfo.name,
EmPassword: this.userInfo.password, EmPassword: this.userInfo.password,
Domain: this.userInfo.Domain Domain: this.userInfo.Domain
}; };
this.apipost( this.apipost(
"admin_get_EmployeeLogin", "admin_get_EmployeeLogin",
msg, msg,
response => { response => {
var jsonData = response.data; var jsonData = response.data;
//未绑定手机号码 //未绑定手机号码
if (jsonData.resultCode == 10006) { if (jsonData.resultCode == 10006) {
this.$notify.error({
title: this.$t('tips.tips'),
customClass: "msgTips",
message: "请绑定手机号",
showClose: false,
duration: 3000
});
this.isShow = 2;
} else if (jsonData.resultCode == 1) {
//登录成功
var userData = jsonData.data;
var userJson = JSON.stringify(userData);
localStorage.removeItem('navTabs')
localStorage.removeItem('orderObj')
localStorage.userInfo = userJson;
let firstTire = []
userData.UserMenu.forEach(x => {
if (x.MenuUrl == '') {
firstTire.push(x.MenuName)
}
})
//UserMenu
this.$cookie.set("account", this.userInfo.name);
this.$cookie.set("EmployeeId", userData.EmployeeId);
this.$cookie.set("RB_Branch_id", userData.RB_Branch_id);
this.$cookie.set("RB_Group_id", userData.RB_Group_id);
localStorage.menu = JSON.stringify(firstTire)
this.loginState = 0;
this.$router.push({
path: "/personalCenter"
});
} else {
this.$notify.error({
title: this.$t('tips.tips'),
customClass: "msgTips",
message: response.data.message,
showClose: false,
duration: 3000
});
this.loginState = 0;
}
},
err => {}
);
},
getCode() {
var phoneReg = /(^1[3|4|5|6|7|8|9]\d{9}$)|(^09\d{8}$)/;
//电话
var phone = this.mobileNumber.replace(/^\s+|\s+$/gm, "");
if (!phoneReg.test(phone)) {
this.nameIsShow = true;
this.nameErrorMsg = "请输入有效的手机号码!";
return false;
} else {
this.nameIsShow = false;
}
const TIME_COUNT = 60;
this.code = "";
if (!this.timer) {
this.count = TIME_COUNT;
this.show = false;
this.timer = setInterval(() => {
if (this.count > 0 && this.count <= TIME_COUNT) {
this.count--;
} else {
this.show = true;
clearInterval(this.timer);
this.timer = null;
}
}, 1000);
}
let msg = {
mobileNumber: this.mobileNumber,
mobileCodeType: this.mobileCodeType
};
this.apipost("user_get_moblieNumber_code", msg, res => {
if (res.data.resultCode == 1) {} else {
this.$notify.error({ this.$notify.error({
title: this.$t('tips.tips'), title: this.$t('tips.tips'),
customClass: "msgTips", customClass: "msgTips",
message: "请绑定手机号", message: res.data.message,
showClose: false, showClose: false,
duration: 3000 duration: 3000
}); });
this.isShow = 2; }
} else if (jsonData.resultCode == 1) { });
//登录成功 },
var userData = jsonData.data; doBind() {
var userJson = JSON.stringify(userData); if (this.mobileNumber == "") {
localStorage.removeItem('navTabs') this.nameIsShow = true;
localStorage.removeItem('orderObj') this.nameErrorMsg = "请输入手机号";
localStorage.userInfo = userJson; return;
let firstTire = [] } else if (this.code == "") {
userData.UserMenu.forEach(x=>{ this.passwordIsShow = true;
if(x.MenuUrl=='') { this.passwordErrorMsg = "请输入验证码";
firstTire.push(x.MenuName) return;
} }
}) let msg = {
//UserMenu account: this.userInfo.name,
this.$cookie.set("account", this.userInfo.name); password: this.userInfo.password,
this.$cookie.set("EmployeeId", userData.EmployeeId); mobileNumber: this.mobileNumber,
this.$cookie.set("RB_Branch_id", userData.RB_Branch_id); code: this.code
this.$cookie.set("RB_Group_id", userData.RB_Group_id); };
localStorage.menu=JSON.stringify(firstTire) this.apipost("user_account_bind_moblieNumber", msg, res => {
if (res.data.resultCode == 1) {
this.isShow = 1;
this.loginState = 0; this.loginState = 0;
this.userInfo.name = this.mobileNumber;
this.$router.push({ path: "/personalCenter" });
} else { } else {
this.$notify.error({ this.$notify.error({
title: this.$t('tips.tips'), title: this.$t('tips.tips'),
customClass: "msgTips", customClass: "msgTips",
message: response.data.message, message: res.data.message,
showClose: false, showClose: false,
duration: 3000 duration: 3000
}); });
this.loginState = 0;
} }
}, });
err => {} },
); updatePwd() {
}, this.isShow = 3;
getCode() { this.mobileCodeType = 2;
var phoneReg = /(^1[3|4|5|6|7|8|9]\d{9}$)|(^09\d{8}$)/; },
//电话 changePwd() {
var phone = this.mobileNumber.replace(/^\s+|\s+$/gm, ""); let msg = {
if (!phoneReg.test(phone)) { password: this.password,
this.nameIsShow = true; mobileNumber: this.mobileNumber,
this.nameErrorMsg = "请输入有效的手机号码!"; code: this.code
return false; };
} else { this.apipost("user_change_password_by_mobileNumber", msg, res => {
this.nameIsShow = false; if (res.data.resultCode == 1) {
} this.isShow = 1;
const TIME_COUNT = 60; this.$notify.success({
this.code = ""; title: this.$t('tips.tips'),
if (!this.timer) { customClass: "msgTips",
this.count = TIME_COUNT; message: res.data.message,
this.show = false; showClose: false,
this.timer = setInterval(() => { duration: 3000
if (this.count > 0 && this.count <= TIME_COUNT) { });
this.count--;
} else { } else {
this.show = true; this.$notify.error({
clearInterval(this.timer); title: this.$t('tips.tips'),
this.timer = null; customClass: "msgTips",
message: res.data.message,
showClose: false,
duration: 3000
});
} }
}, 1000); });
} },
let msg = { goLogin() {
mobileNumber: this.mobileNumber, this.isShow = 1;
mobileCodeType: this.mobileCodeType
};
this.apipost("user_get_moblieNumber_code", msg, res => {
if (res.data.resultCode == 1) {
} else {
this.$notify.error({
title: this.$t('tips.tips'),
customClass: "msgTips",
message: res.data.message,
showClose: false,
duration: 3000
});
}
});
},
doBind() {
if (this.mobileNumber == "") {
this.nameIsShow = true;
this.nameErrorMsg = "请输入手机号";
return;
} else if (this.code == "") {
this.passwordIsShow = true;
this.passwordErrorMsg = "请输入验证码";
return;
} }
let msg = {
account: this.userInfo.name,
password: this.userInfo.password,
mobileNumber: this.mobileNumber,
code: this.code
};
this.apipost("user_account_bind_moblieNumber", msg, res => {
if (res.data.resultCode == 1) {
this.isShow = 1;
this.loginState = 0;
this.userInfo.name = this.mobileNumber;
} else {
this.$notify.error({
title: this.$t('tips.tips'),
customClass: "msgTips",
message: res.data.message,
showClose: false,
duration: 3000
});
}
});
},
updatePwd() {
this.isShow = 3;
this.mobileCodeType = 2;
},
changePwd() {
let msg = {
password: this.password,
mobileNumber: this.mobileNumber,
code: this.code
};
this.apipost("user_change_password_by_mobileNumber", msg, res => {
if (res.data.resultCode == 1) {
this.isShow = 1;
this.$notify.success({
title: this.$t('tips.tips'),
customClass: "msgTips",
message: res.data.message,
showClose: false,
duration: 3000
});
} else {
this.$notify.error({
title: this.$t('tips.tips'),
customClass: "msgTips",
message: res.data.message,
showClose: false,
duration: 3000
});
}
});
},
goLogin() {
this.isShow = 1;
} }
} };
};
</script> </script>
<!-- Add "scoped" attribute to limit CSS to this component only --> <!-- Add "scoped" attribute to limit CSS to this component only -->
<template> <template>
<div class="flexOne"> <div class="flexOne">
<div class="query-box"> <div class="query-box">
<ul> <ul>
<li> <li>
<span><em>{{$t('adm.adm_title')}}</em><el-input v-model='msg.Title' class="permiss-input"></el-input></span> <span><em>{{$t('adm.adm_title')}}</em>
</li> <el-input v-model='msg.Title' class="permiss-input"></el-input>
<li> </span>
<span><em>{{$t('adm.adm_Publisher')}}</em><el-select filterable clearable v-model='msg.UpdateBy' :placeholder="$t('pub.unlimitedSel')"> </li>
<el-option :label="$t('pub.unlimitedSel')" value='-1'></el-option> <li>
<el-option v-for='item in Employee' <span><em>{{$t('adm.adm_Publisher')}}</em>
:label='item.EmName' <el-select filterable clearable v-model='msg.UpdateBy' :placeholder="$t('pub.unlimitedSel')">
:value='item.EmployeeId' <el-option :label="$t('pub.unlimitedSel')" value='-1'></el-option>
:key='item.EmployeeId'> <el-option v-for='item in Employee' :label='item.EmName' :value='item.EmployeeId' :key='item.EmployeeId'>
</el-option> </el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span><em>{{$t('adm.adm_ublicationstatus')}}</em><el-select v-model="msg.Status" :placeholder="$t('pub.unlimitedSel')"> <span><em>{{$t('adm.adm_ublicationstatus')}}</em>
<el-option :label="$t('pub.unlimitedSel')" value='-1'></el-option> <el-select v-model="msg.Status" :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('adm.adm_tobepublish')" value='0'></el-option> <el-option :label="$t('pub.unlimitedSel')" value='-1'></el-option>
<el-option :label="$t('adm.adm_published')" value='1'></el-option> <el-option :label="$t('adm.adm_tobepublish')" value='0'></el-option>
<el-option :label="$t('adm.adm_Withdrawn')" value='2'></el-option> <el-option :label="$t('adm.adm_published')" value='1'></el-option>
</el-select> <el-option :label="$t('adm.adm_Withdrawn')" value='2'></el-option>
</span> </el-select>
</li> </span>
<li> </li>
<span><em>{{$t('adm.adm_Ceilingsituation')}}</em><el-select v-model="msg.Is_top" :placeholder="$t('pub.unlimitedSel')"> <li>
<el-option :label="$t('pub.unlimitedSel')" value='-1'></el-option> <span><em>{{$t('adm.adm_Ceilingsituation')}}</em>
<el-option :label="$t('adm.adm_Noroofset')" value='0'></el-option> <el-select v-model="msg.Is_top" :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('adm.adm_roofset')" value='1'></el-option> <el-option :label="$t('pub.unlimitedSel')" value='-1'></el-option>
</el-select> <el-option :label="$t('adm.adm_Noroofset')" value='0'></el-option>
</span> <el-option :label="$t('adm.adm_roofset')" value='1'></el-option>
</li> </el-select>
<li> </span>
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="resetPageIndex(),getList()" /> </li>
<input type="button" @click="outerVisible = true,dialogTitle=$t('objFill.v101.administrative.tianjiagogao'),layerType=2,clearMessage()" class="normalBtn" :value="$t('pub.addBtn')" /> <li>
</li> <input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')"
</ul> @click="resetPageIndex(),getList()" />
</div> <input type="button"
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0"> @click="outerVisible = true,dialogTitle=$t('objFill.v101.administrative.tianjiagogao'),layerType=2,clearMessage()"
<tr> class="normalBtn" :value="$t('pub.addBtn')" />
<th>{{$t('adm.adm_theme')}}</th> </li>
<!-- <th>{{$t('adm.adm_Ceilingsituation')}}</th> --> </ul>
<th>{{$t('adm.adm_ublicationstatus')}}</th> </div>
<th>{{$t('admin.admin_czPerson')}}</th> <table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<th>{{$t('fnc.caozuoriqi')}}</th> <tr>
<th>{{$t('system.table_operation')}}</th> <th>{{$t('adm.adm_theme')}}</th>
</tr> <!-- <th>{{$t('adm.adm_Ceilingsituation')}}</th> -->
<tr v-for="(item,index) in DataList" v-loading='loading'> <th>{{$t('adm.adm_ublicationstatus')}}</th>
<td>{{item.Title}}</td> <th>{{$t('admin.admin_czPerson')}}</th>
<!-- <td>{{item.Is_top==0?'':$t('adm.adm_roofset')}}</td> --> <th>{{$t('fnc.caozuoriqi')}}</th>
<td>{{item.Status | noticeFormat(item.Status)}}</td> <th>{{$t('system.table_operation')}}</th>
<td>{{item.UpdateName}}</td> </tr>
<td>{{item.UpdateTime|dateFormat(item.UpdateTime)}}</td> <tr v-for="(item,index) in DataList" v-loading='loading'>
<td> <td>{{item.Title}}</td>
<el-button-group> <!-- <td>{{item.Is_top==0?'':$t('adm.adm_roofset')}}</td> -->
<el-tooltip v-if="item.Status!='0'" class="item" effect="dark" :content="$t('fnc.xiangqing')" placement="top-start"> <td>{{item.Status | noticeFormat(item.Status)}}</td>
<el-button @click='getDetails(item.Id, item.Title)' type="primary" icon="el-icon-tickets" ></el-button> <td>{{item.UpdateName}}</td>
</el-tooltip> <td>{{item.UpdateTime|dateFormat(item.UpdateTime)}}</td>
<el-tooltip v-if="item.Status=='0'" class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start"> <td>
<el-button @click='updateNotice(item.Id)' type="primary" icon="el-icon-edit" ></el-button> <el-button-group>
</el-tooltip> <el-tooltip v-if="item.Status!='0'" class="item" effect="dark" :content="$t('fnc.xiangqing')"
<!-- <el-tooltip v-if="item.Is_top==0&&item.Status=='1'" class="item" effect="dark" :content="$t('adm.adm_roof')" placement="top-start"> placement="top-start">
<el-button @click='getDetails(item.Id, item.Title)' type="primary" icon="el-icon-tickets"></el-button>
</el-tooltip>
<el-tooltip v-if="item.Status=='0'" class="item" effect="dark" :content="$t('pub.updateMsg')"
placement="top-start">
<el-button @click='updateNotice(item.Id)' type="primary" icon="el-icon-edit"></el-button>
</el-tooltip>
<!-- <el-tooltip v-if="item.Is_top==0&&item.Status=='1'" class="item" effect="dark" :content="$t('adm.adm_roof')" placement="top-start">
<el-button @click="setTop(item.Id)" type="primary" icon="iconfont icon-control-top" ></el-button> <el-button @click="setTop(item.Id)" type="primary" icon="iconfont icon-control-top" ></el-button>
</el-tooltip> --> </el-tooltip> -->
<!-- <el-tooltip v-if="item.Is_top==1&&item.Status=='1'" class="item" effect="dark" :content="$t('adm.adm_exitroof')" placement="top-start"> <!-- <el-tooltip v-if="item.Is_top==1&&item.Status=='1'" class="item" effect="dark" :content="$t('adm.adm_exitroof')" placement="top-start">
<el-button @click="setTop(item.Id)" type="primary" icon="iconfont icon-control-bottom" ></el-button> <el-button @click="setTop(item.Id)" type="primary" icon="iconfont icon-control-bottom" ></el-button>
</el-tooltip> --> </el-tooltip> -->
<el-tooltip v-if="item.Status=='1'" class="item" effect="dark" :content="$t('adm.adm_chehui')" placement="top-start"> <el-tooltip v-if="item.Status=='1'" class="item" effect="dark" :content="$t('adm.adm_chehui')"
<el-button @click='reCallNotice(item.Id)' type="warning" icon="el-icon-delete"></el-button> placement="top-start">
</el-tooltip> <el-button @click='reCallNotice(item.Id)' type="warning" icon="el-icon-delete"></el-button>
<el-tooltip v-if="item.Status=='0'" class="item" effect="dark" :content="$t('system.table_delete')" placement="top-start"> </el-tooltip>
<el-button @click='deleteNotice(item.Id)' type="danger" icon="el-icon-delete" ></el-button> <el-tooltip v-if="item.Status=='0'" class="item" effect="dark" :content="$t('system.table_delete')"
</el-tooltip> placement="top-start">
</el-button-group> <el-button @click='deleteNotice(item.Id)' type="danger" icon="el-icon-delete"></el-button>
</td> </el-tooltip>
</tr> </el-button-group>
</table> </td>
<el-pagination </tr>
background </table>
@current-change="handleCurrentChange" <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
:current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total>
layout="total,prev, pager, next, jumper" </el-pagination>
:page-size=msg.pageSize <el-dialog custom-class='w800' :title="dialogTitle" :visible.sync="outerVisible" center
:total=total> :before-close="closeChangeMachie">
</el-pagination> <div v-if='layerType==1'>
<el-dialog custom-class='w800' :title="dialogTitle" :visible.sync="outerVisible" center :before-close="closeChangeMachie"> <p style="text-align: right; padding: 5px 0;">
<div v-if='layerType==1'> {{detailMessage.EmName}}&nbsp;&nbsp;&nbsp;&nbsp;{{detailMessage.UpdateTime}}</p>
<p style="text-align: right; padding: 5px 0;">{{detailMessage.EmName}}&nbsp;&nbsp;&nbsp;&nbsp;{{detailMessage.UpdateTime}}</p> <div v-html="detailMessage.Content">
<div v-html="detailMessage.Content">
</div> </div>
<!-- <pre style="letter-spacing: 1px; font-size: 14px; color: #333;"> <!-- <pre style="letter-spacing: 1px; font-size: 14px; color: #333;">
{{detailMessage.Content}} {{detailMessage.Content}}
</pre> --> </pre> -->
<p style="padding:0 10px; margin: 10px 0; background: #f1f1f1;">{{$t('adm.adm_fujian')}}</p> <p style="padding:0 10px; margin: 10px 0; background: #f1f1f1;">{{$t('adm.adm_fujian')}}</p>
<p style="height: 28px; padding: 0 10px; line-height: 28px;" v-for="item in downLoadList" class="AnnFileListPMeta"> <p style="height: 28px; padding: 0 10px; line-height: 28px;" v-for="item in downLoadList"
<i class="iconfont icon-xiazai"></i>--<span @click="downloadSingle(item)">{{item.Name}}</span> class="AnnFileListPMeta">
</p> <i class="iconfont icon-xiazai"></i>--<span @click="downloadSingle(item)">{{item.Name}}</span>
</div> </p>
</div>
<el-form v-if='layerType==2' :model="addMsg" :rules="rules" ref="addMsg" label-width="100px" >
<table class="layerNoIcon"> <el-form v-if='layerType==2' :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<tr> <table class="layerNoIcon">
<td> <tr>
<el-form-item :label="$t('adm.adm_title')" prop="Title"> <td>
<el-input class='w600' type="text" v-model="addMsg.Title" :placeholder="$t('pub.pleaseImport')"></el-input> <el-form-item :label="$t('adm.adm_title')" prop="Title">
</el-form-item> <el-input class='w600' type="text" v-model="addMsg.Title" :placeholder="$t('pub.pleaseImport')">
</td> </el-input>
</tr> </el-form-item>
<tr> </td>
<td> </tr>
<quill-editor :options="editorOption" v-model="addMsg.Content"></quill-editor> <tr>
<td>
</td> <quill-editor :options="editorOption" v-model="addMsg.Content"></quill-editor>
</tr>
<tr> </td>
<td><el-form-item :label="$t('adm.adm_fujian')"> </tr>
<el-upload <tr>
:http-request="UploadAttachment" <td>
:multiple="true" :show-file-list="false" action=""> <el-form-item :label="$t('adm.adm_fujian')">
<el-button size="small" type="danger" icon="el-icon-upload2">{{$t('adm.adm_content')}}</el-button> <el-upload :http-request="UploadAttachment" :multiple="true" :show-file-list="false" action="">
</el-upload> <el-button size="small" type="danger" icon="el-icon-upload2">{{$t('adm.adm_content')}}</el-button>
</el-form-item> </el-upload>
</td> </el-form-item>
</tr> </td>
<tr v-if='uploadList.length>0'> </tr>
<td> <tr v-if='uploadList.length>0'>
<el-form-item :label="$t('adm.adm_fjlist')"> <td>
<div class="AnnfileList"> <el-form-item :label="$t('adm.adm_fjlist')">
<li v-for="item in uploadList"> <div class="AnnfileList">
<span @click="downloadOne(item)">{{item.name}}--{{$t('adm.adm_download')}}</span> <li v-for="item in uploadList">
<i class="el-icon-circle-close-outline" @click="deleteFile(item)"></i> <span @click="downloadOne(item)">{{item.name}}--{{$t('adm.adm_download')}}</span>
</li> <i class="el-icon-circle-close-outline" @click="deleteFile(item)"></i>
</div> </li>
</el-form-item> </div>
</td> </el-form-item>
</tr> </td>
</table> </tr>
</el-form> </table>
</el-form>
<div v-if='layerType!=1' slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false,resetForm('addMsg')">{{$t('pub.cancelBtn')}}</button> <div v-if='layerType!=1' slot="footer" class="dialog-footer">
&nbsp; <button class="hollowFixedBtn"
<button class="normalBtn" type="primary" @click="submitForm('addMsg',0)">{{$t('fnc.zancun')}}</button> @click="outerVisible = false,resetForm('addMsg')">{{$t('pub.cancelBtn')}}</button>
&nbsp; &nbsp;
<button class="normalBtn" type="primary" @click="submitForm('addMsg',1)">{{$t('adm.adm_publish')}}</button> <button class="normalBtn" type="primary" @click="submitForm('addMsg',0)">{{$t('fnc.zancun')}}</button>
</div> &nbsp;
<div v-if='layerType==1' slot="footer" class="dialog-footer"> <button class="normalBtn" type="primary" @click="submitForm('addMsg',1)">{{$t('adm.adm_publish')}}</button>
<button class="normalBtn" @click="outerVisible = false">{{$t('pub.closeSel')}}</button> </div>
</div> <div v-if='layerType==1' slot="footer" class="dialog-footer">
</el-dialog> <button class="normalBtn" @click="outerVisible = false">{{$t('pub.closeSel')}}</button>
</div> </div>
</el-dialog>
</div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
editorOption: { editorOption: {
modules:{ modules: {
toolbar:[ toolbar: [
['bold', 'italic', 'underline', 'strike', 'image'], // toggled buttons ['bold', 'italic', 'underline', 'strike', 'image'], // toggled buttons
[{ 'header': [1, 2, 3, 4, 5, 6, false] }], [{
[{ 'color': [] }, {'background': [] }], 'header': [1, 2, 3, 4, 5, 6, false]
[{ 'font': [] }], }],
[{ 'align': [] }], [{
[{ 'size': ['small', false, 'large', 'huge'] }], 'color': []
[{ 'list': 'ordered'}, { 'list': 'bullet' }] }, {
] 'background': []
} }],
}, [{
uploadList:[], 'font': []
layerType:'', }],
loading:true, [{
//分页 'align': []
total: 0, }],
pageSize: '', [{
currentPage: 1, 'size': ['small', false, 'large', 'huge']
//弹窗 }],
outerVisible: false, [{
isRight: true, 'list': 'ordered'
dialogTitle: '', }, {
//请求参数 'list': 'bullet'
msg: { }]
pageIndex: 1, ]
pageSize: 15, }
Status: '-1', },
Is_top: '-1', uploadList: [],
Title: '', layerType: '',
UpdateBy: '-1' loading: true,
}, //分页
addMsg:{ total: 0,
Id:'-1', pageSize: '',
Title:'', currentPage: 1,
Content:'', //弹窗
Status:'', outerVisible: false,
FileList:[], isRight: true,
RB_Group_Id:'-1', dialogTitle: '',
}, //请求参数
rules:{ msg: {
Title: [{ pageIndex: 1,
required: true, pageSize: 15,
message: this.$t('adm.adm_qsrgbbiaoti'), Status: '-1',
trigger: 'blur' Is_top: '-1',
}], Title: '',
Content: [{ UpdateBy: '-1'
required: true, },
message: this.$t('adm.adm_qsrgbneirong'), addMsg: {
trigger: 'blur' Id: '-1',
}], Title: '',
}, Content: '',
employeeMsg:{ Status: '',
GroupId:'', FileList: [],
BranchId:0, RB_Group_Id: '-1',
DepartmentId:0, },
PostId:0, rules: {
IsLeave:0, Title: [{
}, required: true,
//返回结果 message: this.$t('adm.adm_qsrgbbiaoti'),
DataList: [], trigger: 'blur'
Employee:[], }],
detailMessage:[], Content: [{
downLoadList:[], required: true,
fabuStatus:{ message: this.$t('adm.adm_qsrgbneirong'),
trigger: 'blur'
}],
},
employeeMsg: {
GroupId: '',
BranchId: 0,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
},
//返回结果
DataList: [],
Employee: [],
detailMessage: [],
downLoadList: [],
fabuStatus: {
t1: this.$t('objFill.fabuzts')[0], t1: this.$t('objFill.fabuzts')[0],
t2: this.$t('objFill.fabuzts')[1], t2: this.$t('objFill.fabuzts')[1],
t3: this.$t('objFill.fabuzts')[2], t3: this.$t('objFill.fabuzts')[2],
} }
} }
}, },
filters:{ filters: {
noticeFormat(status){ noticeFormat(status) {
if(status=="0") if (status == "0")
return this.fabuStatus.t1 return this.fabuStatus.t1
if(status=="1") if (status == "1")
return this.fabuStatus.t2 return this.fabuStatus.t2
if(status=="2") if (status == "2")
return this.fabuStatus.t3 return this.fabuStatus.t3
}, },
dateFormat(date){ dateFormat(date) {
return date.replace('T',' ') return date.replace('T', ' ')
} }
}, },
mounted() { mounted() {
let userInfo=this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.addMsg.RB_Group_Id=userInfo.RB_Group_id this.addMsg.RB_Group_Id = userInfo.RB_Group_id
this.getList(); this.getList();
this.getEmployee(); this.getEmployee();
}, },
methods: { methods: {
UploadAttachment(file) { //上传 UploadAttachment(file) { //上传
if(file.file.size > 1024 * 1024 * 100) { if (file.file.size > 1024 * 1024 * 100) {
this.$message.warning(this.$t('adm.adm_filenotmoreM')) this.$message.warning(this.$t('adm.adm_filenotmoreM'))
return return
} }
let newArr = []; let newArr = [];
newArr.push(file.file) newArr.push(file.file)
let path = "/Upload/Temporary/" let path = "/Upload/Temporary/"
this.$message.info(this.$t('tips.shangchuanzhong')) this.$message.info(this.$t('tips.shangchuanzhong'))
this.UploadSelfFileT(path, newArr, x => { this.UploadSelfFileT(path, newArr, x => {
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0); let fileSize = file.file.size < 1024 ? file.file.size : (file.file.size / 1024).toFixed(0);
this.saveMsg = [] this.saveMsg = []
this.saveMsg.push({ this.saveMsg.push({
Path: x.data.FilePath, Path: x.data.FilePath,
FileName: file.file.name, FileName: file.file.name,
MD5Sign: file.file.uid, MD5Sign: file.file.uid,
FileSize: fileSize, FileSize: fileSize,
FolderId: this.msg.ParentId FolderId: this.msg.ParentId
}) })
this.uploadList.push({url:x.data.FilePath,name:file.file.name}) this.uploadList.push({
}); url: x.data.FilePath,
}, name: file.file.name
downloadSingle(obj){ })
const link = document.createElement('a'); });
let _loadUrl=this.domainManager().UploadUrl; },
link.href = obj.Url; downloadSingle(obj) {
document.body.appendChild(link); const link = document.createElement('a');
window.open(obj.Url) let _loadUrl = this.domainManager().UploadUrl;
}, link.href = obj.Url;
downloadOne(obj){ document.body.appendChild(link);
this.downloadFileRename(obj.url,obj.name); window.open(obj.Url)
}, },
deleteFile(obj){ downloadOne(obj) {
if(this.uploadList.findIndex(item => item.url === obj.url)!=-1){ this.downloadFileRename(obj.url, obj.name);
this.uploadList.splice(this.uploadList.findIndex(item => item.url === obj.url), 1) },
} deleteFile(obj) {
}, if (this.uploadList.findIndex(item => item.url === obj.url) != -1) {
reCallNotice(id){ this.uploadList.splice(this.uploadList.findIndex(item => item.url === obj.url), 1)
this.$confirm(this.$t('adm.adm_sfchehui'), this.$t('tips.tips'), { }
confirmButtonText: this.$t('pub.sureBtn'), },
cancelButtonText: this.$t('pub.cancelBtn'), reCallNotice(id) {
type: 'warning' this.$confirm(this.$t('adm.adm_sfchehui'), this.$t('tips.tips'), {
}).then(() => { confirmButtonText: this.$t('pub.sureBtn'),
this.apipost("User_post_NoticeSetRevocation",{noticeId:id},res=>{ cancelButtonText: this.$t('pub.cancelBtn'),
if(res.data.resultCode == 1) { type: 'warning'
this.$message.success( this.$t('adm.adm_chsuccess')) }).then(() => {
this.getList(); this.apipost("User_post_NoticeSetRevocation", {
} noticeId: id
},err=>{}) }, res => {
}).catch(() => { if (res.data.resultCode == 1) {
this.$message({ this.$message.success(this.$t('adm.adm_chsuccess'))
type: 'info', this.getList();
message: this.$t('adm.adm_chexit') }
}); }, err => {})
}); }).catch(() => {
this.$message({
}, type: 'info',
deleteNotice(id){ message: this.$t('adm.adm_chexit')
this.$confirm(this.$t('tips.shifoushanchu'), this.$t('tips.tips'), { });
confirmButtonText: this.$t('pub.sureBtn'), });
cancelButtonText: this.$t('pub.cancelBtn'),
type: 'warning' },
}).then(() => { deleteNotice(id) {
this.apipost("User_post_NoticeRemove",{noticeId:id},res=>{ this.$confirm(this.$t('tips.shifoushanchu'), this.$t('tips.tips'), {
if(res.data.resultCode == 1) { confirmButtonText: this.$t('pub.sureBtn'),
this.$message.success(this.$t('tips.shanchuchenggong')) cancelButtonText: this.$t('pub.cancelBtn'),
this.getList(); type: 'warning'
} }).then(() => {
},err=>{}) this.apipost("User_post_NoticeRemove", {
}).catch(() => { noticeId: id
this.$message({ }, res => {
type: 'info', if (res.data.resultCode == 1) {
message: this.$t('tips.cancleDelete') this.$message.success(this.$t('tips.shanchuchenggong'))
}); this.getList();
}); }
}, }, err => {})
getList() { //公告列表 }).catch(() => {
this.loading=true; this.$message({
this.apipost('User_get_NoticeGetPageList', this.msg, res => { type: 'info',
if(res.data.resultCode == 1) { message: this.$t('tips.cancleDelete')
this.loading=false; });
this.DataList = res.data.data.pageData; });
this.total = res.data.data.count; },
} getList() { //公告列表
}, err => {}) this.loading = true;
}, this.apipost('User_get_NoticeGetPageList', this.msg, res => {
getEmployee() { //员工 if (res.data.resultCode == 1) {
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => { this.loading = false;
if(res.data.resultCode == 1) { this.DataList = res.data.data.pageData;
this.Employee = res.data.data; this.total = res.data.data.count;
} }
}, err => {}) }, err => {})
}, },
addNotice(_status){ getEmployee() { //员工
this.addMsg.FileList=this.uploadList; this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
this.layerType=2; if (res.data.resultCode == 1) {
this.addMsg.Status = _status; this.Employee = res.data.data;
this.apipost('User_post_NoticeSet', this.addMsg, res => { }
if(res.data.resultCode == 1) { }, err => {})
this.$message.success(res.data.message) },
this.outerVisible=false; addNotice(_status) {
this.getList() this.addMsg.FileList = this.uploadList;
this.resetForm('addMsg'); this.layerType = 2;
} else { this.addMsg.Status = _status;
this.$message.error(res.data.message) this.apipost('User_post_NoticeSet', this.addMsg, res => {
} if (res.data.resultCode == 1) {
}, err => {}) this.$message.success(res.data.message)
}, this.outerVisible = false;
updateNotice(id){ this.getList()
this.addMsg.Id=id; this.resetForm('addMsg');
this.dialogTitle=this.$t('tips.adm_xgnotice'); } else {
this.outerVisible=true; this.$message.error(res.data.message)
this.layerType=2; }
this.apipost('User_get_NoticeGet',{noticeId:id},res=>{ }, err => {})
if(res.data.resultCode == 1) { },
this.addMsg.Title=res.data.data.Title updateNotice(id) {
this.addMsg.Content=res.data.data.Content this.addMsg.Id = id;
this.uploadList=[] this.dialogTitle = this.$t('tips.adm_xgnotice');
if(res.data.data.File_url){ this.outerVisible = true;
let _arr=JSON.parse(res.data.data.File_url); this.layerType = 2;
if(_arr.length>0){ this.apipost('User_get_NoticeGet', {
_arr.forEach(item=>{ noticeId: id
this.uploadList.push({name:item.Name,url:item.Url}) }, res => {
}) if (res.data.resultCode == 1) {
} this.addMsg.Title = res.data.data.Title
} this.addMsg.Content = res.data.data.Content
} this.uploadList = []
},err=>{}) if (res.data.data.File_url) {
}, let _arr = JSON.parse(res.data.data.File_url);
getDetails(id, tit){ if (_arr.length > 0) {
this.outerVisible=true; _arr.forEach(item => {
this.layerType=1; this.uploadList.push({
this.dialogTitle=tit; name: item.Name,
this.apipost('User_get_NoticeGet',{noticeId:id},res=>{ url: item.Url
if(res.data.resultCode == 1) { })
this.detailMessage=res.data.data })
if(res.data.data.File_url){ }
this.downLoadList=JSON.parse(res.data.data.File_url) }
this.downLoadList.forEach(item=>{ }
item.Url=this.domainManager().ViittoFileUrl+item.Url }, err => {})
}) },
} getDetails(id, tit) {
}else{ this.outerVisible = true;
this.$message.error(res.data.message) this.layerType = 1;
} this.dialogTitle = tit;
},err=>{}) this.apipost('User_get_NoticeGet', {
}, noticeId: id
setTop(id){ //置顶 }, res => {
this.$confirm(this.$t('adm.adm_shifouroof'), this.$t('tips.tips'), { if (res.data.resultCode == 1) {
confirmButtonText: this.$t('pub.sureBtn'), this.detailMessage = res.data.data
cancelButtonText: this.$t('pub.cancelBtn'), if (res.data.data.File_url) {
type: 'warning' this.downLoadList = JSON.parse(res.data.data.File_url)
}).then(() => { this.downLoadList.forEach(item => {
this.apipost('User_post_NoticeSetTop', {noticeId:id}, res => { item.Url = this.domainManager().ViittoFileUrl + item.Url
if(res.data.resultCode == 1) { })
this.Employee = res.data.data; }
this.getList(); } else {
} else { this.$message.error(res.data.message)
this.$message.warning(res.data.message) }
} }, err => {})
}, err => {}) },
}).catch(() => { setTop(id) { //置顶
this.$message({ this.$confirm(this.$t('adm.adm_shifouroof'), this.$t('tips.tips'), {
type: 'info', confirmButtonText: this.$t('pub.sureBtn'),
message: this.$t('adm.adm_exitroof') cancelButtonText: this.$t('pub.cancelBtn'),
}); type: 'warning'
}); }).then(() => {
this.apipost('User_post_NoticeSetTop', {
}, noticeId: id
clearMessage(){ }, res => {
this.uploadList.length=0; if (res.data.resultCode == 1) {
}, this.Employee = res.data.data;
handleCurrentChange(val) { this.getList();
this.msg.pageIndex = val; } else {
this.getList(); this.$message.warning(res.data.message)
}, }
resetPageIndex() { }, err => {})
this.msg.pageIndex = 1; }).catch(() => {
this.currentPage=1 this.$message({
}, type: 'info',
submitForm(addMsg,_type) { //提交创建、修改表单 message: this.$t('adm.adm_exitroof')
this.$refs[addMsg].validate((valid) => { });
if(valid) { });
this.addNotice(_type)
} else { },
return false; clearMessage() {
} this.uploadList.length = 0;
}); },
}, handleCurrentChange(val) {
closeChangeMachie(done) { //弹出框关闭初始化弹框内表单 this.msg.pageIndex = val;
done(); this.getList();
this.resetForm('addMsg'); },
}, resetPageIndex() {
resetForm(formName) { //弹出框取消 初始化谈框内表单 this.msg.pageIndex = 1;
if (formName) { this.currentPage = 1
this.$refs[formName].resetFields(); },
} submitForm(addMsg, _type) { //提交创建、修改表单
this.$refs[addMsg].validate((valid) => {
this.addMsg.Id='-1' if (valid) {
} this.addNotice(_type)
} } else {
} return false;
}
});
},
closeChangeMachie(done) { //弹出框关闭初始化弹框内表单
done();
this.resetForm('addMsg');
},
resetForm(formName) { //弹出框取消 初始化谈框内表单
if (formName) {
this.$refs[formName].resetFields();
}
this.addMsg.Id = '-1'
}
}
}
</script> </script>
<style> <style>
.ann_detail_title{line-height: 24px; font-size: 15px; font-weight: bold; text-align: center;} .ann_detail_title {
.ann_textarea textarea{height:400px!important;} line-height: 24px;
.AnnfileList{padding: 5px 0;} font-size: 15px;
.AnnfileList li{height: 30px; line-height: 30px; padding: 0 10px;} font-weight: bold;
.AnnfileList li:hover{background: #f1f1f1;} text-align: center;
.AnnfileList li>i{float: right; margin-top:8px;} }
.AnnfileList li:hover,.AnnFileListPMeta:hover{text-decoration: underline; color: #E95252; cursor: pointer;}
.AnnFileListPMeta{ .ann_textarea textarea {
color: blue height: 400px !important;
} }
.AnnFileListPMeta .iconfon{
font-size: 12px; .AnnfileList {
} padding: 5px 0;
</style> }
\ No newline at end of file
.AnnfileList li {
height: 30px;
line-height: 30px;
padding: 0 10px;
}
.AnnfileList li:hover {
background: #f1f1f1;
}
.AnnfileList li>i {
float: right;
margin-top: 8px;
}
.AnnfileList li:hover,
.AnnFileListPMeta:hover {
text-decoration: underline;
color: #E95252;
cursor: pointer;
}
.AnnFileListPMeta {
color: blue
}
.AnnFileListPMeta .iconfon {
font-size: 12px;
}
</style>
...@@ -108,11 +108,9 @@ ...@@ -108,11 +108,9 @@
</el-radio-group> </el-radio-group>
</template> </template>
<template v-if="item.SurveyType === 3"> <template v-if="item.SurveyType === 3">
<el-checkbox v-for="(radio, rIndex) in item.SurveyOptionsList" v-model="radio.IsCheckS" :label="radio.ID" <el-checkbox v-for="(radio, rIndex) in item.SurveyOptionsList" v-model="radio.IsCheckS" :label="radio.ID"
:key="rIndex"> :key="rIndex">
{{radio.OptionsName}}</el-checkbox> {{radio.OptionsName}}</el-checkbox>
</template> </template>
<template v-if="item.SurveyType === 4"> <template v-if="item.SurveyType === 4">
<el-input type="textarea" :rows="2" :placeholder="$t('fnc.qsrneirong')" v-model="item.TextContent"> <el-input type="textarea" :rows="2" :placeholder="$t('fnc.qsrneirong')" v-model="item.TextContent">
......
...@@ -6441,22 +6441,7 @@ export default { ...@@ -6441,22 +6441,7 @@ export default {
meta: { meta: {
title: '财务批量打印页面' title: '财务批量打印页面'
}, },
}, }
// {
// path: '/guestlogin', //意见调查表登录
// name: 'guestlogin',
// component: resolve => require(['@/components/guestlogin'], resolve),
// meta: {
// title: '意见调查表登录'
// },
// },
// {
// path: '/guestSign', //意见调查表填写
// name: 'guestSign',
// component: resolve => require(['@/components/guestSign'], resolve),
// meta: {
// title: '意见调查表填写'
// },
// },
] ]
} }
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