Commit a22dee3f authored by qiyaxin's avatar qiyaxin

CCAP编制任务处理

parent 1ebc857a
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"serialNumber": "序号", "serialNumber": "序号",
"viewHistoricalControlPlan": "查看历史控制计划", "viewHistoricalControlPlan": "查看历史控制计划",
"view": "查看", "view": "查看",
"process": "处理",
"revoke": "撤销", "revoke": "撤销",
"adjustCompilationResponsiblePerson": "调整编制负责人", "adjustCompilationResponsiblePerson": "调整编制负责人",
"generateFile": "生成文件", "generateFile": "生成文件",
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"serialNumber": "Ordinal", "serialNumber": "Ordinal",
"viewHistoricalControlPlan": "View Historical Control Plan", "viewHistoricalControlPlan": "View Historical Control Plan",
"view": "View", "view": "View",
"process": "Process",
"revoke": "Revoke", "revoke": "Revoke",
"adjustCompilationResponsiblePerson": "Adjust Compilation Responsible Person", "adjustCompilationResponsiblePerson": "Adjust Compilation Responsible Person",
"generateFile": "Generate File", "generateFile": "Generate File",
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-tabs v-model="activeTab" class="demo-tabs"> <el-tabs v-model="activeTab">
<el-tab-pane :label="'编制中('+total1+')'" name="first">
<el-tab-pane :label="'编制中('+total+')'" name="first"> <div>
<el-form v-model="queryParams" ref="queryRef" :inline="true"> <el-form v-model="queryParams1" ref="queryRef" :inline="true">
<el-row :gutter="20"> <el-row :gutter="20">
<!-- 事业部 --> <!-- 事业部 -->
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.businessDivision}/${en.businessDivision}`" prop="businessUnitId"> <el-form-item :label="`${cn.businessDivision}/${en.businessDivision}`" prop="businessUnitId">
<el-select <el-select
v-model="queryParams.businessUnitId" v-model="queryParams1.businessUnitId"
:placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`" :placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.vehicleTypeCode}/${en.vehicleTypeCode}`" prop="vehicleModelCode"> <el-form-item :label="`${cn.vehicleTypeCode}/${en.vehicleTypeCode}`" prop="vehicleModelCode">
<el-select <el-select
v-model="queryParams.vehicleModelCode" v-model="queryParams1.vehicleModelCode"
:placeholder="`${cn.pleaseChooseOrEnter}/${en.pleaseChooseOrEnter}`" :placeholder="`${cn.pleaseChooseOrEnter}/${en.pleaseChooseOrEnter}`"
clearable clearable
filterable filterable
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.vehicleTypeSeries}/${en.vehicleTypeSeries}`" prop="vehicleSeries"> <el-form-item :label="`${cn.vehicleTypeSeries}/${en.vehicleTypeSeries}`" prop="vehicleSeries">
<el-select <el-select
v-model="queryParams.vehicleSeries" v-model="queryParams1.vehicleSeries"
:placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`" :placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="车型公告号" prop="versionNumber"> <el-form-item label="车型公告号" prop="versionNumber">
<el-input <el-input
v-model="queryParams.versionNumber" v-model="queryParams1.versionNumber"
placeholder="A0-Z9" placeholder="A0-Z9"
clearable clearable
disabled disabled
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.versionNumber}/${en.versionNumber}`" prop="versionNumber"> <el-form-item :label="`${cn.versionNumber}/${en.versionNumber}`" prop="versionNumber">
<el-input <el-input
v-model="queryParams.versionNumber" v-model="queryParams1.versionNumber"
placeholder="A0-Z9" placeholder="A0-Z9"
clearable clearable
disabled disabled
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="任务状态" prop="productionAddress"> <el-form-item label="任务状态" prop="productionAddress">
<el-input <el-input
v-model="queryParams.productionAddress" v-model="queryParams1.productionAddress"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`" :placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -105,7 +105,9 @@ ...@@ -105,7 +105,9 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-table :data="tableList"> </div>
<div>
<el-table :data="tableList1">
<el-table-column fixed type="index" width="75" align="center" label="序号"> <el-table-column fixed type="index" width="75" align="center" label="序号">
<template #header> <template #header>
<div style="display: flex;flex-direction: column"> <div style="display: flex;flex-direction: column">
...@@ -231,81 +233,40 @@ ...@@ -231,81 +233,40 @@
</template> </template>
<template #default="scope"> <template #default="scope">
<!-- 查看 --> <!-- 查看 -->
<el-button link type="primary" @click="handleView(scope.row)"> <el-button link type="primary" @click="handleView1(scope.row)">
<div> <div>
<div>{{cn.view}}</div> <div>{{cn.view}}</div>
<div>{{en.view}}</div> <div>{{en.view}}</div>
</div> </div>
</el-button> </el-button>
<!-- 撤销 --> <!-- 处理 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_drafting' || scope.row.controlPlanStatus === 'plan_draft_completed'" link type="danger" @click="handleUndo(scope.row)"> <el-button link type="danger" @click="handleProcess1(scope.row)">
<div>
<div>{{cn.revoke}}</div>
<div>{{en.revoke}}</div>
</div>
</el-button>
<!-- 删除 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_revoked' || scope.row.controlPlanStatus === 'plan_draft_deleted'" link type="danger" @click="handleDelete(scope.row.id)">
<div>
<div>{{cn.delete}}</div>
<div>{{en.delete}}</div>
</div>
</el-button>
<!-- 调整编制负责人 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_drafting' || scope.row.controlPlanStatus === 'plan_draft_completed'" link type="primary" @click="adjustCompilationResponsiblePerson(scope.row)">
<div> <div>
<div>{{cn.adjustCompilationResponsiblePerson}}</div> <div>{{cn.process}}</div>
<div>{{en.adjustCompilationResponsiblePerson}}</div> <div>{{en.process}}</div>
</div>
</el-button>
<!-- 生成文件 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="warning">
<div>
<div>{{cn.generateFile}}</div>
<div>{{en.generateFile}}</div>
</div>
</el-button>
<!-- 提醒下载 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="primary" @click="handleRemindDownload(scope.row)">
<div>
<div>{{cn.remindDownload}}</div>
<div>{{en.remindDownload}}</div>
</div>
</el-button>
<!-- 变更 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="warning" @click="handleChange(scope.row)">
<div>
<div>{{cn.change}}</div>
<div>{{en.change}}</div>
</div>
</el-button>
<!-- 微调 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="primary" @click="fineTune(scope.row)">
<div>
<div>{{cn.fineTune}}</div>
<div>{{en.fineTune}}</div>
</div> </div>
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div>
<pagination <pagination
v-show="total>-1" v-show="total1>-1"
:total="total" :total="total1"
v-model:page="queryParams.pageNum" v-model:page="queryParams1.pageNum"
v-model:limit="queryParams.pageSize" v-model:limit="queryParams1.pageSize"
@pagination="getList" @pagination="getList"
/> />
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="'编制完成('+total2+')'" name="second">
<el-tab-pane :label="'编制完成('+total+')'" name="second"> <div>
<el-form v-model="queryParams" ref="queryRef" :inline="true"> <el-form v-model="queryParams2" ref="queryRef" :inline="true">
<el-row :gutter="20"> <el-row :gutter="20">
<!-- 事业部 --> <!-- 事业部 -->
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.businessDivision}/${en.businessDivision}`" prop="businessUnitId"> <el-form-item :label="`${cn.businessDivision}/${en.businessDivision}`" prop="businessUnitId">
<el-select <el-select
v-model="queryParams.businessUnitId" v-model="queryParams2.businessUnitId"
:placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`" :placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -322,7 +283,7 @@ ...@@ -322,7 +283,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.vehicleTypeCode}/${en.vehicleTypeCode}`" prop="vehicleModelCode"> <el-form-item :label="`${cn.vehicleTypeCode}/${en.vehicleTypeCode}`" prop="vehicleModelCode">
<el-select <el-select
v-model="queryParams.vehicleModelCode" v-model="queryParams2.vehicleModelCode"
:placeholder="`${cn.pleaseChooseOrEnter}/${en.pleaseChooseOrEnter}`" :placeholder="`${cn.pleaseChooseOrEnter}/${en.pleaseChooseOrEnter}`"
clearable clearable
filterable filterable
...@@ -340,7 +301,7 @@ ...@@ -340,7 +301,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.vehicleTypeSeries}/${en.vehicleTypeSeries}`" prop="vehicleSeries"> <el-form-item :label="`${cn.vehicleTypeSeries}/${en.vehicleTypeSeries}`" prop="vehicleSeries">
<el-select <el-select
v-model="queryParams.vehicleSeries" v-model="queryParams2.vehicleSeries"
:placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`" :placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -360,7 +321,7 @@ ...@@ -360,7 +321,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="车型公告号" prop="versionNumber"> <el-form-item label="车型公告号" prop="versionNumber">
<el-input <el-input
v-model="queryParams.versionNumber" v-model="queryParams2.versionNumber"
placeholder="A0-Z9" placeholder="A0-Z9"
clearable clearable
disabled disabled
...@@ -372,7 +333,7 @@ ...@@ -372,7 +333,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="`${cn.versionNumber}/${en.versionNumber}`" prop="versionNumber"> <el-form-item :label="`${cn.versionNumber}/${en.versionNumber}`" prop="versionNumber">
<el-input <el-input
v-model="queryParams.versionNumber" v-model="queryParams2.versionNumber"
placeholder="A0-Z9" placeholder="A0-Z9"
clearable clearable
disabled disabled
...@@ -384,7 +345,7 @@ ...@@ -384,7 +345,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="任务状态" prop="productionAddress"> <el-form-item label="任务状态" prop="productionAddress">
<el-input <el-input
v-model="queryParams.productionAddress" v-model="queryParams2.productionAddress"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`" :placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -401,7 +362,9 @@ ...@@ -401,7 +362,9 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-table :data="tableList"> </div>
<div>
<el-table :data="tableList2">
<el-table-column fixed type="index" width="75" align="center" label="序号"> <el-table-column fixed type="index" width="75" align="center" label="序号">
<template #header> <template #header>
<div style="display: flex;flex-direction: column"> <div style="display: flex;flex-direction: column">
...@@ -527,73 +490,31 @@ ...@@ -527,73 +490,31 @@
</template> </template>
<template #default="scope"> <template #default="scope">
<!-- 查看 --> <!-- 查看 -->
<el-button link type="primary" @click="handleView(scope.row)"> <el-button link type="primary" @click="handleView2(scope.row)">
<div> <div>
<div>{{cn.view}}</div> <div>{{cn.view}}</div>
<div>{{en.view}}</div> <div>{{en.view}}</div>
</div> </div>
</el-button> </el-button>
<!-- 撤销 --> <!-- 处理 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_drafting' || scope.row.controlPlanStatus === 'plan_draft_completed'" link type="danger" @click="handleUndo(scope.row)"> <el-button link type="danger" @click="handleProcess2(scope.row)">
<div>
<div>{{cn.revoke}}</div>
<div>{{en.revoke}}</div>
</div>
</el-button>
<!-- 删除 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_revoked' || scope.row.controlPlanStatus === 'plan_draft_deleted'" link type="danger" @click="handleDelete(scope.row.id)">
<div>
<div>{{cn.delete}}</div>
<div>{{en.delete}}</div>
</div>
</el-button>
<!-- 调整编制负责人 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_drafting' || scope.row.controlPlanStatus === 'plan_draft_completed'" link type="primary" @click="adjustCompilationResponsiblePerson(scope.row)">
<div>
<div>{{cn.adjustCompilationResponsiblePerson}}</div>
<div>{{en.adjustCompilationResponsiblePerson}}</div>
</div>
</el-button>
<!-- 生成文件 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="warning">
<div>
<div>{{cn.generateFile}}</div>
<div>{{en.generateFile}}</div>
</div>
</el-button>
<!-- 提醒下载 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="primary" @click="handleRemindDownload(scope.row)">
<div> <div>
<div>{{cn.remindDownload}}</div> <div>{{cn.process}}</div>
<div>{{en.remindDownload}}</div> <div>{{en.process}}</div>
</div>
</el-button>
<!-- 变更 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="warning" @click="handleChange(scope.row)">
<div>
<div>{{cn.change}}</div>
<div>{{en.change}}</div>
</div>
</el-button>
<!-- 微调 -->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="primary" @click="fineTune(scope.row)">
<div>
<div>{{cn.fineTune}}</div>
<div>{{en.fineTune}}</div>
</div> </div>
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div>
<pagination <pagination
v-show="total>-1" v-show="total2>-1"
:total="total" :total="total2"
v-model:page="queryParams.pageNum" v-model:page="queryParams2.pageNum"
v-model:limit="queryParams.pageSize" v-model:limit="queryParams2.pageSize"
@pagination="getList" @pagination="getList"
/> />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
...@@ -606,13 +527,20 @@ import en from '@/locales/controlPlan/CCAPControlPlan/CCAPCompileTaskProcessing/ ...@@ -606,13 +527,20 @@ import en from '@/locales/controlPlan/CCAPControlPlan/CCAPCompileTaskProcessing/
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { getDicts } from '@/api/system/dict/data.js' import { getDicts } from '@/api/system/dict/data.js'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import {
getAllBusinessUnitName,
getAllvehicleModelCode, getCCAPPlanList,
} from '@/api/CCAPControlPlanManagement/CCAPControlPlanManagement.js'
const router = useRouter() const router = useRouter()
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const {vehicle_model_series, control_plan_status} = proxy.useDict('vehicle_model_series','control_plan_status'); const {vehicle_model_series, control_plan_status} = proxy.useDict('vehicle_model_series','control_plan_status');
const activeTab = ref('first') const activeTab = ref('first')
const total = ref(0); const businessList = ref([]);
const queryParams = ref({ const vehicleModelCodeList = ref([])
//编制中
const total1 = ref(4);
const queryParams1 = ref({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
businessUnitId:null, businessUnitId:null,
...@@ -625,14 +553,147 @@ const queryParams = ref({ ...@@ -625,14 +553,147 @@ const queryParams = ref({
productionAddress:null, productionAddress:null,
productionFactory:null productionFactory:null
}); });
//编制中
const tableList1 = ref([
{
controlPlanNumber: 'CP0001',
businessUnitName: '奇瑞',
vehicleTypeCode: 'Q001',
vehicleTypeSeries: '家用轿车系列',
versionNumber: 'V1.0',
productionAddress: '工厂 A 区',
compilationDeadline: '2025-06-30',
createBy: '张三',
renwumingcheng: '家用轿车控制计划编制任务',
bianzhifuzeren: '李四',
wodechulizhaungtai: '待处理',
renwuzhuangtai: '进行中',
controlPlanStatus: 'plan_drafting',
id: 1
},
{
controlPlanNumber: 'CP0002',
businessUnitName: '星途',
vehicleTypeCode: 'E001',
vehicleTypeSeries: '电动 SUV 系列',
versionNumber: 'V1.1',
productionAddress: '工厂 B 区',
compilationDeadline: '2025-07-15',
createBy: '王五',
renwumingcheng: '电动 SUV 控制计划编制任务',
bianzhifuzeren: '赵六',
wodechulizhaungtai: '处理中',
renwuzhuangtai: '进行中',
controlPlanStatus: 'plan_draft_completed',
id: 2
},
{
controlPlanNumber: 'CP0003',
businessUnitName: '智界',
vehicleTypeCode: 'S001',
vehicleTypeSeries: '货运卡车系列',
versionNumber: 'V2.0',
productionAddress: '工厂 C 区',
compilationDeadline: '2025-08-01',
createBy: '孙七',
renwumingcheng: '货运卡车控制计划编制任务',
bianzhifuzeren: '周八',
wodechulizhaungtai: '已完成',
renwuzhuangtai: '已结束',
controlPlanStatus: 'plan_draft_final_confirmed',
id: 3
},
{
controlPlanNumber: 'CP0004',
businessUnitName: '捷途',
vehicleTypeCode: 'J001',
vehicleTypeSeries: '旅行车系列',
versionNumber: 'V1.2',
productionAddress: '工厂 D 区',
compilationDeadline: '2025-09-10',
createBy: '吴九',
renwumingcheng: '旅行车控制计划编制任务',
bianzhifuzeren: '郑十',
wodechulizhaungtai: '待审核',
renwuzhuangtai: '待完成',
controlPlanStatus: 'plan_drafting',
id: 4
},
{
controlPlanNumber: 'CP0005',
businessUnitName: 'iCAR',
vehicleTypeCode: 'I001',
vehicleTypeSeries: '新能源跨界系列',
versionNumber: 'V1.3',
productionAddress: '工厂 E 区',
compilationDeadline: '2025-10-20',
createBy: '陈十一',
renwumingcheng: '新能源跨界车控制计划编制任务',
bianzhifuzeren: '冯十二',
wodechulizhaungtai: '已提交',
renwuzhuangtai: '审核中',
controlPlanStatus: 'plan_draft_completed',
id: 5
}
]);
const businessList = ref([]);
const vehicleModelCodeList = ref([]) //编制完成
const tableList = ref([]); const total2 = ref(0);
const queryParams2 = ref({
pageNum: 1,
pageSize: 10,
businessUnitId:null,
vehicleModelCode:null,
vehicleSeries:null,
versionNumber:null,
controlPlanStatus:null,
createBy:null,
controlPlanNumber:null,
productionAddress:null,
productionFactory:null
})
const tableList2 = ref([]);
onMounted(()=>{ function getAllBusinessUnit() {
getAllBusinessUnitName().then(res => {
businessList.value = res.rows
})
}
function getAllVehicleModelCode() {
getAllvehicleModelCode().then(res => {
vehicleModelCodeList.value = res.data
})
}
//编制中
function getList1() {
}
/** 编制中 查看按钮操作 */
function handleView1(row) {
proxy.$router.push({ path: '' });
}
/** 编制中 处理按钮操作 */
function handleProcess1(row) {
proxy.$router.push({ path: '' });
}
//编制完成
function getList2() {
}
function handleView2(row) {
proxy.$router.push({ path: '' });
}
function handleProcess2(row) {
proxy.$router.push({ path: '' });
}
onMounted(()=>{
getAllBusinessUnit()
getAllVehicleModelCode()
getList1()
getList2()
}) })
</script> </script>
...@@ -642,4 +703,5 @@ onMounted(()=>{ ...@@ -642,4 +703,5 @@ onMounted(()=>{
justify-content: flex-end; justify-content: flex-end;
margin-bottom: 20px; margin-bottom: 20px;
} }
</style> </style>
...@@ -669,14 +669,12 @@ function getAllBusinessUnit() { ...@@ -669,14 +669,12 @@ function getAllBusinessUnit() {
function getAllVehicleModelCode() { function getAllVehicleModelCode() {
getAllvehicleModelCode().then(res => { getAllvehicleModelCode().then(res => {
vehicleModelCodeList.value = res.data vehicleModelCodeList.value = res.data
console.log("车型代码",vehicleModelCodeList.value)
}) })
} }
function getList() { function getList() {
getCCAPPlanList(queryParams.value).then(res => { getCCAPPlanList(queryParams.value).then(res => {
total.value = res.total total.value = res.total
tableList.value = res.rows tableList.value = res.rows
console.log("列表",tableList.value)
}); });
} }
......
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