Commit ce054b35 authored by danfuman's avatar danfuman

Merge branch 'zuhuduan' of http://192.168.60.201/root/dsk-operate-sys into zuhuduan

parents 3f04fa7c 63a3ebc2
......@@ -34,7 +34,7 @@ public class BusinessFollowRecordController extends BaseController
* 查询关联项目
*/
@GetMapping("/relate/project/{userId}")
public R<List<BusinessListVo>> selectRelateProject(@PathVariable("userId") Integer userId)
public R<List<BusinessListVo>> selectRelateProject(@PathVariable("userId") Long userId)
{
return R.ok(businessFollowRecordService.selectRelateProject(userId));
}
......@@ -43,7 +43,7 @@ public class BusinessFollowRecordController extends BaseController
* 查询关联业主企业
*/
@GetMapping("/relate/company/{userId}")
public R<List<String>> selectRelateCompany(@PathVariable("userId") Integer userId)
public R<List<String>> selectRelateCompany(@PathVariable("userId") Long userId)
{
return R.ok(businessFollowRecordService.selectRelateCompany(userId));
}
......
......@@ -34,7 +34,7 @@ public class BusinessFollowRecord extends BaseEntity
private Integer businessId;
/** 用户id */
private Integer userId;
private Long userId;
/** 用户昵称 */
private String nickName;
......
package com.dsk.biz.domain.bo;
import com.dsk.common.annotation.Excel;
import lombok.Data;
/**
......@@ -13,13 +14,16 @@ public class BusinessExcelDto {
/**
* 项目名称
*/
@Excel(name = "项目名称(必填)")
private String projectName;
/**
* 投资估算(万元)
*/
@Excel(name = "投资估算(万元)")
private String investmentAmount;
/**
* 业主单位
*/
@Excel(name = "业主单位(必填)")
private String ownerCompany;
}
......@@ -27,14 +27,14 @@ public interface BusinessFollowRecordMapper
* @param userId
* @return
*/
List<BusinessListVo> selectRelateProject(Integer userId);
List<BusinessListVo> selectRelateProject(Long userId);
/**
* 查询关联业主企业
* @param userId
* @return
*/
List<String> selectRelateCompany(Integer userId);
List<String> selectRelateCompany(Long userId);
/**
* 查询项目跟进记录
......
......@@ -63,14 +63,14 @@ public interface IBusinessFollowRecordService
* @param userId
* @return
*/
List<BusinessListVo> selectRelateProject(Integer userId);
List<BusinessListVo> selectRelateProject(Long userId);
/**
* 查询关联业主企业
* @param userId
* @return
*/
List<String> selectRelateCompany(Integer userId);
List<String> selectRelateCompany(Long userId);
/**
* 修改项目跟进记录
......
......@@ -77,12 +77,12 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
}
@Override
public List<BusinessListVo> selectRelateProject(Integer userId) {
public List<BusinessListVo> selectRelateProject(Long userId) {
return businessFollowRecordMapper.selectRelateProject(userId);
}
@Override
public List<String> selectRelateCompany(Integer userId) {
public List<String> selectRelateCompany(Long userId) {
return businessFollowRecordMapper.selectRelateCompany(userId);
}
......
......@@ -11,6 +11,7 @@ import com.dsk.biz.domain.bo.BusinessExcelDto;
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.common.annotation.DataColumn;
import com.dsk.common.annotation.DataPermission;
import com.dsk.jsk.service.EnterpriseService;
......@@ -185,7 +186,13 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
int rowSuccess = 0;//成功条数
Integer errorCount = 0;//失败条数
List<String> result = new LinkedList();//导入结果汇总
List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file);
List<BusinessExcelDto> businessInfoList = null;
try {
businessInfoList = new ExcelUtils<>(BusinessExcelDto.class).importExcel(file.getInputStream(), 2);
} catch (Exception e) {
e.printStackTrace();
}
// List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file);
if (CollectionUtil.isEmpty(businessInfoList)) return AjaxResult.error("文档中无项目信息,请按照模板文档格式上传");
for (BusinessExcelDto businessInfo : businessInfoList) {
//查询已有的项目名称
......
......@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
......@@ -26,7 +27,7 @@ public class EnterpriseProjectBidPlanPageBody extends BasePage {
/**
* 项目类型
*/
private String buildingProjectType;
private List<String> buildingProjectType;
/*
* 排序字段:1金额倒序,2金额正序,3发布时间倒序,4发布时间正序,15预计招标时间倒序,16预计招标时间正序
......
......@@ -408,21 +408,24 @@ public class EnterpriseService {
if (body.isValidateCid()) {
return R.ok();
}
String redisKey = CacheConstants.DATA_FINANCIAL + body.getCid();
List cacheMap = RedisUtils.getCacheList(redisKey);
if (ObjectUtil.isNotEmpty(cacheMap)) {
return R.ok(cacheMap);
}
// TODO 缓存需要
// String redisKey = CacheConstants.DATA_FINANCIAL + body.getCid();
// List cacheMap = RedisUtils.getCacheList(redisKey);
// if (ObjectUtil.isNotEmpty(cacheMap)) {
// return R.ok(cacheMap);
// }
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financialData", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (!code.equals(HttpStatus.OK.value())) {
throw new RuntimeException();
}
Object data = map.get("data");
if (ObjectUtil.isNotEmpty(data)) {
RedisUtils.setCacheList(redisKey, (List) data);
RedisUtils.expire(redisKey, Duration.ofHours(24));
}
// Object data = map.get("data");
// if (ObjectUtil.isNotEmpty(data)) {
// RedisUtils.setCacheList(redisKey, (List) data);
// RedisUtils.expire(redisKey, Duration.ofHours(24));
// }
return BeanUtil.toBean(map, R.class);
}
......
......@@ -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',
})
}
......@@ -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(() => {
......
......@@ -193,7 +193,7 @@ export default {
}
},
created() {
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
this.financial()
},
watch:{
statisticObj:{
......@@ -336,6 +336,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{
......
......@@ -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){
......
......@@ -72,7 +72,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
QueryWrapper<SysMenu> wrapper = Wrappers.query();
wrapper.eq("sur.user_id", userId)
.like(StringUtils.isNotBlank(menu.getMenuName()), "m.menu_name", menu.getMenuName())
.eq("m.visible", 0)
//.eq("m.visible", 0)
.eq("m.status", 0)
.orderByAsc("m.parent_id")
.orderByAsc("m.order_num");
......
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