OTA管理

1. 基础信息增加影响描述
2. 主题内容过长与下面文字重叠,应自适应高度
3. 详情中增加Jira ticket链接
This commit is contained in:
范强强
2023-10-20 14:38:00 +08:00
parent d7d3bb8b5f
commit a04f6d3b90
@@ -16,7 +16,8 @@
<a-col :span="12"> <a-col :span="12">
<div class='detail-box'> <div class='detail-box'>
<span class='detail-text' :title="'VDR'">{{'VDR'}}</span> <span class='detail-text' :title="'VDR'">{{'VDR'}}</span>
<span class="title-text-text" :title="form.vdr"> <span class="title-text-text" style="color: #00B3BE;cursor: pointer"
@click="vdrClick" :title="form.vdr">
{{form.vdr}}</span> {{form.vdr}}</span>
</div> </div>
@@ -41,7 +42,8 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<div class='detail-box'> <div class='detail-box'>
<span class='detail-text' :title="$t('influencestatute') + '-CN'">{{$t('influencestatute') + '-CN'}}</span> <span class='detail-text'
:title="$t('influencestatute') + '-CN'">{{$t('influencestatute') + '-CN'}}</span>
<span class="title-text-text" :title="form.impactCnHomo"> <span class="title-text-text" :title="form.impactCnHomo">
{{form.impactCnHomo}}</span> {{form.impactCnHomo}}</span>
</div> </div>
@@ -51,12 +53,21 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
<div class='detail-box'> <div class='detail-box'>
<span class='detail-text' :title="$t('influencestatute') + '-EU'">{{$t('influencestatute') + '-EU'}}</span> <span class='detail-text'
:title="$t('influencestatute') + '-EU'">{{$t('influencestatute') + '-EU'}}</span>
<span class="title-text-text" :title="form.impactEuHomo"> <span class="title-text-text" :title="form.impactEuHomo">
{{form.impactEuHomo}}</span> {{form.impactEuHomo}}</span>
</div> </div>
</a-col> </a-col>
<a-col :span="12">
<div class='detail-box'>
<span class='detail-text' :title="$t('impactdescription')">{{$t('impactdescription')}}</span>
<span class="title-text-text" :title="form.homologation">
{{form.homologation}}</span>
</div>
</a-col>
</a-row> </a-row>
<div class='title' :title="$t('applicationprojectversion')">{{$t('applicationprojectversion')}}</div> <div class='title' :title="$t('applicationprojectversion')">{{$t('applicationprojectversion')}}</div>
<div v-for='(item,index) in vdrList' :key='index'> <div v-for='(item,index) in vdrList' :key='index'>
@@ -80,7 +91,8 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<div class='detail-box'> <div class='detail-box'>
<span class='detail-text' :title="$t('certificationdeclaration')">{{$t('certificationdeclaration')}}</span> <span class='detail-text'
:title="$t('certificationdeclaration')">{{$t('certificationdeclaration')}}</span>
<span class="title-text-text" :title="item.certificationSubmission?item.certificationSubmission:'--'"> <span class="title-text-text" :title="item.certificationSubmission?item.certificationSubmission:'--'">
{{item.certificationSubmission?item.certificationSubmission:'--'}}</span> {{item.certificationSubmission?item.certificationSubmission:'--'}}</span>
</div> </div>
@@ -108,7 +120,7 @@
</a-spin> </a-spin>
<div class="drawer-bootom-button"> <div class="drawer-bootom-button">
<a-button style="margin-right: 8px" @click="handleCancel">{{$t('close')}}</a-button> <a-button style="margin-right: 8px" @click="handleCancel">{{$t('close')}}</a-button>
<!-- <a-button type="primary" @click="handleSubmit" :loading="confirmLoading">{{$t('submit')}}</a-button>--> <!-- <a-button type="primary" @click="handleSubmit" :loading="confirmLoading">{{$t('submit')}}</a-button>-->
</div> </div>
</a-drawer> </a-drawer>
<uploadFile ref="uploadFile" :acceptcode="acceptcode" @uploadSuccess="uploadSuccess"/> <uploadFile ref="uploadFile" :acceptcode="acceptcode" @uploadSuccess="uploadSuccess"/>
@@ -117,164 +129,173 @@
</template> </template>
<script> <script>
import { getAction, postAction } from '@/api/manage' import { getAction, postAction } from '@/api/manage'
import uploadFile from '@/components/uploadFile/file' import uploadFile from '@/components/uploadFile/file'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
export default { export default {
name:"addModel", name: 'addModel',
components:{ components: {
uploadFile uploadFile
},
data() {
return {
visible: false,
disabled: false,
showButton:false,
confirmLoading: false,
acceptcode:'',
projectNameList: [],
DeliverableTreeList: [],
form:{
VDR:'',
theme:'',
authenticationimpact:'',
influencestatuteCn:'',
influencestatuteEu:'',
},
vdrList:[],
url:{
addModel:''
},
record:{},
car:'',
}
},
mounted() {
},
methods: {
...mapGetters(['userInfo']),
addModel(record,val) {
this.form=record
this.car = val
getAction('/ota/otaManageApplyEO/getVersionInfo', {vdr:this.form.vdr,car:this.car}).then((res) => {
if (res.success) {
this.vdrList = res.result
} else {
}
})
this.visible = true
this.confirmLoading = false
console.log('555',record);
}, },
handleCancel() { data() {
this.visible = false return {
}, visible: false,
/** 上传文件的回调 */ disabled: false,
uploadSuccess(data) { showButton: false,
let attIdList = [] confirmLoading: false,
if (data && data.length > 0) { acceptcode: '',
data.map(item => { projectNameList: [],
attIdList.push(item.id || data.name) DeliverableTreeList: [],
}) form: {
VDR: '',
theme: '',
authenticationimpact: '',
influencestatuteCn: '',
influencestatuteEu: ''
},
vdrList: [],
url: {
addModel: ''
},
record: {},
car: ''
} }
/** 赋值给当前对应的表单文件 */
this.formInline[this.uploadName] = attIdList.join(',')
this.formInline = { ...this.formInline }
}, },
isEdit(){ mounted() {
this.disabled=false
},
methods: {
...mapGetters(['userInfo']),
addModel(record, val) {
this.form = record
this.car = val
getAction('/ota/otaManageApplyEO/getVersionInfo', { vdr: this.form.vdr, car: this.car }).then((res) => {
if (res.success) {
this.vdrList = res.result
} else {
}
})
this.visible = true
this.confirmLoading = false
console.log('555', record)
},
handleCancel() {
this.visible = false
},
/** 上传文件的回调 */
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
/** 赋值给当前对应的表单文件 */
this.formInline[this.uploadName] = attIdList.join(',')
this.formInline = { ...this.formInline }
},
isEdit() {
this.disabled = false
},
vdrClick() {
window.open('http://jira.nioint.com/browse/issue_key')
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.title{ .title {
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
margin-bottom: 20px; margin-bottom: 20px;
} }
.box-title-text {
line-height: 1.4;
display: flex;
/*align-items: center;*/
}
.detail-box{
width: 100%;
margin-bottom: 20px;
position: relative;
}
.detail-text{
display: inline-block;
font-size: 14px;
color: #6F7385;
width: 120px;
overflow: hidden; /*超出部分隐藏*/
text-overflow: ellipsis; /*超出部分省略号表示*/
white-space: nowrap; /*强制单行显示*/
display: inline-block; /*转换为行内块元素*/
}
.title-text-text{
position: absolute;
left: 45%;
font-size: 14px;
color: #040B29;
}
.title-text {
width: 250px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 48px;
}
.box-input { .box-title-text {
display: inline-block; line-height: 1.4;
height: 38px; display: flex;
width: 100%; /*align-items: center;*/
} }
.itemModel { .detail-box {
width: calc(100% - 130px); width: 100%;
display: inline-block; margin-bottom: 20px;
margin-top: 2px; position: relative;
min-height: 40px; display: flex;
margin-bottom: 24px; }
}
.Required { .detail-text {
color: red; font-size: 14px;
margin-right: 4px; color: #6F7385;
} width: 120px;
overflow: hidden; /*超出部分隐藏*/
text-overflow: ellipsis; /*超出部分省略号表示*/
white-space: nowrap; /*强制单行显示*/
display: inline-block; /*转换为行内块元素*/
margin-right: 20px;
}
.header-text { .title-text-text {
font-size: 16px; display: inline-block;
font-weight: 500; width: calc(100% - 140px);
} font-size: 14px;
color: #040B29;
}
.drawer-bootom-button { .title-text {
position: absolute; width: 250px;
bottom: 0; text-align: right;
width: 100%; display: inline-block;
z-index: 100; font-weight: 500;
border-top: 1px solid #e8e8e8; font-size: 14px;
padding: 10px 16px; margin-right: 16px;
text-align: right; overflow: hidden;
left: 0; text-overflow: ellipsis;
background: #fff; white-space: nowrap;
border-radius: 0 0 2px 2px; height: 42px;
} line-height: 48px;
}
.icon-text { .box-input {
font-size: 16px; display: inline-block;
margin-right: 4px; height: 38px;
} width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
min-height: 40px;
margin-bottom: 24px;
}
.Required {
color: red;
margin-right: 4px;
}
.header-text {
font-size: 16px;
font-weight: 500;
}
.drawer-bootom-button {
position: absolute;
bottom: 0;
width: 100%;
z-index: 100;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
.icon-text {
font-size: 16px;
margin-right: 4px;
}
</style> </style>