修改任务清单的流程
This commit is contained in:
@@ -836,4 +836,7 @@ module.exports = {
|
|||||||
newlyAdded: 'Newly Added',
|
newlyAdded: 'Newly Added',
|
||||||
applicableSupplement: 'Applicable Supplement',
|
applicableSupplement: 'Applicable Supplement',
|
||||||
taskDescription:'Task description',
|
taskDescription:'Task description',
|
||||||
|
descriptionDeliverables:'Description of deliverables',
|
||||||
|
startMonth:'Start Month',
|
||||||
|
endMonth:'End Month',
|
||||||
}
|
}
|
||||||
@@ -840,5 +840,8 @@ module.exports = {
|
|||||||
verificationComplianceConfirmationProgress: '验证符合性确认进度',
|
verificationComplianceConfirmationProgress: '验证符合性确认进度',
|
||||||
totalTable: '总数',
|
totalTable: '总数',
|
||||||
applicableSupplement: '适用增补件',
|
applicableSupplement: '适用增补件',
|
||||||
taskDescription: '任务说明'
|
taskDescription: '任务说明',
|
||||||
|
descriptionDeliverables:'交付物说明',
|
||||||
|
startMonth:'开始日期',
|
||||||
|
endMonth:'结束日期',
|
||||||
}
|
}
|
||||||
@@ -433,21 +433,21 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('remarks')">{{$t('remarks')}}</span>
|
:title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="itemModel-text" :prop="'designRemark'">
|
||||||
|
<a-textarea
|
||||||
|
style="width: 100%"
|
||||||
|
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||||
|
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.designRemark ? true : false"
|
||||||
|
v-model="formInline.designRemark" :rows="4"/>
|
||||||
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel-text" :prop="'designRemark'">
|
</a-col>
|
||||||
<a-textarea
|
|
||||||
style="width: 100%"
|
|
||||||
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
|
||||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.designRemark ? true : false"
|
|
||||||
v-model="formInline.designRemark" :rows="4"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
</a-row>
|
</a-row>
|
||||||
<div class="header-text">
|
<div class="header-text">
|
||||||
{{$t('PrehomoConfirmation')}}
|
{{$t('PrehomoConfirmation')}}
|
||||||
@@ -576,12 +576,12 @@
|
|||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('remarks')">{{$t('remarks')}}</span>
|
:title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel-text" :prop="'prehomoRemark'">
|
<a-form-model-item class="itemModel-text" :prop="'prehomoRemark'">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoRemark ? true : false"
|
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoRemark ? true : false"
|
||||||
v-model="formInline.prehomoRemark" :rows="4"/>
|
v-model="formInline.prehomoRemark" :rows="4"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -713,12 +713,12 @@
|
|||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
<span class="title-text-text"
|
<span class="title-text-text"
|
||||||
:title="$t('remarks')">{{$t('remarks')}}</span>
|
:title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel-text" :prop="'verifyRemark'">
|
<a-form-model-item class="itemModel-text" :prop="'verifyRemark'">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:placeholder="$t('PleaseEnter')+$t('remarks')"
|
:placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"
|
||||||
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.verifyRemark ? true : false"
|
:disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.verifyRemark ? true : false"
|
||||||
v-model="formInline.verifyRemark" :rows="4"/>
|
v-model="formInline.verifyRemark" :rows="4"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -784,27 +784,27 @@
|
|||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
designRemark:[
|
designRemark: [
|
||||||
{
|
{
|
||||||
max: 300,
|
max: 300,
|
||||||
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
message: this.$t('descriptionDeliverables') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
verifyRemark:[
|
verifyRemark: [
|
||||||
{
|
{
|
||||||
max: 300,
|
max: 300,
|
||||||
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
message: this.$t('descriptionDeliverables') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
prehomoRemark:[
|
prehomoRemark: [
|
||||||
{
|
{
|
||||||
max: 300,
|
max: 300,
|
||||||
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
message: this.$t('descriptionDeliverables') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
formInline: {},
|
formInline: {},
|
||||||
regulatoryEngineerList: [],
|
regulatoryEngineerList: [],
|
||||||
@@ -1312,7 +1312,7 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index:100;
|
z-index: 100;
|
||||||
border-top: 1px solid #e8e8e8;
|
border-top: 1px solid #e8e8e8;
|
||||||
padding: 10px 16px;
|
padding: 10px 16px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
|||||||
@@ -32,6 +32,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-top">
|
<div class="box-top">
|
||||||
<span class="box-top-text">{{$t('regulatoryCertificationTaskPlan')}}</span>
|
<span class="box-top-text">{{$t('regulatoryCertificationTaskPlan')}}</span>
|
||||||
|
<span style="float: right" class="box-top-text-right">
|
||||||
|
<a-range-picker
|
||||||
|
:placeholder="[this.$t('startMonth'), this.$t('endMonth')]"
|
||||||
|
format="YYYY-MM"
|
||||||
|
class="range-picker"
|
||||||
|
:value="getTime"
|
||||||
|
:mode="mode2"
|
||||||
|
:open="open"
|
||||||
|
show-time
|
||||||
|
@ok="okChange"
|
||||||
|
@openChange="openChange"
|
||||||
|
@panelChange="panelChange"
|
||||||
|
@change="hodeChange"
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
<div class="box-top-content">
|
<div class="box-top-content">
|
||||||
<div id="main"></div>
|
<div id="main"></div>
|
||||||
<div class="axis-tip"></div>
|
<div class="axis-tip"></div>
|
||||||
@@ -86,6 +101,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
import * as echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
|
import moment from 'moment'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: 'index',
|
||||||
@@ -94,6 +110,9 @@
|
|||||||
queryParam: {},
|
queryParam: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
dataSource: [],
|
dataSource: [],
|
||||||
|
open: false,
|
||||||
|
getTime: [],
|
||||||
|
mode2: ['month', 'month'],
|
||||||
url: {
|
url: {
|
||||||
list: '/project/ProjectStatusBoardController/scheduleInfoList',
|
list: '/project/ProjectStatusBoardController/scheduleInfoList',
|
||||||
timeline: '/project/ProjectStatusBoardController/timeline',
|
timeline: '/project/ProjectStatusBoardController/timeline',
|
||||||
@@ -155,7 +174,9 @@
|
|||||||
width: 440,
|
width: 440,
|
||||||
scopedSlots: { title: 'verificationComplianceReviewTitle' }
|
scopedSlots: { title: 'verificationComplianceReviewTitle' }
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
startTime: undefined,
|
||||||
|
endTime: undefined
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -164,14 +185,39 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getTimeline() {
|
getTimeline() {
|
||||||
getAction(this.url.timeline, {}).then((res) => {
|
let query = {
|
||||||
|
startTime: this.startTime,
|
||||||
|
endTime: this.endTime
|
||||||
|
}
|
||||||
|
getAction(this.url.timeline, query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.getTimelineList(res.result)
|
this.getTimelineList(res.result)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
openChange(val) {
|
||||||
|
this.open = val
|
||||||
|
},
|
||||||
|
okChange() {
|
||||||
|
this.open = false
|
||||||
|
this.getTimeline()
|
||||||
|
},
|
||||||
|
hodeChange() {
|
||||||
|
this.startTime = undefined
|
||||||
|
this.endTime = undefined
|
||||||
|
this.getTimeline()
|
||||||
|
},
|
||||||
|
panelChange(value, mode) {
|
||||||
|
this.getTime = value
|
||||||
|
this.startTime = moment(value[0]).format('YYYY-MM')
|
||||||
|
this.endTime = moment(value[1]).format('YYYY-MM')
|
||||||
|
},
|
||||||
getTimelineList(time) {
|
getTimelineList(time) {
|
||||||
getAction(this.url.timelineList, {}).then((res) => {
|
let query = {
|
||||||
|
startTime: this.startTime,
|
||||||
|
endTime: this.endTime
|
||||||
|
}
|
||||||
|
getAction(this.url.timelineList, query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.getEcharts(time, res.result)
|
this.getEcharts(time, res.result)
|
||||||
}
|
}
|
||||||
@@ -196,26 +242,31 @@
|
|||||||
list.push(timeList[i] + '-' + num)
|
list.push(timeList[i] + '-' + num)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(listTime)
|
|
||||||
const hours = listTime
|
const hours = listTime
|
||||||
const days = []
|
const days = []
|
||||||
|
let content = []
|
||||||
if (timeData && timeData.length > 0) {
|
if (timeData && timeData.length > 0) {
|
||||||
timeData.forEach(res => {
|
timeData.forEach(res => {
|
||||||
days.push(res.projectName)
|
days.push(res.projectName)
|
||||||
|
content.push(res.data[0])
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const data = [
|
let timeDataList = []
|
||||||
[0, 0, 14], [0, 1, 5], [0, 2, 5], [0, 3, 5], [0, 4, 5], [0, 5, 5],
|
let data = []
|
||||||
[1, 0, 5], [1, 2, 5], [1, 3, 5], [1, 4, 5], [1, 5, 5], [1, 6, 5],
|
for (let j = 0; j < content.length; j++) {
|
||||||
[2, 0, 14], [2, 1, 14], [2, 2, 14], [2, 3, 14], [2, 4, 14], [2, 5, 14],
|
for (let k = 0; k < content[j].length; k++) {
|
||||||
[3, 0, 14], [3, 1, 14], [3, 2, 14], [3, 3, 14], [3, 4, 14], [3, 5, 14],
|
content[j][k].index = j
|
||||||
[4, 0, 14], [4, 1, 14], [4, 2, 14], [4, 3, 14], [4, 4, 14], [4, 5, 14],
|
timeDataList.push(content[j][k])
|
||||||
[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) {
|
for (let i = 0; i < list.length; i++) {
|
||||||
return [item[1], item[0], item[2]]
|
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, 14, j])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
option = {
|
option = {
|
||||||
legend: {
|
legend: {
|
||||||
data: ['Punch Card'],
|
data: ['Punch Card'],
|
||||||
@@ -225,11 +276,8 @@
|
|||||||
position: 'top',
|
position: 'top',
|
||||||
formatter: function(params) {
|
formatter: function(params) {
|
||||||
return (
|
return (
|
||||||
params.value[2] +
|
timeDataList[params.value[3]].name + '<br/>' +
|
||||||
' commits in ' +
|
timeDataList[params.value[3]].time.slice(0, 11)
|
||||||
hours[params.value[0]] +
|
|
||||||
' of ' +
|
|
||||||
days[params.value[1]]
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -347,7 +395,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
.box-top-text-right .ant-calendar-picker-input {
|
||||||
|
height: 38px;
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import '~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
@@ -416,4 +469,12 @@
|
|||||||
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
|
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.box-top-text-right {
|
||||||
|
display: inline-block;
|
||||||
|
float: right;
|
||||||
|
height: 38px;
|
||||||
|
width: 300px;
|
||||||
|
margin-top: -4px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
Reference in New Issue
Block a user