Commit 5aa01e2a authored by qiyaxin's avatar qiyaxin

CCAP控制计划管理-调整编制负责人

parent 993d4ace
...@@ -33,6 +33,13 @@ ...@@ -33,6 +33,13 @@
"delete": "删除", "delete": "删除",
"prompt": "提示", "prompt": "提示",
"confirmUndoControlPlan": "确定撤销该控制计划吗?", "confirmUndoControlPlan": "确定撤销该控制计划吗?",
"confirmDeleteControlPlan": "确定删除该控制计划吗?",
"cancel": "取消", "cancel": "取消",
"confirm": "确定" "confirm": "确定",
"receiver": "接收人",
"messageTitle": "消息标题",
"messageContent": "消息内容",
"selectMessageReceiver": "选择消息接收人",
"editMessageContent": "编辑消息内容",
"selectPersonnel": "选择人员"
} }
...@@ -33,6 +33,13 @@ ...@@ -33,6 +33,13 @@
"delete": "Delete", "delete": "Delete",
"prompt": "Prompt", "prompt": "Prompt",
"confirmUndoControlPlan": "Are you sure to undo this control plan?", "confirmUndoControlPlan": "Are you sure to undo this control plan?",
"confirmDeleteControlPlan": "Are you sure you want to delete this control plan?",
"cancel": "Cancel", "cancel": "Cancel",
"confirm": "Confirm" "confirm": "Confirm",
"receiver": "Receiver",
"messageTitle": "Message Title",
"messageContent": "Message Content",
"selectMessageReceiver": "Select Message Receiver",
"editMessageContent": "Edit Message Content",
"selectPersonnel": "Select Personnel"
} }
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<div class="app-container"> <div class="app-container">
<el-form v-model="queryParams" ref="queryRef" :inline="true" > <el-form v-model="queryParams" ref="queryRef" :inline="true" >
<!-- 控制计划编号 --> <!-- 控制计划编号 -->
<el-form-item :label="`${cn.controlPlanNumber}/${en.controlPlanNumber}`" prop=""> <el-form-item :label="`${cn.controlPlanNumber}/${en.controlPlanNumber}`" prop="xinzeng1">
<el-input <el-input
v-model="queryParams.createBy" v-model="queryParams.xinzeng1"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`" :placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -67,9 +67,9 @@ ...@@ -67,9 +67,9 @@
/> />
</el-form-item> </el-form-item>
<!-- 生产地址 --> <!-- 生产地址 -->
<el-form-item :label="`${cn.productionAddress}/${en.productionAddress}`" prop=""> <el-form-item :label="`${cn.productionAddress}/${en.productionAddress}`" prop="xinzeng2">
<el-input <el-input
v-model="queryParams.createBy" v-model="queryParams.xinzeng2"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`" :placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -85,9 +85,9 @@ ...@@ -85,9 +85,9 @@
/> />
</el-form-item> </el-form-item>
<!-- 生产厂 --> <!-- 生产厂 -->
<el-form-item :label="`${cn.productionPlant}/${en.productionPlant}`" prop=""> <el-form-item :label="`${cn.productionPlant}/${en.productionPlant}`" prop="xinzeng3">
<el-input <el-input
v-model="queryParams.createBy" v-model="queryParams.xinzeng3"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`" :placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable clearable
style="width: 200px" style="width: 200px"
...@@ -283,14 +283,14 @@ ...@@ -283,14 +283,14 @@
</div> </div>
</el-button> </el-button>
<!-- 删除 --> <!-- 删除 -->
<el-button link type="danger" > <el-button link type="danger" @click="handleDelete(scope.row)">
<div> <div>
<div>{{cn.delete}}</div> <div>{{cn.delete}}</div>
<div>{{en.delete}}</div> <div>{{en.delete}}</div>
</div> </div>
</el-button> </el-button>
<!-- 调整编制负责人 --> <!-- 调整编制负责人 -->
<el-button link type="primary" > <el-button link type="primary" @click="adjustCompilationResponsiblePerson(scope.row)">
<div> <div>
<div>{{cn.adjustCompilationResponsiblePerson}}</div> <div>{{cn.adjustCompilationResponsiblePerson}}</div>
<div>{{en.adjustCompilationResponsiblePerson}}</div> <div>{{en.adjustCompilationResponsiblePerson}}</div>
...@@ -304,7 +304,7 @@ ...@@ -304,7 +304,7 @@
</div> </div>
</el-button> </el-button>
<!-- 提醒下载 --> <!-- 提醒下载 -->
<el-button link type="primary" @click="handleRemindDownload(row)"> <el-button link type="primary" @click="handleRemindDownload(scope.row)">
<div> <div>
<div>{{cn.remindDownload}}</div> <div>{{cn.remindDownload}}</div>
<div>{{en.remindDownload}}</div> <div>{{en.remindDownload}}</div>
...@@ -318,7 +318,7 @@ ...@@ -318,7 +318,7 @@
</div> </div>
</el-button> </el-button>
<!-- 微调 --> <!-- 微调 -->
<el-button link type="primary"> <el-button link type="primary" @click="fineTune(scope.row)">
<div> <div>
<div>{{cn.fineTune}}</div> <div>{{cn.fineTune}}</div>
<div>{{en.fineTune}}</div> <div>{{en.fineTune}}</div>
...@@ -337,7 +337,7 @@ ...@@ -337,7 +337,7 @@
/> />
</div> </div>
<!-- 撤销弹出框--> <!-- 撤销提示框-->
<el-dialog <el-dialog
v-model="undoDialogVisible" v-model="undoDialogVisible"
title="提示" title="提示"
...@@ -364,22 +364,81 @@ ...@@ -364,22 +364,81 @@
</template> </template>
</el-dialog> </el-dialog>
<!-- 删除提示框-->
<el-dialog
v-model="deleteDialogVisible"
title="提示"
width="500"
align-center
style="width: 400px;height: 195px;margin-top: 300px" :fullscreen="true"
>
<template #header>
<div>{{cn.prompt}}</div>
<div>{{en.prompt}}</div>
</template>
<div style="display: flex;align-items: center;">
<el-icon style="color: orange;font-size: 18px;margin:5px"><WarningFilled /></el-icon>
<div>
<div style="font-size: 14px">{{cn.confirmDeleteControlPlan}}</div>
<div style="font-size: 14px">{{en.confirmDeleteControlPlan}}</div>
</div>
</div>
<template #footer>
<div style="margin-top: 10px">
<el-button class="btn-B" @click="deleteDialogVisible = false">{{cn.cancel}}/{{en.cancel}}</el-button>
<el-button class="btn-A" @click="deleteDialogVisible = false">{{cn.confirm}}/{{en.confirm}}</el-button>
</div>
</template>
</el-dialog>
<!-- 提醒下载抽屉--> <!-- 提醒下载抽屉-->
<el-drawer @close="closeDrawer" v-model="drawer" :size="!isDrawer?'40%':'32%'"> <el-drawer @close="closeDrawer" v-model="drawer" :size="!isDrawer?'40%':'32%'">
<template #header> <template #header>
提醒下载 提醒下载
</template> </template>
<template #default> <template #default>
<el-form v-model="remindDownloadForm" ref="queryRef" :inline="true" >
<!-- 选择消息接收人 --> <!-- 选择消息接收人 -->
<div class="tab-components"> <div class="tab-components">
<span class="components-span">选择消息接收人</span> <span class="components-span">选择消息接收人</span>
</div> </div>
<!-- 接收人 -->
<el-form-item :label="`${cn.receiver}/${en.receiver}`" prop="">
<el-input
v-model="remindDownloadForm.jieshouren"
:placeholder="`${cn.pleaseChoose}/${en.pleaseChoose}`"
clearable
style="width: 320px"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" plain @click="" icon="user">{{cn.selectPersonnel}}/{{en.selectPersonnel}}</el-button>
</el-form-item>
<!-- 编辑消息内容 --> <!-- 编辑消息内容 -->
<div class="tab-components"> <div class="tab-components">
<span class="components-span">编辑消息内容</span> <span class="components-span">编辑消息内容</span>
</div> </div>
<!-- 消息标题 -->
<el-form-item :label="`${cn.messageTitle}/${en.messageTitle}`" prop="">
<el-input
v-model="remindDownloadForm.xiaxibiaoti"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
style="width: 520px"
/>
</el-form-item>
<!-- 消息内容 -->
<el-form-item :label="`${cn.messageContent}/${en.messageContent}`" prop="">
<el-input
v-model="remindDownloadForm.xiaoxineirong"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
style="width: 500px"
:autosize="{ minRows: 2, maxRows: 24 }"
type="textarea"
/>
</el-form-item>
</el-form>
</template> </template>
<template #footer> <template #footer>
<div style="flex: auto"> <div style="flex: auto">
...@@ -389,6 +448,56 @@ ...@@ -389,6 +448,56 @@
</template> </template>
</el-drawer> </el-drawer>
<!-- 调整编制负责人弹出框-->
<el-dialog
v-model="adjustCompilationResponsiblePersonDialogVisible"
title="调整编制负责人 (控制计划编号: xxxxxxxx)"
:width="600 + 'px'"
:height="600 + 'px'"
custom-class="my-dialog-style"
>
<template #default>
<div>
<div class="tab-components">
<span class="components-span">01.关键零部件清单</span>
</div>
<el-checkbox v-model="isChecked1">
编制负责人:
<el-input v-model="personInCharge1" :disabled="!isChecked1" style="width: 200px" />
<el-button type="primary" plain icon="user" :disabled="!isChecked1">选择人员</el-button>
</el-checkbox>
</div>
<div>
<div class="tab-components">
<span class="components-span">02.关键工序、装配、检验清单</span>
</div>
<el-checkbox v-model="isChecked2">
编制负责人:
<el-input v-model="personInCharge2" :disabled="!isChecked2" style="width: 200px" />
<el-button type="primary" plain icon="user" :disabled="!isChecked2">选择人员</el-button>
</el-checkbox>
</div>
<div>
<div class="tab-components">
<span class="components-span">03.COP试验和检查表</span>
</div>
<el-checkbox v-model="isChecked3">
制造编制负责人:
<el-input v-model="manufacturingPersonInCharge" :disabled="!isChecked3" style="width: 200px" />
<el-button type="primary" plain icon="user" :disabled="!isChecked3">选择人员</el-button>
</el-checkbox>
<el-checkbox v-model="isChecked4">
质管编制负责人:
<el-input v-model="qualityControlPersonInCharge" :disabled="!isChecked4" style="width: 200px" />
<el-button type="primary" plain icon="user" :disabled="!isChecked4">选择人员</el-button>
</el-checkbox>
</div>
</template>
<template #footer>
<el-button @click="adjustCompilationResponsiblePersonDialogVisible = false">取消</el-button>
<el-button type="primary" @click="adjustCompilationResponsiblePersonSubmitForm(row)">确定</el-button>
</template>
</el-dialog>
</template> </template>
...@@ -402,6 +511,7 @@ import cn from '@/locales/controlPlan/CCAPControlPlan/CCAPControlPlanManagement/ ...@@ -402,6 +511,7 @@ import cn from '@/locales/controlPlan/CCAPControlPlan/CCAPControlPlanManagement/
import en from '@/locales/controlPlan/CCAPControlPlan/CCAPControlPlanManagement/index/en.json'; import en from '@/locales/controlPlan/CCAPControlPlan/CCAPControlPlanManagement/index/en.json';
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'
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');
...@@ -415,16 +525,33 @@ const queryParams = ref({ ...@@ -415,16 +525,33 @@ const queryParams = ref({
vehicleSeries:null, vehicleSeries:null,
versionNumber:null, versionNumber:null,
controlPlanStatus:null, controlPlanStatus:null,
createBy:null createBy:null,
xinzeng1:null,
xinzeng2:null,
xinzeng3:null
}); });
const remindDownloadForm = ref({
jieshouren:null,
xiaxibiaoti:null,
xiaoxineirong:null
})
const businessList = ref([]); const businessList = ref([]);
const tableList = ref([]); const tableList = ref([]);
const controlPlanStatusOptions = ref([]); const controlPlanStatusOptions = ref([]);
//撤回弹出框 const undoDialogVisible = ref(false) //撤回提示框
const undoDialogVisible = ref(false) const deleteDialogVisible = ref(false) //删除提示框
//提醒下载抽屉 const drawer = ref(false) //提醒下载抽屉
const drawer = ref(false) //调整编制负责人
const adjustCompilationResponsiblePersonDialogVisible = ref(false)
const isChecked1 = ref(false);
const isChecked2 = ref(false);
const isChecked3 = ref(false);
const isChecked4 = ref(false);
const personInCharge1 = ref('');
const personInCharge2 = ref('');
const manufacturingPersonInCharge = ref('');
const qualityControlPersonInCharge = ref('');
function getAllBusinessUnit() { function getAllBusinessUnit() {
getAllBusinessUnitName().then(res => { getAllBusinessUnitName().then(res => {
...@@ -506,6 +633,38 @@ function handleUndo(row) { ...@@ -506,6 +633,38 @@ function handleUndo(row) {
undoDialogVisible.value = true undoDialogVisible.value = true
} }
/** 删除按钮操作 */
function handleDelete(row) {
deleteDialogVisible.value = true
}
/** 调整编制负责人按钮操作 */
function adjustCompilationResponsiblePerson(row) {
adjustCompilationResponsiblePersonDialogVisible.value = true
}
/** 提交调整编制负责人更改 */
function adjustCompilationResponsiblePersonSubmitForm(row) {
const formData = {
keyPartsListPersonInCharge: personInCharge1.value,
keyProcessListPersonInCharge: personInCharge2.value,
manufacturingPersonInCharge: manufacturingPersonInCharge.value,
qualityControlPersonInCharge: qualityControlPersonInCharge.value
};
async function submitData() {
try {
adjustCompilationResponsiblePersonDialogVisible.value = false;
ElMessage.success('数据提交成功');
} catch (error) {
console.error('数据提交失败:', error);
ElMessage.error('数据提交失败,请稍后重试');
}
}
submitData();
}
/** 提醒下载按钮操作 */ /** 提醒下载按钮操作 */
function handleRemindDownload(row) { function handleRemindDownload(row) {
drawer.value = true drawer.value = true
...@@ -519,7 +678,10 @@ function handleCloseDrawer(){ ...@@ -519,7 +678,10 @@ function handleCloseDrawer(){
drawer.value = false drawer.value = false
} }
/** 微调按钮操作 */
function fineTune(row) {
proxy.$router.push({ path: '/control/CCAPControlPlan/view',query: {id: row.id}});
}
onMounted(()=>{ onMounted(()=>{
getList() getList()
...@@ -555,4 +717,17 @@ onMounted(()=>{ ...@@ -555,4 +717,17 @@ onMounted(()=>{
font-weight: bold; font-weight: bold;
} }
} }
.my-dialog-style {
--el-dialog-header-background-color: #f5f5f5;
--el-dialog-header-text-color: #333;
}
.section {
margin-bottom: 10px;
font-weight: 500;
}
.section-number {
color: #409eff;
margin-right: 5px;
}
</style> </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