Commit 396baa0c by Java-曹文达

Merge branch 'develop' of D:\works\bpm with conflicts.

parent d2941c59
package com.bbd.bpm.bean;
import java.io.Serializable;
/**
* Created by yanlj on 2017/9/12.
*/
public class BtnBean implements Serializable {
private String btnKey;
private String btnValue;
public String getBtnKey() {
return btnKey;
}
public void setBtnKey(String btnKey) {
this.btnKey = btnKey;
}
public String getBtnValue() {
return btnValue;
}
public void setBtnValue(String btnValue) {
this.btnValue = btnValue;
}
}
package com.bbd.bpm.bean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* Created by yanlj on 2017/10/18.
*/
@ApiModel(value = "CommonRequest")
public class CommonRequest implements Serializable {
@ApiModelProperty(value = "签名", required = true)
private String sign;
@ApiModelProperty(value = "请求参数(json)")
private String content;
@ApiModelProperty(value = "时间戳", required = true)
private long timestamp;
@ApiModelProperty(value = "用户授权码", required = true)
private String userToken;
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
public String getUserToken() {
return userToken;
}
public void setUserToken(String userToken) {
this.userToken = userToken;
}
}
package com.bbd.bpm.bean;
/**
* Created by yanlj on 2017/9/7.
*/
public class OaException extends Exception {
public OaException() {
}
public OaException(String message) {
super(message);
}
public OaException(String message, Throwable cause) {
super(message, cause);
}
public OaException(Throwable cause) {
super(cause);
}
}
package com.bbd.bpm.bean;
import java.io.Serializable;
/**
* Created by yanlj on 2017/9/7.
*/
public class Response implements Serializable {
//状态
private String status;
//数据
private Object data;
private String message;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
package com.bbd.bpm.bean;
import java.io.Serializable;
/**
* Created by yanlj on 2017/10/19.
*/
public class WorkflowBtnBean implements Serializable {
private String taskId;
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
}
package com.bbd.bpm.constants;
/**
* Created by yanlj on 2017/9/7.
*/
public class CodeConstant {
/**
* 成功
*/
public static final String STATUS_CODE_2000 = "2000";//success
/**
* 工作流实例启动失败
*/
public static final String WORKFLOW_START_ERROR = "4000";
/**
* 上传文件格式错误
*/
public static final String FILE_EXT_NOT_ALLOWED = "4001";
/**
* 文件内容不对
*/
public static final String FILE_CONTENT_ERROR = "4002";
/**
* 文件不存在
*/
public static final String NO_FILE_UPLOADED = "4003";
/**
* 压缩包文件错误
*/
public static final String ZIP_FILE_IS_WRONG = "4004";
/**
* 查询个人待办失败
*/
public static final String WORKFLOW_GET_PERSONAL_TAK_ERROR = "4005";
/**
* 完成个人待办失败
*/
public static final String WORKFLOW_COMPLETE_TASK_ERROR = "4006";
/**
* 获取流程图信息失败
*/
public static final String WORKFLOW_TRACE_ERROR = "4007";
/**
* 删除流程定义失败
*/
public static final String WORKFLOW_DELETE_DEPLOY_ERROR = "4008";
/**
* 签收任务失败
*/
public static final String WORKFLOW_CLAIM_TASK_ERROR = "4009";
/**
* 流程部署失败
*/
public static final String WORKFLOW_UOLOAD_ERROR = "4010";
/**
* 撤回错误
*/
public static final String WORKFLOW_RECALLTASK_ERROR = "4011";
/**
* 流程实例删除失败
*/
public static final String PROCESS_INSTANCE_DELETE_ERROR = "4012";
/**
* 显示流程定义列表失败
*/
public static final String SHOW_DEPLOYMENT_LIST_ERROR = "4013";
/**
* 数据验证失败
*/
public static final String STATUS_CODE_302 = "302";
public static String message(String code) {
String message = "";
if (code.equals("2000")) {
message = "success";
}
return message;
}
}
...@@ -22,6 +22,15 @@ public class PendingTaskListBean { ...@@ -22,6 +22,15 @@ public class PendingTaskListBean {
private String name; private String name;
private String executionId;
public String getExecutionId() {
return executionId;
}
public void setExecutionId(String executionId) {
this.executionId = executionId;
}
public String getName() { public String getName() {
return name; return name;
......
package com.bbd.bpm.service; package com.bbd.bpm.service;
import com.bbd.bpm.bean.BtnBean;
import com.bbd.bpm.bean.CommonRequest;
import com.bbd.bpm.bean.OaException;
import com.bbd.bpm.dto.request.SpecialRequest; import com.bbd.bpm.dto.request.SpecialRequest;
import java.io.IOException; import java.io.IOException;
import java.util.List;
/** /**
* Created by yanlj on 2017/9/1. * Created by yanlj on 2017/9/1.
...@@ -26,4 +30,13 @@ public interface ActivitiService { ...@@ -26,4 +30,13 @@ public interface ActivitiService {
byte[] getProcessImage(SpecialRequest request); byte[] getProcessImage(SpecialRequest request);
byte[] getdeployMent(SpecialRequest request); byte[] getdeployMent(SpecialRequest request);
/**
* 查看下一节点可操作按钮
*
* @param request
* @return
*/
List<BtnBean> workflowButton(CommonRequest request) throws OaException;
} }
package com.bbd.bpm.serviceImpl; package com.bbd.bpm.serviceImpl;
import com.bbd.bpm.bean.BtnBean;
import com.bbd.bpm.bean.CommonRequest;
import com.bbd.bpm.bean.OaException;
import com.bbd.bpm.dto.request.SpecialRequest; import com.bbd.bpm.dto.request.SpecialRequest;
import com.bbd.bpm.service.ActivitiService; import com.bbd.bpm.service.ActivitiService;
import org.activiti.bpmn.model.BpmnModel; import org.activiti.bpmn.model.*;
import org.activiti.engine.*; import org.activiti.engine.*;
import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl; import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.activiti.engine.impl.context.Context; import org.activiti.engine.impl.context.Context;
...@@ -11,7 +14,6 @@ import org.activiti.engine.runtime.Execution; ...@@ -11,7 +14,6 @@ import org.activiti.engine.runtime.Execution;
import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task; import org.activiti.engine.task.Task;
import org.activiti.image.ProcessDiagramGenerator; import org.activiti.image.ProcessDiagramGenerator;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -135,5 +137,59 @@ public class ActivitiServiceImpl implements ActivitiService { ...@@ -135,5 +137,59 @@ public class ActivitiServiceImpl implements ActivitiService {
return null; return null;
} }
@Override
public List<BtnBean> workflowButton(CommonRequest request) throws OaException {
List<BtnBean> buttons = new ArrayList<>();
/* if (StringUtils.isNotBlank(request.getContent())) {
WorkflowBtnBean workflowBtnBean = JSONObject.parseObject(request.getContent(), WorkflowBtnBean.class);
RepositoryServiceImpl repositoryServiceImpl = (RepositoryServiceImpl) repositoryService;
Task task = taskService.createTaskQuery().taskId(workflowBtnBean.getTaskId()).singleResult();
ReadOnlyProcessDefinition definition = repositoryServiceImpl.getDeployedProcessDefinition(task.getProcessDefinitionId());
ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) definition;
ActivityImpl activity = processDefinitionEntity.findActivity(task.getTaskDefinitionKey());
BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
List<PvmTransition> outgoingTransitions = activity.getOutgoingTransitions();
if (outgoingTransitions != null && outgoingTransitions.size() > 0) {
for (PvmTransition transition : outgoingTransitions) {
FlowElement flowElement = bpmnModel.getFlowElement(transition.getDestination().getId());
if (flowElement instanceof ExclusiveGateway) {
System.out.println("ExclusiveGateway");
List<SequenceFlow> outgoingFlows = ((ExclusiveGateway) flowElement).getOutgoingFlows();
for (SequenceFlow sequenceFlow : outgoingFlows) {
if (sequenceFlow.getConditionExpression().contains("chooseWay.checkString")) {
if (StringUtils.isNotBlank(sequenceFlow.getName())) {
BtnBean btn = new BtnBean();
btn.setBtnKey(sequenceFlow.getName());
btn.setBtnValue(sequenceFlow.getId());
buttons.add(btn);
}
}
}
}
if (flowElement instanceof UserTask) {
if (StringUtils.isNotBlank(flowElement.getName())) {
BtnBean btn = new BtnBean();
btn.setBtnValue(flowElement.getName());
btn.setBtnKey(flowElement.getName());
buttons.add(btn);
} else {
BtnBean btn = new BtnBean();
btn.setBtnValue("提交");
btn.setBtnKey("提交");
buttons.add(btn);
}
}
if (flowElement instanceof EndEvent) {
BtnBean btn = new BtnBean();
btn.setBtnValue("结束");
btn.setBtnKey("结束");
buttons.add(btn);
}
}
}
}*/
return buttons;
}
} }
...@@ -78,8 +78,9 @@ public class WebController { ...@@ -78,8 +78,9 @@ public class WebController {
* @return * @return
**/ **/
@GetMapping(value = "toAppRoValDeail") @GetMapping(value = "toAppRoValDeail")
public String toAppRoValDeail(ModelMap modelMap, Integer taskId){ public String toAppRoValDeail(ModelMap modelMap, Integer taskId,String executionId){
modelMap.addAttribute("taskId",taskId); modelMap.addAttribute("taskId",taskId);
modelMap.addAttribute("executionId",executionId);
return "deployment/approvalDeail"; return "deployment/approvalDeail";
} }
......
#端口 #端口
server.port=8081 server.port=8087
#这个是数据库配置 #这个是数据库配置
spring.datasource-url=jdbc:mysql://106.75.97.50:3306/test?characterEncoding=UTF-8&autoReconnect=true spring.datasource-url=jdbc:mysql://106.75.97.50:3306/test?characterEncoding=UTF-8&autoReconnect=true
spring.datasource-username=airuser spring.datasource-username=airuser
......
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<process id="second_approve" name="二级审批流程" isExecutable="true">
<startEvent id="startEvent" name="开始"></startEvent>
<userTask id="submitForm" name="填写审批信息">
<extensionElements>
<activiti:formProperty id="message" name="申请信息" type="string" required="true"></activiti:formProperty>
<activiti:formProperty id="name" name="申请人名称" type="string" required="true"></activiti:formProperty>
<activiti:formProperty id="submitTime" name="提交时间" type="date" datePattern="yyyy-MM-dd" required="true"></activiti:formProperty>
<activiti:formProperty id="submitType" name="确认申请" type="string" required="true"></activiti:formProperty>
</extensionElements>
</userTask>
<sequenceFlow id="flow1" sourceRef="startEvent" targetRef="submitForm"></sequenceFlow>
<exclusiveGateway id="decideSubmit" name="提交OR取消"></exclusiveGateway>
<userTask id="tl_approve" name="主管审批">
<extensionElements>
<activiti:formProperty id="tlApprove" name="主管审批结果" type="string" required="true"></activiti:formProperty>
<activiti:formProperty id="tlMessage" name="主管备注" type="string" required="true"></activiti:formProperty>
</extensionElements>
</userTask>
<exclusiveGateway id="decideTLApprove" name="主管审批校验"></exclusiveGateway>
<sequenceFlow id="flow4" sourceRef="tl_approve" targetRef="decideTLApprove"></sequenceFlow>
<userTask id="hr_approve" name="人事审批">
<extensionElements>
<activiti:formProperty id="hrApprove" name="人事审批结果" type="string" required="true"></activiti:formProperty>
<activiti:formProperty id="hrMessage" name="人事备注" type="string" required="true"></activiti:formProperty>
</extensionElements>
</userTask>
<exclusiveGateway id="decideHRApprove" name="人事审批校验"></exclusiveGateway>
<sequenceFlow id="flow6" sourceRef="hr_approve" targetRef="decideHRApprove"></sequenceFlow>
<endEvent id="EndEvent" name="结束"></endEvent>
<sequenceFlow id="flow7" sourceRef="decideHRApprove" targetRef="EndEvent">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${hrApprove=="y" || hrApprove=="Y"}]]></conditionExpression>
</sequenceFlow>
<endEvent id="endEventCancel" name="取消"></endEvent>
<sequenceFlow id="flow10" sourceRef="decideHRApprove" targetRef="submitForm">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${hrApprove=="n" || hrApprove=="N"}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow11" sourceRef="decideSubmit" targetRef="endEventCancel">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${submitType=="n" || submitType=="n"}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow12" sourceRef="decideSubmit" targetRef="tl_approve">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${submitType=="y" || submitType=="Y"}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow13" sourceRef="submitForm" targetRef="decideSubmit"></sequenceFlow>
<sequenceFlow id="flow14" sourceRef="decideTLApprove" targetRef="submitForm">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${tlApprove=="n" || tlApprove=="N"}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow15" sourceRef="decideTLApprove" targetRef="hr_approve">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${tlApprove=="y" || tlApprove=="Y"}]]></conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_second_approve">
<bpmndi:BPMNPlane bpmnElement="second_approve" id="BPMNPlane_second_approve">
<bpmndi:BPMNShape bpmnElement="startEvent" id="BPMNShape_startEvent">
<omgdc:Bounds height="35.0" width="35.0" x="40.0" y="170.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="submitForm" id="BPMNShape_submitForm">
<omgdc:Bounds height="55.0" width="105.0" x="120.0" y="160.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="decideSubmit" id="BPMNShape_decideSubmit">
<omgdc:Bounds height="40.0" width="40.0" x="270.0" y="168.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="tl_approve" id="BPMNShape_tl_approve">
<omgdc:Bounds height="55.0" width="105.0" x="355.0" y="161.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="decideTLApprove" id="BPMNShape_decideTLApprove">
<omgdc:Bounds height="40.0" width="40.0" x="505.0" y="169.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="hr_approve" id="BPMNShape_hr_approve">
<omgdc:Bounds height="55.0" width="105.0" x="590.0" y="162.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="decideHRApprove" id="BPMNShape_decideHRApprove">
<omgdc:Bounds height="40.0" width="40.0" x="740.0" y="170.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="EndEvent" id="BPMNShape_EndEvent">
<omgdc:Bounds height="35.0" width="35.0" x="825.0" y="173.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endEventCancel" id="BPMNShape_endEventCancel">
<omgdc:Bounds height="35.0" width="35.0" x="390.0" y="240.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="75.0" y="187.0"></omgdi:waypoint>
<omgdi:waypoint x="120.0" y="187.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
<omgdi:waypoint x="460.0" y="188.0"></omgdi:waypoint>
<omgdi:waypoint x="505.0" y="189.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
<omgdi:waypoint x="695.0" y="189.0"></omgdi:waypoint>
<omgdi:waypoint x="740.0" y="190.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
<omgdi:waypoint x="780.0" y="190.0"></omgdi:waypoint>
<omgdi:waypoint x="825.0" y="190.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
<omgdi:waypoint x="780.0" y="190.0"></omgdi:waypoint>
<omgdi:waypoint x="760.0" y="170.0"></omgdi:waypoint>
<omgdi:waypoint x="758.0" y="98.0"></omgdi:waypoint>
<omgdi:waypoint x="480.0" y="99.0"></omgdi:waypoint>
<omgdi:waypoint x="328.0" y="98.0"></omgdi:waypoint>
<omgdi:waypoint x="172.0" y="98.0"></omgdi:waypoint>
<omgdi:waypoint x="172.0" y="160.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
<omgdi:waypoint x="290.0" y="208.0"></omgdi:waypoint>
<omgdi:waypoint x="290.0" y="257.0"></omgdi:waypoint>
<omgdi:waypoint x="390.0" y="257.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
<omgdi:waypoint x="310.0" y="188.0"></omgdi:waypoint>
<omgdi:waypoint x="355.0" y="188.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
<omgdi:waypoint x="225.0" y="187.0"></omgdi:waypoint>
<omgdi:waypoint x="270.0" y="188.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
<omgdi:waypoint x="525.0" y="209.0"></omgdi:waypoint>
<omgdi:waypoint x="524.0" y="290.0"></omgdi:waypoint>
<omgdi:waypoint x="356.0" y="291.0"></omgdi:waypoint>
<omgdi:waypoint x="172.0" y="290.0"></omgdi:waypoint>
<omgdi:waypoint x="172.0" y="215.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
<omgdi:waypoint x="545.0" y="189.0"></omgdi:waypoint>
<omgdi:waypoint x="590.0" y="189.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
var $lang={
errAlertMsg: "Invalid date or the date out of range,redo or not?",
aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"],
clearStr: "Clear",
todayStr: "Today",
okStr: "OK",
updateStr: "OK",
timeStr: "Time",
quickStr: "Quick Selection",
err_1: 'MinDate Cannot be bigger than MaxDate!'
}
\ No newline at end of file
var $lang={
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
clearStr: "\u6E05\u7A7A",
todayStr: "\u4ECA\u5929",
okStr: "\u786E\u5B9A",
updateStr: "\u786E\u5B9A",
timeStr: "\u65F6\u95F4",
quickStr: "\u5FEB\u901F\u9009\u62E9",
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
}
\ No newline at end of file
var $lang={
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?",
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
clearStr: "\u6E05\u7A7A",
todayStr: "\u4ECA\u5929",
okStr: "\u78BA\u5B9A",
updateStr: "\u78BA\u5B9A",
timeStr: "\u6642\u9593",
quickStr: "\u5FEB\u901F\u9078\u64C7",
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!'
}
\ No newline at end of file
.Wdate{
border:#999 1px solid;
height:20px;
background:#fff url(datePicker.gif) no-repeat right;
}
.Wdate::-ms-clear{display:none;}
.WdateFmtErr{
font-weight:bold;
color:red;
}
\ No newline at end of file
/*
* My97 DatePicker 4.8
*/
.WdateDiv{
width:180px;
background-color:#FFFFFF;
border:#bbb 1px solid;
padding:2px;
}
.WdateDiv2{
width:360px;
}
.WdateDiv *{font-size:9pt;}
.WdateDiv .NavImg a{
display:block;
cursor:pointer;
height:16px;
width:16px;
}
.WdateDiv .NavImgll a{
float:left;
background:transparent url(img.gif) no-repeat scroll 0 0;
}
.WdateDiv .NavImgl a{
float:left;
background:transparent url(img.gif) no-repeat scroll -16px 0;
}
.WdateDiv .NavImgr a{
float:right;
background:transparent url(img.gif) no-repeat scroll -32px 0;
}
.WdateDiv .NavImgrr a{
float:right;
background:transparent url(img.gif) no-repeat scroll -48px 0;
}
.WdateDiv #dpTitle{
height:24px;
margin-bottom:2px;
padding:1px;
}
.WdateDiv .yminput{
margin-top:2px;
text-align:center;
height:20px;
border:0px;
width:50px;
cursor:pointer;
}
.WdateDiv .yminputfocus{
margin-top:2px;
text-align:center;
font-weight:bold;
height:20px;
color:blue;
border:#ccc 1px solid;
width:50px;
}
.WdateDiv .menuSel{
z-index:1;
position:absolute;
background-color:#FFFFFF;
border:#ccc 1px solid;
display:none;
}
.WdateDiv .menu{
cursor:pointer;
background-color:#fff;
}
.WdateDiv .menuOn{
cursor:pointer;
background-color:#BEEBEE;
}
.WdateDiv .invalidMenu{
color:#aaa;
}
.WdateDiv .YMenu{
margin-top:20px;
}
.WdateDiv .MMenu{
margin-top:20px;
*width:62px;
}
.WdateDiv .hhMenu{
margin-top:-90px;
margin-left:26px;
}
.WdateDiv .mmMenu{
margin-top:-46px;
margin-left:26px;
}
.WdateDiv .ssMenu{
margin-top:-24px;
margin-left:26px;
}
.WdateDiv .Wweek {
text-align:center;
background:#DAF3F5;
border-right:#BDEBEE 1px solid;
}
.WdateDiv .MTitle{
background-color:#BDEBEE;
}
.WdateDiv .WdayTable2{
border-collapse:collapse;
border:#c5d9e8 1px solid;
}
.WdateDiv .WdayTable2 table{
border:0;
}
.WdateDiv .WdayTable{
line-height:20px;
border:#c5d9e8 1px solid;
}
.WdateDiv .WdayTable td{
text-align:center;
}
.WdateDiv .Wday{
cursor:pointer;
}
.WdateDiv .WdayOn{
cursor:pointer;
background-color:#C0EBEF;
}
.WdateDiv .Wwday{
cursor:pointer;
color:#FF2F2F;
}
.WdateDiv .WwdayOn{
cursor:pointer;
color:#000;
background-color:#C0EBEF;
}
.WdateDiv .Wtoday{
cursor:pointer;
color:blue;
}
.WdateDiv .Wselday{
background-color:#A9E4E9;
}
.WdateDiv .WspecialDay{
background-color:#66F4DF;
}
.WdateDiv .WotherDay{
cursor:pointer;
color:#6A6AFF;
}
.WdateDiv .WotherDayOn{
cursor:pointer;
background-color:#C0EBEF;
}
.WdateDiv .WinvalidDay{
color:#aaa;
}
.WdateDiv #dpTime{
float:left;
margin-top:3px;
margin-right:30px;
}
.WdateDiv #dpTime #dpTimeStr{
margin-left:1px;
}
.WdateDiv #dpTime input{
width:18px;
height:20px;
text-align:center;
border:#ccc 1px solid;
}
.WdateDiv #dpTime .tB{
border-right:0px;
}
.WdateDiv #dpTime .tE{
border-left:0;
border-right:0;
}
.WdateDiv #dpTime .tm{
width:7px;
border-left:0;
border-right:0;
}
.WdateDiv #dpTime #dpTimeUp{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -32px -16px;
}
.WdateDiv #dpTime #dpTimeDown{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -48px -16px;
}
.WdateDiv #dpQS {
float:left;
margin-right:3px;
margin-top:3px;
background:url(img.gif) no-repeat 0px -16px;
width:20px;
height:20px;
cursor:pointer;
}
.WdateDiv #dpControl {
text-align:right;
}
.WdateDiv .dpButton{
height:20px;
width:45px;
border:#ccc 1px solid;
margin-top:2px;
margin-right:1px;
}
\ No newline at end of file
/*
* My97 DatePicker 4.8 Skin:whyGreen
*/
.WdateDiv{
width:180px;
background-color:#fff;
border:#C5E1E4 1px solid;
padding:2px;
}
.WdateDiv2{
width:360px;
}
.WdateDiv *{font-size:9pt;}
.WdateDiv .NavImg a{
cursor:pointer;
display:block;
width:16px;
height:16px;
margin-top:1px;
}
.WdateDiv .NavImgll a{
float:left;
background:url(img.gif) no-repeat;
}
.WdateDiv .NavImgl a{
float:left;
background:url(img.gif) no-repeat -16px 0px;
}
.WdateDiv .NavImgr a{
float:right;
background:url(img.gif) no-repeat -32px 0px;
}
.WdateDiv .NavImgrr a{
float:right;
background:url(img.gif) no-repeat -48px 0px;
}
.WdateDiv #dpTitle{
height:24px;
padding:1px;
border:#c5d9e8 1px solid;
background:url(bg.jpg);
margin-bottom:2px;
}
.WdateDiv .yminput{
margin-top:2px;
text-align:center;
border:0px;
height:20px;
width:50px;
color:#034c50;
background-color:transparent;
cursor:pointer;
}
.WdateDiv .yminputfocus{
margin-top:2px;
text-align:center;
border:#939393 1px solid;
font-weight:bold;
color:#034c50;
height:20px;
width:50px;
}
.WdateDiv .menuSel{
z-index:1;
position:absolute;
background-color:#FFFFFF;
border:#A3C6C8 1px solid;
display:none;
}
.WdateDiv .menu{
cursor:pointer;
background-color:#fff;
color:#11777C;
}
.WdateDiv .menuOn{
cursor:pointer;
background-color:#BEEBEE;
}
.WdateDiv .invalidMenu{
color:#aaa;
}
.WdateDiv .YMenu{
margin-top:20px;
}
.WdateDiv .MMenu{
margin-top:20px;
*width:62px;
}
.WdateDiv .hhMenu{
margin-top:-90px;
margin-left:26px;
}
.WdateDiv .mmMenu{
margin-top:-46px;
margin-left:26px;
}
.WdateDiv .ssMenu{
margin-top:-24px;
margin-left:26px;
}
.WdateDiv .Wweek {
text-align:center;
background:#DAF3F5;
border-right:#BDEBEE 1px solid;
}
.WdateDiv .MTitle{
color:#13777e;
background-color:#bdebee;
}
.WdateDiv .WdayTable2{
border-collapse:collapse;
border:#BEE9F0 1px solid;
}
.WdateDiv .WdayTable2 table{
border:0;
}
.WdateDiv .WdayTable{
line-height:20px;
color:#13777e;
background-color:#edfbfb;
border:#BEE9F0 1px solid;
}
.WdateDiv .WdayTable td{
text-align:center;
}
.WdateDiv .Wday{
cursor:pointer;
}
.WdateDiv .WdayOn{
cursor:pointer;
background-color:#74d2d9 ;
}
.WdateDiv .Wwday{
cursor:pointer;
color:#ab1e1e;
}
.WdateDiv .WwdayOn{
cursor:pointer;
background-color:#74d2d9;
}
.WdateDiv .Wtoday{
cursor:pointer;
color:blue;
}
.WdateDiv .Wselday{
background-color:#A7E2E7;
}
.WdateDiv .WspecialDay{
background-color:#66F4DF;
}
.WdateDiv .WotherDay{
cursor:pointer;
color:#0099CC;
}
.WdateDiv .WotherDayOn{
cursor:pointer;
background-color:#C0EBEF;
}
.WdateDiv .WinvalidDay{
color:#aaa;
}
.WdateDiv #dpTime{
float:left;
margin-top:3px;
margin-right:30px;
}
.WdateDiv #dpTime #dpTimeStr{
margin-left:1px;
color:#497F7F;
}
.WdateDiv #dpTime input{
height:20px;
width:18px;
text-align:center;
color:#333;
border:#61CAD0 1px solid;
}
.WdateDiv #dpTime .tB{
border-right:0px;
}
.WdateDiv #dpTime .tE{
border-left:0;
border-right:0;
}
.WdateDiv #dpTime .tm{
width:7px;
border-left:0;
border-right:0;
}
.WdateDiv #dpTime #dpTimeUp{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -32px -16px;
}
.WdateDiv #dpTime #dpTimeDown{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -48px -16px;
}
.WdateDiv #dpQS {
float:left;
margin-right:3px;
margin-top:3px;
background:url(img.gif) no-repeat 0px -16px;
width:20px;
height:20px;
cursor:pointer;
}
.WdateDiv #dpControl {
text-align:right;
margin-top:3px;
}
.WdateDiv .dpButton{
height:20px;
width:45px;
margin-top:2px;
border:#38B1B9 1px solid;
background-color:#CFEBEE;
color:#08575B;
}
\ No newline at end of file
var $lang={ ++ /dev/null
var $lang={
errAlertMsg: "Invalid date or the date out of range,redo or not?",
aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"],
clearStr: "Clear",
todayStr: "Today",
okStr: "OK",
updateStr: "OK",
timeStr: "Time",
quickStr: "Quick Selection",
err_1: 'MinDate Cannot be bigger than MaxDate!'
}
\ No newline at end of file
var $lang={ ++ /dev/null
var $lang={
errAlertMsg: "不合法的日期格式或者日期超出限定范围,需要撤销吗?",
aWeekStr: ["周","日","一","二","三","四","五","六"],
aLongWeekStr:["周","星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
aMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一","十二"],
aLongMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
clearStr: "清空",
todayStr: "今天",
okStr: "确定",
updateStr: "确定",
timeStr: "时间",
quickStr: "快速选择",
err_1: '最小日期不能大于最大日期!'
}
\ No newline at end of file
var $lang={ ++ /dev/null
var $lang={
errAlertMsg: "不合法的日期格式或者日期超出限定範圍,需要撤銷嗎?",
aWeekStr: ["周","日","一","二","三","四","五","六"],
aLongWeekStr:["周","星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
aMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一","十二"],
aLongMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
clearStr: "清空",
todayStr: "今天",
okStr: "確定",
updateStr: "確定",
timeStr: "時間",
quickStr: "快速選擇",
err_1: '最小日期不能大於最大日期!'
}
\ No newline at end of file
正式发布时,可将此文件夹删去 ++ /dev/null
正式发布时,可将此文件夹删去
.Wdate{ ++ /dev/null
.Wdate{
border:#999 1px solid;
height:20px;
background:#fff url(datePicker.gif) no-repeat right;
}
.Wdate::-ms-clear{display:none;}
.WdateFmtErr{
font-weight:bold;
color:red;
}
\ No newline at end of file
/* ++ /dev/null
/*
* My97 DatePicker 4.8
* 皮肤名称:default
*/
/* 日期选择容器 DIV */
.WdateDiv{
width:180px;
background-color:#FFFFFF;
border:#bbb 1px solid;
padding:2px;
}
/* 双月日历的宽度 */
.WdateDiv2{
width:360px;
}
.WdateDiv *{font-size:9pt;}
/****************************
* 导航图标 全部是A标签
***************************/
.WdateDiv .NavImg a{
display:block;
cursor:pointer;
height:16px;
width:16px;
}
.WdateDiv .NavImgll a{
float:left;
background:transparent url(img.gif) no-repeat scroll 0 0;
}
.WdateDiv .NavImgl a{
float:left;
background:transparent url(img.gif) no-repeat scroll -16px 0;
}
.WdateDiv .NavImgr a{
float:right;
background:transparent url(img.gif) no-repeat scroll -32px 0;
}
.WdateDiv .NavImgrr a{
float:right;
background:transparent url(img.gif) no-repeat scroll -48px 0;
}
/****************************
* 年份月份相关
***************************/
/* 年份月份栏 DIV */
.WdateDiv #dpTitle{
height:24px;
margin-bottom:2px;
padding:1px;
}
/* 年份月份输入框 INPUT */
.WdateDiv .yminput{
margin-top:2px;
text-align:center;
height:20px;
border:0px;
width:50px;
cursor:pointer;
}
/* 年份月份输入框获得焦点时的样式 INPUT */
.WdateDiv .yminputfocus{
margin-top:2px;
text-align:center;
font-weight:bold;
height:20px;
color:blue;
border:#ccc 1px solid;
width:50px;
}
/* 菜单选择框 DIV */
.WdateDiv .menuSel{
z-index:1;
position:absolute;
background-color:#FFFFFF;
border:#ccc 1px solid;
display:none;
}
/* 菜单的样式 TD */
.WdateDiv .menu{
cursor:pointer;
background-color:#fff;
}
/* 菜单的mouseover样式 TD */
.WdateDiv .menuOn{
cursor:pointer;
background-color:#BEEBEE;
}
/* 菜单无效时的样式 TD */
.WdateDiv .invalidMenu{
color:#aaa;
}
/* 年选择框的偏移 DIV */
.WdateDiv .YMenu{
margin-top:20px;
}
/* 月选择框的偏移 DIV */
.WdateDiv .MMenu{
margin-top:20px;
*width:62px;
}
/* 时选择框的位置 DIV */
.WdateDiv .hhMenu{
margin-top:-90px;
margin-left:26px;
}
/* 分选择框的位置 DIV */
.WdateDiv .mmMenu{
margin-top:-46px;
margin-left:26px;
}
/* 秒选择框的位置 DIV */
.WdateDiv .ssMenu{
margin-top:-24px;
margin-left:26px;
}
/****************************
* 周相关
***************************/
.WdateDiv .Wweek {
text-align:center;
background:#DAF3F5;
border-right:#BDEBEE 1px solid;
}
/****************************
* 星期,日期相关
***************************/
/* 星期栏 TR */
.WdateDiv .MTitle{
background-color:#BDEBEE;
}
.WdateDiv .WdayTable2{
border-collapse:collapse;
border:#c5d9e8 1px solid;
}
.WdateDiv .WdayTable2 table{
border:0;
}
/* 日期栏表格 TABLE */
.WdateDiv .WdayTable{
line-height:20px;
border:#c5d9e8 1px solid;
}
.WdateDiv .WdayTable td{
text-align:center;
}
/* 日期格的样式 TD */
.WdateDiv .Wday{
cursor:pointer;
}
/* 日期格的mouseover样式 TD */
.WdateDiv .WdayOn{
cursor:pointer;
background-color:#C0EBEF;
}
/* 周末日期格的样式 TD */
.WdateDiv .Wwday{
cursor:pointer;
color:#FF2F2F;
}
/* 周末日期格的mouseover样式 TD */
.WdateDiv .WwdayOn{
cursor:pointer;
color:#000;
background-color:#C0EBEF;
}
.WdateDiv .Wtoday{
cursor:pointer;
color:blue;
}
.WdateDiv .Wselday{
background-color:#A9E4E9;
}
.WdateDiv .WspecialDay{
background-color:#66F4DF;
}
/* 其他月份的日期 */
.WdateDiv .WotherDay{
cursor:pointer;
color:#6A6AFF;
}
/* 其他月份的日期mouseover样式 */
.WdateDiv .WotherDayOn{
cursor:pointer;
background-color:#C0EBEF;
}
/* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
.WdateDiv .WinvalidDay{
color:#aaa;
}
/****************************
* 时间相关
***************************/
/* 时间栏 DIV */
.WdateDiv #dpTime{
float:left;
margin-top:3px;
margin-right:30px;
}
/* 时间文字 SPAN */
.WdateDiv #dpTime #dpTimeStr{
margin-left:1px;
}
/* 时间输入框 INPUT */
.WdateDiv #dpTime input{
width:18px;
height:20px;
text-align:center;
border:#ccc 1px solid;
}
/* 时间 时 INPUT */
.WdateDiv #dpTime .tB{
border-right:0px;
}
/* 时间 分和间隔符 ':' INPUT */
.WdateDiv #dpTime .tE{
border-left:0;
border-right:0;
}
/* 时间 秒 INPUT */
.WdateDiv #dpTime .tm{
width:7px;
border-left:0;
border-right:0;
}
/* 时间右边的向上按钮 BUTTON */
.WdateDiv #dpTime #dpTimeUp{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -32px -16px;
}
/* 时间右边的向下按钮 BUTTON */
.WdateDiv #dpTime #dpTimeDown{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -48px -16px;
}
/****************************
* 其他
***************************/
.WdateDiv #dpQS {
float:left;
margin-right:3px;
margin-top:3px;
background:url(img.gif) no-repeat 0px -16px;
width:20px;
height:20px;
cursor:pointer;
}
.WdateDiv #dpControl {
text-align:right;
}
.WdateDiv .dpButton{
height:20px;
width:45px;
border:#ccc 1px solid;
margin-top:2px;
margin-right:1px;
}
\ No newline at end of file
/* ++ /dev/null
/*
* My97 DatePicker 4.8
* 皮肤名称:whyGreen
*/
/* 日期选择容器 DIV */
.WdateDiv{
width:180px;
background-color:#fff;
border:#C5E1E4 1px solid;
padding:2px;
}
/* 双月日历的宽度 */
.WdateDiv2{
width:360px;
}
.WdateDiv *{font-size:9pt;}
/****************************
* 导航图标 全部是A标签
***************************/
.WdateDiv .NavImg a{
cursor:pointer;
display:block;
width:16px;
height:16px;
margin-top:1px;
}
.WdateDiv .NavImgll a{
float:left;
background:url(img.gif) no-repeat;
}
.WdateDiv .NavImgl a{
float:left;
background:url(img.gif) no-repeat -16px 0px;
}
.WdateDiv .NavImgr a{
float:right;
background:url(img.gif) no-repeat -32px 0px;
}
.WdateDiv .NavImgrr a{
float:right;
background:url(img.gif) no-repeat -48px 0px;
}
/****************************
* 年份月份相关
***************************/
/* 年份月份栏 DIV */
.WdateDiv #dpTitle{
height:24px;
padding:1px;
border:#c5d9e8 1px solid;
background:url(bg.jpg);
margin-bottom:2px;
}
/* 年份月份输入框 INPUT */
.WdateDiv .yminput{
margin-top:2px;
text-align:center;
border:0px;
height:20px;
width:50px;
color:#034c50;
background-color:transparent;
cursor:pointer;
}
/* 年份月份输入框获得焦点时的样式 INPUT */
.WdateDiv .yminputfocus{
margin-top:2px;
text-align:center;
border:#939393 1px solid;
font-weight:bold;
color:#034c50;
height:20px;
width:50px;
}
/* 菜单选择框 DIV */
.WdateDiv .menuSel{
z-index:1;
position:absolute;
background-color:#FFFFFF;
border:#A3C6C8 1px solid;
display:none;
}
/* 菜单的样式 TD */
.WdateDiv .menu{
cursor:pointer;
background-color:#fff;
color:#11777C;
}
/* 菜单的mouseover样式 TD */
.WdateDiv .menuOn{
cursor:pointer;
background-color:#BEEBEE;
}
/* 菜单无效时的样式 TD */
.WdateDiv .invalidMenu{
color:#aaa;
}
/* 年选择框的偏移 DIV */
.WdateDiv .YMenu{
margin-top:20px;
}
/* 月选择框的偏移 DIV */
.WdateDiv .MMenu{
margin-top:20px;
*width:62px;
}
/* 时选择框的位置 DIV */
.WdateDiv .hhMenu{
margin-top:-90px;
margin-left:26px;
}
/* 分选择框的位置 DIV */
.WdateDiv .mmMenu{
margin-top:-46px;
margin-left:26px;
}
/* 秒选择框的位置 DIV */
.WdateDiv .ssMenu{
margin-top:-24px;
margin-left:26px;
}
/****************************
* 周相关
***************************/
.WdateDiv .Wweek {
text-align:center;
background:#DAF3F5;
border-right:#BDEBEE 1px solid;
}
/****************************
* 星期,日期相关
***************************/
/* 星期栏 TR */
.WdateDiv .MTitle{
color:#13777e;
background-color:#bdebee;
}
.WdateDiv .WdayTable2{
border-collapse:collapse;
border:#BEE9F0 1px solid;
}
.WdateDiv .WdayTable2 table{
border:0;
}
/* 日期栏表格 TABLE */
.WdateDiv .WdayTable{
line-height:20px;
color:#13777e;
background-color:#edfbfb;
border:#BEE9F0 1px solid;
}
.WdateDiv .WdayTable td{
text-align:center;
}
/* 日期格的样式 TD */
.WdateDiv .Wday{
cursor:pointer;
}
/* 日期格的mouseover样式 TD */
.WdateDiv .WdayOn{
cursor:pointer;
background-color:#74d2d9 ;
}
/* 周末日期格的样式 TD */
.WdateDiv .Wwday{
cursor:pointer;
color:#ab1e1e;
}
/* 周末日期格的mouseover样式 TD */
.WdateDiv .WwdayOn{
cursor:pointer;
background-color:#74d2d9;
}
.WdateDiv .Wtoday{
cursor:pointer;
color:blue;
}
.WdateDiv .Wselday{
background-color:#A7E2E7;
}
.WdateDiv .WspecialDay{
background-color:#66F4DF;
}
/* 其他月份的日期 */
.WdateDiv .WotherDay{
cursor:pointer;
color:#0099CC;
}
/* 其他月份的日期mouseover样式 */
.WdateDiv .WotherDayOn{
cursor:pointer;
background-color:#C0EBEF;
}
/* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
.WdateDiv .WinvalidDay{
color:#aaa;
}
/****************************
* 时间相关
***************************/
/* 时间栏 DIV */
.WdateDiv #dpTime{
float:left;
margin-top:3px;
margin-right:30px;
}
/* 时间文字 SPAN */
.WdateDiv #dpTime #dpTimeStr{
margin-left:1px;
color:#497F7F;
}
/* 时间输入框 INPUT */
.WdateDiv #dpTime input{
height:20px;
width:18px;
text-align:center;
color:#333;
border:#61CAD0 1px solid;
}
/* 时间 时 INPUT */
.WdateDiv #dpTime .tB{
border-right:0px;
}
/* 时间 分和间隔符 ':' INPUT */
.WdateDiv #dpTime .tE{
border-left:0;
border-right:0;
}
/* 时间 秒 INPUT */
.WdateDiv #dpTime .tm{
width:7px;
border-left:0;
border-right:0;
}
/* 时间右边的向上按钮 BUTTON */
.WdateDiv #dpTime #dpTimeUp{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -32px -16px;
}
/* 时间右边的向下按钮 BUTTON */
.WdateDiv #dpTime #dpTimeDown{
height:10px;
width:13px;
border:0px;
background:url(img.gif) no-repeat -48px -16px;
}
/****************************
* 其他
***************************/
.WdateDiv #dpQS {
float:left;
margin-right:3px;
margin-top:3px;
background:url(img.gif) no-repeat 0px -16px;
width:20px;
height:20px;
cursor:pointer;
}
.WdateDiv #dpControl {
text-align:right;
margin-top:3px;
}
.WdateDiv .dpButton{
height:20px;
width:45px;
margin-top:2px;
border:#38B1B9 1px solid;
background-color:#CFEBEE;
color:#08575B;
}
\ No newline at end of file
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head> <head>
<meta charset="UTF-8"/> <meta charset="UTF-8"/>
<title>工作流</title> <title>工作流</title>
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://cdn.bootcss.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <script src="https://cdn.bootcss.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<link rel="stylesheet" th:href="@{/static/layui/css/layui.css}" media="all"> <link rel="stylesheet" th:href="@{/static/layui/css/layui.css}" media="all">
</head> </head>
<body class="text-center"> <body class="text-center">
<div> <div>
<div class="layui-form-item layui-form-text"> <div class="layui-form-item layui-form-text">
<label class="layui-form-label" style="margin-right: 310px;width: 110px;">请输入审核原因</label> <label class="layui-form-label" style="margin-right: 560px;width: 140px;">当前流程图信息</label>
<div class="layui-input-block"> <div class="layui-input-block">
<textarea placeholder="请输入内容" id="comment" style="width: 330px;height: 100px;" class="layui-textarea"></textarea> <img id="image" style="margin-left: -250px;">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block" style="margin-left: 0px;">
<button class="layui-btn" lay-submit="" lay-filter="sys_user_form" id="sys_user_form" onclick="add()" style="background-color: #005ba7;margin-top: 30px">提交</button>
</div>
</div>
</div> </div>
<input type="hidden" id="taskId" th:value="${taskId}"> </div>
</body>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label" style="margin-right: 560px;width: 145px;">请输入审核原因</label>
<div class="layui-input-block">
<textarea placeholder="请输入内容" id="comment" style="width: 500px;height: 100px;" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block" style="margin-left: 0px;">
<button class="layui-btn" lay-submit="" lay-filter="sys_user_form" id="sys_user_form" onclick="add()" style="background-color: #005ba7;margin-top: -10px">提交</button>
</div> </div>
</body> </div>
</div>
<input type="hidden" id="taskId" th:value="${taskId}">
<input type="hidden" id="approvalDeail" th:value="${approvalDeail}">
</body>
</div>
</body>
</html> </html>
<style> <style>
* { * {
font-family: "微软雅黑"; font-family: "微软雅黑";
font-size: 15px; font-size: 15px;
margin: 0 auto; margin: 0 auto;
} }
div{ div{
text-align:center; text-align:center;
padding-top:10px; padding-top:10px;
} }
input,button{ input,button{
margin-top:10px; margin-top:10px;
} }
.btn{ .btn{
border-color: #10c8ef; border-color: #10c8ef;
background-color: #10c8ef; background-color: #10c8ef;
color: #fff; color: #fff;
} }
</style> </style>
<script src="/js/plugins/jquery.min.js"></script> <script src="/js/plugins/jquery.min.js"></script>
<script src="/js/plugins/layer/layer.js"></script> <script src="/js/plugins/layer/layer.js"></script>
<script> <script>
function add(){
$(function () {
var taskId=$("#taskId").val()
var executionId=$("#executionId").val()
var a="process:4:62504";
var url="http://localhost:8087/api/bpm/task/process/trace/current?executionId="+executionId+"&taskId="+taskId
$("#image").attr("src",url)
})
//获取用户Id
var userId=sessionStorage.getItem("userId");
//获取用户Id
var userName=sessionStorage.getItem("userName");
function add(){
var taskId=$("#taskId").val(); var taskId=$("#taskId").val();
var comment=$("#comment").val(); var comment=$("#comment").val();
$.post( $.post(
"/api/bpm/task/completeTask", "/api/bpm/task/completeTask",
{ {
userId:userId,
taskId:taskId, taskId:taskId,
comments:comment comments:comment
}, },
...@@ -72,7 +96,7 @@ input,button{ ...@@ -72,7 +96,7 @@ input,button{
} }
},"json" },"json"
) )
} }
</script> </script>
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
content += '<td class="product_name" style="width: 5%;">'+data[i].businessKey+'</td>'; content += '<td class="product_name" style="width: 5%;">'+data[i].businessKey+'</td>';
content += '<td class="product_name" style="width: 5%;">'+data[i].startUserId+'</td>'; content += '<td class="product_name" style="width: 5%;">'+data[i].startUserId+'</td>';
content += '<td class="product_name" style="width: 5%;">'+data[i].startTime+'</td>'; content += '<td class="product_name" style="width: 5%;">'+data[i].startTime+'</td>';
content += '<td class="cao_zuo"></span><span onclick="approveDeploy('+data[i].taskId+')">审批</span>' + content += '<td class="cao_zuo"></span><span onclick="approveDeploy('+data[i].taskId+',\''+data[i].executionId+'\')">审批</span>' +
'</td></tr></tbody>'; '</td></tr></tbody>';
} }
$('#pages').text(pages); $('#pages').text(pages);
...@@ -187,14 +187,14 @@ ...@@ -187,14 +187,14 @@
},'json') },'json')
} }
function approveDeploy(taskId){ function approveDeploy(taskId,executionId){
layer.open({ layer.open({
type: 2, type: 2,
title:'审批任务', title:'审批任务',
area: ['420px','310px'], area: ['700px','550px'],
scrollbar: false, scrollbar: false,
shadeClose: true, //点击遮罩关闭 shadeClose: true, //点击遮罩关闭
content: '/web/bpm/toAppRoValDeail?taskId='+taskId content: '/web/bpm/toAppRoValDeail?taskId='+taskId+'&executionId='+executionId
}); });
} }
......
...@@ -35,9 +35,9 @@ ...@@ -35,9 +35,9 @@
var taskId=$("#taskId").val() var taskId=$("#taskId").val()
var executionId=$("#executionId").val() var executionId=$("#executionId").val()
var a="process:4:62504"; var a="process:4:62504";
//var url="http://localhost:8087/api/bpm/task/process/trace/current?executionId="+executionId+"&taskId="+taskId var url="http://localhost:8087/api/bpm/task/process/trace/current?executionId="+executionId+"&taskId="+taskId
//var url="http://localhost:8087/api/bpm/task/process/trace?procdefId="+a+"&processInstanceId="+72501 //var url="http://localhost:8087/api/bpm/task/process/trace?procdefId="+a+"&processInstanceId="+72501
var url="http://localhost:8087/api/bpm/task/process/getdeployMent?deploymentId="+62501 //var url="http://localhost:8087/api/bpm/task/process/getdeployMent?deploymentId="+62501
$("#image").attr("src",url) $("#image").attr("src",url)
}) })
......
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