Commit 24a9bd78 authored by danfuman's avatar danfuman

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 23c58450 a6231c14
...@@ -51,7 +51,11 @@ ...@@ -51,7 +51,11 @@
<artifactId>dsk-acc-open-sdk-java</artifactId> <artifactId>dsk-acc-open-sdk-java</artifactId>
<version>2.1.0</version> <version>2.1.0</version>
</dependency> </dependency>
<dependency>
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
<version>8.7.0</version>
</dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.tencentcloudapi</groupId>--> <!-- <groupId>com.tencentcloudapi</groupId>-->
......
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.cscec.service.IDCustomerService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 组织维表(DCustomer)表控制层
*
* @author lcl
* @since 2023-12-08 14:57:22
*/
@RestController
@RequestMapping("/customer")
public class DCustomerController extends BaseController {
/**
* 服务对象
*/
@Resource
private IDCustomerService baseService;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.DCustomer;
/**
* 组织维表(DCustomer)表数据库访问层
*
* @author lcl
* @since 2023-12-08 14:57:27
*/
public interface DCustomerMapper extends BaseMapper<DCustomer> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.DCustomer;
/**
* 组织维表(DCustomer)表服务接口
*
* @author lcl
* @since 2023-12-08 14:57:26
*/
public interface IDCustomerService extends IService<DCustomer> {
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.service.IDCustomerService;
import org.springframework.stereotype.Service;
/**
* 组织维表(DCustomer)表服务实现类
*
* @author lcl
* @since 2023-12-08 14:57:26
*/
@Service
public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer> implements IDCustomerService {
}
...@@ -103,4 +103,14 @@ public class EnterpriseCreditController { ...@@ -103,4 +103,14 @@ public class EnterpriseCreditController {
return enterpriseCreditService.kaitingPureRole(body); return enterpriseCreditService.kaitingPureRole(body);
} }
@PostMapping(value = "/restrictedConsumerPage")
public TableDataInfo restrictedConsumerPage(@RequestBody @Valid EnterpriseCreditPageBody body) throws Exception {
return enterpriseCreditService.restrictedConsumerPage(body);
}
@PostMapping(value = "/judicialFreezesPage")
public TableDataInfo judicialFreezesPage(@RequestBody @Valid EnterpriseCreditPageBody body) throws Exception {
return enterpriseCreditService.judicialFreezesPage(body);
}
} }
package com.dsk.jsk.domain;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseCreditPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
public boolean isVaildCid() {
return 0 == cid;
}
}
...@@ -132,4 +132,16 @@ public class EnterpriseCreditService { ...@@ -132,4 +132,16 @@ public class EnterpriseCreditService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo restrictedConsumerPage(EnterpriseCreditPageBody body) throws Exception{
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/restrictedConsumerPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo judicialFreezesPage(EnterpriseCreditPageBody body) throws Exception{
if (body.isVaildCid()) return new TableDataInfo(new ArrayList<>(), 0);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/judicialFreezesPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
} }
...@@ -62,4 +62,25 @@ public class CompanySearchController { ...@@ -62,4 +62,25 @@ public class CompanySearchController {
public AjaxResult bossCompany(@RequestBody JSONObject object) { public AjaxResult bossCompany(@RequestBody JSONObject object) {
return opportunityRadarService.bossCompany(object); return opportunityRadarService.bossCompany(object);
} }
//---------------------------------------中建一局-------------------------------------------
/*
* 查资质
*/
@RequestMapping("/zjyjAptitude")
public AjaxResult zjyjAptitude(@RequestBody JSONObject object) {
return opportunityRadarService.zjyjAptitude(object);
}
/*
* 查资质 不满足
*/
@RequestMapping("/zjyjAptitude/contrary")
public AjaxResult zjyjAptitudeContrary(@RequestBody JSONObject object) {
return opportunityRadarService.zjyjAptitudeContrary(object);
}
} }
package com.dsk.search.controller;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.search.service.BusinessOpportunityRadarService;
import com.dsk.search.service.ExportService;
import com.dsk.system.domain.vo.AptitudeVo;
import com.dsk.system.domain.vo.SysUserImportVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
* 查企业
* @author lc
* @ClassName ExportController
* @Date 2023/12/06 16:40
*/
@RequestMapping("/export")
@RestController
public class ExportController {
@Resource
private ExportService exportService;
/**
* 获取导入模板
*/
@PostMapping("/aptitude/importTemplate")
public void importTemplate(HttpServletResponse response) {
List<Object> list = new ArrayList<>();
AptitudeVo aptitudeVo = new AptitudeVo();
aptitudeVo.setCompanyName("重庆市轨道交通(集团)有限公司");
list.add(aptitudeVo);
ExcelUtil.exportTemplate(list, "企业数据", "excel/userImportTemplate.xlsx", response);
}
/*
* 批量资质导出
*/
@RequestMapping("/aptitude/file")
public AjaxResult aptitudeFile(@RequestPart("file") MultipartFile file) throws Exception {
return exportService.aptitudeFile(file);
}
}
...@@ -217,4 +217,14 @@ public class BusinessOpportunityRadarService { ...@@ -217,4 +217,14 @@ public class BusinessOpportunityRadarService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/subscription/yqBxproPage", object); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/subscription/yqBxproPage", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
public AjaxResult zjyjAptitude(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/zjyj/aptitude", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
public AjaxResult zjyjAptitudeContrary(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/zjyj/aptitude/contrary", object);
return BeanUtil.toBean(map, AjaxResult.class);
}
} }
package com.dsk.search.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.constant.Constants;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.excel.ExcelUtils;
import com.dsk.common.exception.ServiceException;
import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.jsk.service.EnterpriseService;
import com.dsk.system.domain.SysUserFileRecord;
import com.dsk.system.domain.vo.AptitudeVo;
import com.dsk.system.service.ISysUserFileRecordService;
import com.dsk.system.utils.DskOpenApiUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author lc
* @ClassName ExportService
* @Date 2023/12/06 16:40
**/
@Service
public class ExportService {
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
@Autowired
private ISysUserFileRecordService sysUserFileRecordService;
@Value("${dsk.exportBackUrl}")
private String EXPORT_BACK_URL;
public AjaxResult aptitudeFile(MultipartFile file) throws Exception {
ComposeQueryDto composeQueryDto = new ComposeQueryDto();
//识别Excel内容
List<AptitudeVo> companyNameList = new ExcelUtils<>(AptitudeVo.class).importExcel(file.getInputStream(), 2);
if (companyNameList.isEmpty()) {
throw new ServiceException("表格中不存在待导入数据!");
}
List<String> list = new ArrayList<>();
for (int i = 0; i < companyNameList.size(); i++) {
if (i>499){
break;
}
list.add(companyNameList.get(i).getCompanyName());
}
composeQueryDto.setKeyword(String.join(",",list));
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName("批量导出".concat(Constants.SUFFIX_XLSX));
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("资质批量导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
composeQueryDto.setExportUniqueCode(fileId.toString());
//回调函数
composeQueryDto.setExportBackUrl(EXPORT_BACK_URL);
composeQueryDto.setExportExeclName("资质批量导出.xlsx");
dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/areaGroupByProvince", BeanUtil.beanToMap(composeQueryDto,false,false));
return AjaxResult.success();
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.DCustomerMapper">
</mapper>
\ No newline at end of file
This diff is collapsed.
...@@ -121,12 +121,6 @@ aside { ...@@ -121,12 +121,6 @@ aside {
} }
} }
//main-container全局样式
.app-container {
//padding: 16px;
//margin-top: 56px;
}
.components-container { .components-container {
margin: 30px 50px; margin: 30px 50px;
position: relative; position: relative;
...@@ -226,18 +220,14 @@ li { ...@@ -226,18 +220,14 @@ li {
margin: 0; margin: 0;
} }
.app-main {
position: relative;
background-color: #f5f5f5;
>div{
width: calc(100% - 48px);
}
}
.app-container { .app-container {
margin: 16px 24px; position: absolute;
width: 100%;
height: 100%;
background-color: #f5f5f5; background-color: #f5f5f5;
padding: 16px 24px;
box-sizing: border-box; box-sizing: border-box;
//width: 100%; overflow: auto;
.el-input__inner { .el-input__inner {
border-color: #d9d9d9; border-color: #d9d9d9;
color: #232323; color: #232323;
......
...@@ -66,9 +66,16 @@ ...@@ -66,9 +66,16 @@
height: 100%; height: 100%;
} }
.el-scrollbar {
.scrollbar-wrapper {
padding-top: 20px;
box-sizing: border-box;
}
}
&.has-logo { &.has-logo {
.el-scrollbar { .el-scrollbar {
height: calc(100% - 50px); height: calc(100% - 56px);
} }
} }
...@@ -82,31 +89,41 @@ ...@@ -82,31 +89,41 @@
overflow: hidden; overflow: hidden;
} }
.sidebar-logo-link {
display: flex;
align-items: center;
overflow: hidden;
}
.svg-icon { .svg-icon {
margin-right: 6px; margin-right: 8px;
} }
.el-submenu__icon-arrow { .el-submenu__icon-arrow {
top: 54%; top: 50%;
right: 5px; transform: translateY(-50%);
margin-top: 0px;
right: 8px;
color: #d8d8d8; color: #d8d8d8;
} }
.el-menu { .el-menu {
border: none; border: none;
height: 100%; height: 100%;
width: calc(100% - 16px) !important; width: 100%;
margin: 0 8px; padding: 0px 12px;
} box-sizing: border-box;
.el-menu--inline {
margin: 0; &.el-menu--inline {
width: 100% !important; padding: 0px 8px;
box-sizing: border-box;
}
} }
.el-menu--inline .nest-menu .el-menu-item { .el-menu--inline .nest-menu .el-menu-item {
width: 100% !important; width: 100% !important;
min-width: 128px; min-width: 128px;
font-size: 12px; font-size: 12px;
color: #fff !important; color: #fff !important;
padding-left: 23px !important; padding-left: 24px;
} }
.el-menu--inline .nest-menu .el-menu-item .svg-icon { .el-menu--inline .nest-menu .el-menu-item .svg-icon {
display: none; display: none;
...@@ -114,27 +131,37 @@ ...@@ -114,27 +131,37 @@
.el-menu-item, .el-menu-item,
.el-submenu__title { .el-submenu__title {
display: flex;
align-items: center;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
border: 1px solid #141b2f; border: 1px solid #141b2f;
border-radius: 10px;
color: #fff; color: #fff;
margin-bottom: 6px; margin-bottom: 8px;
padding: 0 6px !important; padding: 0 8px !important;
overflow: hidden !important; overflow: hidden !important;
text-overflow: ellipsis !important; text-overflow: ellipsis !important;
white-space: nowrap !important; white-space: nowrap !important;
} }
.el-menu.el-menu--inline {
margin: 0;
width: 100% !important;
.el-submenu__title {
padding-left: 24px !important;
}
}
// menu hover // menu hover
.el-menu-item.is-active { .el-menu-item.is-active {
// 点击菜单的颜色 // 点击菜单的颜色
background-color: #1e2c4c !important; background-color: #1e2c4c !important;
color: #fff !important; color: #fff !important;
border-radius: 10px;
border: 1px solid #2b3f69; border: 1px solid #2b3f69;
&:hover { &:hover {
background-color: #1e2c4c !important; background-color: #1e2c4c !important;
border-radius: 10px;
color: #fff !important; color: #fff !important;
border: 1px solid #2b3f69; border: 1px solid #2b3f69;
} }
...@@ -146,11 +173,11 @@ ...@@ -146,11 +173,11 @@
// menu hover // menu hover
.submenu-title-noDropdown, .submenu-title-noDropdown,
.el-submenu__title { .el-submenu__title {
border-radius: 10px;
color: #fff !important; color: #fff !important;
&:hover { &:hover {
background-color: #1e2c4c !important; background-color: #1e2c4c !important;
color: #fff !important; color: #fff !important;
border-radius: 10px;
border: 1px solid #2b3f69; border: 1px solid #2b3f69;
} }
} }
...@@ -163,37 +190,53 @@ ...@@ -163,37 +190,53 @@
border: 1px solid #2b3f69; border: 1px solid #2b3f69;
} }
.sidebar-container .el-submenu .el-menu-item:before, // .sidebar-container .el-submenu .el-menu-item:before,
.sidebar-container .nest-menu .el-submenu > .el-submenu__title:before { // .sidebar-container .nest-menu .el-submenu > .el-submenu__title:before {
position: absolute; // position: absolute;
width: 2px; // width: 2px;
height: 2px; // height: 2px;
border-radius: 50%; // border-radius: 50%;
background: #344062; // background: #344062;
left: 16px; // left: 16px;
top: 50%; // top: 50%;
content: ""; // content: "";
} // }
.sidebar-container .el-submenu .el-menu-item:hover:before, // .sidebar-container .el-submenu .el-menu-item:hover:before,
.sidebar-container .nest-menu .el-submenu > .el-submenu__title:hover:before { // .sidebar-container .nest-menu .el-submenu > .el-submenu__title:hover:before {
position: absolute; // position: absolute;
width: 2px; // width: 2px;
height: 2px; // height: 2px;
border-radius: 50%; // border-radius: 50%;
background: #fff; // background: #fff;
left: 16px; // left: 16px;
top: 50%; // top: 50%;
content: ""; // content: "";
} // }
.hideSidebar { .hideSidebar {
.sidebar-container { .sidebar-container {
width: 48px !important; width: $hideSideBarWidth !important;
.sidebar-logo-container {
padding: 0px;
.sidebar-logo-link {
justify-content: center;
}
}
.el-scrollbar {
.el-menu--collapse {
&.el-menu {
padding: 0px 8px;
}
}
}
} }
.main-container { .main-container {
margin-left: 48px; margin-left: $hideSideBarWidth;
width: calc(100% - 48px); width: calc(100% - #{$hideSideBarWidth});
} }
.submenu-title-noDropdown { .submenu-title-noDropdown {
...@@ -287,6 +330,42 @@ ...@@ -287,6 +330,42 @@
transition: none; transition: none;
} }
} }
// 重置导航栏菜单样式
.el-menu {
.secondary-menu {
.secondary-menu-item {
&.el-submenu {
& > {
.el-menu--inline {
padding: 0px;
.secondary-menu-item-sub {
.el-menu-item {
font-size: 14px;
padding-left: 32px !important;
}
& > .secondary-menu-item {
.el-submenu__title {
padding-left: 32px !important;
}
& > .el-menu--inline {
.secondary-menu-item-sub {
.el-menu-item {
font-size: 12px;
padding-left: 40px !important;
}
}
}
}
}
}
}
}
}
}
}
} }
// when menu collapsed // when menu collapsed
......
.search-the-owner { .title_wrap,.el-divider{
border-color: #eee;
}
.supplier{
padding: 16px 24px;
width: 100%; width: 100%;
height: 100%; height: 100%;
padding: 16px 24px; overflow: auto;
}
.search-supplier {
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
box-sizing: border-box; box-sizing: border-box;
border-radius:4px 4px 0px 0px ;
overflow: hidden;
} }
::v-deep .el-form-item__label{ ::v-deep .el-form{
.el-form-item__label{
font-weight: 400 !important;
}
}
.el-form-item__label{
font-weight: 400; font-weight: 400;
} }
.content-supplier {
.content-outer-container {
overflow: hidden; overflow: hidden;
background: #ffffff; background: #ffffff;
border-top-left-radius: 4px; border-top-left-radius: 4px;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
padding: 20px 16px; padding: 20px 16px 4px;
.el-form-item{
margin-bottom: 16px;
}
.el-divider{
margin-top: 4px;
margin-bottom: 20px;
}
.el-form-item__content{
width: 282px;
.el-cascader,.el-select,.el-date-editor{
width: 100%;
}
.el-icon-date{
display: none;
}
.el-button--small{
font-size: 14px;
}
.el-button + .el-button{
margin-left: 12px;
}
}
}
.table-supplier{
background: #fff;
padding: 16px;
margin-top: 16px;
border-radius: 0px 0px 4px 4px;
&.i{
margin-top: -20px;
}
.total-title{
height: 24px;
line-height: 24px;
.totals{
padding-left: 6px;
position: relative;
font-size: 12px;
color: #3D3D3D;
display: inline-block;
&::before{
content: ' ';
position: absolute;
width: 2px;
height: 2px;
background: rgba(35,35,35,0.4);
border-radius: 50%;
left: 0;
top: 12px;
}
}
.total-dc{
float: right;
img{
width: 18px;
margin-right: 6px;
margin-top: -4px;
}
color: rgba(35,35,35,0.8);
}
margin-bottom: 16px;
}
.pagination{
text-align: right;
margin-right: -10px;
margin-top: 16px;
}
.table-item .el-table .is-scrolling-left + .el-table__fixed, .table-item .el-table .is-scrolling-middle + .el-table__fixed, .table-item .el-table .is-scrolling-right + .el-table__fixed{
bottom: 10px !important;
}
.cell a:hover{
color: #0081ff;
}
.tabs{
margin-right: 20px;
&:last-child{
margin: 0;
}
}
}
.dialog-supplier{
.el-dialog__header{
line-height: 24px;
padding: 16px 20px;
font-size: 16px;
color: #232323;
font-weight: 700;
border-bottom: 1px solid #E5E6EB;
}
.el-dialog__body{
padding: 20px;
}
}
.title_wrap.i{
border: 0;
}
.access-content{
background: #fff;
border-radius: 0 0 4px 4px;
.tabpane .el-tabs__header{
margin-top: -14px;
}
.acc-title{
line-height: 22px;
&.i{
margin-top: 24px;
}
}
.main3-box {
margin-top: 16px;
border-top: 1px solid #E6E9F0;
p {
display: flex;
margin: 0;
border-left: 1px solid #E6E9F0;
border-right: 1px solid #E6E9F0;
border-bottom: 1px solid #E6E9F0;
background: #fff;
.label {
width: 10%;
height: auto;
font-weight: 400;
font-size: 12px;
padding: 12px;
background: #F0F3FA;
display: flex;
align-items: center;
}
span {
display: flex;
align-items: center;
width: 40%;
color: #000;
padding: 12px;
font-size: 12px;
}
.span-one {
width: 90%;
}
.blue {
color: #0081FF !important;
cursor: pointer;
}
}
}
} }
...@@ -50,8 +50,9 @@ $menuHover:#263445; ...@@ -50,8 +50,9 @@ $menuHover:#263445;
$subMenuBg:#1f2d3d; $subMenuBg:#1f2d3d;
$subMenuHover:#001528; $subMenuHover:#001528;
$base-sidebar-width: 144px; $base-sidebar-width: 220px;
$sideBarWidth: 144px; $sideBarWidth: 220px;
$hideSideBarWidth : 48px;
//系统默认颜色 //系统默认颜色
$systemColor:#0081FF; $systemColor:#0081FF;
......
...@@ -46,8 +46,8 @@ export default { ...@@ -46,8 +46,8 @@ export default {
<style scoped> <style scoped>
.svg-icon { .svg-icon {
width: 1.29em; width: 16px;
height: 1.29em; height: 16px;
/*vertical-align: -0.22em;*/ /*vertical-align: -0.22em;*/
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
......
...@@ -10,16 +10,16 @@ ...@@ -10,16 +10,16 @@
</template> </template>
<script> <script>
import iframeToggle from "./IframeToggle/index" import iframeToggle from "./IframeToggle/index";
export default { export default {
name: 'AppMain', name: 'AppMain',
components: { iframeToggle }, components: { iframeToggle },
computed: { computed: {
cachedViews() { cachedViews() {
return this.$store.state.tagsView.cachedViews return this.$store.state.tagsView.cachedViews;
}, },
key() { key() {
return this.$route.fullPath return this.$route.fullPath;
} }
} }
} }
...@@ -27,12 +27,11 @@ export default { ...@@ -27,12 +27,11 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.app-main { .app-main {
/* 50= navbar 50 */
min-height: calc(100vh - 50px);
width: 100%;
position: relative; position: relative;
overflow: hidden; height: calc(100% - 56px);
display: flex; width: 100%;
background: #f5f5f5;
overflow: auto;
} }
.fixed-header + .app-main { .fixed-header + .app-main {
...@@ -41,20 +40,17 @@ export default { ...@@ -41,20 +40,17 @@ export default {
.hasTagsView { .hasTagsView {
.app-main { .app-main {
/* 84 = navbar + tags-view = 50 + 34 */ height: calc(100% - 56px);
min-height: calc(100vh - 56px); min-width: 1240px;
min-width:1240px;
background: #F5F5F5;
overflow: initial;
} }
.fixed-header + .app-main { .fixed-header + .app-main {
padding-top: 84px; padding-top: 84px;
} }
} }
.EnterpriseData{ .EnterpriseData {
.app-main { .app-main {
overflow: initial; overflow: hidden;
} }
} }
</style> </style>
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</router-link> </router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/"> <router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo" /> <img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 class="text-cl1 sidebar-title" :style="{ width: '98px', color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> <h1 class="text-cl1 sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
</router-link> </router-link>
</transition> </transition>
</el-popover> </el-popover>
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</template> </template>
<script> <script>
import logoImg from '@/assets/images/logo/logo.png' import logoImg from '@/assets/images/logo/zjyj-logo.svg'
import variables from '@/assets/styles/variables.scss' import variables from '@/assets/styles/variables.scss'
export default { export default {
...@@ -45,7 +45,7 @@ export default { ...@@ -45,7 +45,7 @@ export default {
}, },
data() { data() {
return { return {
title: '数字化经营履约全生命链路管理系统', title: '中建一局二公司',
logo: logoImg logo: logoImg
} }
} }
...@@ -65,11 +65,13 @@ export default { ...@@ -65,11 +65,13 @@ export default {
.sidebar-logo-container { .sidebar-logo-container {
position: relative; position: relative;
width: 100%; width: 100%;
height: 55px; height: 56px;
line-height: 55px; line-height: 56px;
background: #141b2f; background: #141b2f;
border-bottom: 1px solid #1a2743; border-bottom: 1px solid #1a2743;
text-align: center; text-align: center;
padding: 0px 18px;
box-sizing: border-box;
/*overflow: hidden;*/ /*overflow: hidden;*/
& .sidebar-logo-link { & .sidebar-logo-link {
...@@ -77,18 +79,17 @@ export default { ...@@ -77,18 +79,17 @@ export default {
width: 100%; width: 100%;
& .sidebar-logo { & .sidebar-logo {
width: 16px; min-width: 22px;
height: 23px; width: 22px;
vertical-align: middle; height: 22px;
margin-right: 3px; margin-right: 8px;
} }
& .sidebar-title { & .sidebar-title {
display: inline-block; margin: 0px;
margin: 0;
color: #fff; color: #fff;
font-weight: 600; font-weight: 700;
line-height: 50px; line-height: 22px;
font-size: 14px; font-size: 14px;
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif; font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
vertical-align: middle; vertical-align: middle;
......
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
</el-menu-item> </el-menu-item>
</app-link> </app-link>
</template> </template>
<el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body> <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body class="secondary-menu-item">
<template slot="title"> <template slot="title">
<item v-if="item.meta" :icon="sideIcon(item)" :title="item.meta.title" /> <item v-if="item.meta" :icon="sideIcon(item)" :title="item.meta.title" />
</template> </template>
<sidebar-item v-for="child in item.children" :key="child.path" :is-nest="true" :item="child" :base-path="resolvePath(child.path,child.query)" <sidebar-item v-for="child in item.children" :key="child.path" :is-nest="true" :item="child" :base-path="resolvePath(child.path,child.query)"
:active-menu="activeMenu" class="nest-menu" /> :active-menu="activeMenu" class="nest-menu secondary-menu-item-sub" />
</el-submenu> </el-submenu>
</template> </template>
<!-- 收起 --> <!-- 收起 -->
......
<template> <template>
<div :class="{'has-logo':showLogo}" @mouseenter="sideEnter" @mouseleave="sideLeave" :style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }"> <div :class="{'has-logo':showLogo}" @mouseenter="sideEnter" @mouseleave="sideLeave"
<logo v-if="showLogo" :collapse="isCollapse" /> :style="{ backgroundColor: settings.sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper"> <logo v-if="showLogo" :collapse="isCollapse" />
<el-menu <el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
:default-active="activeMenu" <el-menu :default-active="activeMenu" :collapse="isCollapse" :background-color="variables.menuBg" :text-color="variables.menuText"
:collapse="isCollapse" :unique-opened="true" :active-text-color="settings.theme" :collapse-transition="false" mode="vertical">
:background-color="variables.menuBg" <sidebar-item v-for="(route, index) in hidechildren" :key="route.path + index" :is-collapse="isCollapse" :active-menu="activeMenu"
:text-color="variables.menuText" :item="route" :base-path="route.path" :class="route.fixed&&route.fixed.isFixed?'sideFoot':''"
:unique-opened="true" :style="route.fixed&&route.fixed.isFixed?{'bottom': route.fixed.number*50+'px'}: bottomMenu&&index==routes.length-bottomMenu-2?{'padding-bottom': bottomMenu*50+'px'}:''" class="secondary-menu"/>
:active-text-color="settings.theme" </el-menu>
:collapse-transition="false" </el-scrollbar>
mode="vertical" <div v-show="isExpand" class="side-expand" @click="toggleSideBar">
> <img :src="isCollapse?require('@/assets/images/sidebar_right.png'):require('@/assets/images/sidebar_left.png')">
<sidebar-item
v-for="(route, index) in hidechildren"
:key="route.path + index"
:is-collapse="isCollapse"
:active-menu="activeMenu"
:item="route"
:base-path="route.path"
:class="route.fixed&&route.fixed.isFixed?'sideFoot':''"
:style="route.fixed&&route.fixed.isFixed?{'bottom': route.fixed.number*50+'px'}: bottomMenu&&index==routes.length-bottomMenu-2?{'padding-bottom': bottomMenu*50+'px'}:''"
/>
</el-menu>
</el-scrollbar>
<div v-show="isExpand" class="side-expand" @click="toggleSideBar">
<img :src="isCollapse?require('@/assets/images/sidebar_right.png'):require('@/assets/images/sidebar_left.png')">
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
...@@ -40,69 +24,69 @@ import variables from "@/assets/styles/variables.scss"; ...@@ -40,69 +24,69 @@ import variables from "@/assets/styles/variables.scss";
export default { export default {
components: { SidebarItem, Logo }, components: { SidebarItem, Logo },
data() { data() {
return { return {
isExpand: false isExpand: false
} };
}, },
computed: { computed: {
...mapState(["settings"]), ...mapState(["settings"]),
...mapGetters(["sidebarRouters", "sidebar"]), ...mapGetters(["sidebarRouters", "sidebar"]),
hidechildren(){ hidechildren() {
return this.sidebarRouters.map(item=>{ return this.sidebarRouters.map(item => {
if(item.children?.length){ if (item.children?.length) {
item.children = item.children.filter(i=>{ item.children = item.children.filter(i => {
if (typeof (i.hidden) == 'boolean' && i.hidden == false || i.path == "index"){ if (typeof (i.hidden) == 'boolean' && i.hidden == false || i.path == "index") {
return i return i;
}
})
}
return item
})
},
activeMenu() {
const route = this.$route;
const { meta, path } = route;
// if set path, the sidebar will highlight the path you set
if (meta.activeMenu) {
return meta.activeMenu;
} }
return path; });
}, }
device() { return item;
return this.$store.state.app.device });
}, },
bottomMenu() { activeMenu() {
const routeArr = this.$router.options.routes const route = this.$route;
const navFixed = routeArr.filter(item => item.fixed && item.fixed.isFixed) const { meta, path } = route;
return navFixed.length // if set path, the sidebar will highlight the path you set
}, if (meta.activeMenu) {
showLogo() { return meta.activeMenu;
return this.$store.state.settings.sidebarLogo; }
}, return path;
variables() { },
return variables; device() {
}, return this.$store.state.app.device;
isCollapse() { },
return !this.sidebar.opened; bottomMenu() {
}, const routeArr = this.$router.options.routes;
const navFixed = routeArr.filter(item => item.fixed && item.fixed.isFixed);
return navFixed.length;
},
showLogo() {
return this.$store.state.settings.sidebarLogo;
},
variables() {
return variables;
},
isCollapse() {
return !this.sidebar.opened;
},
},
methods: {
toggleSideBar() {
this.$emit('handleBar', this.isCollapse ? '-96' : '96'); // 96为展开宽度和收起宽度之差
this.$store.dispatch('app/toggleSideBar');
},
sideEnter() {
if (this.device !== 'mobile') {
this.isExpand = true;
}
},
sideLeave() {
if (this.device !== 'mobile') {
this.isExpand = false;
}
}, },
methods: { },
toggleSideBar(){
this.$emit('handleBar', this.isCollapse ? '-96' : '96'); // 96为展开宽度和收起宽度之差
this.$store.dispatch('app/toggleSideBar');
},
sideEnter(){
if (this.device !== 'mobile') {
this.isExpand = true;
}
},
sideLeave(){
if (this.device !== 'mobile') {
this.isExpand = false;
}
},
},
}; };
</script> </script>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<!--供应商考评-->
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap i">
<div class="enterprise_title">
供应商考评
</div>
</div>
</div>
<div class="table-supplier i">
<div class="table-item-jf table-item-jf1 empty-table" v-if="!tableData.length && !isSkeleton">
<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
<div class="item-jf-titel">暂无相关数据</div>
<div class="item-jf-text">抱歉,暂无数据,试试更换搜索条件吧</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="年度" width="120" :resizable="false">
</el-table-column>
<el-table-column label="使用公司" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="使用项目" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="项目考评" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司考评分" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="汇总分" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
export default {
name: 'assessment',
components:{skeleton},
data(){
return{
encodeStr,
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
}
},
methods: {
handleCurrentChange() {
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
}
}
</script>
<style scoped>
</style>
<template>
<!--供应商考评-->
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap i">
<div class="enterprise_title">
供应商考评
</div>
</div>
</div>
<div class="table-supplier i">
<div class="table-item-jf table-item-jf1 empty-table" v-if="!tableData.length && !isSkeleton">
<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
<div class="item-jf-titel">暂无相关数据</div>
<div class="item-jf-text">抱歉,暂无数据,试试更换搜索条件吧</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '10px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" width="60" :fixed="tableColumnFixed" :resizable="false">
<template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="使用项目" width="320" :fixed="tableColumnFixed" :resizable="false">
</el-table-column>
<el-table-column label="使用单位" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="公司名称" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置时间" :min-width="180" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="年度" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置前状态" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置后状态" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置前等级" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="处置后等级" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="预警原因" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
<el-table-column label="不合格原因" :min-width="200" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination background :page-size="pageSize" :current-page.sync="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
export default {
name: 'disposal',
components:{skeleton},
data(){
return{
encodeStr,
tableData:[
{name:'测试',legalPerson:'AAAA'}
],
isSkeleton:false,
total:100,
pageSize:50,
pageNum:1,
// table列是否悬浮
tableColumnFixed: true,
}
},
methods: {
handleCurrentChange() {
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
}
}
</script>
<style scoped>
</style>
...@@ -147,7 +147,7 @@ import { makeUpHtml, vueTemplate, vueScript, cssStyle } from '@/utils/generator/ ...@@ -147,7 +147,7 @@ import { makeUpHtml, vueTemplate, vueScript, cssStyle } from '@/utils/generator/
import { makeUpJs } from '@/utils/generator/js' import { makeUpJs } from '@/utils/generator/js'
import { makeUpCss } from '@/utils/generator/css' import { makeUpCss } from '@/utils/generator/css'
import drawingDefault from '@/utils/generator/drawingDefault' import drawingDefault from '@/utils/generator/drawingDefault'
import logo from '@/assets/images/logo/logo.png' import logo from '@/assets/images/logo/zjyj-logo.svg'
import CodeTypeDialog from './CodeTypeDialog' import CodeTypeDialog from './CodeTypeDialog'
import DraggableItem from './DraggableItem' import DraggableItem from './DraggableItem'
......
...@@ -35,7 +35,8 @@ module.exports = { ...@@ -35,7 +35,8 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://47.104.91.229:9099/prod-api`,//测试 // target: `http://47.104.91.229:9099/prod-api`,//测试
target: `http://111.204.34.146:9099/prod-api`,//测试
// target: `https://szhapi.jiansheku.com`,//线上 // target: `https://szhapi.jiansheku.com`,//线上
// target: `http://122.9.160.122:9011`, //线上 // target: `http://122.9.160.122:9011`, //线上
// target: `http://192.168.0.165:9098`,//施-无线 // target: `http://192.168.0.165:9098`,//施-无线
......
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