Commit 3bd80d9b by 蒋勇

d

parent bfdc7a81
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/projectmanage/main.js"
}
]
}
\ No newline at end of file
const CacheBase=require("../cache.base");
const system=require("../../system");
const settings = require("../../../config/settings");
//缓存首次登录的赠送的宝币数量
class AppCache extends CacheBase{
constructor(){
super();
this.prefix="g_appkey:";
this.appDao=system.getObject("db.common.appDao");
}
isdebug(){
return settings.env=="dev";
}
desc(){
return "缓存本地应用对象";
}
prefix(){
return "g_applocal_"
}
async buildCacheVal(cachekey,inputkey, val, ex, ...items) {
const configValue=await this.appDao.findOne2(inputkey);
if (configValue) {
return JSON.stringify(configValue);
}
return null;
}
}
module.exports=AppCache;
......@@ -9,8 +9,8 @@ class PmQuestionCtl extends CtlBase{
super("pm",CtlBase.getServiceName(PmQuestionCtl));
}
async fetchQuestionForDev(pobj,obj,req){
var result= await this.service.fetchQuestionForDev(req.companyid);
return system.getResult2(result);
var result= await this.service.fetchQuestionForDev(pobj.company_id);
return system.getResult(result);
}
async create(qobj,queryobj,req){
if(req && req.session && req.session.user){
......
......@@ -98,7 +98,7 @@ module.exports = {
},
"bizs": {
"home": {"title": "前台首页", "config": null, "path": "/", "comname": "home"},
"admin": {"title": "后台首页", "config": null, "path": "/index", "comname": "admin"},
"roleview": {"title": "后台首页", "config": null, "path": "/index", "comname": "roleview"},
"allproducts": {"title": "产品", "config": null, "path": "/allproducts", "comname": "products"},
"allprojects": {"title": "项目", "config": null, "path": "/allprojects", "comname": "projects"},
......
......@@ -18,6 +18,7 @@
<script src="/js/vue/vuex.min.js"></script>
<script src="/js/ele/index_2.5.4.js"></script>
<script src="/js/vue/axios.min.js"></script>
<script src="/js/echarts/echarts.min.js"></script>
<script>
//缓存当前域名对应的公司信息,公司、页脚、银行账号---全局变量
var appinfo = JSON.parse(unescape('<%=appinfo%>'));
......@@ -128,6 +129,8 @@ body{
</div>
<script src="/js/vue/jquery.min.js"></script>
<script src="/js/common.js"></script>
<script src="/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
.admin{
color:black;
width: 100%;
height: 100%;
box-sizing: border-box;
}
\ No newline at end of file
{
template:'${tmpl}',
data:function(){
return {
}
},
mounted:function(){
},
created:function(){
},
methods:{
},
vname:"gsb_admin"
}
.showMain {
height:100%;
box-shadow:0px 1px 8px 0px rgba(0,0,0,0.2);
border-radius:8px;
color: #fff;
cursor: pointer;
}
.showMain-header {
width: 100%;
height: 70px;
line-height: 70px;
font-size: 24px;
border-bottom: 1px solid #fff;
color: #333;
font-size: 14px;
font-weight:bold;
}
.roleview .el-card__body {
padding: 0px 34px;
}
.smh-tal {
line-height: 50px;
text-align: left;
color: #333333;
font-size: 14px;
border-bottom: 1px solid #E1E3EF;
}
.smh-tar {
line-height: 50px;
text-align: right;
color: #FC5634;
font-size: 14px;
border-bottom: 1px solid #E1E3EF;
}
.affiche-right {
width: 100%;
min-width: 610px;
height: 372px;
padding: 24px;
box-sizing: border-box;
-webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
background-color: #fff;
}
.affiche-right-title {
width: 100%;
height: 40px;
margin-bottom: 26px;
font-size: 14px;
border-bottom: 1px solid #EEEEEE;
}
.affiche-right-title-l {
float: left;
color: #333333;
font-weight:bold;
}
.affiche-right-title-r {
float: right;
color: #37AAFF;
cursor: pointer;
}
.affiche-right-item {
width: 100%;
height: 55px;
font-size: 14px;
color: #333;
}
.affiche-right-item > .l {
width: 476px;
float: left;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
cursor: pointer;
}
.affiche-right-item > .r {
float: right;
}
.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active {
background-color: #EFF0F7 !important;
}
\ No newline at end of file
<gsb-pagecard>
<!--开发、监控-->
<div slot="content">
<div v-if="isdev">
<el-row gutter="60" style="margin-bottom:30px">
<el-col :span="8" style="padding: 0px 10px !important;">
<el-card shadow="always">
<div>
<el-row>
<el-col :span="18">
<h4 style="color:#666">
<i style="font-size: 20px;color:#2692FF"
class="fa fa-money"></i>
&nbsp;问题:
<span
v-if="developerData.length>0">{{developerData[0].value}}</span>
<span v-else></span>
</h4>
</el-col>
<el-col :span="6">
<el-button style="margin-top:15px" type="text"> </el-button>
</el-col>
</el-row>
<div style="border-bottom:1px solid #aaa"></div>
<el-row style="text-align:center">
<el-col :span="12">
<h5 style="color:#888">待解决</h5>
</el-col>
<el-col :span="12">
<h5 style="color:#888">
<span
v-if="developerData.length>0">{{developerData[1].value}}</span>
<span v-else>0</span>
</h5>
</el-col>
</el-row>
<el-row style="text-align:center">
<el-col :span="12">
<h5 style="color:#888">解决中</h5>
</el-col>
<el-col :span="12">
<h5 style="color:#888">
<span
v-if="developerData.length>0">{{developerData[2].value}}</span>
<span v-else>0</span>
</h5>
</el-col>
</el-row>
<el-row style="text-align:center">
<el-col :span="12">
<h5 style="color:#888">已解决</h5>
</el-col>
<el-col :span="12">
<h5 style="color:#888">
<span
v-if="developerData.length>0">{{developerData[3].value}}</span>
<span v-else>0</span>
</h5>
</el-col>
</el-row>
</div>
</el-card>
</el-col>
</el-row>
<el-row gutter="60" style="margin-bottom:30px">
<el-col :span="24" style="padding: 0px 10px !important;">
<el-card shadow="always">
<gsb-echart1 ref="problemBar" :data="problemBardata"></gsb-echart1>
</el-card>
</el-col>
</el-row>
</div>
</div>
</gsb-pagecard>
\ No newline at end of file
{
template:'${tmpl}',
data:function(){
return {
isdev:false,
multipleSelection: [],
barref:null,
developerData:[],
problemBardata:{
title: {
text: '系统问题个人统计',
left:'center'
},
tooltip : {
trigger: 'axis'
},
legend: {
top:10,
data: ['','','待解决', '处理中','已解决']
},
calculable : true,
xAxis:[ {
type: 'category',
data: []
}],
yAxis: [
{
type : 'value',
name : '问题个数(个)',
axisLabel : {
formatter: '{value} '
}
}
],
series: [
{
name:'待解决',
type:'bar',
barWidth:20,
data:[]
},
{
name:'处理中',
type:'bar',
barWidth:20,
data:[]
},
{
name:'已解决',
type:'bar',
barWidth:20,
data:[]
}
]
},
}
},
mounted:function(){
this.barref=this.$refs.problemBar;
setTimeout(()=>{
var dev=this.$root.currentUser.roles.indexOf("002");
var kfjl=this.$root.currentUser.roles.indexOf("001");
var yfbmjl=this.$root.currentUser.roles.indexOf("003");
if(dev>=0 || kfjl>=0 || yfbmjl>=0 || this.$root.currentUser.isAdmin){
this.isdev=true;
this.fetchQuestionForDev();
}else{
this.isdev=false;
}
},1500);
},
created:function(){
},
methods:{
async fetchQuestionForDev(){
var that=this;
var obj={};
var d=await this.$root.postReq("/web/pm/pmquestionCtl/fetchQuestionForDev",obj);
if(d.status==0&&d.data){
this.developerData=d.data.obj1;
var data=this.barref.getEchartObj();
if(data){
var option = data.getOption();
option.xAxis[0].data=d.data.obj2;
option.series[0].data = d.data.obj3;
option.series[1].data = d.data.obj4;
option.series[2].data = d.data.obj5;
data.setOption(option);
window.addEventListener("resize",function(){
data.resize();
});
}
}
},
onColFormater(row,column,cellvalue,index){
return cellvalue;
},
handleSelectionChange:function(val){
this.multipleSelection = val;
console.log(val);
},
onRowClick(row,key,e){
if(key=="stopUser"){
}
},
gengduo () {
this.$alert('更多功能敬请期待', '提示', {
confirmButtonText: '确定',
callback: action => {
this.$message({
type: 'info',
message: `action: ${ action }`
});
}
});
}
},
computed: Vuex.mapState({
count:state=>state.count,
headStyle:function(){
return {"background-color":"white"};
}
}),
vname:"gsb_roleview"
}
\ No newline at end of file
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