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 ...@@ -34,7 +34,7 @@ public class BusinessFollowRecordController extends BaseController
* 查询关联项目 * 查询关联项目
*/ */
@GetMapping("/relate/project/{userId}") @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)); return R.ok(businessFollowRecordService.selectRelateProject(userId));
} }
...@@ -43,7 +43,7 @@ public class BusinessFollowRecordController extends BaseController ...@@ -43,7 +43,7 @@ public class BusinessFollowRecordController extends BaseController
* 查询关联业主企业 * 查询关联业主企业
*/ */
@GetMapping("/relate/company/{userId}") @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)); return R.ok(businessFollowRecordService.selectRelateCompany(userId));
} }
......
...@@ -34,7 +34,7 @@ public class BusinessFollowRecord extends BaseEntity ...@@ -34,7 +34,7 @@ public class BusinessFollowRecord extends BaseEntity
private Integer businessId; private Integer businessId;
/** 用户id */ /** 用户id */
private Integer userId; private Long userId;
/** 用户昵称 */ /** 用户昵称 */
private String nickName; private String nickName;
......
package com.dsk.biz.domain.bo; package com.dsk.biz.domain.bo;
import com.dsk.common.annotation.Excel;
import lombok.Data; import lombok.Data;
/** /**
...@@ -13,13 +14,16 @@ public class BusinessExcelDto { ...@@ -13,13 +14,16 @@ public class BusinessExcelDto {
/** /**
* 项目名称 * 项目名称
*/ */
@Excel(name = "项目名称(必填)")
private String projectName; private String projectName;
/** /**
* 投资估算(万元) * 投资估算(万元)
*/ */
@Excel(name = "投资估算(万元)")
private String investmentAmount; private String investmentAmount;
/** /**
* 业主单位 * 业主单位
*/ */
@Excel(name = "业主单位(必填)")
private String ownerCompany; private String ownerCompany;
} }
...@@ -27,14 +27,14 @@ public interface BusinessFollowRecordMapper ...@@ -27,14 +27,14 @@ public interface BusinessFollowRecordMapper
* @param userId * @param userId
* @return * @return
*/ */
List<BusinessListVo> selectRelateProject(Integer userId); List<BusinessListVo> selectRelateProject(Long userId);
/** /**
* 查询关联业主企业 * 查询关联业主企业
* @param userId * @param userId
* @return * @return
*/ */
List<String> selectRelateCompany(Integer userId); List<String> selectRelateCompany(Long userId);
/** /**
* 查询项目跟进记录 * 查询项目跟进记录
......
...@@ -63,14 +63,14 @@ public interface IBusinessFollowRecordService ...@@ -63,14 +63,14 @@ public interface IBusinessFollowRecordService
* @param userId * @param userId
* @return * @return
*/ */
List<BusinessListVo> selectRelateProject(Integer userId); List<BusinessListVo> selectRelateProject(Long userId);
/** /**
* 查询关联业主企业 * 查询关联业主企业
* @param userId * @param userId
* @return * @return
*/ */
List<String> selectRelateCompany(Integer userId); List<String> selectRelateCompany(Long userId);
/** /**
* 修改项目跟进记录 * 修改项目跟进记录
......
...@@ -77,12 +77,12 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer ...@@ -77,12 +77,12 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
} }
@Override @Override
public List<BusinessListVo> selectRelateProject(Integer userId) { public List<BusinessListVo> selectRelateProject(Long userId) {
return businessFollowRecordMapper.selectRelateProject(userId); return businessFollowRecordMapper.selectRelateProject(userId);
} }
@Override @Override
public List<String> selectRelateCompany(Integer userId) { public List<String> selectRelateCompany(Long userId) {
return businessFollowRecordMapper.selectRelateCompany(userId); return businessFollowRecordMapper.selectRelateCompany(userId);
} }
......
...@@ -11,6 +11,7 @@ import com.dsk.biz.domain.bo.BusinessExcelDto; ...@@ -11,6 +11,7 @@ import com.dsk.biz.domain.bo.BusinessExcelDto;
import com.dsk.biz.domain.bo.BusinessListDto; import com.dsk.biz.domain.bo.BusinessListDto;
import com.dsk.biz.domain.bo.CustomerBusinessSearchDto; import com.dsk.biz.domain.bo.CustomerBusinessSearchDto;
import com.dsk.biz.domain.vo.*; import com.dsk.biz.domain.vo.*;
import com.dsk.biz.utils.ExcelUtils;
import com.dsk.common.annotation.DataColumn; import com.dsk.common.annotation.DataColumn;
import com.dsk.common.annotation.DataPermission; import com.dsk.common.annotation.DataPermission;
import com.dsk.jsk.service.EnterpriseService; import com.dsk.jsk.service.EnterpriseService;
...@@ -185,7 +186,13 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -185,7 +186,13 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
int rowSuccess = 0;//成功条数 int rowSuccess = 0;//成功条数
Integer errorCount = 0;//失败条数 Integer errorCount = 0;//失败条数
List<String> result = new LinkedList();//导入结果汇总 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("文档中无项目信息,请按照模板文档格式上传"); if (CollectionUtil.isEmpty(businessInfoList)) return AjaxResult.error("文档中无项目信息,请按照模板文档格式上传");
for (BusinessExcelDto businessInfo : businessInfoList) { for (BusinessExcelDto businessInfo : businessInfoList) {
//查询已有的项目名称 //查询已有的项目名称
......
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
@ToString @ToString
...@@ -26,7 +27,7 @@ public class EnterpriseProjectBidPlanPageBody extends BasePage { ...@@ -26,7 +27,7 @@ public class EnterpriseProjectBidPlanPageBody extends BasePage {
/** /**
* 项目类型 * 项目类型
*/ */
private String buildingProjectType; private List<String> buildingProjectType;
/* /*
* 排序字段:1金额倒序,2金额正序,3发布时间倒序,4发布时间正序,15预计招标时间倒序,16预计招标时间正序 * 排序字段:1金额倒序,2金额正序,3发布时间倒序,4发布时间正序,15预计招标时间倒序,16预计招标时间正序
......
...@@ -408,21 +408,24 @@ public class EnterpriseService { ...@@ -408,21 +408,24 @@ public class EnterpriseService {
if (body.isValidateCid()) { if (body.isValidateCid()) {
return R.ok(); return R.ok();
} }
String redisKey = CacheConstants.DATA_FINANCIAL + body.getCid(); // TODO 缓存需要
List cacheMap = RedisUtils.getCacheList(redisKey); // String redisKey = CacheConstants.DATA_FINANCIAL + body.getCid();
if (ObjectUtil.isNotEmpty(cacheMap)) { // List cacheMap = RedisUtils.getCacheList(redisKey);
return R.ok(cacheMap); // if (ObjectUtil.isNotEmpty(cacheMap)) {
} // return R.ok(cacheMap);
// }
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financialData", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financialData", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300); Integer code = MapUtils.getInteger(map, "code", 300);
if (!code.equals(HttpStatus.OK.value())) { if (!code.equals(HttpStatus.OK.value())) {
throw new RuntimeException(); throw new RuntimeException();
} }
Object data = map.get("data");
if (ObjectUtil.isNotEmpty(data)) { // Object data = map.get("data");
RedisUtils.setCacheList(redisKey, (List) data); // if (ObjectUtil.isNotEmpty(data)) {
RedisUtils.expire(redisKey, Duration.ofHours(24)); // RedisUtils.setCacheList(redisKey, (List) data);
} // RedisUtils.expire(redisKey, Duration.ofHours(24));
// }
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
......
...@@ -24,3 +24,11 @@ export const historyClaim= function historyClaim(name) { ...@@ -24,3 +24,11 @@ export const historyClaim= function historyClaim(name) {
method: 'Put', method: 'Put',
}) })
} }
//获取大司空open 插件访问token
export function dskAccessToken() {
return request({
url: '/system/config/dsk/accessToken',
method: 'get',
})
}
...@@ -99,7 +99,7 @@ export default { ...@@ -99,7 +99,7 @@ export default {
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.$store.dispatch('LogOut').then(() => { this.$store.dispatch('LogOut').then(() => {
localStorage.removeItem('views') //清空导航栏上的数据 sessionStorage.removeItem('views') //清空导航栏上的数据
location.href = '/index'; location.href = '/index';
}) })
}).catch(() => {}); }).catch(() => {});
...@@ -111,7 +111,7 @@ export default { ...@@ -111,7 +111,7 @@ export default {
setToken(res.data.token) setToken(res.data.token)
setTenantid(id) setTenantid(id)
store.commit('SET_TOKEN', res.data.token) store.commit('SET_TOKEN', res.data.token)
localStorage.removeItem('views') //清空导航栏上的数据 sessionStorage.removeItem('views') //清空导航栏上的数据
if(this.$route.path == '/index'){ if(this.$route.path == '/index'){
location.reload(); location.reload();
}else{ }else{
......
...@@ -8,8 +8,7 @@ ...@@ -8,8 +8,7 @@
<!--<i class="el-icon-arrow-down" v-if="!showall"></i> <i class="el-icon-arrow-up" v-if="showall"></i>--> <!--<i class="el-icon-arrow-down" v-if="!showall"></i> <i class="el-icon-arrow-up" v-if="showall"></i>-->
</div> </div>
<el-collapse-transition> <el-collapse-transition>
<div class="tagslist" v-if="showall"> <div class="tagslist" :class="{'noshow':!showall}">
<draggable v-model="visitedViews" :options="dragOptions" @end="end">
<router-link <router-link
v-for="(tag, index) in visitedViews" v-for="(tag, index) in visitedViews"
ref="tag" ref="tag"
...@@ -22,12 +21,10 @@ ...@@ -22,12 +21,10 @@
> >
<div @click="changetags"> <div @click="changetags">
<i class="el-icon-check"></i> <i class="el-icon-check"></i>
<span :id="isActive(tag)?'tagTitle':''">{{ tag.title }}</span> <span :id="isActive(tag)?'tagTitles':''">{{ tag.title }}</span>
</div> </div>
</router-link> </router-link>
<div class="clasall" @click="closeAllTag(selectedTag)">关闭全部标签</div> <div class="clasall" @click="closeAllTag(selectedTag)">关闭全部标签</div>
</draggable>
</div> </div>
</el-collapse-transition> </el-collapse-transition>
</div> </div>
...@@ -154,7 +151,7 @@ export default { ...@@ -154,7 +151,7 @@ export default {
// li.matched = view.matched //此条数据放出会报错 // li.matched = view.matched //此条数据放出会报错
viewlist.push(li) viewlist.push(li)
}) })
localStorage.setItem("views",JSON.stringify(viewlist)) sessionStorage.setItem("views",JSON.stringify(viewlist))
}, },
changetags(){ changetags(){
this.showall = false this.showall = false
...@@ -463,6 +460,8 @@ export default { ...@@ -463,6 +460,8 @@ export default {
height: 24px; height: 24px;
} }
.tagslist{ .tagslist{
transition: all 0.2s;
display: block;
position: absolute; position: absolute;
left: 0; left: 0;
top: 32px; top: 32px;
...@@ -517,6 +516,11 @@ export default { ...@@ -517,6 +516,11 @@ export default {
} }
} }
} }
.noshow{
display: none;
opacity: 0;
/*height: 0;*/
}
} }
} }
</style> </style>
......
...@@ -63,11 +63,10 @@ export default { ...@@ -63,11 +63,10 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.listenSider() this.listenSider()
}) })
// console.log(9999) let views = sessionStorage.getItem('views')
let views = localStorage.getItem('views')
if(views!=null){ if(views!=null){
this.$store.state.tagsView.visitedViews = JSON.parse(views) this.$store.state.tagsView.visitedViews = JSON.parse(views)
localStorage.removeItem('views') // sessionStorage.removeItem('views')
} }
}, },
methods: { methods: {
......
...@@ -32,6 +32,7 @@ router.beforeEach((to, from, next) => { ...@@ -32,6 +32,7 @@ router.beforeEach((to, from, next) => {
}).catch(err => { }).catch(err => {
store.dispatch('LogOut').then(() => { store.dispatch('LogOut').then(() => {
Message.error(err) Message.error(err)
sessionStorage.removeItem('views')
next({ path: '/' }) next({ path: '/' })
}) })
}) })
......
...@@ -107,6 +107,7 @@ service.interceptors.response.use(res => { ...@@ -107,6 +107,7 @@ service.interceptors.response.use(res => {
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
isRelogin.show = false; isRelogin.show = false;
store.dispatch('LogOut').then(() => { store.dispatch('LogOut').then(() => {
sessionStorage.removeItem('views')
location.href = '/index'; location.href = '/index';
}) })
}).catch(() => { }).catch(() => {
......
...@@ -193,7 +193,7 @@ export default { ...@@ -193,7 +193,7 @@ export default {
} }
}, },
created() { created() {
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute)) this.financial()
}, },
watch:{ watch:{
statisticObj:{ statisticObj:{
...@@ -336,6 +336,7 @@ export default { ...@@ -336,6 +336,7 @@ export default {
financial({cid:String(id)}).then(res=>{ financial({cid:String(id)}).then(res=>{
if(res.code==200&&!res.data){ if(res.code==200&&!res.data){
this.sideRoute[1].disabled = true this.sideRoute[1].disabled = true
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute))
} }
}) })
}, },
......
...@@ -203,7 +203,7 @@ export default { ...@@ -203,7 +203,7 @@ export default {
[name]: this.queryParams[name], [name]: this.queryParams[name],
} }
customerUpdate(data).then(res=>{ customerUpdate(data).then(res=>{
if(res.data){ if(res.code==200){
this.$message.success(res.msg) this.$message.success(res.msg)
this.nowedit = 0 this.nowedit = 0
}else{ }else{
......
...@@ -125,6 +125,13 @@ ...@@ -125,6 +125,13 @@
</div> </div>
</div> </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="tables" v-if="recordlist.total>pageSize">
<div class="bottems"> <div class="bottems">
<el-pagination <el-pagination
...@@ -144,11 +151,12 @@ ...@@ -144,11 +151,12 @@
</template> </template>
<script> <script>
import "@/assets/styles/project.scss" import '@/assets/styles/project.scss'
import {getFollowList,addFollowRecord,getUserList,delFollowRecord} from '@/api/custom/custom' import { addFollowRecord, delFollowRecord, getFollowList, getUserList } from '@/api/custom/custom'
import {getGJJL,addGJJL,delGJJL,relateProject,allRecord} from '@/api/project/project' import { addGJJL, allRecord, delGJJL, getGJJL, relateProject } from '@/api/project/project'
import {getEnterprise,getDictType,} from '@/api/main' import { getDictType, getEnterprise } from '@/api/main'
import skeleton from './skeleton' import skeleton from './skeleton'
export default { export default {
components:{skeleton}, components:{skeleton},
props:{ props:{
......
...@@ -203,21 +203,27 @@ ...@@ -203,21 +203,27 @@
}, },
getList(){ getList(){
this.isSkeleton = true this.isSkeleton = true
getZLWD(this.param).then(res=>{ getZLWD(this.param).then(res => {
this.fileDatas = res
this.isSkeleton = false this.isSkeleton = false
if(this.fileDatas.rows!=null && this.fileDatas.rows.length>0){ if (res.code == 200) {
this.fileDatas.rows.forEach(item=>{ this.fileDatas = res
if (this.fileDatas.rows != null && this.fileDatas.rows.length > 0) {
this.fileDatas.rows.forEach(item => {
let names = item.filePath.split('/') let names = item.filePath.split('/')
item.name = names[names.length-1] item.name = names[names.length - 1]
let types = item.name.split('.') let types = item.name.split('.')
item.type = types.length>1?types[1]:'file' item.type = types.length > 1 ? types[1] : 'file'
if(item.type == 'xls' || item.type == 'xlsx' ) if (item.type == 'xls' || item.type == 'xlsx') {
item.type = 'excel' item.type = 'excel'
if(item.type == 'doc' || item.type == 'docx' ) }
if (item.type == 'doc' || item.type == 'docx') {
item.type = 'word' item.type = 'word'
}
}) })
} }
}else{
this.fileDatas.total = 0
}
}) })
}, },
getFile(row){ getFile(row){
......
...@@ -72,7 +72,7 @@ public class SysMenuServiceImpl implements ISysMenuService { ...@@ -72,7 +72,7 @@ public class SysMenuServiceImpl implements ISysMenuService {
QueryWrapper<SysMenu> wrapper = Wrappers.query(); QueryWrapper<SysMenu> wrapper = Wrappers.query();
wrapper.eq("sur.user_id", userId) wrapper.eq("sur.user_id", userId)
.like(StringUtils.isNotBlank(menu.getMenuName()), "m.menu_name", menu.getMenuName()) .like(StringUtils.isNotBlank(menu.getMenuName()), "m.menu_name", menu.getMenuName())
.eq("m.visible", 0) //.eq("m.visible", 0)
.eq("m.status", 0) .eq("m.status", 0)
.orderByAsc("m.parent_id") .orderByAsc("m.parent_id")
.orderByAsc("m.order_num"); .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