Commit 7cadd8c1 authored by Administrator's avatar Administrator

Merge remote-tracking branch 'origin/zuhuduan' into zuhuduan

parents d41c75fe b508bea3
......@@ -12,8 +12,10 @@ import com.dsk.biz.domain.bo.BusinessListDto;
import com.dsk.biz.domain.bo.CustomerBusinessSearchDto;
import com.dsk.biz.domain.vo.*;
import com.dsk.biz.utils.ExcelUtils;
import com.dsk.biz.utils.OldFileUtils;
import com.dsk.common.annotation.DataColumn;
import com.dsk.common.annotation.DataPermission;
import com.dsk.common.utils.file.FileUploadUtils;
import com.dsk.jsk.service.EnterpriseService;
import com.dsk.biz.mapper.BusinessInfoMapper;
import com.dsk.biz.mapper.BusinessLabelMapper;
......@@ -131,7 +133,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
businessBrowseVo.setFollowRecordCount(total.getFollowRecordCount());
businessBrowseVo.setRelateCompanyCount(total.getRelateCompanyCount());
//资料文档统计
// businessBrowseVo.setFileCount(FileUtils.getAllFileNames(ShuZhiHuaConfig.getProfile() + businessId).size());
businessBrowseVo.setFileCount(OldFileUtils.getAllFileNames(FileUploadUtils.getDefaultBaseDir() + businessId).size());
return businessBrowseVo;
}
......
......@@ -24,3 +24,11 @@ export const historyClaim= function historyClaim(name) {
method: 'Put',
})
}
//获取大司空open 插件访问token
export function dskAccessToken() {
return request({
url: '/system/config/dsk/accessToken',
method: 'get',
})
}
import request from "@/utils/request";
//企业数据统计
export function statistic(data) {
//集团数据统计
export function infoMemberCount(data) {
return request({
url: '/enterprise/statistic',
url: '/combine/info/memberCount',
method: 'post',
data: data
})
......
......@@ -99,7 +99,7 @@ export default {
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
localStorage.removeItem('views') //清空导航栏上的数据
sessionStorage.removeItem('views') //清空导航栏上的数据
location.href = '/index';
})
}).catch(() => {});
......@@ -111,7 +111,7 @@ export default {
setToken(res.data.token)
setTenantid(id)
store.commit('SET_TOKEN', res.data.token)
localStorage.removeItem('views') //清空导航栏上的数据
sessionStorage.removeItem('views') //清空导航栏上的数据
if(this.$route.path == '/index'){
location.reload();
}else{
......
......@@ -8,8 +8,7 @@
<!--<i class="el-icon-arrow-down" v-if="!showall"></i> <i class="el-icon-arrow-up" v-if="showall"></i>-->
</div>
<el-collapse-transition>
<div class="tagslist" v-if="showall">
<draggable v-model="visitedViews" :options="dragOptions" @end="end">
<div class="tagslist" :class="{'noshow':!showall}">
<router-link
v-for="(tag, index) in visitedViews"
ref="tag"
......@@ -22,12 +21,10 @@
>
<div @click="changetags">
<i class="el-icon-check"></i>
<span :id="isActive(tag)?'tagTitle':''">{{ tag.title }}</span>
<span :id="isActive(tag)?'tagTitles':''">{{ tag.title }}</span>
</div>
</router-link>
<div class="clasall" @click="closeAllTag(selectedTag)">关闭全部标签</div>
</draggable>
</div>
</el-collapse-transition>
</div>
......@@ -154,7 +151,7 @@ export default {
// li.matched = view.matched //此条数据放出会报错
viewlist.push(li)
})
localStorage.setItem("views",JSON.stringify(viewlist))
sessionStorage.setItem("views",JSON.stringify(viewlist))
},
changetags(){
this.showall = false
......@@ -463,6 +460,8 @@ export default {
height: 24px;
}
.tagslist{
transition: all 0.2s;
display: block;
position: absolute;
left: 0;
top: 32px;
......@@ -517,6 +516,11 @@ export default {
}
}
}
.noshow{
display: none;
opacity: 0;
/*height: 0;*/
}
}
}
</style>
......
......@@ -63,11 +63,10 @@ export default {
this.$nextTick(() => {
this.listenSider()
})
// console.log(9999)
let views = localStorage.getItem('views')
let views = sessionStorage.getItem('views')
if(views!=null){
this.$store.state.tagsView.visitedViews = JSON.parse(views)
localStorage.removeItem('views')
// sessionStorage.removeItem('views')
}
},
methods: {
......
......@@ -32,6 +32,7 @@ router.beforeEach((to, from, next) => {
}).catch(err => {
store.dispatch('LogOut').then(() => {
Message.error(err)
sessionStorage.removeItem('views')
next({ path: '/' })
})
})
......
......@@ -107,6 +107,7 @@ service.interceptors.response.use(res => {
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
isRelogin.show = false;
store.dispatch('LogOut').then(() => {
sessionStorage.removeItem('views')
location.href = '/index';
})
}).catch(() => {
......
......@@ -94,31 +94,29 @@ export default {
this.sideRoute = JSON.parse(JSON.stringify(this.defaultRoute))
let arr = JSON.parse(JSON.stringify(val))
for(var i in arr){
for(var j in arr[i]){
// switch (j) {
// case 'ownershipStructure':
// if(arr[i][j]<1){
// this.sideRoute[0].disabled = true;
// }
// break;
// case 'qualification':
// if(arr[i][j]<1){
// this.sideRoute[1].disabled = true;
// }
// break;
// case 'performance':
// if(arr[i][j]<1){
// this.sideRoute[2].disabled = true;
// }
// break;
// case 'biddingAnnouncement':
// if(arr[i][j]<1){
// this.sideRoute[3].disabled = true;
// }
// break;
// default:
// break;
// }
switch (i) {
case 'member':
if(arr[i]<1){
this.sideRoute[0].disabled = true;
}
break;
case 'qualification':
if(arr[i]<1){
this.sideRoute[1].disabled = true;
}
break;
case 'performance':
if(arr[i]<1){
this.sideRoute[2].disabled = true;
}
break;
case 'biddingAnnouncement':
if(arr[i]<1){
this.sideRoute[3].disabled = true;
}
break;
default:
break;
}
}
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
......
<template>
<div class="app-container group-container">
<div class="header-container" ref="header">
<div class="header-container">
<div class="flex-box part-header">
<img class="header-logo" :src="require('@/assets/images/detail/company_logo.png')">
<img class="header-logo" :src="details && details.logoUrl || require('@/assets/images/detail/company_logo.png')">
{{name || '--'}}
</div>
</div>
......@@ -30,7 +30,7 @@
import Performance from "./component/performance"
import Zhaobiao from "./component/zhaobiao"
import { infoHeader } from '@/api/detail/party-a/index'
import {combineMemberLogo,statistic} from '@/api/detail/groupAccount/groupAccount'
import {combineMemberLogo,infoMemberCount} from '@/api/detail/groupAccount/groupAccount'
import elementResizeDetectorMaker from "element-resize-detector"
export default {
name: 'GroupAccount',
......@@ -49,6 +49,7 @@
isCompany: false,
isSkeleton: false,
name:'',
details:{},
}
},
created() {
......@@ -56,9 +57,9 @@
this.customerId = this.$route.params.id
}
combineMemberLogo({combineId: this.customerId}).then(res=>{
console.log(res.data)
this.details=res.data;
})
statistic({companyId: this.$route.query.cid}).then(res=>{
infoMemberCount({combineId: this.customerId}).then(res=>{
console.log(res.data)
if(res.code==200){
this.statisticObj = res.data
......@@ -67,13 +68,9 @@
// if (this.$route.query.path) { // 获取跳转对应板块
// this.currentPath.pathName = this.$route.query.path
// }
// this.$route.query.name=''
this.name=this.$route.query.name ? this.$route.query.name : '中建集团'
},
mounted(){
// this.mainWidth=this.$refs.header.offsetWidth;
// this.width=this.$refs.contentData.offsetWidth -160;
this.name=this.$route.query.name ? this.$route.query.name : this.details.companyName
},
mounted(){},
methods: {
showPartPage(e){
this.currentPath = e
......
......@@ -193,7 +193,6 @@ export default {
}
},
created() {
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
},
watch:{
statisticObj:{
......@@ -336,6 +335,7 @@ export default {
financial({cid:String(id)}).then(res=>{
if(res.code==200&&!res.data){
this.sideRoute[1].disabled = true
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
}
})
},
......
......@@ -203,7 +203,7 @@ export default {
[name]: this.queryParams[name],
}
customerUpdate(data).then(res=>{
if(res.data){
if(res.code==200){
this.$message.success(res.msg)
this.nowedit = 0
}else{
......
......@@ -643,9 +643,9 @@
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && cityIds.push(arr[i].value)&&provinceIds.push(arr[i].parent.value);
arr[i].hasChildren && cityIds.push(arr[i].value);
arr[i].hasChildren && this.domicile.push(arr[i].label);
!arr[i].hasChildren && areaIds.push(arr[i].value)&& cityIds.push(arr[i].parent.value)&&provinceIds.push(arr[i].parent.parent.value);
!arr[i].hasChildren && areaIds.push(arr[i].value);
!arr[i].hasChildren && this.domicile.push(arr[i].label);
}
} else {
......
......@@ -5,41 +5,9 @@
<el-row>
<el-col :span="16">
<div class="task-wrap">
<div class="item">
<router-link to="/project/overview" tag="a">
<img class="icon-img" src="@/assets/images/index/icon1.png"/>
<p class="text">项目管理</p>
</router-link>
</div>
<div class="item">
<router-link to="/custom/overview" tag="a">
<img class="icon-img" src="@/assets/images/index/icon2.png"/>
<p class="text">客户管理</p>
</router-link>
</div>
<div class="item">
<router-link to="/macro/nationalEconomies" tag="a">
<img class="icon-img" src="@/assets/images/index/icon3.png"/>
<p class="text">全国经济大全</p>
</router-link>
</div>
<div class="item">
<router-link to="/enterpriseData/Group" tag="a">
<img class="icon-img" src="@/assets/images/index/icon4.png"/>
<p class="text">集团户</p>
</router-link>
</div>
<div class="item">
<router-link to="/enterpriseData/Owner" tag="a">
<img class="icon-img" src="@/assets/images/index/icon5.png"/>
<p class="text">查城投平台</p>
</router-link>
</div>
<div class="item">
<router-link to="/radar" tag="a">
<img class="icon-img" src="@/assets/images/index/icon6.png"/>
<p class="text">商机雷达</p>
</router-link>
<div class="item" v-for="item in routerLink" @click="handleUrl(item)">
<img class="icon-img" :src="`${item.imgUrl}`"/>
<p class="text">{{item.name}}</p>
</div>
</div>
</el-col>
......@@ -694,7 +662,16 @@ export default {
timePlaceholder:'中标日期',
show_page:true,
MaxPage:500,
nickName:''
nickName:'',
permissions:[],
routerLink:[
{url:'/project/overview',name:'项目管理',imgUrl:require('@/assets/images/index/icon1.png')},
{url:'/custom/overview',name:'客户管理',imgUrl:require('@/assets/images/index/icon2.png')},
{url:'/macro/nationalEconomies',name:'全国经济大全',imgUrl:require('@/assets/images/index/icon3.png')},
{url:'/enterpriseData/Group',name:'集团户',imgUrl:require('@/assets/images/index/icon4.png')},
{url:'/enterpriseData/Owner',name:'查城投平台',imgUrl:require('@/assets/images/index/icon5.png')},
{url:'/radar',name:'商机雷达',imgUrl:require('@/assets/images/index/icon6.png')},
]
};
},
created() {
......@@ -718,6 +695,7 @@ export default {
getInfo(){
getInfo().then(res=>{
console.log(res)
this.permissions=res.data.permissions;
this.nickName=res.data.user.nickName
}).catch(error=>{});
},
......@@ -1405,6 +1383,72 @@ export default {
let day = String(date.getDate()).padStart(2, 0)
return `${year}-${month}-${day}`
},
handleUrl(item){
switch (item.name) {
case '项目管理':
if(this.permissions.includes('project:info')){
this.$router.push({ path: item.url })
}else {
this.$message({
message: '您好,请联系管理员开通页面权限',
type: 'warning'
});
}
break;
case '客户管理':
if(this.permissions.includes('customer:info')){
this.$router.push({ path: item.url })
}else {
this.$message({
message: '您好,请联系管理员开通页面权限',
type: 'warning'
});
}
break;
case '全国经济大全':
if(this.permissions.includes('nationalEconomies:query')){
this.$router.push({ path: item.url })
}else {
this.$message({
message: '您好,请联系管理员开通页面权限',
type: 'warning'
});
}
break;
case '集团户':
if(this.permissions.includes('group:query')){
this.$router.push({ path: item.url })
}else {
this.$message({
message: '您好,请联系管理员开通页面权限',
type: 'warning'
});
}
break;
case '查城投平台':
if(this.permissions.includes('owner:query')){
this.$router.push({ path: item.url })
}else {
this.$message({
message: '您好,请联系管理员开通页面权限',
type: 'warning'
});
}
break;
case '商机雷达':
if(this.permissions.includes('radar:query')){
this.$router.push({ path: item.url })
}else {
this.$message({
message: '您好,请联系管理员开通页面权限',
type: 'warning'
});
}
break;
default:
break;
}
}
}
};
</script>
......
......@@ -1030,6 +1030,7 @@ export default {
<style lang="scss" scoped>
.chart-top{
margin-bottom: 12px;
.left{
float: left;
height: 122px;
......
......@@ -125,6 +125,13 @@
</div>
</div>
</div>
<div class="tables" style="margin-top: 0" v-if="recordlist.rows && recordlist.rows.length == 0">
<div class="empty">
<img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,您还未添加跟进动态</div>
</div>
</div>
<div class="tables" v-if="recordlist.total>pageSize">
<div class="bottems">
<el-pagination
......@@ -144,11 +151,12 @@
</template>
<script>
import "@/assets/styles/project.scss"
import {getFollowList,addFollowRecord,getUserList,delFollowRecord} from '@/api/custom/custom'
import {getGJJL,addGJJL,delGJJL,relateProject,allRecord} from '@/api/project/project'
import {getEnterprise,getDictType,} from '@/api/main'
import '@/assets/styles/project.scss'
import { addFollowRecord, delFollowRecord, getFollowList, getUserList } from '@/api/custom/custom'
import { addGJJL, allRecord, delGJJL, getGJJL, relateProject } from '@/api/project/project'
import { getDictType, getEnterprise } from '@/api/main'
import skeleton from './skeleton'
export default {
components:{skeleton},
props:{
......
......@@ -203,21 +203,27 @@
},
getList(){
this.isSkeleton = true
getZLWD(this.param).then(res=>{
this.fileDatas = res
getZLWD(this.param).then(res => {
this.isSkeleton = false
if(this.fileDatas.rows!=null && this.fileDatas.rows.length>0){
this.fileDatas.rows.forEach(item=>{
if (res.code == 200) {
this.fileDatas = res
if (this.fileDatas.rows != null && this.fileDatas.rows.length > 0) {
this.fileDatas.rows.forEach(item => {
let names = item.filePath.split('/')
item.name = names[names.length-1]
item.name = names[names.length - 1]
let types = item.name.split('.')
item.type = types.length>1?types[1]:'file'
if(item.type == 'xls' || item.type == 'xlsx' )
item.type = types.length > 1 ? types[1] : 'file'
if (item.type == 'xls' || item.type == 'xlsx') {
item.type = 'excel'
if(item.type == 'doc' || item.type == 'docx' )
}
if (item.type == 'doc' || item.type == 'docx') {
item.type = 'word'
}
})
}
}else{
this.fileDatas.total = 0
}
})
},
getFile(row){
......
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