| | |
| | | return; |
| | | } |
| | | List<String> columns = new ArrayList<>(); |
| | | //如果变量包含Final,Static,transient修饰符, 跳过该变量 |
| | | for (Field field :Cools.getAllFields(cls)){ |
| | | if (Modifier.isFinal(field.getModifiers()) |
| | | || Modifier.isStatic(field.getModifiers()) |
| | | || Modifier.isTransient(field.getModifiers())){ |
| | | continue; |
| | | } |
| | | |
| | | String column = null; |
| | | if (field.isAnnotationPresent(TableField.class)) { |
| | | column = field.getAnnotation(TableField.class).value(); |
| | |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | hostEq(wrapper); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | // if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | wrapper.orderBy("create_time",false); |
| | | return R.ok(cstmrService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam Map<String, Object> param){ |
| | | EntityWrapper<Item> wrapper = new EntityWrapper<>(); |
| | | // allLike(Item,null,wrapper,param.get("id")); |
| | | HashSet<String> excludeField = new HashSet<>(); |
| | | |
| | | // allLike(Item.class,excludeField,wrapper, (String) param.get("id")); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | hostEq(wrapper); |
| | |
| | | if (!Cools.isEmpty(name)) { |
| | | throw new CoolException("不可有重复项目名"); |
| | | } |
| | | if (item.getRealMonth() < 0){ |
| | | throw new CoolException("实施周期不可为负数"); |
| | | } |
| | | |
| | | item.setHostId(getHostId()); |
| | | item.setCreateBy(getUserId()); |
| | |
| | | if (!item.getType().equals("1")) { |
| | | throw new CoolException("目前仅支持集成项目"); |
| | | } |
| | | if (item.getRealMonth() < 0){ |
| | | throw new CoolException("实施周期不可为负数"); |
| | | } |
| | | item.setUpdateBy(getUserId()); |
| | | item.setUpdateTime(new Date()); |
| | | itemService.update(item,new EntityWrapper<Item>() |
| | |
| | | } |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | |
| | | // HashSet<String> excludeItems = new HashSet<>(); |
| | | // excludeItems.add("id"); |
| | | // excludeItems.add("item_id"); |
| | | // excludeItems.add("weight_num"); |
| | | // excludeItems.add("create_time"); |
| | | // excludeItems.add("create_id"); |
| | | // excludeItems.add("modify_time"); |
| | | // excludeItems.add("modify_id"); |
| | | // |
| | | // allLike(ProjectPlan.class,excludeItems,wrapper, (String) param.get("id")); |
| | | wrapper.orderBy("item_id"); |
| | | |
| | | |
| | | // if (!Cools.isEmpty(orderByField)) { |
| | | // wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | // } |
| | | |
| | | return R.ok(projectPlanService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | |
| | | if (!Cools.isEmpty(checkExist)) { |
| | | throw new CoolException("权重值冲突,请检查"); |
| | | } |
| | | |
| | | FlowStatus id = flowStatusService.selectOne(new EntityWrapper<FlowStatus>() |
| | | .eq("id", projectPlan.getFlowId())); |
| | | if (!Cools.isEmpty(id)) { |
| | |
| | | |
| | | if (Cools.isEmpty(projectPlan) || null == projectPlan.getId()) { |
| | | return R.error(); |
| | | } |
| | | |
| | | if (projectPlan.getDelay() < 0){ |
| | | throw new CoolException("延期天数不可为负数"); |
| | | } |
| | | |
| | | projectPlan.setModifyTime(new Date()); |
| | |
| | | List<Item> items = itemService.selectList(new EntityWrapper<Item>() |
| | | .eq("status","1")); |
| | | List<ItemsDTO> itemsDTOs = new ArrayList<>(); |
| | | for (Item item : items) { |
| | | ItemsDTO itemsDTO = new ItemsDTO(); |
| | | |
| | | for (Item item : items) { |
| | | |
| | | ItemsDTO itemsDTO = new ItemsDTO(); |
| | | List<FlowsDTO> flows = new ArrayList<>(); |
| | | itemsDTO.setId(item.getName()); |
| | | itemsDTO.setStartDay(item.getStartTime()); |
| | | itemsDTO.setEndDay(item.getEndTime()); |
| | | itemsDTO.setStartDay(item.getStartTime$()); |
| | | itemsDTO.setEndDay(item.getEndTime$()); |
| | | List<ProjectPlan> allPlans = projectPlanService.selectList(new EntityWrapper<ProjectPlan>() |
| | | .eq("item_id", item.getId())); |
| | | for (ProjectPlan projectPlan : allPlans) { |
| | | projectPlan.setFlowName(projectPlan.getFlowId$()); |
| | | FlowsDTO flowsDTO = new FlowsDTO(); |
| | | flowsDTO.setName(projectPlan.getFlowId$()); |
| | | flowsDTO.setStartTime(projectPlan.getStartTime$()); |
| | | flowsDTO.setEndTime$(projectPlan.getEndTime$()); |
| | | flowsDTO.setRealStartTime$(projectPlan.getRealStartTime$()); |
| | | flowsDTO.setRealEndTime$(projectPlan.getRealEndTime$()); |
| | | flows.add(flowsDTO); |
| | | } |
| | | |
| | | itemsDTO.setNodes(allPlans); |
| | | itemsDTO.setNodes(flows); |
| | | itemsDTOs.add(itemsDTO); |
| | | } |
| | | return R.ok().add(itemsDTOs); |
| | |
| | | @NoArgsConstructor |
| | | public class FlowsDTO { |
| | | private String name; |
| | | private Date deadline; |
| | | private Date realDeadline; |
| | | private int extraDay; |
| | | private String startTime; |
| | | private String endTime$; |
| | | private String realStartTime$; |
| | | private String realEndTime$; |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.baomidou.mybatisplus.enums.FieldStrategy; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | |
| | | * 开始时间 |
| | | */ |
| | | @ApiModelProperty(value= "开始时间") |
| | | @TableField("start_time") |
| | | @TableField(value = "start_time", strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date startTime; |
| | | |
| | |
| | | * 结束时间 |
| | | */ |
| | | @ApiModelProperty(value= "结束时间") |
| | | @TableField("end_time") |
| | | @TableField(value = "end_time" ,strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date endTime; |
| | | |
| | |
| | | private String type; |
| | | |
| | | |
| | | @TableField("real_start_time") |
| | | @TableField(value = "real_start_time", strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date realStartTime; |
| | | |
| | | |
| | | @TableField("real_end_time") |
| | | @TableField(value = "real_end_time", strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date realEndTime; |
| | | |
| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime); |
| | | } |
| | | |
| | | public String getStartTime0$(){ |
| | | if (Cools.isEmpty(this.startTime)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd").format(this.startTime); |
| | | } |
| | | |
| | | public void setStartTime(Date startTime) { |
| | | this.startTime = startTime; |
| | | } |
| | |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.endTime); |
| | | } |
| | | public String getEndTime0$(){ |
| | | if (Cools.isEmpty(this.endTime)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd").format(this.endTime); |
| | | } |
| | | |
| | | public void setEndTime(Date endTime) { |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | public String getRealStartTime0$(){ |
| | | if (!Cools.isEmpty(this.realStartTime)) { |
| | | return new SimpleDateFormat("yyyy-MM-dd").format(this.realStartTime); |
| | | }else { |
| | | return ""; |
| | | } |
| | | |
| | | } |
| | | |
| | | public String getRealEndTime$(){ |
| | | if (!Cools.isEmpty(this.realEndTime)) { |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.realEndTime); |
| | |
| | | return ""; |
| | | } |
| | | } |
| | | public String getRealEndTime0$(){ |
| | | if (!Cools.isEmpty(this.realEndTime)) { |
| | | return new SimpleDateFormat("yyyy-MM-dd").format(this.realEndTime); |
| | | }else { |
| | | return ""; |
| | | } |
| | | } |
| | | |
| | | public String getType$(){ |
| | | ProjectTypeService bean = SpringUtils.getBean(ProjectTypeService.class); |
| | | ProjectType id = bean.selectOne(new EntityWrapper<ProjectType>() |
| | |
| | | @NoArgsConstructor |
| | | public class ItemsDTO { |
| | | private String id; |
| | | private Date startDay; |
| | | private Date endDay; |
| | | private List<ProjectPlan> nodes; |
| | | private String startDay; |
| | | private String endDay; |
| | | private List<FlowsDTO> nodes; |
| | | } |
| | |
| | | package zy.cloud.wms.manager.entity; |
| | | |
| | | import com.baomidou.mybatisplus.enums.FieldStrategy; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.common.SpringUtils; |
| | |
| | | |
| | | @Data |
| | | @TableName("sys_project_plan") |
| | | |
| | | public class ProjectPlan implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | @ApiModelProperty(value= "项目ID") |
| | | @TableId(value = "item_id", type = IdType.INPUT) |
| | | @TableField("item_id") |
| | | |
| | | private Long itemId; |
| | | |
| | | /** |
| | |
| | | * 启动日期 |
| | | */ |
| | | @ApiModelProperty(value= "启动日期") |
| | | @TableField("start_time") |
| | | @TableField(value = "start_time",strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | |
| | | private Date startTime; |
| | | |
| | | /** |
| | | * 实际启动日期 |
| | | */ |
| | | @ApiModelProperty(value= "实际启动日期") |
| | | @TableField("real_start_time") |
| | | @TableField(value = "real_start_time", strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date realStartTime; |
| | | |
| | |
| | | * 结束日期 |
| | | */ |
| | | @ApiModelProperty(value= "结束日期") |
| | | @TableField("end_time") |
| | | @TableField(value = "end_time", strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date endTime; |
| | | |
| | |
| | | * 实际结束日期 |
| | | */ |
| | | @ApiModelProperty(value= "实际结束日期") |
| | | @TableField("real_end_time") |
| | | @TableField(value = "real_end_time", strategy = FieldStrategy.IGNORED) |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | private Date realEndTime; |
| | | |
| | |
| | | var t = null; |
| | | t = setTimeout(time,0); |
| | | function time() { |
| | | clearTimeout(t); |
| | | dt = new Date(); |
| | | var y = dt.getFullYear(); |
| | | var mt = dt.getMonth()+1; |
| | | var day = dt.getDate(); |
| | | var h = dt.getHours(); |
| | | var m = dt.getMinutes(); |
| | | var s = dt.getSeconds(); |
| | | document.getElementById('showTime').innerHTML = y+'年'+mt+'月'+day+'日'+h+'时'+m+'分'+s+'秒'; |
| | | t=setTimeout(time,1000); |
| | | } |
| | | |
| | | setInterval(function () { |
| | | let dt = new Date(); |
| | | var y = dt.getFullYear(); |
| | | var mt = dt.getMonth()+1; |
| | | var day = dt.getDate(); |
| | | var h = dt.getHours(); |
| | | var m = dt.getMinutes(); |
| | | var s = dt.getSeconds(); |
| | | document.getElementById('showTime').innerHTML =y+'年'+mt+'月'+day+'日'+h+'时'+m+'分'+s+'秒'; |
| | | }, 1000); |
| | |
| | | |
| | | // ,{field: 'member', align: 'center',title: '项目成员'} |
| | | // ,{field: 'leader', align: 'center',title: '项目经理'} |
| | | ,{field: 'startTime$', align: 'center',title: '计划开始时间', |
| | | templet : "<div>{{layui.util.toDateString(d.startTime$, 'yyyy-MM-dd')}}</div>" |
| | | } |
| | | ,{field: 'endTime$', align: 'center',title: '计划结束时间', |
| | | templet : "<div>{{layui.util.toDateString(d.endTime$, 'yyyy-MM-dd')}}</div>"} |
| | | ,{field: 'realStartTime$', align: 'center', title: '实际开始时间', |
| | | templet : "<div>{{layui.util.toDateString(d.realStartTime$, 'yyyy-MM-dd')}}</div>"} |
| | | ,{field: 'realEndTime$', align: 'center', title: '实际结束时间', |
| | | templet : "<div>{{layui.util.toDateString(d.realEndTime$, 'yyyy-MM-dd')}}</div>"} |
| | | ,{field: 'startTime0$', align: 'center',title: '计划开始时间'} |
| | | ,{field: 'endTime0$', align: 'center',title: '计划结束时间'} |
| | | ,{field: 'realStartTime0$', align: 'center', title: '实际开始时间'} |
| | | ,{field: 'realEndTime0$', align: 'center', title: '实际结束时间'} |
| | | ,{field: 'type$', align: 'center', title: '项目类型'} |
| | | ,{field: 'originArea', align: 'center', title: '生产地'} |
| | | ,{field: 'realMonth', align: 'center', title: '时间跨度(月)'} |
| | |
| | | statusCode: 200 |
| | | }, |
| | | done: function(res, curr, count) { |
| | | |
| | | console.log(res) |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | |
| | | title: (mData ? '修改' : '添加') + '项目信息', |
| | | content: $('#editDialog').html(), |
| | | success: function (layero, dIndex) { |
| | | layDateRender(); |
| | | layDateRender(mData); |
| | | form.val('detail', mData); |
| | | form.on('submit(editSubmit)', function (data) { |
| | | var loadIndex = layer.load(2); |
| | |
| | | }); |
| | | |
| | | // 时间选择器 |
| | | function layDateRender() { |
| | | function layDateRender(mData) { |
| | | console.log(mData) |
| | | setTimeout(function () { |
| | | layDate.render({ |
| | | elem: '#startTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | layDate.render({ |
| | | elem: '#endTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | layDate.render({ |
| | | elem: '#createTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | layDate.render({ |
| | | elem: '#updateTime\\$', |
| | | type: 'datetime' |
| | | }); |
| | | layDate.render({ |
| | | elem: '#realStartTime\\$' |
| | | ,type: 'datetime' |
| | | }); |
| | | layDate.render({ |
| | | elem: '#realEndTime\\$' |
| | | ,type: 'datetime' |
| | | }); |
| | | elem: '#startTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['startTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#realStartTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['realStartTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#endTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['endTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#realEndTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['realEndTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#createTime\\$', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['createTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#modifyTime\\$', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['modifyTime$']):null |
| | | }); |
| | | }, 500); |
| | | |
| | | } |
| | | layDateRender(); |
| | | |
| | |
| | | var items; |
| | | getItems(); |
| | | |
| | | |
| | | |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['table','laydate', 'form', 'admin'], function(){ |
| | |
| | | // 重置 |
| | | form.on('submit(reset)', function (data) { |
| | | pageCurr = 1; |
| | | clearFormVal($('#search-box')); |
| | | $('#mysearch').val(''); |
| | | tableReload(false); |
| | | }); |
| | | |
| | |
| | | function layDateRender(mData) { |
| | | setTimeout(function () { |
| | | layDate.render({ |
| | | elem: '#startTime\\$', |
| | | elem: '#startTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['startTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#realStartTime\\$', |
| | | elem: '#realStartTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['realStartTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#endTime\\$', |
| | | elem: '#endTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['endTime$']):null |
| | | }); |
| | | layDate.render({ |
| | | elem: '#realEndTime\\$', |
| | | elem: '#realEndTime', |
| | | type: 'datetime', |
| | | value: mData!==null&&mData!==undefined?strToDate(mData['realEndTime$']):null |
| | | }); |
| | |
| | | setTimeout(function(){ |
| | | getTheaddData() |
| | | |
| | | },500) |
| | | getThbodyData() |
| | | },0) |
| | | setInterval(function(){ |
| | | |
| | | getThbodyData() |
| | | |
| | | },500) |
| | | },50000) |
| | | |
| | | var proData = ["项目名称","开始时间","结束时间",] |
| | | var getTheaddData = function(){ |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">计划开始时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="startTime$" id="startTime$" placeholder="请输入计划开始时间" lay-vertype="tips" lay-verify="required"> |
| | | <input class="layui-input" name="startTime" id="startTime" placeholder="请输入计划开始时间" lay-vertype="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">实际开始时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="realStartTime$" id="realStartTime$" placeholder="请输入实际开始时间"> |
| | | <input class="layui-input" name="realStartTime" id="realStartTime" placeholder="请输入实际开始时间"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">实施周期(月): </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="realMonth" id="realMonth$" placeholder="填写数字月份" type="number"> |
| | | <input class="layui-input" name="realMonth" id="realMonth$" placeholder="填写数字月份" type="number" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">计划结束时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="endTime$" id="endTime$" placeholder="请输入计划结束时间" lay-vertype="tips" lay-verify="required"> |
| | | <input class="layui-input" name="endTime" id="endTime" placeholder="请输入计划结束时间" lay-vertype="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">实际结束时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="realEndTime$" id="realEndTime$" placeholder="请输入实际结束时间"> |
| | | <input class="layui-input" name="realEndTime" id="realEndTime" placeholder="请输入实际结束时间"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off">--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- <!– 待添加 –>--> |
| | | <!-- <div id="data-search-btn" class="layui-btn-container layui-form-item">--> |
| | | <!-- <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button>--> |
| | | <!-- <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button>--> |
| | | <!-- </div>--> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" id="mysearch" type="text" name="id" placeholder="编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">计划开始时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="startTime$" id="startTime$" placeholder="请输入计划开始时间"> |
| | | <input class="layui-input" name="startTime" id="startTime" placeholder="请输入计划开始时间"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">计划结束时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="endTime$" id="endTime$" placeholder="请输入计划结束时间"> |
| | | <input class="layui-input" name="endTime" id="endTime" placeholder="请输入计划结束时间"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">实际开始时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="realStartTime$" id="realStartTime$" placeholder="请输入实际开始时间"> |
| | | <input class="layui-input" name="realStartTime" id="realStartTime" placeholder="请输入实际开始时间"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">实际结束时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="realEndTime$" id="realEndTime$" placeholder="请输入实际结束时间"> |
| | | <input class="layui-input" name="realEndTime" id="realEndTime" placeholder="请输入实际结束时间"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">延期天数: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="delay" placeholder="请输入延期天数"> |
| | | <input class="layui-input" name="delay" placeholder="请输入延期天数" type="number" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | |
| | | </form> |
| | | </script> |
| | | <script type="text/template" id="parentNodeGroup"> |
| | | <option value="0">显示全部</option> |
| | | <option value="0" selected>显示全部</option> |
| | | {{#each data}} |
| | | <option value="{{this.key}}">{{this.val}}</option> |
| | | {{/each}} |