修改UAT问题 项目状态看板排序和搜索跳转等
This commit is contained in:
+1
-2
@@ -534,8 +534,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
fieldList = fieldList.stream()
|
||||
.filter(e -> !"serial_number".equals(e.getDbFieldName())
|
||||
&& !"title".equals(e.getDbFieldName())
|
||||
&& !"title_en".equals(e.getDbFieldName())
|
||||
&& !"state".equals(e.getDbFieldName()))
|
||||
&& !"title_en".equals(e.getDbFieldName()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (fieldList.size() != 0) {
|
||||
|
||||
+17
-2
@@ -147,12 +147,27 @@ public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
|
||||
|
||||
@Override
|
||||
public int compareTo(ProjectLibraryBase o) {
|
||||
if (!this.getProjectName().equals(o.getProjectName())) {
|
||||
return this.getProjectName().compareTo(o.getProjectName());//升序
|
||||
}
|
||||
if (!this.getYearName().equals(o.getYearName())) {
|
||||
if (this.getYearName().length() != o.getYearName().length()) {
|
||||
return this.getYearName().length() - o.getYearName().length();
|
||||
} else {
|
||||
return this.getYearName().compareTo(o.getYearName());//升序
|
||||
}
|
||||
}
|
||||
if (!this.getTargetMarket().equals(o.getTargetMarket())) {
|
||||
return this.getTargetMarket().compareTo(o.getTargetMarket());//升序
|
||||
}
|
||||
if (!this.getProjectVersion().equals(o.getProjectVersion())) {
|
||||
return Integer.valueOf(this.projectVersion) - Integer.valueOf(o.projectVersion);//升序
|
||||
// return o.id-this.id;//降序
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String getShowName() {
|
||||
return projectName+yearName+targetMarket+projectVersion;
|
||||
return projectName + " " + yearName + "-" + targetMarket + "-" + projectVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+6
-8
@@ -117,7 +117,6 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
List<ProjectLibraryBase> projectLibraryBaseLinkedList = new LinkedList<>();
|
||||
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
||||
if(StringUtils.isBlank(libraryBase.getParentId())){
|
||||
@@ -131,13 +130,13 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
||||
projectLibraryBaseLinkedList.addAll(projectLibraryBaseListTemp);
|
||||
}
|
||||
}
|
||||
projectLibraryBaseList.sort(Comparator.comparing(ProjectLibraryBase::getShowName));
|
||||
Collections.sort(projectLibraryBaseList);
|
||||
|
||||
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("region");
|
||||
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
||||
targetMarket(projectLibraryBase, dictItemList, libraryBase);
|
||||
Map<String,Object> mapList = new HashMap<>();
|
||||
List<List<TimeNodeVO>> collect = new ArrayList<>();
|
||||
List<List<TimeNodeVO>> collect;
|
||||
if(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime)){
|
||||
collect = listNew.stream().filter(e -> libraryBase.getId().equals(e.get(0).getProjectId())).collect(Collectors.toList());
|
||||
}else{
|
||||
@@ -147,8 +146,9 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
||||
if(collect.size() != 0){
|
||||
index ++;
|
||||
mapList.put("index",index);
|
||||
mapList.put("projectName",libraryBase.getProjectName()+" "+libraryBase.getYearName()+"-"+libraryBase.getTargetMarket()+"-"+libraryBase.getProjectVersion());
|
||||
mapList.put("projectName",libraryBase.getShowName());
|
||||
mapList.put("data",collect);
|
||||
mapList.put("projectInfo",libraryBase);
|
||||
result.add(mapList);
|
||||
}
|
||||
}
|
||||
@@ -215,9 +215,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
||||
lambdaQueryWrapper.in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryEOIdAll);
|
||||
projectTaskInventoryEOList = projectTaskInventoryEOService.list(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
|
||||
projectLibraryBaseList.sort(Comparator.comparing(ProjectLibraryBase::getShowName));
|
||||
Collections.sort(projectLibraryBaseList);
|
||||
for (ProjectLibraryBase libraryBase : projectLibraryBaseList) {
|
||||
//处理目标市场
|
||||
targetMarket(projectLibraryBase, dictItemList, libraryBase);
|
||||
@@ -234,7 +232,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
|
||||
projectVersion = "00";
|
||||
}
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("projectName",libraryBase.getProjectName()+" "+libraryBase.getYearName()+"-"+libraryBase.getTargetMarket()+"-"+projectVersion);//项目名称
|
||||
map.put("projectName",libraryBase.getShowName());//项目名称
|
||||
map.put("targetMarket",libraryBase.getTargetMarket());//目标市场
|
||||
|
||||
//1. 项目当前状态--projectState(蓝/红/黄/绿)-->studio视角下的数据
|
||||
|
||||
@@ -1384,4 +1384,5 @@ module.exports = {
|
||||
beforedatein:'In... Before date (inclusive)',
|
||||
inRecentMonthsin6:'Within 6 months (implemented)',
|
||||
batchUpdateDeadline:'Batch update deadline',
|
||||
timeInterval:'Time Interval',
|
||||
}
|
||||
@@ -1485,4 +1485,5 @@ module.exports = {
|
||||
beforedatein:'在...日期之前(包含)',
|
||||
inRecentMonthsin6:'近6个月内(已实施)',
|
||||
batchUpdateDeadline:'批量更新截止时间',
|
||||
timeInterval:'时间区间',
|
||||
}
|
||||
+11
-11
@@ -31,17 +31,17 @@
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('status')">
|
||||
<span>{{$t('status')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.state"
|
||||
:placeholder="$t('PleaseSelect')+$t('status')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'state'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :md="12" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('status')">-->
|
||||
<!-- <span>{{$t('status')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <j-dict-select-tag class="box-input" v-model="queryParam.state"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('status')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'state'"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
</template>
|
||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
|
||||
+149
-10
@@ -9,10 +9,49 @@
|
||||
</div>
|
||||
<div style="padding: 87px 0 0 0;background: #ffffff;height:100%">
|
||||
<div class="detail-content" style="height: 100%">
|
||||
<span style="float: right" class="box-top-text-right">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('entryName')">
|
||||
<span>{{ $t('entryName') }}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
|
||||
v-model="queryParam.projectName"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('targetMarket')">
|
||||
<span>{{ $t('targetMarket') }}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.targetMarket"
|
||||
:placeholder="$t('PleaseSelect')+$t('targetMarket')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'" />
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('projectStatus')">
|
||||
<span>{{ $t('projectStatus') }}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.projectStatus"
|
||||
:placeholder="$t('PleaseSelect')+$t('projectStatus')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'project_status'" />
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('timeInterval')">
|
||||
<span>{{ $t('timeInterval') }}</span>
|
||||
</div>
|
||||
<a-range-picker
|
||||
:placeholder="[this.$t('startMonth'), this.$t('endMonth')]"
|
||||
format="YYYY-MM"
|
||||
class="box-input"
|
||||
v-model="getTime"
|
||||
:mode="mode2"
|
||||
:open="open"
|
||||
@@ -26,7 +65,47 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-range-picker>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('brand')">
|
||||
<span>{{ $t('brand') }}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.brand"
|
||||
:placeholder="$t('PleaseSelect')+$t('brand')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'brand'" />
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px"
|
||||
@click="searchReset">{{ $t('reset') }}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- <span style="float: right" class="box-top-text-right">-->
|
||||
<!-- <a-range-picker-->
|
||||
<!-- :placeholder="[this.$t('startMonth'), this.$t('endMonth')]"-->
|
||||
<!-- format="YYYY-MM"-->
|
||||
<!-- v-model="getTime"-->
|
||||
<!-- :mode="mode2"-->
|
||||
<!-- :open="open"-->
|
||||
<!-- @openChange="openChange"-->
|
||||
<!-- @panelChange="panelChange"-->
|
||||
<!-- @change="hodeChange"-->
|
||||
<!-- >-->
|
||||
<!-- <div slot="renderExtraFooter" style="width: 100%;display: block">-->
|
||||
<!-- <div style="text-align: right;width: 100%">-->
|
||||
<!-- <a-button type="primary" @click="okChange">{{ $t('determine') }}</a-button>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-range-picker>-->
|
||||
<!-- </span>-->
|
||||
<div class="box-top-content" style="position: relative">
|
||||
<!-- <div id="main"></div>-->
|
||||
<!-- <div class="axis-tip"></div>-->
|
||||
@@ -35,9 +114,18 @@
|
||||
</div>
|
||||
<div style="overflow:visible;">
|
||||
<div class="box-top-content-left">
|
||||
<div class="box-top-content-left-text" :title="item.projectName"
|
||||
<div class="box-top-content-left-text"
|
||||
v-for="(item,index) in timeData" :key="index">
|
||||
{{item.projectName}}
|
||||
<a-tooltip overlayClassName="overlayClassName" placement="topLeft">
|
||||
<template slot="title">
|
||||
<div>{{ item.projectName }}</div>
|
||||
<div>
|
||||
{{ $t('explain') }}:{{ item.projectInfo.explanation }}
|
||||
</div>
|
||||
</template>
|
||||
<span @click="projectInfoClick(item.projectInfo)" style="cursor: pointer">{{ item.projectName
|
||||
}}</span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-top-content-right">
|
||||
@@ -47,7 +135,8 @@
|
||||
<div class="process-content-content" :style="val.left"
|
||||
v-for="(val,indexOne) in item.data[0]" :key="indexOne">
|
||||
|
||||
<div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{val.name}}</div>
|
||||
<div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{ val.name }}
|
||||
</div>
|
||||
<div class="process-content-right-button" v-if="indexOne % 2 == 1" :title="val.name">{{ val.name }}
|
||||
</div>
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltipColor">
|
||||
@@ -103,7 +192,9 @@
|
||||
getTime: [],
|
||||
timeList: [],
|
||||
timeData: [],
|
||||
handlingTime: ''
|
||||
handlingTime: '',
|
||||
queryParam: {},
|
||||
toggleSearchStatus: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -180,7 +271,8 @@
|
||||
getTimeline() {
|
||||
let query = {
|
||||
startTime: this.startTime || this.getNewDate('before', 6),
|
||||
endTime: this.endTime || this.getNewDate('after', 5)
|
||||
endTime: this.endTime || this.getNewDate('after', 5),
|
||||
...this.queryParam
|
||||
}
|
||||
this.loadingMain = true
|
||||
getAction(this.url.timeline, query).then((res) => {
|
||||
@@ -191,12 +283,19 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
projectInfoClick(item) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/ProjectDetails',
|
||||
query: item
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
openChange(val) {
|
||||
this.open = val
|
||||
},
|
||||
okChange() {
|
||||
this.open = false
|
||||
this.getTimeline()
|
||||
// this.getTimeline()
|
||||
},
|
||||
hodeChange() {
|
||||
this.getTime = []
|
||||
@@ -212,7 +311,8 @@
|
||||
getTimelineList(time) {
|
||||
let query = {
|
||||
startTime: this.startTime || this.getNewDate('before', 6),
|
||||
endTime: this.endTime || this.getNewDate('after', 5)
|
||||
endTime: this.endTime || this.getNewDate('after', 5),
|
||||
...this.queryParam
|
||||
}
|
||||
getAction(this.url.timelineList, query).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -312,6 +412,16 @@
|
||||
this.loadingMain = false
|
||||
}, 500)
|
||||
|
||||
},
|
||||
searchQuery() {
|
||||
this.getTimeline()
|
||||
},
|
||||
searchReset() {
|
||||
this.getTime = []
|
||||
this.startTime = undefined
|
||||
this.endTime = undefined
|
||||
this.queryParam = {}
|
||||
this.getTimeline()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -321,10 +431,24 @@
|
||||
.ant-calendar-footer-btn .ant-calendar-footer-extra {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.overlayClassName .ant-tooltip-inner {
|
||||
color: #fff !important;
|
||||
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||
}
|
||||
|
||||
.overlayClassName .ant-tooltip-arrow::before {
|
||||
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||
}
|
||||
|
||||
.overlayClassName {
|
||||
max-width: 500px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
height: 100%;
|
||||
@@ -376,7 +500,7 @@
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
width: calc(100% - 70px);
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
@@ -390,7 +514,7 @@
|
||||
|
||||
.box-top-content {
|
||||
width: 100%;
|
||||
height: calc(100vh - 160px);
|
||||
height: calc(100vh - 200px);
|
||||
margin-bottom: 20px;
|
||||
padding: 0 50px 10px 20px;
|
||||
box-sizing: border-box;
|
||||
@@ -399,6 +523,7 @@
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#main {
|
||||
@@ -428,6 +553,16 @@
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.box-top-text-left {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
margin-top: -4px;
|
||||
margin-left: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.box-top-content-left {
|
||||
width: 140px;
|
||||
float: left;
|
||||
@@ -574,4 +709,8 @@
|
||||
width: 100px;
|
||||
z-index: 101;
|
||||
}
|
||||
|
||||
::v-deep .ant-row {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
</style>
|
||||
@@ -37,7 +37,8 @@
|
||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px"
|
||||
@click="searchReset">{{ $t('reset') }}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
@@ -72,9 +73,17 @@
|
||||
</div>
|
||||
<div style="overflow:visible;">
|
||||
<div class="box-top-content-left">
|
||||
<div class="box-top-content-left-text" :title="item.projectName"
|
||||
<div class="box-top-content-left-text"
|
||||
v-for="(item,index) in timeData" :key="index">
|
||||
{{item.projectName}}
|
||||
<a-tooltip overlayClassName="overlayClassName" placement="topLeft">
|
||||
<template slot="title">
|
||||
<div>{{ item.projectName }}</div>
|
||||
<div>
|
||||
{{$t('explain')}}:{{item.projectInfo.explanation}}
|
||||
</div>
|
||||
</template>
|
||||
<span @click="projectInfoClick(item.projectInfo)" style="cursor: pointer">{{ item.projectName }}</span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-top-content-right">
|
||||
@@ -132,27 +141,33 @@
|
||||
</span>
|
||||
<span slot="CertificationProgressTitle">
|
||||
<span>{{ this.$t('CertificationProgress') }}</span><br />
|
||||
<span>{{'('+$t('notInvolved')+'/'+$t('toBeStarted')+'/'+$t('inProgress')+'/'+$t('experimentFailed')+'/'+$t('experimentPassed')+')'}}</span>
|
||||
<span>{{ '(' + $t('notInvolved') + '/' + $t('toBeStarted') + '/' + $t('inProgress') + '/' + $t('experimentFailed') + '/' + $t('experimentPassed') + ')'
|
||||
}}</span>
|
||||
</span>
|
||||
<span slot="listConfirmationStatusTitle">
|
||||
<span>{{ this.$t('listConfirmation') }}</span><br />
|
||||
<span>{{'('+$t('notLaunch')+'/'+$t('toBeConfirmed')+'/'+$t('accept')+'/'+$t('refuse')+')'}}</span>
|
||||
<span>{{ '(' + $t('notLaunch') + '/' + $t('toBeConfirmed') + '/' + $t('accept') + '/' + $t('refuse') + ')'
|
||||
}}</span>
|
||||
</span>
|
||||
<span slot="taskAffirmStatusTitle">
|
||||
<span>{{ this.$t('taskAffirm') }}</span><br />
|
||||
<span>{{'('+$t('notLaunch')+'/'+$t('toBeConfirmed')+'/'+$t('accept')+'/'+$t('refuse')+')'}}</span>
|
||||
<span>{{ '(' + $t('notLaunch') + '/' + $t('toBeConfirmed') + '/' + $t('accept') + '/' + $t('refuse') + ')'
|
||||
}}</span>
|
||||
</span>
|
||||
<span slot="designComplianceReviewTitle">
|
||||
<span>{{ this.$t('designComplianceReview') }}</span><br />
|
||||
<span>{{'('+$t('toBeConfirmed')+'/'+$t('accord')+'/'+$t('nonConformity')+'/'+$t('Tracked')+'/'+$t('notInvolved')+'/'+$t('taskTermination')+')'}}</span>
|
||||
<span>{{ '(' + $t('toBeConfirmed') + '/' + $t('accord') + '/' + $t('nonConformity') + '/' + $t('Tracked') + '/' + $t('notInvolved') + '/' + $t('taskTermination') + ')'
|
||||
}}</span>
|
||||
</span>
|
||||
<span slot="preHomeConfirmationTitle">
|
||||
<span>{{ this.$t('preHomeConfirmation') }}</span><br />
|
||||
<span>{{'('+$t('toBeConfirmed')+'/'+$t('accord')+'/'+$t('nonConformity')+'/'+$t('Tracked')+'/'+$t('notInvolved')+'/'+$t('taskTermination')+')'}}</span>
|
||||
<span>{{ '(' + $t('toBeConfirmed') + '/' + $t('accord') + '/' + $t('nonConformity') + '/' + $t('Tracked') + '/' + $t('notInvolved') + '/' + $t('taskTermination') + ')'
|
||||
}}</span>
|
||||
</span>
|
||||
<span slot="verificationComplianceReviewTitle">
|
||||
<span>{{ this.$t('verificationComplianceReview') }}</span><br />
|
||||
<span>{{'('+$t('toBeConfirmed')+'/'+$t('accord')+'/'+$t('nonConformity')+'/'+$t('Tracked')+'/'+$t('notInvolved')+'/'+$t('taskTermination')+')'}}</span>
|
||||
<span>{{ '(' + $t('toBeConfirmed') + '/' + $t('accord') + '/' + $t('nonConformity') + '/' + $t('Tracked') + '/' + $t('notInvolved') + '/' + $t('taskTermination') + ')'
|
||||
}}</span>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
@@ -458,6 +473,7 @@
|
||||
})
|
||||
|
||||
this.timeData = timeData
|
||||
console.log(this.timeData)
|
||||
this.timeData = [...this.timeData]
|
||||
this.loadingMain = false
|
||||
}, 500)
|
||||
@@ -495,7 +511,14 @@
|
||||
path: '/projectStatusAndProgress'
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
},
|
||||
projectInfoClick(item){
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/ProjectDetails',
|
||||
query: item
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -504,9 +527,20 @@
|
||||
height: 38px;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.ant-calendar-footer-btn .ant-calendar-footer-extra {
|
||||
float: right;
|
||||
}
|
||||
.overlayClassName .ant-tooltip-inner {
|
||||
color: #fff!important;
|
||||
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||
}
|
||||
.overlayClassName .ant-tooltip-arrow::before{
|
||||
background-color: rgba(0, 0, 0, 0.75) !important;
|
||||
}
|
||||
.overlayClassName{
|
||||
max-width: 500px!important;
|
||||
}
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
@@ -746,4 +780,5 @@
|
||||
::v-deep .ant-table-placeholder {
|
||||
margin-top: 8px !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user