修改任务清单的流程

This commit is contained in:
qq787203167
2022-05-18 16:18:38 +08:00
parent 00bf5d3bdf
commit b30dc1636a
4 changed files with 115 additions and 48 deletions
+3
View File
@@ -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',
}
+4 -1
View File
@@ -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">
&nbsp;{{$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>