This commit is contained in:
2022-09-22 18:51:31 +08:00
31 changed files with 685 additions and 125 deletions

View File

@@ -619,8 +619,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
/*
* 判断确认类型,并进行相对应的操作
*/
// 投料确认: 1.1
if (StrUtil.equals(type, "1.1")) {
// 大称投料确认: 1.1小称投料确认1.3
if (StrUtil.equals(type, "1.1") || StrUtil.equals(type, "1.3")) {
// 更新称重记录表上报人
JSONObject jsonDtl = dtlTab.query("formuladtl_id = '" + jsonObject.getString("formuladtl_id") + "'").uniqueResult(0);
jsonWeight.put("record_optid", jsonDtl.get("start_id"));
@@ -652,8 +652,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
result.put("status", "400");
result.put("message", "称重成功,自动确认失败");
}
// 投料强制确认: 1.2
} else if (StrUtil.equals(type, "1.2")) {
// 大称投料强制确认: 1.2小称投料强制确认1.4
} else if (StrUtil.equals(type, "1.2") || StrUtil.equals(type, "1.4")) {
// 更新称重记录表上报人
JSONObject jsonDtl = dtlTab.query("formuladtl_id = '" + jsonObject.getString("formuladtl_id") + "'").uniqueResult(0);
jsonWeight.put("record_optid", jsonDtl.get("start_id"));

View File

@@ -215,6 +215,7 @@ public class DailyplanServiceImpl implements DailyplanService {
if(jret.size()>0){
JSONObject form = new JSONObject();
form.put("rows",jret);
form.put("query",whereJson);
this.submit2(form);
}
jret = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
@@ -437,12 +438,16 @@ public class DailyplanServiceImpl implements DailyplanService {
}
String captemplate_id = captemplate.getString("id");
JSONArray ja = form.getJSONArray("rows");
JSONObject query = form.getJSONObject("query");
String checked = query.getString("checked");
if (StrUtil.isEmpty(checked)) {
checked = "false";
}
JSONObject last = MPS_BD_ProductDailyPlan.query("device_id='"+ja.getJSONObject(0).getString("device_id")+"' and status='01'","planstart_date").uniqueResult(0);
if(last ==null ){
throw new BadRequestException("日计划表此分组设备的最早一个日计划为空,没有可重排数据!");
}
JSONArray ja_new = new JSONArray();
for (int i = 0; i < ja.size(); i++) {
JSONObject jo = ja.getJSONObject(i);
@@ -452,8 +457,21 @@ public class DailyplanServiceImpl implements DailyplanService {
MPS_BD_ProductDailyPlan.delete(jo);
}
}
String nowstart_date = last.getString("planstart_date");
Date date = DateUtil.parse(nowstart_date);
if(checked.equals("true")){
if (StrUtil.isNotEmpty(query.getString("nowstart_date"))) {
String nowstart_date2 = query.getString("nowstart_date").substring(0,10);
Date date2 = DateUtil.parse(nowstart_date2);
//指定日期小于最晚的日计划日期
if(date2.getTime() >= date.getTime()){
nowstart_date = nowstart_date2;
date = date2;
}
}
}
//当天产能是否有剩余
double pcsn_num_day = 0;
@@ -474,7 +492,7 @@ public class DailyplanServiceImpl implements DailyplanService {
int totalproducecapacity_qty = series.getInteger("totalproducecapacity_qty");
//第一条查数据库
if(StrUtil.isNotEmpty(nowstart_date)){
JSONObject last2 = MPS_BD_ProductDailyPlan.query("device_id='"+jo.getString("device_id")+"'","planstart_date desc,create_time desc").uniqueResult(0);
JSONObject last2 = MPS_BD_ProductDailyPlan.query("device_id='"+jo.getString("device_id")+"' and planstart_date>='"+nowstart_date+"'","planstart_date desc,create_time desc").uniqueResult(0);
String standard_mark = jo.getString("standard_mark");
if(last2 != null ){
nowstart_date = last2.getString("planstart_date");

View File

@@ -127,6 +127,15 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
json.put("create_time", now);
json.put("sysdeptid", deptId);
json.put("syscompanyid", deptId);
String create_mode = json.getString("create_mode");
if("01".equals(create_mode)){
String planstart_time = json.getString("planstart_time");
Date date = DateUtil.parse(planstart_time);
int days = this.getDays(json.getString("material_id"));
Date planend_date = DateUtil.offsetDay(date,days-1);
String planend_time = DateUtil.formatDate(planend_date).substring(0,10);
json.put("planend_time",planend_time+" 23:59:59");
}
mstTab.insert(json);
this.updatePcsn(json);
}
@@ -167,6 +176,15 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
this.updatePcsn(whereJson);
}
}
String create_mode = whereJson.getString("create_mode");
if("01".equals(create_mode)){
String planstart_time = whereJson.getString("planstart_time");
Date date = DateUtil.parse(planstart_time);
int days = this.getDays(whereJson.getString("material_id"));
Date planend_date = DateUtil.offsetDay(date,days-1);
String planend_time = DateUtil.formatDate(planend_date).substring(0,10);
whereJson.put("planend_time",planend_time+" 23:59:59");
}
mstTab.update(whereJson);
}
@@ -275,11 +293,12 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
String factorycalendar_id = calendar.getJSONObject(0).getString("factorycalendar_id");
for (int i = 0; i < ja.size(); i++) {
JSONObject jo = ja.getJSONObject(i);
JSONObject jsonMst = PDM_BI_WorkOrder.query("workorder_id ='" + jo.getString("workorder_id") + "' and is_delete = '0'").uniqueResult(0);
if (jsonMst == null) {
throw new BadRequestException(jo.getString("workorder_code") + "当前工令记录状态异常,操作失败!");
}
String jo_device_id = jsonMst.getString("device_id");
JSONObject Formula = PDM_BI_Formula.query("workorder_id ='" + jo.getString("workorder_id") + "' and is_delete = '0' and is_audit='0' ").uniqueResult(0);
if (Formula != null) {
throw new BadRequestException(jo.getString("workorder_code") + "工令对应配方未审核,操作失败!");
@@ -376,7 +395,9 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
}
}
}
}else if("GX001".equals(workprocedure_code)){//配粉工序
}else
//配粉工序
if("GX001".equals(workprocedure_code)){
String planstart_date = jsonMst.getString("planstart_time").substring(0,10);
String nowTime = planstart_date+" 24:00:00";
if(devices.size()>=0){
@@ -404,6 +425,12 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
}else{
throw new BadRequestException("未查询到满足条件的排产模板!");
}
//喷雾工序使用工令指定的设备生产工序任务
if("GX003".equals(workprocedure_code)){
if (StrUtil.isNotEmpty(jo_device_id)) {
jsonMst.put("device_id", jo_device_id);
}
}
String planstart_date = jsonMst.getString("planstart_time").substring(0,10);
String planstart_time = jsonMst.getString("planstart_time");
//设置开始时间
@@ -818,6 +845,19 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
return ret;
}
@Transactional(rollbackFor = Exception.class)
public int getDays(String material_id) {
JSONArray ProcessRoutes = WQL.getWO("QPDM_PRODUCTPLANPROC").addParam("flag","5")
.addParam("material_code",material_id).process().getResultJSONArray(0);
int days = 0;
for(int i=0;i<ProcessRoutes.size();i++){
JSONObject jo = ProcessRoutes.getJSONObject(i);
int plan_time = jo.getInteger("plan_time");
days = days + (int) Math.ceil(plan_time/24.0);
}
return days;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void download(Map whereJson, HttpServletResponse response) throws IOException {

View File

@@ -255,7 +255,7 @@
QUERY
SELECT
sum(ProcedureOffline.qty) AS total_qty,
WorkOrder.device_id
MAX(WorkOrder.device_id) AS device_id
FROM
PDM_BI_WorkOrder WorkOrder
LEFT JOIN PDM_BI_ProcedureOffline ProcedureOffline ON ProcedureOffline.workorder_id = WorkOrder.workorder_id
@@ -377,7 +377,7 @@
SELECT
sum(ProcedureOffline.qty) AS total_qty,
count(WorkOrder.workorder_id) AS in_num,
WorkOrder.device_id
MAX(WorkOrder.device_id) AS device_id
FROM
PDM_BI_WorkOrder WorkOrder
LEFT JOIN PDM_BI_ProcedureOffline ProcedureOffline ON ProcedureOffline.workorder_id = WorkOrder.workorder_id

View File

@@ -216,11 +216,15 @@ public class FormulaServiceImpl implements FormulaService {
double RF_total = 0;
//删除明细
PDM_BI_FormulaDtl.delete("formula_id='"+formula_id+"'");
int mn =1;
for(int i = 0;i<tableDtl.size();i++){
JSONObject jo = tableDtl.getJSONObject(i);
String formuladtl_id = jo.getString("formuladtl_id");
jo.put("seq_no",(i+1)+"");
if(jo.getDouble("formula_qty")<=0){
continue;
}
jo.put("seq_no",(mn)+"");
mn++;
if("1".equals(jo.getString("is_need_manage"))){
billpure_qty = billpure_qty+jo.getDouble("formula_qty");
}

View File

@@ -336,6 +336,33 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService {
WQLObject reDtlTab = WQLObject.getWQLObject("EM_BI_DeviceRepairDtl"); // 设备维修单明细表
WQLObject fileTab = WQLObject.getWQLObject("EM_BI_EquipmentFile"); // 档案表
WQLObject lifeTab = WQLObject.getWQLObject("EM_BI_DeviceLifeCycle"); // 设备生命周期表
WQLObject recordTab = WQLObject.getWQLObject("EM_BI_DeviceRepairRecord"); // 设备维修单情况记录表
// 校验设备维修情况不能为空
String fault_comment = whereJson.getString("fault_comment"); // 故障描述
String fault_cause = whereJson.getString("fault_cause"); // 故障原因
String fault_analysis = whereJson.getString("fault_analysis"); // 问题分析
String measure = whereJson.getString("measure"); // 处理措施
if (ObjectUtil.isEmpty(fault_comment)) throw new BadRequestException("故障描述不能为空");
if (ObjectUtil.isEmpty(fault_cause)) throw new BadRequestException("故障原因不能为空");
if (ObjectUtil.isEmpty(fault_analysis)) throw new BadRequestException("问题分析不能为空");
if (ObjectUtil.isEmpty(measure)) throw new BadRequestException("处理措施不能为空");
JSONObject jsonRord = recordTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonRord)) {
recordTab.delete("repair_id = '"+whereJson.getString("repair_id")+"'");
}
// 重新插入表
JSONObject jsonObject = new JSONObject();
jsonObject.put("repair_record_id", IdUtil.getSnowflake(1,1).nextId());
jsonObject.put("repair_id", whereJson.getString("repair_id"));
jsonObject.put("devicerecord_id", whereJson.getString("devicerecord_id"));
jsonObject.put("inputdate", DateUtil.today());
jsonObject.put("fault_comment", fault_comment);
jsonObject.put("fault_cause", fault_cause);
jsonObject.put("fault_analysis", fault_analysis);
jsonObject.put("measure", measure);
recordTab.insert(jsonObject);
// 1.判断维修单明细中是否完成 都为是,不是则报错
JSONArray reDtlArr = reDtlTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").getResultJSONArray(0);
@@ -379,6 +406,7 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService {
WQLObject reMstTab = WQLObject.getWQLObject("EM_BI_DeviceRepairMst"); // 设备维修单主表
WQLObject reDtlTab = WQLObject.getWQLObject("EM_BI_DeviceRepairDtl"); // 设备维修单明细表
WQLObject recordTab = WQLObject.getWQLObject("EM_BI_DeviceRepairRecord"); // 设备维修单情况记录表
// 1.更新维修主表
JSONObject jsonReMst = reMstTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").uniqueResult(0);
@@ -394,6 +422,23 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService {
reDtlTab.update(jsonRedtl);
}
// 3.插入设备维修单情况记录表
JSONObject jsonRd = recordTab.query("repair_id = '" + whereJson.getString("repair_id") + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonRd)) {
recordTab.delete("repair_id = '"+whereJson.getString("repair_id")+"'");
}
JSONObject json = new JSONObject();
json.put("repair_record_id", IdUtil.getSnowflake(1,1).nextId());
json.put("repair_id", whereJson.getString("repair_id"));
json.put("devicerecord_id", whereJson.getString("devicerecord_id"));
json.put("inputdate", DateUtil.today());
json.put("fault_comment", whereJson.getString("fault_comment"));
json.put("fault_cause", whereJson.getString("fault_cause"));
json.put("fault_analysis", whereJson.getString("fault_analysis"));
json.put("measure", whereJson.getString("measure"));
recordTab.insert(json);
}
@Override

View File

@@ -266,17 +266,22 @@
file.device_name,
file.extend_code,
d1.name AS dept_name,
d2.name AS use_name
d2.name AS use_name,
r.fault_comment,
r.fault_cause,
r.fault_analysis,
r.measure
FROM
EM_BI_DeviceRepairMst mst
LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id
LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id
LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id
LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id
LEFT JOIN EM_BI_DeviceRepairRecord r ON r.repair_id = mst.repair_id
WHERE
mst.is_delete = '0'
AND file.is_delete = '0'
AND mst.invstatus not in ('01')
AND mst.invstatus not in ('01','04')
OPTION 输入.device_code <> ""
(file.device_code like 输入.device_code or
@@ -331,7 +336,7 @@
WHERE
mst.is_delete = '0'
AND file.is_delete = '0'
AND mst.invstatus in ('03','04','05')
AND mst.invstatus in ('04')
OPTION 输入.device_code <> ""
(file.device_code like 输入.device_code or

View File

@@ -54,7 +54,9 @@
MAX(class.class_name) AS class_name,
MAX(file.device_code) AS device_code,
MAX(file.device_model) AS device_model,
re.devicerecord_id
re.devicerecord_id,
file.device_name,
file.extend_code
FROM
EM_BI_DeviceRepairRequest re
LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = re.devicerecord_id
@@ -106,7 +108,6 @@
pari.outsourceaskfor_optid,
pari.confirm_time,
pari.audit_time,
pari.product_person_name,
pari.update_optname
FROM
EM_BI_DeviceRepairRequest re

View File

@@ -276,12 +276,12 @@
mst.invstatus
WHEN '01' THEN '生成'
WHEN '02' THEN '提交'
WHEN '03' THEN '开始'
WHEN '03' THEN '维修开始'
WHEN '04' THEN '委外维修'
WHEN '05' THEN '委外验收'
WHEN '06' THEN '结束'
WHEN '07' THEN '确认'
WHEN '99' THEN '审核'
WHEN '06' THEN '维修结束'
WHEN '07' THEN '班组确认'
WHEN '99' THEN '审核完毕'
END
) AS invstatus,
mst.real_start_date,
@@ -332,12 +332,12 @@
CASE mst.invstatus
WHEN '01' THEN '生成'
WHEN '02' THEN '提交'
WHEN '03' THEN '开始'
WHEN '03' THEN '维修开始'
WHEN '04' THEN '委外维修'
WHEN '05' THEN '委外验收'
WHEN '06' THEN '结束'
WHEN '07' THEN '确认'
WHEN '99' THEN '审核'
WHEN '06' THEN '维修结束'
WHEN '07' THEN '班组确认'
WHEN '99' THEN '审核完毕'
END
)
END
@@ -368,6 +368,7 @@
st.is_delete = '0'
AND (st.status <> '99')
AND mst.source_bill_type = 'BXD'
AND st.is_passed = '1'
UNION
@@ -388,10 +389,10 @@
mst.invstatus
WHEN '01' THEN '生成'
WHEN '02' THEN '提交'
WHEN '03' THEN '开始'
WHEN '04' THEN '结束'
WHEN '05' THEN '确认'
WHEN '99' THEN '审核'
WHEN '03' THEN '保养开始'
WHEN '04' THEN '保养结束'
WHEN '05' THEN '班组确认'
WHEN '99' THEN '审核完毕'
END
) AS invstatus,
mst.real_start_date,

View File

@@ -47,6 +47,13 @@ public class DevicemaintenanceplanmstController {
return new ResponseEntity<>(devicemaintenanceplanmstService.queryDevice(whereJson, page), HttpStatus.OK);
}
@GetMapping("/queryDevice2")
@Log("查询设备档案2")
@ApiOperation("查询设备档案2")
public ResponseEntity<Object> queryDevice2(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(devicemaintenanceplanmstService.queryDevice2(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增设备保养计划维护")
@ApiOperation("新增设备保养计划维护")

View File

@@ -82,6 +82,15 @@ public interface DevicemaintenanceplanmstService {
*/
Map<String, Object> queryDevice(Map whereJson, Pageable page);
/**
* 查询数据分页
*
* @param whereJson 条件
* @param page 分页参数
* @return Map<String, Object>
*/
Map<String, Object> queryDevice2(Map whereJson, Pageable page);
/**
* 获取明细
*

View File

@@ -45,6 +45,7 @@ import cn.hutool.core.util.ObjectUtil;
@Slf4j
public class DevicemaintenanceplanmstServiceImpl implements DevicemaintenanceplanmstService {
private final ClassstandardService classstandardService;
private final DeptService deptService;
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
@@ -244,6 +245,38 @@ public class DevicemaintenanceplanmstServiceImpl implements Devicemaintenancepla
return json;
}
@Override
public Map<String, Object> queryDevice2(Map whereJson, Pageable page) {
DeptService deptService = SpringContextHolder.getBean(DeptService.class);
String device_code = MapUtil.getStr(whereJson, "device_code");
// 查询设备档案
HashMap<String, String> map = new HashMap<>();
map.put("flag", "4");
if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code", "%"+device_code+"%");
String dept_id = MapUtil.getStr(whereJson, "dept_id");
if (!StrUtil.isEmpty(dept_id)) {
String deptIds = deptService.getChildIdStr(Long.parseLong(dept_id));
map.put("deptIds", deptIds);
}
String use_id = MapUtil.getStr(whereJson, "use_id");
if (!StrUtil.isEmpty(use_id)) {
String useIds = deptService.getChildIdStr(Long.parseLong(use_id));
map.put("useIds", useIds);
}
// 获取当前登陆用户
Long currentUserId = SecurityUtils.getCurrentUserId();
String dept_str = deptService.getChildIdStr(currentUserId);
if (ObjectUtil.isNotEmpty(dept_str)) {
map.put("dept_str",dept_str);
}
JSONObject json = WQL.getWO("EM_BIDEVICEMAINTENANCEPLAN001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "file.update_time DESC");
return json;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONArray getDtl(JSONObject whereJson) {

View File

@@ -115,7 +115,7 @@
WHERE
mst.is_delete = '0'
AND file.is_delete = '0'
AND mst.invstatus in ('07','99')
AND mst.invstatus in ('05','99')
OPTION 输入.device_code <> ""
(file.device_code like 输入.device_code or

View File

@@ -15,6 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.classIds TYPEAS f_string
输入.dept_str TYPEAS f_string
输入.deptIds TYPEAS f_string
输入.useIds TYPEAS f_string
输入.device_code TYPEAS s_string
@@ -154,5 +155,41 @@
ENDQUERY
ENDIF
IF 输入.flag = "4"
PAGEQUERY
SELECT
file.*,
class.class_name,
work.workprocedure_name,
d1.name AS dept_name,
d2.name AS use_name
FROM
EM_BI_EquipmentFile file
LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id
LEFT JOIN pdm_bi_workprocedure work ON file.workprocedure_id = work.workprocedure_id
LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id
LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id
WHERE
file.is_delete = '0'
AND file.status not in (90,91)
AND d2.dept_id in 输入.dept_str
OPTION 输入.device_code <> ""
(file.device_code like 输入.device_code or
file.device_name like 输入.device_code)
ENDOPTION
OPTION 输入.deptIds <> ""
d1.dept_id in 输入.deptIds
ENDOPTION
OPTION 输入.useIds <> ""
d2.dept_id in 输入.useIds
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF

View File

@@ -212,9 +212,10 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
JSONArray rows = new JSONArray();
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject row = jsonArr.getJSONObject(i);
String material_code = row.getString("material_code");
JSONObject bom = WQLObject.getWQLObject("md_pd_productbom").query("material_id = '"+row.get("material_id")+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(bom)){
throw new BadRequestException("未查询到该产品对应BOM信息");
throw new BadRequestException("未查询到该产品 "+material_code+" 对应BOM信息");
}
row.put("1",row.getString("planstart_date"));
row.put("2",row.getString("old_mark"));

View File

@@ -1,10 +1,10 @@
[交易说明]
交易名: 压制性能分页查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
@@ -33,22 +33,22 @@
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
@@ -58,14 +58,14 @@
SELECT
MAX( mb.material_code ) AS material_code,
SUM( off.qty ) AS qty,
off.material_id,
off.pcsn,
MAX( off.material_id) AS material_id,
MAX( off.pcsn) AS pcsn,
MAX( off.create_time ) AS create_time,
MAX( off.create_name ) AS create_name,
MAX( wo.planend_time ) AS planend_time,
MAX( wo.realend_time ) AS realend_time,
datediff (MAX( wo.planend_time ),MAX( wo.realend_time )) AS off_days,
ext.old_mark
MAX( ext.old_mark) AS old_mark
FROM
pdm_bi_procedureoffline off
LEFT JOIN pdm_bi_workorder wo ON wo.workorder_id = off.workorder_id
@@ -446,10 +446,12 @@
plan.product_num,
ext.old_mark,
plan.product_weight,
plan.material_id
plan.material_id,
materialbase.material_code
FROM
mps_bd_productdailyplan plan
LEFT JOIN md_me_producmaterialext ext ON ext.material_id = plan.material_id
LEFT JOIN md_me_materialbase materialbase ON materialbase.material_id = plan.material_id
WHERE
1=1
OPTION 输入.begin_time <> ""

View File

@@ -57,7 +57,18 @@
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-printer"
size="mini"
@click="print"
>
打印
</el-button>
</crudOperation>
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0 || crud.status.view" :title="crud.status.title" width="700px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px">
@@ -253,6 +264,7 @@ import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import crudWorkProcedure from '@/api/wms/basedata/pdm/workProcedure'
import {getLodop} from "@/assets/js/lodop/LodopFuncs";
const defaultForm = { device_id: null, device_code: null, device_name: null, device_model: null, device_specification: null, device_attribute_scode: null, is_produceuse: null, manufacturer: null, remark: null, is_active: '1', extend_code: null, workprocedure_id: null, workprocedure_code: null, workprocedure_name: null, create_id: null, create_name: null, create_time: null, is_delete: null, devicebill_id: null, device_capacity_qty: null, honor_time: null }
export default {
@@ -356,6 +368,26 @@ export default {
return item.name
}
}
},
print() {
const _selectData = this.$refs.table.selection
if (!_selectData || _selectData.length < 1) {
this.crud.notify('请选择一条记录', CRUD.NOTIFICATION_TYPE.INFO)
return
}
for (let i = 0; i < _selectData.length; i++) {
const code = _selectData[i].device_code
const LODOP = getLodop()
LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮
// 打印纸张大小设置https://www.it610.com/article/2094844.html
LODOP.SET_PRINT_PAGESIZE(1, '50mm', '30mm', '')
// LODOP.ADD_PRINT_RECT('0mm', '0mm', '48mm', '28mm', 0, 1)
LODOP.ADD_PRINT_BARCODE('4.3mm', '8.2mm', '40mm', '20mm', '128Auto', code)
// LODOP.PREVIEW()// 预览
LODOP.PRINT()// 打印
this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
}
}
}
}

View File

@@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container" v-loading.fullscreen.lock="fullscreenLoading">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
@@ -51,7 +51,18 @@
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-position"
size="mini"
@click="synchronize"
>
同步物料编码
</el-button>
</crudOperation>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
@@ -125,6 +136,7 @@ export default {
},
data() {
return {
fullscreenLoading: false,
classes: [],
class_idStr: null,
materOpt_code: '23',
@@ -200,6 +212,15 @@ export default {
return obj
})
})
},
synchronize() {
this.fullscreenLoading = true
crudMaterialbase.synchronize(this.crud.query).then(res => {
this.fullscreenLoading = false
this.crud.notify('同步成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
this.fullscreenLoading = false
})
}
}
}

View File

@@ -34,7 +34,6 @@
<!--左侧插槽-->
<slot name="left" />
<el-button slot="left" type="info" @click="dialogVisible = false">关闭</el-button>
<el-button slot="left" type="primary" @click="submit">保存</el-button>
</span>
</el-col>
</el-row>
@@ -99,7 +98,7 @@ export default {
cxjList: [],
XLList: [],
fullscreenLoading: false,
queryrow: { device_id: '', status: '01' },
queryrow: { device_id: '', status: '01', nowstart_date: '', checked: '' },
sortable: null,
rows: []
}
@@ -127,8 +126,10 @@ export default {
* 接受父组件传值
* @param msg
*/
getMsg(msg) {
getMsg(msg, msg2, msg3) {
this.queryrow.device_id = msg
this.queryrow.nowstart_date = msg2
this.queryrow.checked = msg3
this.queryrow.status = '01'
},
queryStruct() {
@@ -172,6 +173,9 @@ export default {
}
},
close() {
this.queryrow.device_id = ''
this.queryrow.nowstart_date = ''
this.queryrow.checked = ''
this.tableDtl = []
this.$emit('update:dialogShow', false)
this.$emit('StructIvtClosed', this.rows)

View File

@@ -99,6 +99,16 @@
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="初始日期">
<label slot="label">初始日期:</label>
<el-date-picker
v-model="query.nowstart_date"
type="date"
style="width: 200px"
placeholder="选择日期">
</el-date-picker>
<el-checkbox v-model="query.checked">启用</el-checkbox>
<rrOperation />
</el-form-item>
</el-form>
@@ -155,26 +165,25 @@
/>
</template>
</el-table-column>
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column :selectable="checkboxT" type="selection" width="55" />
<el-table-column prop="plan_code" label="日计划编码" width="120" />
<el-table-column :selectable="checkboxT" type="selection" width="45" />
<el-table-column prop="plan_code" label="日计划编码" width="110" />
<el-table-column :formatter="seriesFormat" min-width="80" prop="product_series_id" label="系列产线" />
<el-table-column prop="device_name" label="关键设备" width="100" />
<el-table-column prop="device_name" label="关键设备" width="80" />
<el-table-column prop="planstart_date" label="计划开始日期" width="100" />
<el-table-column prop="plan_org_name" label="申报单位" width="100" />
<el-table-column prop="workorder_type" label="计划类型" :formatter="workorder_typeFormat" min-width="120" />
<el-table-column prop="material_code" label="物料编码" min-width="120"/>
<el-table-column prop="old_mark" label="牌号" />
<el-table-column prop="workorder_type" label="计划类型" :formatter="workorder_typeFormat" min-width="80" />
<el-table-column prop="material_code" label="物料编码" min-width="130"/>
<el-table-column prop="old_mark" label="牌号" min-width="100" />
<el-table-column :formatter="seriesFormat2" min-width="80" prop="mater_product_series" label="产品系列" />
<el-table-column prop="product_weight" label="生产重量(kg)" :formatter="crud.formatNum3" min-width="120" />
<el-table-column prop="product_num" label="批数" width="80" />
<el-table-column prop="product_weight" label="生产重量(kg)" :formatter="crud.formatNum0" min-width="95" />
<el-table-column prop="product_num" label="批数" width="45" />
<el-table-column prop="planend_date" label="计划结束日期" width="100" />
<el-table-column prop="plan_finish_date" label="交货日期" width="100" />
<el-table-column prop="day_num" label="提前天数" width="90" :formatter="crud.formatNum0" />
<el-table-column :formatter="stateFormat" min-width="80" prop="status" label="状态" />
<el-table-column prop="task_code" label="生产任务号" width="120" />
<el-table-column prop="create_time" label="创建时间" width="140px" />
<el-table-column prop="create_name" label="创建人" width="100" />
<el-table-column prop="plan_finish_date" label="交货日期" width="90" />
<el-table-column prop="day_num" label="提前天数" width="70" :formatter="crud.formatNum0" />
<el-table-column :formatter="stateFormat" min-width="45" prop="status" label="状态" />
<el-table-column prop="task_code" label="生产任务号" width="110" />
<el-table-column prop="create_time" label="创建时间" width="135" />
<el-table-column prop="create_name" label="创建人" width="70" />
<el-table-column prop="remark" label="备注" />
</el-table>
<!--分页组件-->
@@ -201,6 +210,7 @@ import workorder from '@/api/wms/pdm/workorder'
import crudseriesProcessRoute from '@/api/wms/pdm/seriesProcessRoute'
import { download } from '@/api/data'
import { downloadFile } from '@/utils'
import Date from '@/utils/datetime'
export default {
name: 'dailyplan',
@@ -213,7 +223,7 @@ export default {
url: 'api/dailyplan',
idField: 'dailyplan_id',
sort: '',
query: { device_id: '' },
query: { nowstart_date: new Date(),device_id: '' },
crudMethod: { ...dailyplan },
optShow: {
add: true,
@@ -316,7 +326,7 @@ export default {
return false
}
this.form.device_id = this.crud.query.device_id
this.$refs.child.getMsg(this.crud.query.device_id)
this.$refs.child.getMsg(this.crud.query.device_id, this.crud.query.nowstart_date, this.crud.query.checked)
this.structshow = true
},
downdtl() {

View File

@@ -90,11 +90,21 @@
<el-form-item label="计划开始时间" prop="planstart_time">
<el-date-picker v-model="form.planstart_time" default-time="08:00:00" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择开始时间" style="width: 210px" :disabled="crud.status.view > 0" />
</el-form-item>
<el-form-item label="关键设备" prop="device_name">
<el-form-item label="关键设备" prop="device_id">
<label slot="label">关键设备:</label>
<el-input v-model="form.device_name" style="width: 210px" disabled class="input-with-select">
<el-button slot="append" icon="el-icon-search" @click="queryDtl" />
</el-input>
<el-select
v-model="form.device_id"
size="mini"
placeholder="关键设备"
class="filter-item"
style="width: 210px"
>
<el-option
v-for="item in Devices"
:key="item.id"
:label="item.name"
:value="item.id"
/></el-select>
</el-form-item>
<el-form-item label="批数" prop="pcsn_num">
<label slot="label">批数:</label>
@@ -127,6 +137,7 @@ import DeviceDialog from '@/views/wms/pub/DeviceDialog'
import MaterDialog from '@/views/wms/pub/MaterDialog'
import workorder from '@/api/wms/pdm/workorder'
import crudseriesProcessRoute from '@/api/wms/pdm/seriesProcessRoute'
import producetask from '@/api/wms/pdm/producetask'
const defaultForm = {
workorder_code: '',
@@ -164,6 +175,7 @@ export default {
materType: '05',
XLList: [],
Depts: [],
Devices: [],
materShow: false,
rules: {
pcsn: [
@@ -204,6 +216,9 @@ export default {
workorder.getDepts().then(res => {
this.Depts = res
})
producetask.getDevices().then(res => {
this.Devices = res
})
},
methods: {
close() {

View File

@@ -235,23 +235,23 @@
/>
</template>
</el-table-column>
<el-table-column :selectable="checkboxT" type="selection" width="55" />
<el-table-column :selectable="checkboxT" type="selection" width="45" />
<el-table-column prop="workorder_date" min-width="85" label="工令日期" :formatter="workorder_dateFormat"/>
<el-table-column prop="workorder_code" width="130" label="工令号">
<template slot-scope="scope">
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.workorder_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="org_id" :formatter="orgFormat" min-width="110" label="所属组织" />
<el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="80" label="工令类型" />
<el-table-column :formatter="stateFormat" min-width="80" prop="status" label="工令状态" />
<el-table-column prop="device_name" min-width="100" label="设备"/>
<el-table-column prop="org_id" :formatter="orgFormat" min-width="105" label="所属组织" />
<el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="70" label="工令类型" />
<el-table-column :formatter="stateFormat" min-width="70" prop="status" label="工令状态" />
<el-table-column prop="device_name" min-width="80" label="设备"/>
<el-table-column prop="material_code" min-width="130" label="物料编码"/>
<el-table-column prop="old_mark" min-width="80" label="牌号"/>
<el-table-column prop="old_mark" min-width="110" label="牌号"/>
<el-table-column :formatter="seriesFormat" min-width="80" prop="product_series_id" label="系列" />
<el-table-column prop="pcsn" min-width="80" label="批次"/>
<el-table-column prop="workorder_qty" min-width="80" label="重量" :formatter="crud.formatNum3"/>
<el-table-column prop="bill_qty" min-width="80" label="开单总重量" :formatter="crud.formatNum3" />
<el-table-column prop="workorder_qty" min-width="70" label="重量" :formatter="crud.formatNum0"/>
<el-table-column prop="bill_qty" min-width="90" label="开单总重量" :formatter="crud.formatNum3" />
<el-table-column prop="productin_qty" min-width="100" label="实际生产重量" :formatter="crud.formatNum3"/>
<el-table-column prop="qty_unit_name" min-width="80" label="单位"/>
<el-table-column prop="planstart_time" min-width="140" label="计划开始时间"/>

View File

@@ -139,24 +139,24 @@
:highlight-current-row="true"
@selection-change="mySelectionChange"
>
<el-table-column :selectable="checkboxT" type="selection" width="55" />
<el-table-column prop="workorder_date" min-width="90" label="工令日期" :formatter="workorder_dateFormat"/>
<el-table-column :selectable="checkboxT" type="selection" width="45" />
<el-table-column prop="workorder_date" min-width="85" label="工令日期" :formatter="workorder_dateFormat"/>
<el-table-column prop="workorder_code" width="130" label="工令号">
<template slot-scope="scope">
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.workorder_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="80" label="工令类型" />
<el-table-column :formatter="stateFormat" min-width="100" prop="status" label="工令状态" />
<el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="70" label="工令类型" />
<el-table-column :formatter="stateFormat" min-width="70" prop="status" label="工令状态" />
<el-table-column prop="material_code" min-width="130" label="物料编码"/>
<el-table-column :formatter="seriesFormat" min-width="130" prop="product_series_id" label="系列" />
<el-table-column prop="pcsn" min-width="130" label="批次"/>
<el-table-column prop="workorder_qty" min-width="100" label="重量" :formatter="crud.formatNum3"/>
<el-table-column prop="bill_qty" min-width="100" label="开单总重量" :formatter="crud.formatNum3" />
<el-table-column :formatter="create_modeFormat" min-width="170" prop="create_mode" label="生成方式" />
<el-table-column prop="qty_unit_name" min-width="100" label="单位"/>
<el-table-column prop="formula_time" min-width="150" label="开单时间"/>
<el-table-column prop="formula_name" min-width="150" label="开单人"/>
<el-table-column :formatter="seriesFormat" min-width="80" prop="product_series_id" label="系列" />
<el-table-column prop="pcsn" min-width="80" label="批次"/>
<el-table-column prop="workorder_qty" min-width="70" label="重量" :formatter="crud.formatNum0"/>
<el-table-column prop="bill_qty" min-width="90" label="开单总重量" :formatter="crud.formatNum3" />
<el-table-column :formatter="create_modeFormat" min-width="160" prop="create_mode" label="生成方式" />
<el-table-column prop="qty_unit_name" min-width="80" label="单位"/>
<el-table-column prop="formula_time" min-width="135" label="开单时间"/>
<el-table-column prop="formula_name" min-width="80" label="开单人"/>
</el-table>
<!--分页组件-->
<pagination />

View File

@@ -14,7 +14,7 @@
</el-col>
<el-col :span="6">
<span>
<el-button icon="el-icon-check" size="mini" type="primary" @click="endRepair">结束维修</el-button>
<el-button icon="el-icon-check" size="mini" type="primary" @click="endRepair">保存并结束</el-button>
<el-button icon="el-icon-check" size="mini" type="primary" @click="submitMain">保存</el-button>
<el-button icon="el-icon-close" size="mini" type="info" @click="close">关闭</el-button>
</span>
@@ -81,6 +81,38 @@
</el-row>
</el-form>
<div class="crud-opts2">
<span class="role-span">结果录入</span>
</div>
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true" :model="form" size="mini" label-width="120px" label-suffix=":">
<el-row>
<el-col :span="12">
<el-form-item label="故障描述" prop="fault_comment">
<el-input v-model="form.fault_comment" style="width: 580px;" rows="2" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="故障原因" prop="fault_cause">
<el-input v-model="form.fault_cause" style="width: 580px;" rows="2" type="textarea" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="问题分析" prop="fault_analysis">
<el-input v-model="form.fault_analysis" style="width: 580px;" rows="2" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="处理措施" prop="measure">
<el-input v-model="form.measure" style="width: 580px;" rows="2" type="textarea" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="crud-opts2">
<span class="role-span">项目明细</span>
</div>

View File

@@ -89,6 +89,17 @@
>
开始维修
</el-button>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-position"
size="mini"
:disabled="execu_flag"
@click="outRepair"
>
委外维修
</el-button>
<!-- <el-button
slot="right"
class="filter-item"
@@ -133,7 +144,7 @@
>
班组验收
</el-button>
<el-button
<!-- <el-button
slot="right"
class="filter-item"
type="success"
@@ -143,7 +154,7 @@
@click="resuftRepair"
>
结果录入
</el-button>
</el-button>-->
</crudOperation>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="mySelectionChange">
@@ -370,6 +381,17 @@ export default {
this.crud.notify('状态不正确', CRUD.NOTIFICATION_TYPE.INFO)
}
},
outRepair() {
const _selectData = this.$refs.table.selection
const data = _selectData[0]
if (data.invstatus !== '03') {
return this.crud.notify('只能对开始状态的单据维修', CRUD.NOTIFICATION_TYPE.INFO)
}
crudDevicerepairmst.outRepair(data).then(res => {
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
},
mySelectionChange(rows) {
this.buttonChange(rows)
},
@@ -386,7 +408,7 @@ export default {
if ('01,03,04,05,06,07,99'.includes(rows[i].invstatus)) {
this.start_flag = true
}
if ('01,02,06,07,99'.includes(rows[i].invstatus)) {
if ('01,02,04,05,06,07,99'.includes(rows[i].invstatus)) {
this.execu_flag = true
}
if ('01,02,04,06,07,99'.includes(rows[i].invstatus)) {

View File

@@ -78,7 +78,7 @@
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission">
<el-button
<!-- <el-button
slot="right"
class="filter-item"
type="success"
@@ -88,7 +88,7 @@
@click="outRepair"
>
委外维修
</el-button>
</el-button>-->
<el-button
slot="right"
class="filter-item"

View File

@@ -0,0 +1,221 @@
<template>
<el-dialog
title="设备选择"
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
width="1000px"
@close="close"
>
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="设备">
<el-input
v-model="query.device_code"
clearable
size="mini"
placeholder="编码、名称"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="所属部门">
<treeselect
v-model="query.dept_id"
:load-options="loadDepts"
:options="depts"
style="width: 200px;"
placeholder="请选择"
/>
</el-form-item>
<el-form-item label="使用班组">
<treeselect
v-model="query.use_id"
:load-options="loadDepts"
:options="depts"
style="width: 200px;"
placeholder="请选择"
/>
</el-form-item>
<rrOperation />
</el-form>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
style="width: 100%;"
size="mini"
border
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
@select="handleSelectionChange"
@select-all="onSelectAll"
@current-change="clickChange"
>
<el-table-column v-if="!isSingle" type="selection" width="55" />
<el-table-column v-if="isSingle" label="选择" width="55">
<template slot-scope="scope">
<el-radio v-model="tableRadio" :label="scope.row"><i /></el-radio>
</template>
</el-table-column>
<el-table-column prop="device_code" label="设备编码" min-width="130" show-overflow-tooltip />
<el-table-column prop="device_name" label="设备名称" min-width="130" show-overflow-tooltip />
<el-table-column prop="extend_code" label="设备自编码" width="90px" show-overflow-tooltip />
<el-table-column prop="class_name" label="设备类型" show-overflow-tooltip />
<el-table-column prop="dept_name" label="归属部门" show-overflow-tooltip />
<el-table-column prop="use_name" label="使用班组" show-overflow-tooltip />
<el-table-column prop="device_spec" label="规格" min-width="130" show-overflow-tooltip />
<el-table-column prop="device_model" label="型号" show-overflow-tooltip />
<el-table-column prop="supplier_name" label="供应商" show-overflow-tooltip />
<el-table-column prop="device_type" label="设备属性" :formatter="formatTypeName"/>
<el-table-column prop="workprocedure_name" label="工序" />
<el-table-column prop="is_produceuse" label="生产用途" show-overflow-tooltip />
<el-table-column prop="remark" label="备注" show-overflow-tooltip />
</el-table>
<!--分页组件-->
<pagination />
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</el-dialog>
</template>
<script>
import CRUD, { header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import pagination from '@crud/Pagination'
import crudDevicemaintenanceplanmst from '@/api/wms/sb/devicemaintenanceplanmst'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { getDepts } from '@/api/system/dept'
export default {
name: 'Device',
components: { rrOperation, pagination, Treeselect },
cruds() {
return CRUD({
title: '设备',
url: 'api/devicemaintenanceplanmst/queryDevice2',
crudMethod: { ...crudDevicemaintenanceplanmst }, optShow: {}})
},
mixins: [presenter(), header()],
props: {
dialogShow: {
type: Boolean,
default: false
},
isSingle: {
type: Boolean,
default: true
}
},
data() {
return {
dialogVisible: false,
tableRadio: null,
checkrow: null,
class_idStr: null,
depts: [],
rows: [],
XLList: []
}
},
watch: {
dialogShow: {
handler(newValue) {
this.dialogVisible = newValue
}
}
},
created() {
this.getDepts()
},
methods: {
clickChange(item) {
this.tableRadio = item
},
formatTypeName(row, cloum) {
if (row.device_type === '01') {
return '资产'
} else if (row.device_type === '02') {
return '普通设备'
} else if (row.device_type === '03') {
return '其他'
}
},
handleSelectionChange(val, row) {
if (this.isSingle) {
if (val.length > 1) {
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(val.pop())
} else {
this.checkrow = row
}
}
},
onSelectAll() {
this.$refs.table.clearSelection()
},
close() {
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
},
submit() {
// 处理单选
if (this.isSingle && this.tableRadio) {
this.$emit('update:dialogShow', false)
this.$emit('tableChanged2', this.tableRadio)
return
}
this.rows = this.$refs.table.selection
if (this.rows.length <= 0) {
this.$message('请先勾选设备')
return
}
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
this.$emit('tableChanged2', this.rows)
},
// 获取弹窗内部门数据
loadDepts({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
getDepts({ enabled: true, pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
setTimeout(() => {
callback()
}, 200)
})
}
},
getDepts() {
getDepts({ enabled: true }).then(res => {
this.depts = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep .el-dialog__body {
padding-top: 0px;
}
</style>

View File

@@ -96,19 +96,6 @@
</el-input>
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="故障描述:" prop="solutions">
<el-input v-model="form.fault_desc" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col span="12">
<el-form-item label="班组配合人:" prop="product_person_name">
<el-input v-model="form.product_person_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="故障等级:" prop="fault_level">
<el-select
@@ -129,6 +116,22 @@
</el-col>
</el-row>
<el-row>
<el-col span="12">
<el-form-item label="班组配合人:" prop="product_person_name">
<el-input v-model="form.product_person_name" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col span="24">
<el-form-item label="故障描述:" prop="solutions">
<el-input v-model="form.fault_desc" style="width: 650px;" rows="2" type="textarea" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col span="24">
<el-form-item label="备注:" prop="remark">
@@ -202,7 +205,7 @@ import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudMaterialbase from '@/api/wms/basedata/master/materialbase'
import PicDialog from '@/views/wms/sb/repair/devicerepairrequest/PicDialog'
import DeviceDialog from '@/views/wms/sb/upkeep/devicemaintenanceplan/DeviceDialog'
import DeviceDialog from '@/views/wms/sb/repair/devicevprs/DeviceDialog'
import FaultDialog from '@/views/wms/sb/repair/devicevprs/FaultDialog'
import { getDepts } from '@/api/system/dept'
@@ -309,13 +312,7 @@ export default {
})
},
formaLevelName(row, cloum) {
if (row.fault_level === '01') {
return '一级'
} else if (row.fault_level === '02') {
return '二级'
} else if (row.fault_level === '03') {
return '三级'
}
return this.dict.label.EM_FAULT_LEVEL[row.fault_level]
},
formatStatusName(row, cloum) {
if (row.status === '01') {

View File

@@ -69,11 +69,13 @@
<el-table-column type="selection" width="55" />
<el-table-column prop="dept_name" label="使用部门" />
<el-table-column prop="class_name" label="设备类型" />
<el-table-column prop="device_name" label="设备名称" />
<el-table-column prop="device_code" label="设备编码">
<template slot-scope="scope">
<el-link type="warning" @click="openDtl(scope.row)">{{ scope.row.device_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="extend_code" label="自编码" />
<el-table-column prop="device_model" label="型号规格" />
<el-table-column prop="nunm" label="故障次数" />
<el-table-column prop="avgVal_time" label="平均故障间隔时间(小时)" :formatter="crud.formatNum2" />

View File

@@ -9,14 +9,14 @@
<el-table-column prop="maintenancecycle" label="任务类型" />
<el-table-column prop="fault_level" label="故障等级" />
<!-- <el-table-column prop="" label="部门" />-->
<el-table-column prop="fault_desc" label="故障描述" show-overflow-tooltip />
<el-table-column prop="device_name" label="设备名称" show-overflow-tooltip />
<el-table-column prop="fault_desc" width="170px" label="故障描述" />
<el-table-column prop="device_name" width="150px" label="设备名称" />
<el-table-column prop="extend_code" label="自编号" show-overflow-tooltip />
<el-table-column prop="dept_name" label="使用部门" show-overflow-tooltip />
<el-table-column prop="invstatus" label="状态" />
<el-table-column prop="user_name" label="维修/保养人" show-overflow-tooltip />
<el-table-column prop="real_start_date" label="开始时间" show-overflow-tooltip />
<el-table-column prop="real_end_date" label="结束时间" show-overflow-tooltip />
<el-table-column prop="user_name" width="170px" label="维修/保养人" />
<el-table-column prop="real_start_date" width="150px" label="开始时间" show-overflow-tooltip />
<el-table-column prop="real_end_date" width="150px" label="结束时间" show-overflow-tooltip />
</el-table>
</div>
</div>
@@ -148,7 +148,7 @@ export default {
}
.t_btn2 >>> .el-table--enable-row-transition .el-table__body td,
.el-table .cell {
padding: 0;
padding: 5px 0px;
background-color: transparent;
}

View File

@@ -111,6 +111,7 @@
<el-table-column prop="device_name" label="设备名称" show-overflow-tooltip />
<el-table-column prop="extend_code" label="设备自编码" width="90px" show-overflow-tooltip />
<el-table-column prop="maintenancecycle" label="保养周期" :formatter="formatMainName"/>
<el-table-column prop="detail_count" label="明细数" />
<el-table-column prop="plan_start_date" label="计划开始日期" width="150px" />
<el-table-column prop="real_start_date" label="实际开始日期" width="150px" />
<el-table-column prop="real_end_date" label="实际结束日期" width="150px" />