修改提交
This commit is contained in:
parent
d003a4a9aa
commit
df4bc39ad9
@ -56,7 +56,9 @@ public class TaskReportRespVO {
|
|||||||
@Schema(description = "报工人")
|
@Schema(description = "报工人")
|
||||||
@ExcelProperty("报工人")
|
@ExcelProperty("报工人")
|
||||||
private String ownerName;
|
private String ownerName;
|
||||||
|
@Schema(description = "原因说明")
|
||||||
|
@ExcelProperty("原因说明")
|
||||||
|
private String remark;
|
||||||
@Schema(description = "报工工序")
|
@Schema(description = "报工工序")
|
||||||
@ExcelProperty("报工工序")
|
@ExcelProperty("报工工序")
|
||||||
private String procedureName;
|
private String procedureName;
|
||||||
|
@ -52,5 +52,7 @@ public class TaskReportSaveReqVO {
|
|||||||
@Schema(description = "报工工时", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "报工工时", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "报工工时不能为空")
|
@NotNull(message = "报工工时不能为空")
|
||||||
private BigDecimal workTime;
|
private BigDecimal workTime;
|
||||||
|
@Schema(description = "原因说明", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotNull(message = "原因说明不能为空")
|
||||||
|
private String remark;
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,7 @@ public class TaskDispatchDetailDO extends BaseDO {
|
|||||||
private LocalDateTime endTime;
|
private LocalDateTime endTime;
|
||||||
private Long dispatchType;
|
private Long dispatchType;
|
||||||
private String postId;
|
private String postId;
|
||||||
|
private String isOutsourcing;
|
||||||
/**
|
/**
|
||||||
* 工序状态 默认 已提交 已完成 0 1 2
|
* 工序状态 默认 已提交 已完成 0 1 2
|
||||||
*/
|
*/
|
||||||
|
@ -69,6 +69,8 @@ public class TaskReportDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private BigDecimal workTime;
|
private BigDecimal workTime;
|
||||||
|
|
||||||
|
private String workType;
|
||||||
|
private String remark;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String projectName;
|
private String projectName;
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ public interface TaskDispatchMapper extends BaseMapperX<TaskDispatchDO> {
|
|||||||
query.selectAll(TaskDispatchDO.class)
|
query.selectAll(TaskDispatchDO.class)
|
||||||
.select("z.name as materialName", "z.procedure_type as materialType", "SUM(COALESCE(d.work_time, 0)) as amount")
|
.select("z.name as materialName", "z.procedure_type as materialType", "SUM(COALESCE(d.work_time, 0)) as amount")
|
||||||
.select("p.grade_cost as shiJiMoney","u1.nickname as ownerName","p.name as name")
|
.select("p.grade_cost as shiJiMoney","u1.nickname as ownerName","p.name as name")
|
||||||
.select(" ROUND(SUM(COALESCE(d.work_time, 0)) * p.grade_cost, 2) as zanGuMoney")
|
.select(" ROUND(SUM(CASE WHEN d.work_type = 1 THEN COALESCE(d.work_time, 0) * p.grade_cost ELSE COALESCE(d.work_time, 0) END), 2) as zanGuMoney")
|
||||||
.leftJoin(TaskDispatchDetailDO.class, "x", TaskDispatchDetailDO::getDispatchId,TaskDispatchDO::getId)
|
.leftJoin(TaskDispatchDetailDO.class, "x", TaskDispatchDetailDO::getDispatchId,TaskDispatchDO::getId)
|
||||||
.leftJoin(ProcedureDO.class, "z", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId)
|
.leftJoin(ProcedureDO.class, "z", ProcedureDO::getId, TaskDispatchDetailDO::getProcedureId)
|
||||||
.leftJoin(TaskReportDO.class, "d", TaskReportDO::getDispatchDetailId,TaskDispatchDetailDO::getId)
|
.leftJoin(TaskReportDO.class, "d", TaskReportDO::getDispatchDetailId,TaskDispatchDetailDO::getId)
|
||||||
|
@ -37,6 +37,8 @@ import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService
|
|||||||
import com.chanko.yunxi.mes.module.heli.service.zjpgmaster.ZjPgMasterService;
|
import com.chanko.yunxi.mes.module.heli.service.zjpgmaster.ZjPgMasterService;
|
||||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
|
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
|
||||||
|
import io.minio.messages.Item;
|
||||||
|
import org.checkerframework.checker.units.qual.N;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
@ -501,6 +503,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
}else{
|
}else{
|
||||||
lastReportDO.setOwner(taskDispatchDetailDO.getOwner());
|
lastReportDO.setOwner(taskDispatchDetailDO.getOwner());
|
||||||
}
|
}
|
||||||
|
if ("Y".equals(taskDispatchDetailDO.getIsOutsourcing())){
|
||||||
|
lastReportDO.setWorkType("2");
|
||||||
|
}else {
|
||||||
|
lastReportDO.setWorkType("1");
|
||||||
|
}
|
||||||
//更新生产计划单
|
//更新生产计划单
|
||||||
if (planDO.getStatus() != 2 && planDO.getStatus()!=3){
|
if (planDO.getStatus() != 2 && planDO.getStatus()!=3){
|
||||||
planDO.setStatus(2);
|
planDO.setStatus(2);
|
||||||
@ -513,6 +520,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
taskReportMapper.updateById(lastReportDO);
|
taskReportMapper.updateById(lastReportDO);
|
||||||
break;
|
break;
|
||||||
case SUBMIT:
|
case SUBMIT:
|
||||||
|
if ("Y".equals(taskDispatchDetailDO.getIsOutsourcing())){
|
||||||
|
lastReportDO.setWorkType("2");
|
||||||
|
}else {
|
||||||
|
lastReportDO.setWorkType("1");
|
||||||
|
}
|
||||||
lastReportDO.setAmount(operateReqVO.getAmount())
|
lastReportDO.setAmount(operateReqVO.getAmount())
|
||||||
.setWorkTime(operateReqVO.getWorkTime())
|
.setWorkTime(operateReqVO.getWorkTime())
|
||||||
.setReportTime(now)
|
.setReportTime(now)
|
||||||
@ -685,7 +697,18 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void createTaskDispatchDetailList(Long dispatchId, List<TaskDispatchDetailDO> list) {
|
private void createTaskDispatchDetailList(Long dispatchId, List<TaskDispatchDetailDO> list) {
|
||||||
list.forEach(o -> o.setDispatchId(dispatchId));
|
// list.forEach(o -> o.setDispatchId(dispatchId));
|
||||||
|
list = list.stream()
|
||||||
|
.peek(item -> {
|
||||||
|
item.setDispatchId(dispatchId);
|
||||||
|
if ("true".equals(item.getIsOutsourcing())) {
|
||||||
|
// 外协处理逻辑
|
||||||
|
item.setIsOutsourcing("Y");
|
||||||
|
}else {
|
||||||
|
item.setIsOutsourcing("N");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
// 分组更新与插入
|
// 分组更新与插入
|
||||||
List<TaskDispatchDetailDO> updateList = list.stream().filter(o -> o.getId() != null).collect(Collectors.toList());
|
List<TaskDispatchDetailDO> updateList = list.stream().filter(o -> o.getId() != null).collect(Collectors.toList());
|
||||||
List<TaskDispatchDetailDO> insertList = list.stream().filter(o -> o.getId() == null).collect(Collectors.toList());
|
List<TaskDispatchDetailDO> insertList = list.stream().filter(o -> o.getId() == null).collect(Collectors.toList());
|
||||||
|
@ -10,6 +10,7 @@ export interface TaskReportVO {
|
|||||||
reportTime: Date
|
reportTime: Date
|
||||||
hasReport: number
|
hasReport: number
|
||||||
status: number
|
status: number
|
||||||
|
remark:string
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询任务报工分页
|
// 查询任务报工分页
|
||||||
|
@ -190,7 +190,9 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x"
|
|||||||
<el-checkbox label="刻字" size="large" border />
|
<el-checkbox label="刻字" size="large" border />
|
||||||
<el-checkbox label="电焊" size="large" border />
|
<el-checkbox label="电焊" size="large" border />
|
||||||
<el-checkbox label="钻孔" size="large" border />
|
<el-checkbox label="钻孔" size="large" border />
|
||||||
<el-checkbox label="装配" size="large" border />
|
<!-- <el-checkbox label="装配" size="large" border />-->
|
||||||
|
<el-checkbox label="编程" size="large" border />
|
||||||
|
<el-checkbox label="开粗" size="large" border />
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<!-- <el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem">新增</el-button> -->
|
<!-- <el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem">新增</el-button> -->
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -201,7 +203,12 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x"
|
|||||||
v-loading="subFormLoading" label-width="0">
|
v-loading="subFormLoading" label-width="0">
|
||||||
<el-table :data="formData.taskDispatchDetails" height="250" >
|
<el-table :data="formData.taskDispatchDetails" height="250" >
|
||||||
|
|
||||||
<el-table-column fixed label="顺序号" align="center" prop="sort" width="145px" >
|
<el-table-column fixed label="是否外协" align="center" width="100">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-checkbox v-model="row.isOutsourcing" @change="handleOutsourcingChange(row)" :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column fixed label="顺序号" align="center" prop="sort" width="120px" >
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.sort`" :rules="subFormRules.sort" class="mb-0px!">
|
<el-form-item :prop="`${$index}.sort`" :rules="subFormRules.sort" class="mb-0px!">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
@ -241,7 +248,7 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x"
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column fixed label="派工类型" align="center" prop="dispatchType" width="145px">
|
<el-table-column fixed label="派工类型" align="center" prop="dispatchType" width="145px">
|
||||||
<template #header> <span class="hl-table_header">*</span>派工类型</template>
|
<template #header>派工类型</template>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-radio-group size="small" :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0" v-model="row.dispatchType" @change="()=>dispatchTypeHasChange(row)">
|
<el-radio-group size="small" :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0" v-model="row.dispatchType" @change="()=>dispatchTypeHasChange(row)">
|
||||||
<el-radio-button :label="1">人员</el-radio-button>
|
<el-radio-button :label="1">人员</el-radio-button>
|
||||||
@ -256,7 +263,7 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x"
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="负责人" align="center" prop="owner" width="135px">
|
<el-table-column label="负责人" align="center" prop="owner" width="135px">
|
||||||
<template #header> <span class="hl-table_header">*</span>负责人</template>
|
<template #header>负责人</template>
|
||||||
<template #default="{ row , $index}">
|
<template #default="{ row , $index}">
|
||||||
<el-form-item :prop="`${$index}.owner`" class="mb-0px!">
|
<el-form-item :prop="`${$index}.owner`" class="mb-0px!">
|
||||||
<el-select :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0" clearable filterable v-if="row.dispatchType==1 " v-model="row.owner" placeholder="请选择负责人" style="max-width: 110px">
|
<el-select :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0" clearable filterable v-if="row.dispatchType==1 " v-model="row.owner" placeholder="请选择负责人" style="max-width: 110px">
|
||||||
@ -292,9 +299,9 @@ v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="预计开始日期" min-width="170px">
|
<el-table-column label="预计开始日期" min-width="170px">
|
||||||
<template #header> <span class="hl-table_header">*</span>预计开始日期</template>
|
<template #header> 预计开始日期</template>
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.startTime`" :rules="subFormRules.startTime" class="mb-0px!">
|
<el-form-item :prop="`${$index}.startTime`" class="mb-0px!">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
:disabled="detailDisabled " v-model="row.startTime"
|
:disabled="detailDisabled " v-model="row.startTime"
|
||||||
type="date" value-format="x" placeholder="选择预计开始日期" @change="changePrepTime('START',$index,row)" />
|
type="date" value-format="x" placeholder="选择预计开始日期" @change="changePrepTime('START',$index,row)" />
|
||||||
@ -302,9 +309,9 @@ v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="预计结束日期" min-width="170px">
|
<el-table-column label="预计结束日期" min-width="170px">
|
||||||
<template #header> <span class="hl-table_header">*</span>预计结束日期</template>
|
<template #header>预计结束日期</template>
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.endTime`" :rules="subFormRules.endTime" class="mb-0px!">
|
<el-form-item :prop="`${$index}.endTime`" class="mb-0px!">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
:disabled=" detailDisabled" v-model="row.endTime"
|
:disabled=" detailDisabled" v-model="row.endTime"
|
||||||
type="date" value-format="x" placeholder="选择预计结束日期" @change="changePrepTime('END',$index,row)"/>
|
type="date" value-format="x" placeholder="选择预计结束日期" @change="changePrepTime('END',$index,row)"/>
|
||||||
@ -312,9 +319,9 @@ v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="预计工时" align="center" prop="workTime" width="145px">
|
<el-table-column label="预计工时" align="center" prop="workTime" width="145px">
|
||||||
<template #header> <span class="hl-table_header">*</span>预计工时</template>
|
<template #header> 预计工时</template>
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.workTime`" :rules="subFormRules.workTime" class="mb-0px!">
|
<el-form-item :prop="`${$index}.workTime`" class="mb-0px!">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
min="0" :precision="2" class="!w-240px"
|
min="0" :precision="2" class="!w-240px"
|
||||||
:disabled="detailDisabled " v-model="row.workTime"
|
:disabled="detailDisabled " v-model="row.workTime"
|
||||||
@ -323,9 +330,9 @@ min="0" :precision="2" class="!w-240px"
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="派工数量" align="center" prop="amount" width="145px">
|
<el-table-column label="派工数量" align="center" prop="amount" width="145px">
|
||||||
<template #header> <span class="hl-table_header">*</span>派工数量</template>
|
<template #header>派工数量</template>
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.amount`" :rules="subFormRules.amount" class="mb-0px!">
|
<el-form-item :prop="`${$index}.amount`" class="mb-0px!">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
min="0" :max="formData.amount" :precision="0" class="!w-240px"
|
min="0" :max="formData.amount" :precision="0" class="!w-240px"
|
||||||
:disabled="detailDisabled" v-model="row.amount"
|
:disabled="detailDisabled" v-model="row.amount"
|
||||||
@ -343,12 +350,12 @@ v-model="row.deviceModel"
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="工序要点" prop="summary" min-width="130px">
|
<el-table-column label="备注" prop="summary" min-width="130px">
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.summary`" class="mb-0px!">
|
<el-form-item :prop="`${$index}.summary`" class="mb-0px!">
|
||||||
<el-input
|
<el-input
|
||||||
:disabled="detailDisabled ||row.beginProduce != 0 || row.procedureStatus != 0" v-model="row.summary"
|
:disabled="detailDisabled ||row.beginProduce != 0 || row.procedureStatus != 0" v-model="row.summary"
|
||||||
placeholder="请输入工序要点" />
|
placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -1193,6 +1200,11 @@ const queryData = async (id?: number) => {
|
|||||||
checkList.value = [];
|
checkList.value = [];
|
||||||
if(formData.value.taskDispatchDetails!=null){
|
if(formData.value.taskDispatchDetails!=null){
|
||||||
formData.value.taskDispatchDetails.forEach(item=>{
|
formData.value.taskDispatchDetails.forEach(item=>{
|
||||||
|
if ("Y"==item.isOutsourcing){
|
||||||
|
item.isOutsourcing=true
|
||||||
|
}else{
|
||||||
|
item.isOutsourcing=false
|
||||||
|
}
|
||||||
procedureList.value.forEach(items =>{
|
procedureList.value.forEach(items =>{
|
||||||
if(items.id == item.procedureId){
|
if(items.id == item.procedureId){
|
||||||
checkList.value.push(items.name)
|
checkList.value.push(items.name)
|
||||||
@ -1268,6 +1280,18 @@ const submitForm = async (operate) => {
|
|||||||
}
|
}
|
||||||
var ownerIsNull = false;
|
var ownerIsNull = false;
|
||||||
for(var i = 0 ; i < formData.value.taskDispatchDetails.length ; i++){
|
for(var i = 0 ; i < formData.value.taskDispatchDetails.length ; i++){
|
||||||
|
if( formData.value.taskDispatchDetails[i].startTime == undefined || formData.value.taskDispatchDetails[i].startTime == null ||formData.value.taskDispatchDetails[i].startTime == ''){
|
||||||
|
message.error("第"+(i+1)+'行预计开始日期为空,请确认')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if( formData.value.taskDispatchDetails[i].endTime == undefined || formData.value.taskDispatchDetails[i].endTime == null ||formData.value.taskDispatchDetails[i].endTime == ''){
|
||||||
|
message.error("第"+(i+1)+'行预计结束日期为空,请确认')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if( formData.value.taskDispatchDetails[i].amount == undefined || formData.value.taskDispatchDetails[i].amount == null ||formData.value.taskDispatchDetails[i].amount == ''){
|
||||||
|
message.error("第"+(i+1)+'行派工数量为空,请确认')
|
||||||
|
return
|
||||||
|
}
|
||||||
if(formData.value.taskDispatchDetails[i].dispatchType ==2){
|
if(formData.value.taskDispatchDetails[i].dispatchType ==2){
|
||||||
if( formData.value.taskDispatchDetails[i].postId == undefined || formData.value.taskDispatchDetails[i].postId == null ||formData.value.taskDispatchDetails[i].postId == ''){
|
if( formData.value.taskDispatchDetails[i].postId == undefined || formData.value.taskDispatchDetails[i].postId == null ||formData.value.taskDispatchDetails[i].postId == ''){
|
||||||
message.error('请选择岗位!')
|
message.error('请选择岗位!')
|
||||||
@ -1461,6 +1485,9 @@ const onDeleteItem = async (row,index) => {
|
|||||||
let id = row.id
|
let id = row.id
|
||||||
if (id) await TaskDispatchApi.deleteTaskDispatchDetail(id)
|
if (id) await TaskDispatchApi.deleteTaskDispatchDetail(id)
|
||||||
message.success(t('common.delSuccess'))
|
message.success(t('common.delSuccess'))
|
||||||
|
}
|
||||||
|
const handleOutsourcingChange= async (row: any) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
const handleSelectedProcedure = async (row: any) => {
|
const handleSelectedProcedure = async (row: any) => {
|
||||||
console.log(row);
|
console.log(row);
|
||||||
|
@ -13,6 +13,9 @@
|
|||||||
<el-form-item label="报工数量" prop="amount">
|
<el-form-item label="报工数量" prop="amount">
|
||||||
<el-input v-model="formData.amount" placeholder="请输入报工数量" />
|
<el-input v-model="formData.amount" placeholder="请输入报工数量" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="原因说明" prop="remark">
|
||||||
|
<el-input v-model="formData.remark" placeholder="请输入原因说明" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||||
@ -42,10 +45,12 @@ const formData = ref({
|
|||||||
hasReport: undefined,
|
hasReport: undefined,
|
||||||
status: undefined,
|
status: undefined,
|
||||||
workTime: undefined,
|
workTime: undefined,
|
||||||
|
remark:undefined,
|
||||||
})
|
})
|
||||||
const formRules = reactive({
|
const formRules = reactive({
|
||||||
amount: [{ required: true, message: '报工数量不能为空', trigger: 'blur' }],
|
amount: [{ required: true, message: '报工数量不能为空', trigger: 'blur' }],
|
||||||
workTime: [{ required: true, message: '报工工时不能为空', trigger: 'blur' }],
|
workTime: [{ required: true, message: '报工工时不能为空', trigger: 'blur' }],
|
||||||
|
remark: [{ required: true, message: '原因说明不能为空', trigger: 'blur' }],
|
||||||
})
|
})
|
||||||
const formRef = ref() // 表单 Ref
|
const formRef = ref() // 表单 Ref
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user