Commit 5aa01e2a authored by qiyaxin's avatar qiyaxin

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

parent 993d4ace
......@@ -33,6 +33,13 @@
"delete": "删除",
"prompt": "提示",
"confirmUndoControlPlan": "确定撤销该控制计划吗?",
"confirmDeleteControlPlan": "确定删除该控制计划吗?",
"cancel": "取消",
"confirm": "确定"
"confirm": "确定",
"receiver": "接收人",
"messageTitle": "消息标题",
"messageContent": "消息内容",
"selectMessageReceiver": "选择消息接收人",
"editMessageContent": "编辑消息内容",
"selectPersonnel": "选择人员"
}
......@@ -33,6 +33,13 @@
"delete": "Delete",
"prompt": "Prompt",
"confirmUndoControlPlan": "Are you sure to undo this control plan?",
"confirmDeleteControlPlan": "Are you sure you want to delete this control plan?",
"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 @@
<div class="app-container">
<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
v-model="queryParams.createBy"
v-model="queryParams.xinzeng1"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
style="width: 200px"
......@@ -67,9 +67,9 @@
/>
</el-form-item>
<!-- 生产地址 -->
<el-form-item :label="`${cn.productionAddress}/${en.productionAddress}`" prop="">
<el-form-item :label="`${cn.productionAddress}/${en.productionAddress}`" prop="xinzeng2">
<el-input
v-model="queryParams.createBy"
v-model="queryParams.xinzeng2"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
style="width: 200px"
......@@ -85,9 +85,9 @@
/>
</el-form-item>
<!-- 生产厂 -->
<el-form-item :label="`${cn.productionPlant}/${en.productionPlant}`" prop="">
<el-form-item :label="`${cn.productionPlant}/${en.productionPlant}`" prop="xinzeng3">
<el-input
v-model="queryParams.createBy"
v-model="queryParams.xinzeng3"
:placeholder="`${cn.pleaseEnter}/${en.pleaseEnter}`"
clearable
style="width: 200px"
......@@ -283,14 +283,14 @@
</div>
</el-button>
<!-- 删除 -->
<el-button link type="danger" >
<el-button link type="danger" @click="handleDelete(scope.row)">
<div>
<div>{{cn.delete}}</div>
<div>{{en.delete}}</div>
</div>
</el-button>
<!-- 调整编制负责人 -->
<el-button link type="primary" >
<el-button link type="primary" @click="adjustCompilationResponsiblePerson(scope.row)">
<div>
<div>{{cn.adjustCompilationResponsiblePerson}}</div>
<div>{{en.adjustCompilationResponsiblePerson}}</div>
......@@ -304,7 +304,7 @@
</div>
</el-button>
<!-- 提醒下载 -->
<el-button link type="primary" @click="handleRemindDownload(row)">
<el-button link type="primary" @click="handleRemindDownload(scope.row)">
<div>
<div>{{cn.remindDownload}}</div>
<div>{{en.remindDownload}}</div>
......@@ -318,7 +318,7 @@
</div>
</el-button>
<!-- 微调 -->
<el-button link type="primary">
<el-button link type="primary" @click="fineTune(scope.row)">
<div>
<div>{{cn.fineTune}}</div>
<div>{{en.fineTune}}</div>
......@@ -337,7 +337,7 @@
/>
</div>
<!-- 撤销弹出框-->
<!-- 撤销提示框-->
<el-dialog
v-model="undoDialogVisible"
title="提示"
......@@ -364,22 +364,81 @@
</template>
</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%'">
<template #header>
提醒下载
</template>
<template #default>
<el-form v-model="remindDownloadForm" ref="queryRef" :inline="true" >
<!-- 选择消息接收人 -->
<div class="tab-components">
<span class="components-span">选择消息接收人</span>
</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">
<span class="components-span">编辑消息内容</span>
</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 #footer>
<div style="flex: auto">
......@@ -389,6 +448,56 @@
</template>
</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>
......@@ -402,6 +511,7 @@ import cn from '@/locales/controlPlan/CCAPControlPlan/CCAPControlPlanManagement/
import en from '@/locales/controlPlan/CCAPControlPlan/CCAPControlPlanManagement/index/en.json';
import { useRouter } from 'vue-router'
import { getDicts } from '@/api/system/dict/data.js'
import { ElMessage } from 'element-plus'
const router = useRouter()
const { proxy } = getCurrentInstance();
const {vehicle_model_series, control_plan_status} = proxy.useDict('vehicle_model_series','control_plan_status');
......@@ -415,16 +525,33 @@ const queryParams = ref({
vehicleSeries:null,
versionNumber: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 tableList = ref([]);
const controlPlanStatusOptions = ref([]);
//撤回弹出框
const undoDialogVisible = ref(false)
//提醒下载抽屉
const drawer = ref(false)
const undoDialogVisible = ref(false) //撤回提示框
const deleteDialogVisible = 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() {
getAllBusinessUnitName().then(res => {
......@@ -506,6 +633,38 @@ function handleUndo(row) {
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) {
drawer.value = true
......@@ -519,7 +678,10 @@ function handleCloseDrawer(){
drawer.value = false
}
/** 微调按钮操作 */
function fineTune(row) {
proxy.$router.push({ path: '/control/CCAPControlPlan/view',query: {id: row.id}});
}
onMounted(()=>{
getList()
......@@ -555,4 +717,17 @@ onMounted(()=>{
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>
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