ota 功能添加 接口对接

This commit is contained in:
yuekuo
2023-03-24 18:35:29 +08:00
parent 35d772a630
commit 8f1c176659
9 changed files with 21922 additions and 667 deletions
+21227 -182
View File
File diff suppressed because it is too large Load Diff
@@ -11,7 +11,8 @@
</div>
</div>
<a-spin :spinning="confirmLoading">
<a-form-model class="formAdd" ref="ruleForm">
<a-form-model class="formAdd" ref="ruleForm" :model="form" >
<!-- :rules="formRules" -->
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text-add">
@@ -22,8 +23,11 @@
<j-dict-select-tag class="box-input"
:disabled="disabled"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
:type="'list'"
allowClear
:triggerChange="false"
v-model="form.cxmb"
/>
</a-form-model-item>
</div>
</a-col>
@@ -32,9 +36,14 @@
<div class="title-text-add">
<span class="title-text-text" :title="$t('theNameOfFirm')">{{$t('theNameOfFirm')}}</span>
</div>
<div class="title-text-add-input">
<span class="title-text-text">中文</span>
</div>
<a-form-model-item class="itemModel">
<a-input
:disabled="disabled"
class="box-input"
:placeholder="$t('pleaseEnter')"
v-model="form.qymc">
</a-input>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24">
@@ -42,9 +51,14 @@
<div class="title-text-add">
<span class="title-text-text" :title="$t('registrationnumber')">{{$t('registrationnumber')}}</span>
</div>
<div class="title-text-add-input">
<span class="title-text-text">中文</span>
</div>
<a-form-model-item class="itemModel">
<a-input
:disabled="disabled"
class="box-input"
:placeholder="$t('pleaseEnter')"
v-model="form.djbh">
</a-input>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24">
@@ -57,7 +71,10 @@
:disabled="disabled"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
:triggerChange="false"
dictCode=" product_category"
allowClear
v-model="form.cplb"/>
</a-form-model-item>
</div>
</a-col>
@@ -67,11 +84,12 @@
<span class="title-text-text" :title="$t('noticebatch')">{{$t('noticebatch')}}</span>
</div>
<a-form-model-item class="itemModel" prop="dutyTerritory">
<j-dict-select-tag class="box-input"
:disabled="disabled"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
<a-input
:disabled="disabled"
class="box-input"
:placeholder="$t('PleaseSelect')"
v-model="form.ggpc">
</a-input>
</a-form-model-item>
</div>
</a-col>
@@ -81,11 +99,12 @@
<span class="title-text-text" :title="$t('producttrademark')">{{$t('producttrademark')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
:disabled="disabled"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
<a-input
:disabled="disabled"
class="box-input"
:placeholder="$t('PleaseSelect')"
v-model="form.cpsb">
</a-input>
</a-form-model-item>
</div>
</a-col>
@@ -95,12 +114,14 @@
<span class="title-text-text" :title="$t('productname')">{{$t('productname')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
:disabled="disabled"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
<a-input
:disabled="disabled"
class="box-input"
:placeholder="$t('PleaseSelect')"
v-model="form.cpmc">
</a-input>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24">
@@ -109,11 +130,12 @@
<span class="title-text-text" :title="$t('productModel')">{{$t('productModel')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
:disabled="disabled"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
<a-input
:disabled="disabled"
class="box-input"
:placeholder="$t('PleaseSelect')"
v-model="form.cpxh">
</a-input>
</a-form-model-item>
</div>
</a-col>
@@ -122,23 +144,31 @@
<div class="title-text-add">
<span class="title-text-text" :title="$t('Vehicledynamictype')">{{$t('Vehicledynamictype')}}</span>
</div>
<a-form-model-item class="itemModel" style='width: 38%'>
<j-dict-select-tag class="box-input"
<a-form-model-item class="itemModel" style="width: 38%">
<!-- <j-dict-select-tag class="box-input"
:disabled="disabled"
@change="projectNameChange"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
</a-form-model-item>
<a-form-model-item class="itemModel" style='width: 40%;margin-left: 20px'>
<a-select class="box-input" :placeholder="$t('PleaseSelect')"
v-model="formInline.projectNameId">
<a-select-option v-for="(item, key) in projectNameList"
:triggerChange="false"
v-model="form.Vehicledynamictype"/> -->
<a-select class="box-input" v-model="form.dllx1" :disabled="disabled" :placeholder="$t('PleaseSelect')" @change="changeSelect($event,target)">
<a-select-option v-for="(item, key) in projectNameList1"
:key="key"
:value="item.id">
<span style="display: inline-block;width: 100%" :title=" item.projectName ">
:value="item">
{{ item }}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item class="itemModel" style="width: 40%;margin-left:20px">
<a-select v-model="form.dllx2" class="box-input" :disabled="disabled" :placeholder="$t('PleaseSelect')" @change="update">
<a-select-option v-for="(item, key) in projectNameList2"
:key="key"
:value="item">
{{ item }}
<!-- <span style="display: inline-block;width: 100%" :title=" item.projectName ">
{{ item.projectName}}
</span>
</span> -->
</a-select-option>
</a-select>
</a-form-model-item>
@@ -152,9 +182,11 @@
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
:disabled="disabled"
dictCode="communication_terminal"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
:triggerChange="false"
v-model="form.txzd"/>
</a-form-model-item>
</div>
</a-col>
@@ -166,7 +198,9 @@
<a-form-model-item class="itemModel">
<a-textarea
:placeholder="$t('pleaseStateTheDistribution')"
:rows="4"/>
:rows="4"
v-model="form.cdotasj"
/>
</a-form-model-item>
</div>
</a-col>
@@ -174,8 +208,8 @@
</a-form-model>
</a-spin>
<div class="bootom-button">
<a-button style="margin-right:50px">{{$t('preservation')}}</a-button>
<a-button type="primary" @click='next'>{{$t('next')}}</a-button>
<a-button style="margin-right:50px" @click="save">{{$t('preservation')}}</a-button>
<a-button type="primary" @click="next">{{$t('next')}}</a-button>
</div>
</div>
</template>
@@ -193,15 +227,40 @@
disabled: false,
formInline:{},
projectNameList:[],
formRules:[],
form:{},
projectNameList1:['传统动力汽车','节能汽车','新能源汽车','其他'],
projectNameList2:[]
}
},
mounted() {
},
methods: {
next(){
this.save()
this.$emit('basicInformationForm')
},
save(){
postAction('/ota/otaBaCxJbxx/add',this.form).then( res => {
console.log(res);
})
},
changeSelect(target){
this.form.Vehicledynamictype2=undefined
if(target =='传统动力汽车'){
this. projectNameList2=['汽油','柴油']
}else if (target =='节能汽车'){
this. projectNameList2=['混合动力','天然气','甲醇','其他']
}else if (target =='新能源汽车'){
this. projectNameList2=['纯电动','插电式混合动力','燃料电池']
}else{
this. projectNameList2=['其他']
}
},
update(){
this.$forceUpdate()
}
}
}
</script>
@@ -258,7 +317,11 @@
display: inline-block;
margin-top: 2px;
}
// .itemModel-input{
// width: calc(100% + 10px);
// display: inline-block;
// margin-top: 2px;
// }
.box-input {
display: inline-block;
width: 100%;
@@ -274,4 +337,7 @@
.bootom-button{
text-align: center!important;
}
// /deep/ .ant-input{
// width: calc(100%+20px);
// }
</style>
@@ -22,16 +22,19 @@
:columns="columns"
style="margin-bottom: 20px"
>
<span slot="functionname" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.gnmc"></a-input>
</span>
<!-- 配置情况-->
<span slot="configuration" slot-scope="text,record">
<a-radio-group>
<span slot="configuration" slot-scope="text,record" >
<a-radio-group v-model="record.pzqk">
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
<a-radio :value="2"> {{ $t('not') }} </a-radio>
</a-radio-group>
</span>
<!-- 可升级-->
<span slot="whetheritcanbeupgraded" slot-scope="text,record">
<a-radio-group>
<a-radio-group v-model="record.sfksj">
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
<a-radio :value="2"> {{ $t('not') }} </a-radio>
</a-radio-group>
@@ -42,20 +45,53 @@
:disabled="disable"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
:triggerChange="false"
v-model="record.jszdhjb"/>
</span>
<!-- 技术参数-->
<span slot="technicalparameters" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')"></a-input>
<a-input :placeholder="$t('ifNot')" v-model="record.sjggcs"></a-input>
</span>
<span slot="functiondescription" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.gnms"></a-input>
</span>
<span slot="applicationconditions" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.sytj"></a-input>
</span>
<span slot="functiondeelectronicscription" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.kzqmc"></a-input>
</span>
<span slot="electroniccontrollerproductionenterprises" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.kzqscqy"></a-input>
</span>
<span slot="electroniccontrollertypeone" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.kzqxh"></a-input>
</span>
<span slot="hardwareversioninformation" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.yjbbxx"></a-input>
</span>
<span slot="softwaredevelopmententerprise" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.yjbbxx"></a-input>
</span>
<span slot="operatingsystemversion" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.rjkfqy"></a-input>
</span>
<span slot="inflammatorydata" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.czxtbbh"></a-input>
</span>
<!-- 操作列-->
<span slot="operation" slot-scope="text,record">
<a class="text-operation">{{$t('addcontroller')}}</a>
<a class="text-operation">{{$t('delete')}}</a>
<a class="text-operation" @click="addlineAtMid(record)">{{$t('addcontroller')}}</a>
<a v-if="dataSource.indexOf(record)+1 == dataSource.length" class="text-operation" @click="addlineAtBot">{{$t('addfunction')}}</a>
<a v-if="dataSource.length >1" class="text-operation" @click="deleteData(record)">{{$t('delete')}}</a>
</span>
</a-table>
<div>
<a-button @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button>
<p>注:附件包括测试项目清单、测试报告.测试标准或技术规范</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;支持doc/docx/pdf格式,大小50M以内</p>
</div>
<div class="bootom-button">
<a-button style="margin-right:50px">{{$t('preservation')}}</a-button>
@@ -79,8 +115,6 @@
return {
dataSource: [
{
key:1,
functionname:'ceshi',
}
],
loading: false,
@@ -91,7 +125,8 @@
align: 'left',
dataIndex: 'functionname',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'functionname' },
},
{
title: this.$t('configuration'),
@@ -130,14 +165,16 @@
align: 'left',
dataIndex: 'functiondescription',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'functiondescription' },
},
{
title: this.$t('applicationconditions'),
align: 'left',
dataIndex: 'applicationconditions',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'applicationconditions' },
},
{
title: this.$t('controllerparameter'),
@@ -151,63 +188,56 @@
align: 'left',
dataIndex: 'electronic',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'functiondeelectronicscription' },
},
{
title: this.$t('electroniccontrollerproductionenterprises'),
align: 'left',
dataIndex: 'electroniccontrollerproductionenterprises',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'electroniccontrollerproductionenterprises' },
},
{
title: this.$t('electroniccontrollertype'),
align: 'left',
dataIndex: 'electroniccontrollertypeone',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'electroniccontrollertypeone' },
},
{
title: this.$t('hardwareversioninformation'),
align: 'left',
dataIndex: 'hardwareversioninformation',
ellipsis: true,
width: 170
},
{
title: this.$t('electroniccontrollertype'),
align: 'left',
dataIndex: 'electroniccontrollertype',
ellipsis: true,
width: 170
},
{
title: this.$t('hardwareversioninformation'),
align: 'left',
dataIndex: 'hardwareversioninformationone',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'hardwareversioninformation' },
},
{
title: this.$t('softwaredevelopmententerprise'),
align: 'left',
dataIndex: 'softwaredevelopmententerprise',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'softwaredevelopmententerprise' },
},
{
title: this.$t('operatingsystemversion'),
align: 'left',
dataIndex: 'operatingsystemversion',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'operatingsystemversion' },
},
{
title: this.$t('inflammatorydata'),
align: 'left',
dataIndex: 'inflammatorydata',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'inflammatorydata' },
},
]
},
@@ -273,6 +303,19 @@
this.fileList.uploadName = attIdList
this.fileList.certifyingmaterials = this.$t('viewFile')
},
//中间加
addlineAtMid(record){
let obj = {}
this.dataSource.splice(this.dataSource.indexOf(record)+1,0,obj)
},
//最后一行加
addlineAtBot(){
let obj={}
this.dataSource.push(obj)
},
deleteData(record){
this.dataSource.splice(this.dataSource.indexOf(record),1)
},
}
}
</script>
@@ -234,6 +234,9 @@
:columns="columns"
style="margin-bottom: 20px"
>
<span slot="componentname" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<!-- 可升级-->
<span slot="systemclass" slot-scope="text,record">
<a-radio-group>
@@ -249,10 +252,28 @@
<span slot="architecturetopologydiagram" slot-scope="text,record">
<a-button @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button>
</span>
<span slot="controllername" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<span slot="hardwarespecificationmodel" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<span slot="hardwaremanufacturer" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<span slot="softwareversion" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<span slot="softwaredevelopmententerprise" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<span slot="layoutposition" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<!-- 操作列-->
<span slot="operation" slot-scope="text,record">
<a class="text-operation">{{$t('addcontroller')}}</a>
<a class="text-operation">{{$t('delete')}}</a>
<a class="text-operation" @click="addlineAtBot" style='width: 73px;margin-right: 50px'>{{$t('addcontroller')}}</a>
<a class="text-operation" v-if="dataSourceList.length >1" @click="deleteData(record)" >{{$t('delete')}}</a>
</span>
</a-table>
<div class="bootom-button">
@@ -698,9 +719,7 @@ export default {
queryParam: {},
dataSourceList: [
{
key:1,
systemclass: 'ceshi',
vaule: 2,
}
],
columns: [
@@ -709,7 +728,8 @@ export default {
align: 'left',
dataIndex: 'componentname',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'componentname' },
},
{
title: this.$t('configuration'),
@@ -731,42 +751,48 @@ export default {
align: 'left',
dataIndex: 'controllername',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'controllername' },
},
{
title: this.$t('hardwarespecificationmodel'),
align: 'left',
dataIndex: 'hardwarespecificationmodel',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'hardwarespecificationmodel' },
},
{
title: this.$t('hardwaremanufacturer'),
align: 'left',
dataIndex: 'hardwaremanufacturer',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'hardwaremanufacturer' },
},
{
title: this.$t('softwareversion'),
align: 'left',
dataIndex: 'softwareversion',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'softwareversion' },
},
{
title: this.$t('softwaredevelopmententerprise'),
align: 'left',
dataIndex: 'softwaredevelopmententerprise',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'softwaredevelopmententerprise' },
},
{
title: this.$t('layoutposition'),
align: 'left',
dataIndex: 'layoutposition',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'layoutposition' },
},
]
},
@@ -853,7 +879,14 @@ export default {
console.log(obj,'2')
}
return obj;
}
},
addlineAtBot(){
let obj={}
this.dataSourceList.push(obj)
},
deleteData(record){
this.dataSourceList.splice(this.dataSourceList.indexOf(record),1)
},
}
}
</script>
@@ -24,8 +24,10 @@
>
<span slot="havemeasures" slot-scope="text,record">
<j-dict-select-tag class="box-input"
v-model="record.info"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:dictCode="record.dictCode"
:triggerChange="false"/>
</span>
<span slot="certifyingmaterials" slot-scope="text,record">
@@ -33,7 +35,7 @@
</span>
</a-table>
<div class="bootom-button">
<a-button class='btn'>{{$t('preservation')}}</a-button>
<a-button class='btn' @click="save">{{$t('preservation')}}</a-button>
<a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button>
<a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button>
</div>
@@ -59,6 +61,7 @@
safetymeasure: this.$t('authenticityandintegrityprotectionmechanism'),
relevantverification: 'havemeasures',
certifyingmaterials: this.$t('uploadattachment'),
dictCode:'protection_mechanism'
},
{
key: '2',
@@ -66,6 +69,7 @@
safetymeasure: this.$t('failsafmechanism'),
relevantverification: 'havemeasures',
certifyingmaterials:'',
dictCode:'fail_safe_mechanism'
},
{
key: '3',
@@ -73,6 +77,7 @@
safetymeasure: this.$t('vehiclesafetyMeasuresafterUpgradefailure'),
relevantverification: 'havemeasures',
certifyingmaterials:'',
dictCode:'upgrade_failure'
},
{
key: '4',
@@ -80,6 +85,7 @@
safetymeasure: this.$t('informationsecuritymechanism'),
relevantverification: 'havemeasures',
certifyingmaterials:'',
dictCode:'Information_security_mechanism'
},
],
loading: false,
@@ -207,6 +213,16 @@
}
})
},
save(){
let obj={}
obj.bhjz = this.dataSource[0].info
obj.fsxjz= this.dataSource[1].info
obj.sjsbcs = this.dataSource[2].info
obj.xxaqjz = this.dataSource[3].info
postAction('/ota/otaBaCxAqcs/add',obj).then(res =>{
console.log(res);
})
},
last(){
this.$emit('safetyPrecautionsup')
},
@@ -2,312 +2,322 @@
<div class="box">
<div class="table-operator">
<div class="operator-text">
<a-icon type="import" :rotate="270"/>
{{$t('dataimport')}}
<a-icon type="import" :rotate="270" />
{{ $t('dataimport') }}
</div>
<div class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
<a-icon type="download" />
{{ $t('templateDownload') }}
</div>
</div>
<a-table
ref="table"
size="middle"
:pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 140px)'}"
rowKey="key"
bordered
:data-source="dataSource"
:columns="columns"
style="margin-bottom: 20px"
>
<a-table ref="table" size="middle" :pagination="false" :scroll="{ x: '100%', y: 'calc(100vh - 140px)' }" rowKey="key"
bordered :data-source="dataSource" :columns="columns" style="margin-bottom: 20px">
<span slot="relevantverification" slot-scope="text,record">
<a-radio-group v-model="record.relevantverification">
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
<a-radio :value="2"> {{ $t('not') }} </a-radio>
</a-radio-group>
<a-radio-group v-model="record.relevantverification">
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
<a-radio :value="2"> {{ $t('not') }} </a-radio>
</a-radio-group>
</span>
<span slot="certifyingmaterials" slot-scope="text,record">
<a-button type="primary" v-model="record.relevantverification">{{$t('uploadattachment')}}</a-button>
<a-button type="primary" v-model="record.relevantverification">{{ $t('uploadattachment') }}</a-button>
</span>
</a-table>
<div class="bootom-button">
<a-button class='btn'>{{$t('preservation')}}</a-button>
<a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button>
<a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button>
<a-button class='btn' @click="save">{{ $t('preservation') }}</a-button>
<a-button type="primary" style='width: 73px;margin-right: 50px' @click="last">{{ $t('last') }}</a-button>
<a-button type="primary" style='width: 73px' @click='next'>{{ $t('next') }}</a-button>
</div>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile>
</div>
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import uploadFile from '@/components/uploadFile/file'
import { getAction, postAction, deleteAction } from '@/api/manage'
import uploadFile from '@/components/uploadFile/file'
export default {
name: 'upgradeRequirements',
components:{
uploadFile
},
data() {
return {
dataSource: [
{
key: '1',
onlineupgraderequirements: this.$t('networksecurityrequirements'),
specificrequirements: this.$t('ineffectiveupgrades'),
relevantverification: '',
certifyingmaterials:this.$t('uploadattachment'),
},
{
key: '2',
onlineupgraderequirements:'',
specificrequirements: this.$t('againstunauthorized'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '3',
onlineupgraderequirements:'',
specificrequirements: this.$t('communicationinterfacethathasateastusedastandard'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '4',
onlineupgraderequirements:'',
specificrequirements: this.$t('softwareupgrade'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '5',
onlineupgraderequirements:'',
specificrequirements: this.$t('Ensurethatsoftware'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '6',
onlineupgraderequirements:'',
specificrequirements: this.$t('ifanupgrademayaffectvehiclesafety'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '7',
onlineupgraderequirements:'',
specificrequirements: this.$t('iftheimplementationoftheupgradaffectsdrivingsafety'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '8',
onlineupgraderequirements:'',
specificrequirements: this.$t('ensurethatthevehicleisinasafecondition'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '9',
onlineupgraderequirements:'',
specificrequirements: this.$t('priortotheexecutionoftheupgrade'),
relevantverification: '',
certifyingmaterials:'',
},
{
key: '10',
onlineupgraderequirements:'',
specificrequirements: this.$t('afterperformingtheupgrade'),
relevantverification: '',
certifyingmaterials:'',
},
],
url: {
export default {
name: 'upgradeRequirements',
components: {
uploadFile
},
data() {
return {
dataSource: [
{
key: '1',
onlineupgraderequirements: this.$t('networksecurityrequirements'),
specificrequirements: this.$t('ineffectiveupgrades'),
relevantverification: '',
certifyingmaterials: this.$t('uploadattachment'),
},
queryParam: {},
columns: [
{
title: this.$t('onlineupgraderequirements'),
align: 'left',
dataIndex: 'onlineupgraderequirements',
width: 170,
customRender: (value, row, index) => {
const obj = {
children: '',
attrs: {},
};
if(index === 0){ // 第一行数据开始,跨行合并的长度为数据data的长度
obj.attrs.rowSpan = 2;
obj.children = this.$t('networksecurityrequirements')
}else if(index === 2){ // 第一行数据开始,跨行合并的长度为数据data的长度
obj.attrs.rowSpan = 6;
obj.children = this.$t('upgradefunctionrequirements')
}else if(index === 8){
obj.attrs.rowSpan = 2;
obj.children = this.$t('usernotificationrequirement')
}else{
obj.attrs.rowSpan = 0
}
return obj;
}
},
{
title: this.$t('specificrequirements'),
align: 'left',
dataIndex: 'specificrequirements',
},
{
title: this.$t('relevantverification'),
align: 'left',
dataIndex: 'relevantverification',
scopedSlots: { customRender: 'relevantverification' },
ellipsis: true,
width: 170
},
{
title: this.$t('certifyingmaterials'),
align: 'left',
dataIndex: 'certifyingmaterials',
scopedSlots: { customRender: 'certifyingmaterials' },
ellipsis: true,
width: 170,
customRender: (value, row, index) => {
const child = this.$createElement('button', {
domProps: {
innerHTML: value
},
on: {
click: () =>{this.click(row)}
}
});
const obj = {
children: child,
attrs: {},
};
if(index === 0){ // 第一行数据开始,跨行合并的长度为数据data的长度
obj.attrs.rowSpan = 10;
}else{
obj.attrs.rowSpan = 0
}
return obj
}
},
],
selectedRowKeys: [],
fileList:{},
}
},
mounted() {
// this.getList()
},
methods: {
click(value){
this.fileList = value
console.log(this.fileList)
if(this.fileList.uploadName){
this.$refs.uploadFile.perentHandleFunc(this.fileList.uploadName)
}
this.$refs.uploadFile.visible = true
{
key: '2',
onlineupgraderequirements: '',
specificrequirements: this.$t('againstunauthorized'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '3',
onlineupgraderequirements: '',
specificrequirements: this.$t('communicationinterfacethathasateastusedastandard'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '4',
onlineupgraderequirements: '',
specificrequirements: this.$t('softwareupgrade'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '5',
onlineupgraderequirements: '',
specificrequirements: this.$t('Ensurethatsoftware'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '6',
onlineupgraderequirements: '',
specificrequirements: this.$t('ifanupgrademayaffectvehiclesafety'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '7',
onlineupgraderequirements: '',
specificrequirements: this.$t('iftheimplementationoftheupgradaffectsdrivingsafety'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '8',
onlineupgraderequirements: '',
specificrequirements: this.$t('ensurethatthevehicleisinasafecondition'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '9',
onlineupgraderequirements: '',
specificrequirements: this.$t('priortotheexecutionoftheupgrade'),
relevantverification: '',
certifyingmaterials: '',
},
{
key: '10',
onlineupgraderequirements: '',
specificrequirements: this.$t('afterperformingtheupgrade'),
relevantverification: '',
certifyingmaterials: '',
},
],
url: {
},
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push({
id:item.id,
fileName:item.fileName
})
queryParam: {},
columns: [
{
title: this.$t('onlineupgraderequirements'),
align: 'left',
dataIndex: 'onlineupgraderequirements',
width: 170,
customRender: (value, row, index) => {
const obj = {
children: '',
attrs: {},
};
if (index === 0) { // 第一行数据开始,跨行合并的长度为数据data的长度
obj.attrs.rowSpan = 2;
obj.children = this.$t('networksecurityrequirements')
} else if (index === 2) { // 第一行数据开始,跨行合并的长度为数据data的长度
obj.attrs.rowSpan = 6;
obj.children = this.$t('upgradefunctionrequirements')
} else if (index === 8) {
obj.attrs.rowSpan = 2;
obj.children = this.$t('usernotificationrequirement')
} else {
obj.attrs.rowSpan = 0
}
return obj;
}
},
{
title: this.$t('specificrequirements'),
align: 'left',
dataIndex: 'specificrequirements',
},
{
title: this.$t('relevantverification'),
align: 'left',
dataIndex: 'relevantverification',
scopedSlots: { customRender: 'relevantverification' },
ellipsis: true,
width: 170
},
{
title: this.$t('certifyingmaterials'),
align: 'left',
dataIndex: 'certifyingmaterials',
scopedSlots: { customRender: 'certifyingmaterials' },
ellipsis: true,
width: 170,
customRender: (value, row, index) => {
const child = this.$createElement('button', {
domProps: {
innerHTML: value
},
on: {
click: () => { this.click(row) }
}
});
const obj = {
children: child,
attrs: {},
};
if (index === 0) { // 第一行数据开始,跨行合并的长度为数据data的长度
obj.attrs.rowSpan = 10;
} else {
obj.attrs.rowSpan = 0
}
return obj
}
},
],
selectedRowKeys: [],
fileList: {},
}
},
mounted() {
// this.getList()
},
methods: {
click(value) {
this.fileList = value
console.log(this.fileList)
if (this.fileList.uploadName) {
this.$refs.uploadFile.perentHandleFunc(this.fileList.uploadName)
}
this.$refs.uploadFile.visible = true
},
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push({
id: item.id,
fileName: item.fileName
})
}
/** 赋值给当前对应的表单文件 */
this.fileList.uploadName = attIdList
this.fileList.certifyingmaterials = this.$t('viewFile')
},
getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) {
queryParam[val] = queryParam[val].join(',')
}
})
let query = {
...queryParam
}
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.getList()
return
}
} else {
}
})
},
last(){
this.$emit('upgradeRequirementsup')
},
next(){
this.$emit('upgradeRequirementsdown')
}
/** 赋值给当前对应的表单文件 */
this.fileList.uploadName = attIdList
this.fileList.certifyingmaterials = this.$t('viewFile')
},
getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) {
queryParam[val] = queryParam[val].join(',')
}
})
let query = {
...queryParam
}
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.getList()
return
}
} else {
}
})
},
save() {
let obj = {}
obj.bhsjb = this.dataSource[0].relevantverification
obj.bhclbb = this.dataSource[1].relevantverification
obj.clgxnl = this.dataSource[2].relevantverification
obj.clsjtj = this.dataSource[3].relevantverification
obj.clsjdl = this.dataSource[4].relevantverification
obj.sjbhaq = this.dataSource[5].relevantverification
obj.sjantj = this.dataSource[6].relevantverification
obj.sjsbaq = this.dataSource[7].relevantverification
obj.sjgg = this.dataSource[8].relevantverification
obj.sjzt = this.dataSource[9].relevantverification
postAction('/ota/otaBaCxZxsjyq/add', obj).then(res => {
console.log(res);
})
},
last() {
this.save()
this.$emit('upgradeRequirementsup')
},
next() {
this.save()
this.$emit('upgradeRequirementsdown')
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
@import '~@assets/less/common.less';
.box {
padding: 0 24px 24px 24px;
box-sizing: border-box;
}
.box {
padding: 0 24px 24px 24px;
box-sizing: border-box;
}
button{
width: 89px;
border-radius: 4px;
cursor: pointer;
background: #00B3BE;
height: 30px;
border: none;
color: white;
}
button {
width: 89px;
border-radius: 4px;
cursor: pointer;
background: #00B3BE;
height: 30px;
border: none;
color: white;
}
.bootom-button{
text-align: center!important;
}
.btn{
width: 63px !important;
margin-right:50px;
line-height: 1.499;
position: relative;
display: inline-block;
font-weight: 400;
white-space: nowrap;
text-align: center;
background-image: none;
border: 1px solid transparent;
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
cursor: pointer;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
-ms-touch-action: manipulation;
touch-action: manipulation;
height: 32px;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
color: #040B29;
background-color: #fff;
border-color: #d9d9d9;
}
.btn:hover{
color: #00B3BE;
border-color: #00B3BE;
}
.bootom-button {
text-align: center !important;
}
.btn {
width: 63px !important;
margin-right: 50px;
line-height: 1.499;
position: relative;
display: inline-block;
font-weight: 400;
white-space: nowrap;
text-align: center;
background-image: none;
border: 1px solid transparent;
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
cursor: pointer;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
-ms-touch-action: manipulation;
touch-action: manipulation;
height: 32px;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
color: #040B29;
background-color: #fff;
border-color: #d9d9d9;
}
.btn:hover {
color: #00B3BE;
border-color: #00B3BE;
}
</style>
@@ -21,32 +21,72 @@
:columns="columns"
style="margin-bottom: 20px"
>
<span slot="sys" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.xtlb"></a-input>
</span>
<!-- 可升级-->
<span slot="systemclass" slot-scope="text,record">
<a-radio-group>
<a-radio-group v-model="record.sfksj">
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
<a-radio :value="2"> {{ $t('not') }} </a-radio>
</a-radio-group>
</span>
<!-- 技术参数-->
<span slot="technicalparameters" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')"></a-input>
<a-input :placeholder="$t('ifNot')" v-model="record.sjbgcs"></a-input>
</span>
<!-- 上传附件-->
<span slot="architecturetopologydiagram" slot-scope="text,record">
<a-button @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button>
</span>
<span slot="electronicController" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.kzqmc"></a-input>
</span>
<span slot="electroniccontrollername" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.aqwzxdj"></a-input>
</span>
<span slot="electroniccontrollerproductionenterprises" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.kzqscqy"></a-input>
</span>
<span slot="electroniccontrollertype" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.kzqxh"></a-input>
</span>
<span slot="hardwareversioninformation" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.yjbbxx"></a-input>
</span>
<span slot="initialsoftwareversionnumber" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.csrjbbh"></a-input>
</span>
<span slot="initialpackageforintegrityinflammatorydata" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.csrjbwzsj"></a-input>
</span>
<span slot="environmentalprotection" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.sjsfyx"></a-input>
</span>
<span slot="operatingsystemtype" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.czxtlx"></a-input>
</span>
<span slot="operatingsystemmanufacturer" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.czxtscqy"></a-input>
</span>
<span slot="operatingsystemversion" slot-scope="text,record">
<a-input :placeholder="$t('ifNot')" v-model="record.czxtbbh"></a-input>
</span>
<!-- 操作列-->
<span slot="operation" slot-scope="text,record">
<a class="text-operation">{{$t('addcontroller')}}</a>
<a class="text-operation">{{$t('delete')}}</a>
<span slot="operation" slot-scope="text,record" >
<a class="text-operation" @click="addlineAtMid(record)">{{$t('addcontroller')}}</a>
<a v-if="dataSource.indexOf(record)+1 == dataSource.length" class="text-operation" @click="addlineAtBot">{{$t('addsystem')}}</a>
<a v-if="dataSource.length >1" class="text-operation" @click="deleteData(record)">{{$t('delete')}}</a>
</span>
</a-table>
<div>
<a-button @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button>
<p>注:附件包括测试项目清单、测试报告.测试标准或技术规范</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;支持doc/docx/pdf格式,大小50M以内</p>
</div>
<div class="bootom-button">
<a-button style="margin-right:50px">{{$t('preservation')}}</a-button>
<a-button style="margin-right:50px" @click="save">{{$t('preservation')}}</a-button>
<a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button>
<a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button>
</div>
@@ -61,15 +101,13 @@
export default {
name: 'upgradedonline',
components:{
uploadFile
uploadFile,
},
data() {
return {
dataSource: [
{
key:1,
systemclass: 'ceshi',
vaule: 2,
}
],
columns: [
@@ -78,7 +116,8 @@
align: 'left',
dataIndex: 'systemclass',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'sys' },
},
{
title: this.$t('whetheritcanbeupgraded'),
@@ -116,77 +155,88 @@
align: 'left',
dataIndex: 'electronicController',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'electronicController' },
},
{
title: this.$t('electroniccontrollername'),
align: 'left',
dataIndex: 'electroniccontrollername',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'electroniccontrollername' },
},
{
title: this.$t('electroniccontrollerproductionenterprises'),
align: 'left',
dataIndex: 'electroniccontrollerproductionenterprises',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'electroniccontrollerproductionenterprises' },
},
{
title: this.$t('electroniccontrollertype'),
align: 'left',
dataIndex: 'electroniccontrollertype',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'electroniccontrollertype' },
},
{
title: this.$t('hardwareversioninformation'),
align: 'left',
dataIndex: 'hardwareversioninformation',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'hardwareversioninformation' },
},
{
title: this.$t('initialsoftwareversionnumber'),
align: 'left',
dataIndex: 'initialsoftwareversionnumber',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'initialsoftwareversionnumber' },
},
{
title: this.$t('initialpackageforintegrityinflammatorydata'),
align: 'left',
dataIndex: 'initialpackageforintegrityinflammatorydata',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'initialpackageforintegrityinflammatorydata' },
},
{
title: this.$t('environmentalprotection'),
align: 'left',
dataIndex: 'environmentalprotection',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'environmentalprotection' },
},
{
title: this.$t('operatingsystemtype'),
align: 'left',
dataIndex: 'operatingsystemtype',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'operatingsystemtype' },
},
{
title: this.$t('operatingsystemmanufacturer'),
align: 'left',
dataIndex: 'operatingsystemmanufacturer',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'operatingsystemmanufacturer' },
},
{
title: this.$t('operatingsystemversion'),
align: 'left',
dataIndex: 'operatingsystemversion',
ellipsis: true,
width: 170
width: 170,
scopedSlots: { customRender: 'operatingsystemversion' },
},
]
},
@@ -198,6 +248,7 @@
scopedSlots: { customRender: 'operation' }
}
],
form:[{}]
}
},
mounted() {
@@ -233,9 +284,11 @@
// })
},
last(){
this.save()
this.$emit('upgradedonlineup')
},
next(){
this.save()
this.$emit('upgradedonlinedown')
},
uploadSuccess(data) {
@@ -256,6 +309,24 @@
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
},
//中间加
addlineAtMid(record){
let obj = {}
this.dataSource.splice(this.dataSource.indexOf(record)+1,0,obj)
},
//最后一行加
addlineAtBot(){
let obj={}
this.dataSource.push(obj)
},
deleteData(record){
this.dataSource.splice(this.dataSource.indexOf(record),1)
},
save(){
postAction('/ota/otaBaCxKsjxtmccs/add',this.dataSource).then(res => {
console.log(res);
})
}
}
}
</script>
@@ -7,19 +7,19 @@
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('upgraderegistrationnumber')">
<span>{{$t('upgraderegistrationnumber')}}</span>
<span>{{ $t('upgraderegistrationnumber') }}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('upgraderegistrationnumber')"
v-model="queryParam.cpdjbh"></a-input>
<a-input class="box-input" :placeholder="$t('PleaseEnter') + $t('upgraderegistrationnumber')"
v-model="queryParam.cpdjbh"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('noticebatch')">
<span>{{$t('noticebatch')}}</span>
<span>{{ $t('noticebatch') }}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('noticebatch')"
v-model="queryParam.ggpc"></a-input>
<a-input class="box-input" :placeholder="$t('PleaseEnter') + $t('noticebatch')"
v-model="queryParam.ggpc"></a-input>
<!-- <j-multi-select-tag class="box-input" v-model="queryParam.noticebatch"-->
<!-- :placeholder="$t('PleaseSelect')+$t('noticebatch')"-->
<!-- :type="'select'"-->
@@ -29,10 +29,10 @@
<a-col :md="6" :sm="8">
<div class="box-title-text tree-select">
<div class="title-text" :title="$t('producttrademark')">
<span>{{$t('producttrademark')}}</span>
<span>{{ $t('producttrademark') }}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('producttrademark')"
v-model="queryParam.cpsb"></a-input>
<a-input class="box-input" :placeholder="$t('PleaseEnter') + $t('producttrademark')"
v-model="queryParam.cpsb"></a-input>
<!-- <j-multi-select-tag class="box-input" v-model="queryParam.producttrademark"-->
<!-- :placeholder="$t('PleaseSelect')+$t('producttrademark')"-->
<!-- :type="'select'"-->
@@ -43,10 +43,10 @@
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('productname')">
<span>{{$t('productname')}}</span>
<span>{{ $t('productname') }}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('productname')"
v-model="queryParam.cpmc"></a-input>
<a-input class="box-input" :placeholder="$t('PleaseEnter') + $t('productname')"
v-model="queryParam.cpmc"></a-input>
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('productname')"-->
<!-- class="box-input"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
@@ -65,10 +65,10 @@
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('productModel')">
<span>{{$t('productModel')}}</span>
<span>{{ $t('productModel') }}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('productModel')"
v-model="queryParam.cpxh"></a-input>
<a-input class="box-input" :placeholder="$t('PleaseEnter') + $t('productModel')"
v-model="queryParam.cpxh"></a-input>
<!-- <j-dict-select-tag class="box-input" v-model="queryParam.productModel"-->
<!-- :placeholder="$t('PleaseSelect')+$t('productModel')"-->
<!-- :type="'select'"-->
@@ -77,91 +77,62 @@
</a-col>
</template>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</a-col>
</span>
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{ $t('reset') }}</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
</a>
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<div @click="createvehicleandfunctionrecords"
v-has="'regulatoryAndTechnicalAssessment:initiationProcess'"
class="operator-text">
<a-icon type="plus"/>
{{$t('createvehicleandfunctionrecords')}}
<div @click="createvehicleandfunctionrecords" v-has="'regulatoryAndTechnicalAssessment:initiationProcess'"
class="operator-text">
<a-icon type="plus" />
{{ $t('createvehicleandfunctionrecords') }}
</div>
<div @click="citeforrecord"
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
class="operator-text">
<a-icon type="solution"/>
{{$t('citeforrecord')}}
<div @click="citeforrecord" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
<a-icon type="solution" />
{{ $t('citeforrecord') }}
</div>
<div @click="maintenanceallClick()"
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
class="operator-text">
<a-icon type="setting"/>
{{$t('datamaintenance')}}
<div @click="maintenanceallClick()" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
<a-icon type="setting" />
{{ $t('datamaintenance') }}
</div>
<div v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
class="operator-text">
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true"
:accept="'.zip'"/>
<div v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" />
</div>
<div @click="handleModule"
v-has="'regulatoryAndTechnicalAssessment:batchDelete'"
class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
<div @click="handleModule" v-has="'regulatoryAndTechnicalAssessment:batchDelete'" class="operator-text">
<a-icon type="download" />
{{ $t('templateDownload') }}
</div>
</div>
<div>
<a-table
ref="table"
size="middle"
:components="drag(columns,'columns')"
:loading="loading"
:pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 140px)'}"
rowKey="id"
:data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
<a-table ref="table" size="middle" :components="drag(columns, 'columns')" :loading="loading" :pagination="false"
:scroll="{ x: '100%', y: 'calc(100vh - 140px)' }" rowKey="id" :data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns">
<!-- -->
<span slot="operation" slot-scope="text,record">
<!-- <a class="text-operation" @click="viewProcessClick(record)">{{$t('viewProcess')}}</a>-->
<!-- <a class="text-operation" @click="viewProcessClick(record)">{{$t('viewProcess')}}</a>-->
<!-- v-if="record.flowStatus == 'Completed'"-->
<a class="text-operation"
@click="detailclick(record)">{{$t('See')}}</a>
<a class="text-operation"
@click="maintenanceClick(record)">{{$t('maintenance')}}</a>
<a class="text-operation"
@click="handleExport(record)">{{$t('export')}}</a>
<a class="text-operation"
v-has="'regulatoryAndTechnicalAssessment:delete'"
@click="deleteData(record)">{{$t('delete')}}</a>
<a class="text-operation" @click="detailclick(record)">{{ $t('See') }}</a>
<a class="text-operation" @click="maintenanceClick(record)">{{ $t('maintenance') }}</a>
<a class="text-operation" @click="handleExport(record)">{{ $t('export') }}</a>
<a class="text-operation" v-has="'regulatoryAndTechnicalAssessment:delete'"
@click="deleteData(record)">{{ $t('delete') }}</a>
</span>
</a-table>
<div class="page" v-if="dataSource && dataSource.length > 0">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:current="pageNo"
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
<a-pagination :show-total="total => $t('total') + ` ${total} ` + $t('strip')" show-quick-jumper show-size-changer
:page-size.sync="pageSize" :total="total" :current="pageNo" @change="pageOnChange"
@showSizeChange="SizeChange" />
</div>
</div>
<maintenance @getList="getList" ref="maintenanceRef"/>
<maintenance @getList="getList" ref="maintenanceRef" />
</a-card>
</template>
@@ -178,13 +149,14 @@ export default {
maintenance,
ImportFile
},
mixins:[ResizeHeader, ResizeColumnProvide],
mixins: [ResizeHeader, ResizeColumnProvide],
data() {
return {
//url传参严格按照当前命名
url: {
list: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationEO/page',
deleteBatch: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationEO/deleteBatch'
deleteBatch: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationEO/deleteBatch',
exportData: ''
},
visible: false,
loading: false,
@@ -383,7 +355,7 @@ export default {
})
},
// 引用备案
citeforrecord(){
citeforrecord() {
},
// 创建车型
@@ -416,27 +388,27 @@ export default {
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
},
// 结束升级
endUpgrade(){
endUpgrade() {
this.$refs.upgradecompletionRef.addModel()
},
// 查看
detailclick(){
detailclick() {
},
// 维护
maintenanceClick(row){
maintenanceClick(row) {
this.$refs.maintenanceRef.edit(row)
},
// 数据维护
maintenanceallClick(){
if(this.selectedRowKeys.length < 1){
maintenanceallClick() {
if (this.selectedRowKeys.length < 1) {
this.$message.warning(this.$t('selectLeastOne'))
}else{
} else {
this.$refs.maintenanceRef.edit(this.selectedRowKeys)
}
},
// 模板下载
handleModule(){
handleModule() {
downloadFile('params/paramsInfo/exportTemplate', this.$t('parameterTemplateExportName') + '.xlsx', {})
},
}
-1
View File
@@ -102,6 +102,5 @@ module.exports = {
}
}
},
lintOnSave: undefined
}