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

dev
qiuhongwu 5 months ago
parent 2ce1594481
commit 4267524da9

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

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

@ -57,7 +57,7 @@
<!-- 新增规格/型号 --> <!-- 新增规格/型号 -->
<el-col :span="6"> <el-col :span="6">
<el-form-item label="规格/型号"> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>

Loading…
Cancel
Save