style:质量管理-检验记录-工单宽度调整/已作业状态也允许回显

main
黄伟杰 2 weeks ago
parent 2a1295f9db
commit 46f32f980f

@ -57,7 +57,7 @@
> >
<template #default="scope"> <template #default="scope">
<UploadImg <UploadImg
v-if="String(scope.row.zjResult) === '0'" v-if="String(scope.row.zjResult) === '0' && !readOnly"
v-model="imageMap[String(scope.row.id)]" v-model="imageMap[String(scope.row.id)]"
:drag="false" :drag="false"
:show-btn-text="false" :show-btn-text="false"
@ -78,7 +78,7 @@
<el-table-column label="输入值" align="center" min-width="150"> <el-table-column label="输入值" align="center" min-width="150">
<template #default="scope"> <template #default="scope">
<el-input <el-input
v-if="String(scope.row.zjResult) === '0'" v-if="String(scope.row.zjResult) === '0' && !readOnly"
v-model="scope.row.textInput" v-model="scope.row.textInput"
clearable clearable
placeholder="请输入" placeholder="请输入"
@ -119,7 +119,7 @@
> >
<template #default="scope"> <template #default="scope">
<el-radio-group <el-radio-group
v-if="String(scope.row.zjResult) === '0'" v-if="String(scope.row.zjResult) === '0' && !readOnly"
v-model="decisionMap[String(scope.row.id)]" v-model="decisionMap[String(scope.row.id)]"
> >
<el-radio :label="1">{{ t('QualityManagement.TicketResultDialog.pass') }}</el-radio> <el-radio :label="1">{{ t('QualityManagement.TicketResultDialog.pass') }}</el-radio>
@ -159,7 +159,7 @@
type="primary" type="primary"
@click="handleSave" @click="handleSave"
:loading="submitLoading" :loading="submitLoading"
:disabled="submitLoading || !isAllSelected()" :disabled="readOnly || submitLoading || !isAllSelected()"
> >
{{ t('QualityManagement.TicketResultDialog.save') }} {{ t('QualityManagement.TicketResultDialog.save') }}
</el-button> </el-button>
@ -179,6 +179,7 @@ const dialogVisible = ref(false)
const dialogTitle = ref(t('QualityManagement.TicketResultDialog.moduleName')) const dialogTitle = ref(t('QualityManagement.TicketResultDialog.moduleName'))
const loading = ref(false) const loading = ref(false)
const submitLoading = ref(false) const submitLoading = ref(false)
const readOnly = ref(false)
const emit = defineEmits(['success']) const emit = defineEmits(['success'])
const message = useMessage() const message = useMessage()
@ -196,12 +197,13 @@ const queryParams = reactive({
pageSize: 10, pageSize: 10,
}) })
const open = async (options: { id: number; status?: string | number; cancelReason?: string }) => { const open = async (options: { id: number; status?: string | number; cancelReason?: string; readOnly?: boolean }) => {
dialogVisible.value = true dialogVisible.value = true
dialogTitle.value = t('QualityManagement.TicketResultDialog.moduleName') dialogTitle.value = t('QualityManagement.TicketResultDialog.moduleName')
taskId.value = options.id taskId.value = options.id
status.value = options.status status.value = options.status
cancelReason.value = options.cancelReason cancelReason.value = options.cancelReason
readOnly.value = !!options.readOnly
for (const key of Object.keys(decisionMap)) delete decisionMap[key] for (const key of Object.keys(decisionMap)) delete decisionMap[key]
for (const key of Object.keys(imageMap)) delete imageMap[key] for (const key of Object.keys(imageMap)) delete imageMap[key]
queryParams.pageNo = 1 queryParams.pageNo = 1
@ -250,6 +252,7 @@ const getRowKey = (row: ZjTaskResultVO) => {
} }
const handleSave = async () => { const handleSave = async () => {
if (readOnly.value) return
if (!taskId.value) { if (!taskId.value) {
message.error('任务标识不存在,无法保存') message.error('任务标识不存在,无法保存')
return return

@ -122,7 +122,7 @@ type="success" plain @click="handleExport" :loading="exportLoading"
<DictTag :type="'job_status'" :value="scope.row.status" /> <DictTag :type="'job_status'" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('QualityManagement.ZjTask.ticketCode')" align="center" prop="ticketCode" /> <el-table-column :label="t('QualityManagement.ZjTask.ticketCode')" align="center" prop="ticketCode" width="200px"/>
<el-table-column :label="t('QualityManagement.ZjTask.orgType')" align="center" prop="orgType"> <el-table-column :label="t('QualityManagement.ZjTask.orgType')" align="center" prop="orgType">
<template #default="scope"> <template #default="scope">
<DictTag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.orgType" /> <DictTag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.orgType" />
@ -153,7 +153,6 @@ type="success" plain @click="handleExport" :loading="exportLoading"
<el-table-column :label="t('QualityManagement.ZjTask.operate')" align="center" min-width="160px"> <el-table-column :label="t('QualityManagement.ZjTask.operate')" align="center" min-width="160px">
<template #default="scope"> <template #default="scope">
<el-button <el-button
v-if="scope.row.status === 0"
link link
type="warning" type="warning"
@click.stop="handleRowClick(scope.row)" @click.stop="handleRowClick(scope.row)"
@ -258,9 +257,21 @@ const openForm = (type: string, row?: ZjTaskVO) => {
formRef.value.open(type, row) formRef.value.open(type, row)
} }
const isInspected = (row: ZjTaskVO) => {
const result = (row as any)?.result
if (result === 1 || result === '1' || result === 2 || result === '2') return true
const status = (row as any)?.status
return String(status ?? '') !== '0'
}
const handleRowClick = (row: ZjTaskVO) => { const handleRowClick = (row: ZjTaskVO) => {
if (!row?.id) return if (!row?.id) return
resultDialogRef.value?.open({ id: row.id, status: row.status, cancelReason: row.cancelReason }) resultDialogRef.value?.open({
id: row.id,
status: row.status,
cancelReason: row.cancelReason,
readOnly: isInspected(row),
})
} }
const handleDelete = async (id: number) => { const handleDelete = async (id: number) => {

Loading…
Cancel
Save