Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH

This commit is contained in:
高嵩
2023-03-26 15:12:31 +08:00
20 changed files with 346 additions and 489 deletions
@@ -14,11 +14,11 @@
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="Required">*</span>
<span class="title-text-text" :title="$t('recordstatus')">
{{$t('recordstatus')}}</span>
</div>
<a-form-model-item class="itemModel" prop="recordstatus">
<a-form-model-item class="itemModel" prop="bazt">
<j-dict-select-tag class="box-input" v-model="formInline.bazt"
:placeholder="$t('PleaseSelect')+$t('recordstatus')"
:type="'select'"
@@ -29,11 +29,11 @@
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="Required">*</span>
<span class="title-text-text" :title="$t('filingtime')">
{{$t('filingtime')}}</span>
</div>
<a-form-model-item class="itemModel" prop="filingtime">
<a-form-model-item class="itemModel" prop="batjsj">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('filingtime')"
@change="dateChange({db_field_name:'batjsj'})"
@@ -76,9 +76,25 @@ export default {
visible: false,
confirmLoading: false,
formInline: {
bazt:'',
batjsj:'',
bz:'',
},
rules: {
bazt: [
{
required: true,
message: this.$t('recordstatus') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
batjsj: [
{
required: true,
message: this.$t('filingtime') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
// listConfirmation: [
// {
// required: true,
@@ -139,7 +155,7 @@ export default {
if(row instanceof Array){
this.ids = row.join(',')
}else{
this.formInline.bazt = row.bazt
this.formInline.bazt = row.bazt ? row.bazt : undefined
this.formInline.batjsj = row.batjsj
this.formInline.bz = row.bz
this.ids = row.id
@@ -154,7 +170,7 @@ export default {
if (valid) {
let query = {
...this.formInline,
ids:this.ids.join(',')
ids:this.ids
}
this.confirmLoading = true
postAction('ota/otaBaSjList/batchRecord', query).then((res) => {
@@ -173,8 +189,9 @@ export default {
},
handleCancel() {
this.formInline = {
batjsj:''
}
bazt:'',
batjsj:'',
bz:'',}
this.ids = ''
this.visible = false
},
@@ -274,7 +274,7 @@ export default {
align: 'left',
width: 140,
ellipsis: true,
dataIndex: 'bazt'
dataIndex: 'bazt_dictText'
},
{
title: this.$t('filingtime'),
@@ -393,6 +393,8 @@ export default {
},
// 创建车型
createvehicleandfunctionrecords() {
localStorage.removeItem('otaId')
localStorage.removeItem('otaIdT')
this.$router.push({
path: '/upgradeactivityrecord',
query: {}
@@ -1,11 +1,11 @@
<template>
<!-- 第五页 -->
<div class="box">
<div class="table-operator">
<div class="operator-text">
<a-icon type="import" :rotate="270"/>
{{$t('dataimport')}}
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" />
</div>
<div class="operator-text">
<div @click='handleModule' class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
</div>
@@ -72,13 +72,15 @@
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { getAction, postAction, deleteAction,downloadFile } from '@/api/manage'
import ImportFile from '@/components/ImportFileData/index'
import uploadFile from '@/components/uploadFile/file'
export default {
name: 'beupgradedonline',
components:{
uploadFile
uploadFile,
ImportFile
},
data() {
return {
@@ -206,12 +208,20 @@ export default {
scopedSlots: { customRender: 'operation' }
}
],
url: {
exportData: '/ota/otaBaSjSjfzbh/exportData',
importZipUrl: '/ota/otaBaSjSjfzbh/importData',//导入
},
}
},
mounted() {
// this.getList()
},
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaSjSjfzbh/exportTemplate', '本次升级的驾驶辅助功能与参数变化' + '.zip', {})
},
getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
@@ -2,29 +2,14 @@
<div class="box">
<a-row :gutter="24" style='margin-top: 30px'>
<a-col :span="24">
<div class="box-title-text">
<div class="box-title-text" v-for='(item,index) in dataSource'>
<div class="title-text">
<span class="dot"></span>
<span class="title-text-text"
:title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span>
:title="item.sjzt">{{item.sjzt_dictText}}</span>
<div class='titlebox'>
<span class='titlebox-text'>提交审批</span>
<span class='titlebox-text-text'>2023-02-02 14:13:21</span>
</div>
</div>
</div>
</a-col>
</a-row>
<a-row :gutter="24" style='margin-top: 30px'>
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="dot"></span>
<span class="title-text-text"
:title="$t('parameterTemplate')">{{$t('parameterTemplate')}}</span>
<div class='titlebox'>
<span class='titlebox-text'>提交审批</span>
<span class='titlebox-text-text'>2023-02-02 14:13:21</span>
<span class='titlebox-text'>{{item.sjzt_dictText}}</span>
<span class='titlebox-text-text'>{{item.updateTime}}</span>
</div>
</div>
</div>
@@ -47,70 +32,7 @@
return {
dataSource: [],
loading: false,
url: {
list: '/todoCenter/projectProcess/doneProcess'
},
queryParam: {},
columns: [
{
title: this.$t('RelatedItems'),
align: 'left',
dataIndex: 'projectName',
ellipsis: true,
scopedSlots: { customRender: 'RelatedItems' },
width: 170
},
{
title: this.$t('standardInformation'),
align: 'left',
dataIndex: 'standardInfo',
ellipsis: true,
scopedSlots: { customRender: 'standardInformation' },
width: 170
},
{
title: this.$t('taskType'),
align: 'left',
dataIndex: 'flowTypeShow',
ellipsis: true,
width: 170
},
{
title: this.$t('Sponsor'),
align: 'left',
dataIndex: 'createBy',
ellipsis: true,
width: 170
},
{
title: this.$t('CurrentProcessor'),
align: 'left',
dataIndex: 'assigneeName',
ellipsis: true,
width: 170
},
{
title: this.$t('TaskCutOffTime'),
align: 'left',
dataIndex: 'endTime',
ellipsis: true,
width: 170
},
{
title: this.$t('taskStatus'),
align: 'left',
dataIndex: 'statusShow',
ellipsis: true,
width: 170
},
{
title: this.$t('operation'),
align: 'left',
fixed: 'right',
width: 120,
scopedSlots: { customRender: 'operation' }
}
],
selectedRowKeys: [],
pageSize: 10,
pageNo: 1,
@@ -124,213 +46,14 @@
back(){
this.$emit('historicalrecordup')
},
monitoringProcessClick(row){
let newUrl = this.$router.resolve({
path: '/processDetails',
query: {
prcNum: row.prcNum,
prcType:row.flowType,
prcId:row.actiProcInstId,
}
})
window.open(newUrl.href, '_blank')
},
RelatedItemsClick(item) {
let newUrl = this.$router.resolve({
path: '/ProjectDetails',
query: {
id: item.projectLibraryId,
projectName: item.projectName,
projectNameId: item.projectNameId,
targetMarket: item.targetMarket,
studioEngineer:item.studioEngineer,
}
})
window.open(newUrl.href, '_blank')
},
standardInformationClick(item){
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: item.bussDocumentLibraryId,
}
})
window.open(newUrl.href, '_blank')
},
viewClick(row) {
let query = {}
row.router = this.$route.path
if (row.flowType == '1') {
query = {
taskDefinitionKey:row.taskDefinitionKey,
taskIds:row.taskId,
prcType:row.flowType,
prcNum:row.prcNum,
isTrue:false,
}
let newUrl = this.$router.resolve({
path: '/handshakeProcess',
query: query
})
window.open(newUrl.href, '_blank')
}else if(row.flowType == '10'){
let newUrl = this.$router.resolve({
path: '/ProjectDetails',
query: {
id: row.projectLibraryId,
projectName: row.projectName,
projectNameId: row.projectNameId,
targetMarket: row.targetMarket,
studioEngineer:row.studioEngineer,
type:'102',
}
})
window.open(newUrl.href, '_blank')
}else if(row.flowType == '2'){
row.taskId = row.taskId + ''
if (row.taskId.length > 30) {
row.taskId = ''
}
query = {
router: row.router,
taskIds:row.taskId,
actiProcInstId: row.actiProcInstId,
projectTaskInventoryId: row.projectLawsInventoryId,
projectLibraryId:row.projectLibraryId,
id: row.projectLibraryId,
studioEngineer: row.studioEngineer,
serialNumber: row.serialNumber,
TaskKey: row.taskDefinitionKey,
isDisplay: false,
flowType: 2,
Sponsor: 'designInitiatorName',
personLiable: 'designDutyName',
typeOfDeliverables: 'designDeliverableTypeName',
deliverableTemplate: 'designDeliverableTemplate',
DueDate: 'designDueDate',
remarks: 'designRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId,
PersonChargeFeedback: row.personChargeFeedback
}
let newUrl = this.$router.resolve({
path: '/taskListProcess',
query: query
})
window.open(newUrl.href, '_blank')
}else if(row.flowType == '3'){
row.taskId = row.taskId + ''
if (row.taskId.length > 30) {
row.taskId = ''
}
query = {
router: row.router,
taskIds:row.taskId,
actiProcInstId: row.actiProcInstId,
projectTaskInventoryId: row.projectLawsInventoryId,
studioEngineer: row.studioEngineer,
projectLibraryId:row.projectLibraryId,
serialNumber: row.serialNumber,
TaskKey: row.taskDefinitionKey,
flowType: 3,
isDisplay: false,
id: row.projectLibraryId,
Sponsor: 'prehomoInitiatorName',
personLiable: 'prehomoDutyName',
typeOfDeliverables: 'prehomoDeliverableTypeName',
deliverableTemplate: 'prehomoDeliverableTemplate',
DueDate: 'prehomoDueDate',
remarks: 'prehomoRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId,
PersonChargeFeedback: row.personChargeFeedback
}
let newUrl = this.$router.resolve({
path: '/taskListProcess',
query: query
})
window.open(newUrl.href, '_blank')
}else if(row.flowType == '4'){
row.taskId = row.taskId + ''
if (row.taskId.length > 30) {
row.taskId = ''
}
query = {
router: row.router,
taskIds: row.taskId,
actiProcInstId: row.actiProcInstId,
id: row.projectLibraryId,
projectLibraryId: row.projectLibraryId,
studioEngineer: row.studioEngineer,
serialNumber: row.serialNumber,
projectTaskInventoryId: row.projectLawsInventoryId,
TaskKey: row.taskDefinitionKey,
flowType: 4,
isDisplay: false,
Sponsor: 'verifyInitiatorName',
personLiable: 'verifyDutyName',
typeOfDeliverables: 'verifyDeliverableTypeName',
deliverableTemplate: 'verifyDeliverableTemplate',
DueDate: 'verifyDueDate',
remarks: 'verifyRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId,
PersonChargeFeedback: row.personChargeFeedback
}
let newUrl = this.$router.resolve({
path: '/taskListProcess',
query: query
})
window.open(newUrl.href, '_blank')
}
},
searchQuery(value) {
this.queryParam = value
this.pageNo = 1
this.getList()
},
searchReset() {
this.queryParam = {}
this.pageNo = 1
this.getList()
},
pageOnChange(page) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
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 = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...queryParam
otaId:localStorage.getItem('otaId')
}
this.loading = true
getAction(this.url.list, query).then((res) => {
getAction('ota/otaBaSjLsjl/list', query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.dataSource = res.result || []
this.loading = false
} else {
this.loading = false
@@ -1,4 +1,5 @@
<template>
<!-- 第七页 -->
<div class="box">
<a-spin :spinning="confirmLoading">
<a-form-model class="formAdd" ref="ruleForm">
@@ -1,17 +1,17 @@
<template>
<!-- 第二页 -->
<div class="box">
<div class="table-operator">
<div class="operator-text">
<a-icon type="import" :rotate="270"/>
{{$t('dataimport')}}
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" />
</div>
<div class="operator-text">
<div @click='handleModule' class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
</div>
</div>
<a-spin :spinning="confirmLoading">
<a-form-model class="formAdd" ref="ruleForm">
<a-form-model class="formAdd" ref="ruleForm" :model="formInline">
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text-add">
@@ -21,6 +21,7 @@
<a-form-model-item class="itemModel" prop="dutyTerritory">
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.zsl"
:placeholder="$t('PleaseSelect')"></a-input>
</a-form-model-item>
</div>
@@ -33,11 +34,9 @@
{{$t('dateofproduction')}}</span>
</div>
<a-form-model-item class="itemModel" prop="dateofproduction">
<a-date-picker class="box-input"
<a-range-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('dateofproduction')"
@change="dateChange({db_field_name:'dateofproduction'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.dateofproduction"
:disabled="false"
style="width: 100%"/>
@@ -79,14 +78,16 @@
formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-spin>
<div class="bootom-button">
<a-button class='btn' style='margin-right: 50px'>{{$t('preservation')}}</a-button>
<a-button class='btn' 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>
@@ -94,33 +95,73 @@
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { getAction, postAction, deleteAction,downloadFile } from '@/api/manage'
import ImportFile from '@/components/ImportFileData/index'
import moment from 'moment'
import uploadFile from '@/components/uploadFile/file'
export default {
name: 'basicInformation',
components:{
uploadFile,
ImportFile
},
data() {
return {
confirmLoading: false,
disabled: false,
formInline:{}
formInline:{},
url: {
exportData: '/ota/otaBaSjSjmbcl/exportData',
importZipUrl: '/ota/otaBaSjSjmbcl/importData',//导入
},
}
},
mounted() {
this.getData()
},
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaSjSjmbcl/exportTemplate', '本次升级目标车辆' + '.zip', {})
},
getData(){
let otaIdT=localStorage.getItem('otaIdT')
if(otaIdT==null){
otaIdT=''
}
let otaId=localStorage.getItem('otaId')
if(otaId==null){
otaId=''
}
getAction('/ota/otaBaSjSjmbcl/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{
console.log(res);
})
},
save(){
let obj={}
obj.zsl = this.formInline.zsl
if(this.formInline.dateofproduction){
obj.scrqks = this.formInline.dateofproduction[0]
obj.scrqjs = this.formInline.dateofproduction[1]
}else{
obj.scrqks=''
obj.scrqjs =''
}
obj.VINcodelist = this.formInline.VINcodelist
postAction('/ota/otaBaSjSjmbcl/add',obj).then(res=>{
console.log(res);
})
},
next(){
this.save()
this.$emit('upgradeRequirementsdown')
},
last(){
this.save()
this.$emit('upgradeRequirementsup')
},
dateChange(item) {
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
},
clickButtonToUpload(item) {
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
@@ -1,11 +1,11 @@
<template>
<!-- 第四页 -->
<div class="box">
<div class="table-operator">
<div class="operator-text">
<a-icon type="import" :rotate="270"/>
{{$t('dataimport')}}
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" />
</div>
<div class="operator-text">
<div @click='handleModule' class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
</div>
@@ -71,13 +71,15 @@
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { getAction, postAction, deleteAction,downloadFile } from '@/api/manage'
import ImportFile from '@/components/ImportFileData/index'
import uploadFile from '@/components/uploadFile/file'
export default {
name: 'beupgradedonline',
components:{
uploadFile
uploadFile,
ImportFile
},
data() {
return {
@@ -216,12 +218,20 @@ export default {
scopedSlots: { customRender: 'operation' }
}
],
url: {
exportData: '/ota/otaBaSjSjxtbh/exportData',
importZipUrl: '/ota/otaBaSjSjxtbh/importData',//导入
},
}
},
mounted() {
// this.getList()
},
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaSjSjxtbh/exportTemplate', '本次升级的系统名称与参数变化' + '.zip', {})
},
clickButtonToUpload(item) {
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
@@ -1,11 +1,11 @@
<template>
<!-- 第三页 -->
<div class="box">
<div class="table-operator">
<div class="operator-text">
<a-icon type="import" :rotate="270"/>
{{$t('dataimport')}}
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" />
</div>
<div class="operator-text">
<div @click='handleModule' class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
</div>
@@ -138,13 +138,15 @@
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { getAction, postAction, deleteAction,downloadFile } from '@/api/manage'
import ImportFile from '@/components/ImportFileData/index'
import uploadFile from '@/components/uploadFile/file'
export default {
name: 'beupgradedonline',
components:{
uploadFile
uploadFile,
ImportFile
},
data() {
return {
@@ -154,6 +156,10 @@ export default {
functionname:'ceshi',
}
],
url: {
exportData: '/ota/otaBaSjSjyxpg/exportData',
importZipUrl: '/ota/otaBaSjSjyxpg/importData',//导入
},
loading: false,
disable:false,
columns: [
@@ -289,6 +295,10 @@ export default {
// this.getList()
},
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaSjSjyxpg/exportTemplate', '升级影响评估' + '.zip', {})
},
clickButtonToUpload(item) {
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
@@ -1,11 +1,11 @@
<template>
<!-- 第一页 -->
<div class="box">
<div class="table-operator">
<div class="operator-text">
<a-icon type="import" :rotate="270"/>
{{$t('dataimport')}}
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" />
</div>
<div class="operator-text">
<div @click='handleModule' class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
</div>
@@ -19,11 +19,17 @@
<span class="title-text-text" :title="$t('selectTheVehicleTemplate')">{{$t('selectTheVehicleTemplate')}}</span>
</div>
<a-form-model-item class="itemModel" prop="dutyTerritory">
<j-dict-select-tag class="box-input"
<a-select :disabled="disabled" class="box-input" v-model="form.cxmb" allowClear :placeholder="$t('PleaseSelect')" @change="changeId">
<a-select-option v-for="(item , key ) in selectListMb" :key="key" :value="item.id" >
{{ item.cpdjbh }}
</a-select-option>
</a-select>
<!-- <j-dict-select-tag class="box-input"
:disabled="disabled"
v-model="form.cxmb"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
:triggerChange="false"/> -->
</a-form-model-item>
</div>
</a-col>
@@ -33,45 +39,34 @@
<span class="title-text-text" :title="$t('upgraderecordnumber')">{{$t('upgraderecordnumber')}}</span>
</div>
<div class="title-text-add-input">
<span class="title-text-text">中文</span>
<!-- <span class="title-text-text">中文</span> -->
<a-input class="box-input" v-model="form.babh" :placeholder="$t('pleaseEnter')" disabled style="width:93%"></a-input>
</div>
</div>
</a-col>
<a-col :span="24">
<div class="box-title-text-add">
<div class="title-text-add">
<span class="title-text-text" :title="$t('registrationnumber')">{{$t('registrationnumber')}}</span>
<span class="title-text-text" :title="$t('theNameOfFirm')">{{$t('theNameOfFirm')}}</span>
</div>
<div class="title-text-add-input">
<span class="title-text-text">中文</span>
<!-- <span class="title-text-text">中文</span> -->
<a-input class="box-input" v-model="form.qymc" :placeholder="$t('pleaseEnter')" disabled style="width:93%"></a-input>
</div>
</div>
</a-col>
<a-col :span="24">
<div class="box-title-text-add">
<div class="title-text-add">
<span class="title-text-text" :title="$t('Modelandfunctionrecord')">{{$t('Modelandfunctionrecord')}}</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-form-model-item>
</div>
</a-col>
<a-col :span="24">
<div class="box-title-text-add">
<div class="title-text-add">
<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-select :disabled="disabled" class="box-input" v-model="form.bapc" allowClear :placeholder="$t('PleaseSelect')" @change="changeId">
<a-select-option v-for="(item , key ) in selectListPc" :key="key" :value="item.id" >
{{ item.ggpc }}
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
@@ -82,7 +77,8 @@
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
:disabled="disabled"
disabled
v-model="form.cpsb"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
@@ -96,7 +92,8 @@
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
:disabled="disabled"
disabled
v-model="form.cpmc"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
@@ -110,7 +107,8 @@
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
:disabled="disabled"
disabled
v-model="form.cpxh"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"/>
@@ -122,45 +120,148 @@
<div class="title-text-add">
<span class="title-text-text" :title="$t('Vehicledynamictype')">{{$t('Vehicledynamictype')}}</span>
</div>
<a-form-model-item class="itemModel">
<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"/>
: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">
{{ item }}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item class="itemModel" style="width: 40%;margin-left:-9px">
<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> -->
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-spin>
<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" @click='next'>{{$t('next')}}</a-button>
</div>
</div>
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { getAction, postAction, deleteAction,downloadFile } from '@/api/manage'
import ImportFile from '@/components/ImportFileData/index'
export default {
name: 'basicInformation',
components:{
ImportFile
},
data() {
return {
confirmLoading: false,
disabled: false,
form:{},
url: {
exportData: '/ota/otaBaSjSjmbcx/exportData',
importZipUrl: '/ota/otaBaSjSjmbcx/importData',//导入
},
projectNameList1:['传统动力汽车','节能汽车','新能源汽车','其他'],
projectNameList2:[],
selectListPc:[],
selectListMb:[],
}
},
mounted() {
this.getSelect()
this.getData()
},
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaSjSjmbcx/exportTemplate', '升级目标车型' + '.zip', {})
},
getData(){
let otaIdT=localStorage.getItem('otaIdT')
if(otaIdT==null){
otaIdT=''
}
let otaId=localStorage.getItem('otaId')
if(otaId==null){
otaId=''
}
getAction('/ota/otaBaCxJbxx/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{
if(res.code == 200){
// this.form=res.result
}
})
},
save(){
postAction('/ota/otaBaSjSjmbcx/add',this.form).then(res=>{
localStorage.setItem('otaId', res.result.otaId)
})
},
next(){
this.save()
this.$emit('basicInformationForm')
},
getSelect(){
getAction('/ota/otaBaCxList/list').then(res=>{
if(res.code==200){
this.selectListPc=[]
res.result.forEach(item=>{
let obj={}
obj.id=item.id
obj.ggpc=item.ggpc
this.selectListPc.push(obj)
})
}
})
getAction('/ota/otaBaSjList/list').then(res=>{
if(res.code==200){
this.selectListMb=[]
res.result.forEach(item=>{
let obj={}
obj.id=item.id
obj.cpdjbh=item.cpdjbh
this.selectListMb.push(obj)
})
}
})
},
changeSelect(target){
this.form.dllx2=undefined
if(target =='传统动力汽车'){
this. projectNameList2=['汽油','柴油']
}else if (target =='节能汽车'){
this. projectNameList2=['混合动力','天然气','甲醇','其他']
}else if (target =='新能源汽车'){
this. projectNameList2=['纯电动','插电式混合动力','燃料电池']
}else{
this. projectNameList2=['其他']
}
},
changeId(value){
this.$forceUpdate()
},
update(){
this.$forceUpdate()
}
}
}
</script>
@@ -1,11 +1,11 @@
<template>
<!-- 第六页 -->
<div class="box">
<div class="table-operator">
<div class="operator-text">
<a-icon type="import" :rotate="270"/>
{{$t('dataimport')}}
<ImportFile :url="url" :dummyInventoryBaseId="$route.query.id" :isTrue="true" :accept="'.zip'" />
</div>
<div class="operator-text">
<div @click='handleModule' class="operator-text">
<a-icon type="download"/>
{{$t('templateDownload')}}
</div>
@@ -94,24 +94,34 @@
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { getAction, postAction, deleteAction,downloadFile } from '@/api/manage'
import ImportFile from '@/components/ImportFileData/index'
import moment from 'moment'
export default {
name: 'basicInformation',
components:{
ImportFile
},
data() {
return {
confirmLoading: false,
disabled: false,
formInline:{}
formInline:{},
url: {
exportData: '/ota/otaBaSjGgnrfs/exportData',
importZipUrl: '/ota/otaBaSjGgnrfs/importData',//导入
},
}
},
mounted() {
},
methods: {
methods: {// 模板下载
handleModule() {
downloadFile('ota/otaBaSjGgnrfs/exportTemplate', '用户告知内容及方式' + '.zip', {})
},
next(){
this.$emit('recordparametersdown')
},
@@ -185,9 +185,9 @@
<span class="title-text-text" :title="$t('communicationTerminal')">{{$t('communicationTerminal')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input"
<j-multi-select-tag class="box-input"
:disabled="disabled"
dictCode="communication_terminal"
:dictCode="'communication_terminal'"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"
@@ -242,7 +242,9 @@ import { message } from 'ant-design-vue'
exportData: '/ota/otaBaCxJbxx/exportData',
importZipUrl: '/ota/otaBaCxJbxx/importData',//导入
},
form:{},
form:{
txzd:''
},
projectNameList1:['传统动力汽车','节能汽车','新能源汽车','其他'],
projectNameList2:[],
selectList:[],
@@ -270,14 +272,11 @@ import { message } from 'ant-design-vue'
localStorage.setItem('otaIdT',value)
this.$forceUpdate()
if(this.$route.query.type == 1){
return
}
this.getData()
},
// 模板下载
handleModule() {
downloadFile('ota/otaBaCxJbxx/exportTemplate', '车型及功能备案' + '.zip', {})
downloadFile('ota/otaBaCxJbxx/exportTemplate', '车型基本信息' + '.zip', {})
},
getSelect(){
getAction('/ota/otaBaCxList/list').then(res=>{
@@ -299,9 +298,6 @@ import { message } from 'ant-design-vue'
})
},
getData(){
if(this.$route.query.type == 1){
return
}
let otaIdT=localStorage.getItem('otaIdT')
if(otaIdT==null){
otaIdT=''
@@ -312,7 +308,6 @@ import { message } from 'ant-design-vue'
}
getAction('/ota/otaBaCxJbxx/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{
if(res.code == 200){
this.form.qymc=res.result.qymc
this.form.djbh=res.result.djbh
this.form.cplb=res.result.cplb
@@ -322,8 +317,12 @@ import { message } from 'ant-design-vue'
this.form.cpxh=res.result.cpxh
this.form.txzd=res.result.txzd
this.form.cdotasj=res.result.cdotasj
this.form.cxmb=this.form.ggpc+'-'+ this.form.cpmc+'-'+this.form.cpxh
if(res.result.dllx1 == null ){
if(this.$route.query.type == 1 && res.result.cxmb == null){
this.form.cxmb = this.form.ggpc+'-'+ this.form.cpmc+'-'+this.form.cpxh
}else {
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
}
if(res.result.dllx1 == null ){
res.result.dllx1 = undefined
}
if(res.result.dllx2 == null){
@@ -339,18 +338,27 @@ import { message } from 'ant-design-vue'
},
next(){
this.save()
this.$refs.ruleForm.validate(valid=>{
if(valid){
this.save()
setTimeout(()=>{
this.$emit('basicInformationForm')
},300)
},1000)
}
})
},
async save(){
postAction('/ota/otaBaCxJbxx/add',{ otaId:localStorage.getItem('otaId'),...this.form}).then( res => {
this.$refs.ruleForm.validate(valid=>{
if(valid){
postAction('/ota/otaBaCxJbxx/add',{ otaId:localStorage.getItem('otaId'),...this.form}).then( res => {
if(res.code == 200){
localStorage.setItem('otaId', res.result.otaId)
}
})
}
})
},
changeSelect(target){
this.form.dllx2=undefined
@@ -88,8 +88,8 @@
</span>
</a-table>
<div>
<a-button @click="clickButtonToUpload('fileKey')" type="primary"> {{ (formInline.fileKey === 'null' || formInline.fileKey === '' ||
formInline.fileKey == null) ? $t('clickUpload') : $t('viewUploadedFiles')
<a-button @click="clickButtonToUpload(fileList)" type="primary"> {{ (fileList === 'null' || fileList === '' ||
fileList == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}</a-button>
<p>注:附件包括测试项目清单、测试报告.测试标准或技术规范</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;支持doc/docx/pdf格式,大小50M以内</p>
@@ -135,7 +135,7 @@ import ImportFile from '@/components/ImportFileData/index'
gnmc:'百区监测(BSD)',
},
{
gnmc:'员疲劳篮澳CDFM)',
gnmc:'驾驶员疲劳监测(DFM)',
},
{
gnmc:'自动紧急制动(AEB)',
@@ -294,41 +294,13 @@ import ImportFile from '@/components/ImportFileData/index'
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaCxKsjjsmccs/exportTemplate', '车型及功能备案' + '.zip', {})
},
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 = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...queryParam
}
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
} else {
this.loading = false
}
})
downloadFile('ota/otaBaCxKsjjsmccs/exportTemplate', '可在线升级的驾驶辅助功能名称与参数' + '.zip', {})
},
clickButtonToUpload(item) {
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
this.uploadName = item
getAction('sys/common/getFileInfos', { id: this.formInline[item] }).then((res) => {
getAction('sys/common/getFileInfos', { id: item }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
@@ -81,6 +81,10 @@ export default {
},
submit(){
this.save()
this.$router.push({
path: '/vehicleregistration',
query: {}
})
},
},
@@ -863,7 +863,7 @@ export default {
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaCxList/exportTemplate', '车型及功能备案' + '.zip', {})
downloadFile('ota/otaBaCxList/exportTemplate', '驾驶辅助系统基础备案参数' + '.zip', {})
},
getData(){
if(this.$route.query.type == 1){
@@ -890,7 +890,7 @@ export default {
this.dataSource.forEach(item=>{
for(let key in res.result.bj){
if(Number(res.result.bj[key])!=NaN &&Number(res.result.bj[key])!=0 && key !=id){
if(Number(res.result.bj[key])!=NaN &&Number(res.result.bj[key])!=0 && key !='id'){
console.log(key);
res.result.bj[key]=Number(res.result.bj[key])
}
@@ -934,26 +934,6 @@ export default {
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 arr =[]
this.dataSource.map(item=>{
@@ -22,12 +22,12 @@
style="margin-bottom: 20px"
>
<span slot="havemeasures" slot-scope="text,record">
<j-dict-select-tag class="box-input"
<j-multi-select-tag class="box-input"
v-model="record.info"
@change="update"
:placeholder="$t('PleaseSelect')"
:type="'select'"
dictCode="driving_automation_level"
:dictCode="record.dictCode"
:triggerChange="false"/>
</span>
<span slot="certifyingmaterials" slot-scope="text,record">
@@ -187,12 +187,9 @@ import ImportFile from '@/components/ImportFileData/index'
// 模板下载
handleModule() {
downloadFile('ota/otaBaCxAqcs/exportTemplate', '车型及功能备案' + '.zip', {})
downloadFile('ota/otaBaCxAqcs/exportTemplate', '安全措施' + '.zip', {})
},
getData(){
if(this.$route.query.type == 1){
return
}
let otaIdT=localStorage.getItem('otaIdT')
if(otaIdT==null){
otaIdT=''
@@ -200,10 +197,11 @@ import ImportFile from '@/components/ImportFileData/index'
getAction('/ota/otaBaCxAqcs/queryByOtaId',{otaIdT:otaIdT,otaId:localStorage.getItem('otaId')}).then(res=>{
if(res.code == 200){
this.dataSource[0].info = Number(res.result.bhjz) == 0 ? undefined :Number(res.result.bhjz)
this.dataSource[1].info =Number(res.result.fsxjz)== 0 ? undefined :Number(res.result.fsxjz)
this.dataSource[2].info= Number(res.result.sjsbcs)== 0 ? undefined :Number(res.result.sjsbcs)
this.dataSource[3].info=Number(res.result.xxaqjz)== 0 ? undefined :Number(res.result.xxaqjz)
this.dataSource[0].info = res.result.bhjz
this.dataSource[1].info =res.result.fsxjz
// this.dataSource[2].info= Number(res.result.sjsbcs)== 0 ? undefined :Number(res.result.sjsbcs)
this.dataSource[2].info= res.result.sjsbcs
this.dataSource[3].info= res.result.xxaqjz
this.fileList.uploadName = res.result.zmclList
this.fileList.certifyingmaterials = this.$t('viewFile')
this.$refs.uploadFile.perentHandleFunc(this.fileList.uploadName)
@@ -236,32 +234,6 @@ import ImportFile from '@/components/ImportFileData/index'
this.$refs.uploadFile.visible = true
},
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 = {
pageNo: this.pageNo,
pageSize: this.pageSize,
...queryParam
}
// this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.loading = false
} else {
this.loading = false
}
})
},
save(){
let obj={}
obj.otaId=localStorage.getItem('otaId'),
@@ -202,12 +202,9 @@ export default {
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaCxZxsjyq/exportTemplate', '车型及功能备案' + '.zip', {})
downloadFile('ota/otaBaCxZxsjyq/exportTemplate', '在线升级要求' + '.zip', {})
},
getData(){
if(this.$route.query.type == 1){
return
}
console.log(localStorage.getItem('otaId'));
let otaIdT=localStorage.getItem('otaIdT')
if(otaIdT==null){
@@ -302,12 +302,9 @@ import uploadFileOta from '@/components/uploadFileOta/file'
methods: {
// 模板下载
handleModule() {
downloadFile('ota/otaBaCxKsjxtmccs/exportTemplate', '车型及功能备案' + '.zip', {})
downloadFile('ota/otaBaCxKsjxtmccs/exportTemplate', '可在线升级的系统名称与参数' + '.zip', {})
},
getData(){
if(this.$route.query.type == 1){
return
}
let otaIdT=localStorage.getItem('otaIdT')
if(otaIdT==null){
otaIdT=''
@@ -429,14 +426,14 @@ import uploadFileOta from '@/components/uploadFileOta/file'
})
},
clickButtonToUploadota(current) {
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
this.$refs.uploadFileOta.perentHandleFunc()
this.$refs.uploadFileOta.visible = true
this.uploadName = current
getAction('sys/common/getFileInfos', { id: current }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
this.$refs.uploadFileOta.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFileOta.perentHandleFunc()
}
})
},
@@ -179,6 +179,8 @@ export default {
},
bussLogList(val) {
let query = {
pageNo: this.pageNohistory,
pageSize: this.pageSizehistory,
otaId:localStorage.getItem('otaId')
}
this.loading = true
@@ -140,7 +140,7 @@ export default {
if(row instanceof Array){
this.ids = row.join(',')
}else{
this.formInline.bazt = row.bazt
this.formInline.bazt = row.bazt ? row.bazt : undefined
this.formInline.batjsj = row.batjsj
this.formInline.bz = row.bz
this.ids = row.id
@@ -369,7 +369,9 @@ export default {
if(localStorage.getItem('otaIdT')!=null){
this.$router.push({
path: '/vehicleinformation',
query: {}
query: {
type:1
}
})
}
@@ -383,9 +385,7 @@ export default {
localStorage.removeItem('otaIdT')
this.$router.push({
path: '/vehicleinformation',
query: {
type:1,
}
query: {}
})
},
viewProcessClick(row) {