feat:生产计划-已开工-检验按钮逻辑修改

pull/1/head
黄伟杰 4 weeks ago
parent 7574ca1324
commit b865238720

@ -168,8 +168,8 @@
v-hasPermi="['mes:plan:update']" v-if="scope.row.status === 1 && scope.row.isPreProduction === 1">
{{ t('ProductionPlan.Plan.actionTrialLabel') }}
</el-button>
<el-button link type="primary" @click.stop="handleInspectExpand(scope.row)"
v-if="scope.row.status === 6 && inspectableMap[scope.row.id] !== false">
<el-button link type="primary" @click.stop="openZjTaskForm(scope.row)"
v-if="scope.row.status === 6 && inspectableMap[scope.row.id] !== false || scope.row.status === 8">
{{ t('ProductionPlan.Plan.actionInspectLabel') }}
</el-button>
<!-- <el-button
@ -257,6 +257,9 @@
</template>
</Dialog>
<!-- 检验任务弹窗 -->
<ZjTaskForm ref="zjTaskFormRef" @success="getList" />
</template>
<script setup lang="ts">
@ -274,6 +277,7 @@ import PlanDetail from "./components/PlanDetail.vue";
import Baogong from "./components/Baogong.vue";
import ItemRequisitionDetailList from "@/views/mes/itemrequisition/components/ItemRequisitionDetailList.vue";
import ZjProductPreList from "@/views/mes/zjproduct/components/ZjProductPreList.vue";
import ZjTaskForm from "@/views/mes/zjTask/ZjTaskForm.vue";
import BaogongRecordList from "@/views/mes/baogongrecord/components/BaogongRecordList.vue";
import { ZjTaskApi } from '@/api/mes/zjtask'
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
@ -433,6 +437,11 @@ const handleInspectExpand = (row: PlanVO) => {
tableRef.value?.toggleRowExpansion?.(row, true)
}
const zjTaskFormRef = ref()
const openZjTaskForm = (row: PlanVO) => {
zjTaskFormRef.value.open('create', undefined, { ticketType: 1, ticket: row.id, ticketName: row.code })
}
const setInspectable = (id: number | undefined, hasPending: boolean) => {
if (!id) return
inspectableMap[id] = hasPending

@ -11,6 +11,18 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formTicketType')" prop="ticketType">
<el-radio-group v-model="formData.ticketType" @change="ticketTypeChange" :disabled="lockedFields.ticketType">
<el-radio :label="1">{{ t('QualityManagement.ZjTask.ticketTypeProcess') }}</el-radio>
<el-radio :label="2">{{ t('QualityManagement.ZjTask.ticketTypeStorage') }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formTicket')" prop="ticket">
<el-select v-model="formData.ticket" clearable filterable :disabled="lockedFields.ticket"
:placeholder="t('QualityManagement.ZjTask.placeholderFormTicket')">
<el-option v-for="item in planList" :key="item.id" :label="item.code" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formType')" prop="type">
<el-select v-model="formData.type" clearable filterable
:placeholder="t('QualityManagement.ZjTask.placeholderFormType')">
@ -31,18 +43,6 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formTicketType')" prop="ticketType">
<el-radio-group v-model="formData.ticketType" @change="ticketTypeChange">
<el-radio :label="1">{{ t('QualityManagement.ZjTask.ticketTypeProcess') }}</el-radio>
<el-radio :label="2">{{ t('QualityManagement.ZjTask.ticketTypeStorage') }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formTicket')" prop="ticket">
<el-select v-model="formData.ticket" clearable filterable
:placeholder="t('QualityManagement.ZjTask.placeholderFormTicket')">
<el-option v-for="item in planList" :key="item.id" :label="item.code" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formOrgType')" prop="orgType" v-if="formData.ticketType === 1">
<el-select v-model="formData.orgType" clearable
:placeholder="t('QualityManagement.ZjTask.placeholderFormOrgType')">
@ -123,6 +123,7 @@ const dialogTitle = ref('')
const formLoading = ref(false)
const formType = ref('')
const planList = ref<PlanVO[]>([])
const lockedFields = ref<{ ticketType?: boolean; ticket?: boolean }>({})
const formData = ref<{ [key: string]: any }>({
id: undefined,
@ -243,10 +244,11 @@ const resetForm = () => {
ticketType: undefined
}
selectedSchemaId.value = undefined
lockedFields.value = {}
formRef.value?.resetFields()
}
const open = async (type: string, record?: ZjTaskVO) => {
const open = async (type: string, record?: ZjTaskVO, preset?: { ticketType?: number; ticket?: number; ticketName?: string }) => {
dialogVisible.value = true
dialogTitle.value = t('action.' + type)
formType.value = type
@ -269,6 +271,17 @@ const open = async (type: string, record?: ZjTaskVO) => {
}
selectedSchemaId.value = record.schemaId
}
if (preset) {
if (preset.ticketType !== undefined) {
formData.value.ticketType = preset.ticketType
lockedFields.value.ticketType = true
}
if (preset.ticket !== undefined) {
formData.value.ticket = preset.ticket
lockedFields.value.ticket = true
planList.value = [{ id: preset.ticket, code: preset.ticketName || '' }] as PlanVO[]
}
}
}
const handleManagerChange = (value: number | undefined) => {

Loading…
Cancel
Save