Commit ca024e16 by liulei

下料清单

parent d4cf55ed
...@@ -52,6 +52,8 @@ public class CommonConstant { ...@@ -52,6 +52,8 @@ public class CommonConstant {
public static final String ID = "id"; public static final String ID = "id";
// 生产订单号 // 生产订单号
public static final String PROD_ORDER_NO = "prodOrderNo"; public static final String PROD_ORDER_NO = "prodOrderNo";
// 生产订单号2
public static final String PRODUCTTION_ORDER_NO = "productionOrderNo";
} }
} }
...@@ -58,6 +58,7 @@ public class HPSC006 extends DaoEPBase { ...@@ -58,6 +58,7 @@ public class HPSC006 extends DaoEPBase {
public static final String FIELD_PRDT_NAME = "prdtName"; /* 产品名称*/ public static final String FIELD_PRDT_NAME = "prdtName"; /* 产品名称*/
public static final String FIELD_PART_NAME = "partName"; /* 零件名称*/ public static final String FIELD_PART_NAME = "partName"; /* 零件名称*/
public static final String FIELD_CUT_SCHEDULE = "cutSchedule"; /*下料进度*/
public static final String COL_ID = "ID"; public static final String COL_ID = "ID";
public static final String COL_COMPANY_CODE = "COMPANY_CODE"; /* 企业编码 预留*/ public static final String COL_COMPANY_CODE = "COMPANY_CODE"; /* 企业编码 预留*/
...@@ -94,12 +95,15 @@ public class HPSC006 extends DaoEPBase { ...@@ -94,12 +95,15 @@ public class HPSC006 extends DaoEPBase {
public static final String COL_MATERIAL = "MATERIAL"; /* 材质*/ public static final String COL_MATERIAL = "MATERIAL"; /* 材质*/
public static final String COL_PRDT_NAME = "PRDT_NAME"; /* 产品名称*/ public static final String COL_PRDT_NAME = "PRDT_NAME"; /* 产品名称*/
public static final String COL_PART_NAME = "PART_NAME"; /* 零件名称*/ public static final String COL_PART_NAME = "PART_NAME"; /* 零件名称*/
public static final String COL_CUT_SCHEDULE = "CUT_SCHEDULE"; /* 下料进度*/
public static final String QUERY = "HPSC006.query"; public static final String QUERY = "HPSC006.query";
public static final String COUNT = "HPSC006.count"; public static final String COUNT = "HPSC006.count";
public static final String INSERT = "HPSC006.insert"; public static final String INSERT = "HPSC006.insert";
public static final String UPDATE = "HPSC006.update"; public static final String UPDATE = "HPSC006.update";
public static final String DELETE = "HPSC006.delete"; public static final String DELETE = "HPSC006.delete";
public static final String QUERY2 = "HPSC006A.query";
private Long id = new Long(0); private Long id = new Long(0);
private String companyCode = " "; /* 企业编码 预留*/ private String companyCode = " "; /* 企业编码 预留*/
...@@ -136,6 +140,8 @@ public class HPSC006 extends DaoEPBase { ...@@ -136,6 +140,8 @@ public class HPSC006 extends DaoEPBase {
private String material = " "; /* 材质*/ private String material = " "; /* 材质*/
private String prdtName = " "; /* 产品名称*/ private String prdtName = " "; /* 产品名称*/
private String partName = " "; /* 零件名称*/ private String partName = " "; /* 零件名称*/
private String cutSchedule = "";
/** /**
* initialize the metadata. * initialize the metadata.
*/ */
...@@ -306,6 +312,10 @@ public class HPSC006 extends DaoEPBase { ...@@ -306,6 +312,10 @@ public class HPSC006 extends DaoEPBase {
eiColumn = new EiColumn(FIELD_PART_NAME); eiColumn = new EiColumn(FIELD_PART_NAME);
eiColumn.setDescName("零件名称"); eiColumn.setDescName("零件名称");
eiMetadata.addMeta(eiColumn); eiMetadata.addMeta(eiColumn);
eiColumn = new EiColumn(FIELD_CUT_SCHEDULE);
eiColumn.setDescName("下料进度");
eiMetadata.addMeta(eiColumn);
} }
/** /**
...@@ -876,6 +886,15 @@ public class HPSC006 extends DaoEPBase { ...@@ -876,6 +886,15 @@ public class HPSC006 extends DaoEPBase {
public void setPartName(String partName) { public void setPartName(String partName) {
this.partName = partName; this.partName = partName;
} }
public String getCutSchedule() {
return cutSchedule;
}
public void setCutSchedule(String cutSchedule) {
this.cutSchedule = cutSchedule;
}
/** /**
* get the value from Map. * get the value from Map.
* *
...@@ -919,6 +938,7 @@ public class HPSC006 extends DaoEPBase { ...@@ -919,6 +938,7 @@ public class HPSC006 extends DaoEPBase {
setMaterial(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_MATERIAL)), material)); setMaterial(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_MATERIAL)), material));
setPrdtName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PRDT_NAME)), prdtName)); setPrdtName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PRDT_NAME)), prdtName));
setPartName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PART_NAME)), partName)); setPartName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_PART_NAME)), partName));
setCutSchedule(StringUtils.defaultIfEmpty(StringUtils.toString(map.get(FIELD_CUT_SCHEDULE)), cutSchedule));
} }
/** /**
...@@ -963,6 +983,7 @@ public class HPSC006 extends DaoEPBase { ...@@ -963,6 +983,7 @@ public class HPSC006 extends DaoEPBase {
map.put(FIELD_MATERIAL, StringUtils.toString(material, eiMetadata.getMeta(FIELD_MATERIAL))); map.put(FIELD_MATERIAL, StringUtils.toString(material, eiMetadata.getMeta(FIELD_MATERIAL)));
map.put(FIELD_PRDT_NAME, StringUtils.toString(prdtName, eiMetadata.getMeta(FIELD_PRDT_NAME))); map.put(FIELD_PRDT_NAME, StringUtils.toString(prdtName, eiMetadata.getMeta(FIELD_PRDT_NAME)));
map.put(FIELD_PART_NAME, StringUtils.toString(partName, eiMetadata.getMeta(FIELD_PART_NAME))); map.put(FIELD_PART_NAME, StringUtils.toString(partName, eiMetadata.getMeta(FIELD_PART_NAME)));
map.put(FIELD_CUT_SCHEDULE, StringUtils.toString(cutSchedule, eiMetadata.getMeta(FIELD_CUT_SCHEDULE)));
return map; return map;
} }
} }
package com.baosight.hpjx.hp.sc.service;
import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation;
import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.HPConstants;
import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.pz.tools.HPPZTools;
import com.baosight.hpjx.hp.sc.domain.HPSC006;
import com.baosight.hpjx.util.CommonMethod;
import com.baosight.hpjx.util.EiInfoUtils;
import com.baosight.hpjx.util.LogUtils;
import com.baosight.hpjx.util.MapUtils;
import com.baosight.iplat4j.core.ei.EiBlock;
import com.baosight.iplat4j.core.ei.EiConstant;
import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.exception.PlatException;
import com.baosight.iplat4j.core.service.impl.ServiceBase;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Map;
/**
*
*/
public class ServiceHPSC006A extends ServiceBase {
/**
* 画面初始化.
*/
@OperationLogAnnotation(operModul = "下料清单",operType = "查询",operDesc = "初始化")
public EiInfo initLoad(EiInfo inInfo) {
try {
HPSC006 HPSC006 = new HPSC006();
Map queryMap = EiInfoUtils.getFirstRow(inInfo);
String prodOrderNo = MapUtils.getString(queryMap, CommonConstant.Field.PROD_ORDER_NO);
HPSC006.setProductionOrderNo(prodOrderNo);
EiInfo outInfo = super.initLoad(inInfo, HPSC006);
outInfo.addBlock(EiConstant.resultBlock).addBlockMeta(HPSC006.eiMetadata);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.INVENT_NAME_BLOCK_ID), null, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.FACTORY_RECORD_BLOCK_ID), null, false);
CommonMethod.initBlock(inInfo, Arrays.asList(DdynamicEnum.GROUP_RECORD_BLOCK_ID), null, false);
} catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "初始化失败");
}
return inInfo;
}
/**
* 查询操作.
*/
@OperationLogAnnotation(operModul = "下料清单",operType = "查询",operDesc = "查询")
@Override
public EiInfo query(EiInfo inInfo) {
HPSC006 HPSC006 = new HPSC006();
/* 调用EI查询方法.*/
EiInfo outInfo = super.query(inInfo, "HPSC006A.query", new HPSC006());
EiBlock blcok = outInfo.addBlock(HPConstants.BLOCK_DETAIL);
blcok.setBlockMeta(new HPSC006().eiMetadata);
return outInfo;
}
}
package com.baosight.hpjx.hp.sc.service;
import com.baosight.hpjx.aspect.annotation.OperationLogAnnotation;
import com.baosight.hpjx.common.DdynamicEnum;
import com.baosight.hpjx.common.HPConstants;
import com.baosight.hpjx.core.constant.CommonConstant;
import com.baosight.hpjx.core.dao.DaoUtils;
import com.baosight.hpjx.hp.pz.tools.HPPZTools;
import com.baosight.hpjx.hp.sc.domain.HPSC005;
import com.baosight.hpjx.hp.sc.domain.HPSC005A;
import com.baosight.hpjx.hp.sc.domain.HPSC006;
import com.baosight.hpjx.hp.sc.tools.HPSCTools;
import com.baosight.hpjx.util.CommonMethod;
import com.baosight.hpjx.util.EiInfoUtils;
import com.baosight.hpjx.util.LogUtils;
import com.baosight.hpjx.util.MapUtils;
import com.baosight.iplat4j.core.ei.EiBlock;
import com.baosight.iplat4j.core.ei.EiConstant;
import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.exception.PlatException;
import com.baosight.iplat4j.core.service.impl.ServiceBase;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Map;
/**
*
*/
public class ServiceHPSC006B extends ServiceBase {
/**
* 画面初始化.
*/
@OperationLogAnnotation(operModul = "下料清单",operType = "查询",operDesc = "初始化")
public EiInfo initLoad(EiInfo inInfo) {
try {
Map queryMap = EiInfoUtils.getFirstRow(inInfo);
String prodOrderNo = MapUtils.getString(queryMap, CommonConstant.Field.PROD_ORDER_NO);
HPSC006 dbSc006 = HPSCTools.HpSc005.getHPSC006(prodOrderNo);
inInfo.addBlock(CommonConstant.Field.DETAIL).addRow(dbSc006);
inInfo.addBlock(EiConstant.resultBlock).addBlockMeta(new HPSC006().eiMetadata);
} catch (Exception e) {
LogUtils.setMsg(inInfo, e, "初始化失败");
}
return inInfo;
}
/**
* 查询操作.
*/
@OperationLogAnnotation(operModul = "下料清单",operType = "查询",operDesc = "查询")
@Override
public EiInfo query(EiInfo inInfo) {
HPSC006 HPSC006 = new HPSC006();
/* 调用EI查询方法.*/
EiInfo outInfo = super.query(inInfo, "HPSC006A.query", new HPSC006());
EiBlock blcok = outInfo.addBlock(HPConstants.BLOCK_DETAIL);
blcok.setBlockMeta(new HPSC006().eiMetadata);
return outInfo;
}
}
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
ID = #id# ID = #id#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="companyCode"> <isNotEmpty prepend=" AND " property="companyCode">
COMPANY_CODE = #companyCode# A.COMPANY_CODE = #companyCode#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="projCode"> <isNotEmpty prepend=" AND " property="projCode">
PROJ_CODE like CONCAT('%', #projCode#, '%') PROJ_CODE like CONCAT('%', #projCode#, '%')
......
...@@ -528,6 +528,15 @@ public class HPSCTools { ...@@ -528,6 +528,15 @@ public class HPSCTools {
return results.get(0); return results.get(0);
} }
public static HPSC006 getHPSC006(String prodOrderNo) {
AssertUtils.isEmpty(prodOrderNo, "生产订单号不能为空");
Map queryMap = new HashMap();
queryMap.put("productionOrderNo", prodOrderNo);
List<HPSC006> results = DaoBase.getInstance().query(HPSC006.QUERY2, queryMap);
AssertUtils.isNull(results, String.format("生产订单[%s]信息不存在", prodOrderNo));
return results.get(0);
}
} }
/** /**
......
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
<EF:EFInput cname="项目名称" blockId="inqu_status" ename="projName" row="0" colWidth="3"/> <EF:EFInput cname="项目名称" blockId="inqu_status" ename="projName" row="0" colWidth="3"/>
<EF:EFInput cname="部件名称" blockId="inqu_status" ename="prdtName" row="0" colWidth="3"/> <EF:EFInput cname="部件名称" blockId="inqu_status" ename="prdtName" row="0" colWidth="3"/>
<EF:EFInput cname="生产计划单号" blockId="inqu_status" ename="planInfoNo" row="0" colWidth="3"/> <EF:EFInput cname="生产计划单号" blockId="inqu_status" ename="planInfoNo" row="0" colWidth="3"/>
</div>
<div class="row">
<EF:EFDatePicker cname="计划完成日期" blockId="inqu_status" ename="planCompletionDate" row="0" colWidth="3" <EF:EFDatePicker cname="计划完成日期" blockId="inqu_status" ename="planCompletionDate" row="0" colWidth="3"
format="yyyy-MM-dd" readonly="true"/> format="yyyy-MM-dd" readonly="true"/>
</div>
<div class="row">
<EF:EFSelect cname="状态" blockId="inqu_status" ename="status" row="0" colWidth="3" optionLabel="全部"> <EF:EFSelect cname="状态" blockId="inqu_status" ename="status" row="0" colWidth="3" optionLabel="全部">
<EF:EFOption label="未提交" value="0"/> <EF:EFOption label="未提交" value="0"/>
<EF:EFOption label="已提交" value="1"/> <EF:EFOption label="已提交" value="1"/>
......
$(function () {
IPLATUI.EFGrid = {
"result" : {
pageable: {
pageSize: 15,
pageSizes: [15, 50, 70, 100],
},
columns: [{
field: "operator",
template: function (item) {
let prodOrderNo = item.productionOrderNo;
let template = '';
template += '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+ 'onclick="tearDetails(\'' + prodOrderNo + '\')" >查看详情</a>';
return template
}
}]
}
}
// 查询
$("#QUERY").on("click", query);
});
/**
* 页面加载时执行
*/
/*$(window).load(function () {
// 查询
query();
});*/
/**
* 查询
*/
function query() {
resultGrid.dataSource.page(1);
}
//厂区组类型下拉联动
$('input[name="inqu_status-0-factoryCode"]').change(function () {
var inInfo=new EiInfo();
var factoryCode=$("#inqu_status-0-factoryCode").val();
inInfo.set("factoryCode",factoryCode);
EiCommunicator.send("HPPZ011", "queryGroupComboBox", inInfo, {
onSuccess: function (ei) {
var input=$("#inqu_status-0-orgNo");
dataEdition=ei.getBlock("group_record_block_id").getMappedRows();
input.kendoDropDownList({
valuePrimitive: true,
dataTextField: "textField",
dataValueField: "valueField",
optionLabel:"请选择",
dataSource: dataEdition,
template: "#=textField#"
});
}, onFail: function (ei) {
}
}, {async: false});
});
/**
* 生产任务详情
*
* @param prodOrderNo
*/
function tearDetails(prodTaskNo) {
JSColorbox.open({
href: "HPSC006B?methodName=initLoad&inqu_status-0-prodOrderNo=" + prodTaskNo,
title: "<div style='text-align: center;'>下料订单详情</div>",
width: "80%",
height: "90%"
});
}
<!DOCTYPE html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="EF" tagdir="/WEB-INF/tags/EF" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<EF:EFPage title="下料清单">
<EF:EFRegion id="inqu" title="查询条件">
<EF:EFInput cname="生产订单号" ename="productionOrderNo" blockId="inqu_status" row="0" colWidth="3" type="hidden"/>
<div class="row">
<EF:EFInput cname="项目名称" ename="projName" blockId="inqu_status" row="0" colWidth="3"/>
<EF:EFSelect cname="厂区" ename="factoryCode" blockId="inqu_status" row="0" colWidth="3" filter="contains">
<EF:EFOption label="全部" value=""/>
<EF:EFOptions blockId="factory_record_block_id" textField="textField" valueField="valueField"/>
</EF:EFSelect>
<EF:EFSelect cname="生产组" ename="orgNo" blockId="inqu_status" row="0" colWidth="3" filter="contains">
<EF:EFOption label="全部" value=""/>
<EF:EFOptions blockId="group_record_block_id" textField="textField" valueField="valueField"/>
</EF:EFSelect>
<EF:EFSelect ename="status" blockId="inqu_status" cname="状态" colWidth="3">
<EF:EFOption label="全部" value=""/>
<EF:EFOption label="计划中" value="0"/>
<EF:EFOption label="生产中" value="1"/>
<EF:EFOption label="已完成" value="2"/>
</EF:EFSelect>
</div>
<div class="row">
<EF:EFDatePicker blockId="inqu_status" ename="planCompletionDate" cname="计划完成日期:" row="0" format="yyyy-MM-dd" colWidth="3" />
</div>
</EF:EFRegion>
<EF:EFRegion id="result" title="记录集">
<EF:EFGrid blockId="result" autoDraw="override">
<EF:EFColumn ename="id" cname="主键" hidden="true"/>
<EF:EFColumn ename="operator" cname="操作" locked="true" enable="false" width="100" align="center"/>
<EF:EFColumn ename="productionOrderNo" cname="生产订单号" enable="false" width="150" align="center" hidden="true"/>
<EF:EFColumn ename="projName" cname="项目名称" enable="false" width="140" align="center"/>
<EF:EFColumn ename="factoryName" cname="厂区名称" enable="false" width="100" align="center"/>
<EF:EFColumn ename="prdtName" cname="部件名称" enable="false" width="100" align="center"/>
<EF:EFColumn ename="partName" cname="零件名称" enable="false" width="100" align="center"/>
<EF:EFColumn ename="orgName" cname="生产组名称" enable="false" width="100" align="center"/>
<EF:EFColumn ename="planCompletionDate" cname="计划完成日期" enable="false" width="120" align="center"/>
<EF:EFColumn enable="false" ename="cutSchedule" cname="下料进度" format="{0:N2}" width="80" readonly="true" align="center"/>
<EF:EFComboColumn enable="false" align="center" ename="status" width="80" cname="状态">
<EF:EFOption label="计划中" value="0"/>
<EF:EFOption label="生产中" value="1"/>
<EF:EFOption label="已完成" value="2"/>
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFRegion>
</EF:EFPage>
let factoryGroupGlobalData = [];
$(function () {
IPLATUI.EFGrid = {
"result" : {
pageable: {
pageSize: 20,
pageSizes: [10, 20, 50, 70, 100],
},
columns: [{
field: "orgName",
attributes: {
class: "i-input-readonly"
}
}, {
field: "orgNo",
template: function (dataItem) {
for (let i = 0; i < factoryGroupGlobalData.length; i++) {
if (factoryGroupGlobalData[i]['valueField'] === dataItem['orgNo']) {
return factoryGroupGlobalData[i]['textField'];
}
}
return "";
},
editor: function (container, options) {
let inInfo = new EiInfo();
inInfo.set("inqu_status-0-factoryCode", options.model["factoryCode"]);
// 1:生产组
inInfo.set("inqu_status-0-groupType", 1);
inInfo.set("serviceName", "HPPZ011");
inInfo.set("methodName", "queryGroupComboBox");
inInfo.set("blockId", "group_record_block_id");
inInfo.set("field", options.field);
refreshSelect(container, inInfo);
}
}],
onSave: function (e) {
// 阻止后台保存请求,使用自定义保存
e.preventDefault();
save();
},
onDelete: function (e) {
// 阻止后台删除请求,使用自定义删除
e.preventDefault();
deleteFunc();
}
}
}
$("#QUERY").on("click", query);
});
/**
* 页面加载时执行
*/
$(window).load(function () {
// 生产组名称
let inInfo = new EiInfo();
inInfo.set("inqu_status-0-groupType", 1);
EiCommunicator.send("HPPZ011", "queryGroupComboBox", inInfo, {
onSuccess: function (ei) {
factoryGroupGlobalData = ei.getBlock("group_record_block_id").getMappedRows();
},
onFail: function (ei) {
}
}, {async: false});
// 查询
query();
});
/**
* 查询
*/
function query() {
resultGrid.dataSource.page(1);
}
/**
* 保存
*/
let save = function () {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"保存\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPSC005A", "save", true);
}
});
}
/**
* 删除
*/
let deleteFunc = function () {
let rows = resultGrid.getCheckedRows();
if (rows.length < 1) {
message("请选择数据");
return;
}
JSUtils.confirm("确定对勾选中的[" + rows.length + "]条数据做\"删除\"操作? ", {
ok: function () {
JSUtils.submitGridsData("result", "HPSC005A", "delete", true);
}
});
}
<!DOCTYPE html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="EF" tagdir="/WEB-INF/tags/EF" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<EF:EFPage title="下料详情">
<EF:EFRegion id="inqu" title="下料详情">
<EF:EFInput ename="inqu_status-0-prodOrderNo" cname="项目号" type="hidden"/>
<div class="row">
<EF:EFInput ename="detail-0-productionOrderNo" cname="项目号" colWidth="4" readonly="true"/>
<EF:EFInput ename="detail-0-productionOrderNo" cname="生产订单号" colWidth="4" readonly="true"/>
<EF:EFInput ename="detail-0-inventName" cname="材料名称" colWidth="4" readonly="true"/>
</div>
<div class="row">
<EF:EFInput ename="detail-0-inventLength" cname="长" colWidth="4" readonly="true"/>
<EF:EFInput ename="detail-0-inventWidth" cname="宽" colWidth="4" readonly="true"/>
<EF:EFInput ename="detail-0-inventThick" cname="厚" colWidth="4" readonly="true"/>
</div>
<div class="row">
<EF:EFInput ename="detail-0-material" cname="材质" colWidth="4" readonly="true"/>
<EF:EFInput ename="detail-0-cutSchedule" cname="下料进度" format="{0:N2}" colWidth="4" readonly="true"/>
<EF:EFSelect ename="detail-0-status" cname="状态" colWidth="4" readonly="true">
<EF:EFOption label="计划中" value="0"/>
<EF:EFOption label="生产中" value="1"/>
<EF:EFOption label="已完成" value="2"/>
</EF:EFSelect>
</div>
</EF:EFRegion>
</EF:EFPage>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment