diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 8a193123c..d32548eaa 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -779,7 +779,7 @@ module.exports = { feedbackFromTheEngineer: 'Feedback from the Engineer', completedBy: 'Completed by', completedTime: 'Completed time', - replyFromProjectContactPerson: 'Reply from project contact person', + replyFromProjectContactPerson: 'Responsible Persons reply', answer: 'answer', distributionEngineer: 'Distribution Engineer', reminderHandling: 'Reminder handling', @@ -834,5 +834,6 @@ module.exports = { verificationComplianceConfirmationProgress: 'Verification compliance confirmation progress', totalTable: 'Total', newlyAdded: 'Newly Added', - applicableSupplement: 'Applicable Supplement' + applicableSupplement: 'Applicable Supplement', + taskDescription:'Task description', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 6e049b0c9..b8d6ef037 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -787,7 +787,7 @@ module.exports = { feedbackFromTheEngineer: '工程师反馈意见', completedBy: '填写人', completedTime: '填写时间', - replyFromProjectContactPerson: '工程接口人回复', + replyFromProjectContactPerson: '责任人回复', answer: '回复', distributionEngineer: '分发工程师', reminderHandling: '提醒办理', @@ -839,5 +839,6 @@ module.exports = { preHomeConfirmProgress: 'Pre-Home确认进度', verificationComplianceConfirmationProgress: '验证符合性确认进度', totalTable: '总数', - applicableSupplement: '适用增补件' + applicableSupplement: '适用增补件', + taskDescription: '任务说明' } \ No newline at end of file diff --git a/jero-web/src/views/processCenter/components/engineeringConfirmation.vue b/jero-web/src/views/processCenter/components/engineeringConfirmation.vue index 32db9dd32..83d5ee4d7 100644 --- a/jero-web/src/views/processCenter/components/engineeringConfirmation.vue +++ b/jero-web/src/views/processCenter/components/engineeringConfirmation.vue @@ -6,8 +6,8 @@
+
{{ $t('distributionEngineer') }} @@ -18,6 +18,10 @@ {{ $t('reminderHandling') }}
+ + {{$t('details')}} +
@@ -89,6 +93,23 @@
+ +
+
+
+ * + {{item}} +
+ + + +
+
+
@@ -324,6 +345,18 @@ fixed: 'left', customRender: (text, record, index) => `${index + 1}` }, + { + title: this.$t('completedBy'), + dataIndex: 'createBy', + ellipsis: true, + align: 'center' + }, + { + title: this.$t('completedTime'), + dataIndex: 'createTime', + ellipsis: true, + align: 'center' + }, { title: this.$t('feedbackFromTheEngineer'), dataIndex: 'engineerFeedbackContent', @@ -337,18 +370,6 @@ ellipsis: true, scopedSlots: { customRender: 'Deliverables' } }, - { - title: this.$t('completedBy'), - dataIndex: 'createBy', - ellipsis: true, - align: 'center' - }, - { - title: this.$t('completedTime'), - dataIndex: 'createTime', - ellipsis: true, - align: 'center' - }, { title: this.$t('replyFromProjectContactPerson'), dataIndex: 'engineeringInterfacePersonReply', @@ -499,7 +520,7 @@ }) }, detailsClick(val) { - this.formInlineDetails = val + this.formInlineDetails = val || {} this.visibleDetails = true }, PersonnelSelectionChange(value, id) { diff --git a/jero-web/src/views/processCenter/components/projectInformation.vue b/jero-web/src/views/processCenter/components/projectInformation.vue index 21f31974c..102b8611d 100644 --- a/jero-web/src/views/processCenter/components/projectInformation.vue +++ b/jero-web/src/views/processCenter/components/projectInformation.vue @@ -45,6 +45,10 @@ projectInformationId: { type: String, default: '' + }, + queryProject: { + type: Object, + default: {} } }, data() { @@ -60,6 +64,9 @@ getAction(this.url.urlFrom, { id: this.projectInformationId }).then((res) => { if (res.success) { this.queryForm = res.result[0] || {} + if (this.queryProject) { + this.queryForm = { ...this.queryForm, ...this.queryProject } + } } else { this.queryForm = {} } diff --git a/jero-web/src/views/processCenter/components/taskCirculationHistory.vue b/jero-web/src/views/processCenter/components/taskCirculationHistory.vue index 8cb57ba70..04b7d45b1 100644 --- a/jero-web/src/views/processCenter/components/taskCirculationHistory.vue +++ b/jero-web/src/views/processCenter/components/taskCirculationHistory.vue @@ -34,7 +34,7 @@ dataSource: [], loading: false, reviewResult: { - 'launch':this.$t('Launch'), + 'launch': this.$t('Launch'), 'Compliance': this.$t('accord'), 'Non-Compliance': this.$t('nonConformity'), 'To be tracked': this.$t('Tracked'), @@ -81,10 +81,9 @@ methods: { getList() { let query = { - prcId: this.$route.query.actiProcInstId, - prcType: this.$route.query.flowType + actiProcInstId: this.$route.query.actiProcInstId } - getAction('/workFlow/queryProcessHistoryByPrcId', query).then((res) => { + getAction('/wkflow/processHistoryEO/list', query).then((res) => { this.dataSource = res }) } diff --git a/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue b/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue index 5deabac2a..8b6de9f3f 100644 --- a/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue +++ b/jero-web/src/views/processCenter/processForm/taskListProcess/index.vue @@ -18,6 +18,7 @@ :projectInformationList="projectInformationList" :url="url" :projectInformationId="this.queryBy.projectLibraryId" + :queryProject="queryProject" />
+ +
+
+ {{$t('applicableSupplement')}} +
+ + + +
+
@@ -418,6 +432,23 @@
+ + +
+
+ {{$t('remarks')}} +
+ + + +
+
+
 {{$t('PrehomoConfirmation')}}
@@ -540,6 +571,23 @@
+ + +
+
+ {{$t('remarks')}} +
+ + + +
+
+
 {{$t('verificationAndConformityconfirmation')}}
@@ -660,6 +708,23 @@ + + +
+
+ {{$t('remarks')}} +
+ + + +
+
+
@@ -711,7 +776,35 @@ message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'), trigger: 'blur' } - ] + ], + applicableSupplement: [ + { + max: 100, + message: this.$t('applicableSupplement') + this.$t('cannotExceed') + 100 + this.$t('Characters'), + trigger: 'blur' + } + ], + designRemark:[ + { + max: 300, + message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'), + trigger: 'blur' + } + ], + verifyRemark:[ + { + max: 300, + message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'), + trigger: 'blur' + } + ], + prehomoRemark:[ + { + max: 300, + message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'), + trigger: 'blur' + } + ], }, formInline: {}, regulatoryEngineerList: [], diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index af94e41c7..7992d6d61 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -146,7 +146,7 @@ {{ $t('deleteLib') }} - + {{ text && text.length > 10 ? text.slice(0, 9) + '...' : text }} @@ -418,6 +418,13 @@ width: 180, scopedSlots: { customRender: 'titleName' } }, + { + title: this.$t('applicableSupplement'), + align: 'center', + width: 180, + dataIndex: 'applicableSupplement', + scopedSlots: { customRender: 'titleName' } + }, { title: 'WVTA ID', align: 'center', @@ -1457,12 +1464,14 @@ color: #040B29; margin-bottom: 22px; } - .itemModelComment{ + + .itemModelComment { width: calc(100% - 64px); display: inline-block; margin-top: 2px; } - .title-text-Comment{ + + .title-text-Comment { width: 74px; text-align: right; display: inline-block; @@ -1497,7 +1506,8 @@ padding: 0; border-top: none; } - .itemModelComment .ant-form-item-control-wrapper{ + + .itemModelComment .ant-form-item-control-wrapper { width: 100% !important; } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/projectStatusBoard/index.vue b/jero-web/src/views/projectManagement/projectStatusBoard/index.vue index 3d0b32136..d8e0d7211 100644 --- a/jero-web/src/views/projectManagement/projectStatusBoard/index.vue +++ b/jero-web/src/views/projectManagement/projectStatusBoard/index.vue @@ -34,6 +34,7 @@ {{$t('regulatoryCertificationTaskPlan')}}
+
@@ -94,7 +95,9 @@ loading: false, dataSource: [], url: { - list: '/project/ProjectStatusBoardController/scheduleInfoList' + list: '/project/ProjectStatusBoardController/scheduleInfoList', + timeline: '/project/ProjectStatusBoardController/timeline', + timelineList: '/project/ProjectStatusBoardController/timelineList' }, columns: [ { @@ -157,32 +160,59 @@ }, mounted() { this.getList() - this.getEcharts() + this.getTimeline() }, methods: { - getEcharts() { + getTimeline() { + getAction(this.url.timeline, {}).then((res) => { + if (res.success) { + this.getTimelineList(res.result) + } + }) + }, + getTimelineList(time) { + getAction(this.url.timelineList, {}).then((res) => { + if (res.success) { + this.getEcharts(time, res.result) + } + }) + }, + getEcharts(timeList, timeData) { + var chartDom = document.getElementById('main') var myChart = echarts.init(chartDom) var option + let list = [] + let listTime = [] + for (let i = 0; i < timeList.length; i++) { + for (let j = 0; j < 31; j++) { + let num + if ((j + 1) < 10) { + num = '0' + (j + 1) + } else { + num = (j + 1) + } + listTime.push(timeList[i]) + list.push(timeList[i] + '-' + num) + } + } + console.log(listTime) + const hours = listTime + const days = [] -// prettier-ignore - const hours = [ - '12a', '1a', '2a', '3a', '4a', '5a', '6a', - '12a', '1a', '2a', '3a', '4a', '5a', '6a' - ] - const days = [ - 'Saturday', 'Friday', 'Thursday', - 'Wednesday', 'Tuesday', 'Monday', 'Sunday' - ] + if (timeData && timeData.length > 0) { + timeData.forEach(res => { + days.push(res.projectName) + }) + } const data = [ - [0, 0, 14], [0, 1, 5], [0, 2, 5], [0, 3, 5], [0, 4, 5], [0, 5, 5], [0, 6, 5], [0, 7, 5], - [1, 0, 5], [1, 2, 5], [1, 3, 5], [1, 4, 5], [1, 5, 5], [1, 6, 5], [1, 7, 5], [1, 1, 5], - [2, 0, 14], [2, 1, 14], [2, 2, 14], [2, 3, 14], [2, 4, 14], [2, 5, 14], [2, 6, 14], [2, 7, 14], - [3, 0, 14], [3, 1, 14], [3, 2, 14], [3, 3, 14], [3, 4, 14], [3, 5, 14], [3, 6, 14], [3, 7, 14], - [4, 0, 14], [4, 1, 14], [4, 2, 14], [4, 3, 14], [4, 4, 14], [4, 5, 14], [4, 6, 14], [4, 7, 14], - [5, 0, 14], [5, 1, 14], [5, 2, 14], [5, 3, 14], [5, 4, 14], [5, 5, 14], [5, 6, 14], [5, 7, 14], - [6, 0, 14], [6, 1, 14], [6, 2, 14], [6, 3, 14], [6, 4, 14], [6, 5, 14], [6, 6, 14], [6, 7, 14], - [6, 8, 14], [6, 9, 14], [6, 10, 14], [6, 11, 14], [6, 12, 14], [6, 13, 14], [6, 14, 14], [6, 15, 14] + [0, 0, 14], [0, 1, 5], [0, 2, 5], [0, 3, 5], [0, 4, 5], [0, 5, 5], + [1, 0, 5], [1, 2, 5], [1, 3, 5], [1, 4, 5], [1, 5, 5], [1, 6, 5], + [2, 0, 14], [2, 1, 14], [2, 2, 14], [2, 3, 14], [2, 4, 14], [2, 5, 14], + [3, 0, 14], [3, 1, 14], [3, 2, 14], [3, 3, 14], [3, 4, 14], [3, 5, 14], + [4, 0, 14], [4, 1, 14], [4, 2, 14], [4, 3, 14], [4, 4, 14], [4, 5, 14], + [5, 0, 14], [5, 1, 14], [5, 2, 14], [5, 3, 14], [5, 4, 14], [5, 5, 14], + [6, 0, 14], [6, 1, 14], [6, 2, 14], [6, 3, 14], [6, 4, 14], [6, 5, 14] ].map(function(item) { return [item[1], item[0], item[2]] }) @@ -206,7 +236,7 @@ grid: { top: 0, left: 2, - right: 20, + right: 40, containLabel: true }, xAxis: { @@ -222,8 +252,7 @@ position: 'top', axisLabel: { showMinLabel: true, - showMaxLabel: true, - interval: 2, + interval: 31, textStyle: { fontFamily: 'Blue Sky Noto', color: '#000F16', @@ -246,13 +275,24 @@ axisTick: { show: false }, + scale: true, + triggerEvent: true, axisLabel: { textStyle: { fontFamily: 'Blue Sky Noto', color: '#000F16', fontSize: '16' }, - margin: 50 + margin: 50, + formatter: function(params) { + var val = '' + if (params.length > 8) { + val = params.substr(0, 8) + '...' + return val + } else { + return params + } + } } }, series: [ @@ -270,6 +310,20 @@ } option && myChart.setOption(option) + myChart.on('mouseover', 'yAxis.category', function(e) { + console.log(e) + let axisTip = document.querySelector('.axis-tip') + console.log(axisTip) + axisTip.innerText = e.value + axisTip.style.left = 100 + 'px' + axisTip.style.top = (e.event.event.y) - 180 + 'px' + axisTip.style.display = 'block' + }) + myChart.on('mouseout', 'yAxis.category', function(e) { + let axisTip = document.querySelector('.axis-tip') + axisTip.innerText = '' + axisTip.style.display = 'none' + }) }, searchQuery() { this.getList() @@ -350,4 +404,16 @@ width: 100%; height: 200%; } + + .axis-tip { + display: none; + position: absolute; + padding: 5px 5px; + font-size: 12px; + line-height: 18px; + color: #575757; + background: #ffffff; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2); + border-radius: 4px; + } \ No newline at end of file