Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangzhijiang
2022-05-12 17:11:15 +08:00
6 changed files with 181 additions and 84 deletions
+6
View File
@@ -811,4 +811,10 @@ module.exports = {
reasonsForRejection:'Reasons for rejection',
inconformity:'Non-Compliance',
toTrack:'To be tracked',
Launch:'Launch',
maintainProgress:'Maintain',
redSchedule:'Red: not in conformity, and there is no acceptable scheme and schedule',
yellowSchedule:'Yellow: non conformance / to be tracked, with acceptable scheme and schedule',
greenRequirements:'Green: confirm that it meets or meets the current requirements',
blueUndeterminedState:'Blue: undetermined state',
}
+7 -1
View File
@@ -815,5 +815,11 @@ module.exports = {
maintainVirtualList:'维护虚拟清单',
reasonsForRejection:'驳回原因',
inconformity:'不符合',
toTrack:'待追踪'
toTrack:'待追踪',
Launch:'发起',
maintainProgress:'维护进度',
redSchedule:'不符合且无可接受的方案和时间表',
yellowSchedule:'不符合/待追踪有可接受的方案和时间表',
greenRequirements:'绿确认符合或满足当前要求',
blueUndeterminedState:'未判断状态',
}
@@ -34,10 +34,12 @@
dataSource: [],
loading: false,
reviewResult: {
'conformity': this.$t('accord'),
'inconformity': this.$t('nonConformity'),
'to track': this.$t('Tracked'),
'uninvolved': this.$t('notInvolved')
'launch':this.$t('Launch'),
'Compliance': this.$t('accord'),
'Non-Compliance': this.$t('nonConformity'),
'To be tracked': this.$t('Tracked'),
'NA': this.$t('notInvolved'),
'No rating': this.$t('toBeConfirmed')
},
columns: [
{
@@ -67,7 +67,9 @@
<div class="content" v-if="result.designTaskStatus" @click="verifyTaskClick(result,1,false)">
<span class="box-content">{{$t('Deadline')}}: {{result.designDueDate}}</span><br/>
<span class="box-content">{{$t('ProcessStatus')}}: {{result.designStatus}}</span><br/>
<span class="box-content-color" :class="color[result.designFlowTaskStatus]">
<span class="box-content-color"
:style="{'width':long=='zh-cn'?'78px' : '138px'}"
:class="color[result.designFlowTaskStatus]">
{{statusText[result.designFlowTaskStatus]}}
</span>
</div>
@@ -79,7 +81,9 @@
<div class="content" v-if="result.prehomoTaskStatus" @click="verifyTaskClick(result,2,false)">
<span class="box-content">{{$t('Deadline')}}: {{result.prehomoDueDate}}</span><br/>
<span class="box-content">{{$t('ProcessStatus')}}: {{result.prehomoStatus}}</span><br/>
<span class="box-content-color" :class="color[result.prehomoFlowTaskStatus]">
<span class="box-content-color"
:style="{'width':long=='zh-cn'?'78px' : '138px'}"
:class="color[result.prehomoFlowTaskStatus]">
{{statusText[result.prehomoFlowTaskStatus]}}
</span>
</div>
@@ -91,7 +95,9 @@
<div class="content" v-if="result.verifyTaskStatus" @click="verifyTaskClick(result,3,false)">
<span class="box-content">{{$t('Deadline')}}: {{result.verifyDueDate}}</span><br/>
<span class="box-content">{{$t('ProcessStatus')}}: {{result.verifyStatus}}</span><br/>
<span class="box-content-color" :class="color[result.verifyFlowTaskStatus]">
<span class="box-content-color"
:style="{'width':long=='zh-cn'?'78px' : '138px'}"
:class="color[result.verifyFlowTaskStatus]">
{{statusText[result.verifyFlowTaskStatus]}}
</span>
</div>
@@ -100,19 +106,24 @@
</div>
</div>
<div slot="CertificationProgress" slot-scope="text,result">
<span class="box-content-Progress box-content-cou" @click="CertificationProgressClick(result)">
实验通过
<span class="box-content-Progress box-content-cou"
:style="{'width':long=='zh-cn'?'88px' : '108px'}"
:class="CertificationColor[result.certificationProgress]"
@click="CertificationProgressClick(result)"
>
{{result.certificationProgress_dictText ? result.certificationProgress_dictText : $t('maintainProgress')}}
</span>
</div>
<div slot="CurrentProjectStatusEvaluation" slot-scope="text,result">
<div class="Current-color box-content-cou" @click="CurrentProjectClick(result)">
<div class="Current-color-box"></div>
<div class="Current-color box-content-cou" :style="{'background':CurrentColor[result.projectStatusAssess]}"
@click="CurrentProjectClick(result)">
<div class="Current-color-box" :style="{'background':CurrentColorBox[result.projectStatusAssess]}"></div>
</div>
</div>
</a-table>
</div>
<certificationDirectory :url="url" ref="certificationDirectoryRef"/>
<TaskListModel ref="TaskListModelRef"/>
<TaskListModel @TaskListModelList="TaskListModelList" ref="TaskListModelRef"/>
</a-card>
</template>
@@ -209,17 +220,36 @@
'NA': this.$t('notInvolved'),
'No rating': this.$t('toBeConfirmed')
},
CertificationColor: {
'Test passed': 'accordColor',
'Test failed': 'nonConformityColor',
'In progress': 'TrackedColor',
'NA': 'notInvolvedColor',
'Not start': 'submittedColor'
},
queryParam: {},
CurrentColor: {
'1': '#f3dddd',
'2': '#f6ebdb',
'3': '#dbf6e2'
},
CurrentColorBox: {
'1': '#E83030',
'2': '#FDA71C',
'3': '#26BD4B'
},
url: {
list: '/project/projectTaskInventoryEO/list'
},
loading: false,
dataSource: []
dataSource: [],
long: ''
}
},
mounted() {
this.getList()
this.long = localStorage.getItem('language') || 'zh-cn'
},
methods: {
...mapGetters(['userInfo']),
@@ -333,6 +363,9 @@
CurrentProjectClick(val) {
let item = JSON.parse(JSON.stringify(val))
this.$refs.TaskListModelRef.getData(item, this.$t('CurrentProjectStatusEvaluation'))
},
TaskListModelList() {
this.getList()
}
}
}
@@ -459,6 +492,17 @@
line-height: 32px;
}
.box-content-Progress {
width: 88px;
height: 32px;
display: inline-block;
text-align: center;
line-height: 32px;
border-radius: 4px;
background: #dbf6e2;
color: #26BD4B;
}
.accordColor {
background: #dbf6e2;
color: #26BD4B;
@@ -490,7 +534,7 @@
height: 28px;
line-height: 32px;
text-align: center;
background: #dcf7e3;
background: #ddf3f4;
border-radius: 50%;
}
@@ -498,7 +542,7 @@
display: inline-block;
width: 14px;
height: 14px;
background: #26BD4B;
background: #00B3BE;
border-radius: 50%;
}
@@ -506,16 +550,6 @@
cursor: pointer;
}
.box-content-Progress {
width: 88px;
height: 32px;
display: inline-block;
text-align: center;
line-height: 32px;
border-radius: 4px;
background: #dbf6e2;
color: #26BD4B;
}
</style>
<style>
.box-input .ant-select-selection {
@@ -1,7 +1,7 @@
<template>
<a-modal
:title="title"
:width="600"
:width="700"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@@ -10,57 +10,38 @@
>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<div class="headerText" v-if="title == $t('CurrentProjectStatusEvaluation')">
{{this.$t('redSchedule')}}<br/>
{{this.$t('yellowSchedule')}}<br/>
{{this.$t('greenRequirements')}}<br/>
{{this.$t('blueUndeterminedState')}}
</div>
<a-col :span="24" v-if="title == $t('CertificationProgress')">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('CertificationProgress')">{{$t('CertificationProgress')}}</span>
</div>
<a-form-model-item class="itemModel" prop="certificationProgress">
<a-select v-model="formInline.certificationProgress"
:placeholder="$t('PleaseSelect')+$t('CertificationProgress')">
<a-select-option :key="1" :value="1">
<span style="display: inline-block;width: 100%">
{{ $t('experimentPassed') }}
</span>
</a-select-option>
<a-select-option :key="2" :value="2">
<span style="display: inline-block;width: 100%">
{{ $t('experimentFailed') }}
</span>
</a-select-option>
<a-select-option :key="3" :value="3">
<span style="display: inline-block;width: 100%">
{{ $t('toBeStarted') }}
</span>
</a-select-option>
<a-select-option :key="4" :value="4">
<span style="display: inline-block;width: 100%">
{{ $t('inProgress') }}
</span>
</a-select-option>
<a-select-option :key="5" :value="5">
<span style="display: inline-block;width: 100%">
{{ $t('notInvolved') }}
</span>
</a-select-option>
</a-select>
<a-form-model-item class="itemModel" :prop="!disabled?'certificationProgress':''">
<j-dict-select-tag class="box-input" v-model="formInline.certificationProgress"
:disabled="disabled"
@input="handleInput('certificationProgress')"
:placeholder="$t('PleaseSelect')+$t('CertificationProgress')"
:type="'select'"
:triggerChange="false" :dictCode="'certification_progress'"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24" v-if="title == $t('CertificationProgress')">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('remarks')">{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" prop="certificationProgressRemark">
<a-form-model-item class="itemModel" :prop="!disabled?'certificationProgressRemark':''">
<a-textarea
:placeholder="$t('PleaseEnter')+$t('remarks')"
:disabled="false"
:disabled="disabled"
v-model="formInline.certificationProgressRemark" :rows="4"/>
</a-form-model-item>
</div>
@@ -69,32 +50,34 @@
<a-col :span="24" v-if="title == $t('CurrentProjectStatusEvaluation')">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('CurrentProjectStatusEvaluation')">{{$t('CurrentProjectStatusEvaluation')}}</span>
</div>
<a-form-model-item class="itemModel" prop="remarks">
<a-select :placeholder="$t('PleaseSelect')+$t('CurrentProjectStatusEvaluation')">
<a-select-option :key="1" :value="1">
<span style="display: inline-block;width: 100%">
{{ $t('green') }}
</span>
</a-select-option>
<a-select-option :key="2" :value="2">
<a-form-model-item class="itemModel" prop="conditionAssessment">
<a-select
:disabled="disabled"
v-model="formInline.conditionAssessment"
:placeholder="$t('PleaseSelect')+$t('CurrentProjectStatusEvaluation')">
<a-select-option :value="'1'">
<span style="display: inline-block;width: 100%">
{{ $t('red') }}
</span>
</a-select-option>
<a-select-option :key="3" :value="3">
<span style="display: inline-block;width: 100%">
{{ $t('blue') }}
</span>
</a-select-option>
<a-select-option :key="4" :value="4">
<a-select-option :value="'2'">
<span style="display: inline-block;width: 100%">
{{ $t('yellow') }}
</span>
</a-select-option>
<a-select-option :value="'3'">
<span style="display: inline-block;width: 100%">
{{ $t('green') }}
</span>
</a-select-option>
<!-- <a-select-option :key="3" :value="3">-->
<!-- <span style="display: inline-block;width: 100%">-->
<!-- {{ $t('blue') }}-->
<!-- </span>-->
<!-- </a-select-option>-->
</a-select>
</a-form-model-item>
</div>
@@ -103,14 +86,13 @@
<a-col :span="24" v-if="title == $t('CurrentProjectStatusEvaluation')">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('remarks')">{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" prop="remarks">
<a-form-model-item class="itemModel" prop="remark">
<a-textarea
:placeholder="$t('remarks')"
:disabled="false"
:disabled="disabled"
v-model="formInline.remark" :rows="4"/>
</a-form-model-item>
</div>
@@ -121,6 +103,8 @@
</template>
<script>
import { postAction, putAction } from '@/api/manage'
export default {
name: 'TaskListModel',
data() {
@@ -129,7 +113,12 @@
rules: {},
title: this.$t('CertificationProgress'),
visible: false,
confirmLoading: false
confirmLoading: false,
disabled: false,
url: {
edit: '/project/projectTaskInventoryEO/edit',
addOrUpdate: '/project/projectTaskInventoryConditionAssessmentEO/addOrUpdate'
}
}
},
mounted() {
@@ -137,15 +126,70 @@
},
methods: {
getData(val, title) {
this.formInline = {}
this.visible = true
this.title = title
if (title == this.$t('CurrentProjectStatusEvaluation')) {
val.remark = val.projectStatusAssessRemark || ''
val.conditionAssessment = val.projectStatusAssess || ''
}
this.formInline = val
if (val.roleCode == '2' || val.roleCode == '4') {
this.disabled = false
} else {
this.disabled = true
}
this.$nextTick(() => {
this.$refs.ruleForm.clearValidate()
})
},
handleInput(value) {
this.$nextTick(() => {
this.formInline = { ...this.formInline }
this.$refs.ruleForm.validateField([value])
})
},
handleOk() {
if (this.disabled) {
this.visible = false
return
}
this.$refs.ruleForm.validate(valid => {
if (valid) {
let query = {}
let url = ''
let Action
if (this.title == this.$t('CertificationProgress')) {
query = {
id: this.formInline.id,
certificationProgress: this.formInline.certificationProgress,
certificationProgressRemark: this.formInline.certificationProgressRemark
}
url = this.url.edit
Action = putAction
} else {
query = {
roleCode: this.formInline.roleCode,
remark: this.formInline.remark,
conditionAssessment: this.formInline.conditionAssessment,
projectLawsInventoryId: this.formInline.projectLawsInventoryId
}
url = this.url.addOrUpdate
Action = postAction
}
this.confirmLoading = true
Action(url, query).then((res) => {
if (res.success) {
this.visible = false
this.confirmLoading = false
this.$message.success(this.$t('OperationSuccessful'))
this.$emit('TaskListModelList')
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
}
})
}
}
}
@@ -191,4 +235,10 @@
.title-text-text {
margin-top: 9px;
}
.headerText {
margin-left: 30px;
color: #040B29;
font-weight: 400;
}
</style>
@@ -318,7 +318,6 @@
})
},
handleExport() {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
let query = {
...this.queryParam,
ncrTrackVOList: this.content