智建宝平台修改

This commit is contained in:
yjl 2023-03-10 13:37:42 +08:00
parent 76c5d6dc22
commit 2dbc0e1e92
8 changed files with 452 additions and 337 deletions

View File

@ -1,4 +1,4 @@
var COMPANY = ''; //通用
// var COMPANY = ''; //通用
// var COMPANY='zhongjian'; //中建,和沃尔对接的插件版用这个企业
// var COMPANY='hezhan'; //合展-宿迁
// var COMPANY='nanchang'; //南昌地铁、衢州
@ -7,6 +7,8 @@ var COMPANY = ''; //通用
// var COMPANY='shenbai'; //沈白高铁
// COMPANY = 'henan' // 河南春笋
// COMPANY = 'xingxuan'
COMPANY = 'hengtong'//瑞士恒通

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -76,8 +76,14 @@
} else {
let newClass = document.getElementsByTagName('html')[0];
newClass.classList.remove('longguang')
if(COMPANY == 'hengtong'){
document.title = '智建宝云平台'
}else
document.title = '智慧工地云平台'
}
document.title = '智慧工地云平台'
</script>
<!-- <script>

View File

@ -48,9 +48,9 @@ export default new Vuex.Store({
BASEURL: baseUrl
? baseUrl
: window.location.protocol + "//" + window.location.host + "/", //
// UPLOADURL:
// window.location.protocol + "//" + window.location.host + "/upload/image", //
// FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //测试
UPLOADURL:
window.location.protocol + "//" + window.location.host + "/upload/image", //
FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //测试
// tag: 本地测试接口 // BASEURL:'http://192.168.34.174:6023/',
/* 2022-05-16 */
// tag: 部署河南项目时,需要打开这两行代码
@ -76,8 +76,8 @@ export default new Vuex.Store({
// FILEURL: 'http://182.90.224.147:100/image/',//演示平台
// UPLOADURL: 'http://139.9.66.234:7072/upload/image',//三江集团
// FILEURL: 'http://139.9.66.234:7072/image/',//三江集团
UPLOADURL: 'http://182.90.224.147:18170/upload/image',//瑞士恒通
FILEURL: 'http://182.90.224.147:18170/image/',//瑞士恒通
// UPLOADURL: 'http://182.90.224.147:18170/upload/image',//瑞士恒通
// FILEURL: 'http://182.90.224.147:18170/image/',//瑞士恒通
ACCOUNTTYPE: [
"系统管理员",

View File

@ -5877,7 +5877,7 @@ export default {
.header2 {
width: 100%;
height: 70px;
background: url('../../../assets/images/longguang/cutimage/taitou2.png')
background: url('../../../assets/images/longguang/cutimage/title.png')
no-repeat;
background-size: auto;
position: absolute;

View File

@ -19,7 +19,7 @@
}}</span
><!--智慧工地云平台-->
<span v-if="!systemInfo.platformName && company != 'nanchang'">{{
$t("message.login.title")
$t('message.login.title')
}}</span
><!--智慧工地云平台-->
@ -50,27 +50,33 @@
src="../../assets/images/login_bg.webp"
alt=""
/>
<div class="loginContent" v-if="COMPANY == 'hengtong'">
<div>
欢迎进入<span style="color: orange; font-size: 70px">智建宝</span
>云平台
</div>
</div>
<div class="login_info">
<div class="info_title flex">
<p
:class="loginType == 1 ? 'border_bottom' : 'placeholder'"
@click="
() => {
loginType = 1;
loginType = 1
}
"
>
{{ $t("message.login.passwordLogin") }}
{{ $t('message.login.passwordLogin') }}
</p>
<p
:class="loginType == 2 ? 'border_bottom' : 'placeholder'"
@click="
() => {
loginType = 2;
loginType = 2
}
"
>
{{ $t("message.login.sMSLogin") }}
{{ $t('message.login.sMSLogin') }}
</p>
</div>
<div class="info_content" v-show="loginType == 1">
@ -131,7 +137,7 @@
label=""
prop="verificationCode"
>
<!-- @keyup.enter.native="loginFn" -->
<!-- @keyup.enter.native="loginFn" -->
<el-input
v-model="form2.verificationCode"
style="height: 53px; font-size: 16px"
@ -155,16 +161,32 @@
<!-- <el-button type="success" plain class="logo_btn" :disabled="verificateBtn" @click="verificateFn"
>{{ verificateBtn==false?'立即点击验证':'验证成功'}}
</el-button> -->
<el-button type="success" v-if="verificateBtn==false" plain class="logo_btn" :disabled="verificateBtn" @click="verificateFn"
><div class="point"></div> 立即点击验证
<el-button
type="success"
v-if="verificateBtn == false"
plain
class="logo_btn"
:disabled="verificateBtn"
@click="verificateFn"
><div class="point"></div>
立即点击验证
</el-button>
<el-button type="success" v-else plain class="logo_btn" :disabled="verificateBtn"
><i class="el-icon-success"></i> 验证成功
<el-button
type="success"
v-else
plain
class="logo_btn"
:disabled="verificateBtn"
><i class="el-icon-success"></i> 验证成功
</el-button>
</div>
<div style="margin-top: 25px">
<el-button type="primary" :disabled="pass" class="logo_btn" @click="loginFn"
>{{ $t("message.login.login") }}
<el-button
type="primary"
:disabled="pass"
class="logo_btn"
@click="loginFn"
>{{ $t('message.login.login') }}
</el-button>
</div>
<div class="info_bottom">
@ -176,7 +198,7 @@
class="flex2"
@click="
() => {
automaticLogin = !this.automaticLogin;
automaticLogin = !this.automaticLogin
}
"
>
@ -189,37 +211,37 @@
v-if="automaticLogin"
/>
<span style="margin-left: 12px">{{
$t("message.login.automaticLogon")
$t('message.login.automaticLogon')
}}</span>
</div>
<div>
<span style="margin-right: 5px">{{
$t("message.login.forgetThePassword")
$t('message.login.forgetThePassword')
}}</span>
<span class="span_placeholder"></span>
<el-button type="text" style="margin-left: 5px" @click="goSignIn">
{{ $t("message.login.clickRegister") }}
{{ $t('message.login.clickRegister') }}
</el-button>
</div>
</div>
</div>
<!-- 滑动验证 -->
<div class="mask" v-if="showVerify" @click.self="showVerify = false">
<div class="slideContainer">
<slide-verify
:l="42"
:r="10"
:w="330"
:h="175"
:imgs="imageList"
slider-text="向右滑动滑块填充拼图"
ref="slideverify"
@success="onSuccess"
@fail="onFail"
@refresh="onRefresh"
<!-- 滑动验证 -->
<div class="mask" v-if="showVerify" @click.self="showVerify = false">
<div class="slideContainer">
<slide-verify
:l="42"
:r="10"
:w="330"
:h="175"
:imgs="imageList"
slider-text="向右滑动滑块填充拼图"
ref="slideverify"
@success="onSuccess"
@fail="onFail"
@refresh="onRefresh"
></slide-verify>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="zjsjLogin" v-if="projectType == 'zjsj'">
@ -241,83 +263,84 @@
</div>
</template>
<script>
import vueMatomo from "vue-matomo";
import vueMatomo from 'vue-matomo'
import {
loginPhoneApi,
loginApi,
getUserByUidApi,
companyLoginApi,
projectLoginApi,
} from "@/assets/js/api/loginSign";
import { selectSystemLogoConfigApi } from "@/assets/js/api/jxjadmin";
import getcode from "@/components/getMsgCode";
import { getOneComputerAuthApi } from "@/assets/js/api/loginSign";
import { selectNoticeRemindSoundApi } from "@/assets/js/api/configManage";
import LoginInfo from "./components/loginInfo.vue";
projectLoginApi
} from '@/assets/js/api/loginSign'
import { selectSystemLogoConfigApi } from '@/assets/js/api/jxjadmin'
import getcode from '@/components/getMsgCode'
import { getOneComputerAuthApi } from '@/assets/js/api/loginSign'
import { selectNoticeRemindSoundApi } from '@/assets/js/api/configManage'
import LoginInfo from './components/loginInfo.vue'
export default {
name: "login",
name: 'login',
components: { getcode, LoginInfo },
data() {
return {
COMPANY: COMPANY,
msg: '',
oldVal:'',
oldVal: '',
show: false,
showVerify:false, //
verificateBtn:false, //
pass:true, //
input: "",
radio: "",
projectType: "",
showVerify: false, //
verificateBtn: false, //
pass: true, //
input: '',
radio: '',
projectType: '',
LOGO: LOGO,
loginType: 1,
automaticLogin: false,
form: {
account: "",
password: "",
account: '',
password: ''
},
form2: {
phone: "",
verificationCode: "",
phone: '',
verificationCode: ''
},
rules: {
account: [
{
required: true,
message: this.$t("message.login.rules.account_message"),
trigger: "blur",
},
message: this.$t('message.login.rules.account_message'),
trigger: 'blur'
}
],
password: [
{
required: true,
message: this.$t("message.login.rules.password_message"),
trigger: "blur",
},
],
message: this.$t('message.login.rules.password_message'),
trigger: 'blur'
}
]
},
rules2: {
phone: [
{
required: true,
message: this.$t("message.login.rules2.phone_message"),
trigger: "blur",
},
message: this.$t('message.login.rules2.phone_message'),
trigger: 'blur'
}
],
verificationCode: [
{
required: true,
message: this.$t("message.login.rules2.verificationCode_message"),
trigger: "blur",
},
],
message: this.$t('message.login.rules2.verificationCode_message'),
trigger: 'blur'
}
]
},
systemInfo: {
loginBackgroundImage: "",
loginLogo: "",
platformLogo: "",
platformName: "",
loginBackgroundImage: '',
loginLogo: '',
platformLogo: '',
platformName: ''
},
imageList:[
imageList: [
require('../../assets/images/login/p1.jpg'),
require('../../assets/images/login/p2.jpg'),
require('../../assets/images/login/p3.jpg'),
@ -325,20 +348,20 @@ export default {
require('../../assets/images/login/p5.jpg'),
require('../../assets/images/login/p6.jpg'),
require('../../assets/images/login/p7.jpg'),
require('../../assets/images/login/p8.jpg'),
require('../../assets/images/login/p8.jpg')
]
};
}
},
watch: {
loginType(newDate, oldDate) {
console.log(newDate);
console.log(oldDate);
console.log(newDate)
console.log(oldDate)
if (newDate === 1) {
window._paq.push(["trackEvent", "点击", "登录", "使用密码登录"]);
window._paq.push(['trackEvent', '点击', '登录', '使用密码登录'])
} else {
window._paq.push(["trackEvent", "点击", "登录", "使用账号登录"]);
window._paq.push(['trackEvent', '点击', '登录', '使用账号登录'])
}
},
}
// oldVal:{
// handler(n,o){
// console.log(n,o);
@ -353,102 +376,101 @@ export default {
// }
},
created() {
this.company = COMPANY;
this.projectType = PROJECT_TYPE;
this.company = COMPANY
this.projectType = PROJECT_TYPE
},
mounted() {
// this.$bus.$on('resetSlideVerify',this.onReset)
delete this.$http.defaults.headers.common["Authorization"];
if (window.location.href.indexOf("type=lgzbdp") != -1) {
window.localStorage.setItem("isIframe", "1");
delete this.$http.defaults.headers.common['Authorization']
if (window.location.href.indexOf('type=lgzbdp') != -1) {
window.localStorage.setItem('isIframe', '1')
} else {
if (window.localStorage.getItem("isIframe")) {
window.localStorage.removeItem("isIframe");
if (window.localStorage.getItem('isIframe')) {
window.localStorage.removeItem('isIframe')
}
}
// ---
if (window.location.href.indexOf("UID") != -1) {
if (window.location.href.indexOf('UID') != -1) {
// debugger;
this.$store.commit("setUid", true);
this.$store.commit('setUid', true)
// let str = window.location.href.split("UID=")[1];
let uid = window.location.href.split("UID=")[1];
let uid = window.location.href.split('UID=')[1]
// let uid = str.substring(0, str.length - 7);
let data = {
uid,
};
uid
}
//
getUserByUidApi(data).then((res) => {
if (res.code == 200) {
//
this.parseLoginData(res.result);
this.parseLoginData(res.result)
} else {
this.$message.error(res.message);
this.$message.error(res.message)
}
});
})
} else {
this.$store.commit("setUid", false);
this.getDetail();
this.getData();
this.$store.commit('setUid', false)
this.getDetail()
this.getData()
}
},
methods: {
onChange1(val){
if(this.oldVal != ''){
if(this.oldVal != this.form){
this.verificateBtn = false,
this.pass = true
}
}
},
onReset() {
//
this.$refs.slideverify.reset();
},
onSuccess(){
this.oldVal = this.form.account
this.verificateBtn = true
this.showVerify = false
this.pass = false
},
onFail(){
this.msg = '验证失败'
},
onRefresh(){},
onChange1(val) {
if (this.oldVal != '') {
if (this.oldVal != this.form) {
;(this.verificateBtn = false), (this.pass = true)
}
}
},
onReset() {
//
this.$refs.slideverify.reset()
},
onSuccess() {
this.oldVal = this.form.account
this.verificateBtn = true
this.showVerify = false
this.pass = false
},
onFail() {
this.msg = '验证失败'
},
onRefresh() {},
getData() {
getOneComputerAuthApi().then((res) => {
if (res.result) {
} else {
this.$router.push({ path: "/authorization" });
this.$router.push({ path: '/authorization' })
}
});
})
},
getDetail() {
selectSystemLogoConfigApi().then((res) => {
if (res.result) {
console.log("查看有没有背景图", res);
console.log(window.location.protocol);
this.systemInfo = res.result;
console.log('查看有没有背景图', res)
console.log(window.location.protocol)
this.systemInfo = res.result
if (this.systemInfo.loginLogo) {
this.systemInfo.loginLogo =
window.location.protocol +
"//" +
res.result.loginLogo.split("//")[1];
'//' +
res.result.loginLogo.split('//')[1]
}
localStorage.setItem("systemInfo", JSON.stringify(res.result));
if (res.result.fileStorageType !== "0") {
this.$store.commit("setFILEURL", "");
localStorage.setItem('systemInfo', JSON.stringify(res.result))
if (res.result.fileStorageType !== '0') {
this.$store.commit('setFILEURL', '')
}
}
});
})
},
goBackBtn() {
this.$router.push({ path: "/" });
this.$router.push({ path: '/' })
},
goSignIn() {
this.$router.push({ path: "/sign" });
this.$router.push({ path: '/sign' })
},
//
verificateFn(){
verificateFn() {
this.showVerify = true
// this.$bus.$emit('resetSlideVerify')
},
@ -456,208 +478,207 @@ export default {
// 12345 6 7
if (this.loginType == 1) {
this.$nextTick(() => {
if (this.projectType == "zjsj") {
this.$refs["LoginInfo"].$refs["form"].validate((valid) => {
if (this.projectType == 'zjsj') {
this.$refs['LoginInfo'].$refs['form'].validate((valid) => {
// console.log("this.$refs['LoginInfo']:", this.$refs["LoginInfo"]);
if (valid) {
if (LOGINTYPE == 1) {
loginApi(this.form).then((res) => {
console.log("--------------------么么儿们10");
console.log(res.result);
this.parseLoginData(res.result);
});
console.log('--------------------么么儿们10')
console.log(res.result)
this.parseLoginData(res.result)
})
} else if (LOGINTYPE == 2) {
console.log(2222222222222);
console.log(2222222222222)
companyLoginApi(this.form).then((res) => {
this.parseLoginData(res.result);
});
} else if(LOGINTYPE == 5){
this.parseLoginData(res.result)
})
} else if (LOGINTYPE == 5) {
console.log('中建四局项目账号')
}else if (LOGINTYPE == 3) {
console.log(333333333);
} else if (LOGINTYPE == 3) {
console.log(333333333)
projectLoginApi(this.form).then((res) => {
this.parseLoginData(res.result);
});
this.parseLoginData(res.result)
})
}
} else {
console.log("error submit!!");
return false;
console.log('error submit!!')
return false
}
});
} else if (this.projectType == "common") {
this.$refs["form"].validate((valid) => {
})
} else if (this.projectType == 'common') {
this.$refs['form'].validate((valid) => {
if (valid) {
if (LOGINTYPE == 1) {
loginApi(this.form).then((res) => {
console.log("--------------------10");
console.log(res.result);
this.parseLoginData(res.result);
});
console.log('--------------------10')
console.log(res.result)
this.parseLoginData(res.result)
})
} else if (LOGINTYPE == 2) {
console.log(2222222222222);
console.log(2222222222222)
companyLoginApi(this.form).then((res) => {
this.parseLoginData(res.result);
});
this.parseLoginData(res.result)
})
} else if (LOGINTYPE == 3) {
console.log(333333333);
console.log(333333333)
projectLoginApi(this.form).then((res) => {
this.parseLoginData(res.result);
});
this.parseLoginData(res.result)
})
}
} else {
console.log("error submit!!");
return false;
console.log('error submit!!')
return false
}
});
})
}
});
}else {
this.$refs["form2"].validate((valid) => {
})
} else {
this.$refs['form2'].validate((valid) => {
if (valid) {
loginPhoneApi(this.form2).then((res) => {
this.parseLoginData(res.result);
});
this.parseLoginData(res.result)
})
} else {
console.log("error submit!!");
return false;
console.log('error submit!!')
return false
}
});
})
}
},
selectMp3FileList() {
selectNoticeRemindSoundApi({
projectSn: this.$store.state.projectSn,
projectSn: this.$store.state.projectSn
}).then((res) => {
console.log(res);
console.log(res)
if (res.code == 200) {
// this.MP4FileList = res.result
localStorage.setItem("soundList", JSON.stringify(res.result));
console.log(localStorage.getItem("soundList"));
localStorage.setItem('soundList', JSON.stringify(res.result))
console.log(localStorage.getItem('soundList'))
}
});
})
},
parseLoginData(data) {
if( this.projectType == "zjsj"){
this.$store.commit("setProjectSn", data.sn);
if (this.projectType == 'zjsj') {
this.$store.commit('setProjectSn', data.sn)
}
window._paq.push(["trackEvent", "点击", "登录", "登录账号"]);
this.$message.success(this.$t("message.login.login_success_msg")); //
this.$http.defaults.headers.common["Authorization"] =
"Bearer" + " " + data.token;
this.$http.defaults.headers.common["operateId"] = data.userId;
this.$store.commit("setUserInfo", data);
window._paq.push(['trackEvent', '点击', '登录', '登录账号'])
this.$message.success(this.$t('message.login.login_success_msg')) //
this.$http.defaults.headers.common['Authorization'] =
'Bearer' + ' ' + data.token
this.$http.defaults.headers.common['operateId'] = data.userId
this.$store.commit('setUserInfo', data)
var moduleList = data.menuAuthority.moduleList
? data.menuAuthority.moduleList
: [];
var companyModule = [];
: []
var companyModule = []
if (moduleList.length == 0 && data.accountType != 1) {
this.$message.warning("当前账号还没分配权限");
return false;
this.$message.warning('当前账号还没分配权限')
return false
}
moduleList.forEach((element) => {
if (element.moduleType == 1) {
companyModule.push(element);
companyModule.push(element)
}
});
})
var menu2 = [
{
menuName: "企业管理",
menuName: '企业管理',
id: 9199,
path: "/registerAudit",
path: '/registerAudit'
},
{
menuName: "模块菜单管理",
menuName: '模块菜单管理',
id: 9299,
path: "/moduleMenuManage",
path: '/moduleMenuManage'
},
{
menuName: "app版本管理",
menuName: 'app版本管理',
id: 9297,
path: "/operateManage",
path: '/operateManage'
},
{
menuName: "塔吊模型管理",
menuName: '塔吊模型管理',
id: 9298,
path: "/brand",
},
];
path: '/brand'
}
]
switch (data.accountType) {
case 1:
this.$store.commit("setMenuList", menu2);
this.$store.commit("setProjectManageMenuList", menu2);
console.log("-----------", menu2);
this.$store.commit("setIsShowBackIndex", false);
this.$router.push("/registerAudit");
break;
this.$store.commit('setMenuList', menu2)
this.$store.commit('setProjectManageMenuList', menu2)
console.log('-----------', menu2)
this.$store.commit('setIsShowBackIndex', false)
this.$router.push('/registerAudit')
break
case 2:
this.$store.commit("setMenuList", companyModule);
this.$store.commit("setProjectManageMenuList", companyModule);
this.$store.commit("setIsShowBackIndex", false);
this.$router.push(companyModule[0].modulePath);
break;
this.$store.commit('setMenuList', companyModule)
this.$store.commit('setProjectManageMenuList', companyModule)
this.$store.commit('setIsShowBackIndex', false)
this.$router.push(companyModule[0].modulePath)
break
case 3:
this.$store.commit("setMenuList", companyModule);
this.$store.commit("setProjectManageMenuList", companyModule);
this.$store.commit("setIsShowBackIndex", false);
this.$router.push(companyModule[0].modulePath);
break;
this.$store.commit('setMenuList', companyModule)
this.$store.commit('setProjectManageMenuList', companyModule)
this.$store.commit('setIsShowBackIndex', false)
this.$router.push(companyModule[0].modulePath)
break
case 4:
this.$store.commit("setMenuList", companyModule);
this.$store.commit("setProjectManageMenuList", companyModule);
this.$store.commit("setIsShowBackIndex", false);
this.$router.push(companyModule[0].modulePath);
break;
this.$store.commit('setMenuList', companyModule)
this.$store.commit('setProjectManageMenuList', companyModule)
this.$store.commit('setIsShowBackIndex', false)
this.$router.push(companyModule[0].modulePath)
break
case 7:
this.$store.commit("setMenuList", companyModule);
this.$store.commit("setProjectManageMenuList", companyModule);
this.$store.commit("setIsShowBackIndex", false);
this.$router.push(companyModule[0].modulePath);
break;
this.$store.commit('setMenuList', companyModule)
this.$store.commit('setProjectManageMenuList', companyModule)
this.$store.commit('setIsShowBackIndex', false)
this.$router.push(companyModule[0].modulePath)
break
case 5:
case 6:
//
if (this.projectType == "zjsj"){
console.log('是这里吗',data)
//
//
if (this.projectType == 'zjsj') {
console.log('是这里吗', data)
//
let arr = data.menuAuthority.moduleList
let arr2=[]
arr.forEach(element => {
if(element.moduleType==4){
let arr2 = []
arr.forEach((element) => {
if (element.moduleType == 4) {
arr2.push(element)
return
}
});
console.log('arr2',arr2)
})
console.log('arr2', arr2)
// 访
if (!arr2.length) {
this.$router.push("/projectIndex");
}else{
this.$router.push(arr2[0].modulePath);
}
}else{
this.$router.push('/projectIndex')
} else {
this.$router.push(arr2[0].modulePath)
}
} else {
// styleType == 3
if (data.styleType == 1 || !data.styleType ) {
this.$router.push("/projectIndex");
} else if (data.styleType == 2) {
this.$router.push("/projectV2/taskList");
}else {
this.$router.push("/projectV3/taskList");
}
this.$store.commit("setProjectSn", data.sn);
break;
if (data.styleType == 1 || !data.styleType) {
this.$router.push('/projectIndex')
} else if (data.styleType == 2) {
this.$router.push('/projectV2/taskList')
} else {
this.$router.push('/projectV3/taskList')
}
this.$store.commit('setProjectSn', data.sn)
break
}
}
this.selectMp3FileList();
},
},
};
this.selectMp3FileList()
}
}
}
</script>
<style lang="less" scoped>
.zjsjLogin {
width: 100%;
height: 100%;
@ -736,7 +757,7 @@ export default {
position: absolute;
left: 55%;
top: 50%;
transform: translate(-50%,-50%);
transform: translate(-50%, -50%);
width: 380px;
height: 250px;
background-color: rgb(255, 255, 255);
@ -798,7 +819,7 @@ export default {
// -webkit-animation-delay: .4s;
// animation-delay: .4s;
// }
// .point::before{
// content: "";
// display: block;
@ -849,4 +870,15 @@ export default {
bottom: 0;
transform: translateX(-50%);
}
.loginContent {
width: 44%;
height: 300px;
/* background-color: palevioletred; */
position: absolute;
right: 45%;
/* font-weight: bold; */
font-size: 65px;
color: #fff;
top: 40%;
}
</style>

View File

@ -8,7 +8,8 @@
:src="'./img/logo/' + LOGO_white + '.png'"
class="icon"
/>
<span>{{ $t("message.homeLayout.title") }}</span>
<span v-if="COMPANY == 'hengtong'"> 智建宝云平台 </span>
<span v-else> {{ $t('message.homeLayout.title') }}</span>
</div>
<div class="title_c flex_space_b">
<div v-for="item in navigationList" :key="item.id">
@ -16,7 +17,7 @@
:class="checked == item.id && 'checkedColor'"
@click="
() => {
checked = item.id;
checked = item.id
}
"
>
@ -32,7 +33,7 @@
type="primary"
@click="loginBtn"
>
{{ $t("message.homeLayout.login") }}
{{ $t('message.homeLayout.login') }}
</el-button>
</div>
</div>
@ -77,7 +78,8 @@
</div>
<div class="content_mod3">
<div class="content_title">
<div>智慧工地云平台应用场景图</div>
<div v-if="COMPANY == 'hengtong'">智建宝云平台应用场景图</div>
<div v-else>智慧工地云平台应用场景图</div>
<div class="subhead">Smart site application scenario</div>
</div>
<div class="scenario_wrap">
@ -86,7 +88,8 @@
</div>
<div class="content_mod4">
<div class="content_title">
<div>智慧工地云平台应用案例</div>
<div v-if="COMPANY == 'hengtong'">智建宝云平台应用案例</div>
<div v-else>智慧工地云平台应用案例</div>
<div class="subhead">Smart site application case</div>
</div>
<el-carousel
@ -97,7 +100,24 @@
class="carousel"
indicator-position="none"
>
<el-carousel-item class="carousel-item">
<el-carousel-item
class="carousel-item"
v-if="COMPANY == 'hengtong'"
>
<div class="carousel_content">
<div
class="item"
v-for="(item, index) in caseListZJB"
:key="index"
>
<div class="flex">
<img :src="item.icon" class="icon" />
</div>
<div class="item_content">{{ item.content }}</div>
</div>
</div>
</el-carousel-item>
<el-carousel-item class="carousel-item" v-else>
<div class="carousel_content">
<div
class="item"
@ -128,155 +148,199 @@
</template>
<script>
export default {
name: "Home",
name: 'Home',
data() {
return {
navigationList: [
{ name: "产品服务", id: 1 },
{ name: "SDK&工具", id: 2 },
{ name: "文档", id: 3 },
{ name: '产品服务', id: 1 },
{ name: 'SDK&工具', id: 2 },
{ name: '文档', id: 3 }
],
checked: 1,
LOGO_white: LOGO_white,
COMPANY: COMPANY,
functionsList: [
{
id: 1,
name: "劳务管理",
icon: require("@/assets/images/homeIntro/icon/icon1.png"),
name: '劳务管理',
icon: require('@/assets/images/homeIntro/icon/icon1.png'),
content:
"工地人员信息录入、考勤统计。随时随地了解工地用工情况、提高安全管理及对工地整体的把控能力。",
'工地人员信息录入、考勤统计。随时随地了解工地用工情况、提高安全管理及对工地整体的把控能力。'
},
{
id: 2,
name: "视频监控",
icon: require("@/assets/images/homeIntro/icon/icon2.png"),
name: '视频监控',
icon: require('@/assets/images/homeIntro/icon/icon2.png'),
content:
"施工现场安装摄像点,进行不间断监控,实时掌握工地施工形象面貌和工程进度,及时发现施工过程中存在的安全风险。",
'施工现场安装摄像点,进行不间断监控,实时掌握工地施工形象面貌和工程进度,及时发现施工过程中存在的安全风险。'
},
{
id: 3,
name: "安全教育",
icon: require("@/assets/images/homeIntro/icon/icon3.png"),
name: '安全教育',
icon: require('@/assets/images/homeIntro/icon/icon3.png'),
content:
"三维动态的形式逼真模拟出多项VR应用场景微信扫码视频学习、在线考试提升安全意识。",
'三维动态的形式逼真模拟出多项VR应用场景微信扫码视频学习、在线考试提升安全意识。'
},
{
id: 4,
name: "进度管理",
icon: require("@/assets/images/homeIntro/icon/icon4.png"),
name: '进度管理',
icon: require('@/assets/images/homeIntro/icon/icon4.png'),
content:
"统计分项进度情况,逾期任务预警推送,实时把控各进度的走向,确保整体工程在计划的项目周期内完工。",
'统计分项进度情况,逾期任务预警推送,实时把控各进度的走向,确保整体工程在计划的项目周期内完工。'
},
{
id: 5,
name: "环境监测",
icon: require("@/assets/images/homeIntro/icon/icon5.png"),
name: '环境监测',
icon: require('@/assets/images/homeIntro/icon/icon5.png'),
content:
"将工地的PM10PM2.5,噪声等数据进行实时监测,当工地环境超标时,可主动开启降尘炮/围挡喷淋进行及时抑尘。",
'将工地的PM10PM2.5,噪声等数据进行实时监测,当工地环境超标时,可主动开启降尘炮/围挡喷淋进行及时抑尘。'
},
{
id: 6,
name: "塔吊监控",
icon: require("@/assets/images/homeIntro/icon/icon6.png"),
name: '塔吊监控',
icon: require('@/assets/images/homeIntro/icon/icon6.png'),
content:
"实时监测超载,超重等违规行为。加装虹膜识别/人脸识别设备,杜绝无证操作,降低事故发生风险。",
'实时监测超载,超重等违规行为。加装虹膜识别/人脸识别设备,杜绝无证操作,降低事故发生风险。'
},
{
id: 7,
name: "升降机监控",
icon: require("@/assets/images/homeIntro/icon/icon7.png"),
name: '升降机监控',
icon: require('@/assets/images/homeIntro/icon/icon7.png'),
content:
"获取实时施工升降机运行数据,维保数据,满载声光报警,超载自动切断电路,提升对升降机设备的信息化管理,效预防事故发生。",
'获取实时施工升降机运行数据,维保数据,满载声光报警,超载自动切断电路,提升对升降机设备的信息化管理,效预防事故发生。'
},
{
id: 8,
name: "工地广播",
icon: require("@/assets/images/homeIntro/icon/icon8.png"),
name: '工地广播',
icon: require('@/assets/images/homeIntro/icon/icon8.png'),
content:
"智能广播系统。对工地现场不定时的播岀通知,应急疏散通知等。 具有分区点对点广播功能,实现精准警报,及时处理警告。",
'智能广播系统。对工地现场不定时的播岀通知,应急疏散通知等。 具有分区点对点广播功能,实现精准警报,及时处理警告。'
},
{
id: 9,
name: "深基坑高支模",
icon: require("@/assets/images/homeIntro/icon/icon9.png"),
name: '深基坑高支模',
icon: require('@/assets/images/homeIntro/icon/icon9.png'),
content:
"基坑、高支模在线监测、基坑稳定性、压力、渗流量、支护等监测预警,可数据自动实时采集,无线传输实时预警。",
'基坑、高支模在线监测、基坑稳定性、压力、渗流量、支护等监测预警,可数据自动实时采集,无线传输实时预警。'
},
{
id: 10,
name: "AI识别",
icon: require("@/assets/images/homeIntro/icon/icon10.png"),
name: 'AI识别',
icon: require('@/assets/images/homeIntro/icon/icon10.png'),
content:
"安全帽识别、车辆识别、烟火检测工服识别、升降机人数检测、入侵检测、吸烟检测等多种AI算法。",
'安全帽识别、车辆识别、烟火检测工服识别、升降机人数检测、入侵检测、吸烟检测等多种AI算法。'
},
{
id: 11,
name: "能耗管理",
icon: require("@/assets/images/homeIntro/icon/icon11.png"),
name: '能耗管理',
icon: require('@/assets/images/homeIntro/icon/icon11.png'),
content:
"降低能耗使用,促进行为节能,減少浪费并限制不合理消耗,实现持续节能;提高智能管理水平。",
'降低能耗使用,促进行为节能,減少浪费并限制不合理消耗,实现持续节能;提高智能管理水平。'
},
{
id: 12,
name: "安全质量",
icon: require("@/assets/images/homeIntro/icon/icon12.png"),
name: '安全质量',
icon: require('@/assets/images/homeIntro/icon/icon12.png'),
content:
"记录工地日常安全质量情况,发现问题,立即上报,随时拍、随时传;电子档永久保存,支持在线打印下载。",
},
'记录工地日常安全质量情况,发现问题,立即上报,随时拍、随时传;电子档永久保存,支持在线打印下载。'
}
],
caseList: [
{
id: 1,
icon: require("@/assets/images/homeIntro/case1.png"),
content: "宜恩县今典城市之星(一期)项目",
icon: require('@/assets/images/homeIntro/case1.png'),
content: '宜恩县今典城市之星(一期)项目'
},
{
id: 2,
icon: require("@/assets/images/homeIntro/case2.png"),
content: "内蒙古赤峰市住建局智慧工地",
icon: require('@/assets/images/homeIntro/case2.png'),
content: '内蒙古赤峰市住建局智慧工地'
},
{
id: 3,
icon: require("@/assets/images/homeIntro/case3.png"),
content: "珠玑城际轨道智慧工地平台",
icon: require('@/assets/images/homeIntro/case3.png'),
content: '珠玑城际轨道智慧工地平台'
},
{
id: 4,
icon: require("@/assets/images/homeIntro/case4.png"),
content: "南方电网云南省智慧工地",
icon: require('@/assets/images/homeIntro/case4.png'),
content: '南方电网云南省智慧工地'
},
{
id: 5,
icon: require("@/assets/images/homeIntro/case5.png"),
content: "恩施荆南建设工程有限公司“智慧工地”",
icon: require('@/assets/images/homeIntro/case5.png'),
content: '恩施荆南建设工程有限公司“智慧工地”'
},
{
id: 6,
icon: require("@/assets/images/homeIntro/case6.png"),
content: "武汉东西湖区智慧工地项目",
icon: require('@/assets/images/homeIntro/case6.png'),
content: '武汉东西湖区智慧工地项目'
},
{
id: 7,
icon: require("@/assets/images/homeIntro/case7.png"),
content: "中国建筑深圳智慧工地",
icon: require('@/assets/images/homeIntro/case7.png'),
content: '中国建筑深圳智慧工地'
},
{
id: 8,
icon: require("@/assets/images/homeIntro/case8.png"),
content: "上海宝冶集团智慧工地项目",
},
icon: require('@/assets/images/homeIntro/case8.png'),
content: '上海宝冶集团智慧工地项目'
}
],
};
//
caseListZJB: [
{
id: 1,
icon: require('@/assets/images/homeIntro/case1.png'),
content: '宜恩县今典城市之星(一期)项目'
},
{
id: 2,
icon: require('@/assets/images/homeIntro/case2.png'),
content: '内蒙古赤峰市住建局智建宝'
},
{
id: 3,
icon: require('@/assets/images/homeIntro/case3.png'),
content: '珠玑城际轨道智建宝平台'
},
{
id: 4,
icon: require('@/assets/images/homeIntro/case4.png'),
content: '南方电网云南省智建宝'
},
{
id: 5,
icon: require('@/assets/images/homeIntro/case5.png'),
content: '恩施荆南建设工程有限公司“智建宝”'
},
{
id: 6,
icon: require('@/assets/images/homeIntro/case6.png'),
content: '武汉东西湖区智建宝项目'
},
{
id: 7,
icon: require('@/assets/images/homeIntro/case7.png'),
content: '中国建筑深圳智建宝'
},
{
id: 8,
icon: require('@/assets/images/homeIntro/case8.png'),
content: '上海宝冶集团智建宝项目'
}
]
}
},
mounted() {},
methods: {
loginBtn() {
this.$router.push({ path: "/login" });
},
},
};
this.$router.push({ path: '/login' })
}
}
}
</script>
<style lang="less" scoped>
.flex {
@ -302,7 +366,7 @@ export default {
position: relative;
}
.checkedColor::before {
content: "";
content: '';
width: 20px;
height: 3px;
background: @--color-primary;
@ -350,7 +414,7 @@ export default {
color: #fff;
width: 100%;
height: 505px;
background-image: url("../../assets/images/homeIntro/title_bg.gif");
background-image: url('../../assets/images/homeIntro/title_bg.gif');
background-repeat: no-repeat;
margin-bottom: 80px;
.mark {

View File

@ -638,13 +638,24 @@ export default {
methods: {
//
createQRcode(index) {
console.log('扫码进来了吗====1', index)
if (this.$route.path.indexOf('/project/') != -1) {
console.log('扫码进来了吗====2')
let url = ''
if (process.env.NODE_ENV == 'development') {
url = 'http://192.168.34.210:6023/'
url = 'http://182.90.224.147:18170/'
} else {
url = window.location.origin + '/'
}
console.log(
'扫码进来了吗====3 :' +
(url +
'#/pages/projectEnd/safetyEducation/authentication?eduId=' +
this.eduId +
'&projectSn=' +
this.$store.state.projectSn)
)
let width = 90
let height = 90
if (index) {