Commit c910b888 authored by qiyaxin's avatar qiyaxin

fix(CCAP控制计划管理):列表操作显示条件修改

parent 85055ad0
...@@ -330,6 +330,7 @@ ...@@ -330,6 +330,7 @@
</div> </div>
</template> </template>
<template #default="scope"> <template #default="scope">
<div style="display: flex; justify-content: center; align-items: center; height: 100%;">
<el-tag :type="getTagType(scope.row.keyPartsListTaskStatus)"> <el-tag :type="getTagType(scope.row.keyPartsListTaskStatus)">
{{ getStatusLabel(scope.row.keyPartsListTaskStatus) }} {{ getStatusLabel(scope.row.keyPartsListTaskStatus) }}
</el-tag> </el-tag>
...@@ -340,15 +341,16 @@ ...@@ -340,15 +341,16 @@
scope.row.keyProcessTaskStatus === 'plan_compilation_completed' && scope.row.keyProcessTaskStatus === 'plan_compilation_completed' &&
scope.row.copTestAndInspectionTaskStatus === 'plan_compilation_completed' scope.row.copTestAndInspectionTaskStatus === 'plan_compilation_completed'
" "
style="width: 30px;height: 30px;margin-left: 5px" style="width: 25px;height: 25px;margin-left: 5px"
src="@/assets/icons/certifiedfinal.png" src="@/assets/icons/certifiedfinal.png"
@click=""> @click="">
<!-- 查看文件按钮 --> <!-- 查看文件按钮 -->
<img <img
v-show="fileGeneratedMap.value?.[scope.row.id] ?? false" v-show="fileGeneratedMap.value?.[scope.row.id] ?? false"
style="width: 30px;height: 30px;margin-left: 5px" style="width: 25px;height: 25px;margin-left: 5px"
src="@/assets/icons/checkfile.png" src="@/assets/icons/checkfile.png"
@click="handleViewFile(scope.row, 'keyPartsList')"> @click="handleViewFile(scope.row, 'keyPartsList')">
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="关键工序表单状态" fixed="right" width="120" align="center" prop="keyProcessTaskStatus" > <el-table-column label="关键工序表单状态" fixed="right" width="120" align="center" prop="keyProcessTaskStatus" >
...@@ -359,6 +361,7 @@ ...@@ -359,6 +361,7 @@
</div> </div>
</template> </template>
<template #default="scope"> <template #default="scope">
<div style="display: flex; justify-content: center; align-items: center; height: 100%;">
<el-tag :type="getTagType(scope.row.keyProcessTaskStatus)"> <el-tag :type="getTagType(scope.row.keyProcessTaskStatus)">
{{ getStatusLabel(scope.row.keyProcessTaskStatus) }} {{ getStatusLabel(scope.row.keyProcessTaskStatus) }}
</el-tag> </el-tag>
...@@ -378,6 +381,7 @@ ...@@ -378,6 +381,7 @@
style="width: 30px;height: 30px;margin-left: 5px" style="width: 30px;height: 30px;margin-left: 5px"
src="@/assets/icons/checkfile.png" src="@/assets/icons/checkfile.png"
@click="handleViewFile(scope.row, 'keyProcess')"> @click="handleViewFile(scope.row, 'keyProcess')">
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="COP试验和检查表表单状态" fixed="right" width="120" align="center" prop="copTestAndInspectionTaskStatus" > <el-table-column label="COP试验和检查表表单状态" fixed="right" width="120" align="center" prop="copTestAndInspectionTaskStatus" >
...@@ -388,6 +392,7 @@ ...@@ -388,6 +392,7 @@
</div> </div>
</template> </template>
<template #default="scope"> <template #default="scope">
<div style="display: flex; justify-content: center; align-items: center; height: 100%;">
<el-tag :type="getTagType(scope.row.copTestAndInspectionTaskStatus)"> <el-tag :type="getTagType(scope.row.copTestAndInspectionTaskStatus)">
{{ getStatusLabel(scope.row.copTestAndInspectionTaskStatus) }} {{ getStatusLabel(scope.row.copTestAndInspectionTaskStatus) }}
</el-tag> </el-tag>
...@@ -407,6 +412,7 @@ ...@@ -407,6 +412,7 @@
style="width: 30px;height: 30px;margin-left: 5px" style="width: 30px;height: 30px;margin-left: 5px"
src="@/assets/icons/checkfile.png" src="@/assets/icons/checkfile.png"
@click="handleViewFile(scope.row, 'copTestAndInspection')"> @click="handleViewFile(scope.row, 'copTestAndInspection')">
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="控制计划状态" fixed="right" width="120" align="center" prop="controlPlanStatus" > <el-table-column label="控制计划状态" fixed="right" width="120" align="center" prop="controlPlanStatus" >
...@@ -436,49 +442,77 @@ ...@@ -436,49 +442,77 @@
<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 v-show="scope.row.controlPlanStatus !== 'plan_draft_revoked' " link type="danger" @click="handleUndo(scope.row)">
<div> <div>
<div>{{cn.revoke}}</div> <div>{{cn.revoke}}</div>
<div>{{en.revoke}}</div> <div>{{en.revoke}}</div>
</div> </div>
</el-button> </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)"> <el-button v-show="scope.row.controlPlanStatus === 'plan_draft_revoked' " link type="danger" @click="handleDelete(scope.row.id)">
<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 v-show="scope.row.controlPlanStatus === 'plan_drafting' || scope.row.controlPlanStatus === 'plan_draft_completed'" link type="primary" @click="adjustCompilationResponsiblePerson(scope.row)"> <el-button v-show="scope.row.controlPlanStatus === 'plan_drafting' " 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>
</div> </div>
</el-button> </el-button>
<!-- 生成文件 --> <!-- 生成文件 显示:控制计划状态、关键件清单表单状态、关键工序表单状态、COP试验和检查表表单状态均为“已最终确认”或已生成文件-->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="warning" @click="handleGenerateFile(scope.row)"> <el-button
v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'
&& scope.row.keyPartsListTaskStatus === 'plan_compilation_final_confirmed'
&& scope.row.keyProcessTaskStatus === 'plan_compilation_final_confirmed'
&& scope.row.copTestAndInspectionTaskStatus === 'plan_compilation_final_confirmed'"
link
type="warning"
@click="handleGenerateFile(scope.row)">
<div> <div>
<div>{{cn.generateFile}}</div> <div>{{cn.generateFile}}</div>
<div>{{en.generateFile}}</div> <div>{{en.generateFile}}</div>
</div> </div>
</el-button> </el-button>
<!-- 提醒下载 --> <!-- 提醒下载 显示:控制计划都已生成文件后-->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="primary" @click="handleRemindDownload(scope.row)"> <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.remindDownload}}</div>
<div>{{en.remindDownload}}</div> <div>{{en.remindDownload}}</div>
</div> </div>
</el-button> </el-button>
<!-- 变更 --> <!-- 变更 显示:控制计划状态为“已最终确认”且该套控制计划没有正在编制中或编制完成状态的控制计划-->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="warning" @click="handleChange(scope.row)"> <el-button
v-show="
scope.row.controlPlanStatus === 'plan_draft_final_confirmed'
&&
( scope.row.keyPartsListTaskStatus !== 'plan_compilation_task_filling'
||
scope.row.keyPartsListTaskStatus !== 'plan_compilation_completed'
)
&&
( scope.row.keyProcessTaskStatus !== 'plan_compilation_task_filling'
||
scope.row.keyProcessTaskStatus !== 'plan_compilation_completed'
)
&&
( scope.row.copTestAndInspectionTaskStatus !== 'plan_compilation_task_filling'
||
scope.row.copTestAndInspectionTaskStatus !== 'plan_compilation_completed'
)
"
link
type="warning"
@click="handleChange(scope.row)">
<div> <div>
<div>{{cn.change}}</div> <div>{{cn.change}}</div>
<div>{{en.change}}</div> <div>{{en.change}}</div>
</div> </div>
</el-button> </el-button>
<!-- 微调 --> <!-- 微调 显示:控制计划状态为已最终确认且已生成文件后-->
<el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="primary" @click="fineTune(scope.row)"> <el-button v-show="scope.row.controlPlanStatus === 'plan_draft_final_confirmed'" link type="primary" @click="fineTune(scope.row)">
<div> <div>
<div>{{cn.fineTune}}</div> <div>{{cn.fineTune}}</div>
...@@ -537,7 +571,7 @@ ...@@ -537,7 +571,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" plain @click="" icon="user">{{cn.selectPersonnel}}/{{en.selectPersonnel}}</el-button> <el-button type="primary" plain @click="openSelectPersonnelDialogForRemind()" icon="user">{{cn.selectPersonnel}}/{{en.selectPersonnel}}</el-button>
</el-form-item> </el-form-item>
<!-- 编辑消息内容 --> <!-- 编辑消息内容 -->
<div class="tab-components" style="margin-bottom: 10px"> <div class="tab-components" style="margin-bottom: 10px">
...@@ -568,7 +602,7 @@ ...@@ -568,7 +602,7 @@
<template #footer> <template #footer>
<div style="flex: auto"> <div style="flex: auto">
<el-button class="btn-B" @click="handleCloseDrawer">{{cn.cancel}}/{{en.cancel}}</el-button> <el-button class="btn-B" @click="handleCloseDrawer">{{cn.cancel}}/{{en.cancel}}</el-button>
<el-button class="btn-A" type="primary" @click="confirmClick">{{cn.confirm}}/{{en.confirm}}</el-button> <el-button class="btn-A" type="primary" @click="handleSelectionSubmit2">{{cn.confirm}}/{{en.confirm}}</el-button>
</div> </div>
</template> </template>
</el-drawer> </el-drawer>
...@@ -769,6 +803,7 @@ const undoData = ref(null) ...@@ -769,6 +803,7 @@ const undoData = ref(null)
const deleteDialogVisible = ref(false) //删除提示框 const deleteDialogVisible = ref(false) //删除提示框
const deletePlanId = ref(null); const deletePlanId = ref(null);
const drawer = ref(false) //提醒下载抽屉 const drawer = ref(false) //提醒下载抽屉
const isRemindDownloadSelect = ref(false) // 是否是提醒下载选择人员
const adjustCompilationResponsiblePersonDialogVisible = ref(false)//调整编制负责人弹出框 const adjustCompilationResponsiblePersonDialogVisible = ref(false)//调整编制负责人弹出框
const isChecked1 = ref(false); const isChecked1 = ref(false);
const isChecked2 = ref(false); const isChecked2 = ref(false);
...@@ -939,7 +974,7 @@ function resetQuery() { ...@@ -939,7 +974,7 @@ function resetQuery() {
handleQuery(); handleQuery();
} }
/** 查看历史控制计划按钮操作 */ /** 查看历史控制计划按钮操作 */
function toHistory() { function toHistory() {
proxy.$router.push({ path: '/control/CCAPControlPlan/CCAPControlPlanHistory' }); proxy.$router.push({ path: '/control/CCAPControlPlan/CCAPControlPlanHistory' });
} }
...@@ -1007,34 +1042,12 @@ function adjustCompilationResponsiblePerson(row) { ...@@ -1007,34 +1042,12 @@ function adjustCompilationResponsiblePerson(row) {
isCopQualityDisabled.value = res.data[3].taskStatus === 'plan_compilation_completed' isCopQualityDisabled.value = res.data[3].taskStatus === 'plan_compilation_completed'
}) })
} }
/** 打开选择人员对话框 - 调整编制负责人 */
function openSelectPersonnelDialog(field) { function openSelectPersonnelDialog(field) {
selectRole.value = true;// 打开选择人员对话框 selectRole.value = true;// 打开选择人员对话框
selectType.value = 'multiple'; // 多选 selectType.value = 'multiple'; // 多选
currentSelectField.value = field currentSelectField.value = field
} }
const handleSelectionSubmit = (selectedItems) => {
console.log('已选中的项:', selectedItems);
// 处理已选择的用户
switch (currentSelectField.value) {
case 1:
personInCharge1.value = selectedItems.map(item => item.nickName).join(',');
isChecked1.value = false;
break
case 2:
personInCharge2.value = selectedItems.map(item => item.nickName).join(',');
isChecked2.value = false;
break
case 3:
personInCharge3.value = selectedItems.map(item => item.nickName).join(',');
isChecked3.value = false;
break
case 4:
personInCharge4.value = selectedItems.map(item => item.nickName).join(',');
isChecked4.value = false;
break
}
selectRole.value = false;
};
/** 提交调整编制负责人更改 */ /** 提交调整编制负责人更改 */
function adjustCompilationResponsiblePersonSubmitForm(row) { function adjustCompilationResponsiblePersonSubmitForm(row) {
const formData = [ const formData = [
...@@ -1095,6 +1108,12 @@ function adjustCompilationResponsiblePersonSubmitForm(row) { ...@@ -1095,6 +1108,12 @@ function adjustCompilationResponsiblePersonSubmitForm(row) {
function handleRemindDownload(row) { function handleRemindDownload(row) {
drawer.value = true drawer.value = true
} }
/** 打开选择人员对话框-提醒下载*/
function openSelectPersonnelDialogForRemind() {
selectRole.value = true
selectType.value = 'multiple'
isRemindDownloadSelect.value = true
}
/** 关闭抽屉按钮操作 */ /** 关闭抽屉按钮操作 */
function closeDrawer(){ function closeDrawer(){
...@@ -1150,6 +1169,36 @@ function handleViewFile(row, type) { ...@@ -1150,6 +1169,36 @@ function handleViewFile(row, type) {
window.open(fullPath, '_blank'); window.open(fullPath, '_blank');
} }
/** 选择人员 提交按钮操作 */
const handleSelectionSubmit = (selectedItems) => {
console.log('已选中的项:', selectedItems);
if (isRemindDownloadSelect.value) {
// 处理 提醒下载 选择人员
remindDownloadForm.value.jieshouren = selectedItems.map(item => item.nickName).join(',');
isRemindDownloadSelect.value = false
} else if (currentSelectField.value) {
// 处理 调整编制负责人 选择人员
switch (currentSelectField.value) {
case 1:
personInCharge1.value = selectedItems.map(item => item.nickName).join(',');
isChecked1.value = false;
break
case 2:
personInCharge2.value = selectedItems.map(item => item.nickName).join(',');
isChecked2.value = false;
break
case 3:
personInCharge3.value = selectedItems.map(item => item.nickName).join(',');
isChecked3.value = false;
break
case 4:
personInCharge4.value = selectedItems.map(item => item.nickName).join(',');
isChecked4.value = false;
break
}
}
selectRole.value = false;
};
onMounted(()=>{ onMounted(()=>{
getList() getList()
......
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