<template>
|
<view class="uni-page-index">
|
<view class="v-area" v-for="(area,index) in data">
|
<p :data-key="area.ID?area.ID:area.id">{{ area.Name?area.Name:area.name }}</p>
|
<ul class="areaList">
|
<!-- Mobox2 -->
|
<li v-for="(app,key) in area.App">
|
<a @tap="appCreate(app)" class="logo" :style="{'background-color':app.BkColor,'color':app.BkColor}">
|
<i :class="app.ImgFontStyle" :style="{'color':app.TxtColor}"></i>
|
</a>
|
<p :data-key="app.ID">{{ app.Name }}</p>
|
</li>
|
<!-- Mobox3 -->
|
<li v-for="(app,key) in area.app_list">
|
<a @tap="appCreate(app)" class="logo"
|
:style="{'background-color':app.bk_color,'color':app.bk_color}">
|
<i :class="app.img_font_style" :style="{'color':app.txt_color}"></i>
|
</a>
|
<p :data-key="app.id">{{ app.list_name|| app.name}}</p>
|
</li>
|
|
</ul>
|
</view>
|
|
</view>
|
</template>
|
|
<script>
|
import Base64 from '../../components/js-base64/base64.js'
|
export default {
|
modules: {
|
Base64,
|
},
|
onNavigationBarButtonTap(e) {
|
// console.log(e.text);
|
// console.log(e.fontSize);
|
this.$store.state.areaFunc = '';
|
this.$store.commit("classAttrList", null);
|
this.$store.commit("classGridStyleInfo", null);
|
this.$store.commit("dicValueInfo", null);
|
this.$store.commit("subClassAttrList", null);
|
this.$store.commit("subClassGridStyleInfo", null);
|
//刷新当前页面
|
// location.reload();
|
uni.redirectTo({
|
url: '../index/index?args=9999999999'
|
});
|
},
|
data() {
|
return {
|
title: 'Hello',
|
data: []
|
}
|
},
|
onLoad(options) {
|
console.log(options);
|
// 获取所有AppType="MES",ClientType="2"(PDA)的引用领域功能点信息
|
|
if (this.$store.state.areaFunc)
|
this.data = this.$store.state.areaFunc.data;
|
else
|
this.$store.dispatch('areaFunc', {}).then(success => {
|
// console.log(success);
|
if (success.code == '00000' || success.err_code == 0) {
|
this.data = success.data;
|
|
if (success.err_code != undefined) { //判断是否是Mobox3
|
success.result.forEach(async (area, index) => {
|
if (area.client_type == 2) { //判断类型是否是PDA类型
|
await this.GetFuncTree(index, area);
|
}
|
});
|
}
|
} else {
|
uni.showModal({
|
title:this.translateSys("error"),
|
content: success.msg,
|
showCancel: false,
|
confirmText:this.translateSys("cancel")
|
});
|
}
|
}).catch(ex => {
|
// console.log(ex);
|
uni.showModal({
|
title: this.translateSys("error"),
|
content: ex.errMsg,
|
showCancel: false,
|
confirmText:this.translateSys("cancel")
|
});
|
});
|
|
},
|
methods: {
|
async GetFuncTree(index, area) { //Mobox3获取应用领域的功能点
|
this.data = [];
|
var $this = this;
|
var json = {
|
app_type: "MES",
|
area_id: area.id,
|
area_client_type: area.client_type,
|
need_ace: '0',
|
};
|
this.$store.dispatch('GetFuncTree', json).then(success => {
|
// console.log(success);
|
if (success.err_code == 0) {
|
if ((success.result || []).length > 0) {
|
$this.data.push(success.result[0]);
|
console.log("onLoad",$this.data )
|
this.$store.commit("areaFunc", $this.data);
|
}
|
|
} else {
|
uni.showModal({
|
title:this.translateSys("error"),
|
content: success.msg,
|
showCancel: false,
|
confirmText: this.translateSys("cancel")
|
});
|
}
|
}).catch(ex => {
|
// console.log(ex);
|
uni.showModal({
|
title: this.translateSys("error"),
|
content: ex.errMsg,
|
showCancel: false,
|
confirmText: this.translateSys("cancel")
|
});
|
});
|
},
|
appCreate(app) { //点击功能点跳转页面
|
console.log(app);
|
var paramStr = this.$store.state.OIMoboxSAPI ? app.param : app.Param;
|
var appName = this.$store.state.OIMoboxSAPI ? (app.list_name || app.name ) : app.Name;
|
var defCode = this.$store.state.OIMoboxSAPI ? app.def_code : app.DefCode;
|
var param = "";
|
if (paramStr) {
|
//mobox2的param是json字符串
|
param = paramStr.replace(/\\/g, "");
|
//mobox3的param是base64字符串
|
if (!paramStr.includes('"')) param = Base64.decode(paramStr);
|
}
|
|
if (!param) {
|
uni.showModal({
|
title: this.translateSys("tip"),
|
content:this.translate('tip_no_app_param'),
|
showCancel: false,
|
confirmText:this.translateSys("cancel")
|
});
|
return;
|
}
|
if (defCode == '3018') {
|
if (this.$store.state.OIMoboxSAPI) { //Mobox3
|
uni.navigateTo({
|
// url:'../modal/3018?param='+param+"&titlename="+appName
|
url: '../modal/3018_2?param=' + param + "&titlename=" + appName
|
});
|
} else { //Mobox2
|
uni.navigateTo({
|
url: '../modal/classAttr?param=' + param + "&titlename=" + appName
|
});
|
}
|
} else if (defCode == '3037') {
|
if (this.$store.state.OIMoboxSAPI) { //Mobox3
|
uni.navigateTo({
|
// url:'../modal/3037?param='+param+"&titlename="+appName
|
url: '../modal/3037_2?param=' + param + "&titlename=" + appName
|
});
|
} else { //Mobox2
|
uni.navigateTo({
|
url: '../modal/ms_classAttr?param=' + param + "&titlename=" + appName
|
});
|
}
|
} else if (defCode == '3200') {
|
if (this.$store.state.OIMoboxSAPI) { //Mobox3
|
uni.navigateTo({
|
url: '../modal/3200?param=' + param + "&titlename=" + appName
|
});
|
}
|
} else if (defCode == '3201') {
|
if (this.$store.state.OIMoboxSAPI) { //Mobox3
|
uni.navigateTo({
|
url: '../modal/3201?param=' + param + "&titlename=" + appName
|
});
|
}
|
} else if (defCode == '5600') { //码盘
|
if (this.$store.state.OIMoboxSAPI) { //Mobox3
|
uni.navigateTo({
|
url: '../modal/5600?param=' + param + "&titlename=" + appName
|
});
|
}
|
} else if (defCode == '5601') { //码盘
|
if (this.$store.state.OIMoboxSAPI) { //Mobox3
|
uni.navigateTo({
|
url: '../modal/5601?param=' + param + "&titlename=" + appName
|
});
|
}
|
} else if (defCode == '5602') { //分拣
|
if (this.$store.state.OIMoboxSAPI) { //Mobox3
|
uni.navigateTo({
|
url: '../modal/5602?param=' + param + "&titlename=" + appName
|
});
|
}
|
}
|
|
// uni.redirectTo({
|
// url:'../index/index?args=9999999999'
|
// });
|
},
|
ontap(e) { //扫码功能
|
// console.log(e.target)
|
getApp().onScan((result) => {
|
// console.log(result.decodedata);
|
this.$data.data[e.target.dataset['key']] = result.decodedata;
|
})
|
},
|
translate(t) {
|
if (typeof this.$t == "function") return this.$t(`page.${t}`)
|
else return t;
|
},
|
translateSys(t) {
|
if (typeof this.$t == "function") return this.$t(`sys.${t}`)
|
else return t;
|
},
|
}
|
}
|
</script>
|
|
<style lang="scss">
|
.uni-page-index {
|
|
width: 100vw;
|
min-height: 100vh;
|
background: #EAEAEA;
|
padding: 1rpx 0rpx;
|
|
|
.v-area {
|
border-radius: 12rpx;
|
margin: 30rpx;
|
padding: 10rpx;
|
background: #FFFFFF;
|
}
|
|
.areaList {
|
padding: 0;
|
}
|
|
.areaList li {
|
/* border: 1px solid #0062CC; */
|
list-style: none;
|
/* width: 120rpx; */
|
display: inline-block;
|
padding: 30rpx 10rpx 16rpx 10rpx;
|
text-align: center;
|
font-size: 14px;
|
width: 100px;
|
vertical-align: text-top;
|
}
|
|
.logo {
|
height: 120rpx;
|
width: 120rpx;
|
border-radius: 20rpx;
|
display: inline-block;
|
text-align: center;
|
padding: 18rpx;
|
color: #000000;
|
border: 0px solid rgb(221, 221, 221);
|
}
|
|
.logo i {
|
color: #000000;
|
font-size: 40px;
|
line-height: 53px;
|
}
|
}
|
</style>
|