Merge branch 'main' of http://120.48.141.82:3000/licq/heli-mes
# Conflicts: # mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/detail.vue
This commit is contained in:
commit
f5195b96c6
@ -149,7 +149,15 @@ public class TaskDispatchController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@GetMapping("/task-dispatch-detail/list-by-dispatch-id-assembly")
|
||||||
|
@Operation(summary = "获得派工明细列表")
|
||||||
|
@Parameter(name = "dispatchId", description = "派工单id",required = true)
|
||||||
|
@Parameter(name = "dispatchType", description = "派工单类型",required = false)
|
||||||
|
@PreAuthorize("@ss.hasPermission('heli:task-dispatch:query')")
|
||||||
|
public CommonResult<List<TaskDispatchDetailDO>> getTaskDispatchDetailListByDispatchIdAssembly(@RequestParam("dispatchId") Long dispatchId) {
|
||||||
|
return success(taskDispatchService.getTaskDispatchDetailListByDispatchIdAssembly(dispatchId));
|
||||||
|
|
||||||
|
}
|
||||||
@DeleteMapping("/task-dispatch-detail/delete")
|
@DeleteMapping("/task-dispatch-detail/delete")
|
||||||
@Operation(summary = "删除派工单")
|
@Operation(summary = "删除派工单")
|
||||||
@Parameter(name = "id", description = "编号", required = true)
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
|
@ -104,6 +104,8 @@ public class TaskDispatchDetailDO extends BaseDO {
|
|||||||
* 工序状态 默认 已提交 已完成 0 1 2
|
* 工序状态 默认 已提交 已完成 0 1 2
|
||||||
*/
|
*/
|
||||||
private Integer procedureStatus;
|
private Integer procedureStatus;
|
||||||
|
private Integer reportProcess;
|
||||||
|
private String matPlanProcess;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String projectName;
|
private String projectName;
|
||||||
@ -236,6 +238,7 @@ public class TaskDispatchDetailDO extends BaseDO {
|
|||||||
private String nickname;
|
private String nickname;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private BigDecimal workingHours;
|
private BigDecimal workingHours;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private LocalDateTime reportTime;
|
private LocalDateTime reportTime;
|
||||||
private Integer reportStatus;
|
private Integer reportStatus;
|
||||||
@ -243,4 +246,10 @@ public class TaskDispatchDetailDO extends BaseDO {
|
|||||||
private Integer flag;
|
private Integer flag;
|
||||||
//是否泡沫, 是-Y 否 -N
|
//是否泡沫, 是-Y 否 -N
|
||||||
private String isFoam;
|
private String isFoam;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal workingHour;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Long users;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal bgWorkTimes;
|
||||||
}
|
}
|
||||||
|
@ -388,7 +388,28 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
.eq(TaskDispatchDetailDO::getDispatchId, dispatchId);
|
.eq(TaskDispatchDetailDO::getDispatchId, dispatchId);
|
||||||
return selectList(query);
|
return selectList(query);
|
||||||
}
|
}
|
||||||
|
default List<TaskDispatchDetailDO> selectListByDispatchIdAssembly(Long dispatchId) {
|
||||||
|
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
||||||
|
query.selectAll(TaskDispatchDetailDO.class)
|
||||||
|
.select("a.is_report as is_report,a.code as procedure_code")
|
||||||
|
.select("count(b.amount) as numAmount")
|
||||||
|
.select("sum(CASE WHEN b.work_type = 1 THEN b.work_time ELSE 0 END) as workingHours")
|
||||||
|
// .select("sum(bg.work_time) as bgWorkTime")
|
||||||
|
.select("(SELECT SUM(bg.work_time) \n" +
|
||||||
|
" FROM quality_zj_pg_master_line p\n" +
|
||||||
|
" LEFT JOIN quality_zj_bg_master_line bg ON bg.zj_mx_id = p.id and p.deleted = 0 AND p.tenant_id = 2\n" +
|
||||||
|
" WHERE p.dispatch_detail_id = t.id) AS bgWorkTime")
|
||||||
|
.leftJoin(ProcedureDO.class,"a",ProcedureDO::getId,TaskDispatchDetailDO::getProcedureId)
|
||||||
|
.leftJoin(TaskReportDO.class,"b",TaskReportDO::getDispatchDetailId,TaskDispatchDetailDO::getId)
|
||||||
|
// .leftJoin(PgMasterLineDO.class,"p",PgMasterLineDO::getDispatchDetailId,TaskDispatchDetailDO::getId)
|
||||||
|
// .leftJoin("quality_pg_master_line p on p.dispatch_detail_id=t.id and p.deleted=0")
|
||||||
|
// .leftJoin("quality_bg_master_line bg on bg.zj_mx_id = p.id and bg.deleted=0")
|
||||||
|
// .leftJoin(BgMasterLineDO.class,"bg",BgMasterLineDO::getZjMxId,PgMasterLineDO::getId)
|
||||||
|
.disableSubLogicDel()
|
||||||
|
.groupBy(TaskDispatchDetailDO::getId)
|
||||||
|
.eq(TaskDispatchDetailDO::getDispatchId, dispatchId);
|
||||||
|
return selectList(query);
|
||||||
|
}
|
||||||
default List<TaskDispatchDetailDO> selectListByDispatchIdNew(Long dispatchId) {
|
default List<TaskDispatchDetailDO> selectListByDispatchIdNew(Long dispatchId) {
|
||||||
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
||||||
query.selectAll(TaskDispatchDetailDO.class)
|
query.selectAll(TaskDispatchDetailDO.class)
|
||||||
|
@ -251,6 +251,7 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
|
|||||||
lambdaUpdateWrapper.set(TaskDispatchDetailDO::getProjectMaterialPlanNo, null);
|
lambdaUpdateWrapper.set(TaskDispatchDetailDO::getProjectMaterialPlanNo, null);
|
||||||
lambdaUpdateWrapper.set(TaskDispatchDetailDO::getPlanStatus,0);
|
lambdaUpdateWrapper.set(TaskDispatchDetailDO::getPlanStatus,0);
|
||||||
lambdaUpdateWrapper.set(TaskDispatchDetailDO::getProjectMaterialPlanDetailId,null);
|
lambdaUpdateWrapper.set(TaskDispatchDetailDO::getProjectMaterialPlanDetailId,null);
|
||||||
|
lambdaUpdateWrapper.set(TaskDispatchDetailDO::getMatPlanProcess,"N");
|
||||||
taskDispatchDetailMapper.update(lambdaUpdateWrapper);
|
taskDispatchDetailMapper.update(lambdaUpdateWrapper);
|
||||||
}
|
}
|
||||||
materialPlanBoomMapper.delete(queryWrapper1);
|
materialPlanBoomMapper.delete(queryWrapper1);
|
||||||
@ -306,6 +307,7 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
|
|||||||
materialPlanBoomDOList.add(boomDO);
|
materialPlanBoomDOList.add(boomDO);
|
||||||
taskDispatchDetailDO.setProjectMaterialPlanDetailId(boomDO.getId());
|
taskDispatchDetailDO.setProjectMaterialPlanDetailId(boomDO.getId());
|
||||||
taskDispatchDetailDO.setPlanStatus(1);
|
taskDispatchDetailDO.setPlanStatus(1);
|
||||||
|
taskDispatchDetailDO.setMatPlanProcess("Y");
|
||||||
taskDispatchDetailDO.setProjectMaterialPlanNo(planDO.getProjectMaterialPlanNo());
|
taskDispatchDetailDO.setProjectMaterialPlanNo(planDO.getProjectMaterialPlanNo());
|
||||||
}
|
}
|
||||||
// materialPlanBoomMapper.insertBatch(materialPlanBoomDOList);
|
// materialPlanBoomMapper.insertBatch(materialPlanBoomDOList);
|
||||||
|
@ -97,4 +97,6 @@ public interface TaskDispatchService {
|
|||||||
boolean judgeHasOver(Long id);
|
boolean judgeHasOver(Long id);
|
||||||
|
|
||||||
List<TaskDispatchDO> getListJg(Long id, Long projectSubId);
|
List<TaskDispatchDO> getListJg(Long id, Long projectSubId);
|
||||||
|
|
||||||
|
List<TaskDispatchDetailDO> getTaskDispatchDetailListByDispatchIdAssembly(Long dispatchId);
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.TypeReference;
|
import com.alibaba.fastjson.TypeReference;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
|
import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||||
@ -194,15 +195,23 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
for (TaskDispatchDetailDO dispatchDetailDO : list) {
|
for (TaskDispatchDetailDO dispatchDetailDO : list) {
|
||||||
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(dispatchDetailDO.getId());
|
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(dispatchDetailDO.getId());
|
||||||
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){
|
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)){
|
||||||
if (isDetailChanged(taskDispatchDetailDO, dispatchDetailDO)) {
|
if ("false".equals(dispatchDetailDO.getIsOutsourcing())){
|
||||||
if (taskDispatchDetailDO.getPlanStatus()==1){
|
if ("Y".equals(taskDispatchDetailDO.getMatPlanProcess())){
|
||||||
ProcessBomDetailDO bomDetailDO = processBomDetailMapper.selectById(taskDispatchDO.getBomDetailId());
|
|
||||||
ProcedureDO procedureDO = procedureMapper.selectById(dispatchDetailDO.getProcedureId());
|
ProcedureDO procedureDO = procedureMapper.selectById(dispatchDetailDO.getProcedureId());
|
||||||
if (ObjectUtil.isNotEmpty(bomDetailDO)&&ObjectUtil.isNotEmpty(procedureDO)){
|
if (ObjectUtil.isNotEmpty(procedureDO)){
|
||||||
throw exception(new ErrorCode(400,bomDetailDO.getMaterialName()+" "+procedureDO.getName()+"已做物料需求计划,不能更改,请确认"));
|
throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做物料需求计划,不允许去掉外协,请确认!"));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
// if (isDetailChanged(taskDispatchDetailDO, dispatchDetailDO)) {
|
||||||
|
// if (taskDispatchDetailDO.getPlanStatus()==1){
|
||||||
|
// ProcessBomDetailDO bomDetailDO = processBomDetailMapper.selectById(taskDispatchDO.getBomDetailId());
|
||||||
|
// ProcedureDO procedureDO = procedureMapper.selectById(dispatchDetailDO.getProcedureId());
|
||||||
|
// if (ObjectUtil.isNotEmpty(bomDetailDO)&&ObjectUtil.isNotEmpty(procedureDO)){
|
||||||
|
// throw exception(new ErrorCode(400,bomDetailDO.getMaterialName()+" "+procedureDO.getName()+"已做物料需求计划,不能更改,请确认"));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -520,12 +529,15 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
@Override
|
@Override
|
||||||
public void deleteTaskDispatchDetail(Long id) {
|
public void deleteTaskDispatchDetail(Long id) {
|
||||||
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(id);
|
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectById(id);
|
||||||
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)&&taskDispatchDetailDO.getPlanStatus()==1){
|
if (ObjectUtil.isNotEmpty(taskDispatchDetailDO)&&("Y".equals(taskDispatchDetailDO.getMatPlanProcess())||taskDispatchDetailDO.getReportProcess()!=0)){
|
||||||
TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId());
|
|
||||||
ProcessBomDetailDO bomDetailDO = processBomDetailMapper.selectById(taskDispatchDO.getBomDetailId());
|
|
||||||
ProcedureDO procedureDO = procedureMapper.selectById(taskDispatchDetailDO.getProcedureId());
|
ProcedureDO procedureDO = procedureMapper.selectById(taskDispatchDetailDO.getProcedureId());
|
||||||
if (ObjectUtil.isNotEmpty(bomDetailDO)&&ObjectUtil.isNotEmpty(procedureDO)){
|
if (ObjectUtil.isNotEmpty(procedureDO)){
|
||||||
throw exception(new ErrorCode(400,bomDetailDO.getMaterialName()+" "+procedureDO.getName()+"已做物料需求计划,不能更改,请确认"));
|
if ("Y".equals(taskDispatchDetailDO.getMatPlanProcess())){
|
||||||
|
throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做需求计划,不允许删除"));
|
||||||
|
}else {
|
||||||
|
throw exception(new ErrorCode(400,"该工序"+procedureDO.getName()+"已做报工,不允许删除"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
taskDispatchDetailMapper.deleteByDispatchId(id);
|
taskDispatchDetailMapper.deleteByDispatchId(id);
|
||||||
@ -736,7 +748,6 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
if(operateReqVO.getOwnerId()!=null){
|
if(operateReqVO.getOwnerId()!=null){
|
||||||
lastReportDO.setOwner(operateReqVO.getOwnerId());
|
lastReportDO.setOwner(operateReqVO.getOwnerId());
|
||||||
taskDispatchDetailDO.setOwner(operateReqVO.getOwnerId());
|
taskDispatchDetailDO.setOwner(operateReqVO.getOwnerId());
|
||||||
taskDispatchDetailMapper.updateById(taskDispatchDetailDO);
|
|
||||||
}else{
|
}else{
|
||||||
lastReportDO.setOwner(taskDispatchDetailDO.getOwner());
|
lastReportDO.setOwner(taskDispatchDetailDO.getOwner());
|
||||||
}
|
}
|
||||||
@ -745,6 +756,8 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
}else {
|
}else {
|
||||||
lastReportDO.setWorkType("1");
|
lastReportDO.setWorkType("1");
|
||||||
}
|
}
|
||||||
|
taskDispatchDetailDO.setReportProcess(1);
|
||||||
|
taskDispatchDetailMapper.updateById(taskDispatchDetailDO);
|
||||||
//更新生产计划单
|
//更新生产计划单
|
||||||
if (planDO.getStatus() != 2 && planDO.getStatus()!=3){
|
if (planDO.getStatus() != 2 && planDO.getStatus()!=3){
|
||||||
planDO.setStatus(2);
|
planDO.setStatus(2);
|
||||||
@ -774,6 +787,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
case FINISH:
|
case FINISH:
|
||||||
|
|
||||||
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
||||||
|
taskDispatchDetailDO.setReportProcess(2);
|
||||||
//装配看看是不是多人,如果是多人,判断一下
|
//装配看看是不是多人,如果是多人,判断一下
|
||||||
boolean allReport = true;
|
boolean allReport = true;
|
||||||
HashMap<Long,TaskDispatchDetailDO> dispatchDetailDOHashMap = new HashMap<>();
|
HashMap<Long,TaskDispatchDetailDO> dispatchDetailDOHashMap = new HashMap<>();
|
||||||
@ -787,27 +801,30 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(dispatchDetailDOHashMap)){
|
if (CollUtil.isNotEmpty(dispatchDetailDOHashMap)){
|
||||||
List<HashMap<Long, Long>> hashMaps = taskDispatchDetailMapper.sumAssembleReport(new ArrayList<>(dispatchDetailDOHashMap.keySet()));
|
// List<HashMap<Long, Long>> hashMaps = taskDispatchDetailMapper.sumAssembleReport(new ArrayList<>(dispatchDetailDOHashMap.keySet()));
|
||||||
HashMap<Long,Long> reportMap = new HashMap<>();
|
// HashMap<Long,Long> reportMap = new HashMap<>();
|
||||||
for (HashMap<Long, Long> hashMap : hashMaps) {
|
// for (HashMap<Long, Long> hashMap : hashMaps) {
|
||||||
reportMap.put(hashMap.get("detailId"),hashMap.get("amount"));
|
// reportMap.put(hashMap.get("detailId"),hashMap.get("amount"));
|
||||||
}
|
// }
|
||||||
for (Long l : dispatchDetailDOHashMap.keySet()) {
|
// for (Long l : dispatchDetailDOHashMap.keySet()) {
|
||||||
if (!reportMap.containsKey(l)){
|
// if (!reportMap.containsKey(l)){
|
||||||
msg = msg + dispatchDetailDOHashMap.get(l).getOwnerName() + ",";
|
// msg = msg + dispatchDetailDOHashMap.get(l).getOwnerName() + ",";
|
||||||
allReport = false;
|
// allReport = false;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if (!msg.equals("")){
|
// if (!msg.equals("")){
|
||||||
msg = msg.substring(0,msg.length()-1) + "还没有报工,请确认";
|
// msg = msg.substring(0,msg.length()-1) + "还没有报工,请确认";
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
allReport = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!allReport){
|
if (!allReport){
|
||||||
throw exception(new ErrorCode(1_009_019,msg));
|
// throw exception(new ErrorCode(1_009_019,msg));
|
||||||
|
LambdaUpdateWrapper<TaskDispatchDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.eq(TaskDispatchDetailDO::getId,taskDispatchDetailDO.getId());
|
||||||
|
updateWrapper.set(TaskDispatchDetailDO::getProcedureStatus,TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
||||||
|
taskDispatchDetailMapper.update(updateWrapper);
|
||||||
}
|
}
|
||||||
if (allReport){
|
if (allReport){
|
||||||
TaskDispatchDetailOwnerDO taskDispatchDetailOwnerDO = taskDispatchDetailOwnerMapper.selectById(taskDispatchDetailDO.getDetailOwnerId());
|
TaskDispatchDetailOwnerDO taskDispatchDetailOwnerDO = taskDispatchDetailOwnerMapper.selectById(taskDispatchDetailDO.getDetailOwnerId());
|
||||||
@ -1008,6 +1025,33 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
public List<TaskDispatchDO> getListJg(Long id, Long projectSubId) {
|
public List<TaskDispatchDO> getListJg(Long id, Long projectSubId) {
|
||||||
return taskDispatchMapper.getListJg(id,projectSubId);
|
return taskDispatchMapper.getListJg(id,projectSubId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TaskDispatchDetailDO> getTaskDispatchDetailListByDispatchIdAssembly(Long dispatchId) {
|
||||||
|
List<TaskDispatchDetailDO> taskDispatchDetailDOS = taskDispatchDetailMapper.selectListByDispatchIdAssembly(dispatchId);
|
||||||
|
List<TaskDispatchDetailDO> result = taskDispatchDetailDOS.stream()
|
||||||
|
// 按procedureId分组
|
||||||
|
.collect(Collectors.groupingBy(TaskDispatchDetailDO::getProcedureId))
|
||||||
|
.values().stream()
|
||||||
|
// 处理每个分组
|
||||||
|
.map(group -> {
|
||||||
|
if (group.size() >= 2) {
|
||||||
|
// 获取前两个元素
|
||||||
|
TaskDispatchDetailDO first = group.get(0);
|
||||||
|
TaskDispatchDetailDO second = group.get(1);
|
||||||
|
|
||||||
|
// 将第二个元素的属性赋值给第一个元素
|
||||||
|
first.setBgWorkTimes(second.getBgWorkTime());
|
||||||
|
first.setWorkingHour(second.getWorkingHours());
|
||||||
|
first.setUsers(second.getOwner());
|
||||||
|
}
|
||||||
|
// 始终返回每组第一个元素
|
||||||
|
return group.get(0);
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
return result; }
|
||||||
|
|
||||||
private void updateAssembleDetail(OperateTypeEnum operateTypeEnum,Long dispatchId, List<TaskDispatchDetailOwnerDO> list) {
|
private void updateAssembleDetail(OperateTypeEnum operateTypeEnum,Long dispatchId, List<TaskDispatchDetailOwnerDO> list) {
|
||||||
list.forEach(o -> o.setDispatchId(dispatchId));
|
list.forEach(o -> o.setDispatchId(dispatchId));
|
||||||
|
|
||||||
|
@ -4,14 +4,14 @@ NODE_ENV=production
|
|||||||
VITE_DEV=false
|
VITE_DEV=false
|
||||||
|
|
||||||
# 请求路径https://nxhs.cjyx.cc/admin-api http://192.168.1.87:8080 https://star.hz-hl.com
|
# 请求路径https://nxhs.cjyx.cc/admin-api http://192.168.1.87:8080 https://star.hz-hl.com
|
||||||
VITE_BASE_URL='https://star.hz-hl.com'
|
VITE_BASE_URL='https://nxhs.cjyx.cc'
|
||||||
|
|
||||||
|
|
||||||
# 上传路径 http://218.75.46.166:8080
|
# 上传路径 http://218.75.46.166:8080
|
||||||
VITE_UPLOAD_URL='https://star.hz-hl.com/admin-api/infra/file/upload'
|
VITE_UPLOAD_URL='https://nxhs.cjyx.cc/admin-api/infra/file/upload'
|
||||||
|
|
||||||
# 上传路径
|
# 上传路径
|
||||||
VITE_UPLOAD_BATCH_URL='https://star.hz-hl.com/admin-api/infra/file/uploadBatch'
|
VITE_UPLOAD_BATCH_URL='https://nxhs.cjyx.cc/admin-api/infra/file/uploadBatch'
|
||||||
|
|
||||||
# 接口前缀
|
# 接口前缀
|
||||||
VITE_API_BASEPATH=
|
VITE_API_BASEPATH=
|
||||||
|
@ -86,7 +86,7 @@
|
|||||||
"source.fixAll.eslint": "explicit"
|
"source.fixAll.eslint": "explicit"
|
||||||
},
|
},
|
||||||
"[vue]": {
|
"[vue]": {
|
||||||
"editor.defaultFormatter": "stylelint.vscode-stylelint"
|
"editor.defaultFormatter": "octref.vetur"
|
||||||
},
|
},
|
||||||
"i18n-ally.localesPaths": ["src/locales"],
|
"i18n-ally.localesPaths": ["src/locales"],
|
||||||
"i18n-ally.keystyle": "nested",
|
"i18n-ally.keystyle": "nested",
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"private": false,
|
"private": false,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"i": "pnpm install",
|
"i": "pnpm install",
|
||||||
"dev": "vite --mode base",
|
"dev": "vite --mode dev",
|
||||||
"front": "vite --mode front",
|
"front": "vite --mode front",
|
||||||
"ts:check": "vue-tsc --noEmit",
|
"ts:check": "vue-tsc --noEmit",
|
||||||
"build:pro": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode pro",
|
"build:pro": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode pro",
|
||||||
|
@ -84,3 +84,7 @@ export const getAssmebleDispatchPage = async() => {
|
|||||||
export const judgeHasOver = async(id:number)=>{
|
export const judgeHasOver = async(id:number)=>{
|
||||||
return await request.get({url:`/heli/task-dispatch/task-dispatch-detail/judgeHasOver?id=`+id})
|
return await request.get({url:`/heli/task-dispatch/task-dispatch-detail/judgeHasOver?id=`+id})
|
||||||
}
|
}
|
||||||
|
// 获得派工明细列表
|
||||||
|
export const getTaskDispatchDetailListByDispatchIdAssembly = async (dispatchId) => {
|
||||||
|
return await request.get({ url: `/heli/task-dispatch/task-dispatch-detail/list-by-dispatch-id-assembly?dispatchId=` + dispatchId })
|
||||||
|
}
|
||||||
|
@ -296,5 +296,6 @@ export enum DICT_TYPE {
|
|||||||
MATERIAL_PLAN_BOOM_MPLAN_STATUS='material_plan_boom_mplan_status',
|
MATERIAL_PLAN_BOOM_MPLAN_STATUS='material_plan_boom_mplan_status',
|
||||||
HELI_PROJECT_PURCHASE_ORDER_NO_TYPE = 'heli_project_purchase_order_no_type',//采购单类型
|
HELI_PROJECT_PURCHASE_ORDER_NO_TYPE = 'heli_project_purchase_order_no_type',//采购单类型
|
||||||
HELI_DISPATCH_PRODUCTION_STATUS = 'heli_dispatch_production_status', // 派工单状态
|
HELI_DISPATCH_PRODUCTION_STATUS = 'heli_dispatch_production_status', // 派工单状态
|
||||||
|
HELI_STORAGE_IN_STATUS = 'heli_storage_in_status',//入库出库状态
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -382,9 +382,12 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- <div class="hl-footer text-center">-->
|
<div class="hl-footer text-center" v-if="active == 'create'">
|
||||||
<!-- -->
|
<el-button @click="goback" size="large" style="">取 消</el-button>
|
||||||
<!-- </div>-->
|
|
||||||
|
<el-button @click="submitForm('SAVE')" type="success" :disabled="formLoading" size="large">保 存</el-button>
|
||||||
|
|
||||||
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<ProjectOrderDialog ref="projectOrderDialog" @success="handleSelectedProjectOrder" />
|
<ProjectOrderDialog ref="projectOrderDialog" @success="handleSelectedProjectOrder" />
|
||||||
<!-- 【打印发货单】 - 弹框-->
|
<!-- 【打印发货单】 - 弹框-->
|
||||||
|
@ -93,9 +93,10 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- <div class="text-center hl-footer">-->
|
<div class="text-center hl-footer" v-if="active == 'create'">
|
||||||
<!-- -->
|
<el-button @click="goback" size="large" style="">取 消</el-button>
|
||||||
<!-- </div>-->
|
<el-button v-if="active != 'detail'" type="primary" @click="submitForm('SAVE')" :disabled="formLoading" size="large">保 存</el-button>
|
||||||
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
<ProjectSubDialog ref="projectSubDialog" @success="handleSelectedProjectOrderSub" />
|
<ProjectSubDialog ref="projectSubDialog" @success="handleSelectedProjectOrderSub" />
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
<el-form-item label="单据状态" prop="status">
|
<el-form-item label="单据状态" prop="status">
|
||||||
<el-select v-model="queryParams.status" placeholder="下拉选择" clearable class="!w-240px">
|
<el-select v-model="queryParams.status" placeholder="下拉选择" clearable class="!w-240px">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_STATUS)"
|
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_IN_STATUS)"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
@ -153,21 +153,21 @@
|
|||||||
:formatter="dateFormatter"
|
:formatter="dateFormatter"
|
||||||
min-width="240"
|
min-width="240"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="作废人" align="center" prop="cancel" min-width="120">
|
<!-- <el-table-column label="作废人" align="center" prop="cancel" min-width="120">-->
|
||||||
<template #default="scope">
|
<!-- <template #default="scope">-->
|
||||||
{{ userList.find((user) => user.id == scope.row.cancel)?.nickname }}
|
<!-- {{ userList.find((user) => user.id == scope.row.cancel)?.nickname }}-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</el-table-column>
|
<!-- </el-table-column>-->
|
||||||
<el-table-column
|
<!-- <el-table-column-->
|
||||||
label="作废时间"
|
<!-- label="作废时间"-->
|
||||||
align="center"
|
<!-- align="center"-->
|
||||||
prop="cancelTime"
|
<!-- prop="cancelTime"-->
|
||||||
:formatter="dateFormatter"
|
<!-- :formatter="dateFormatter"-->
|
||||||
min-width="240"
|
<!-- min-width="240"-->
|
||||||
/>
|
<!-- />-->
|
||||||
<el-table-column label="单据状态" align="center" prop="status" min-width="120" fixed="right">
|
<el-table-column label="单据状态" align="center" prop="status" min-width="120" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :type="DICT_TYPE.HELI_STORAGE_STATUS" :value="scope.row.status" />
|
<dict-tag :type="DICT_TYPE.HELI_STORAGE_IN_STATUS" :value="scope.row.status" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" min-width="180" fixed="right">
|
<el-table-column label="操作" align="center" min-width="180" fixed="right">
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<!-- 采购单信息 -->
|
<!-- 采购单信息 -->
|
||||||
<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>
|
||||||
</template>
|
</template>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col>
|
<el-col>
|
||||||
@ -340,7 +340,6 @@ function doPrint() {
|
|||||||
overflow-wrap: break-word !important;
|
overflow-wrap: break-word !important;
|
||||||
padding: 4px 2px;
|
padding: 4px 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -355,6 +354,7 @@ function doPrint() {
|
|||||||
iframe.contentWindow?.print()
|
iframe.contentWindow?.print()
|
||||||
setTimeout(() => document.body.removeChild(iframe), 1000)
|
setTimeout(() => document.body.removeChild(iframe), 1000)
|
||||||
}
|
}
|
||||||
|
StorageinApi.updateIsPrint(query.id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -486,18 +486,18 @@ const getList = async () => {
|
|||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
border: 2px solid #000 !important;
|
border: 2px solid #000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.print-table th,
|
.print-table th,
|
||||||
.print-table td {
|
.print-table td {
|
||||||
border: 1px solid #000 !important;
|
border: 1px solid #000 !important;
|
||||||
-webkit-print-color-adjust: exact !important;
|
-webkit-print-color-adjust: exact !important;
|
||||||
color-adjust: exact !important;
|
color-adjust: exact !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.print-table th:last-child,
|
.print-table th:last-child,
|
||||||
.print-table td:last-child {
|
.print-table td:last-child {
|
||||||
border-right: 2px solid #000 !important;
|
border-right: 2px solid #000 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -15,13 +15,13 @@
|
|||||||
<td colspan="12">
|
<td colspan="12">
|
||||||
<span style="font-size: 20px; font-weight: 700">产品工艺流程卡</span>
|
<span style="font-size: 20px; font-weight: 700">产品工艺流程卡</span>
|
||||||
</td>
|
</td>
|
||||||
<td colspan="3" style="padding: 5px 0">
|
<td colspan="4" style="padding: 5px 0">
|
||||||
<div style="border-bottom: 1px solid #666; padding-bottom: 5px">项目编号</div>
|
<div style="border-bottom: 1px solid #666; padding-bottom: 5px">项目编号</div>
|
||||||
<div style="padding-top: 5px">{{ formData.projectCode }}</div>
|
<div style="padding-top: 5px">{{ formData.projectCode }}</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="18">
|
<td colspan="19">
|
||||||
<div style="display: flex; justify-content: space-between;padding:0 5px">
|
<div style="display: flex; justify-content: space-between;padding:0 5px">
|
||||||
<span>子项目编号:{{ formData.projectSubCode}}</span>
|
<span>子项目编号:{{ formData.projectSubCode}}</span>
|
||||||
<span>项目交期:{{formatDate(new Date(formData.projectEndTime), 'YYYY-MM-DD')}}
|
<span>项目交期:{{formatDate(new Date(formData.projectEndTime), 'YYYY-MM-DD')}}
|
||||||
@ -72,6 +72,7 @@
|
|||||||
<td colspan="1">磨床</td>
|
<td colspan="1">磨床</td>
|
||||||
<td colspan="1">数控1</td>
|
<td colspan="1">数控1</td>
|
||||||
<td colspan="1">数控2</td>
|
<td colspan="1">数控2</td>
|
||||||
|
<td colspan="1">线切割</td>
|
||||||
<td colspan="1">火花</td>
|
<td colspan="1">火花</td>
|
||||||
<td colspan="1">刻字</td>
|
<td colspan="1">刻字</td>
|
||||||
<td colspan="1">网格</td>
|
<td colspan="1">网格</td>
|
||||||
@ -95,6 +96,7 @@
|
|||||||
<td colspan="1" class="hr-dotted">{{item.polishing}}</td>
|
<td colspan="1" class="hr-dotted">{{item.polishing}}</td>
|
||||||
<td colspan="1" class="hr-dotted">{{item.wire}}</td>
|
<td colspan="1" class="hr-dotted">{{item.wire}}</td>
|
||||||
<td colspan="1" class="hr-dotted">{{item.rough}}</td>
|
<td colspan="1" class="hr-dotted">{{item.rough}}</td>
|
||||||
|
<td colspan="1" class="hr-dotted">{{item.cutting}}</td>
|
||||||
<td colspan="1" class="hr-dotted">{{item.fashioning}}</td>
|
<td colspan="1" class="hr-dotted">{{item.fashioning}}</td>
|
||||||
<td colspan="1" class="hr-dotted">{{item.spark}}</td>
|
<td colspan="1" class="hr-dotted">{{item.spark}}</td>
|
||||||
<td colspan="1" class="hr-dotted">{{item.lettering}}</td>
|
<td colspan="1" class="hr-dotted">{{item.lettering}}</td>
|
||||||
@ -104,7 +106,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="18">
|
<td colspan="19">
|
||||||
<div style="display: flex; justify-content: left;">
|
<div style="display: flex; justify-content: left;">
|
||||||
<span style="font-size: 16px; font-weight: 700">
|
<span style="font-size: 16px; font-weight: 700">
|
||||||
各工序工艺要点
|
各工序工艺要点
|
||||||
@ -114,7 +116,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr v-for="item in summarylist" :key="item">
|
<tr v-for="item in summarylist" :key="item">
|
||||||
<td colspan="3" class="hr-dotted" v-if="item.name">{{item.name}}</td>
|
<td colspan="3" class="hr-dotted" v-if="item.name">{{item.name}}</td>
|
||||||
<td colspan="15" class="hr-dotted" v-if="item.data">{{item.data}}</td>
|
<td colspan="16" class="hr-dotted" v-if="item.data">{{item.data}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -127,7 +129,7 @@
|
|||||||
<td colspan="4">
|
<td colspan="4">
|
||||||
开单人/日期:
|
开单人/日期:
|
||||||
</td>
|
</td>
|
||||||
<td colspan="4">
|
<td colspan="5">
|
||||||
{{formData.userNickname}}
|
{{formData.userNickname}}
|
||||||
{{ formatDate(new Date(formData.startTime), 'YYYY-MM-DD') }}
|
{{ formatDate(new Date(formData.startTime), 'YYYY-MM-DD') }}
|
||||||
</td>
|
</td>
|
||||||
@ -200,6 +202,14 @@ const summarylist = ref([
|
|||||||
name: undefined,
|
name: undefined,
|
||||||
data: undefined
|
data: undefined
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: undefined,
|
||||||
|
data: undefined
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: undefined,
|
||||||
|
data: undefined
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: undefined,
|
name: undefined,
|
||||||
data: undefined
|
data: undefined
|
||||||
@ -224,7 +234,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 2,
|
index: 2,
|
||||||
@ -243,7 +254,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 3,
|
index: 3,
|
||||||
@ -262,7 +274,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 4,
|
index: 4,
|
||||||
@ -281,7 +294,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 5,
|
index: 5,
|
||||||
@ -300,7 +314,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 6,
|
index: 6,
|
||||||
@ -319,7 +334,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 7,
|
index: 7,
|
||||||
@ -339,7 +355,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 8,
|
index: 8,
|
||||||
@ -358,7 +375,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 9,
|
index: 9,
|
||||||
@ -378,7 +396,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 10,
|
index: 10,
|
||||||
@ -398,7 +417,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 11,
|
index: 11,
|
||||||
@ -418,7 +438,8 @@ const formDataprocess = ref({
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 12,
|
index: 12,
|
||||||
@ -645,7 +666,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 2,
|
index: 2,
|
||||||
@ -664,7 +686,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 3,
|
index: 3,
|
||||||
@ -683,7 +706,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 4,
|
index: 4,
|
||||||
@ -702,7 +726,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 5,
|
index: 5,
|
||||||
@ -721,7 +746,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 6,
|
index: 6,
|
||||||
@ -740,7 +766,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 7,
|
index: 7,
|
||||||
@ -760,7 +787,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 8,
|
index: 8,
|
||||||
@ -779,7 +807,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 9,
|
index: 9,
|
||||||
@ -799,7 +828,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 10,
|
index: 10,
|
||||||
@ -819,7 +849,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 11,
|
index: 11,
|
||||||
@ -839,7 +870,8 @@ const outopen = () => {
|
|||||||
lettering: undefined,
|
lettering: undefined,
|
||||||
electrowelding: undefined,
|
electrowelding: undefined,
|
||||||
drill: undefined,
|
drill: undefined,
|
||||||
polishing: undefined
|
polishing: undefined,
|
||||||
|
cutting:undefined
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index: 12,
|
index: 12,
|
||||||
@ -1463,6 +1495,45 @@ const open = async (id?: number) => {
|
|||||||
if (taskitem.workingHours){
|
if (taskitem.workingHours){
|
||||||
formDataprocess.value.tablename[5].polishing = taskitem.workingHours
|
formDataprocess.value.tablename[5].polishing = taskitem.workingHours
|
||||||
}
|
}
|
||||||
|
}else if (Procedure.name == '线切割') {
|
||||||
|
console.log()
|
||||||
|
summarylist.value[13].name = Procedure.name
|
||||||
|
if (!summarylist.value[13].data) {
|
||||||
|
summarylist.value[13].data = taskitem.summary
|
||||||
|
} else if (summarylist.value[13].data && taskitem.summary) {
|
||||||
|
summarylist.value[13].data = summarylist.value[13].data + ',' + taskitem.summary
|
||||||
|
}
|
||||||
|
if (!formDataprocess.value.tablename[0].cutting) {
|
||||||
|
formDataprocess.value.tablename[0].cutting = taskitem.sort
|
||||||
|
} else if (formDataprocess.value.tablename[0].cutting && taskitem.sort) {
|
||||||
|
formDataprocess.value.tablename[0].cutting =
|
||||||
|
formDataprocess.value.tablename[0].cutting + ',' + taskitem.sort
|
||||||
|
}
|
||||||
|
Procedata.list.forEach((item: any) => {
|
||||||
|
if (item.name == Procedure.name) {
|
||||||
|
formDataprocess.value.tablename[2].cutting = item.standard1Time
|
||||||
|
formDataprocess.value.tablename[3].cutting = item.standard2Time
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if(taskitem.owner){
|
||||||
|
const initialUser = await UserApi.getUser(taskitem.owner)
|
||||||
|
if (!formDataprocess.value.tablename[6].cutting) {
|
||||||
|
formDataprocess.value.tablename[6].cutting = initialUser.nickname
|
||||||
|
} else if (
|
||||||
|
formDataprocess.value.tablename[6].cutting &&
|
||||||
|
!formDataprocess.value.tablename[8].cutting
|
||||||
|
) {
|
||||||
|
formDataprocess.value.tablename[8].cutting = initialUser.nickname
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (taskitem.bgWorkTime){
|
||||||
|
formDataprocess.value.tablename[9].cutting = taskitem.bgWorkTime
|
||||||
|
}
|
||||||
|
if (taskitem.workingHours){
|
||||||
|
formDataprocess.value.tablename[5].cutting = taskitem.workingHours
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -1478,6 +1549,7 @@ const open = async (id?: number) => {
|
|||||||
const operateLogs = (await getOperateLogPage(logParams)).list[0]
|
const operateLogs = (await getOperateLogPage(logParams)).list[0]
|
||||||
formData.value.userNickname = operateLogs.userNickname
|
formData.value.userNickname = operateLogs.userNickname
|
||||||
formData.value.startTime = operateLogs.startTime
|
formData.value.startTime = operateLogs.startTime
|
||||||
|
console.log(formDataprocess.value.tablename)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -530,12 +530,8 @@ import {
|
|||||||
import {
|
import {
|
||||||
getOperateLogPage
|
getOperateLogPage
|
||||||
} from "@/api/system/operatelog";
|
} from "@/api/system/operatelog";
|
||||||
import ProcedureSelect from "@/views/heli/hlvuestyle/procedureSelect.vue";
|
|
||||||
import UserSelect from '@/views/heli/hlvuestyle/userSelect.vue'
|
|
||||||
import EquipSelect from "@/views/heli/hlvuestyle/equipSelect.vue";
|
|
||||||
import EquipmentSelect from "@/views/heli/hlvuestyle/equipmentSelect.vue";
|
import EquipmentSelect from "@/views/heli/hlvuestyle/equipmentSelect.vue";
|
||||||
import ProductProcessPrint from "./ProductProcessPrint.vue";
|
import ProductProcessPrint from "./ProductProcessPrint.vue";
|
||||||
import * as EquipManufactureApi from '@/api/heli/equipmanufacture';
|
|
||||||
import {
|
import {
|
||||||
ElDialog,
|
ElDialog,
|
||||||
ElTable,
|
ElTable,
|
||||||
|
@ -179,22 +179,22 @@ class="!w-260px" v-model="formData.requiredCompletedDate" type="date" value-form
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col>
|
<el-col>
|
||||||
<el-checkbox-group v-if="active != 'detail' && (formData.dispatchStatus == 1||formData.dispatchStatus == 0) " v-model="checkList" @change="onAddItem()">
|
<el-checkbox-group v-if="active != 'detail' && (formData.dispatchStatus == 1||formData.dispatchStatus == 0) " v-model="checkList" @change="onAddItem()">
|
||||||
<el-checkbox label="下料" size="large" border />
|
<el-checkbox label="下料" size="large" border :disabled="disabledLabels.includes('下料')"/>
|
||||||
<el-checkbox label="电焊" size="large" border />
|
<el-checkbox label="电焊" size="large" border :disabled="disabledLabels.includes('电焊')"/>
|
||||||
<el-checkbox label="编程" size="large" border />
|
<el-checkbox label="编程" size="large" border :disabled="disabledLabels.includes('编程')"/>
|
||||||
<el-checkbox label="开粗" size="large" border />
|
<el-checkbox label="开粗" size="large" border :disabled="disabledLabels.includes('开粗')"/>
|
||||||
<el-checkbox label="铣床" size="large" border />
|
<el-checkbox label="铣床" size="large" border :disabled="disabledLabels.includes('铣床')"/>
|
||||||
<el-checkbox label="车床" size="large" border />
|
<el-checkbox label="车床" size="large" border :disabled="disabledLabels.includes('车床')"/>
|
||||||
<el-checkbox label="热处理" size="large" border />
|
<el-checkbox label="热处理" size="large" border :disabled="disabledLabels.includes('热处理')" />
|
||||||
<el-checkbox label="磨床" size="large" border />
|
<el-checkbox label="磨床" size="large" border :disabled="disabledLabels.includes('磨床')" />
|
||||||
<el-checkbox label="数控1" size="large" border />
|
<el-checkbox label="数控1" size="large" border :disabled="disabledLabels.includes('数控1')"/>
|
||||||
<el-checkbox label="数控2" size="large" border />
|
<el-checkbox label="数控2" size="large" border :disabled="disabledLabels.includes('数控2')"/>
|
||||||
<el-checkbox label="线切割" size="large" border />
|
<el-checkbox label="线切割" size="large" border :disabled="disabledLabels.includes('线切割')"/>
|
||||||
<el-checkbox label="火花" size="large" border />
|
<el-checkbox label="火花" size="large" border :disabled="disabledLabels.includes('火花')"/>
|
||||||
<el-checkbox label="刻字" size="large" border />
|
<el-checkbox label="刻字" size="large" border :disabled="disabledLabels.includes('刻字')"/>
|
||||||
<el-checkbox label="网格" size="large" border />
|
<el-checkbox label="网格" size="large" border :disabled="disabledLabels.includes('网格')"/>
|
||||||
<el-checkbox label="深孔钻" size="large" border />
|
<el-checkbox label="深孔钻" size="large" border :disabled="disabledLabels.includes('深孔钻')" />
|
||||||
<el-checkbox label="钻孔" size="large" border />
|
<el-checkbox label="钻孔" size="large" border :disabled="disabledLabels.includes('钻孔')"/>
|
||||||
|
|
||||||
<!-- 2025 06 01 以下工序关闭 更新为上面的-->
|
<!-- 2025 06 01 以下工序关闭 更新为上面的-->
|
||||||
<!-- <el-checkbox label="铣床" size="large" border />
|
<!-- <el-checkbox label="铣床" size="large" border />
|
||||||
@ -221,7 +221,7 @@ class="!w-260px" v-model="formData.requiredCompletedDate" type="date" value-form
|
|||||||
|
|
||||||
<el-table-column fixed label="外协" align="center" width="60">
|
<el-table-column fixed label="外协" align="center" width="60">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-checkbox v-model="row.isOutsourcing" @change="handleOutsourcingChange(row)" :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0"/>
|
<el-checkbox class="large-checkbox" v-model="row.isOutsourcing" @change="handleOutsourcingChange(row)" :disabled="getDisabledState2(row)"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column fixed label="顺序号" align="center" prop="sort" width="120px" >
|
<el-table-column fixed label="顺序号" align="center" prop="sort" width="120px" >
|
||||||
@ -236,7 +236,7 @@ class="!w-260px" v-model="formData.requiredCompletedDate" type="date" value-form
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column fixed label="泡沫" align="center" width="60">
|
<el-table-column fixed label="泡沫" align="center" width="60">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-checkbox v-model="row.isFoam" @change="handleChange(row)" :disabled="row.beginProduce != 0 || row.procedureStatus != 0" v-if="procedureList.find(p => p.id == row.procedureId)?.name == '下料'"/>
|
<el-checkbox class="large-checkbox" v-model="row.isFoam" @change="handleChange(row)" :disabled="getDisabledState(row)" v-if="procedureList.find(p => p.id == row.procedureId)?.name == '下料'"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column fixed label="工序名称" align="center" prop="procedureId" width="130">
|
<el-table-column fixed label="工序名称" align="center" prop="procedureId" width="130">
|
||||||
@ -270,13 +270,13 @@ class="!w-260px" v-model="formData.requiredCompletedDate" type="date" value-form
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column fixed label="过程检" align="center" prop="testYn" width="78px" >
|
<el-table-column fixed label="过程检" align="center" prop="testYn" width="78px" >
|
||||||
<template #default="{ row, $index }">
|
<template #default="{ row, $index }">
|
||||||
<el-form-item :prop="`${$index}.testYns`" class="mb-0px!">
|
<el-form-item :prop="`${$index}.testYn`" class="mb-0px!">
|
||||||
<div
|
<div
|
||||||
style=" display: flex;
|
style=" display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;">
|
width: 100%;">
|
||||||
<el-checkbox v-model="row.checkYns" @change="changeChange(row)" :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0" />
|
<el-checkbox v-model="row.checkYns" class="large-checkbox" @change="changeChange(row)" :disabled="getDisabledState(row)" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -285,7 +285,7 @@ style=" display: flex;
|
|||||||
<el-table-column fixed label="派工类型" align="center" prop="dispatchType" width="145px">
|
<el-table-column fixed label="派工类型" align="center" prop="dispatchType" width="145px">
|
||||||
<template #header>派工类型</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="getDisabledState(row)" v-model="row.dispatchType" @change="()=>dispatchTypeHasChange(row)">
|
||||||
<el-radio-button :label="1">人员</el-radio-button>
|
<el-radio-button :label="1">人员</el-radio-button>
|
||||||
<el-radio-button :label="2">岗位</el-radio-button>
|
<el-radio-button :label="2">岗位</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
@ -301,7 +301,7 @@ style=" display: flex;
|
|||||||
<template #header>负责人</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="getDisabledState(row)" clearable filterable v-if="row.dispatchType==1 " v-model="row.owner" placeholder="请选择负责人" style="max-width: 110px">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in ownerList1"
|
v-for="item in ownerList1"
|
||||||
:key="item.index"
|
:key="item.index"
|
||||||
@ -309,7 +309,7 @@ style=" display: flex;
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-select :disabled="detailDisabled ||row.beginProduce != 0|| row.procedureStatus != 0" clearable filterable v-if="row.dispatchType==2 && (row.owner != '' && row.owner != null )" v-model="row.owner" placeholder="请选择岗位" style="max-width: 110px">
|
<el-select :disabled="getDisabledState(row)" clearable filterable v-if="row.dispatchType==2 && (row.owner != '' && row.owner != null )" v-model="row.owner" placeholder="请选择岗位" style="max-width: 110px">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in ownerList1"
|
v-for="item in ownerList1"
|
||||||
:key="item.index"
|
:key="item.index"
|
||||||
@ -317,7 +317,7 @@ style=" display: flex;
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-select :disabled="detailDisabled||row.beginProduce != 0 || row.procedureStatus != 0" clearable filterable v-if="row.dispatchType==2 && (row.owner == '' || row.owner == null)" v-model="row.postId" placeholder="请选择岗位" style="width: 110px">
|
<el-select :disabled="getDisabledState(row)" clearable filterable v-if="row.dispatchType==2 && (row.owner == '' || row.owner == null)" v-model="row.postId" placeholder="请选择岗位" style="width: 110px">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in ownerList2"
|
v-for="item in ownerList2"
|
||||||
:key="item.index"
|
:key="item.index"
|
||||||
@ -338,7 +338,7 @@ v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"
|
|||||||
<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
|
<el-date-picker
|
||||||
:disabled="detailDisabled " v-model="row.startTime"
|
:disabled="getDisabledState1(row) " 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)" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
@ -348,7 +348,7 @@ v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"
|
|||||||
<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
|
<el-date-picker
|
||||||
:disabled=" detailDisabled" v-model="row.endTime"
|
:disabled=" getDisabledState1(row)" 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)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
@ -359,7 +359,7 @@ v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"
|
|||||||
<el-form-item :prop="`${$index}.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="getDisabledState1(row) " v-model="row.workTime"
|
||||||
placeholder="请输入预计工时" />
|
placeholder="请输入预计工时" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
@ -370,7 +370,7 @@ min="0" :precision="2" class="!w-240px"
|
|||||||
<el-form-item :prop="`${$index}.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="getDisabledState1(row)" v-model="row.amount"
|
||||||
placeholder="请输入派工数量" />
|
placeholder="请输入派工数量" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
@ -381,7 +381,7 @@ min="0" :max="formData.amount" :precision="0" class="!w-240px"
|
|||||||
<EquipmentSelect
|
<EquipmentSelect
|
||||||
v-model="row.deviceModel"
|
v-model="row.deviceModel"
|
||||||
@update:new-value="handleSelectedequip($index, $event)"
|
@update:new-value="handleSelectedequip($index, $event)"
|
||||||
:disabled="detailDisabled ||row.beginProduce != 0 || row.procedureStatus != 0" />
|
:disabled="getDisabledState(row)" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -389,7 +389,7 @@ v-model="row.deviceModel"
|
|||||||
<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="getDisabledState(row)" v-model="row.summary"
|
||||||
placeholder="请输入备注" />
|
placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
@ -409,7 +409,7 @@ v-model="row.deviceModel"
|
|||||||
<el-table-column fixed="right" label="操作" align="center" min-width="90">
|
<el-table-column fixed="right" label="操作" align="center" min-width="90">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="'detail' != active && (scope.row.beginProduce == 0 && scope.row.procedureStatus == 0)" link type="danger"
|
v-if="'detail' != active && (scope.row.matPlanProcess == 'N' && scope.row.reportProcess == 0&&formData.dispatchStatus != 2)" link type="danger"
|
||||||
size="small" @click.prevent="onDeleteItem(scope.row,scope.$index)">
|
size="small" @click.prevent="onDeleteItem(scope.row,scope.$index)">
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -614,18 +614,41 @@ const formLoading = ref(false)
|
|||||||
const dialogTitle = ref('')
|
const dialogTitle = ref('')
|
||||||
const detailDisabled = ref(false)
|
const detailDisabled = ref(false)
|
||||||
const changeChange = ( row) =>{
|
const changeChange = ( row) =>{
|
||||||
if(row.testYn == 'N'){
|
// if(row.testYn == 'N'){
|
||||||
row.testYn = 'Y'
|
// row.testYn = 'N'
|
||||||
row.checkYn = 1
|
// row.checkYn = 0
|
||||||
row.checkYns = false
|
// row.checkYns = true
|
||||||
}else{
|
// }else{
|
||||||
row.testYn = 'N'
|
// row.testYn = 'Y'
|
||||||
row.checkYn = 0
|
// row.checkYn = 1
|
||||||
row.checkYns = true
|
// row.checkYns = false
|
||||||
}
|
//
|
||||||
|
// }
|
||||||
|
if(row.checkYns == false){
|
||||||
|
row.checkYn = 1
|
||||||
|
}else {
|
||||||
|
row.checkYn = 0
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
const getDisabledState2 = (row) => {
|
||||||
|
const isDisabled = detailDisabled.value || row.reportProcess == 2||row.matPlanProcess=='Y'
|
||||||
|
|
||||||
|
return isDisabled
|
||||||
}
|
}
|
||||||
|
const getDisabledState1 = (row) => {
|
||||||
|
const isDisabled = detailDisabled.value || row.reportProcess == 2
|
||||||
|
|
||||||
|
return isDisabled
|
||||||
|
}
|
||||||
|
// 获取禁用状态的方法
|
||||||
|
const getDisabledState = (row) => {
|
||||||
|
const isDisabled = detailDisabled.value || row.reportProcess !== 0
|
||||||
|
|
||||||
|
|
||||||
|
return isDisabled
|
||||||
|
}
|
||||||
|
|
||||||
const changePrepTime = (type,index,row)=>{
|
const changePrepTime = (type,index,row)=>{
|
||||||
if(index == 0){
|
if(index == 0){
|
||||||
@ -1270,6 +1293,7 @@ const queryData = async (id?: number) => {
|
|||||||
craftInfos.value = eval( planData.craftContent)
|
craftInfos.value = eval( planData.craftContent)
|
||||||
formData.value.taskDispatchDetails = await TaskDispatchApi.getTaskDispatchDetailListByDispatchId(id)
|
formData.value.taskDispatchDetails = await TaskDispatchApi.getTaskDispatchDetailListByDispatchId(id)
|
||||||
checkList.value = [];
|
checkList.value = [];
|
||||||
|
disabledLabels.value=[];
|
||||||
if(formData.value.taskDispatchDetails!=null){
|
if(formData.value.taskDispatchDetails!=null){
|
||||||
formData.value.taskDispatchDetails.forEach(item=> {
|
formData.value.taskDispatchDetails.forEach(item=> {
|
||||||
if(item.checkYn == 1){
|
if(item.checkYn == 1){
|
||||||
@ -1294,6 +1318,7 @@ const queryData = async (id?: number) => {
|
|||||||
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)
|
||||||
|
disabledLabels.value.push(items.name)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
dispatchListTemp.value.push(JSON.parse(JSON.stringify(item)));
|
dispatchListTemp.value.push(JSON.parse(JSON.stringify(item)));
|
||||||
@ -1313,11 +1338,11 @@ const queryData = async (id?: number) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
formData.value.bomCode = formData.value.projectSubCode
|
formData.value.bomCode = formData.value.projectSubCode
|
||||||
if (formData.value.dispatchStatus == 2 ) {
|
// if (formData.value.dispatchStatus == 2 ) {
|
||||||
detailDisabled.value = true
|
// detailDisabled.value = true
|
||||||
}else{
|
// }else{
|
||||||
detailDisabled.value = false
|
// detailDisabled.value = false
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 操作日志
|
// 操作日志
|
||||||
let logParams = {
|
let logParams = {
|
||||||
@ -1470,6 +1495,7 @@ const submitForm = async (operate) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const checkList = ref([])
|
const checkList = ref([])
|
||||||
|
const disabledLabels = ref([])
|
||||||
const checkListTemp = ref([])
|
const checkListTemp = ref([])
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
const procedureArrary = ['下料','电焊','编程','开粗','铣床','车床','磨床','数控1','数控2','刻字','网格','深钻孔','钻孔','热处理','火花']
|
const procedureArrary = ['下料','电焊','编程','开粗','铣床','车床','磨床','数控1','数控2','刻字','网格','深钻孔','钻孔','热处理','火花']
|
||||||
@ -1519,9 +1545,11 @@ const onAddItem = () => {
|
|||||||
dispatchId: undefined,
|
dispatchId: undefined,
|
||||||
procedureCode:'' ,
|
procedureCode:'' ,
|
||||||
isReport:0 ,
|
isReport:0 ,
|
||||||
checkYn : 0,
|
checkYn : 1,
|
||||||
checkYns: true,
|
checkYns: false,
|
||||||
postId: ownerList2.value[0].id
|
postId: ownerList2.value[0].id,
|
||||||
|
reportProcess:0,
|
||||||
|
matPlanProcess:"N",
|
||||||
}
|
}
|
||||||
// 遍历对象的键
|
// 遍历对象的键
|
||||||
// Object.keys(procedureList.value).forEach((key) => {
|
// Object.keys(procedureList.value).forEach((key) => {
|
||||||
@ -1598,6 +1626,9 @@ const onAddItem = () => {
|
|||||||
item1.checkYns=item.checkYns
|
item1.checkYns=item.checkYns
|
||||||
item1.testYn=item.testYn
|
item1.testYn=item.testYn
|
||||||
item1.checkYn=item.checkYn
|
item1.checkYn=item.checkYn
|
||||||
|
item1.owner=item.owner
|
||||||
|
item1.isOutsourcing=item.isOutsourcing
|
||||||
|
item1.isFoam=item.isFoam
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1709,6 +1740,7 @@ const goback = () => {
|
|||||||
var listdetail = ref([]);
|
var listdetail = ref([]);
|
||||||
/** 删除子项操作 */
|
/** 删除子项操作 */
|
||||||
const onDeleteItem = async (row,index) => {
|
const onDeleteItem = async (row,index) => {
|
||||||
|
console.log(row)
|
||||||
let id = row.id
|
let id = row.id
|
||||||
if (id) await TaskDispatchApi.deleteTaskDispatchDetail(id)
|
if (id) await TaskDispatchApi.deleteTaskDispatchDetail(id)
|
||||||
var list = [];
|
var list = [];
|
||||||
@ -1729,15 +1761,24 @@ const onDeleteItem = async (row,index) => {
|
|||||||
list.push(checkList.value[i]);
|
list.push(checkList.value[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const procedureItem = procedureList.value.find(
|
||||||
|
item => item.id === row.procedureId
|
||||||
|
);
|
||||||
|
console.log(procedureItem)
|
||||||
|
if (procedureItem){
|
||||||
|
const newArray = disabledLabels.value.filter(item => item !== procedureItem.name)
|
||||||
|
disabledLabels.value=newArray
|
||||||
|
}
|
||||||
checkList.value = list;
|
checkList.value = list;
|
||||||
checkListTemp.value = checkList.value;
|
checkListTemp.value = checkList.value;
|
||||||
message.success(t('common.delSuccess'))
|
message.success(t('common.delSuccess'))
|
||||||
}
|
}
|
||||||
const handleOutsourcingChange= async (row: any) => {
|
const handleOutsourcingChange= async (row: any) => {
|
||||||
console.log('ss')
|
|
||||||
if(row.isOutsourcing == false){
|
if(row.isOutsourcing == false){
|
||||||
row.dispatchType = 2
|
row.dispatchType = 2
|
||||||
row.postId = ownerList2.value[0].id
|
row.owner = ''
|
||||||
|
|
||||||
|
row.postId = ownerList2.value[0].id
|
||||||
}else{
|
}else{
|
||||||
row.dispatchType = 2
|
row.dispatchType = 2
|
||||||
row.owner = ''
|
row.owner = ''
|
||||||
@ -1833,4 +1874,21 @@ const printHandle = (id) => {
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
/* 调整为合适的值 */
|
/* 调整为合适的值 */
|
||||||
}
|
}
|
||||||
|
.large-checkbox {
|
||||||
|
transform: scale(1.5); /* 方法1:使用scale放大 */
|
||||||
|
/* 或者 */
|
||||||
|
/* 方法2:通过调整字体大小 */
|
||||||
|
/* font-size: 18px; */
|
||||||
|
}
|
||||||
|
/* 或者更精确地控制内部图标 */
|
||||||
|
/* .large-checkbox .el-checkbox__inner {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
.large-checkbox .el-checkbox__inner::after {
|
||||||
|
height: 10px;
|
||||||
|
left: 7px;
|
||||||
|
top: 3px;
|
||||||
|
width: 5px;
|
||||||
|
} */
|
||||||
</style>
|
</style>
|
||||||
|
@ -83,7 +83,7 @@ const categoryList = ref([
|
|||||||
path: "unqualifiedNotificationConfirm",
|
path: "unqualifiedNotificationConfirm",
|
||||||
name: "品质异常确认",
|
name: "品质异常确认",
|
||||||
auth: false,
|
auth: false,
|
||||||
imgUrl: "/static/images/unqualifiedNotification.png",
|
imgUrl: "/static/images/unqualifiedNotificationConfirm.png",
|
||||||
defaultImgUrl: "/static/images/unqualifiedNotification-default.png",
|
defaultImgUrl: "/static/images/unqualifiedNotification-default.png",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
@ -3,7 +3,7 @@ import { toRaw, ref, computed } from 'vue'
|
|||||||
import { formatDate } from '@/utils/index'
|
import { formatDate } from '@/utils/index'
|
||||||
import { onLoad, onShow } from '@dcloudio/uni-app'
|
import { onLoad, onShow } from '@dcloudio/uni-app'
|
||||||
import { useLoginStore } from '@/stores/modules/login'
|
import { useLoginStore } from '@/stores/modules/login'
|
||||||
import { getNotificationDetailAPI, operateWx } from '@/services/unqualifiedNotification'
|
import {confirm, getNotificationDetailAPI, operateWx} from '@/services/unqualifiedNotification'
|
||||||
import { serviceDomain } from '@/services/constants'
|
import { serviceDomain } from '@/services/constants'
|
||||||
const popup = ref<UniHelper.UniPopupInstance>()
|
const popup = ref<UniHelper.UniPopupInstance>()
|
||||||
const userStore = useLoginStore()
|
const userStore = useLoginStore()
|
||||||
@ -173,7 +173,7 @@ const submitForm = async () => {
|
|||||||
status: 1,
|
status: 1,
|
||||||
notificationStatus: 3
|
notificationStatus: 3
|
||||||
}
|
}
|
||||||
await operateWx(params);
|
await confirm(params);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
Loading…
Reference in New Issue
Block a user