黄伟杰 1 month ago
commit b433da03ba

@ -74,7 +74,7 @@
</el-form>
<!-- 子表的表单 -->
<el-tabs v-model="subTabsName" v-if="formData.feedingType=='org'">
<el-tab-pane label="投料记录明细" name="feedingRecordDetail">
<el-tab-pane label="投料明细" name="feedingRecordDetail">
<FeedingRecordDetailForm ref="feedingRecordDetailFormRef" :record-id="formData.id" />
</el-tab-pane>
</el-tabs>

@ -65,7 +65,7 @@
</el-table>
</el-form>
<el-row justify="center" class="mt-3">
<el-button @click="handleAdd" round>+ 添加投料记录明细</el-button>
<el-button @click="handleAdd" round>+ 添加投料明细</el-button>
</el-row>
</template>
<script setup lang="ts">

@ -95,7 +95,7 @@
<el-table-column type="expand">
<template #default="scope">
<el-tabs model-value="feedingRecordDetail">
<el-tab-pane label="投料记录明细" name="feedingRecordDetail">
<el-tab-pane label="投料明细" name="feedingRecordDetail">
<FeedingRecordDetailList :record-id="scope.row.id" />
</el-tab-pane>
</el-tabs>

@ -44,6 +44,31 @@
<el-form-item label="计划编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入计划编码" />
</el-form-item>
<el-form-item label="生产线" prop="feedingPipeline">
<el-tree-select
v-model="formData.feedingPipeline"
:data="organizationTree"
:props="defaultProps"
check-strictly
default-expand-all
placeholder="请选择生产线"
/>
</el-form-item>
<el-form-item label="领料人" prop="workerId">
<el-select
v-model="formData.workerId"
clearable
filterable
placeholder="请选择领料人"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="产品" prop="productId">-->
<!-- <el-select-->
<!-- :disabled='editDisable'-->
@ -61,12 +86,23 @@
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="成型数量" prop="planNumber">
<el-form-item label="数量" prop="planNumber">
<el-input v-model="formData.planNumber" />
</el-form-item>
<el-form-item label="热压数量" prop="reyaNumber">
<el-input v-model="formData.reyaNumber" />
<el-form-item label="是否试生产" prop="isPreProduction">
<el-radio-group v-model="formData.isPreProduction">
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.MES_PRE_PRODUCTION)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="热压数量" prop="reyaNumber">
<el-input v-model="formData.reyaNumber" />
</el-form-item> -->
<el-form-item label="计划开始" prop="planStartTime">
<el-date-picker
v-model="formData.planStartTime"
@ -108,9 +144,12 @@
import { PlanApi, PlanVO } from '@/api/mes/plan'
import * as UserApi from "@/api/system/user";
import {TaskApi, TaskDetailVO, TaskVO} from "@/api/mes/task";
import {ProductApi, ProductVO} from "@/api/erp/product/product";
import {getIntDictOptions,DICT_TYPE} from "@/utils/dict";
import { TaskApi, TaskDetailVO, TaskVO} from "@/api/mes/task";
import { ProductVO } from "@/api/erp/product/product";
import { defaultProps, handleTree } from '@/utils/tree';
import { OrganizationApi } from '@/api/mes/organization';
import {WorkTeamApi} from "@/api/mes/workteam";
import {DICT_TYPE, getIntDictOptions} from "@/utils/dict";
/** 生产计划 表单 */
defineOptions({ name: 'PlanForm' })
@ -118,6 +157,7 @@ const userList = ref<UserApi.UserVO[]>([]) // 用户列表
const productList = ref<ProductVO[]>([]) //
const taskList = ref<TaskVO[]>([]) //
const taskDetailList = ref<TaskDetailVO[]>([]) //
const organizationTree = ref() //
const { t } = useI18n() //
const message = useMessage() //
@ -145,15 +185,21 @@ const formData = ref({
productionManagerId: undefined,
remark: undefined,
groupType: undefined,
isEnable: undefined
isEnable: undefined,
feedingPipeline: undefined,
workerId: undefined,
isPreProduction: undefined
})
const formRules = reactive({
taskDetailId: [{ required: true, message: '明细项不能为空', trigger: 'blur' }],
taskId: [{ required: true, message: '任务单不能为空', trigger: 'blur' }],
planNumber: [{ required: true, message: '成型数量不能为空', trigger: 'blur' }],
reyaNumber: [{ required: true, message: '热压数量不能为空', trigger: 'blur' }],
planNumber: [{ required: true, message: '数量不能为空', trigger: 'blur' }],
// reyaNumber: [{ required: true, message: '', trigger: 'blur' }],
planStartTime: [{ required: true, message: '计划开始时间不能为空', trigger: 'blur' }],
planEndTime: [{ required: true, message: '计划结束时间不能为空', trigger: 'blur' }],
feedingPipeline: [{ required: true, message: '生产线不能为空', trigger: 'blur' }],
workerId: [{ required: true, message: '下料工人不能为空', trigger: 'blur' }],
isPreProduction: [{ required: true, message: '试生产不能为空', trigger: 'blur' }],
})
const formRef = ref() // Ref
@ -194,11 +240,14 @@ const open = async (type: string, id?: number,
}
}
//
userList.value = await UserApi.getSimpleUserList()
//userList.value = await UserApi.getSimpleUserList()
//
//productList.value = await ProductApi.getMesProductSimpleList()
//
taskList.value = await TaskApi.getPlanTaskList()
//
userList.value = await WorkTeamApi.getUserList("zhijiang", '')
await getOrganizationTree()
}
defineExpose({ open }) // open
@ -244,7 +293,8 @@ const resetForm = () => {
productionManagerId: undefined,
remark: undefined,
groupType: undefined,
isEnable: undefined
isEnable: undefined,
isPreProduction: 0,
}
formRef.value?.resetFields()
}
@ -257,4 +307,14 @@ const handleTaskChange = async(e) => {
const handleTaskDetailChange = async(e) => {
console.log(e)
}
/** 获得产线工位树 */
const getOrganizationTree = async () => {
organizationTree.value = []
const req = {orgClass:'pipeline'}
const data = await OrganizationApi.getOrganizationList(req)
const root: Tree = { id: 0, name: '顶级产线工位', children: [] }
root.children = handleTree(data, 'id', 'parentId')
organizationTree.value.push(root)
}
</script>

@ -112,12 +112,14 @@
<ContentWrap>
<el-tabs v-model="activeName" @tab-click="handleTabClick">
<!-- <el-tab-pane label="所有" name="" /> -->
<el-tab-pane label="派工" name="0" />
<el-tab-pane label="开工" name="1" />
<el-tab-pane label="生产" name="2" />
<!-- <el-tab-pane label="派工" name="0" /> -->
<el-tab-pane label="已排产" name="1" />
<el-tab-pane label="试产" name="6" />
<el-tab-pane label="量产" name="2" />
<el-tab-pane label="暂停" name="3" />
<el-tab-pane label="完工" name="4" />
<el-tab-pane label="入库" name="5" />
<el-tab-pane label="待入库" name="7" />
<el-tab-pane label="已入库" name="5" />
</el-tabs>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<!-- 投料进度子表的列表 -->
@ -157,7 +159,7 @@
<el-table-column label="计划结束时间" align="center" sortable prop="planEndTime" :formatter="dateFormatter2" width="150px"/>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="领料人" align="center" prop="productionManagerName" />
<el-table-column label="制浆线" align="center" prop="feedingPipeline">
<el-table-column label="生产线" align="center" prop="feedingPipeline">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_FEEDING_PIPELINE" :value="scope.row.feedingPipeline" />
</template>
@ -421,7 +423,7 @@ const handleStatus = async (planCode:string, id: number,
}
/** tab 切换 */
let activeName = '0'
let activeName = '1'
const handleTabClick = (tab: TabsPaneContext) => {
queryParams.status = tab.paneName
handleQuery()

Loading…
Cancel
Save