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