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
c3a79d84
Commit
c3a79d84
authored
Apr 29, 2025
by
祁正
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(通知单内容维护和管理):维护变更记录
parent
c288a701
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
216 additions
and
16 deletions
+216
-16
list.js
src/api/notificationContent/list.js
+8
-0
index.vue
...ntrolPlan/controlPlanNotice/notificationContent/index.vue
+0
-2
info.vue
...ontrolPlan/controlPlanNotice/notificationContent/info.vue
+208
-14
No files found.
src/api/notificationContent/list.js
View file @
c3a79d84
...
@@ -8,3 +8,11 @@ export function list(query) {
...
@@ -8,3 +8,11 @@ export function list(query) {
params
:
query
params
:
query
})
})
}
}
// 获取顶部信息-根据通知单管理id
export
function
getTopDetailInfo
(
id
)
{
return
request
({
url
:
'/control/sysNotificationContent/getTopDetailInfo/'
+
id
,
method
:
'get'
})
}
src/views/controlPlan/controlPlanNotice/notificationContent/index.vue
View file @
c3a79d84
...
@@ -264,8 +264,6 @@
...
@@ -264,8 +264,6 @@
</div>
</div>
</template>
</template>
<
script
setup
>
<
script
setup
>
import
DeleteDialog
from
'@/components/DeleteDialog/index.vue'
;
import
SelectRole
from
"@/components/SelectRole/index.vue"
import
{
import
{
brandData
,
brandData
,
getALLManufacturerList
,
getALLManufacturerList
,
...
...
src/views/controlPlan/controlPlanNotice/notificationContent/info.vue
View file @
c3a79d84
...
@@ -3,22 +3,21 @@
...
@@ -3,22 +3,21 @@
<!-- 头部信息 -->
<!-- 头部信息 -->
<div
class=
"top"
>
<div
class=
"top"
>
<div
style=
"display: flex;align-items: center;width: 70%;justify-content: space-between"
>
<div
style=
"display: flex;align-items: center;width: 70%;justify-content: space-between"
>
<el-button
type=
"primary"
@
click=
"
handleCli
ck"
>
返回
</el-button>
<el-button
type=
"primary"
@
click=
"
goBa
ck"
>
返回
</el-button>
<span>
通知单编号:
20241201-001
</span>
<span>
通知单编号:
{{
topDetailInfo
.
notificationNumber
}}
</span>
<span>
认证机构
:CCAP
</span>
<span>
认证机构
:
{{
topDetailInfo
.
certificationBody
}}
</span>
<span>
事业部
:奇瑞
</span>
<span>
事业部
:
{{
topDetailInfo
.
businessUnitName
}}
</span>
<span>
车型代码
:T18
</span>
<span>
车型代码
:
{{
topDetailInfo
.
vehicleModelCode
}}
</span>
<span>
车型系列
:CJ1B
</span>
<span>
车型系列
:
{{
getLabelByKey
(
topDetailInfo
.
vehicleSeries
)
}}
</span>
<span>
生产地址
:中国安徽省芜湖市经济技术开发区长春路8号
</span>
<span>
生产地址
:
{{
topDetailInfo
.
productionAddress
}}
</span>
</div>
</div>
<div>
<div
style=
"width: 20%;display: flex;align-items: center;justify-content: space-evenly"
>
<span>
<span>
认证负责人:xxx、xxx、xxx、xxx
认证负责人:
<span
:style=
"item.certification_status === '0'?'':'color:#19be6b'"
v-for=
"(item,i) in topDetailInfo.renzhengStatusList"
>
{{
item
.
nick_name
}}
<span
v-if=
"i !== topDetailInfo.renzhengStatusList.length - 1"
>
、
</span></span>
</span>
<span
class=
"status-progress"
style=
"margin-left: 10px"
>
● 收集中
</span>
</span>
<span>
<dict-tag
:options=
"notification_status"
:value=
"topDetailInfo.notificationStatus"
/></span>
</div>
</div>
</div>
</div>
...
@@ -78,7 +77,7 @@
...
@@ -78,7 +77,7 @@
<!-- 为该表单项添加 right-align 类 -->
<!-- 为该表单项添加 right-align 类 -->
<el-form-item
class=
"button-container right-align"
style=
"position: relative;"
>
<el-form-item
class=
"button-container right-align"
style=
"position: relative;"
>
<div
>
<div
>
<el-button
type=
"primary"
class=
"btn-C"
@
click=
"
handleQuery
"
>
添加
</el-button>
<el-button
type=
"primary"
class=
"btn-C"
@
click=
"
addWeiHu
"
>
添加
</el-button>
<el-button
@
click=
"resetQuery"
class=
"btn-A"
>
完成维护
</el-button>
<el-button
@
click=
"resetQuery"
class=
"btn-A"
>
完成维护
</el-button>
</div>
</div>
</el-form-item>
</el-form-item>
...
@@ -114,12 +113,172 @@
...
@@ -114,12 +113,172 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<!-- 抽屉-->
<el-drawer
@
close=
"drawerColse"
v-model=
"drawer"
>
<
template
#
header
>
<div
style=
"font-weight: bold;font-size: 14px"
>
{{
drawerTitle
}}
</div>
</
template
>
<
template
#
default
>
<el-form
class=
"drawer-form"
:rules=
"rules"
:model=
"drawerQueryParams"
label-width=
"100px"
ref=
"drawerQueryRef"
>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"车型公告号:"
prop=
"certificationBody"
>
<el-select
v-model=
"drawerQueryParams.certificationBody"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"dict in 4"
:label=
"dict"
:value=
"dict"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"动力类型:"
prop=
"businessDivisionId"
>
<el-select
v-model=
"drawerQueryParams.businessDivisionId"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"dict in 4"
:label=
"dict"
:value=
"dict"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"变更类型:"
prop=
"vehicleModelCode"
>
<el-select
v-model=
"drawerQueryParams.vehicleModelCode"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in 4"
:label=
"dict"
:value=
"dict"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"车辆类型:"
prop=
"vehicleSeries"
>
<el-select
v-model=
"drawerQueryParams.vehicleSeries"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"dict in 4"
:label=
"dict"
:value=
"dict"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"项目负责人:"
prop=
"manufacturerId"
>
<el-input
placeholder=
"请输入"
v-model=
"drawerQueryParams.manufacturerId"
/>
</el-form-item>
</el-col>
</el-row>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"RTX/TEL:"
prop=
"manufacturerId"
>
<el-input
placeholder=
"请输入"
v-model=
"drawerQueryParams.manufacturerId"
/>
</el-form-item>
</el-col>
</el-row>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"认证负责人:"
prop=
"certificationResponsiblePerson"
>
<el-select
v-model=
"drawerQueryParams.certificationResponsiblePerson"
placeholder=
"请选择认证负责人"
clearable
>
<el-option
v-for=
"dict in 4"
:label=
"dict"
:value=
"dict"
/>
</el-select>
</el-form-item>
</el-col>
<el-row
>
<el-col
:offset=
"1"
:span=
"22"
>
<el-form-item
label=
"完成日期:"
prop=
"manufacturerId"
>
<el-date-picker
v-model=
"drawerQueryParams.selectedDate"
type=
"date"
style=
"width: 436px"
placeholder=
"选择日期"
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
/>
</el-form-item>
</el-col>
</el-row>
</el-row>
</el-form>
</
template
>
<
template
#
footer
>
<div
style=
"flex: auto"
>
<el-button
class=
"btn-B"
@
click=
"cancelClick"
>
取消
</el-button>
<el-button
class=
"btn-A"
type=
"primary"
@
click=
"confirmClick(drawerQueryRef)"
>
保存
</el-button>
</div>
</
template
>
</el-drawer>
</div>
</div>
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
getTopDetailInfo
}
from
"@/api/notificationContent/list.js"
import
{
useRoute
}
from
'vue-router'
;
import
{
useRoute
}
from
'vue-router'
;
const
drawerTitle
=
ref
(
''
)
const
drawer
=
ref
(
false
)
const
tableList
=
ref
([])
const
tableList
=
ref
([])
const
topDetailInfo
=
ref
({})
const
{
proxy
}
=
getCurrentInstance
();
const
drawerQueryParams
=
ref
({
})
const
{
notification_status
}
=
proxy
.
useDict
(
'notification_status'
)
// 从全局字典中获取事业部 icar 才能选择的车型系列数据
const
{
vehicle_model_series_icar
}
=
proxy
.
useDict
(
'vehicle_model_series_icar'
)
// 从全局字典中获取除事业部 icar 外可选择的车型系列数据
const
{
vehicle_model_series
}
=
proxy
.
useDict
(
'vehicle_model_series'
)
// 获取当前路由实例
// 获取当前路由实例
const
route
=
useRoute
();
const
route
=
useRoute
();
// 从路由参数中获取 id
// 从路由参数中获取 id
...
@@ -128,6 +287,41 @@ const queryParams = ref({
...
@@ -128,6 +287,41 @@ const queryParams = ref({
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
})
})
function
addWeiHu
(){
drawerTitle
.
value
=
'新增'
drawer
.
value
=
true
}
function
goBack
(){
router
.
go
(
-
1
);
}
function
getTopInfo
(){
getTopDetailInfo
(
id
).
then
(
res
=>
{
console
.
log
(
res
)
topDetailInfo
.
value
=
res
.
data
})
}
const
getLabelByKey
=
(
key
)
=>
{
// 先在 vehicle_model_series_icar 中查找
console
.
log
(
vehicle_model_series_icar
.
_object
.
vehicle_model_series_icar
)
const
itemInIcar
=
vehicle_model_series_icar
.
_object
.
vehicle_model_series_icar
.
find
(
item
=>
item
.
value
===
key
);
if
(
itemInIcar
)
{
return
itemInIcar
.
label
;
}
// 若 vehicle_model_series_icar 中未找到,再在 vehicle_model_series 中查找
const
itemInSeries
=
vehicle_model_series
.
_object
.
vehicle_model_series
.
find
(
item
=>
item
.
value
===
key
);
if
(
itemInSeries
)
{
return
itemInSeries
.
label
;
}
// 若两个字典都未找到,返回空字符串
return
''
;
};
getTopInfo
()
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
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