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%">
@@ -33,28 +54,28 @@
v-model="formInline.paramsName"></a-input> v-model="formInline.paramsName"></a-input>
</div> </div>
</a-col> </a-col>
<!-- <a-col :md="6" :sm="8">--> <!-- <a-col :md="6" :sm="8">-->
<!-- <div class="box-title-text">--> <!-- <div class="box-title-text">-->
<!-- <div class="title-text" :title="$t('NareaOfResponsibility')">--> <!-- <div class="title-text" :title="$t('NareaOfResponsibility')">-->
<!-- <span>{{$t('NareaOfResponsibility')}}</span>--> <!-- <span>{{$t('NareaOfResponsibility')}}</span>-->
<!-- </div>--> <!-- </div>-->
<!-- <j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"--> <!-- <j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"-->
<!-- :placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"--> <!-- :placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"-->
<!-- :type="'select'"--> <!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'duty_territory'"/>--> <!-- :triggerChange="false" :dictCode="'duty_territory'"/>-->
<!-- </div>--> <!-- </div>-->
<!-- </a-col>--> <!-- </a-col>-->
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('certificationCategory')"> <div class="title-text" :title="$t('certificationCategory')">
<span>{{$t('certificationCategory')}}</span> <span>{{$t('certificationCategory')}}</span>
</div> </div>
<j-dict-select-tag class="box-input" v-model="formInline.certCategory" <j-dict-select-tag class="box-input" v-model="formInline.certCategory"
:placeholder="$t('PleaseSelect')+$t('certificationCategory')" :placeholder="$t('PleaseSelect')+$t('certificationCategory')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'cert_category'"/> :triggerChange="false" :dictCode="'cert_category'"/>
</div> </div>
</a-col> </a-col>
<template v-if="toggleSearchStatus"> <template v-if="toggleSearchStatus">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
@@ -269,9 +290,9 @@
{{$t('CompulsoryWithdrawal')}} {{$t('CompulsoryWithdrawal')}}
</div> </div>
<!-- 列表设置--> <!-- 列表设置-->
<!-- v-if="!this.$route.query.it"--> <!-- v-if="!this.$route.query.it"-->
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirmIndex" <a-popconfirm :visible="customizevisible" overlayClassName="popconfirmIndex"
placement="bottomRight" > placement="bottomRight">
<template slot="title" id="popconfirmmize"> <template slot="title" id="popconfirmmize">
<div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 211px"> <div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 211px">
<a-checkbox <a-checkbox
@@ -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>
@@ -300,31 +323,13 @@
</div> </div>
</a-popconfirm> </a-popconfirm>
<!-- 角色切换 --> <!-- 角色切换 -->
<!-- <div class="operator-text"--> <!-- <div class="operator-text"-->
<!-- v-if="!this.$route.query.it"--> <!-- v-if="!this.$route.query.it"-->
<!-- @click="roleSwitchingClick">--> <!-- @click="roleSwitchingClick">-->
<!-- <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控件-->
@@ -868,7 +873,7 @@
// status: 2 // status: 2
// } // }
// ], // ],
customizeList:[], customizeList: [],
selectedRowKeys: [], selectedRowKeys: [],
textLoading: false, textLoading: false,
formInline: {}, formInline: {},
@@ -885,7 +890,7 @@
}, },
loading: false, loading: false,
dataSource: [], dataSource: [],
statuList:[], statuList: [],
areaVisible: false, // 弹框的控制 areaVisible: false, // 弹框的控制
configureareaVisible: false, // 配置的彈框 configureareaVisible: false, // 配置的彈框
pageNo: 1, pageNo: 1,
@@ -1118,7 +1123,7 @@
} }
}, },
roleSwitchingClick(roleCode) { roleSwitchingClick(roleCode) {
console.log(roleCode,1111) console.log(roleCode, 1111)
this.JTextLoading = true this.JTextLoading = true
// this.visibleRoleSwitching = true // this.visibleRoleSwitching = true
this.$nextTick(() => { this.$nextTick(() => {
@@ -1163,34 +1168,34 @@
} else { } else {
// this.$refs.ruleFormRoleSwitching.validate(valid => { // this.$refs.ruleFormRoleSwitching.validate(valid => {
// if (valid) { // if (valid) {
let query = { let query = {
userType: roleCode, userType: roleCode,
paramsManifestId: this.$route.query.id, paramsManifestId: this.$route.query.id,
projectId: this.$route.query.projectId, projectId: this.$route.query.projectId,
userId: this.userInfo().id userId: this.userInfo().id
} }
this.confirmLoadingRoleSwitching = true this.confirmLoadingRoleSwitching = true
postAction('/params/userTypeLog/edit', query).then((res) => { postAction('/params/userTypeLog/edit', query).then((res) => {
if (res.success) { if (res.success) {
this.currentPersonRole = roleCode this.currentPersonRole = roleCode
this.$message.success(this.$t('OperationSuccessful')) this.$message.success(this.$t('OperationSuccessful'))
this.visibleRoleSwitching = false this.visibleRoleSwitching = false
this.confirmLoadingRoleSwitching = false this.confirmLoadingRoleSwitching = false
this.JTextLoading = false this.JTextLoading = false
this.visible = false this.visible = false
localStorage.setItem('currentPersonRole', JSON.stringify(roleCode)) localStorage.setItem('currentPersonRole', JSON.stringify(roleCode))
this.RoleType.forEach((item, index) => { this.RoleType.forEach((item, index) => {
if (item.value == this.currentPersonRole) { if (item.value == this.currentPersonRole) {
this.rolename = item.label this.rolename = item.label
}
})
this.selectedRowKeysValue = []
} else {
this.confirmLoadingRoleSwitching = false
this.JTextLoading = false
this.$message.warning(this.$t('operationFailed'))
} }
}) })
this.selectedRowKeysValue = []
} else {
this.confirmLoadingRoleSwitching = false
this.JTextLoading = false
this.$message.warning(this.$t('operationFailed'))
}
})
// } // }
// }) // })
} }
@@ -1823,27 +1828,27 @@
this.selectedValue = this.checkedList this.selectedValue = this.checkedList
this.indeterminate = false this.indeterminate = false
}, },
getcustomizeList(item){ getcustomizeList(item) {
let params = { let params = {
paramsManifestId: this.$route.query.id, paramsManifestId: this.$route.query.id,
projectName:this.$route.query.projectName, projectName: this.$route.query.projectName,
flag: '7' flag: '7'
} }
getAction('params/collectManifest/getHeader', params).then((res) => { getAction('params/collectManifest/getHeader', params).then((res) => {
if (res.success) { if (res.success) {
let List = [] let List = []
let sList = [] let sList = []
res.result.forEach((item,index) => { res.result.forEach((item, index) => {
if(!item.isLock){ if (!item.isLock) {
if(item.headFieldCn == '操作'){ if (item.headFieldCn == '操作') {
item.field = 'operation' item.field = 'operation'
item.disabled = true item.disabled = true
}else if(item.headFieldCn == 'NIO编号' || item.headFieldCn == '参数名称'){ } else if (item.headFieldCn == 'NIO编号' || item.headFieldCn == '参数名称') {
item.disabled = true item.disabled = true
} }
List.push(item) List.push(item)
} }
if(item.isLock) { if (item.isLock) {
sList.push(item) sList.push(item)
} }
}) })
@@ -1851,7 +1856,7 @@
this.statuList = sList this.statuList = sList
} }
}) })
if(item){ if (item) {
console.log(item) console.log(item)
this.checkedList = item this.checkedList = item
} }
@@ -2222,7 +2227,7 @@
returnDataJurisdiction() { returnDataJurisdiction() {
// 退回的状态权限 // 退回的状态权限
let homoJurisdictionReturn = this.homoJurisdictionReturn() let homoJurisdictionReturn = this.homoJurisdictionReturn()
console.log(homoJurisdictionReturn,'homoJurisdictionReturn') console.log(homoJurisdictionReturn, 'homoJurisdictionReturn')
if (homoJurisdictionReturn == 1) { if (homoJurisdictionReturn == 1) {
this.returnData() this.returnData()
} else if (homoJurisdictionReturn == 0) { } else if (homoJurisdictionReturn == 0) {
@@ -2306,9 +2311,9 @@
}) })
let _this = this let _this = this
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')}}
@@ -50,8 +60,12 @@
url: { url: {
getProjectDetailsStatistics: '/project/projectLibraryBase/getProjectDetailsStatistics' getProjectDetailsStatistics: '/project/projectLibraryBase/getProjectDetailsStatistics'
}, },
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 => {
@@ -100,7 +115,7 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('notLaunch'), name: this.$t('notLaunch'),
color: '#00B3BE', color: '#00B3BE',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
color.push('#00B3BE') color.push('#00B3BE')
} else if (res.taskAffirmStatus == 'List to confirm') { } else if (res.taskAffirmStatus == 'List to confirm') {
@@ -108,7 +123,7 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('listToConfirm'), name: this.$t('listToConfirm'),
color: '#FDA71C', color: '#FDA71C',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
color.push('#FDA71C') color.push('#FDA71C')
} else if (res.taskAffirmStatus == 'Accepted') { } else if (res.taskAffirmStatus == 'Accepted') {
@@ -116,7 +131,7 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('accept'), name: this.$t('accept'),
color: '#26BC4B', color: '#26BC4B',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
color.push('#26BC4B') color.push('#26BC4B')
} else if (res.taskAffirmStatus == 'Rejected') { } else if (res.taskAffirmStatus == 'Rejected') {
@@ -124,17 +139,19 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('refuse'), name: this.$t('refuse'),
color: '#E83030', color: '#E83030',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
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)
}, },
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 => {
@@ -143,7 +160,7 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('notLaunch'), name: this.$t('notLaunch'),
color: '#00B3BE', color: '#00B3BE',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
color.push('#00B3BE') color.push('#00B3BE')
} else if (res.taskAffirmStatus == 'List to confirm') { } else if (res.taskAffirmStatus == 'List to confirm') {
@@ -151,7 +168,7 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('listToConfirm'), name: this.$t('listToConfirm'),
color: '#FDA71C', color: '#FDA71C',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
color.push('#FDA71C') color.push('#FDA71C')
} else if (res.taskAffirmStatus == 'Review and pass') { } else if (res.taskAffirmStatus == 'Review and pass') {
@@ -159,7 +176,7 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('reviewAndPass'), name: this.$t('reviewAndPass'),
color: '#26BC4B', color: '#26BC4B',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
color.push('#26BC4B') color.push('#26BC4B')
} else if (res.taskAffirmStatus == 'Review and return') { } else if (res.taskAffirmStatus == 'Review and return') {
@@ -167,17 +184,19 @@
value: res.taskAffirmStatusCount, value: res.taskAffirmStatusCount,
name: this.$t('reviewAndReturn'), name: this.$t('reviewAndReturn'),
color: '#E83030', color: '#E83030',
status:res.taskAffirmStatus status: res.taskAffirmStatus
}) })
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)
}, },
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') {
@@ -185,7 +204,7 @@
value: res.certificationProgressCount, value: res.certificationProgressCount,
name: this.$t('Notatthe'), name: this.$t('Notatthe'),
color: '#00B3BE', color: '#00B3BE',
status:res.certificationProgress status: res.certificationProgress
}) })
color.push('#00B3BE') color.push('#00B3BE')
} else if (res.certificationProgress == 'In progress') { } else if (res.certificationProgress == 'In progress') {
@@ -193,7 +212,7 @@
value: res.certificationProgressCount, value: res.certificationProgressCount,
name: this.$t('inProgress'), name: this.$t('inProgress'),
color: '#FDA71C', color: '#FDA71C',
status:res.certificationProgress status: res.certificationProgress
}) })
color.push('#FDA71C') color.push('#FDA71C')
} else if (res.certificationProgress == 'Test passed') { } else if (res.certificationProgress == 'Test passed') {
@@ -201,7 +220,7 @@
value: res.certificationProgressCount, value: res.certificationProgressCount,
name: this.$t('experimentPassed'), name: this.$t('experimentPassed'),
color: '#26BC4B', color: '#26BC4B',
status:res.certificationProgress status: res.certificationProgress
}) })
color.push('#26BC4B') color.push('#26BC4B')
} else if (res.certificationProgress == 'Test failed') { } else if (res.certificationProgress == 'Test failed') {
@@ -209,34 +228,35 @@
value: res.certificationProgressCount, value: res.certificationProgressCount,
name: this.$t('experimentFailed'), name: this.$t('experimentFailed'),
color: '#E83030', color: '#E83030',
status:res.certificationProgress status: res.certificationProgress
}) })
color.push('#E83030') color.push('#E83030')
}else if (res.certificationProgress == 'Component report not submitted') { } else if (res.certificationProgress == 'Component report not submitted') {
data.push({ data.push({
value: res.certificationProgressCount, value: res.certificationProgressCount,
name: this.$t('componentReportNotSubmitted'), name: this.$t('componentReportNotSubmitted'),
color: '#FDA71C', color: '#FDA71C',
status:res.certificationProgress status: res.certificationProgress
}) })
color.push('#FDA71C') color.push('#FDA71C')
}else if (res.certificationProgress == 'Component report submitted') { } else if (res.certificationProgress == 'Component report submitted') {
data.push({ data.push({
value: res.certificationProgressCount, value: res.certificationProgressCount,
name: this.$t('componentReportSubmitted'), name: this.$t('componentReportSubmitted'),
color: '#6FD682', color: '#6FD682',
status:res.certificationProgress status: res.certificationProgress
}) })
color.push('#6FD682') color.push('#6FD682')
}else if (res.certificationProgress == 'Component report has been stored') { } else if (res.certificationProgress == 'Component report has been stored') {
data.push({ data.push({
value: res.certificationProgressCount, value: res.certificationProgressCount,
name: this.$t('componentReportHasBeenStored'), name: this.$t('componentReportHasBeenStored'),
color: '#26BC4B', color: '#26BC4B',
status:res.certificationProgress status: res.certificationProgress
}) })
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)
@@ -249,14 +269,14 @@
}, },
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
textStyle : { textStyle: {
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 + '%)'
return str return str
} }
}, },
@@ -300,11 +320,11 @@
query.operatorType = 'queryPrehomoStatistics' query.operatorType = 'queryPrehomoStatistics'
query.status = params.data.status query.status = params.data.status
} else if (params.seriesName === this.$t('CertificationProgress')) { } else if (params.seriesName === this.$t('CertificationProgress')) {
if (this.num == '0'){ if (this.num == '0') {
query.operatorType = 'queryCertificationProgressStatisticsAll' query.operatorType = 'queryCertificationProgressStatisticsAll'
}else if(this.num == '1'){ } else if (this.num == '1') {
query.operatorType = 'queryCertificationProgressStatisticsCar' query.operatorType = 'queryCertificationProgressStatisticsCar'
}else if(this.num == '2'){ } else if (this.num == '2') {
query.operatorType = 'queryCertificationProgressStatisticsPart' query.operatorType = 'queryCertificationProgressStatisticsPart'
} }
query.status = params.data.status query.status = params.data.status
@@ -327,12 +347,12 @@
boxContentTextText[num].classList.add('box-content-text-color') boxContentTextText[num].classList.add('box-content-text-color')
} }
this.num = num this.num = num
if (num == 0){ if (num == 0) {
this.mainBottomEcharts( this.certificationProgressMap.allMapList || []) this.mainBottomEcharts(this.certificationProgressMap.allMapList || [])
}else if(num == 1){ } else if (num == 1) {
this.mainBottomEcharts( this.certificationProgressMap.carMapList || []) this.mainBottomEcharts(this.certificationProgressMap.carMapList || [])
}else if(num == 2){ } else if (num == 2) {
this.mainBottomEcharts( this.certificationProgressMap.partMapList || []) this.mainBottomEcharts(this.certificationProgressMap.partMapList || [])
} }
} }
} }
@@ -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'),
@@ -99,14 +109,14 @@
}, },
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
textStyle : { textStyle: {
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 + '%)'
return str return str
} }
}, },
@@ -138,26 +148,26 @@
}) })
myChart.on('click', (params) => { myChart.on('click', (params) => {
let query = {} let query = {}
if (params.seriesName == this.$t('regulatoryTaskConfirmation')){ if (params.seriesName == this.$t('regulatoryTaskConfirmation')) {
query = { query = {
title: params.seriesName, title: params.seriesName,
projectLibraryId: this.$route.query.id, projectLibraryId: this.$route.query.id,
operatorType: 'queryFGTaskToConfirmStatistics', operatorType: 'queryFGTaskToConfirmStatistics',
status:params.data.status status: params.data.status
} }
}else if(params.seriesName == this.$t('designCompliance')){ } else if (params.seriesName == this.$t('designCompliance')) {
query = { query = {
title: params.seriesName, title: params.seriesName,
projectLibraryId: this.$route.query.id, projectLibraryId: this.$route.query.id,
operatorType: 'queryDesignStatistics', operatorType: 'queryDesignStatistics',
status:params.data.status status: params.data.status
} }
}else if(params.seriesName == this.$t('verifyCompliance')){ } else if (params.seriesName == this.$t('verifyCompliance')) {
query = { query = {
title: params.seriesName, title: params.seriesName,
projectLibraryId: this.$route.query.id, projectLibraryId: this.$route.query.id,
operatorType: 'queryVerifyStatistics', operatorType: 'queryVerifyStatistics',
status:params.data.status status: params.data.status
} }
} }
this.$refs.responsibilityListRef.getData(query) this.$refs.responsibilityListRef.getData(query)
@@ -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,14 +214,16 @@
}) })
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)
}, },
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 => {
@@ -219,7 +232,7 @@
value: res.designFlowTaskStatusCount, value: res.designFlowTaskStatusCount,
name: this.$t('notLaunch'), name: this.$t('notLaunch'),
color: '#00B3BE', color: '#00B3BE',
status:res.designFlowTaskStatus status: res.designFlowTaskStatus
}) })
color.push('#00B3BE') color.push('#00B3BE')
} else if (res.designFlowTaskStatus == 'List to confirm') { } else if (res.designFlowTaskStatus == 'List to confirm') {
@@ -227,7 +240,7 @@
value: res.designFlowTaskStatusCount, value: res.designFlowTaskStatusCount,
name: this.$t('listToConfirm'), name: this.$t('listToConfirm'),
color: '#FDA71C', color: '#FDA71C',
status:res.designFlowTaskStatus status: res.designFlowTaskStatus
}) })
color.push('#FDA71C') color.push('#FDA71C')
} else if (res.designFlowTaskStatus == 'Compliance') { } else if (res.designFlowTaskStatus == 'Compliance') {
@@ -235,7 +248,7 @@
value: res.designFlowTaskStatusCount, value: res.designFlowTaskStatusCount,
name: this.$t('compliance'), name: this.$t('compliance'),
color: '#26BC4B', color: '#26BC4B',
status:res.designFlowTaskStatus status: res.designFlowTaskStatus
}) })
color.push('#26BC4B') color.push('#26BC4B')
} else if (res.designFlowTaskStatus == 'Non-Compliance') { } else if (res.designFlowTaskStatus == 'Non-Compliance') {
@@ -243,18 +256,20 @@
value: res.designFlowTaskStatusCount, value: res.designFlowTaskStatusCount,
name: this.$t('nonCompliance'), name: this.$t('nonCompliance'),
color: '#707486', color: '#707486',
status:res.designFlowTaskStatus status: res.designFlowTaskStatus
}) })
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)
}, },
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 => {
@@ -263,7 +278,7 @@
value: res.verifyFlowTaskStatusCount, value: res.verifyFlowTaskStatusCount,
name: this.$t('notLaunch'), name: this.$t('notLaunch'),
color: '#00B3BE', color: '#00B3BE',
status:res.verifyFlowTaskStatus status: res.verifyFlowTaskStatus
}) })
color.push('#00B3BE') color.push('#00B3BE')
} else if (res.verifyFlowTaskStatus == 'List to confirm') { } else if (res.verifyFlowTaskStatus == 'List to confirm') {
@@ -271,7 +286,7 @@
value: res.verifyFlowTaskStatusCount, value: res.verifyFlowTaskStatusCount,
name: this.$t('listToConfirm'), name: this.$t('listToConfirm'),
color: '#FDA71C', color: '#FDA71C',
status:res.verifyFlowTaskStatus status: res.verifyFlowTaskStatus
}) })
color.push('#FDA71C') color.push('#FDA71C')
} else if (res.verifyFlowTaskStatus == 'Compliance') { } else if (res.verifyFlowTaskStatus == 'Compliance') {
@@ -279,7 +294,7 @@
value: res.verifyFlowTaskStatusCount, value: res.verifyFlowTaskStatusCount,
name: this.$t('compliance'), name: this.$t('compliance'),
color: '#26BC4B', color: '#26BC4B',
status:res.verifyFlowTaskStatus status: res.verifyFlowTaskStatus
}) })
color.push('#26BC4B') color.push('#26BC4B')
} else if (res.verifyFlowTaskStatus == 'Non-Compliance') { } else if (res.verifyFlowTaskStatus == 'Non-Compliance') {
@@ -287,17 +302,17 @@
value: res.verifyFlowTaskStatusCount, value: res.verifyFlowTaskStatusCount,
name: this.$t('nonCompliance'), name: this.$t('nonCompliance'),
color: '#707486', color: '#707486',
status:res.verifyFlowTaskStatus status: res.verifyFlowTaskStatus
}) })
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>
@@ -1,38 +1,39 @@
<template> <template>
<a-modal <a-modal
:title="title" :title="title"
:width="800" :width="800"
:visible="visible" :visible="visible"
:confirm-loading="confirmLoading" :confirm-loading="confirmLoading"
:maskClosable="false" :maskClosable="false"
@cancel="visible = false" @cancel="visible = false"
>
<template slot="footer">
<a-button key="back" @click="visible = false">
{{$t('cancel')}}
</a-button>
</template>
<!-- <div style="text-align: right;margin-bottom: 10px">-->
<!-- <div @click="handleExport" class="operator-text">-->
<!-- <a-icon type="export" :rotate="-90"/>-->
<!-- {{$t('export')}}-->
<!-- </div>-->
<!-- </div>-->
<a-table
ref="table"
:components="drag(columns,'columns')"
:loading="loading"
:pagination="false"
:scroll="{x: '100%',y:400}"
:data-source="dataSource"
@change="tableOnChange"
:columns="columns"
> >
<template slot="footer"> <!-- -->
<a-button key="back" @click="visible = false"> <a slot="areaOfResponsibility" @click="areaOfResponsibilityClick(result)" slot-scope="text,result">
{{$t('cancel')}}
</a-button>
</template>
<div style="text-align: right;margin-bottom: 10px">
<div @click="handleExport" class="operator-text">
<a-icon type="export" :rotate="-90"/>
{{$t('export')}}
</div>
</div>
<a-table
ref="table"
:components="drag(columns,'columns')"
:loading="loading"
:pagination="false"
:scroll="{x: true,y:400}"
:data-source="dataSource"
:columns="columns"
>
<!-- @click="areaOfResponsibilityClick(result)"-->
<span slot="areaOfResponsibility" slot-scope="text,result">
{{text}} {{text}}
</span> </a>
</a-table> </a-table>
</a-modal> </a-modal>
</template> </template>
<script> <script>
@@ -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>