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