设备维保详情保存不返回 车间计划删除空行 3D图纸规格/型号

dev
qiuhongwu 5 months ago
parent 2ce1594481
commit 4267524da9

@ -207,7 +207,7 @@ const submitForm = async () => {
dialogVisible.value = false
//
emit('success')
goback()
// goback()
} finally {
formLoading.value = false
}

@ -3,7 +3,13 @@
<template #header>
<span>编辑页</span>
</template>
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="160px" v-loading="formLoading">
<el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="160px"
v-loading="formLoading"
>
<el-card class="hl-card-info">
<template #header>
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">基础信息</span>
@ -16,14 +22,26 @@
<el-row>
<el-col :span="24">
<el-form-item label="计划单号" prop="planNo">
<el-input class="!w-265px" placeholder="系统自动生成" v-model="formData.planNo" disabled />
<el-input
class="!w-265px"
placeholder="系统自动生成"
v-model="formData.planNo"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="生产开始日期" prop="projectStartTime">
<el-date-picker class="!w-265px" v-model="formData.projectStartTime" type="date" value-format="x" placeholder="生产开始日期" disabled />
<el-date-picker
class="!w-265px"
v-model="formData.projectStartTime"
type="date"
value-format="x"
placeholder="生产开始日期"
disabled
/>
</el-form-item>
</el-col>
</el-row>
@ -31,7 +49,11 @@
<el-col :span="24">
<!-- 计划负责人默认登录人允许修改 -->
<el-form-item label="计划负责人" prop="projectOwner">
<UserSelect v-model="formData.projectOwner" @update:newValue="handleSelectedUser3" class="!w-265px" />
<UserSelect
v-model="formData.projectOwner"
@update:newValue="handleSelectedUser3"
class="!w-265px"
/>
</el-form-item>
</el-col>
</el-row>
@ -39,7 +61,13 @@
<el-row>
<el-col :span="40">
<el-form-item label="备注" prop="description">
<el-input class="!w-640px" type="textarea" v-model="formData.description" show-word-limit maxlength="200" />
<el-input
class="!w-640px"
type="textarea"
v-model="formData.description"
show-word-limit
maxlength="200"
/>
</el-form-item>
</el-col>
</el-row>
@ -48,22 +76,38 @@
<el-row>
<el-col :span="24">
<el-form-item label="生产订单号" prop="projectCode">
<el-input class="!w-265px" placeholder="生产订单号" v-model="formData.projectCode" disabled />
<el-input
class="!w-265px"
placeholder="生产订单号"
v-model="formData.projectCode"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="生产结束日期" prop="projectEndTime">
<el-date-picker class="!w-265px" v-model="formData.projectEndTime" type="date" value-format="x" placeholder="生产结束日期" disabled />
<span style="position: absolute; left: 0; top: 30px" v-if="formData.projectStartTime && formData.projectEndTime">{{
<el-date-picker
class="!w-265px"
v-model="formData.projectEndTime"
type="date"
value-format="x"
placeholder="生产结束日期"
disabled
/>
<span
style="position: absolute; left: 0; top: 30px"
v-if="formData.projectStartTime && formData.projectEndTime"
>{{
' 共计' +
betweenDay(
new Date(formData.projectStartTime),
new Date(formData.projectEndTime)
) +
'天'
}}</span>
}}</span
>
</el-form-item>
</el-col>
</el-row>
@ -80,8 +124,19 @@
<el-row>
<el-col :span="24">
<el-form-item label="订单状态" prop="projectStatus">
<el-select v-model="formData.projectStatus" placeholder="项目状态" clearable class="!w-265px" disabled>
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.BIZ_PROJECT_ORDER_STATUS)" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-select
v-model="formData.projectStatus"
placeholder="项目状态"
clearable
class="!w-265px"
disabled
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.BIZ_PROJECT_ORDER_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
@ -98,21 +153,40 @@
<el-row>
<el-col :span="24">
<el-form-item label="修改时间" prop="updateTime">
<el-date-picker disabled class="!w-265px" v-model="formData.updateTime" type="date" value-format="x" placeholder="修改时间" />
<el-date-picker
disabled
class="!w-265px"
v-model="formData.updateTime"
type="date"
value-format="x"
placeholder="修改时间"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="订单变更次数" prop="changeNum">
<el-input class="!w-265px" placeholder="订单变更次数" v-model="formData.changeNum" disabled />
<el-input
class="!w-265px"
placeholder="订单变更次数"
v-model="formData.changeNum"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="订单变更日期" prop="changeLastDate">
<el-date-picker class="!w-265px" v-model="formData.changeLastDate" type="date" value-format="x" placeholder="订单变更日期" disabled />
<el-date-picker
class="!w-265px"
v-model="formData.changeLastDate"
type="date"
value-format="x"
placeholder="订单变更日期"
disabled
/>
</el-form-item>
</el-col>
</el-row>
@ -122,7 +196,12 @@
<el-row>
<el-col :span="24">
<el-form-item label="客户名称" prop="customerName">
<el-input class="!w-265px" v-model="formData.customerName" placeholder="客户名称" disabled />
<el-input
class="!w-265px"
v-model="formData.customerName"
placeholder="客户名称"
disabled
/>
</el-form-item>
</el-col>
</el-row>
@ -131,7 +210,12 @@
<el-col :span="24">
<el-form-item label="是否紧急" prop="isUrgency">
<el-select class="!w-265px" v-model="formData.isUrgency" disabled>
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.BIZ_COMMON_IS_OR_NOT)" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.BIZ_COMMON_IS_OR_NOT)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
@ -139,13 +223,23 @@
<el-row>
<el-col :span="24">
<el-form-item label="生产状态" prop="status">
<el-select v-model="formData.status" placeholder="生产状态" clearable class="!w-265px" disabled>
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.BIZ_PROJECT_PLAN_STATUS)" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-select
v-model="formData.status"
placeholder="生产状态"
clearable
class="!w-265px"
disabled
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.BIZ_PROJECT_PLAN_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
</el-col>
@ -159,12 +253,33 @@
<el-row>
<el-col>
<el-card class="hl-incard">
<el-form ref="subFormRef" :model="formData.planSubs" :rules="subFormRules" v-loading="subFormLoading" label-width="0">
<el-form
ref="subFormRef"
:model="formData.planSubs"
:rules="subFormRules"
v-loading="subFormLoading"
label-width="0"
>
<el-table :show-overflow-tooltip="true" :data="formData.planSubs" class="hl-table">
<el-table-column label="序号" align="center" type="index" width="80" fixed />
<el-table-column prop="projectSubCode" label="产品编码" min-width="160" align="center" />
<el-table-column prop="projectSubName" label="产品名称" min-width="140" align="center" />
<el-table-column prop="mouldId" label="规格/型号" align="center" min-width="120" />
<el-table-column
prop="projectSubCode"
label="产品编码"
min-width="160"
align="center"
/>
<el-table-column
prop="projectSubName"
label="产品名称"
min-width="140"
align="center"
/>
<el-table-column
prop="mouldId"
label="规格/型号"
align="center"
min-width="120"
/>
<el-table-column prop="amount" label="数量" min-width="100" align="center" />
<el-table-column prop="unit" label="单位" min-width="100" align="center">
<template #default="scope">
@ -175,7 +290,11 @@
<template #header>2D负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.twoDimOwner`" class="mb-0px!">
<UserSelect v-model="row.twoDimOwner" @update:newValue="handleSelectedUser7($index,$event)" class="!w-265px" />
<UserSelect
v-model="row.twoDimOwner"
@update:newValue="handleSelectedUser7($index, $event)"
class="!w-265px"
/>
</el-form-item>
</template>
</el-table-column>
@ -183,7 +302,13 @@
<template #header>2D结束日期</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.twoDimDate`" class="mb-0px!">
<el-date-picker class="!w-265px" v-model="row.twoDimDate" type="date" value-format="x" placeholder="2D结束日期" />
<el-date-picker
class="!w-265px"
v-model="row.twoDimDate"
type="date"
value-format="x"
placeholder="2D结束日期"
/>
</el-form-item>
</template>
</el-table-column>
@ -191,7 +316,11 @@
<template #header>3D负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.threeDimOwner`" class="mb-0px!">
<UserSelect v-model="row.threeDimOwner" @update:newValue="handleSelectedUser8($index,$event)" class="!w-265px" />
<UserSelect
v-model="row.threeDimOwner"
@update:newValue="handleSelectedUser8($index, $event)"
class="!w-265px"
/>
</el-form-item>
</template>
</el-table-column>
@ -199,7 +328,13 @@
<template #header>3D结束日期</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.threeDimDate`" class="mb-0px!">
<el-date-picker class="!w-265px" v-model="row.threeDimDate" type="date" value-format="x" placeholder="3D结束日期" />
<el-date-picker
class="!w-265px"
v-model="row.threeDimDate"
type="date"
value-format="x"
placeholder="3D结束日期"
/>
</el-form-item>
</template>
</el-table-column>
@ -223,11 +358,21 @@
<el-table-column min-width="120" prop="workshopId" label="生产车间" align="center">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.workshopId`" class="mb-0px!">
<WorkshopSelect v-model="row.workshopId" :disabled="row.id" style="width: 100%" @update:newValue="handleSelectedWorkshop($index,$event)" />
<WorkshopSelect
v-model="row.workshopId"
:disabled="row.id"
style="width: 100%"
@update:newValue="handleSelectedWorkshop($index, $event)"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column min-width="150" label="责任人" prop="leaderUserName" align="center" />
<el-table-column
min-width="150"
label="责任人"
prop="leaderUserName"
align="center"
/>
<!-- <el-table-column min-width="150" label="责任人" prop="leaderUserId" align="center" >
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.leaderUserId`" class="mb-0px!">
@ -238,20 +383,38 @@
<el-table-column min-width="150" label="预计开始日期" align="center">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.startTime`" class="mb-0px!">
<el-date-picker style="width: 100%" v-model="row.startTime" type="date" value-format="x" placeholder="开始日期" />
<el-date-picker
style="width: 100%"
v-model="row.startTime"
type="date"
value-format="x"
placeholder="开始日期"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column min-width="150" label="预计完成日期" align="center">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.endTime`" class="mb-0px!">
<el-date-picker style="width: 100%" v-model="row.endTime" type="date" value-format="x" placeholder="结束日期" />
<el-date-picker
style="width: 100%"
v-model="row.endTime"
type="date"
value-format="x"
placeholder="结束日期"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column min-width="100" label="操作" align="center">
<template #default="{ row, $index }">
<el-button link :disabled="row.id" type="danger" @click="handleDelete(row, $index)">删除</el-button>
<el-button
link
:disabled="row.id"
type="danger"
@click="handleDelete(row, $index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -287,7 +450,7 @@ const { t } = useI18n() // 国际化
const message = useMessage() //
const { query } = useRoute()
const router = useRouter()
const reload:any = inject('reload')
const reload: any = inject('reload')
const formLoading = ref(false) // 12
const formRef = ref() //
@ -319,7 +482,7 @@ const formRules = reactive({
projectCode: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }]
})
const subFormRules = reactive({
projectSubShortName: [{ required: true, message: '子项目简称不能为空', trigger: 'blur' }]
planWorkshops: [{ required: true, message: '生产车间不能为空', trigger: 'blur' }]
})
const projectOrderDialog = ref()
const openProjectOrderDialog = () => {
@ -350,19 +513,21 @@ const addcraftInfos = () => {
}
formData.value.planWorkshops.push(row)
}
const handleDelete=(val,index)=>{
const handleDelete = (val, index) => {
formData.value.planWorkshops.splice(index, 1)
}
const submitForm = async () => {
//
await formRef.value.validate()
await subFormRef.value.validate()
formData.value.planWorkshops = formData.value.planWorkshops.filter((item, index) => {
return item.workshopId !== '' || item.startTime !== '' || item.endTime !== '';
});
//
formLoading.value = true
try {
const data = formData.value as unknown as PlanApi.PlanVO
console.log(data)
await PlanApi.updatePlan(data)
message.success(t('common.updateSuccess'))
//
@ -408,11 +573,10 @@ onMounted(async () => {
var workshop = await PlanApi.getPlanWorkshopListByProjectPlanId(formData.value.id)
formData.value.planWorkshops = workshop
formData.value.planWorkshops.forEach(async item => {
formData.value.planWorkshops.forEach(async (item) => {
const initiaworkshop = await WorkshopApi.getWorkshop(item.workshopId)
item.leaderUserName=initiaworkshop.leaderUserName
item.leaderUserName = initiaworkshop.leaderUserName
})
})
//

@ -57,7 +57,7 @@
<!-- 新增规格/型号 -->
<el-col :span="6">
<el-form-item label="规格/型号">
<el-input class="!w-260px" v-model="formData.mouldId" :disabled="true" placeholder="规格/型号" />
<el-input class="!w-260px" v-model="formData.spec" :disabled="true" placeholder="规格/型号" />
</el-form-item>
</el-col>
</el-row>

Loading…
Cancel
Save