生产计划 相关操作人下拉选择

生产计划 相关操作人下拉选择
pull/4/head
siontion 8 months ago
parent bc2a6c8098
commit f27df81383

@ -29,7 +29,7 @@ public class PlanRespVO {
@Schema(description = "项目负责人")
@ExcelProperty("项目负责人")
private String projectOwner;
private Long projectOwner;
@Schema(description = "项目编码")
@ExcelProperty("项目编码")
@ -78,7 +78,7 @@ public class PlanRespVO {
@Schema(description = "工艺负责人")
@ExcelProperty("工艺负责人")
private String craftOwner;
private Long craftOwner;
@Schema(description = "工艺开始日期")
@ExcelProperty("工艺开始日期")
@ -94,7 +94,7 @@ public class PlanRespVO {
@Schema(description = "编辑人")
@ExcelProperty("编辑人")
private String editor;
private Long editor;
@Schema(description = "编辑日期")
@ExcelProperty("编辑日期")
@ -102,7 +102,7 @@ public class PlanRespVO {
@Schema(description = "审核人")
@ExcelProperty("审核人")
private String auditor;
private Long auditor;
@Schema(description = "审核日期")
@ExcelProperty("审核日期")
@ -110,7 +110,7 @@ public class PlanRespVO {
@Schema(description = "批准人")
@ExcelProperty("批准人")
private String approver;
private Long approver;
@Schema(description = "批准日期")
@ExcelProperty("批准日期")

@ -51,7 +51,7 @@ public class PlanSubRespVO {
@Schema(description = "毛坯负责人")
@ExcelProperty("毛坯负责人")
private String blankOwner;
private Long blankOwner;
@Schema(description = "2D结束日期")
@ExcelProperty("2D结束日期")
@ -59,7 +59,7 @@ public class PlanSubRespVO {
@Schema(description = "2D负责人")
@ExcelProperty("2D负责人")
private String twoDimOwner;
private Long twoDimOwner;
@Schema(description = "3D结束日期")
@ExcelProperty("3D结束日期")
@ -67,7 +67,7 @@ public class PlanSubRespVO {
@Schema(description = "3D负责人")
@ExcelProperty("3D负责人")
private String threeDimOwner;
private Long threeDimOwner;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")

@ -43,7 +43,7 @@ public class PlanDO extends BaseDO {
/**
*
*/
private String projectOwner;
private Long projectOwner;
/**
* :10
*
@ -53,7 +53,7 @@ public class PlanDO extends BaseDO {
/**
*
*/
private String craftOwner;
private Long craftOwner;
/**
*
*/
@ -69,7 +69,7 @@ public class PlanDO extends BaseDO {
/**
*
*/
private String editor;
private Long editor;
/**
*
*/
@ -77,7 +77,7 @@ public class PlanDO extends BaseDO {
/**
*
*/
private String auditor;
private Long auditor;
/**
*
*/
@ -85,7 +85,7 @@ public class PlanDO extends BaseDO {
/**
*
*/
private String approver;
private Long approver;
/**
*
*/

@ -57,7 +57,7 @@ public class PlanSubDO extends BaseDO {
/**
*
*/
private String blankOwner;
private Long blankOwner;
/**
* 2D
*/
@ -65,7 +65,7 @@ public class PlanSubDO extends BaseDO {
/**
* 2D
*/
private String twoDimOwner;
private Long twoDimOwner;
/**
* 3D
*/
@ -73,7 +73,7 @@ public class PlanSubDO extends BaseDO {
/**
* 3D
*/
private String threeDimOwner;
private Long threeDimOwner;
/**
*
*/

@ -31,6 +31,7 @@ public interface StorageMapper extends BaseMapperX<StorageDO> {
query.selectAll(StorageDO.class)
.leftJoin(StorageMatDO.class, "sm", StorageMatDO::getStockId, StorageDO::getId)
.leftJoin(MaterialDO.class, "mat", MaterialDO::getId, StorageMatDO::getMatId)
.disableSubLogicDel()
.orderByDesc(StorageDO::getId);
query.like(!StringUtils.isEmpty(reqVO.getMatNo()), MaterialDO::getCode, reqVO.getMatNo())

@ -31,7 +31,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="项目负责人" prop="projectOwner">
<el-input class="!w-265px" placeholder="项目负责人" v-model="formData.projectOwner" />
<el-select class="!w-265px" v-model="formData.projectOwner" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -50,7 +53,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="计划编制人" prop="editor">
<el-input class="!w-265px" placeholder="计划编制人" v-model="formData.editor" />
<el-select class="!w-265px" v-model="formData.editor" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -100,14 +106,20 @@
<el-row>
<el-col :span="24">
<el-form-item label="工艺负责人" prop="craftOwner">
<el-input class="!w-265px" placeholder="业务员" v-model="formData.craftOwner" />
<el-select class="!w-265px" v-model="formData.craftOwner" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="计划审核人" prop="auditor">
<el-input class="!w-265px" placeholder="计划审核人" v-model="formData.auditor" />
<el-select class="!w-265px" v-model="formData.auditor" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -158,7 +170,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="计划批准人" prop="approver">
<el-input class="!w-265px" placeholder="计划批准人" v-model="formData.approver"/>
<el-select class="!w-265px" v-model="formData.approver" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -252,7 +267,7 @@ import { betweenDay, formatDate } from '@/utils/formatTime'
import { Search, Plus } from '@element-plus/icons-vue'
import ProjectOrderDialog from '@/views/heli/plan/projectOrderDialog.vue'
import * as PlanApi from '@/api/heli/plan'
import * as UserApi from '@/api/system/user'
const { t } = useI18n() //
const message = useMessage() //
const { query } = useRoute()
@ -321,8 +336,10 @@ const submitForm = async () => {
formLoading.value = false
}
}
const userInit = ref()
onMounted(async () => {
//
userInit.value = await UserApi.getSimpleUserList()
})
</script>
<style>

@ -30,7 +30,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="项目负责人" prop="projectOwner">
<el-input disabled class="!w-265px" placeholder="项目负责人" v-model="formData.projectOwner" />
<el-select class="!w-265px" v-model="formData.projectOwner" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -49,7 +52,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="计划编制人" prop="editor">
<el-input disabled class="!w-265px" placeholder="计划编制人" v-model="formData.editor" />
<el-select class="!w-265px" v-model="formData.editor" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -101,14 +107,20 @@
<el-row>
<el-col :span="24">
<el-form-item label="工艺负责人" prop="craftOwner">
<el-input disabled class="!w-265px" placeholder="业务员" v-model="formData.craftOwner" />
<el-select class="!w-265px" v-model="formData.craftOwner" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="计划审核人" prop="auditor">
<el-input disabled class="!w-265px" placeholder="计划审核人" v-model="formData.auditor" />
<el-select class="!w-265px" v-model="formData.auditor" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -162,7 +174,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="计划批准人" prop="approver">
<el-input disabled class="!w-265px" placeholder="计划批准人" v-model="formData.approver" />
<el-select class="!w-265px" v-model="formData.approver" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -312,7 +327,10 @@
<template #header>毛坯负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.blankOwner`" class="mb-0px!">
<el-input disabled v-model="row.blankOwner" placeholder="毛坯负责人" />
<el-select class="!w-265px" v-model="row.blankOwner" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</template>
</el-table-column>
@ -330,7 +348,10 @@
<template #header>2D负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.twoDimOwner`" class="mb-0px!">
<el-input disabled v-model="row.twoDimOwner" placeholder="2D负责人" />
<el-select class="!w-265px" v-model="row.twoDimOwner" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</template>
</el-table-column>
@ -348,7 +369,10 @@
<template #header>3D负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.threeDimOwner`" class="mb-0px!">
<el-input disabled v-model="row.threeDimOwner" placeholder="3D负责人" />
<el-select class="!w-265px" v-model="row.threeDimOwner" filterable disabled>
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</template>
</el-table-column>
@ -585,11 +609,13 @@ const handleInitPlanSub = async ()=>{
})
}
const userInit = ref()
const equipInit = ref()
const mouldTypeList = ref()
onMounted(async () => {
//
userInit.value = await UserApi.getSimpleUserList()
//
mouldTypeList.value = await MouldTypeApi.getNoStatusSimpList()
//

@ -31,7 +31,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="项目负责人" prop="projectOwner">
<el-input class="!w-265px" placeholder="项目负责人" v-model="formData.projectOwner" />
<el-select class="!w-265px" v-model="formData.projectOwner" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -50,7 +53,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="计划编制人" prop="editor">
<el-input class="!w-265px" placeholder="计划编制人" v-model="formData.editor" />
<el-select class="!w-265px" v-model="formData.editor" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -102,14 +108,20 @@
<el-row>
<el-col :span="24">
<el-form-item label="工艺负责人" prop="craftOwner">
<el-input class="!w-265px" placeholder="业务员" v-model="formData.craftOwner" />
<el-select class="!w-265px" v-model="formData.craftOwner" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="计划审核人" prop="auditor">
<el-input class="!w-265px" placeholder="计划审核人" v-model="formData.auditor" />
<el-select class="!w-265px" v-model="formData.auditor" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -163,7 +175,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="计划批准人" prop="approver">
<el-input class="!w-265px" placeholder="计划批准人" v-model="formData.approver" />
<el-select class="!w-265px" v-model="formData.approver" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -316,7 +331,10 @@
<template #header>毛坯负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.blankOwner`" class="mb-0px!">
<el-input v-model="row.blankOwner" placeholder="毛坯负责人" />
<el-select class="!w-265px" v-model="row.blankOwner" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</template>
</el-table-column>
@ -334,7 +352,10 @@
<template #header>2D负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.twoDimOwner`" class="mb-0px!">
<el-input v-model="row.twoDimOwner" placeholder="2D负责人" />
<el-select class="!w-265px" v-model="row.twoDimOwner" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</template>
</el-table-column>
@ -352,7 +373,10 @@
<template #header>3D负责人</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.threeDimOwner`" class="mb-0px!">
<el-input v-model="row.threeDimOwner" placeholder="3D负责人" />
<el-select class="!w-265px" v-model="row.threeDimOwner" filterable >
<el-option v-for="dict in userInit" :key="dict.id"
:label="dict.nickname" :value="dict.id" />
</el-select>
</el-form-item>
</template>
</el-table-column>
@ -601,12 +625,15 @@ const handleInitPlanSub = async () => {
})
}
const userInit = ref()
const equipInit = ref()
const mouldTypeList = ref()
const customerInit = ref()
onMounted(async () => {
//
userInit.value = await UserApi.getSimpleUserList()
//
mouldTypeList.value = await MouldTypeApi.getSimpList()
//

@ -108,8 +108,21 @@
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="220px" />
<el-table-column label="备注" align="center" prop="description" width="150"/>
<el-table-column fixed="right" label="项目负责人" align="center" prop="projectOwner" width="150" />
<el-table-column fixed="right" label="工艺负责人" align="center" prop="craftOwner" width="150" />
<el-table-column fixed="right" label="项目负责人" align="center" prop="projectOwner" width="150" >
<template #default="scope">
{{ userInit.find((user) => user.id == scope.row.projectOwner)?.nickname }}
</template>
</el-table-column>
<el-table-column fixed="right" label="工艺负责人" align="center" prop="craftOwner" width="150" >
<template #default="scope">
{{ userInit.find((user) => user.id == scope.row.craftOwner)?.nickname }}
</template>
</el-table-column>
<el-table-column fixed="right" label="生产状态" align="center" prop="status" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_PROJECT_PLAN_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="150">
<template #default="scope">
@ -149,6 +162,7 @@ import { dateFormatter,formatDate } from '@/utils/formatTime'
import download from '@/utils/download'
import * as PlanApi from '@/api/heli/plan'
import Print from './planprint.vue' //
import * as UserApi from '@/api/system/user'
defineOptions({ name: 'Plan' })
@ -242,8 +256,11 @@ const handleExport = async () => {
}
}
const userInit = ref()
/** 初始化 **/
onMounted(() => {
getList()
onMounted( async() => {
//
userInit.value = await UserApi.getSimpleUserList()
await getList()
})
</script>

@ -498,6 +498,11 @@ const submitForm = async () => {
//
await formRef.value.validate()
if (formData.value.matItemDOList.length === 0) {
message.alertWarning('请添加物料信息!')
return
}
//
try {
await matSubFormRef.value.validate()

@ -520,10 +520,10 @@ const saveFormData = async () => {
const submitForm = async () => {
//
await formRef.value.validate()
// if (formData.value.matItemDOList.length === 0) {
// message.alertWarning('!')
// return
// }
if (formData.value.matItemDOList.length === 0) {
message.alertWarning('请添加物料信息!')
return
}
//
try {
await matSubFormRef.value.validate()

@ -76,17 +76,17 @@ CREATE TABLE `project_plan` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增字段,唯一',
`plan_no` varchar(11) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计划单号',
`project_id` bigint(20) NOT NULL COMMENT '项目id',
`project_owner` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '项目负责人',
`project_owner` bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '项目负责人',
`has_craft` tinyint(1) DEFAULT NULL COMMENT '是否需要工艺:1表示需要0表示不需要',
`craft_owner` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工艺负责人',
`craft_owner` bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工艺负责人',
`craft_start_date` datetime DEFAULT NULL COMMENT '工艺开始日期',
`craft_end_date` datetime DEFAULT NULL COMMENT '工艺结束日期',
`craft_content` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工艺流程数组信息[{''id'':1,''sdate'':'''',''edate'':'''',''owner'':'''',''description'':''''}]',
`editor` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '编制人',
`editor` bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '编制人',
`editor_date` datetime DEFAULT NULL COMMENT '编制日期',
`auditor` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核人',
`auditor` bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核人',
`audit_date` datetime DEFAULT NULL COMMENT '审核日期',
`approver` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '批准人',
`approver` bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '批准人',
`approve_date` datetime DEFAULT NULL COMMENT '批准日期',
`description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
`status` tinyint(1) DEFAULT '1' COMMENT '状态,1未开始2生产中3已完成4已终止 默认是1',
@ -112,11 +112,11 @@ CREATE TABLE `project_plan_sub` (
`mould_id` bigint(20) DEFAULT NULL COMMENT '模具类型id',
`equip_id` bigint(20) DEFAULT NULL COMMENT '设备id',
`blank_date` datetime DEFAULT NULL COMMENT '毛坯结束日期',
`blank_owner` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '毛坯负责人',
`blank_owner` bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '毛坯负责人',
`two_dim_date` datetime DEFAULT NULL COMMENT '2D结束日期',
`two_dim_owner` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '2D负责人',
`two_dim_owner`bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '2D负责人',
`three_dim_date` datetime DEFAULT NULL COMMENT '3D结束日期',
`three_dim_owner` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '3D负责人',
`three_dim_owner` bigint(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '3D负责人',
`creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',

Loading…
Cancel
Save