握手流程布局
虚拟清单细节处理
This commit is contained in:
@@ -74,12 +74,15 @@
|
|||||||
:title="$t('scopeOfApplication')">{{$t('scopeOfApplication')}}</span>
|
:title="$t('scopeOfApplication')">{{$t('scopeOfApplication')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel">
|
<a-form-model-item class="itemModel">
|
||||||
<j-dict-select-tag class="box-input" v-model="formInline.shi4Yong4Fan4Wei2"
|
<a-input class="box-input"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
@input="handleInput('shi4Yong4Fan4Wei2')"
|
v-model="formInline.shi4Yong4Fan4Wei2_dictText"/>
|
||||||
:placeholder="$t('PleaseSelect')+$t('scopeOfApplication')"
|
<!-- <j-multi-select-tag class="box-input" v-model="formInline.shi4Yong4Fan4Wei2"-->
|
||||||
:type="'select'"
|
<!-- :disabled="true"-->
|
||||||
:triggerChange="false" :dictCode="'apply_scope'"/>
|
<!-- @input="handleInput('shi4Yong4Fan4Wei2')"-->
|
||||||
|
<!-- :placeholder="$t('PleaseSelect')+$t('scopeOfApplication')"-->
|
||||||
|
<!-- :type="'select'"-->
|
||||||
|
<!-- :triggerChange="false" :dictCode="'apply_scope'"/>-->
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -245,11 +248,14 @@
|
|||||||
:title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>
|
:title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="itemModel" prop="region">
|
<a-form-model-item class="itemModel" prop="region">
|
||||||
<j-dict-select-tag class="box-input" v-model="formInline.region"
|
<a-input class="box-input"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
:placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"
|
v-model="formInline.region_dictText"/>
|
||||||
:type="'select'"
|
<!-- <j-multi-select-tag class="box-input" v-model="formInline.region"-->
|
||||||
:triggerChange="false" :dictCode="'region'"/>
|
<!-- :disabled="true"-->
|
||||||
|
<!-- :placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"-->
|
||||||
|
<!-- :type="'select'"-->
|
||||||
|
<!-- :triggerChange="false" :dictCode="'region'"/>-->
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -541,6 +547,7 @@
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.formInline = item || {}
|
this.formInline = item || {}
|
||||||
this.formInline.technologyTerritory = this.formInline.technologyTerritory ? this.formInline.technologyTerritory.split(',') : []
|
this.formInline.technologyTerritory = this.formInline.technologyTerritory ? this.formInline.technologyTerritory.split(',') : []
|
||||||
|
console.log(this.formInline.technologyTerritory)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
clickButtonToUpload(item) {
|
clickButtonToUpload(item) {
|
||||||
|
|||||||
@@ -7,13 +7,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="process-header-btn">
|
<div class="process-header-btn">
|
||||||
<!-- 终止流程-->
|
<!-- 终止流程-->
|
||||||
<a-button class="header-btn termin" @click="terminationProcessClick" type="danger" ghost>{{$t('terminationProcess')}}</a-button>
|
<a-button class="header-btn termin" v-if="isTerminationProcess" @click="terminationProcess" type="danger" ghost>
|
||||||
|
{{$t('terminationProcess')}}
|
||||||
|
</a-button>
|
||||||
<!-- 保存-->
|
<!-- 保存-->
|
||||||
<a-button class="header-btn prese">{{$t('preservation')}}</a-button>
|
<a-button class="header-btn prese" v-if="isPreservation" @click="preservation">{{$t('preservation')}}</a-button>
|
||||||
<!-- 下发-->
|
<!-- 下发-->
|
||||||
<a-button class="header-btn issue" type="primary" ghost>{{$t('issue')}}</a-button>
|
<a-button class="header-btn issue" v-if="isIssue" @click="issue" type="primary" ghost>{{$t('issue')}}</a-button>
|
||||||
<!-- 提交-->
|
<!-- 提交-->
|
||||||
<a-button class="header-btn submit" type="primary" @click="submit">{{$t('submit')}}</a-button>
|
<a-button class="header-btn submit" v-if="isSubmit" @click="submit" type="primary">{{$t('submit')}}</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -22,12 +24,46 @@
|
|||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'headerProcess',
|
name: 'headerProcess',
|
||||||
props:['title'],
|
props: {
|
||||||
methods:{
|
title: {
|
||||||
terminationProcessClick(){
|
type: String,
|
||||||
|
default: ''
|
||||||
},
|
},
|
||||||
|
//是否显示终止流程按钮
|
||||||
|
isTerminationProcess: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
//是否显示下发按钮
|
||||||
|
isIssue: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
//是否显示提交按钮
|
||||||
|
isSubmit: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
//是否显示保存按钮
|
||||||
|
isPreservation: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
terminationProcess() {
|
||||||
|
this.$emit('terminationProcess')
|
||||||
|
},
|
||||||
|
preservation() {
|
||||||
|
this.$emit('preservation')
|
||||||
|
},
|
||||||
|
issue() {
|
||||||
|
this.$emit('issue')
|
||||||
|
},
|
||||||
|
submit() {
|
||||||
|
this.$emit('submit')
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -81,15 +117,14 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
line-height: 68px;
|
line-height: 68px;
|
||||||
border-top: 1px solid #efefef;
|
border-bottom: 2px solid #efefef;
|
||||||
border-bottom: 1px solid #efefef;
|
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
|
|
||||||
.process-title {
|
.process-title {
|
||||||
padding-left: 32px;
|
padding-left: 32px;
|
||||||
font-size: 16px;
|
font-size: 20px;
|
||||||
font-width: 600;
|
font-width: 600;
|
||||||
|
color: #040B29;
|
||||||
.back-to {
|
.back-to {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,113 @@
|
|||||||
|
<template>
|
||||||
|
<div class="box">
|
||||||
|
<div class="box-text">
|
||||||
|
<div class="header-text">
|
||||||
|
{{$t('essentialInformation')}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="content-text">
|
||||||
|
<div class="text-field" v-for="(item,index) in projectInformationList" :key="index">
|
||||||
|
<span class="text-field-left" :title="item.title">{{item.title}}</span>
|
||||||
|
<span class="text-field-right"
|
||||||
|
>{{queryForm[item.value]}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'projectInformation',
|
||||||
|
props: {
|
||||||
|
// {title:'',value:'v-model的绑定值'}
|
||||||
|
projectInformationList: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
},
|
||||||
|
// 需要参数urlFrom,获取数据去显示内容
|
||||||
|
url: {
|
||||||
|
type: Object,
|
||||||
|
default: {}
|
||||||
|
},
|
||||||
|
projectInformationId: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryForm: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getQueryForm()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getQueryForm() {
|
||||||
|
getAction(this.url.urlFrom, { id: this.projectInformationId }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.queryForm = res.result[0] || {}
|
||||||
|
} else {
|
||||||
|
this.queryForm = {}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.box {
|
||||||
|
padding: 0 24px 24px 24px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-text {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 80px;
|
||||||
|
line-height: 80px;
|
||||||
|
|
||||||
|
.header-text {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #000F16;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-text {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
.text-field {
|
||||||
|
width: 33%;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
|
||||||
|
.text-field-left {
|
||||||
|
width: 124px;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #6F7385;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-right: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-field-right {
|
||||||
|
width: calc(100% - 200px);
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 16px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
color: #040B29;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
<template>
|
||||||
|
<div class="box">
|
||||||
|
<div class="box-text">
|
||||||
|
<div class="header-text">
|
||||||
|
{{$t('standardContent')}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="content-text">
|
||||||
|
<div class="text-field" v-for="(item,index) in standardContentList" :key="index">
|
||||||
|
<span class="text-field-left" :title="item.title">{{item.title}}</span>
|
||||||
|
<span class="text-field-right"
|
||||||
|
>{{queryForm[item.value]}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'standardContent',
|
||||||
|
props: {
|
||||||
|
// {title:'',value:'v-model的绑定值'}
|
||||||
|
standardContentList: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
},
|
||||||
|
// 需要参数urlFrom,获取数据去显示内容
|
||||||
|
url: {
|
||||||
|
type: Object,
|
||||||
|
default: {}
|
||||||
|
},
|
||||||
|
standardContentId: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryForm: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// this.getQueryForm()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getQueryForm() {
|
||||||
|
getAction(this.url.urlFrom, { id: this.projectInformationId }).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.queryForm = res.result[0] || {}
|
||||||
|
} else {
|
||||||
|
this.queryForm = {}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.box {
|
||||||
|
padding: 0 24px 24px 24px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-text {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 40px;
|
||||||
|
|
||||||
|
.header-text {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #000F16;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-text {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
.text-field {
|
||||||
|
width: 33%;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
|
||||||
|
.text-field-left {
|
||||||
|
width: 124px;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #6F7385;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-right: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-field-right {
|
||||||
|
width: calc(100% - 200px);
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 16px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
color: #040B29;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,21 +1,144 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<headerProcess
|
<headerProcess
|
||||||
:title="'工程接口人确认符合性要求'"
|
:title="'工程接口人确认符合性要求'"
|
||||||
/>
|
is-termination-process
|
||||||
</div>
|
is-submit
|
||||||
|
@terminationProcess="terminationProcess"
|
||||||
|
@submit="submit"
|
||||||
|
/>
|
||||||
|
<div class="content">
|
||||||
|
<projectInformation
|
||||||
|
:projectInformationList="projectInformationList"
|
||||||
|
:url="url"
|
||||||
|
:projectInformationId="'1517332232949133313'"
|
||||||
|
/>
|
||||||
|
<standardContent
|
||||||
|
:standardContentList="standardContentList"
|
||||||
|
:url="url"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import headerProcess from '../../components/headerProcess'
|
import headerProcess from '../../components/headerProcess'
|
||||||
|
import projectInformation from '../../components/projectInformation'
|
||||||
|
import standardContent from '../../components/standardContent'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'handshakeProcess',
|
name: 'handshakeProcess',
|
||||||
components:{
|
components: {
|
||||||
headerProcess
|
headerProcess,
|
||||||
|
projectInformation,
|
||||||
|
standardContent
|
||||||
},
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
projectInformationList: [
|
||||||
|
{
|
||||||
|
title: this.$t('entryName'),
|
||||||
|
value: 'projectName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('targetMarket'),
|
||||||
|
value: 'targetMarket_dictText'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('projectStatus'),
|
||||||
|
value: 'projectStatus_dictText'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('StudioEngineer'),
|
||||||
|
value: 'studioEngineerName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('certifiedEngineer'),
|
||||||
|
value: 'certificationEngineerName'
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
title: this.$t('DigitalPlatform'),
|
||||||
|
value: 'digitalPlatform_dictText'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('ModelPlatform'),
|
||||||
|
value: 'vehiclePlatform_dictText'
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
title: this.$t('IPDInformation'),
|
||||||
|
value: 'ipdInfo'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('certificationProgram'),
|
||||||
|
value: 'attestationPlan'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('dehicleDevelopmentPlan'),
|
||||||
|
value: 'vehicleDevelopmentPlan'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
standardContentList: [
|
||||||
|
{
|
||||||
|
title: this.$t('standard'),
|
||||||
|
value: 'serialNumber'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('title'),
|
||||||
|
value: 'title'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('subtitle'),
|
||||||
|
value: 'subtitle'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('areaOfResponsibility'),
|
||||||
|
value: 'dutyTerritory_dictText'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('implementationCategory'),
|
||||||
|
value: 'implementType_dictText'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('correspondingStandard'),
|
||||||
|
value: 'correspondingStandard'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('engineeringInterfacePerson'),
|
||||||
|
value: 'engineeringInterfacePersonName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('regulatoryEngineer'),
|
||||||
|
value: 'regulationOwnerName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('certifiedEngineer'),
|
||||||
|
value: 'homologationEngineerName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('remarks'),
|
||||||
|
value: 'remark'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
url: {
|
||||||
|
urlFrom: 'project/projectLibraryBase/queryById'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
terminationProcess() {
|
||||||
|
|
||||||
|
},
|
||||||
|
submit() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.content {
|
||||||
|
padding-top: 60px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
Reference in New Issue
Block a user