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

# Conflicts:
#	jero-web/src/common/lang/en-us.js
#	jero-web/src/common/lang/zh-cn.js
This commit is contained in:
wangzhijiang
2023-05-09 11:33:59 +08:00
10 changed files with 498 additions and 369 deletions
+1
View File
@@ -1828,4 +1828,5 @@ module.exports = {
projectProgressStatistics:'Project Progress Statistics', projectProgressStatistics:'Project Progress Statistics',
GRPSystemProjectProgressStatistics:'GRP system project progress statistics', GRPSystemProjectProgressStatistics:'GRP system project progress statistics',
statisticalNodes:'Statistical Nodes', statisticalNodes:'Statistical Nodes',
proportionWithInTheAreaOfResponsibility:'Proportion within the area of responsibility',
} }
+1
View File
@@ -1929,4 +1929,5 @@ module.exports = {
projectProgressStatistics:'项目进度统计', projectProgressStatistics:'项目进度统计',
GRPSystemProjectProgressStatistics:'GRP系统项目进度统计', GRPSystemProjectProgressStatistics:'GRP系统项目进度统计',
statisticalNodes:'统计节点', statisticalNodes:'统计节点',
proportionWithInTheAreaOfResponsibility:'责任领域内占比',
} }
@@ -6,6 +6,27 @@
{{$t('ParameteItemCollectionList')}}({{$t(this.$route.query.projectName)}}) — {{$t(this.$route.query.title)}} {{$t('ParameteItemCollectionList')}}({{$t(this.$route.query.projectName)}}) — {{$t(this.$route.query.title)}}
</span> </span>
</div> </div>
<div class="Virtual-detail-title-right">
<a-popconfirm overlayClassName="popconfirmDetailsText"
:visible="visible"
@visibleChange="handleVisibleChange"
placement="bottomRight">
<template slot="title" id="popconfirmDetails">
<div @click="roleSwitchingClick(item.value)"
v-for="(item,index) in RoleType"
class="operator-text-title"
:class="{'operator-text-title-color':item.label == rolename ? true : false}"
:title="item.label">
{{ item.label }}
</div>
<JLoading :loading="JTextLoading"></JLoading>
</template>
<div class="operator-text" style="position: relative;margin-right: 0">
<a-icon type="select"/>
{{rolename}}
</div>
</a-popconfirm>
</div>
</div> </div>
<div style="padding-top: 54px;background: #fff;height: 100%"> <div style="padding-top: 54px;background: #fff;height: 100%">
<div class="detail-content" style="height: 100%"> <div class="detail-content" style="height: 100%">
@@ -283,13 +304,15 @@
>{{ $t('selectAll') }} >{{ $t('selectAll') }}
</a-checkbox> </a-checkbox>
<a-checkbox-group @change="onChange" v-model="checkedList" class="customize-text"> <a-checkbox-group @change="onChange" v-model="checkedList" class="customize-text">
<a-checkbox class="customize-text-title" :disabled="item.disabled" v-for="(item, key) in customizeList" <a-checkbox class="customize-text-title" :disabled="item.disabled"
v-for="(item, key) in customizeList"
:key="key" :value="item.field">{{ item.db_field_txt }} :key="key" :value="item.field">{{ item.db_field_txt }}
</a-checkbox> </a-checkbox>
</a-checkbox-group> </a-checkbox-group>
<div class="drawer-bootom-button"> <div class="drawer-bootom-button">
<a-button @click="cancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button> <a-button @click="cancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button>
<a-button @click="handleSubmitcustomize" type="primary" :loading="confirmLoading">{{ $t('determine') }} <a-button @click="handleSubmitcustomize" type="primary" :loading="confirmLoading">{{ $t('determine')
}}
</a-button> </a-button>
</div> </div>
</div> </div>
@@ -306,25 +329,7 @@
<!-- <a-icon type="select"/>--> <!-- <a-icon type="select"/>-->
<!-- {{ $t('roleSwitching') }} ({{ $t(this.rolename)}})--> <!-- {{ $t('roleSwitching') }} ({{ $t(this.rolename)}})-->
<!-- </div>--> <!-- </div>-->
<a-popconfirm overlayClassName="popconfirmDetails"
:visible="visible"
@visibleChange="handleVisibleChange"
placement="bottomRight">
<template slot="title" id="popconfirmDetails">
<div @click="roleSwitchingClick(item.value)"
v-for="(item,index) in RoleType"
class="operator-text-title"
:class="{'operator-text-title-color':item.label == rolename ? true : false}"
:title="item.label">
{{ item.label }}
</div>
<JLoading :loading="JTextLoading"></JLoading>
</template>
<div class="operator-text" style="position: relative">
<a-icon type="select"/>
{{rolename}}
</div>
</a-popconfirm>
</div> </div>
<div style="width: 100%"> <div style="width: 100%">
<!-- 表格-10控件--> <!-- 表格-10控件-->
@@ -2308,7 +2313,7 @@
let param = { let param = {
ids: _array.join(','), ids: _array.join(','),
paramsManifestId: this.$route.query.id, paramsManifestId: this.$route.query.id,
projectId:this.$route.query.projectId, projectId: this.$route.query.projectId
} }
let url = '' let url = ''
@@ -2512,9 +2517,11 @@
.popconfirmIndex .anticon-exclamation-circle { .popconfirmIndex .anticon-exclamation-circle {
display: none !important; display: none !important;
} }
::v-deep .ant-table-fixed-header .ant-table-body-inner { ::v-deep .ant-table-fixed-header .ant-table-body-inner {
overflow: visible; overflow: visible;
} }
popconfirmmize { popconfirmmize {
z-index: 999; z-index: 999;
} }
@@ -2530,6 +2537,7 @@
.popconfirmmize .ant-popover-message { .popconfirmmize .ant-popover-message {
padding: 4px 0 36px !important; padding: 4px 0 36px !important;
} }
::v-deep .ant-popover-buttons { ::v-deep .ant-popover-buttons {
display: none !important; display: none !important;
} }
@@ -2639,6 +2647,7 @@
.Required { .Required {
color: red; color: red;
} }
.customize-text { .customize-text {
/*height: 1533px;*/ /*height: 1533px;*/
display: flex; display: flex;
@@ -2653,6 +2662,7 @@
color: #040B29; color: #040B29;
margin-bottom: 22px; margin-bottom: 22px;
} }
.drawer-bootom-button { .drawer-bootom-button {
position: absolute; position: absolute;
bottom: 0; bottom: 0;
@@ -2665,6 +2675,7 @@
background: #fff; background: #fff;
border-radius: 0 0 2px 2px; border-radius: 0 0 2px 2px;
} }
.ant-table-placeholder { .ant-table-placeholder {
padding: 0; padding: 0;
border-top: none; border-top: none;
@@ -2673,9 +2684,11 @@
.itemModelComment .ant-form-item-control-wrapper { .itemModelComment .ant-form-item-control-wrapper {
width: 100% !important; width: 100% !important;
} }
.second { .second {
padding: 0 !important; padding: 0 !important;
} }
.doc-detail { .doc-detail {
background: #fff; background: #fff;
height: 100%; height: 100%;
@@ -2751,6 +2764,10 @@
line-height: 68px; line-height: 68px;
} }
.Virtual-detail-title-right {
float: right;
}
.doc-detail-right { .doc-detail-right {
width: 800px; width: 800px;
line-height: 68px; line-height: 68px;
@@ -2782,9 +2799,11 @@
.text-wraning { .text-wraning {
word-break: break-word; word-break: break-word;
} }
.operator-text-title-color { .operator-text-title-color {
color: #00B3BE; color: #00B3BE;
} }
</style> </style>
<style lang='less'> <style lang='less'>
.popconfirmIndex .ant-popover-message-title { .popconfirmIndex .ant-popover-message-title {
@@ -2792,16 +2811,16 @@
} }
</style> </style>
<style> <style>
.popconfirmDetails { .popconfirmDetailsText {
z-index: 999; z-index: 1000;
/*top: 42px !important;*/ top: 42px !important;
} }
.popconfirmDetails .ant-popover-buttons { .popconfirmDetailsText .ant-popover-buttons {
display: none !important; display: none !important;
} }
.popconfirmDetails .anticon-exclamation-circle { .popconfirmDetailsText .anticon-exclamation-circle {
display: none !important; display: none !important;
} }
</style> </style>
@@ -2,14 +2,24 @@
<div> <div>
<div class="box-content"> <div class="box-content">
<div class="box-content-left"> <div class="box-content-left">
<div class="total-text">
<span>{{$t('totalTable')+' : '+mainLeftNum}}</span>
</div>
<div id="main-left"></div> <div id="main-left"></div>
</div> </div>
<div class="box-content-right"> <div class="box-content-right">
<div class="total-text">
<span>{{$t('totalTable')+' : '+mainRightNum}}</span>
</div>
<div id="main-right"></div> <div id="main-right"></div>
</div> </div>
</div> </div>
<div class="box-content"> <div class="box-content">
<div class="box-content-bottom"> <div class="box-content-bottom">
<div class="total-text-text" :class="{'total-text-text-cntop':long == 'zh-cn' ? true:false,
'total-text-text-entop':long == 'zh-cn' ? false:true}">
<span>{{$t('totalTable')+' : '+mainBottomNum}}</span>
</div>
<div class="box-content-text"> <div class="box-content-text">
<div class="box-content-text-text" @click="boxContentClick(0)"> <div class="box-content-text-text" @click="boxContentClick(0)">
{{$t('whole')}} {{$t('whole')}}
@@ -52,6 +62,10 @@
}, },
certificationProgressMap: {}, certificationProgressMap: {},
num: '0', num: '0',
mainLeftNum: 0,
mainRightNum: 0,
mainBottomNum: 0,
long: localStorage.getItem('language') || 'zh-cn'
} }
}, },
mounted() { mounted() {
@@ -92,6 +106,7 @@
dataEcharts(dataSource) { dataEcharts(dataSource) {
let data = [] let data = []
let color = [] let color = []
this.mainLeftNum = 0
if (dataSource && dataSource.length > 0) { if (dataSource && dataSource.length > 0) {
this.dataSource = [{}] this.dataSource = [{}]
dataSource.forEach(res => { dataSource.forEach(res => {
@@ -128,6 +143,7 @@
}) })
color.push('#E83030') color.push('#E83030')
} }
this.mainLeftNum += res.taskAffirmStatusCount
}) })
} }
this.getEcharts('main-left', this.$t('certificationTaskConfirmation'), color, data) this.getEcharts('main-left', this.$t('certificationTaskConfirmation'), color, data)
@@ -135,6 +151,7 @@
mainRightEcharts(dataSource) { mainRightEcharts(dataSource) {
let data = [] let data = []
let color = [] let color = []
this.mainRightNum = 0
if (dataSource && dataSource.length > 0) { if (dataSource && dataSource.length > 0) {
this.dataSource = [{}] this.dataSource = [{}]
dataSource.forEach(res => { dataSource.forEach(res => {
@@ -171,6 +188,7 @@
}) })
color.push('#E83030') color.push('#E83030')
} }
this.mainRightNum += res.taskAffirmStatusCount
}) })
} }
this.getEcharts('main-right', this.$t('preHomoFlow'), color, data) this.getEcharts('main-right', this.$t('preHomoFlow'), color, data)
@@ -178,6 +196,7 @@
mainBottomEcharts(dataSource) { mainBottomEcharts(dataSource) {
let data = [] let data = []
let color = [] let color = []
this.mainBottomNum = 0
if (dataSource && dataSource.length > 0) { if (dataSource && dataSource.length > 0) {
dataSource.forEach(res => { dataSource.forEach(res => {
if (res.certificationProgress == 'Not start') { if (res.certificationProgress == 'Not start') {
@@ -237,6 +256,7 @@
}) })
color.push('#26BC4B') color.push('#26BC4B')
} }
this.mainBottomNum += res.certificationProgressCount
}) })
} }
this.getEcharts('main-bottom', this.$t('CertificationProgress'), color, data) this.getEcharts('main-bottom', this.$t('CertificationProgress'), color, data)
@@ -253,7 +273,7 @@
fontWeight: 'normal', fontWeight: 'normal',
fontSize: 14, fontSize: 14,
color: '#040B29', color: '#040B29',
fontFamily:'BlueSkyNoto', fontFamily: 'BlueSkyNoto'
}, },
formatter: function(parms) { formatter: function(parms) {
let str = parms.marker + ' ' + parms.data.name + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + parms.data.value + ' (' + parms.percent + '%)' let str = parms.marker + ' ' + parms.data.name + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + parms.data.value + ' (' + parms.percent + '%)'
@@ -350,6 +370,7 @@
.box-content-left { .box-content-left {
width: calc(50% - 10px); width: calc(50% - 10px);
height: 346px; height: 346px;
position: relative;
border: 2px #eff1f3 solid; border: 2px #eff1f3 solid;
border-radius: 6px; border-radius: 6px;
margin-top: 4px; margin-top: 4px;
@@ -365,6 +386,7 @@
.box-content-right { .box-content-right {
width: calc(50% - 10px); width: calc(50% - 10px);
height: 346px; height: 346px;
position: relative;
border: 2px #eff1f3 solid; border: 2px #eff1f3 solid;
border-radius: 6px; border-radius: 6px;
margin-top: 4px; margin-top: 4px;
@@ -384,6 +406,7 @@
position: relative; position: relative;
border-radius: 6px; border-radius: 6px;
margin-top: 20px; margin-top: 20px;
overflow: hidden;
.box-content-text { .box-content-text {
height: 30px; height: 30px;
@@ -429,4 +452,27 @@
} }
} }
.total-text {
position: absolute;
right: 28px;
top: 19px;
font-size: 18px;
font-weight: bold;
}
.total-text-text {
position: absolute;
right: 28px;
top: 21px;
font-size: 18px;
font-weight: bold;
}
.total-text-text-cntop {
right: 180px;
}
.total-text-text-entop {
right: 290px;
}
</style> </style>
@@ -8,11 +8,12 @@
<div class="process-content-content" :style="val.left" <div class="process-content-content" :style="val.left"
v-for="(val,indexOne) in timeData" :key="indexOne" v-if="val.g"> v-for="(val,indexOne) in timeData" :key="indexOne" v-if="val.g">
<div class="process-content-right-top" :title="val.name">{{ val.name }}</div> <div class="process-content-right-top" :title="val.name">{{ val.name }}</div>
<div class="process-content-right-button" :title="val.time.slice(0, 11)">{{ val.time.slice(0, 11) }}</div>
<!-- <div class="process-content-right-button" v-if="indexOne % 2 == 1" :title="val.name">{{ val.name }}--> <!-- <div class="process-content-right-button" v-if="indexOne % 2 == 1" :title="val.name">{{ val.name }}-->
<!-- </div>--> <!-- </div>-->
<a-tooltip placement="topLeft" overlayClassName="tooltipColor"> <a-tooltip placement="topLeft" overlayClassName="tooltipColor">
<template slot="title"> <template slot="title">
<span>{{ val.time.slice(0, 11) }}</span> <span>{{ val.name }}</span>
</template> </template>
<img v-if="val.status == 1" src="../../../assets/heiTop.png" class="process-content-left" <img v-if="val.status == 1" src="../../../assets/heiTop.png" class="process-content-left"
alt=""> alt="">
@@ -27,12 +28,12 @@
</div> </div>
<div class="process-content-contentOne" :style="val.left" <div class="process-content-contentOne" :style="val.left"
v-for="(val,indexTwo) in timeData" v-if="!val.g"> v-for="(val,indexTwo) in timeData" v-if="!val.g">
<!-- <div class="process-content-right-top" v-if="indexOne % 2 == 0" :title="val.name">{{ val.name }}</div>--> <div class="process-content-right-top" :title="val.time.slice(0, 11)">{{ val.time.slice(0, 11) }}</div>
<div class="process-content-right-button" :title="val.name">{{ val.name }} <div class="process-content-right-button" :title="val.name">{{ val.name }}
</div> </div>
<a-tooltip placement="topLeft" overlayClassName="tooltipColor"> <a-tooltip placement="topLeft" overlayClassName="tooltipColor">
<template slot="title"> <template slot="title">
<span>{{ val.time.slice(0, 11) }}</span> <span>{{ val.name }}</span>
</template> </template>
<img v-if="val.status == 1" src="../../../assets/huiBottom.png" class="process-content-left" <img v-if="val.status == 1" src="../../../assets/huiBottom.png" class="process-content-left"
alt=""> alt="">
@@ -192,10 +193,10 @@
width: 83px; width: 83px;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
color: #6F7385; color: #9C9FAC;
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 36px; top: -36px;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
overflow: hidden; overflow: hidden;
display: -webkit-box; display: -webkit-box;
@@ -229,13 +230,13 @@
.process-content-right-top { .process-content-right-top {
font-size: 12px; font-size: 12px;
color: #040B29;
width: 83px; width: 83px;
background: #fff; background: #fff;
display: inline-block; display: inline-block;
overflow: hidden; overflow: hidden;
position: absolute; position: absolute;
top: -12px; color: #9C9FAC;
top: 57px;
left: 50%; left: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
overflow: hidden; overflow: hidden;
@@ -253,10 +254,12 @@
width: 83px; width: 83px;
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
color: #6F7385; color: #040B29;
background: #fff;
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 36px; top: 36px;
line-height: 11px;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
overflow: hidden; overflow: hidden;
display: -webkit-box; display: -webkit-box;
@@ -1433,6 +1433,10 @@
}, },
mounted() { mounted() {
if (this.areaOfResponsibilityList && this.areaOfResponsibilityList.dutyTerritory) {
this.queryParam.dutyTerritory = this.areaOfResponsibilityList.dutyTerritory
this.queryParam = { ...this.queryParam }
}
this.JLoading = true this.JLoading = true
this.getHeader() this.getHeader()
this.queryLawEngineerByProjectId() this.queryLawEngineerByProjectId()
@@ -1442,10 +1446,6 @@
this.getRoleByUserId(() => { this.getRoleByUserId(() => {
this.getAndUserId() this.getAndUserId()
}) })
if (this.areaOfResponsibilityList && this.areaOfResponsibilityList.dutyTerritory) {
this.queryParam.dutyTerritory = this.areaOfResponsibilityList.dutyTerritory
this.queryParam = { ...this.queryParam }
}
}, },
computed: { computed: {
columnsFile() { columnsFile() {
@@ -59,7 +59,7 @@
this.$emit('projectStatusForm',this.activeKey) this.$emit('projectStatusForm',this.activeKey)
}, },
currentStatus(item) { currentStatus(item) {
this.$emit('TaskListChange', item) this.$emit('currentStatus', item)
}, },
versionStatisticsClick() { versionStatisticsClick() {
this.$refs.versionStatisticsRef.addModel(JSON.parse(JSON.stringify(this.selectedRowKeys))) this.$refs.versionStatisticsRef.addModel(JSON.parse(JSON.stringify(this.selectedRowKeys)))
@@ -1,15 +1,22 @@
<template> <template>
<div class="box-content"> <div class="box-content">
<div class="box-content-top"> <div class="box-content-top">
<div class="total-text">
<span>{{$t('totalTable')+' : '+mainTopNum}}</span>
</div>
<div id="main-top"></div> <div id="main-top"></div>
</div> </div>
<div class="box-content-left"> <div class="box-content-left">
<div class="total-text">
<span>{{$t('totalTable')+' : '+mainLeftNum}}</span>
</div>
<div id="main-left"></div> <div id="main-left"></div>
</div> </div>
<div class="box-content-right"> <div class="box-content-right">
<div id="main-right"> <div class="total-text">
<span>{{$t('totalTable')+' : '+mainRightNum}}</span>
</div> </div>
<div id="main-right"> </div>
</div> </div>
<responsibilityList @responsibility="responsibility" ref="responsibilityListRef"/> <responsibilityList @responsibility="responsibility" ref="responsibilityListRef"/>
</div> </div>
@@ -39,6 +46,9 @@
url: { url: {
getProjectDetailsStatistics: '/project/projectLibraryBase/getProjectDetailsStatistics' getProjectDetailsStatistics: '/project/projectLibraryBase/getProjectDetailsStatistics'
}, },
mainTopNum: 0,
mainLeftNum: 0,
mainRightNum: 0,
columns: [ columns: [
{ {
title: this.$t('red'), title: this.$t('red'),
@@ -103,7 +113,7 @@
fontWeight: 'normal', fontWeight: 'normal',
fontSize: 14, fontSize: 14,
color: '#040B29', color: '#040B29',
fontFamily:'BlueSkyNoto', fontFamily: 'BlueSkyNoto'
}, },
formatter: function(parms) { formatter: function(parms) {
let str = parms.marker + ' ' + parms.data.name + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + parms.data.value + ' (' + parms.percent + '%)' let str = parms.marker + ' ' + parms.data.name + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + parms.data.value + ' (' + parms.percent + '%)'
@@ -167,6 +177,7 @@
mainTopEcharts(dataSource) { mainTopEcharts(dataSource) {
let data = [] let data = []
let color = [] let color = []
this.mainTopNum = 0
if (dataSource && dataSource.length > 0) { if (dataSource && dataSource.length > 0) {
this.dataSource = [{}] this.dataSource = [{}]
dataSource.forEach(res => { dataSource.forEach(res => {
@@ -203,6 +214,7 @@
}) })
color.push('#E83030') color.push('#E83030')
} }
this.mainTopNum += res.taskAffirmStatusCount
}) })
} }
this.getEcharts('main-top', this.$t('regulatoryTaskConfirmation'), color, data) this.getEcharts('main-top', this.$t('regulatoryTaskConfirmation'), color, data)
@@ -211,6 +223,7 @@
mainLeftEcharts(dataSource) { mainLeftEcharts(dataSource) {
let data = [] let data = []
let color = [] let color = []
this.mainLeftNum = 0
if (dataSource && dataSource.length > 0) { if (dataSource && dataSource.length > 0) {
this.dataSource = [{}] this.dataSource = [{}]
dataSource.forEach(res => { dataSource.forEach(res => {
@@ -247,6 +260,7 @@
}) })
color.push('#707486') color.push('#707486')
} }
this.mainLeftNum += res.designFlowTaskStatusCount
}) })
} }
this.getEcharts('main-left', this.$t('designCompliance'), color, data) this.getEcharts('main-left', this.$t('designCompliance'), color, data)
@@ -255,6 +269,7 @@
mainRightEcharts(dataSource) { mainRightEcharts(dataSource) {
let data = [] let data = []
let color = [] let color = []
this.mainRightNum = 0
if (dataSource && dataSource.length > 0) { if (dataSource && dataSource.length > 0) {
this.dataSource = [{}] this.dataSource = [{}]
dataSource.forEach(res => { dataSource.forEach(res => {
@@ -291,13 +306,13 @@
}) })
color.push('#707486') color.push('#707486')
} }
this.mainRightNum += res.verifyFlowTaskStatusCount
}) })
} }
this.getEcharts('main-right', this.$t('verifyCompliance'), color, data) this.getEcharts('main-right', this.$t('verifyCompliance'), color, data)
}, },
responsibility(item) { responsibility(item) {
console.log(item)
this.$emit('currentStatus', item) this.$emit('currentStatus', item)
} }
} }
@@ -313,6 +328,7 @@
.box-content-top { .box-content-top {
width: 100%; width: 100%;
position: relative;
margin-top: 4px; margin-top: 4px;
height: 346px; height: 346px;
border: 2px #eff1f3 solid; border: 2px #eff1f3 solid;
@@ -330,6 +346,7 @@
width: calc(50% - 10px); width: calc(50% - 10px);
margin-top: 20px; margin-top: 20px;
height: 346px; height: 346px;
position: relative;
border: 2px #eff1f3 solid; border: 2px #eff1f3 solid;
border-radius: 6px; border-radius: 6px;
@@ -345,6 +362,7 @@
width: calc(50% - 10px); width: calc(50% - 10px);
margin-top: 20px; margin-top: 20px;
height: 346px; height: 346px;
position: relative;
border-radius: 6px; border-radius: 6px;
border: 2px #eff1f3 solid; border: 2px #eff1f3 solid;
@@ -367,4 +385,12 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.total-text {
position: absolute;
right: 28px;
top: 19px;
font-size: 18px;
font-weight: bold;
}
</style> </style>
@@ -12,25 +12,26 @@
{{$t('cancel')}} {{$t('cancel')}}
</a-button> </a-button>
</template> </template>
<div style="text-align: right;margin-bottom: 10px"> <!-- <div style="text-align: right;margin-bottom: 10px">-->
<div @click="handleExport" class="operator-text"> <!-- <div @click="handleExport" class="operator-text">-->
<a-icon type="export" :rotate="-90"/> <!-- <a-icon type="export" :rotate="-90"/>-->
{{$t('export')}} <!-- {{$t('export')}}-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<a-table <a-table
ref="table" ref="table"
:components="drag(columns,'columns')" :components="drag(columns,'columns')"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: true,y:400}" :scroll="{x: '100%',y:400}"
:data-source="dataSource" :data-source="dataSource"
@change="tableOnChange"
:columns="columns" :columns="columns"
> >
<!-- @click="areaOfResponsibilityClick(result)"--> <!-- -->
<span slot="areaOfResponsibility" slot-scope="text,result"> <a slot="areaOfResponsibility" @click="areaOfResponsibilityClick(result)" slot-scope="text,result">
{{text}} {{text}}
</span> </a>
</a-table> </a-table>
</a-modal> </a-modal>
</template> </template>
@@ -62,6 +63,7 @@
align: 'left', align: 'left',
width: 150, width: 150,
ellipsis: true, ellipsis: true,
sorter: true,
scopedSlots: { customRender: 'areaOfResponsibility' } scopedSlots: { customRender: 'areaOfResponsibility' }
}, },
{ {
@@ -69,14 +71,16 @@
dataIndex: 'amount', dataIndex: 'amount',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
width: 150 width: 150,
sorter: true
}, },
{ {
title: this.$t('proportion'), title: this.$t('proportionWithInTheAreaOfResponsibility'),
dataIndex: 'percentage', dataIndex: 'percentage',
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
width: 150 width: 240,
sorter: true
} }
] ]
} }
@@ -88,11 +92,39 @@
this.visible = true this.visible = true
this.title = data.title this.title = data.title
this.queryParam = data this.queryParam = data
this.getList(data) this.getList()
}, },
getList(data) { tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
if (sorter.columnKey == 'attestationRank_dictText') {
this.orderByField = 'attestationRank'
} else if (sorter.columnKey == 'dutyTerritory_dictText') {
this.orderByField = 'dutyTerritory'
} else if (sorter.columnKey == 'designDeliverableTypeName') {
this.orderByField = 'designDeliverableType'
} else if (sorter.columnKey == 'verifyDeliverableTypeName') {
this.orderByField = 'verifyDeliverableType'
} else if (sorter.columnKey == 'designDutyIdName') {
this.orderByField = 'designDutyId'
} else if (sorter.columnKey == 'verifyDutyIdName') {
this.orderByField = 'verifyDutyId'
} else if (sorter.columnKey == 'verifyFlowStatusName') {
this.orderByField = 'verifyFlowStatus'
} else if (sorter.columnKey == 'designFlowStatusName') {
this.orderByField = 'designFlowStatus'
} else {
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {
this.loading = true this.loading = true
getAction(this.url.GroupByTerritory, data).then((res) => { let query = {
...this.queryParam,
orderBy: this.orderBy,
orderByField: this.orderByField,
}
getAction(this.url.GroupByTerritory, query).then((res) => {
if (res.success) { if (res.success) {
this.loading = false this.loading = false
this.dataSource = res.result.dataList || [] this.dataSource = res.result.dataList || []
@@ -108,14 +140,14 @@
handleCancel() { handleCancel() {
this.visible = false this.visible = false
}, },
// areaOfResponsibilityClick(item) { areaOfResponsibilityClick(item) {
// if (this.queryParam.operatorType == 'queryFGTaskToConfirmStatistics' || if (this.queryParam.operatorType == 'queryFGTaskToConfirmStatistics' ||
// this.queryParam.operatorType == 'queryDesignStatistics' || this.queryParam.operatorType == 'queryDesignStatistics' ||
// this.queryParam.operatorType == 'queryVerifyStatistics') { this.queryParam.operatorType == 'queryVerifyStatistics') {
// item.isListing = '1' item.isListing = '1'
// } }
// this.$emit('responsibility', item) this.$emit('responsibility', item)
// } }
} }
} }
</script> </script>
@@ -11,6 +11,151 @@
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm"> <a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G0">
G0</span>
</div>
<a-form-model-item class="itemModel" prop="zero">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G0'"
@change="dateChange({db_field_name:'zero'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.zero"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G1">
G1</span>
</div>
<a-form-model-item class="itemModel" prop="one">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G1'"
@change="dateChange({db_field_name:'one'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.one"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G2">
G2</span>
</div>
<a-form-model-item class="itemModel" prop="two">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G2'"
@change="dateChange({db_field_name:'two'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.two"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G3">
G3</span>
</div>
<a-form-model-item class="itemModel" prop="three">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G3'"
@change="dateChange({db_field_name:'three'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.three"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G4">
G4</span>
</div>
<a-form-model-item class="itemModel" prop="four">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G4'"
@change="dateChange({db_field_name:'four'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.four"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G5">
G5</span>
</div>
<a-form-model-item class="itemModel" prop="five">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G5'"
@change="dateChange({db_field_name:'five'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.five"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G6">
G6</span>
</div>
<a-form-model-item class="itemModel" prop="six">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G6'"
@change="dateChange({db_field_name:'six'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.six"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G7">
G7</span>
</div>
<a-form-model-item class="itemModel" prop="seven">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G7'"
@change="dateChange({db_field_name:'seven'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.seven"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12"> <a-col :span="12">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text"> <div class="title-text">
@@ -165,150 +310,6 @@
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G0">
G0</span>
</div>
<a-form-model-item class="itemModel" prop="zero">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G0'"
@change="dateChange({db_field_name:'zero'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.zero"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G1">
G1</span>
</div>
<a-form-model-item class="itemModel" prop="one">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G1'"
@change="dateChange({db_field_name:'one'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.one"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G2">
G2</span>
</div>
<a-form-model-item class="itemModel" prop="two">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G2'"
@change="dateChange({db_field_name:'two'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.two"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G3">
G3</span>
</div>
<a-form-model-item class="itemModel" prop="three">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G3'"
@change="dateChange({db_field_name:'three'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.three"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G4">
G4</span>
</div>
<a-form-model-item class="itemModel" prop="four">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G4'"
@change="dateChange({db_field_name:'four'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.four"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G5">
G5</span>
</div>
<a-form-model-item class="itemModel" prop="five">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G5'"
@change="dateChange({db_field_name:'five'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.five"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G6">
G6</span>
</div>
<a-form-model-item class="itemModel" prop="six">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G6'"
@change="dateChange({db_field_name:'six'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.six"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" title="G7">
G7</span>
</div>
<a-form-model-item class="itemModel" prop="seven">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+'G7'"
@change="dateChange({db_field_name:'seven'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.seven"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
</a-spin> </a-spin>