# Conflicts:
#	ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanRecord.java
#	ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanRecordBo.java
This commit is contained in:
cjw 2024-02-22 09:15:57 +08:00
commit 5f3c80eb8a
10 changed files with 139 additions and 46 deletions

View File

@ -5,8 +5,10 @@ import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
@ -71,6 +73,11 @@ public class MesPlanRecordController extends BaseController {
return R.ok(iMesPlanRecordService.queryById(id));
}
@GetMapping("/queryByBo")
public R<MesPlanRecordVo> queryByBo(MesPlanRecordBo bo) {
return R.ok(iMesPlanRecordService.queryByBo(bo));
}
/**
* 新增生产计划明细日期记录
*/

View File

@ -9,6 +9,16 @@ import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 生产计划明细日期记录对象 mes_plan_record
*
@ -31,14 +41,14 @@ public class MesPlanRecord extends BaseEntity {
* 任务id
*/
private Long detailId;
/**
* 备注
*/
private String remark;
/**
* 记录日期
*/
private Date recordDate;
/**
* 备注
*/
private String remark;
/**
* oss_id
*/

View File

@ -6,10 +6,21 @@ import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 生产计划明细日期记录业务对象 mes_plan_record
*
@ -34,23 +45,21 @@ public class MesPlanRecordBo extends BaseEntity {
private Long detailId;
/**
* 备注
* 记录日期
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date recordDate;
/**
* 开始时间
* 备注
*/
@NotNull(message = "记录日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date recordDate;
private String remark;
private String flag;
/**
* oss_id
*/
@NotNull(message = "oss_id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long ossId;

View File

@ -1,12 +1,14 @@
package com.ruoyi.mts.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
@ -35,6 +37,11 @@ public class MesPlanRecordVo implements Serializable {
@ExcelProperty(value = "任务id")
private Long detailId;
/**
* 记录日期
*/
private Date recordDate;
/**
* 备注
*/
@ -58,6 +65,4 @@ public class MesPlanRecordVo implements Serializable {
*/
@ExcelProperty(value = "oss_id")
private Long ossId;
}

View File

@ -22,6 +22,8 @@ public interface IMesPlanRecordService {
*/
MesPlanRecordVo queryById(Long id);
MesPlanRecordVo queryByBo(MesPlanRecordBo bo);
/**
* 查询生产计划明细日期记录列表
*/

View File

@ -38,6 +38,14 @@ public class MesPlanRecordServiceImpl implements IMesPlanRecordService {
return baseMapper.selectVoById(id);
}
@Override
public MesPlanRecordVo queryByBo(MesPlanRecordBo bo) {
return baseMapper.selectVoOne(Wrappers.lambdaQuery(MesPlanRecord.class)
.eq(MesPlanRecord::getDetailId, bo.getDetailId())
.eq(MesPlanRecord::getRecordDate, bo.getRecordDate())
.last("limit 1"));
}
/**
* 查询生产计划明细日期记录列表
*/

View File

@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="com.ruoyi.mts.domain.MesPlanRecord" id="MesPlanRecordResult">
<result property="id" column="id"/>
<result property="detailId" column="detail_id"/>
<result property="recordDate" column="record_date"/>
<result property="remark" column="remark"/>
<result property="startDate" column="start_date"/>
<result property="endDate" column="end_date"/>

View File

@ -0,0 +1,52 @@
import request from "@/utils/request";
// 查询生产计划明细日期记录列表
export function listPlanRecord(query) {
return request({
url: "/mts/planRecord/list",
method: "get",
params: query,
});
}
// 查询生产计划明细日期记录详细
export function getPlanRecord(id) {
return request({
url: "/mts/planRecord/" + id,
method: "get",
});
}
export function queryByBo(query) {
return request({
url: "/mts/planRecord/queryByBo",
method: "get",
params: query,
});
}
// 新增生产计划明细日期记录
export function addPlanRecord(data) {
return request({
url: "/mts/planRecord",
method: "post",
data: data,
});
}
// 修改生产计划明细日期记录
export function updatePlanRecord(data) {
return request({
url: "/mts/planRecord",
method: "put",
data: data,
});
}
// 删除生产计划明细日期记录
export function delPlanRecord(id) {
return request({
url: "/mts/planRecord/" + id,
method: "delete",
});
}

View File

@ -1,19 +1,8 @@
<template>
<div class="upload-file">
<el-upload
multiple
:action="uploadFileUrl"
:before-upload="handleBeforeUpload"
:file-list="fileList"
:limit="limit"
:on-error="handleUploadError"
:on-exceed="handleExceed"
:on-success="handleUploadSuccess"
:show-file-list="false"
:headers="headers"
class="upload-file-uploader"
ref="fileUpload"
>
<el-upload multiple :action="uploadFileUrl" :before-upload="handleBeforeUpload" :file-list="fileList" :limit="limit"
:on-error="handleUploadError" :on-exceed="handleExceed" :on-success="handleUploadSuccess" :show-file-list="false"
:headers="headers" class="upload-file-uploader" ref="fileUpload">
<!-- 上传按钮 -->
<el-button type="primary">选取文件</el-button>
</el-upload>
@ -21,6 +10,7 @@
<div class="el-upload__tip" v-if="showTip">
请上传
<template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
<br>
<template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
的文件
</div>
@ -57,7 +47,7 @@ const props = defineProps({
// , ['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["doc", "xls", "ppt", "txt", "pdf"],
default: () => ["doc", "docx", "xls", "xlsx", "ppt", "pptx", "txt", "pdf", 'png', 'jpg', 'jpeg'],
},
//
isShowTip: {
@ -200,18 +190,21 @@ function listToString(list, separator) {
.upload-file-uploader {
margin-bottom: 5px;
}
.upload-file-list .el-upload-list__item {
border: 1px solid #e4e7ed;
line-height: 2;
margin-bottom: 10px;
position: relative;
}
.upload-file-list .ele-upload-list__item-content {
display: flex;
justify-content: space-between;
align-items: center;
color: inherit;
}
.ele-upload-list__item-content-action .el-link {
margin-right: 10px;
}

View File

@ -24,14 +24,15 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['mts:planDetail:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="info" plain icon="Sort" @click="toggleExpandAll">展开/折叠</el-button>
</el-col>
</el-col> -->
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-if="refreshTable" v-loading="loading" :data="planDetailList" row-key="id" height="800"
:default-expand-all="isExpandAll" :span-method="objectSpanMethod" :cell-style="handleChangeCellStyle" border>
<el-table v-if="refreshTable" v-loading="loading" :data="planDetailList" :row-key="(row, index) => row.id + index"
height="800" :default-expand-all="isExpandAll" :span-method="objectSpanMethod" :cell-style="handleChangeCellStyle"
border>
<el-table-column fixed="left" label="名称" align="left" prop="name" width="180">
<!-- <template #default="scope">
<span v-html="handleName(scope.row)"></span>
@ -54,6 +55,8 @@
</router-link>
</el-dropdown-item>
<el-dropdown-item @click="handleDate(scope.row)">任务备注</el-dropdown-item>
<el-dropdown-item @click="handleAdd(scope.row)">新增</el-dropdown-item>
<el-dropdown-item @click="handleUpdate(scope.row)">修改</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
@ -76,7 +79,7 @@
</el-table-column> -->
<el-table-column v-for="item in dateColumns" :label="item.label" align="left" :prop="item.prop" width="110">
<template #default="scope">
<el-button link @click="handleDate(scope.row)" style="opacity: 0;">{{ item.label }}</el-button>
<el-button link @click="handleDate(scope.column, scope.row)" style="opacity: 0;">{{ item.label }}</el-button>
</template>
</el-table-column>
<!-- <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="210">
@ -134,19 +137,19 @@
<el-dialog title="任务备注" v-model="openDate" width="550px" append-to-body>
<el-form ref="openDateRef" :model="formDate" label-width="90px">
<el-form-item label="备注" prop="remark">
<el-input v-model="formDate.remark" placeholder="请输入备注" />
<el-input v-model="formDate.remark" placeholder="请输入备注" autosize type="textarea" />
</el-form-item>
<el-form-item label="开始时间" prop="startDate">
<el-date-picker clearable v-model="formDate.startDate" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择开始时间">
style="width: 100%;" placeholder="请选择开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="endDate">
<el-date-picker clearable v-model="formDate.endDate" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择结束时间">
style="width: 100%;" placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="oss_id" prop="ossId">
<el-form-item label="附件" prop="ossId">
<file-upload v-model="formDate.ossId" />
</el-form-item>
</el-form>
@ -166,6 +169,7 @@ import { useRoute } from 'vue-router'
import dayjs from 'dayjs'
import { listPlanDetail, getPlanDetail, delPlanDetail, addPlanDetail, updatePlanDetail } from "@/api/mts/planDetail";
import { getPlanMain } from "@/api/mts/planMain";
import { queryByBo } from "@/api/mts/planrecord";
const { proxy } = getCurrentInstance();
const route = useRoute();
@ -362,9 +366,11 @@ function resetQuery() {
const openDate = ref(false)
const openDateRef = ref(null)
const formDate = ref({})
function handleDate(row) {
console.log('handleDate', row)
async function handleDate(column, row) {
const res = await queryByBo({recordDate: column.label, detailId: row.id})
console.log('res', res)
openDate.value = true
formDate.value = res.data
}
/** 新增按钮操作 */