Commit 6a86e284 authored by qiyaxin's avatar qiyaxin

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

parents bb582cf7 17858db2
import request from '@/utils/request'
// 查询列表
export function list(query) {
return request({
url: '/control/sysNotificationAcceptance/list',
method: 'get',
params: query
})
}
<template>
<div class="app-container">
通知单承接
<el-form v-model="queryParams" ref="queryRef" :inline="true">
<el-form-item label="通知单编号:" prop="notificationNumber">
<el-input placeholder="请输入" v-model="queryParams.notificationNumber" style="width: 120px" />
</el-form-item>
<el-form-item label="认证机构:" prop="certificationBody">
<el-select
v-model="queryParams.certificationBody"
placeholder="请选择"
clearable
style="width: 120px"
>
<el-option
v-for="dict in certification_body"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="事业部:" prop="businessDivisionId">
<el-select
v-model="queryParams.businessDivisionId"
placeholder="请选择"
clearable
style="width: 120px"
>
<el-option
v-for="dict in unitList"
:label="dict.businessUnitName"
:value="dict.id"
/>
</el-select>
</el-form-item>
<el-form-item label="车型代码:" prop="vehicleModelCode">
<el-select
v-model="queryParams.vehicleModelCode"
placeholder="请选择"
clearable
style="width: 120px"
>
<el-option
v-for="dict in modelCodeList"
:label="dict.vehicleModelCode"
:value="dict.vehicleModelCode"
/>
</el-select>
</el-form-item>
<el-form-item label="车型系列:" prop="vehicleSeries">
<el-select
v-model="queryParams.vehicleSeries"
placeholder="请选择"
clearable
style="width: 120px"
>
<el-option
v-for="dict in vehicleModelSeriesList"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="生产地址:" prop="productionAddress">
<el-input placeholder="请输入" v-model="queryParams.productionAddress" style="width: 120px" />
</el-form-item>
<el-form-item label="车型公告号:" prop="productionAddress">
<el-input placeholder="请输入" v-model="queryParams.productionAddress" style="width: 120px" />
</el-form-item>
<el-form-item label="变更类型:" prop="changeType">
<el-select
v-model="queryParams.changeType"
placeholder="请选择"
clearable
style="width: 120px"
>
<!-- 假设这里有变更类型的字典数据 -->
<el-option
v-for="dict in change_type_dict"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="认证负责人:" prop="certificationResponsiblePerson">
<el-input placeholder="请输入" v-model="queryParams.certificationResponsiblePerson" style="width: 120px" />
</el-form-item>
<el-form-item label="创建人:" prop="createUserName">
<el-input placeholder="请输入" v-model="queryParams.createUserName" style="width: 120px" />
</el-form-item>
<el-form-item label="批准人:" prop="approvalUserName">
<el-input placeholder="请输入" v-model="queryParams.approvalUserName" style="width: 120px" />
</el-form-item>
<el-form-item label="控制计划创建状态:" prop="notificationStatus">
<el-select
v-model="queryParams.notificationStatus"
placeholder="请选择"
clearable
style="width: 120px"
>
<el-option
v-for="dict in notification_status"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="封面创建状态:" prop="notificationStatus">
<el-select
v-model="queryParams.notificationStatus"
placeholder="请选择"
clearable
style="width: 120px"
>
<el-option
v-for="dict in notification_status"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item >
<el-button type="primary" class="btn-A" @click="handleQuery">查询</el-button>
<el-button @click="resetQuery" class="btn-B">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="tableList" :default-sort="{prop: 'approvalDate', order: 'descending'}">
<el-table-column type="index" width="55" align="center" label="序号"/>
<el-table-column
label="通知单编号"
align="center"
prop="notificationNumber"
sortable
width="120"
>
</el-table-column>
<el-table-column
label="认证机构"
align="center"
prop="certificationBody"
sortable
:sort-method="(a, b) => a.certificationBody.localeCompare(b.certificationBody)"
/>
<el-table-column
label="事业部"
align="center"
prop="businessUnitName"
sortable
:sort-method="(a, b) => a.businessUnitName.localeCompare(b.businessUnitName)"
/>
<el-table-column
label="车型代码"
align="center"
prop="vehicleModelCode"
sortable
/>
<el-table-column
label="车型系列"
align="center"
prop="vehicleSeries"
sortable
:sort-method="(a, b) => a.vehicleSeries.localeCompare(b.vehicleSeries)"
>
<template #default="scope">
<dict-tag :options="getDictList(scope.row.vehicleSeries)?vehicle_model_series_icar:vehicle_model_series" :value="scope.row.vehicleSeries" />
</template>
</el-table-column>
<el-table-column
label="生产地址"
align="center"
prop="productionAddress"
width="150"
sortable
:sort-method="(a, b) => a.productionAddress.localeCompare(b.productionAddress)"
/>
<el-table-column
label="车型公告号"
align="center"
prop="vehicleAnnouncementNumber"
width="150"
sortable
:sort-method="(a, b) => a.productionAddress.localeCompare(b.productionAddress)"
>
<template #default="scope">
<span>涉及{{scope.row.vehicleAnnouncementNumber || '0'}}</span>
</template>
</el-table-column>
<el-table-column
label="变更类型"
align="center"
prop="changeType"
sortable
:sort-method="(a, b) => a.changeType.localeCompare(b.changeType)"
>
<template #default="scope">
<span>{{scope.row.vehicleAnnouncementNumber || '--'}}</span>
</template>
</el-table-column>
<el-table-column
label="认证负责人"
align="center"
prop="certificationResponsiblePerson"
sortable
:sort-method="(a, b) => a.certificationResponsiblePerson.split(',').length - b.certificationResponsiblePerson.split(',').length"
>
<template #default="scope">
<span >{{scope.row.certificationResponsiblePerson.split(',').length}}</span>
</template>
</el-table-column>
<el-table-column
label="批准日期"
align="center"
prop="approvalDate"
sortable
:sort-method="(a, b) => new Date(b.approvalDate) - new Date(a.approvalDate)"
>
<template #default="scope">
<span>{{scope.row.approvalDate || '--'}}</span>
</template>
</el-table-column>
<el-table-column
label="承接人"
align="center"
prop="acceptUserName"
width="150"
sortable
:sort-method="(a, b) => a.productionAddress.localeCompare(b.productionAddress)"
>
<template #default="scope">
<span>{{scope.row.acceptUserName || '--'}}</span>
</template>
</el-table-column>
<el-table-column
label="控制计划创建状态"
align="center"
prop="notificationStatus"
width="120"
sortable
:sort-method="(a, b) => a.notificationStatus.localeCompare(b.notificationStatus)"
>
<template #default="scope">
<span>{{scope.row.controlPlanStatus === '0'?'待创建':'已经创建'}}</span>
</template>
</el-table-column>
<el-table-column
label="封面创建状态"
align="center"
prop="notificationStatus"
sortable
:sort-method="(a, b) => a.notificationStatus.localeCompare(b.notificationStatus)"
>
<template #default="scope">
<span>{{scope.row.coverStatus === '0'?'待创建':'已经创建'}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200">
<template #default="scope">
<el-button type="text" style="color: rgb(0,0,255)" @click="handleView(scope.row)">触发控制计划</el-button>
<el-button type="text" style="color: rgb(0,0,255)" @click="handleView(scope.row)">触发封面</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script setup>
import {
list
} from "@/api/noticeAcceptance/list.js"
const { proxy } = getCurrentInstance();
// 从全局字典中获取事业部 icar 才能选择的车型系列数据
const { vehicle_model_series_icar } = proxy.useDict('vehicle_model_series_icar')
// 从全局字典中获取除事业部 icar 外可选择的车型系列数据
const { vehicle_model_series } = proxy.useDict('vehicle_model_series')
const total = ref()
const queryParams = ref({
pageNum:1,
pageSize:10
})
const tableList = ref([])
function getDictList(v){
//车型系列-除了事业部icar选这个
let a = toRaw(toRaw(vehicle_model_series_icar)._object).vehicle_model_series_icar
// let b = toValue(vehicle_model_series)
if(a.find(item => item.value === v)) {
return true
}else return false
}
function getList(){
list(queryParams.value).then(res=>{
console.log(res)
total.value = res.total
tableList.value = res.rows
})
}
getList()
</script>
<style scoped lang="scss">
:deep(.el-form--inline .el-form-item) {
margin-right: 5px;
}
.button-container {
width: 50%;
}
:deep(.custom-dialog) {
display: flex;
flex-direction: column;
margin: 0 auto !important; /* 水平居中 */
max-height: calc(100vh - 30px); /* 限制最大高度 */
top: 30%; /* 顶部偏移 30% */
transform: translateY(-50%); /* 向上偏移自身高度的 50%,实现垂直居中 */
.el-dialog__body {
flex: 1;
overflow: auto;
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment