Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qr-consistency-vue3
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘怀志
qr-consistency-vue3
Commits
846b2a34
Commit
846b2a34
authored
Apr 27, 2025
by
Mr.Tang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
国内国际中英文对照 表格样式修改
parent
55b449d5
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1417 additions
and
107 deletions
+1417
-107
domestic.js
src/api/vehicleModelData/domestic.js
+7
-0
cn.json
src/locales/baseData/vehicleModelData/domesticModel/cn.json
+35
-0
en.json
src/locales/baseData/vehicleModelData/domesticModel/en.json
+35
-0
cn.json
...ales/baseData/vehicleModelData/internationalModel/cn.json
+41
-0
en.json
...ales/baseData/vehicleModelData/internationalModel/en.json
+41
-0
cn.json
...lan/relationshipManagement/domesticRegulationPart/cn.json
+27
-0
en.json
...lan/relationshipManagement/domesticRegulationPart/en.json
+27
-0
cn.json
...elationshipManagement/internationalRegulationPart/cn.json
+29
-0
en.json
...elationshipManagement/internationalRegulationPart/en.json
+29
-0
domesticModel.vue
src/views/baseData/vehicleModelData/domesticModel.vue
+239
-54
internationalModel.vue
src/views/baseData/vehicleModelData/internationalModel.vue
+267
-53
index.vue
...n/relationshipManagement/domesticRegulationPart/index.vue
+306
-0
index.vue
...ationshipManagement/internationalRegulationPart/index.vue
+334
-0
No files found.
src/api/vehicleModelData/domestic.js
View file @
846b2a34
...
...
@@ -49,3 +49,10 @@ export function treeListModel(query) {
params
:
query
,
})
}
export
function
treeListInternationalModel
(
query
)
{
return
request
({
url
:
'/control/model/treeListInternationalModel'
,
method
:
'get'
,
params
:
query
,
})
}
src/locales/baseData/vehicleModelData/domesticModel/cn.json
0 → 100644
View file @
846b2a34
{
"serialNumber"
:
"序号"
,
"vehicleModelAnnouncementNumberCumulativeProductionThisYear"
:
"车型公告号今年累计产量"
,
"modelCodeCumulativeProductionThisYear"
:
"车型代码今年累计产量"
,
"brand"
:
"品牌"
,
"modelAnnouncementNumber"
:
"车型公告号"
,
"vehicleModelCode"
:
"车型代码"
,
"quickNodeSearch"
:
"节点快速查找"
,
"modelSeries"
:
"车型系列"
,
"powerType"
:
"动力类型"
,
"isMaintained"
:
"是否维护"
,
"businessUnit"
:
"事业部"
,
"engineModel"
:
"发动机型号"
,
"certifiedDeclarationOfProductionAddress"
:
"认证申报生产地址"
,
"manufactureFactory"
:
"制造工厂"
,
"createTime"
:
"创建时间"
,
"updateTime"
:
"修改时间"
,
"operation"
:
"操作"
,
"add"
:
"新增"
,
"handleUpdate"
:
"编辑"
,
"handleDelete"
:
"删除"
,
"submitForm"
:
"确定"
,
"cancel"
:
"取消"
,
"handleQuery"
:
"搜索按钮操作"
,
"resetQuery"
:
"重置按钮操作"
,
"modifySuccess"
:
"修改成功"
,
"addSuccess"
:
"新增成功"
,
"deleteSuccess"
:
"删除成功"
,
"confirmDelete"
:
"是否确认删除该数据项?"
,
"pleaseEnter"
:
"请输入"
,
"pleaseChoose"
:
"请选择"
,
"search"
:
"查询"
,
"reset"
:
"重置"
,
"export"
:
"导出"
}
\ No newline at end of file
src/locales/baseData/vehicleModelData/domesticModel/en.json
0 → 100644
View file @
846b2a34
{
"serialNumber"
:
"Serial Number"
,
"vehicleModelAnnouncementNumberCumulativeProductionThisYear"
:
"Vehicle model announcement number: Cumulative production this year"
,
"modelCodeCumulativeProductionThisYear"
:
"Model code: Cumulative production this year"
,
"brand"
:
"brand"
,
"modelAnnouncementNumber"
:
"Model Announcement Number"
,
"vehicleModelCode"
:
"Vehicle Model Code"
,
"quickNodeSearch"
:
"Quick Node Search"
,
"modelSeries"
:
"Model Series"
,
"powerType"
:
"Power Type"
,
"isMaintained"
:
"Is Maintained"
,
"businessUnit"
:
"Business Unit"
,
"engineModel"
:
"Engine Model"
,
"certifiedDeclarationOfProductionAddress"
:
"Certified Declaration Of Production Address"
,
"manufactureFactory"
:
"Manufacture Factory"
,
"createTime"
:
"Create Time"
,
"updateTime"
:
"Update Time"
,
"operation"
:
"operation"
,
"add"
:
"add"
,
"handleUpdate"
:
"Edit"
,
"handleDelete"
:
"Delete"
,
"submitForm"
:
"Confirm"
,
"cancel"
:
"Cancel"
,
"handleQuery"
:
"Search Button Operation"
,
"resetQuery"
:
"Reset Button Operation"
,
"modifySuccess"
:
"Modification Successful"
,
"addSuccess"
:
"Addition Successful"
,
"deleteSuccess"
:
"Deletion Successful"
,
"confirmDelete"
:
"Are you sure you want to delete this data item?"
,
"pleaseEnter"
:
"PleaseEnter"
,
"pleaseChoose"
:
"PleaseChoose"
,
"search"
:
"Search"
,
"reset"
:
"Reset"
,
"export"
:
"Export"
}
\ No newline at end of file
src/locales/baseData/vehicleModelData/internationalModel/cn.json
0 → 100644
View file @
846b2a34
{
"serialNumber"
:
"序号"
,
"accumulatedProductionThisYear"
:
"今年累计产量"
,
"singleCertificate"
:
"单项证书"
,
"vehicleCertificate"
:
"整车认证证书"
,
"applicableMarket"
:
"适用市场"
,
"transmissionModel"
:
"变速器型号"
,
"powerBatteryModel"
:
"动力电池型号"
,
"vehicleModelAnnouncementNumberCumulativeProductionThisYear"
:
"车型公告号今年累计产量"
,
"modelCodeCumulativeProductionThisYear"
:
"车型代码今年累计产量"
,
"brand"
:
"品牌"
,
"modelAnnouncementNumber"
:
"车型公告号"
,
"vehicleModelCode"
:
"车型代码"
,
"quickNodeSearch"
:
"节点快速查找"
,
"modelSeries"
:
"车型系列"
,
"powerType"
:
"动力类型"
,
"isMaintained"
:
"是否维护"
,
"businessUnit"
:
"事业部"
,
"engineModel"
:
"发动机型号"
,
"certifiedDeclarationOfProductionAddress"
:
"认证申报生产地址"
,
"manufactureFactory"
:
"制造工厂"
,
"createTime"
:
"创建时间"
,
"updateTime"
:
"修改时间"
,
"operation"
:
"操作"
,
"add"
:
"新增"
,
"handleUpdate"
:
"编辑"
,
"handleDelete"
:
"删除"
,
"submitForm"
:
"确定"
,
"cancel"
:
"取消"
,
"handleQuery"
:
"搜索按钮操作"
,
"resetQuery"
:
"重置按钮操作"
,
"modifySuccess"
:
"修改成功"
,
"addSuccess"
:
"新增成功"
,
"deleteSuccess"
:
"删除成功"
,
"confirmDelete"
:
"是否确认删除该数据项?"
,
"pleaseEnter"
:
"请输入"
,
"pleaseChoose"
:
"请选择"
,
"search"
:
"查询"
,
"reset"
:
"重置"
,
"export"
:
"导出"
}
\ No newline at end of file
src/locales/baseData/vehicleModelData/internationalModel/en.json
0 → 100644
View file @
846b2a34
{
"serialNumber"
:
"Serial Number"
,
"accumulatedProductionThisYear"
:
"Accumulated production this year"
,
"singleCertificate"
:
"single Certificate"
,
"vehicleCertificate"
:
"vehicle Certificate"
,
"applicableMarket"
:
"Applicable Market"
,
"transmissionModel"
:
"Transmission Model"
,
"powerBatteryModel"
:
"Power Battery Model"
,
"vehicleModelAnnouncementNumberCumulativeProductionThisYear"
:
"Vehicle model announcement number: Cumulative production this year"
,
"modelCodeCumulativeProductionThisYear"
:
"Model code: Cumulative production this year"
,
"brand"
:
"brand"
,
"modelAnnouncementNumber"
:
"Model Announcement Number"
,
"vehicleModelCode"
:
"Vehicle Model Code"
,
"quickNodeSearch"
:
"Quick Node Search"
,
"modelSeries"
:
"Model Series"
,
"powerType"
:
"Power Type"
,
"isMaintained"
:
"Is Maintained"
,
"businessUnit"
:
"Business Unit"
,
"engineModel"
:
"Engine Model"
,
"certifiedDeclarationOfProductionAddress"
:
"Certified Declaration Of Production Address"
,
"manufactureFactory"
:
"Manufacture Factory"
,
"createTime"
:
"Create Time"
,
"updateTime"
:
"Update Time"
,
"operation"
:
"operation"
,
"add"
:
"add"
,
"handleUpdate"
:
"Edit"
,
"handleDelete"
:
"Delete"
,
"submitForm"
:
"Confirm"
,
"cancel"
:
"Cancel"
,
"handleQuery"
:
"Search Button Operation"
,
"resetQuery"
:
"Reset Button Operation"
,
"modifySuccess"
:
"Modification Successful"
,
"addSuccess"
:
"Addition Successful"
,
"deleteSuccess"
:
"Deletion Successful"
,
"confirmDelete"
:
"Are you sure you want to delete this data item?"
,
"pleaseEnter"
:
"PleaseEnter"
,
"pleaseChoose"
:
"PleaseChoose"
,
"search"
:
"Search"
,
"reset"
:
"Reset"
,
"export"
:
"Export"
}
\ No newline at end of file
src/locales/controlPlan/relationshipManagement/domesticRegulationPart/cn.json
0 → 100644
View file @
846b2a34
{
"standardNumber"
:
"标准编号"
,
"standardName"
:
"标准名称"
,
"partName"
:
"零件名称"
,
"notice"
:
"共5个未关联法规的CQC关键零部件"
,
"serialNumber"
:
"序号"
,
"correspondingParts"
:
"对应零件"
,
"createTime"
:
"创建时间"
,
"updateTime"
:
"修改时间"
,
"operation"
:
"操作"
,
"add"
:
"新增"
,
"handleUpdate"
:
"编辑"
,
"handleDelete"
:
"删除"
,
"submitForm"
:
"确定"
,
"cancel"
:
"取消"
,
"handleQuery"
:
"搜索按钮操作"
,
"resetQuery"
:
"重置按钮操作"
,
"modifySuccess"
:
"修改成功"
,
"addSuccess"
:
"新增成功"
,
"deleteSuccess"
:
"删除成功"
,
"confirmDelete"
:
"是否确认删除该数据项?"
,
"pleaseEnter"
:
"请输入"
,
"pleaseChoose"
:
"请选择"
,
"search"
:
"查询"
,
"reset"
:
"重置"
}
\ No newline at end of file
src/locales/controlPlan/relationshipManagement/domesticRegulationPart/en.json
0 → 100644
View file @
846b2a34
{
"standardNumber"
:
"Standard Number"
,
"standardName"
:
"Standard Name"
,
"partName"
:
"Part Name"
,
"notice"
:
"A total of 5 CQC key components not related to regulations"
,
"serialNumber"
:
"Serial Number"
,
"correspondingParts"
:
"Corresponding Parts"
,
"order"
:
"order"
,
"createTime"
:
"Create Time"
,
"updateTime"
:
"Update Time"
,
"operation"
:
"operation"
,
"add"
:
"add"
,
"handleUpdate"
:
"Edit"
,
"handleDelete"
:
"Delete"
,
"submitForm"
:
"Confirm"
,
"cancel"
:
"Cancel"
,
"handleQuery"
:
"Search Button Operation"
,
"resetQuery"
:
"Reset Button Operation"
,
"modifySuccess"
:
"Modification Successful"
,
"addSuccess"
:
"Addition Successful"
,
"deleteSuccess"
:
"Deletion Successful"
,
"confirmDelete"
:
"Are you sure you want to delete this data item?"
,
"pleaseEnter"
:
"PleaseEnter"
,
"pleaseChoose"
:
"PleaseChoose"
,
"search"
:
"Search"
,
"reset"
:
"Reset"
}
\ No newline at end of file
src/locales/controlPlan/relationshipManagement/internationalRegulationPart/cn.json
0 → 100644
View file @
846b2a34
{
"standardNumber"
:
"标准编号"
,
"standardName"
:
"标准名称"
,
"partName"
:
"零件名称"
,
"notice"
:
"共5个未关联法规的CQC关键零部件"
,
"serialNumber"
:
"序号"
,
"correspondingParts"
:
"对应零件"
,
"applicableMarket"
:
"适用市场"
,
"createTime"
:
"创建时间"
,
"updateTime"
:
"修改时间"
,
"operation"
:
"操作"
,
"add"
:
"新增"
,
"handleUpdate"
:
"编辑"
,
"handleDelete"
:
"删除"
,
"submitForm"
:
"确定"
,
"cancel"
:
"取消"
,
"handleQuery"
:
"搜索按钮操作"
,
"resetQuery"
:
"重置按钮操作"
,
"modifySuccess"
:
"修改成功"
,
"addSuccess"
:
"新增成功"
,
"deleteSuccess"
:
"删除成功"
,
"confirmDelete"
:
"是否确认删除该数据项?"
,
"pleaseEnter"
:
"请输入"
,
"pleaseChoose"
:
"请选择"
,
"search"
:
"查询"
,
"reset"
:
"重置"
,
"responsibleDepartmentForTheGuaranteePlan"
:
"保证计划书责任部门"
}
src/locales/controlPlan/relationshipManagement/internationalRegulationPart/en.json
0 → 100644
View file @
846b2a34
{
"standardNumber"
:
"Standard Number"
,
"standardName"
:
"Standard Name"
,
"partName"
:
"Part Name"
,
"notice"
:
"A total of 5 CQC key components not related to regulations"
,
"serialNumber"
:
"Serial Number"
,
"correspondingParts"
:
"Corresponding Parts"
,
"applicableMarket"
:
"Applicable Market"
,
"order"
:
"order"
,
"createTime"
:
"Create Time"
,
"updateTime"
:
"Update Time"
,
"operation"
:
"operation"
,
"add"
:
"add"
,
"handleUpdate"
:
"Edit"
,
"handleDelete"
:
"Delete"
,
"submitForm"
:
"Confirm"
,
"cancel"
:
"Cancel"
,
"handleQuery"
:
"Search Button Operation"
,
"resetQuery"
:
"Reset Button Operation"
,
"modifySuccess"
:
"Modification Successful"
,
"addSuccess"
:
"Addition Successful"
,
"deleteSuccess"
:
"Deletion Successful"
,
"confirmDelete"
:
"Are you sure you want to delete this data item?"
,
"pleaseEnter"
:
"PleaseEnter"
,
"pleaseChoose"
:
"PleaseChoose"
,
"search"
:
"Search"
,
"reset"
:
"Reset"
,
"responsibleDepartmentForTheGuaranteePlan"
:
"Responsible department for the guarantee plan"
}
\ No newline at end of file
src/views/baseData/vehicleModelData/domesticModel.vue
View file @
846b2a34
...
...
@@ -6,9 +6,9 @@
<div
class=
"tree-header"
>
<el-input
v-model=
"quickSearchText"
placeholder=
"请输入节点
"
:placeholder=
"`$
{cn.quickNodeSearch}/${en.quickNodeSearch}`
"
clearable
prefix-icon=
"el-icon-search
"
@input="handleSearchInput
"
/>
</div>
<div
class=
"tree-content"
>
...
...
@@ -35,15 +35,17 @@
ref=
"queryRef"
:model=
"queryParams"
:inline=
"true"
label-width=
"130px"
border
>
<el-form-item
label=
"车型系列"
prop=
"modelSeries"
>
<el-form-item
:label=
"`$
{cn.modelSeries}/${en.modelSeries}`"
prop="modelSeries"
>
<el-select
v-model=
"queryParams.modelSeries"
placeholder=
"请选择
"
:placeholder=
"`$
{cn.pleaseChoose}/${en.pleaseChoose}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
>
<el-option
v-for=
"item in modelSeriesOptions"
...
...
@@ -53,12 +55,15 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"动力类型"
prop=
"powerType"
>
<el-form-item
:label=
"`$
{cn.powerType}/${en.powerType}`"
prop="powerType"
>
<el-select
v-model=
"queryParams.powerType"
placeholder=
"请选择
"
:placeholder=
"`$
{cn.pleaseChoose}/${en.pleaseChoose}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
>
<el-option
v-for=
"dict in power_type"
...
...
@@ -68,12 +73,15 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"是否维护"
prop=
"isMaintained"
>
<el-form-item
:label=
"`$
{cn.isMaintained}/${en.isMaintained}`"
prop="isMaintained"
>
<el-select
v-model=
"queryParams.isMaintained"
placeholder=
"请选择
"
:placeholder=
"`$
{cn.pleaseChoose}/${en.pleaseChoose}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
>
<el-option
v-for=
"item in vehicle_model_maintenance"
...
...
@@ -83,12 +91,15 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"事业部"
prop=
"businessUnitId"
>
<el-form-item
:label=
"`$
{cn.businessUnit}/${en.businessUnit}`"
prop="businessUnitId"
>
<el-select
v-model=
"queryParams.businessUnitId"
placeholder=
"请选择
"
:placeholder=
"`$
{cn.pleaseChoose}/${en.pleaseChoose}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
>
<el-option
v-for=
"item in businessUnitOptions"
...
...
@@ -99,30 +110,39 @@
</el-select>
</el-form-item>
<el-form-item
label=
"发动机型号"
prop=
"engineModel"
>
<el-form-item
:label=
"`$
{cn.engineModel}/${en.engineModel}`"
prop="engineModel"
>
<el-input
v-model=
"queryParams.engineModel"
placeholder=
"请输入
"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
label=
"认证申报生产地址"
prop=
"productionAddress"
>
<el-form-item
:label=
"`$
{cn.certifiedDeclarationOfProductionAddress}/${en.certifiedDeclarationOfProductionAddress}`"
prop="productionAddress"
>
<el-input
v-model=
"queryParams.productionAddress"
placeholder=
"请输入
"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
label=
"制造工厂"
prop=
"manufacturingPlant"
>
<el-form-item
:label=
"`$
{cn.manufactureFactory}/${en.manufactureFactory}`"
prop="manufacturingPlant"
>
<el-select
v-model=
"queryParams.manufacturingPlant"
placeholder=
"请选择
"
:placeholder=
"`$
{cn.pleaseChoose}/${en.pleaseChoose}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
>
<el-option
v-for=
"item in factoryOptions"
...
...
@@ -135,27 +155,27 @@
<el-form-item
label=
"CVN"
prop=
"cvn"
>
<el-input
v-model=
"queryParams.cvn"
placeholder=
"请输入
"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
label=
"CALID"
prop=
"calid"
>
<el-input
v-model=
"queryParams.calid"
placeholder=
"请输入
"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`
"
clearable
style=
"width:
1
00px"
style="width:
2
00px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
class=
"btn-A"
icon=
"Search
"
@
click=
"handleQuery"
>
搜索
</el-button
<el-button
style=
"width: 110px"
class=
"btn-A
"
@
click=
"handleQuery"
>
{{
cn
.
search
}}
/
{{
en
.
search
}}
</el-button
>
<el-button
class=
"btn-B"
icon=
"Refresh
"
@
click=
"resetQuery"
>
重置
</el-button
<el-button
style=
"width: 110px"
class=
"btn-B
"
@
click=
"resetQuery"
>
{{
cn
.
reset
}}
/
{{
en
.
reset
}}
</el-button
>
<div>
<el-button
...
...
@@ -166,7 +186,7 @@
color: #0154fb;
"
@
click=
"handleExport"
>
导出
</el-button
>
{{
cn
.
export
}}
/
{{
en
.
export
}}
</el-button
>
</div>
</el-form-item>
...
...
@@ -191,7 +211,13 @@
/>
<!-- 序号列(固定) -->
<el-table-column
label=
"序号"
align=
"center"
width=
"80"
fixed=
"left"
>
<el-table-column
label=
"序号"
align=
"center"
width=
"120"
fixed=
"left"
>
<template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
serialNumber
}}
</div>
<div>
{{
en
.
serialNumber
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
...
...
@@ -202,17 +228,86 @@
label=
"事业部"
align=
"center"
prop=
"businessUnitName"
/>
<el-table-column
label=
"车型代码"
align=
"center"
prop=
"modelCode"
/>
<el-table-column
label=
"车型系列"
align=
"center"
prop=
"modelSeries"
/>
<el-table-column
label=
"动力类型"
align=
"center"
prop=
"powerType"
/>
width=
"120"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
businessUnit
}}
</div>
<div>
{{
en
.
businessUnit
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"车型代码"
align=
"center"
prop=
"modelCode"
min-width=
"150"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
vehicleModelCode
}}
</div>
<div>
{{
en
.
vehicleModelCode
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"车型系列"
align=
"center"
prop=
"modelSeries"
width=
"120"
><
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
modelSeries
}}
</div>
<div>
{{
en
.
modelSeries
}}
</div>
</div>
</
template
></el-table-column
>
<el-table-column
label=
"动力类型"
align=
"center"
width=
"120"
prop=
"powerType"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
powerType
}}
</div>
<div>
{{
en
.
powerType
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"车型公告号"
align=
"center"
width=
"220"
prop=
"modelAnnouncementNumber"
/>
<el-table-column
label=
"品牌"
align=
"center"
prop=
"brand"
/>
<el-table-column
label=
"是否维护"
align=
"center"
prop=
"isMaintained"
>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
modelAnnouncementNumber
}}
</div>
<div>
{{
en
.
modelAnnouncementNumber
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"品牌"
align=
"center"
width=
"100"
prop=
"brand"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
brand
}}
</div>
<div>
{{
en
.
brand
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"是否维护"
align=
"center"
width=
"120"
prop=
"isMaintained"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
isMaintained
}}
</div>
<div>
{{
en
.
isMaintained
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
<dict-tag
:options=
"vehicle_model_maintenance"
...
...
@@ -223,34 +318,92 @@
<el-table-column
label=
"发动机型号"
align=
"center"
width=
"120"
prop=
"engineModel"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
engineModel
}}
</div>
<div>
{{
en
.
engineModel
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"车型代码今年累计产量"
align=
"center"
width=
"200"
prop=
"modelCodeYearlyProduction"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
modelCodeCumulativeProductionThisYear
}}
</div>
<div>
{{
en
.
modelCodeCumulativeProductionThisYear
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"车型公告号今年累计产量"
align=
"center"
width=
"320"
prop=
"announcementYearlyProduction"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
vehicleModelAnnouncementNumberCumulativeProductionThisYear
}}
</div>
<div>
{{
en
.
vehicleModelAnnouncementNumberCumulativeProductionThisYear
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"CVN"
align=
"center"
prop=
"cvn"
width=
"120"
/>
<el-table-column
label=
"CALID"
align=
"center"
prop=
"calid"
/>
<el-table-column
label=
"认证申报生产地址"
align=
"center"
width=
"320"
prop=
"productionAddress"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
certifiedDeclarationOfProductionAddress
}}
</div>
<div>
{{
en
.
certifiedDeclarationOfProductionAddress
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"制造工厂"
align=
"center"
prop=
"manufacturingPlant"
width=
"150"
/>
width=
"200"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
manufactureFactory
}}
</div>
<div>
{{
en
.
manufactureFactory
}}
</div>
</div>
</
template
>
</el-table-column>
<!-- 固定右侧的操作列 -->
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
min-width=
"150"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
operation
}}
</div>
<div>
{{
en
.
operation
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
<el-button
link
...
...
@@ -355,6 +508,8 @@ import { getAllFactoryName } from '@/api/system/factory'
import
{
getAllBusinessUnitName
}
from
'@/api/system/basicdata/businessunit'
import
{
getAllModelSeries
}
from
'@/api/filingParameter/library.js'
import
{
computed
,
ref
,
toRefs
,
watch
}
from
'vue'
import
cn
from
'@/locales/baseData/vehicleModelData/domesticModel/cn.json'
import
en
from
'@/locales/baseData/vehicleModelData/domesticModel/en.json'
import
{
updateManufacturers
}
from
'@/api/system/basicdata/manufacturer.js'
const
appStore
=
useAppStore
()
...
...
@@ -446,19 +601,48 @@ const treeProps = {
children
:
'children'
,
}
// 处理搜索输入
const
handleSearchInput
=
()
=>
{
deptTreeRef
.
value
.
filter
(
quickSearchText
.
value
.
toLowerCase
())
}
/** 通过条件过滤节点 */
const
filterNode
=
(
value
,
data
)
=>
{
if
(
!
value
)
return
true
return
data
.
label
.
indexOf
(
value
)
!==
-
1
const
searchValue
=
value
.
toLowerCase
()
// 检查节点标签
if
(
data
.
label
&&
data
.
label
.
toLowerCase
().
includes
(
searchValue
))
{
return
true
}
// 检查原始数据字段
if
(
data
.
originalData
)
{
return
Object
.
values
(
data
.
originalData
).
some
((
val
)
=>
{
if
(
typeof
val
===
'string'
)
{
return
val
.
toLowerCase
().
includes
(
searchValue
)
}
return
false
})
}
return
false
}
/** 根据名称筛选部门树 */
/*watch(modelCode, (val) => {
proxy.$refs['deptTreeRef'].filter(val)
})*/
/** 节点单击事件 */
function
handleNodeClick
(
data
)
{
queryParams
.
value
.
deptId
=
data
.
id
console
.
log
(
'data'
,
data
)
if
(
data
.
label
===
'全部'
)
{
queryParams
.
value
.
modelCode
=
''
queryParams
.
value
.
modelAnnouncementNumber
=
''
}
else
{
if
(
data
.
children
)
{
queryParams
.
value
.
modelCode
=
data
.
label
}
else
{
queryParams
.
value
.
modelAnnouncementNumber
=
data
.
label
}
}
handleQuery
()
}
// Vue 中的 v-model 绑定默认是字符串类型。
...
...
@@ -471,6 +655,7 @@ const businessUnitOptions = ref([]) // 获取所有事业部列表
const
quickSearchText
=
ref
(
''
)
// 原始数据副本
const
originalModelList
=
ref
([])
const
deptTreeRef
=
ref
(
null
)
const
factoryOptions
=
ref
([])
const
modelSeriesOptions
=
ref
([])
...
...
src/views/baseData/vehicleModelData/internationalModel.vue
View file @
846b2a34
...
...
@@ -6,9 +6,9 @@
<div
class=
"tree-header"
>
<el-input
v-model=
"quickSearchText"
placeholder=
"请输入节点
"
:placeholder=
"`$
{cn.quickNodeSearch}/${en.quickNodeSearch}`
"
clearable
prefix-icon=
"el-icon-search
"
@input="handleSearchInput
"
/>
</div>
<div
class=
"tree-content"
>
...
...
@@ -35,14 +35,16 @@
ref=
"queryRef"
:model=
"queryParams"
:inline=
"true"
label-width=
"96px"
>
<el-form-item
label=
"动力类型"
prop=
"powerType"
>
<el-form-item
:label=
"`$
{cn.powerType}/${en.powerType}`"
prop="powerType"
>
<el-select
v-model=
"queryParams.powerType"
placeholder=
"请选择"
clearable
style=
"width:
1
00px"
style=
"width:
2
00px"
>
<el-option
v-for=
"dict in power_type"
...
...
@@ -52,48 +54,63 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"发动机型号"
prop=
"engineModel"
>
<el-form-item
:label=
"`$
{cn.engineModel}/${en.engineModel}`"
prop="engineModel"
>
<el-input
v-model=
"queryParams.engineModel"
placeholder=
"请输入"
clearable
style=
"width:
1
00px"
style=
"width:
2
00px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"动力电池型号"
prop=
"powerBatteryModel"
>
<el-form-item
:label=
"`$
{cn.powerBatteryModel}/${en.powerBatteryModel}`"
prop="powerBatteryModel"
>
<el-input
v-model=
"queryParams.powerBatteryModel"
placeholder=
"请输入"
clearable
style=
"width:
1
00px"
style=
"width:
2
00px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"变速器型号"
prop=
"transmissionModel"
>
<el-form-item
:label=
"`$
{cn.transmissionModel}/${en.transmissionModel}`"
prop="transmissionModel"
>
<el-input
v-model=
"queryParams.transmissionModel"
placeholder=
"请输入"
clearable
style=
"width:
12
0px"
style=
"width:
20
0px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"适用市场"
prop=
"applicableMarket"
>
<el-form-item
:label=
"`$
{cn.applicableMarket}/${en.applicableMarket}`"
prop="applicableMarket"
>
<el-input
v-model=
"queryParams.applicableMarket"
placeholder=
"请输入"
clearable
style=
"width:
12
0px"
style=
"width:
20
0px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"事业部"
prop=
"businessUnitId"
>
<el-form-item
:label=
"`$
{cn.businessUnit}/${en.businessUnit}`"
prop="businessUnitId"
>
<el-select
v-model=
"queryParams.businessUnitId"
placeholder=
"请选择"
clearable
style=
"width:
12
0px"
style=
"width:
20
0px"
>
<el-option
v-for=
"item in businessUnitOptions"
...
...
@@ -103,30 +120,39 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"整车认证证书"
prop=
"vehicleCertificate"
>
<el-form-item
:label=
"`$
{cn.vehicleCertificate}/${en.vehicleCertificate}`"
prop="vehicleCertificate"
>
<el-input
v-model=
"queryParams.vehicleCertificate"
placeholder=
"请输入"
clearable
style=
"width:
1
00px"
style=
"width:
2
00px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"单项证书"
prop=
"singleCertificate"
>
<el-form-item
:label=
"`$
{cn.singleCertificate}/${en.singleCertificate}`"
prop="singleCertificate"
>
<el-input
v-model=
"queryParams.singleCertificate"
placeholder=
"请输入"
clearable
style=
"width:
1
00px"
style=
"width:
2
00px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"是否维护"
prop=
"isMaintained"
>
<el-form-item
:label=
"`$
{cn.isMaintained}/${en.isMaintained}`"
prop="isMaintained"
>
<el-select
v-model=
"queryParams.isMaintained"
placeholder=
"请选择"
clearable
style=
"width:
1
00px"
style=
"width:
2
00px"
>
<el-option
v-for=
"item in vehicle_model_maintenance"
...
...
@@ -138,11 +164,11 @@
</el-form-item>
<el-form-item>
<el-button
class=
"btn-A"
icon=
"Search
"
@
click=
"handleQuery"
>
搜索
</el-button
<el-button
style=
"width: 110px"
class=
"btn-A
"
@
click=
"handleQuery"
>
{{
cn
.
search
}}
/
{{
en
.
search
}}
</el-button
>
<el-button
class=
"btn-B"
icon=
"Refresh
"
@
click=
"resetQuery"
>
重置
</el-button
<el-button
style=
"width: 110px"
class=
"btn-B
"
@
click=
"resetQuery"
>
{{
cn
.
reset
}}
/
{{
en
.
reset
}}
</el-button
>
<div>
<el-button
...
...
@@ -153,7 +179,7 @@
color: #0154fb;
"
@
click=
"handleExport"
>
导出
</el-button
>
{{
cn
.
export
}}
/
{{
en
.
export
}}
</el-button
>
</div>
</el-form-item>
...
...
@@ -169,51 +195,160 @@
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
width=
"80"
>
<el-table-column
label=
"序号"
align=
"center"
width=
"120"
>
<template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
serialNumber
}}
</div>
<div>
{{
en
.
serialNumber
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"type"
align=
"center"
prop=
"type"
/>
<el-table-column
label=
"车型代码"
align=
"center"
prop=
"modelCode"
/>
<el-table-column
label=
"动力类型"
align=
"center"
prop=
"powerType"
/>
<el-table-column
label=
"type"
align=
"center"
width=
"100"
prop=
"type"
/>
<el-table-column
label=
"车型代码"
align=
"center"
width=
"150"
prop=
"modelCode"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
vehicleModelCode
}}
</div>
<div>
{{
en
.
vehicleModelCode
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"动力类型"
align=
"center"
width=
"120"
prop=
"powerType"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
powerType
}}
</div>
<div>
{{
en
.
powerType
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"发动机型号"
align=
"center"
width=
"120"
prop=
"engineModel"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
engineModel
}}
</div>
<div>
{{
en
.
engineModel
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"动力电池型号"
align=
"center"
width=
"180"
prop=
"powerBatteryModel"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
powerBatteryModel
}}
</div>
<div>
{{
en
.
powerBatteryModel
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"变速器型号"
align=
"center"
width=
"180"
prop=
"transmissionModel"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
transmissionModel
}}
</div>
<div>
{{
en
.
transmissionModel
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"适用市场"
align=
"center"
width=
"150"
prop=
"applicableMarket"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
applicableMarket
}}
</div>
<div>
{{
en
.
applicableMarket
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"事业部"
align=
"center"
width=
"120"
prop=
"businessUnitName"
/>
<el-table-column
label=
"品牌"
align=
"center"
prop=
"brand"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
businessUnit
}}
</div>
<div>
{{
en
.
businessUnit
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"品牌"
align=
"center"
width=
"100"
prop=
"brand"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
brand
}}
</div>
<div>
{{
en
.
brand
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"整车认证证书"
align=
"center"
width=
"150"
prop=
"vehicleCertificate"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
vehicleCertificate
}}
</div>
<div>
{{
en
.
vehicleCertificate
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"单项证书"
align=
"center"
width=
"150"
prop=
"singleCertificate"
/>
<el-table-column
label=
"是否维护"
align=
"center"
prop=
"isMaintained"
>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
singleCertificate
}}
</div>
<div>
{{
en
.
singleCertificate
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"是否维护"
align=
"center"
width=
"120"
prop=
"isMaintained"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
isMaintained
}}
</div>
<div>
{{
en
.
isMaintained
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
<dict-tag
:options=
"vehicle_model_maintenance"
...
...
@@ -225,18 +360,41 @@
<el-table-column
label=
"今年累计产量"
align=
"center"
width=
"250"
prop=
"yearlyProduction"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
accumulatedProductionThisYear
}}
</div>
<div>
{{
en
.
accumulatedProductionThisYear
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"制造工厂"
align=
"center"
width=
"200"
prop=
"manufacturingPlant"
/>
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
manufactureFactory
}}
</div>
<div>
{{
en
.
manufactureFactory
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
fixed=
"right"
min-width=
"150"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
operation
}}
</div>
<div>
{{
en
.
operation
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
<el-button
v-hasPermi=
"['control:model:edit']"
...
...
@@ -331,10 +489,12 @@ import {
updateModel
,
listModel
,
getModel
,
treeListModel
,
treeList
International
Model
,
}
from
'@/api/vehicleModelData/domestic'
import
{
getAllFactoryName
}
from
'@/api/system/factory'
import
{
getAllBusinessUnitName
}
from
'@/api/system/basicdata/businessunit'
import
cn
from
'@/locales/baseData/vehicleModelData/internationalModel/cn.json'
import
en
from
'@/locales/baseData/vehicleModelData/internationalModel/en.json'
import
{
computed
,
ref
,
toRefs
,
watch
}
from
'vue'
const
{
proxy
}
=
getCurrentInstance
()
const
{
vehicle_model_maintenance
,
power_type
}
=
proxy
.
useDict
(
...
...
@@ -383,6 +543,7 @@ const data = reactive({
},
rules
:
{},
})
const
deptTreeRef
=
ref
(
null
)
// 树形结构固定数据
const
deptOptions
=
ref
([
{
...
...
@@ -427,14 +588,48 @@ const treeProps = {
label
:
'label'
,
children
:
'children'
,
}
// 处理搜索输入
const
handleSearchInput
=
()
=>
{
deptTreeRef
.
value
.
filter
(
quickSearchText
.
value
.
toLowerCase
())
}
/** 通过条件过滤节点 */
const
filterNode
=
(
value
,
data
)
=>
{
if
(
!
value
)
return
true
return
data
.
label
.
indexOf
(
value
)
!==
-
1
const
searchValue
=
value
.
toLowerCase
()
// 检查节点标签
if
(
data
.
label
&&
data
.
label
.
toLowerCase
().
includes
(
searchValue
))
{
return
true
}
// 检查原始数据字段
if
(
data
.
originalData
)
{
return
Object
.
values
(
data
.
originalData
).
some
((
val
)
=>
{
if
(
typeof
val
===
'string'
)
{
return
val
.
toLowerCase
().
includes
(
searchValue
)
}
return
false
})
}
return
false
}
function
handleNodeClick
(
data
)
{
queryParams
.
value
.
deptId
=
data
.
id
console
.
log
(
'data'
,
data
)
if
(
data
.
label
===
'全部'
)
{
queryParams
.
value
.
type
=
''
queryParams
.
value
.
modelCode
=
''
queryParams
.
value
.
powerType
=
''
}
else
{
if
(
data
.
children
)
{
queryParams
.
value
.
modelCode
=
data
.
label
}
else
{
queryParams
.
value
.
powerType
=
data
.
label
}
}
handleQuery
()
}
// Vue 中的 v-model 绑定默认是字符串类型。
...
...
@@ -493,19 +688,21 @@ function getList() {
})
}
/** 查询国
内车型列表
*/
/** 查询国
际车型树状结构图
*/
function
getTreeList
()
{
loading
.
value
=
true
return
treeListModel
(
queryParams
.
value
).
then
((
response
)
=>
{
return
treeList
International
Model
(
queryParams
.
value
).
then
((
response
)
=>
{
// Transform the response data into the desired tree structure
deptOptions
.
value
[
0
].
children
=
Object
.
entries
(
response
).
map
(
([
modelCod
e
,
items
])
=>
({
id
:
modelCod
e
,
label
:
modelCod
e
,
([
typ
e
,
items
])
=>
({
id
:
typ
e
,
label
:
typ
e
,
children
:
items
.
map
((
item
)
=>
({
id
:
item
.
modelAnnouncementNumber
,
label
:
item
.
modelAnnouncementNumber
||
'未命名公告号'
,
originalData
:
item
,
// Keep reference to original data
id
:
item
.
modelCode
,
label
:
`
${
item
.
modelCode
||
'未命名公告号'
}
${
item
.
powerType
||
''
}
`
,
modelCode
:
item
.
modelCode
,
// 保留原始字段
powerType
:
item
.
powerType
,
// 保留原始字段
originalData
:
item
,
// 保留原始数据
})),
}),
)
...
...
@@ -514,7 +711,24 @@ function getTreeList() {
console
.
log
(
'Tree data:'
,
JSON
.
stringify
(
deptOptions
.
value
,
null
,
2
))
})
}
// 计算属性实现快速搜索
const
filteredList
=
computed
(()
=>
{
if
(
!
quickSearchText
.
value
)
return
originalModelList
.
value
const
searchText
=
quickSearchText
.
value
.
toLowerCase
()
return
originalModelList
.
value
.
filter
((
item
)
=>
{
return
(
(
item
.
type
&&
item
.
type
.
toLowerCase
().
includes
(
searchText
))
||
(
item
.
modelCode
&&
item
.
modelCode
.
toLowerCase
().
includes
(
searchText
))
||
(
item
.
powerType
&&
item
.
powerType
.
toLowerCase
().
includes
(
searchText
))
)
})
})
// 监听 filteredList 并更新 modelList
watch
(
filteredList
,
(
newVal
)
=>
{
modelList
.
value
=
newVal
})
// 取消按钮
function
cancel
()
{
open
.
value
=
false
...
...
src/views/controlPlan/relationshipManagement/domesticRegulationPart/index.vue
0 → 100644
View file @
846b2a34
<
template
>
<div
class=
"app-container"
>
<el-form
v-show=
"showSearch"
ref=
"queryRef"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
:label=
"`$
{cn.standardNumber}/${en.standardNumber}`"
prop="standardNumberId"
>
<el-input
v-model=
"queryParams.standardNumberId"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"`$
{cn.standardName}/${en.standardName}`"
prop="standardNumberId"
>
<el-input
v-model=
"queryParams.standardNumberId"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"`$
{cn.partName}/${en.partName}`"
prop="standardNumberId"
>
<el-input
v-model=
"queryParams.standardNumberId"
:placeholder=
"`$
{cn.pleaseChoose}/${en.pleaseChoose}`"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
style=
"width: 110px"
class=
"btn-A"
@
click=
"handleQuery"
>
{{
cn
.
search
}}
/
{{
en
.
search
}}
</el-button
>
<el-button
style=
"width: 110px"
class=
"btn-B"
@
click=
"resetQuery"
>
{{
cn
.
reset
}}
/
{{
en
.
reset
}}
</el-button
>
</el-form-item>
<el-form-item>
共5个未关联法规的CQC关键零部件
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"partList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"序号"
align=
"center"
width=
"150"
fixed=
"left"
>
<template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
serialNumber
}}
</div>
<div>
{{
en
.
serialNumber
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"标准编号"
align=
"center"
prop=
"standardNumberId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
standardNumber
}}
</div>
<div>
{{
en
.
standardNumber
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"标准名称"
align=
"center"
prop=
"partId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
standardName
}}
</div>
<div>
{{
en
.
standardName
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"对应零件"
align=
"center"
prop=
"partId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
correspondingParts
}}
</div>
<div>
{{
en
.
correspondingParts
}}
</div>
</div>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
v-model:page=
"queryParams.pageNum"
v-model:limit=
"queryParams.pageSize"
:total=
"total"
@
pagination=
"getList"
/>
</div>
<!-- 添加或修改国际法规与关键件中间对话框 -->
<el-dialog
v-model=
"open"
:title=
"title"
width=
"500px"
append-to-body
>
<el-form
ref=
"partRef"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
<el-form-item
label=
"${comment}"
prop=
"delFlag"
>
<el-input
v-model=
"form.delFlag"
placeholder=
"请输入${comment}"
/>
</el-form-item>
<el-form-item
label=
"零件表ID"
prop=
"partId"
>
<el-input
v-model=
"form.partId"
placeholder=
"请输入零件表ID"
/>
</el-form-item>
<el-form-item
label=
"标准编号"
prop=
"standardNumberId"
>
<el-input
v-model=
"form.standardNumberId"
placeholder=
"请输入标准编号"
/>
</el-form-item>
</el-form>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
class=
"btn-B"
@
click=
"submitForm"
>
{{
cn
.
cancel
}}
/
{{
en
.
cancel
}}
</el-button
>
<el-button
class=
"btn-A"
@
click=
"cancel"
>
{{
cn
.
submitForm
}}
/
{{
en
.
submitForm
}}
</el-button
>
</div>
</
template
>
</el-dialog>
</template>
<
script
setup
name=
"Part"
>
/*import {
listPart,
getPart,
delPart,
addPart,
updatePart,
} from '@/api/control/part'*/
import
cn
from
'@/locales/controlPlan/relationshipManagement/domesticRegulationPart/cn.json'
import
en
from
'@/locales/controlPlan/relationshipManagement/domesticRegulationPart/en.json'
const
{
proxy
}
=
getCurrentInstance
()
const
partList
=
ref
([])
const
open
=
ref
(
false
)
const
loading
=
ref
(
false
)
const
showSearch
=
ref
(
true
)
const
ids
=
ref
([])
const
single
=
ref
(
true
)
const
multiple
=
ref
(
true
)
const
total
=
ref
(
0
)
const
title
=
ref
(
''
)
const
data
=
reactive
({
form
:
{},
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
partId
:
null
,
standardNumberId
:
null
,
},
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
'创建时间不能为空'
,
trigger
:
'blur'
},
],
updateBy
:
[{
required
:
true
,
message
:
'更新人不能为空'
,
trigger
:
'blur'
}],
updateTime
:
[
{
required
:
true
,
message
:
'更新时间不能为空'
,
trigger
:
'blur'
},
],
partId
:
[{
required
:
true
,
message
:
'零件表ID不能为空'
,
trigger
:
'blur'
}],
standardNumberId
:
[
{
required
:
true
,
message
:
'标准编号不能为空'
,
trigger
:
'blur'
},
],
},
})
const
{
queryParams
,
form
,
rules
}
=
toRefs
(
data
)
/** 查询国际法规与关键件中间列表 */
function
getList
()
{
loading
.
value
=
false
listPart
(
queryParams
.
value
).
then
((
response
)
=>
{
partList
.
value
=
response
.
rows
total
.
value
=
response
.
total
loading
.
value
=
false
})
}
// 取消按钮
function
cancel
()
{
open
.
value
=
false
reset
()
}
// 表单重置
function
reset
()
{
form
.
value
=
{
id
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
remark
:
null
,
delFlag
:
null
,
partId
:
null
,
standardNumberId
:
null
,
}
proxy
.
resetForm
(
'partRef'
)
}
/** 搜索按钮操作 */
function
handleQuery
()
{
queryParams
.
value
.
pageNum
=
1
getList
()
}
/** 重置按钮操作 */
function
resetQuery
()
{
proxy
.
resetForm
(
'queryRef'
)
handleQuery
()
}
// 多选框选中数据
function
handleSelectionChange
(
selection
)
{
ids
.
value
=
selection
.
map
((
item
)
=>
item
.
id
)
single
.
value
=
selection
.
length
!=
1
multiple
.
value
=
!
selection
.
length
}
/** 新增按钮操作 */
function
handleAdd
()
{
reset
()
open
.
value
=
true
title
.
value
=
'添加国际法规与关键件中间'
}
/** 修改按钮操作 */
function
handleUpdate
(
row
)
{
reset
()
const
_id
=
row
.
id
||
ids
.
value
getPart
(
_id
).
then
((
response
)
=>
{
form
.
value
=
response
.
data
open
.
value
=
true
title
.
value
=
'修改国际法规与关键件中间'
})
}
/** 提交按钮 */
function
submitForm
()
{
proxy
.
$refs
[
'partRef'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
form
.
value
.
id
!=
null
)
{
updatePart
(
form
.
value
).
then
((
response
)
=>
{
proxy
.
$modal
.
msgSuccess
(
'修改成功'
)
open
.
value
=
false
getList
()
})
}
else
{
addPart
(
form
.
value
).
then
((
response
)
=>
{
proxy
.
$modal
.
msgSuccess
(
'新增成功'
)
open
.
value
=
false
getList
()
})
}
}
})
}
/** 删除按钮操作 */
function
handleDelete
(
row
)
{
const
_ids
=
row
.
id
||
ids
.
value
proxy
.
$modal
.
confirm
(
'是否确认删除国际法规与关键件中间编号为"'
+
_ids
+
'"的数据项?'
)
.
then
(
function
()
{
return
delPart
(
_ids
)
})
.
then
(()
=>
{
getList
()
proxy
.
$modal
.
msgSuccess
(
'删除成功'
)
})
.
catch
(()
=>
{})
}
/** 导出按钮操作 */
function
handleExport
()
{
proxy
.
download
(
'control/part/export'
,
{
...
queryParams
.
value
,
},
`part_
${
new
Date
().
getTime
()}
.xlsx`
,
)
}
/*getList()*/
</
script
>
src/views/controlPlan/relationshipManagement/internationalRegulationPart/index.vue
0 → 100644
View file @
846b2a34
<
template
>
<div
class=
"app-container"
>
<el-form
v-show=
"showSearch"
ref=
"queryRef"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
:label=
"`$
{cn.standardNumber}/${en.standardNumber}`"
prop="standardNumberId"
>
<el-input
v-model=
"queryParams.standardNumberId"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"`$
{cn.standardName}/${en.standardName}`"
prop="standardNumberId"
>
<el-input
v-model=
"queryParams.standardNumberId"
:placeholder=
"`$
{cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"`$
{cn.partName}/${en.partName}`"
prop="standardNumberId"
>
<el-input
v-model=
"queryParams.standardNumberId"
:placeholder=
"`$
{cn.pleaseChoose}/${en.pleaseChoose}`"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"`$
{cn.applicableMarket}/${en.applicableMarket}`"
prop="standardNumberId"
>
<el-input
v-model=
"queryParams.standardNumberId"
:placeholder=
"`$
{cn.applicableMarket}/${en.applicableMarket}`"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
style=
"width: 110px"
class=
"btn-A"
@
click=
"handleQuery"
>
{{
cn
.
search
}}
/
{{
en
.
search
}}
</el-button
>
<el-button
style=
"width: 110px"
class=
"btn-B"
@
click=
"resetQuery"
>
{{
cn
.
reset
}}
/
{{
en
.
reset
}}
</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"partList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"序号"
align=
"center"
width=
"150"
fixed=
"left"
>
<template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
serialNumber
}}
</div>
<div>
{{
en
.
serialNumber
}}
</div>
</div>
</
template
>
<
template
#
default=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"标准编号"
align=
"center"
prop=
"standardNumberId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
standardNumber
}}
</div>
<div>
{{
en
.
standardNumber
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"标准名称"
align=
"center"
prop=
"partId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
standardName
}}
</div>
<div>
{{
en
.
standardName
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"适用市场"
align=
"center"
prop=
"partId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
applicableMarket
}}
</div>
<div>
{{
en
.
applicableMarket
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"对应零件"
align=
"center"
prop=
"partId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
correspondingParts
}}
</div>
<div>
{{
en
.
correspondingParts
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"保证计划书责任部门"
align=
"center"
prop=
"partId"
>
<
template
#
header
>
<div
style=
"display: flex; flex-direction: column"
>
<div>
{{
cn
.
responsibleDepartmentForTheGuaranteePlan
}}
</div>
<div>
{{
en
.
responsibleDepartmentForTheGuaranteePlan
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"330"
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
v-model:page=
"queryParams.pageNum"
v-model:limit=
"queryParams.pageSize"
:total=
"total"
@
pagination=
"getList"
/>
<!-- 添加或修改国际法规与关键件中间对话框 -->
<el-dialog
v-model=
"open"
:title=
"title"
width=
"500px"
append-to-body
>
<el-form
ref=
"partRef"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
<el-form-item
label=
"${comment}"
prop=
"delFlag"
>
<el-input
v-model=
"form.delFlag"
placeholder=
"请输入${comment}"
/>
</el-form-item>
<el-form-item
label=
"零件表ID"
prop=
"partId"
>
<el-input
v-model=
"form.partId"
placeholder=
"请输入零件表ID"
/>
</el-form-item>
<el-form-item
label=
"标准编号"
prop=
"standardNumberId"
>
<el-input
v-model=
"form.standardNumberId"
placeholder=
"请输入标准编号"
/>
</el-form-item>
</el-form>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
class=
"btn-B"
@
click=
"submitForm"
>
{{
cn
.
cancel
}}
/
{{
en
.
cancel
}}
</el-button
>
<el-button
class=
"btn-A"
@
click=
"cancel"
>
{{
cn
.
submitForm
}}
/
{{
en
.
submitForm
}}
</el-button
>
</div>
</
template
>
</el-dialog>
</div>
</template>
<
script
setup
name=
"Part"
>
/*import { listPart, getPart, delPart, addPart, updatePart } from "@/api/control/part";*/
import
cn
from
'@/locales/controlPlan/relationshipManagement/internationalRegulationPart/cn.json'
import
en
from
'@/locales/controlPlan/relationshipManagement/internationalRegulationPart/en.json'
const
{
proxy
}
=
getCurrentInstance
()
const
partList
=
ref
([])
const
open
=
ref
(
false
)
const
loading
=
ref
(
false
)
const
showSearch
=
ref
(
true
)
const
ids
=
ref
([])
const
single
=
ref
(
true
)
const
multiple
=
ref
(
true
)
const
total
=
ref
(
0
)
const
title
=
ref
(
''
)
const
data
=
reactive
({
form
:
{},
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
partId
:
null
,
standardNumberId
:
null
,
},
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
'创建时间不能为空'
,
trigger
:
'blur'
},
],
updateBy
:
[{
required
:
true
,
message
:
'更新人不能为空'
,
trigger
:
'blur'
}],
updateTime
:
[
{
required
:
true
,
message
:
'更新时间不能为空'
,
trigger
:
'blur'
},
],
partId
:
[{
required
:
true
,
message
:
'零件表ID不能为空'
,
trigger
:
'blur'
}],
standardNumberId
:
[
{
required
:
true
,
message
:
'标准编号不能为空'
,
trigger
:
'blur'
},
],
},
})
const
{
queryParams
,
form
,
rules
}
=
toRefs
(
data
)
/** 查询国际法规与关键件中间列表 */
function
getList
()
{
loading
.
value
=
true
listPart
(
queryParams
.
value
).
then
((
response
)
=>
{
partList
.
value
=
response
.
rows
total
.
value
=
response
.
total
loading
.
value
=
false
})
}
// 取消按钮
function
cancel
()
{
open
.
value
=
false
reset
()
}
// 表单重置
function
reset
()
{
form
.
value
=
{
id
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
remark
:
null
,
delFlag
:
null
,
partId
:
null
,
standardNumberId
:
null
,
}
proxy
.
resetForm
(
'partRef'
)
}
/** 搜索按钮操作 */
function
handleQuery
()
{
queryParams
.
value
.
pageNum
=
1
getList
()
}
/** 重置按钮操作 */
function
resetQuery
()
{
proxy
.
resetForm
(
'queryRef'
)
handleQuery
()
}
// 多选框选中数据
function
handleSelectionChange
(
selection
)
{
ids
.
value
=
selection
.
map
((
item
)
=>
item
.
id
)
single
.
value
=
selection
.
length
!=
1
multiple
.
value
=
!
selection
.
length
}
/** 新增按钮操作 */
function
handleAdd
()
{
reset
()
open
.
value
=
true
title
.
value
=
'添加国际法规与关键件中间'
}
/** 修改按钮操作 */
function
handleUpdate
(
row
)
{
reset
()
const
_id
=
row
.
id
||
ids
.
value
getPart
(
_id
).
then
((
response
)
=>
{
form
.
value
=
response
.
data
open
.
value
=
true
title
.
value
=
'修改国际法规与关键件中间'
})
}
/** 提交按钮 */
function
submitForm
()
{
proxy
.
$refs
[
'partRef'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
form
.
value
.
id
!=
null
)
{
updatePart
(
form
.
value
).
then
((
response
)
=>
{
proxy
.
$modal
.
msgSuccess
(
'修改成功'
)
open
.
value
=
false
getList
()
})
}
else
{
addPart
(
form
.
value
).
then
((
response
)
=>
{
proxy
.
$modal
.
msgSuccess
(
'新增成功'
)
open
.
value
=
false
getList
()
})
}
}
})
}
/** 删除按钮操作 */
function
handleDelete
(
row
)
{
const
_ids
=
row
.
id
||
ids
.
value
proxy
.
$modal
.
confirm
(
'是否确认删除国际法规与关键件中间编号为"'
+
_ids
+
'"的数据项?'
)
.
then
(
function
()
{
return
delPart
(
_ids
)
})
.
then
(()
=>
{
getList
()
proxy
.
$modal
.
msgSuccess
(
'删除成功'
)
})
.
catch
(()
=>
{})
}
/** 导出按钮操作 */
function
handleExport
()
{
proxy
.
download
(
'control/part/export'
,
{
...
queryParams
.
value
,
},
`part_
${
new
Date
().
getTime
()}
.xlsx`
,
)
}
//getList();
</
script
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment