From 031d62333390c68c22c94003d01d488b088f4659 Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Wed, 15 Jun 2022 17:10:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=82=AC=E5=8A=9E=E6=8C=89?= =?UTF-8?q?=E9=92=AE=20=E4=BF=AE=E6=94=B9=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 4 +- jero-web/src/common/lang/zh-cn.js | 116 ++--- .../components/listOfRegulations.vue | 33 +- .../components/TaskPlanList.vue | 407 +++++++++++------- .../projectStatusBoard/index.vue | 403 ++++++++++------- 5 files changed, 596 insertions(+), 367 deletions(-) diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index f6aad501e..7fa39645c 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -934,5 +934,7 @@ module.exports = { pleaseWaitWhileRunning: 'Please wait while running', roleSwitching: 'Role switching', setCreator: 'Set Creator', - documentLibraryDetails: 'Document library details' + documentLibraryDetails: 'Document library details', + question:'Question', + ConfirmQuestion:'Confirm Question', } \ 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 6264a9406..79b7d3a02 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -604,7 +604,7 @@ module.exports = { StandardImplementationDate: '标准实施日期', regulatoryEngineer: '法规工程师', certifiedEngineer: '认证工程师', - regulatoryEngineerOrcertifiedEngineer:'法规工程师/认证工程师', + regulatoryEngineerOrcertifiedEngineer: '法规工程师/认证工程师', judge: '判断', engineeringInterfacePerson: '工程接口人', typeOfDeliverables: '交付物类型', @@ -636,7 +636,7 @@ module.exports = { ListOfRelevantPersonnel: '相关人员名单', DeliverableStatus: '交付物状态', CurrentStatusOfTheProject: '项目当前状态', - CurrentStatus:'当前状态', + CurrentStatus: '当前状态', NonConformance: '未符合项', listSubclauses: '清单条目', fileType: '文件类型', @@ -733,7 +733,7 @@ module.exports = { OneDecimalPlace: '一位小数', TwoDecimalplaces: '两位小数', Threedecimalplaces: '三位小数', - FourDecimalplaces:'四位小数', + FourDecimalplaces: '四位小数', Positivefloatingpointnumber: '正浮点数', oneconfigurationInformation: '至少含有一个配置信息', Correspondingstandarddeleted: '对应标准已删除', @@ -872,57 +872,57 @@ module.exports = { totalTable: '总数', applicableSupplement: '适用增补件', taskDescription: '任务说明', - descriptionDeliverables:'交付物说明', - startMonth:'开始日期', - endMonth:'结束日期', - Importing:'导入中...', - projectDeliveryDescription:'工程交付说明', - cancelConfirm:'取消确认', - currentInformation:'当前信息', - deliveryHistory:'交付历史', - projectDeliveryRequirements:'工程交付说明', - personLiableConfirm:'责任人确认', - complianceResults:'符合性结果', - noData:'暂无数据', - confirmOperation:'确认操作', - sponsorReview:'发起人审查', - fillInProjectDelivery:'填写工程交付', - Resubmit:'重新提交', - Quantity:'数量', - pleaseConfirmationResults:'请根据工程确认结果选择符合性状态', - pleaseReviewTask:'请您添加对该条审查任务的工程确认信息', - pleaseWillBeReturned:'请对工程确认结果和责任人审查结果进行再次确认,若符合要求则进行提交,否则进行退回', - pleaseSubmitStatus:'请把工程确认的数据都点为确认状态进行提交', - modelName:'车型名称', - modelYear:'年款', - NoteConfirmTheChange:'注意:变更后该条清单变为未审查状态,将从内部审查工作开始从头进行,历史数据都将丢弃是否确认变更', - onlyDataChanged:'只能变更任务确认状态为接受的数据', - inquiry:'询问', - ConfirmationDeadline:'确认截止时间', - regulatoryCertificationTaskConfirmation:'法规认证任务确认', - confirmationEngineeringInterfacePerson:'工程接口人确认', - engineerReply:'工程师回复', - catalogFile:'目录文件', - testScheme:'试验方案', - testReportLocation:'检测报告位置', - explain:'说明', - dataCannotEmpty:'数据不能为空', - documentDynamics:'文档动态', - theNumberAgain:'编号已存在不能重复添加', - myList:'我的待办', - myNews:'我的消息', - monthlyReportRegulations:'法规月报', - Pending:'待处理', - custom:'自定义', - notSelected:'未选择', - ExportReport:'导出报告', - basicInformation:'基础信息', - replyFromProjectContact:'工程接口人回复', - pleaseUpload:'请上传', - fullScreenView:'全屏查看', - systemPrompt:'系统提示', - loginExpired:'登录已过期', - reportNotUploaded:'报告未上传', + descriptionDeliverables: '交付物说明', + startMonth: '开始日期', + endMonth: '结束日期', + Importing: '导入中...', + projectDeliveryDescription: '工程交付说明', + cancelConfirm: '取消确认', + currentInformation: '当前信息', + deliveryHistory: '交付历史', + projectDeliveryRequirements: '工程交付说明', + personLiableConfirm: '责任人确认', + complianceResults: '符合性结果', + noData: '暂无数据', + confirmOperation: '确认操作', + sponsorReview: '发起人审查', + fillInProjectDelivery: '填写工程交付', + Resubmit: '重新提交', + Quantity: '数量', + pleaseConfirmationResults: '请根据工程确认结果选择符合性状态', + pleaseReviewTask: '请您添加对该条审查任务的工程确认信息', + pleaseWillBeReturned: '请对工程确认结果和责任人审查结果进行再次确认,若符合要求则进行提交,否则进行退回', + pleaseSubmitStatus: '请把工程确认的数据都点为确认状态进行提交', + modelName: '车型名称', + modelYear: '年款', + NoteConfirmTheChange: '注意:变更后该条清单变为未审查状态,将从内部审查工作开始从头进行,历史数据都将丢弃是否确认变更', + onlyDataChanged: '只能变更任务确认状态为接受的数据', + inquiry: '询问', + ConfirmationDeadline: '确认截止时间', + regulatoryCertificationTaskConfirmation: '法规认证任务确认', + confirmationEngineeringInterfacePerson: '工程接口人确认', + engineerReply: '工程师回复', + catalogFile: '目录文件', + testScheme: '试验方案', + testReportLocation: '检测报告位置', + explain: '说明', + dataCannotEmpty: '数据不能为空', + documentDynamics: '文档动态', + theNumberAgain: '编号已存在不能重复添加', + myList: '我的待办', + myNews: '我的消息', + monthlyReportRegulations: '法规月报', + Pending: '待处理', + custom: '自定义', + notSelected: '未选择', + ExportReport: '导出报告', + basicInformation: '基础信息', + replyFromProjectContact: '工程接口人回复', + pleaseUpload: '请上传', + fullScreenView: '全屏查看', + systemPrompt: '系统提示', + loginExpired: '登录已过期', + reportNotUploaded: '报告未上传', position: '职位', // 认证权限状态 CollectionInitiated: '待发起收集、', @@ -937,7 +937,9 @@ module.exports = { toHavePermission: '才有权限', and: '并且', pleaseWaitWhileRunning: '运行中请稍等', - roleSwitching:'角色切换', - setCreator:'设置创建人', - documentLibraryDetails:'文档库详情', + roleSwitching: '角色切换', + setCreator: '设置创建人', + documentLibraryDetails: '文档库详情', + question: '催办', + ConfirmQuestion: '确认催办?' } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index 714e45c09..1b4758df3 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -89,13 +89,17 @@ {{ $t('bringInRelevantPersonnel') }}
- + {{ $t('ExportReport') }}
{{ $t('batSetting') }}
+
+ + {{ $t('question') }} +
...{{ $t('more') }} @@ -971,6 +975,33 @@ this.$message.warning(this.$t('selectLeastOne')) } }, + questionClick() { + if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { + let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) + let _this = this + this.$confirm({ + content: _this.$t('ConfirmQuestion'), + onOk() { + let query = { + ids: selectedRowKeys.join(','), + projectLibraryId: _this.$route.query.id + } + postAction('project/projectLawsInventoryEO/expediting', query).then((res) => { + if (res.success) { + _this.$message.success(_this.$t('OperationSuccessful')) + _this.selectedRowKeys = [] + _this.getList() + } else { + _this.$message.warning(_this.$t('operationFailed')) + } + }) + } + }) + + } else { + this.$message.warning(this.$t('selectLeastOne')) + } + }, fixedPlateClick() { if (this.dataSource && this.dataSource.length > 0) { let isTrue diff --git a/jero-web/src/views/projectManagement/projectStatusBoard/components/TaskPlanList.vue b/jero-web/src/views/projectManagement/projectStatusBoard/components/TaskPlanList.vue index e4315a5d1..0551e59df 100644 --- a/jero-web/src/views/projectManagement/projectStatusBoard/components/TaskPlanList.vue +++ b/jero-web/src/views/projectManagement/projectStatusBoard/components/TaskPlanList.vue @@ -27,9 +27,40 @@
-
-
-
+
+ + +
+
+ {{item.projectName}} +
+
+
+
+
{{item}}
+
+
+
+
+
+
{{val.name}}
+ + + +
{{val.time.slice(0,11)}}
+
+
+
+
+ {{handlingTime}} +
+
+ +
{{this.$t('dataLoading')}}
@@ -57,7 +88,10 @@ loadingMain: false, dataSource: [], open: false, - getTime: [] + getTime: [], + timeList: [], + timeData: [], + handlingTime: '' } }, created() { @@ -65,6 +99,7 @@ }, mounted() { this.getTimeline() + this.handlingTime = moment(new Date()).format('YYYY-MM-DD') }, methods: { getTimeline() { @@ -104,166 +139,100 @@ } getAction(this.url.timelineList, query).then((res) => { if (res.success) { - this.getEcharts(time, res.result.reverse()) + 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) + this.timeList = [] + if (timeList.length <= 12) { + this.timeList = timeList + } else if (timeList.length <= 24) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 2 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } + } + }) + } else if (timeList.length <= 36) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 3 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } + } + }) + } else if (timeList.length <= 48) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 4 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } + } + }) + } else if (timeList.length <= 60) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 5 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } } - listTime.push(timeList[i]) - list.push(timeList[i] + '-' + num) - } - } - const hours = listTime - const days = [] - let content = [] - if (timeData && timeData.length > 0) { - timeData.forEach(res => { - days.push(res.projectName) - content.push(res.data[0]) }) } - let timeDataList = [] - let data = [] - for (let j = 0; j < content.length; j++) { - for (let k = 0; k < content[j].length; k++) { - content[j][k].index = j - timeDataList.push(content[j][k]) - } - } - for (let i = 0; i < list.length; i++) { - for (let j = 0; j < timeDataList.length; j++) { - let time = JSON.stringify(timeDataList[j].time).slice(1, 11) - if (time == list[i]) { - data.push([i, timeDataList[j].index, 12, j]) + let dataList = document.getElementsByClassName('box-top-content-right-top-text') + let contentRightText = document.getElementsByClassName('box-top-content-right-text') + let contentRightXian = document.getElementsByClassName('box-top-content-right-xian') + + setTimeout(() => { + let length = timeList.length / dataList.length + let clientWidth = dataList[0].clientWidth + clientWidth = clientWidth / length + for (let i = 0; i < timeData.length; i++) { + for (let j = 0; j < timeData[i].data[0].length; j++) { + for (let k = 0; k < dataList.length; k++) { + let num = (Math.ceil(clientWidth / 31)) * parseInt(timeData[i].data[0][j].time.slice(8, 10)) + timeList.forEach((res, index) => { + if (timeData[i].data[0][j].time.slice(0, 7) == res.slice(0, 7)) { + timeData[i].data[0][j].left = 'left:' + ((clientWidth * index + num) + 4) + 'px' + } + }) + } } } - } - let num = timeList.length * 3 - if (num < 31) { - num = 31 - } - option = { - legend: { - data: ['Punch Card'], - left: 'right' - }, - tooltip: { - position: 'left', - formatter: function(params) { - return ( - timeDataList[params.value[3]].name + '
' + - timeDataList[params.value[3]].time.slice(0, 11) - ) + contentRightText[0].style = 'display:none' + contentRightXian[0].style = 'display:none' + let clientWidthOne = dataList[0].clientWidth + clientWidthOne = clientWidthOne / length + let num = Math.ceil(clientWidthOne / 31) * parseInt(this.handlingTime.slice(8, 10)) + timeList.forEach((res, index) => { + if (res.slice(0, 7) == this.handlingTime.slice(0, 7)) { + contentRightText[0].style = 'left:' + ((clientWidthOne * index + num) - 24) + 'px;' + 'display:block' + contentRightXian[0].style = 'left:' + ((clientWidthOne * index + num) + 10) + 'px;' + 'display:block' } - }, - grid: { - top: 10, - left: 40, - right: 40, - containLabel: true - }, - xAxis: { - type: 'category', - data: hours, - boundaryGap: false, - splitLine: { - show: false - }, - axisTick: { - show: false - }, - position: 'top', - axisLabel: { - showMinLabel: true, - interval: num, - textStyle: { - fontFamily: 'Blue Sky Noto', - color: '#000F16', - fontSize: '16' - } - }, - axisLine: { - show: false - } - }, - yAxis: { - type: 'category', - data: days, - splitLine: { - show: false - }, - axisLine: { - show: false - }, - axisTick: { - show: false - }, - scale: true, - triggerEvent: true, - axisLabel: { - textStyle: { - fontFamily: 'Blue Sky Noto', - color: '#000F16', - fontSize: '16' - }, - margin: 50, - formatter: function(params) { - var val = '' - if (params.length > 8) { - val = params.substr(0, 8) + '...' - return val - } else { - return params - } - } - } - }, - series: [ - { - type: 'scatter', - color:['#21c9cc'], - symbolSize: function(val) { - return val[2] * 2 - }, - data: data, - animationDelay: function(idx) { - return idx * 5 - } - } - ] - } - this.loadingMain = false - option && myChart.setOption(option, true) - window.onresize = () => { - myChart.resize() - } - 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' - }) + }) + + this.timeData = timeData + this.timeData = [...this.timeData] + this.loadingMain = false + }, 500) + } } } @@ -339,7 +308,7 @@ width: 100%; height: calc(100vh - 160px); margin-bottom: 20px; - padding: 10px 20px; + padding: 25px 20px 10px 20px; box-sizing: border-box; overflow: auto; } @@ -373,4 +342,132 @@ margin-top: -4px; margin-right: 20px; } + + .box-top-content-left { + width: 160px; + float: left; + padding-top: 100px; + margin-right: 20px; + } + + .box-top-content-left-text { + color: #191E29; + font-weight: bold; + font-size: 14px; + height: 104px; + letter-spacing: 0px; + text-align: left; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + + .box-top-content-right { + width: calc(100% - 180px); + float: left; + } + + .box-top-content-right-top { + display: flex; + flex-direction: row; + justify-content: space-between; + } + + .box-top-content-right-top-text { + border-left: 1px #EAEAEC solid; + border-top: 1px #EAEAEC solid; + border-bottom: 1px #EAEAEC solid; + flex: 1; + height: 36px; + padding-left: 10px; + color: #54565A; + font-weight: bold; + font-size: 14px; + line-height: 36px; + letter-spacing: 0px; + text-align: center; + } + + .box-top-content-right-top-text:last-child { + border-right: 1px #EAEAEC solid; + } + + .box-top-content-right-bottom { + position: relative; + padding-top: 60px; + } + + .process-content { + position: relative; + height: 104px; + + .process-content-content { + background: #fff; + z-index: 98; + /*padding: 0 6px;*/ + position: absolute; + left: 40px; + text-align: center; + width: 24px; + height: 24px; + border-radius: 50%; + margin-top: 5px; + + .process-content-left { + width: 24px; + height: 24px; + /*margin-top: 5px;*/ + } + + .process-content-right-top { + font-size: 14px; + color: #040B29; + max-width: 155px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + position: absolute; + top: -8px; + left: 50%; + transform: translate(-50%, -50%); + } + + .process-content-right-button { + width: 70px; + font-size: 12px; + font-weight: 400; + color: #6F7385; + position: absolute; + left: 50%; + top: 34px; + transform: translate(-50%, -50%); + } + } + + .process-content-right-xian { + height: 2px; + width: 100%; + background: #E6E6E9; + position: absolute; + top: 16px; + } + } + + .box-top-content-right-xian { + width: 2px; + height: 100%; + border: 1px #21c9cc dashed; + position: absolute; + top: -36px; + z-index: 999; + } + + .box-top-content-right-text { + position: absolute; + top: -60px; + color: #21c9cc; + font-weight: bold; + font-size: 14px; + width: 100px; + } \ 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 918228ca2..1a70df1be 100644 --- a/jero-web/src/views/projectManagement/projectStatusBoard/index.vue +++ b/jero-web/src/views/projectManagement/projectStatusBoard/index.vue @@ -54,8 +54,37 @@
-
-
+ + +
+
+ {{item.projectName}} +
+
+
+
+
{{item}}
+
+
+
+
+
+
{{val.name}}
+ + + +
{{val.time.slice(0,11)}}
+
+
+
+
+ {{handlingTime}} +
+
+ +
{{this.$t('dataLoading')}}
@@ -116,6 +145,8 @@ data() { return { queryParam: {}, + timeList: [], + timeData: [], loading: false, loadingMain: false, dataSource: [], @@ -191,12 +222,14 @@ } ], startTime: undefined, - endTime: undefined + endTime: undefined, + handlingTime: '' } }, mounted() { this.getList() this.getTimeline() + this.handlingTime = moment(new Date()).format('YYYY-MM-DD') }, methods: { getTimeline() { @@ -238,164 +271,100 @@ } getAction(this.url.timelineList, query).then((res) => { if (res.success) { - this.getEcharts(time, res.result.reverse()) + 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) + this.timeList = [] + if (timeList.length <= 12) { + this.timeList = timeList + } else if (timeList.length <= 24) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 2 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } + } + }) + } else if (timeList.length <= 36) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 3 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } + } + }) + } else if (timeList.length <= 48) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 4 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } + } + }) + } else if (timeList.length <= 60) { + timeList.forEach((res, index) => { + if (index == 0) { + this.timeList.push(res) + } else if (index == timeList.length - 1) { + this.timeList.push(res) + } else if (index % 5 == 0) { + if (this.timeList.length < 11) { + this.timeList.push(res) + } } - listTime.push(timeList[i]) - list.push(timeList[i] + '-' + num) - } - } - const hours = listTime - const days = [] - let content = [] - if (timeData && timeData.length > 0) { - timeData.forEach(res => { - days.push(res.projectName) - content.push(res.data[0]) }) } - let timeDataList = [] - let data = [] - for (let j = 0; j < content.length; j++) { - for (let k = 0; k < content[j].length; k++) { - content[j][k].index = j - timeDataList.push(content[j][k]) - } - } - for (let i = 0; i < list.length; i++) { - for (let j = 0; j < timeDataList.length; j++) { - let time = JSON.stringify(timeDataList[j].time).slice(1, 11) - if (time == list[i]) { - data.push([i, timeDataList[j].index, 12, j]) + let dataList = document.getElementsByClassName('box-top-content-right-top-text') + let contentRightText = document.getElementsByClassName('box-top-content-right-text') + let contentRightXian = document.getElementsByClassName('box-top-content-right-xian') + + setTimeout(() => { + let length = timeList.length / dataList.length + let clientWidth = dataList[0].clientWidth + clientWidth = clientWidth / length + for (let i = 0; i < timeData.length; i++) { + for (let j = 0; j < timeData[i].data[0].length; j++) { + for (let k = 0; k < dataList.length; k++) { + let num = (Math.ceil(clientWidth / 31)) * parseInt(timeData[i].data[0][j].time.slice(8, 10)) + timeList.forEach((res, index) => { + if (timeData[i].data[0][j].time.slice(0, 7) == res.slice(0, 7)) { + timeData[i].data[0][j].left = 'left:' + ((clientWidth * index + num) + 4) + 'px' + } + }) + } } } - } - let num = timeList.length * 3 - if (num < 31) { - num = 31 - } - option = { - legend: { - data: ['Punch Card'], - left: 'right' - }, - tooltip: { - position: 'left', - formatter: function(params) { - return ( - timeDataList[params.value[3]].name + '
' + - timeDataList[params.value[3]].time.slice(0, 11) - ) + contentRightText[0].style = 'display:none' + contentRightXian[0].style = 'display:none' + let clientWidthOne = dataList[0].clientWidth + clientWidthOne = clientWidthOne / length + let num = Math.ceil(clientWidthOne / 31) * parseInt(this.handlingTime.slice(8, 10)) + timeList.forEach((res, index) => { + if (res.slice(0, 7) == this.handlingTime.slice(0, 7)) { + contentRightText[0].style = 'left:' + ((clientWidthOne * index + num) - 24) + 'px;' + 'display:block' + contentRightXian[0].style = 'left:' + ((clientWidthOne * index + num) + 10) + 'px;' + 'display:block' } - }, - grid: { - top: 10, - left: 40, - right: 40, - containLabel: true - }, - xAxis: { - type: 'category', - data: hours, - boundaryGap: false, - splitLine: { - show: false - }, - axisTick: { - show: false - }, - position: 'top', - axisLabel: { - showMinLabel: true, - interval: num, - textStyle: { - fontFamily: 'Blue Sky Noto', - color: '#000F16', - fontSize: '16' - } - }, - axisLine: { - show: false - } - }, - yAxis: { - type: 'category', - data: days, - splitLine: { - show: false - }, - axisLine: { - show: false - }, - axisTick: { - show: false - }, - scale: true, - triggerEvent: true, - axisLabel: { - textStyle: { - fontFamily: 'Blue Sky Noto', - color: '#000F16', - fontSize: '16' - }, - margin: 50, - formatter: function(params) { - var val = '' - if (params.length > 8) { - val = params.substr(0, 8) + '...' - return val - } else { - return params - } - } - } - }, - series: [ - { - type: 'scatter', - color:['#21c9cc'], - symbolSize: function(val) { - return val[2] * 2 - }, - data: data, - animationDelay: function(idx) { - return idx * 5 - } - } - ] - } - this.loadingMain = false - option && myChart.setOption(option, true) - window.onresize = () => { - myChart.resize() - } - myChart.on('mouseover', 'yAxis.category', function(e) { - let axisTip = document.querySelector('.axis-tip') - 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' - }) + }) + + this.timeData = timeData + this.timeData = [...this.timeData] + this.loadingMain = false + }, 500) + }, TaskPlanListClick() { let newUrl = this.$router.resolve({ @@ -439,7 +408,7 @@ width: 300px; } - \ No newline at end of file