重新返工页面

This commit is contained in:
zxy 2026-01-12 09:08:02 +08:00
parent 8363fea63b
commit 945e6ecbdb
2 changed files with 89 additions and 29 deletions

View File

@ -141,7 +141,7 @@
v-if="scope.row.reportProcess == 2" v-if="scope.row.reportProcess == 2"
link link
type="primary" type="primary"
@click="handleRework(scope.row.id, scope.row.reportProcess)" @click="rework('update', scope.row.id)"
> >
返工 返工
</el-button> </el-button>
@ -169,6 +169,7 @@
</el-card> </el-card>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<TaskInReportForm ref="formRef" @success="getList"/> <TaskInReportForm ref="formRef" @success="getList"/>
<reworkForm ref="reworkRef" @success="getList"/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -266,36 +267,12 @@ const formRef = ref()
const openForm = (type: string, id?: number) => { const openForm = (type: string, id?: number) => {
formRef.value.open(type, id) formRef.value.open(type, id)
} }
const reworkRef = ref()
const rework = (type: string, id?: number) => {
reworkRef.value.open(type, id)
}
// //
const handleRework = async (id: number, status?: number) => {
if (status != "2") {
message.error('该报工没有完成,不允许返工');
return;
}
try {
const {value} = await message.prompt('请输入返工原因');
//
const updateData = {
id: id,
remark: value,
} as TaskInReportApi.TaskInReportVO;
//
await TaskInReportApi.rework(updateData);
message.success('返工操作成功');
//
await getList();
} catch (error) {
//
if (error !== 'cancel' && error !== 'closed') {
console.error('返工操作失败:', error);
message.error('返工操作失败,请重试');
}
}
};
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (id: number) => { const handleDelete = async (id: number) => {
try { try {

View File

@ -0,0 +1,83 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible" width="600px" @close="emits">
<el-form
ref="formRef"
:model="formData"
label-width="100px"
v-loading="formLoading"
>
<el-row>
<el-col :span="24">
<el-form-item label="返工原因" prop="remark">
<el-input type="textarea" :rows="3" placeholder="请输入返工原因"
v-model="formData.remark"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="emits"> </el-button>
</template>
</Dialog>
</template>
<script setup lang="ts">
import * as TaskInReportApi from '@/api/heli/taskinreport'
const {t} = useI18n() //
const message = useMessage() //
import {formatAmount} from '@/utils/formatter'
import {ifError} from "assert";
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
remark: undefined,
})
const emits = async () => {
dialogVisible.value = false
emit('success')
}
const emit = defineEmits(['success']) // success
const formRef = ref() // Ref
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
dialogVisible.value = true
dialogTitle.value = t('action.' + type)
formType.value = type
//
if (id) {
try {
formData.value.id = id; //
} finally {
}
}
}
defineExpose({open}) // open
const submitForm = async () => {
try {
//
const data = formData.value as unknown as TaskInReportApi.TaskInReportVO
//
await TaskInReportApi.rework(data);
message.success(t('common.updateSuccess'))
dialogVisible.value = false
//
emit('success')
} catch (error) {
dialogVisible.value = false
}
};
</script>