@@ -0,0 +1,202 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+ <title>日常事务管理</title>
+ <meta name="decorator" content="default"/>
+ <script type="text/javascript">
+ var validateForm;
+ function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+ if(validateForm.form()){
+ $("#inputForm").submit();
+ return true;
+ }
+
+ return false;
+ $(document).ready(function() {
+ validateForm = $("#inputForm").validate({
+ submitHandler: function(form){
+ loading('正在提交,请稍等...');
+ form.submit();
+ },
+ errorContainer: "#messageBox",
+ errorPlacement: function(error, element) {
+ $("#messageBox").text("输入有误,请先更正。");
+ if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+ error.appendTo(element.parent().parent());
+ } else {
+ error.insertAfter(element);
+ });
+ laydate.render({
+ elem: '#updateDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+ $("#attachment_btn").click(function () {
+ $("#attachment_file").click();
+ function insertTitle(tValue){
+ var list = "${workAdministrativeAtamp.workAttachments}";
+ var size = (list.split('url')).length-1;
+ var files = $("#attachment_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
+ var attachmentId = "";
+ var attachmentFlag = "102";
+ console.log(file);
+ var timestamp=new Date().getTime();
+ var storeAs = "attachment-file/workIncomingMessage/"+timestamp+"/"+file['name'];
+ var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
+ var divId = "_attachment";
+ $("#addFile"+divId).show();
+ multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size);}
+ </script>
+</head>
+<body>
+<div class="single-form">
+ <div class="container">
+ <form:form id="inputForm" modelAttribute="workDailyRoutineDetail" action="${ctx}/workdailyroutine/workDailyRoutine/saveDetail" method="post" class="form-horizontal">
+ <form:hidden path="id"/>
+ <form:hidden path="home"/>
+ <form:hidden path="workDailyRoutine.id"/>
+ <div class="form-group layui-row first">
+ <div class="form-group-label"><h2>基本信息</h2></div>
+ <div class="layui-item layui-col-sm6">
+ <label class="layui-form-label"><span class="require-item">*</span>事务名称:</label>
+ <div class="layui-input-block">
+ <input type="text" htmlEscape="false" readonly="true" value="${workDailyRoutineDetail.workDailyRoutine.name}" class="form-control layui-input required"/>
+ </div>
+ <label class="layui-form-label"><span class="require-item">*</span>事务来源:</label>
+ <input type="text" htmlEscape="false" readonly="true" value="${workDailyRoutineDetail.workDailyRoutine.source}" class="form-control layui-input required"/>
+ <label class="layui-form-label">创建人:</label>
+ <input type="text" htmlEscape="false" readonly="true" value="${workDailyRoutineDetail.workDailyRoutine.createBy.name}" class="form-control layui-input required"/>
+ <label class="layui-form-label">所属部门:</label>
+ <input type="text" name="office.name" readonly="readonly" class="form-control layui-input" value="${workDailyRoutineDetail.workDailyRoutine.office.topCompany}"/>
+ <input type="hidden" name="office.id" readonly="readonly" class="form-control layui-input" value="${workDailyRoutineDetail.workDailyRoutine.office.id}"/>
+ <label class="layui-form-label">创建时间:</label>
+ <input type="text" htmlEscape="false" value="<fmt:formatDate value="${workDailyRoutineDetail.workDailyRoutine.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" readonly="true" class="form-control layui-input required"/>
+ <label class="layui-form-label">事务状态:</label>
+ <input type="text" htmlEscape="false" readonly="true" value="${workDailyRoutineDetail.workDailyRoutine.status}" class="form-control layui-input"/>
+ <div class="layui-item layui-col-sm12 with-textarea">
+ <label class="layui-form-label">具体要求:</label>
+ <textarea htmlEscape="false" readonly="true" rows="3" class="form-control">${workDailyRoutineDetail.workDailyRoutine.remarks}</textarea>
+ <div class="form-group layui-row lw12">
+ <div class="form-group-label"><h2>执行详情</h2></div>
+ <label class="layui-form-label"><span class="require-item">*</span>姓 名:</label>
+ <form:input path="operator.name" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <form:hidden path="operator.id" htmlEscape="false" class="form-control "/>
+ <label class="layui-form-label"><span class="require-item">*</span>部 门:</label>
+ <form:input path="office.name" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <label class="layui-form-label"><span class="require-item">*</span>完成日期:</label>
+ <input id="updateDate" name="updateDate" type="text" maxlength="20" class="laydate-icondate form-control layui-input layer-date laydate-icon required"
+ value="<fmt:formatDate value="${workDailyRoutineDetail.updateDate}" pattern="yyyy-MM-dd"/>"/>
+ <label class="layui-form-label"><span class="require-item">*</span>完成状态:</label>
+ <form:input path="status" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <label class="layui-form-label"><span class="require-item">*</span>完成情况说明:</label>
+ <form:textarea path="remarks" htmlEscape="false" maxlength="255" rows="3" class="form-control required"/>
+ <div class="form-group layui-row">
+ <div class="form-group-label"><h2>附件信息</h2></div>
+ <div class="layui-item layui-col-xs12" style="padding:0 16px;">
+ <table id="listAttachment" class="table table-bordered table-condensed no-bottom-margin details">
+ <thead>
+ <tr>
+ <%-- <th>序号</th>--%>
+ <th>文件预览</th>
+ <th>上传人</th>
+ <th>上传时间</th>
+ <th width="150px">操作</th>
+ </tr>
+ </thead>
+ <tbody id="file_attachment">
+ <c:forEach items="${workDailyRoutineDetail.workDailyRoutine.workAttachments}" var = "workClientAttachment" varStatus="status">
+ <%-- <td>${status.index + 1}</td>--%>
+ <c:choose>
+ <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+ or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+ <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}"></td>
+ </c:when>
+ <c:otherwise>
+ <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+ <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+ <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
+ </c:otherwise>
+ </c:choose>
+ <td>${workClientAttachment.createBy.name}</td>
+ <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
+ <td class="op-td">
+ <div class="op-btn-box" >
+ <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent(encodeURIComponent('${workClientAttachment.url}'));" class="op-btn op-btn-download"><i class="fa fa-download"></i> 下载</a>
+ </td>
+ </c:forEach>
+ </tbody>
+ </table>
+ </form:form>
+</div>
+</body>
+</html>
@@ -0,0 +1,149 @@
+ <input id="updateDate" name="updateDate" type="text" maxlength="20" class="form-control layui-input" readonly="true"
+ <form:textarea path="remarks" htmlEscape="false" rows="3" readonly="true" class="form-control"/>
@@ -0,0 +1,278 @@
+ var list = "${workDailyRoutine.workAttachments}";
+ function changeUser(ids,names,parents) {
+ var split = ids.split(',');
+ var split2 = names.split(',');
+ var idArr = $("#termTableList tr .userId");
+ for(var i=0;i<split.length;i++){
+ var id = split[i];
+ if(hasInArr(id,idArr)){
+ continue;
+ var obj = {'id':id,'name':split2[i],'oName':parents[i]};
+ addRowTerm('#termTableList',termIdx,termTpl,obj);
+ function hasInArr(id,idArr) {
+ for(var i=0;i<idArr.length;i++){
+ if(id==$(idArr[i]).val()){
+ function getSelectUserIds() {
+ return "";
+ <form:form id="inputForm" modelAttribute="workDailyRoutine" action="${ctx}/workdailyroutine/workDailyRoutine/save" method="post" class="form-horizontal">
+ <form:input path="name" htmlEscape="false" class="form-control layui-input required"/>
+ <form:input path="source" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
+ <form:input path="createBy.name" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <form:hidden path="createBy.id" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <input type="text" name="office.name" readonly="readonly" class="form-control layui-input" value="${workDailyRoutine.office.topCompany}"/>
+ <input type="hidden" name="office.id" readonly="readonly" class="form-control layui-input" value="${workDailyRoutine.office.id}"/>
+ <input type="text" id="createDate" htmlEscape="false" value="<fmt:formatDate value="${workDailyRoutine.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" readonly="true" class="form-control layui-input"/>
+ <form:textarea path="remarks" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+ <div class="form-group-label"><h2>执行人明细</h2></div>
+ <div class="layui-item nav-btns">
+ <sys:treeselectusers id="members" name="" value="" labelName="memberNameStr" labelValue=""
+ retnParent="true" title="用户" url="/sys/office/treeData?type=3" checked="true" cssClass="form-control required" allowClear="true" notAllowSelectParent="true"/>
+ <table id="termsTable" class="table table-bordered table-condensed details">
+ <th class="hide"></th>
+ <th>姓名</th>
+ <th>部门</th>
+ <th>完成状态</th>
+ <th>完成日期</th>
+ <th>完成情况说明</th>
+ <th>操作</th>
+ <tbody id="termTableList">
+ <script type="text/template" id="termTpl">//<!--
+ <tr id="detailList{{idx}}">
+ <td class="hide">
+ <input id="detailList{{idx}}_id" name="detailList[{{idx}}].operator.id" readonly="true" value="{{row.id}}" type="hidden" class="form-control userId"/>
+ <td>
+ {{row.name}}
+ {{row.oName}}
+ 未完成
+ <td class="text-center op-td">
+ <a href=javascript:void(0); onclick="delRow(this, '#detailList{{idx}}')" class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>
+ </tr>//-->
+ var termIdx = 0, termTpl = $("#termTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+ function addRowTerm(list, idx, tpl, row){
+ bornTemplete(list, idx, tpl, row, idx);
+ termIdx +=1;
+ function bornTemplete(list, idx, tpl, row, idx1){
+ var idx1 = $("#termTableList tr").length +1;
+ $(list).append(Mustache.render(tpl, {
+ idx: idx, delBtn: true, row: row,
+ order:idx1 + 1, idx1:idx1
+ }));
+ $(list+idx).find("select").each(function(){
+ $(this).val($(this).attr("data-value"));
+ $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+ var ss = $(this).attr("data-value").split(',');
+ for (var i=0; i<ss.length; i++){
+ if($(this).val() == ss[i]){
+ $(this).attr("checked","checked");
+ function delRow(obj, prefix,idx){
+ $(obj).parent().parent().remove();
+ <a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i> 添加附件</a>
+ <div id="addFile_attachment" style="display: none" class="upload-progress">
+ <span id="fileName_attachment" ></span>
+ <b><span id="baifenbi_attachment" ></span></b>
+ <div class="progress">
+ <div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
+ <span id="attachment_title"></span>
+ <table id="upTable" class="table table-bordered table-condensed details">
+ <c:forEach items="${workDailyRoutine.workAttachments}" var = "workClientAttachment" varStatus="status">
+ <c:if test="${workClientAttachment.createBy.id eq fns:getUser().id}">
+ <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i> 删除</a>
+ </c:if>
@@ -0,0 +1,222 @@
+ <style>
+ .widthClass{
+ display: inline-block;
+ .shows .input-group{
+ width: 48%!important;
+ </style>
+ body{
+ background-color:transparent;
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+ color:#ffffff;
+ background-color:rgba(255,255,255,0);
+ height:100%;
+ $("#cus_name").show();
+ $("#cus_name").siblings().hide();
+ //搜索框收放
+ $('#moresee').click(function(){
+ if($('#moresees').is(':visible'))
+ {
+ $('#moresees').slideUp(0,resizeListWindow1);
+ $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
+ }else{
+ $('#moresees').slideDown(0,resizeListWindow1);
+ $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
+ elem: '#beginCreateDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ type : 'date'
+ elem: '#endCreateDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+<div class="wrapper wrapper-content">
+ <sys:message content="${message}"/>
+ <div class="layui-row">
+ <div class="full-width fl">
+ <div class="contentShadow layui-row" id="queryDiv">
+ <form:form id="searchForm" modelAttribute="workDailyRoutine" action="${ctx}/workdailyroutine/workDailyRoutine/" method="post" class="form-inline">
+ <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+ <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+ <table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+ <div class="commonQuery">
+ <div class="layui-item query athird">
+ <label class="layui-form-label">事务名称:</label>
+ <form:input path="name" htmlEscape="false" maxlength="64" class=" form-control layui-input"/>
+ <form:input path="createBy.name" htmlEscape="false" maxlength="64" class=" form-control layui-input"/>
+ <div class="layui-item athird">
+ <div class="input-group">
+ <a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
+ <button id="searchReset" class="fixed-btn searchReset fr" onclick="resetSearch()">重置</button>
+ <button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+ <div style=" clear:both;"></div>
+ <div id="moresees" style="clear:both;display:none;">
+ <div class="layui-input-block with-icon">
+ <input id="beginCreateDate" name="beginCreateDate" type="text" readonly="readonly" maxlength="20" placeholder="开始时间" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+ value="<fmt:formatDate value="${workDailyRoutine.beginCreateDate}" pattern="yyyy-MM-dd"/>"/>
+ </input>
+ <span class="group-sep">-</span>
+ <input id="endCreateDate" name="endCreateDate" type="text" readonly="readonly" maxlength="20" placeholder="结束时间" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+ value="<fmt:formatDate value="${workDailyRoutine.endCreateDate}" pattern="yyyy-MM-dd"/>"/>
+ <label class="layui-form-label">事务来源:</label>
+ <form:input path="source" htmlEscape="false" maxlength="10" class=" form-control layui-input"/>
+ <form:select path="status" class=" form-control simple-select">
+ <form:option value="" label=""/>
+ <form:option value="未完成" label="未完成"/>
+ <form:option value="已完成" label="已完成"/>
+ <form:option value="已关闭" label="已关闭"/>
+ </form:select>
+ <label class="layui-form-label">收到/发出:</label>
+ <form:select path="sOr" class=" form-control simple-select">
+ <form:option value="发出" label="发出"/>
+ <form:option value="收到" label="收到"/>
+ <!-- 工具栏 -->
+ <div class="contentShadow layui-form contentDetails">
+ <div class="nav-btns">
+ <shiro:hasPermission name="workdailyroutine:workDailyRoutine:add">
+ <table:addRow url="${ctx}/workdailyroutine/workDailyRoutine/form" title="日常事务"></table:addRow><!-- 增加按钮 -->
+ </shiro:hasPermission>
+ <button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i> 刷新</button>
+ <div style="clear: both;"></div>
+ <table class="oa-table layui-table" id="contentTable"></table>
+ <!-- 分页代码 -->
+ <table:page page="${page}"></table:page>
+ <div id="changewidth"></div>
+ <script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+ <script>
+ layui.use('table', function(){
+ layui.table.render({
+ limit:${ page.pageSize }
+ ,elem: '#contentTable'
+ ,page: false
+ ,cols: [[
+ {field:'index',align:'center', title: '序号',width:40}
+ ,{field:'name',align:'center', title: '事务名称',minWidth:200,templet:function(d){
+ var xml = '';
+ if(d.sOr != undefined && d.sOr == "收到"){
+ xml = "<a class=\"attention-info\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看事务', '${ctx}/workdailyroutine/workDailyRoutine/detailView?id="+d.id+"','95%','95%')\">" +
+ "<span title=" + d.name + ">" + d.name + "</span></a>";
+ }else {
+ xml = "<a class=\"attention-info\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看事务', '${ctx}/workdailyroutine/workDailyRoutine/view?id="+d.id+"','95%','95%')\">" +
+ return xml;
+ }}
+ ,{field:'source',align:'center', title: '事务来源',minWidth:120}
+ ,{field:'createBy',align:'center', title: '创建人',width:120}
+ ,{field:'createDate', align:'center',sort:true,title: '创建时间',minWidth:150}
+ ,{field:'status',align:'center', title: '事务状态', width:100}
+ ,{field:'sOr',align:'center', title: '收到/发出', width:100}
+ ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
+ ////对操作进行初始化
+ var xml = "";
+ if(d.canedit != undefined && d.canedit == "1" && d.sOr != '收到'){
+ xml +="<a href=\"${ctx}/workdailyroutine/workDailyRoutine/close?id=" + d.id+"\" onclick=\"return confirmx('确认要关闭该日常事务吗?', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 关闭</a>";
+ if(d.sOr != undefined && d.sOr == "收到" && d.status =='未完成' && d.subStatus =='未完成'){
+ xml+="<a href=\"#\" onclick=\"openDialog('日常事务', '${ctx}/workdailyroutine/workDailyRoutine/detailForm?id=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 办理</a>";
+ ]]
+ ,data: [
+ <c:if test="${ not empty page.list}">
+ <c:forEach items="${page.list}" var="workDailyRoutine" varStatus="index">
+ <c:if test="${index.index != 0}">,</c:if>
+ "index":"${index.index+1}"
+ ,"id":"${workDailyRoutine.id}"
+ ,"name":"<c:out value="${workDailyRoutine.name}" escapeXml="true"/>"
+ ,'source':"${workDailyRoutine.source}"
+ ,'createBy':"${workDailyRoutine.createBy.name}"
+ ,"createDate":"<fmt:formatDate value="${workDailyRoutine.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+ ,"sOr":"${workDailyRoutine.sOr}"
+ ,"status":"${workDailyRoutine.status}"
+ ,"subStatus":"${workDailyRoutine.subStatus}"
+ <c:if test="${flag == '1' or fns:getUser().id == workDailyRoutine.createBy.id}">
+ <shiro:hasPermission name="workdailyroutine:workDailyRoutine:edit">
+ ,"canedit":<c:choose><c:when test="${workDailyRoutine.status eq '未完成'}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+ ]
+ })
+ resizeListTable(130);/*消除由于有竖向滚动条造成table出现横向滚动条*/
+ $("a").on("click",addLinkVisied);
+ resizeListWindow1();
+ $(window).resize(function(){
+ <div class="container view-form">
+ <form:input path="name" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
+ <form:input path="createBy.name" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
+ <input type="text" id="createDate" htmlEscape="false" value="<fmt:formatDate value="${workDailyRoutine.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>" readonly="true" class="form-control layui-input required"/>
+ <form:input path="status" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
+ <form:textarea path="remarks" htmlEscape="false" readonly="true" rows="3" class="form-control"/>
+ <c:forEach items="${workDailyRoutine.detailList}" var="routineDetail" varStatus="idx">
+ <td style="text-align:center;">
+ ${routineDetail.operator.name}
+ ${routineDetail.office.name}
+ ${routineDetail.status}
+ <fmt:formatDate value="${routineDetail.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ <td style="text-align:center;" title="${routineDetail.remarks}">
+ ${routineDetail.remarks}
@@ -0,0 +1,218 @@
+ <title>设备询价记录管理</title>
+ <script src="${ctxStatic}/layer-v2.3/laydate/laydate.js"></script>
+ var count = 0;
+ getCurrentDocumentHei();
+ function addRow(list, idx, tpl, row){
+ var idx2 = $("#workDeviceRecords tr").length;
+ if(list == '#workDeviceRecords'){
+ bornTemplete(list, idx, tpl, row, idx2);
+ order:idx1 + 1
+// $(list+idx).find("select").each(function(){
+// $(this).val($(this).attr("data-value"));
+// });
+// $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+// var ss = $(this).attr("data-value").split(',');
+// for (var i=0; i<ss.length; i++){
+// if($(this).val() == ss[i]){
+// $(this).attr("checked","checked");
+// }
+ function delRow(obj, prefix,othis){
+ var id = $(prefix+"_id");
+ var delFlag = $(prefix+"_delFlag");
+ if (id.val() == ""){
+ delFlag.val("1");
+ }else if(delFlag.val() == "0"){
+ $(obj).html("÷").attr("title", "撤回删除");
+ $(obj).parent().parent().addClass("error");
+ $(obj).parent().parent().addClass("hide");
+ }else if(delFlag.val() == "1"){
+ delFlag.val("0");
+ $(obj).parent().parent().removeClass("error");
+ getCurrentDocumentHei(othis);
+ function isNumber(val){
+ if(val === "" || val ==null){
+ var regPos = /^\d+(\.\d+)?$/; //非负浮点数
+ var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
+ if(regPos.test(val) || regNeg.test(val)){
+ function getCurrentDocumentHei(obj){
+ var height = $(document).outerHeight();
+ if(height < 410){
+ height = height + 350;
+ var hei = 0;
+ if(obj){
+ hei = $(obj).find("tr").eq(0).height() || 0;
+ parent.$("#controltype").attr("height",(height - hei) +"px")
+<body class="hideScroll">
+ <form:form id="inputForm" modelAttribute="workDeviceXjRecord" action="${ctx}/workdevicerecord/workDeviceXjRecord/save" method="post" class="form-horizontal">
+ <input type="hidden" name="projectId" id="projectId">
+ <a class="btn btn-white btn-sm addBtn" onclick="addRow('#workDeviceRecords', workDeviceRecordsRowIdx, workDeviceRecordsTpl);workDeviceRecordsRowIdx = workDeviceRecordsRowIdx + 1;" title="新增"><i class="fa fa-plus"></i> 新增</a>
+ <table id="contentTable2" class="table table-striped table-bordered table-condensed">
+ <th><font color="red">*</font>设备名称</th>
+ <th><font color="red">*</font>设备型号</th>
+ <th><font color="red">*</font>单位</th>
+ <th><font color="red">*</font>生产厂家</th>
+ <th><font color="red">*</font>联系电话</th>
+ <th><font color="red">*</font>单价(元)</th>
+ <th>备注</th>
+ <tbody id="workDeviceRecords">
+ <c:if test="${not empty workDeviceXjRecord.workDeviceRecordList}">
+ <c:forEach items="${workDeviceXjRecord.workDeviceRecordList}" var="workDeviceRecord" varStatus="index">
+ <tr id="workDeviceRecordList${index.index}">
+ <input id="workDeviceRecordList${index.index}_id" name="workDeviceRecordList[${index.index}].id" type="hidden" value="${workDeviceRecord.id}"/>
+ <input id="workDeviceRecordList${index.index}_delFlag" name="workDeviceRecordList[${index.index}].delFlag" type="hidden" value="0"/>
+ <input id="workDeviceRecordList${index.index}_deviceName" name="workDeviceRecordList[${index.index}].deviceName" type="text" value="${workDeviceRecord.deviceName}" class="form-control required"/>
+ <input id="workDeviceRecordList${index.index}_deviceKind" name="workDeviceRecordList[${index.index}].deviceKind" type="text" value="${workDeviceRecord.deviceKind}" class="form-control required"/>
+ <input id="workDeviceRecordList${index.index}_deviceUnit" name="workDeviceRecordList[${index.index}].deviceUnit" type="text" value="${workDeviceRecord.deviceUnit}" class="form-control required"/>
+ <input id="workDeviceRecordList${index.index}_deviceCreator" name="workDeviceRecordList[${index.index}].deviceCreator" type="text" value="${workDeviceRecord.deviceCreator}" class="form-control required"/>
+ <input id="workDeviceRecordList${index.index}_devicePhone" name="workDeviceRecordList[${index.index}].devicePhone" type="text" value="${workDeviceRecord.devicePhone}" class="form-control isTel required"/>
+ <input id="workDeviceRecordList${index.index}_devicePrice" name="workDeviceRecordList[${index.index}].devicePrice" type="text" value="${workDeviceRecord.devicePrice}" class="form-control number required"/>
+ <input id="workDeviceRecordList${index.index}_remarks" name="workDeviceRecordList[${index.index}].remarks" type="text" value="${workDeviceRecord.remarks}" class="form-control required"/>
+ <td class="text-center" style="width:80px;">
+ <button class="btn btn-danger btn-xs" onclick="delRow(this, '#workDeviceRecordList${index.index}','#workDeviceRecords')" title="删除"><i class="fa fa-trash"></i> 删除</button>
+ <script type="text/template" id="workDeviceRecordsTpl">//<!--
+ <tr id="workDeviceRecordList{{idx}}">
+ <input id="workDeviceRecordList{{idx}}_id" name="workDeviceRecordList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+ <input id="workDeviceRecordList{{idx}}_delFlag" name="workDeviceRecordList[{{idx}}].delFlag" type="hidden" value="0"/>
+ <input id="workDeviceRecordList{{idx}}_deviceName" name="workDeviceRecordList[{{idx}}].deviceName" type="text" value="{{row.deviceName}}" class="form-control required"/>
+ <input id="workDeviceRecordList{{idx}}_deviceKind" name="workDeviceRecordList[{{idx}}].deviceKind" type="text" value="{{row.deviceKind}}" class="form-control required"/>
+ <input id="workDeviceRecordList{{idx}}_deviceUnit" name="workDeviceRecordList[{{idx}}].deviceUnit" type="text" value="{{row.deviceUnit}}" class="form-control required"/>
+ <input id="workDeviceRecordList{{idx}}_deviceCreator" name="workDeviceRecordList[{{idx}}].deviceCreator" type="text" value="{{row.deviceCreator}}" class="form-control required"/>
+ <input id="workDeviceRecordList{{idx}}_devicePhone" name="workDeviceRecordList[{{idx}}].devicePhone" type="text" value="{{row.devicePhone}}" class="form-control isTel required"/>
+ <input id="workDeviceRecordList{{idx}}_devicePrice" name="workDeviceRecordList[{{idx}}].devicePrice" type="text" value="{{row.devicePrice}}" class="form-control number required"/>
+ <input id="workDeviceRecordList{{idx}}_remarks" name="workDeviceRecordList[{{idx}}].remarks" type="text" value="{{row.remarks}}" class="form-control required"/>
+ {{#delBtn}}<button class="btn btn-danger btn-xs" onclick="delRow(this, '#workDeviceRecordList{{idx}}','#workDeviceRecords')" title="删除"><i class="fa fa-trash"></i> 删除</button>{{/delBtn}}
+ var workDeviceRecordsRowIdx = 0, workDeviceRecordsTpl = $("#workDeviceRecordsTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+ if($("#id").val()){
+ workDeviceRecordsRowIdx = ${fn:length(workDeviceXjRecord.workDeviceRecordList)};
+ <table class="table table-bordered table-condensed dataTables-example dataTable no-footer">
+ <tbody>
+ <td class="width-15 active"><label class="pull-right"><font style="color: red">*</font>询价时间:</label></td>
+ <td class="width-35">
+ <input id="askTime" name="askTime" class="form-control layer-date laydate-icon required" style="min-width:100%;" onclick="laydate({istime: false,format: 'YYYY-MM-DD'})"
+ value="<fmt:formatDate value="${workDeviceXjRecord.askTime}" pattern="yyyy-MM-dd" />"/>
+ <td class="width-15 active"><label class="pull-right"><font style="color: red">*</font>询价人员:</label></td>
+ <sys:treeselect id="askUser" name="askUser.id" value="${workDeviceXjRecord.askUser.id}" labelName="askUser.name" labelValue="${workDeviceXjRecord.askUser.name}"
+ title="用户" url="/sys/office/treeData?type=3" cssClass="form-control required" allowClear="true" notAllowSelectParent="true"/>
@@ -0,0 +1,88 @@
+<%@ include file="/webpage/include/taglib.jsp" %>
+ <div class="form-group-label"><h2>设备询价记录</h2></div>
+ <div class="layui-item layui-col-xs12 form-table-container">
+ <table class="table table-bordered table-condensed no-bottom-margin details">
+ <c:forEach items="${workDeviceXjRecord.workDeviceRecordList}" var="workDeviceRecord"
+ varStatus="index">
+ ${workDeviceRecord.id}
+ ${workDeviceRecord.deviceName}
+ ${workDeviceRecord.deviceKind}
+ ${workDeviceRecord.deviceUnit}
+ ${workDeviceRecord.deviceCreator}
+ ${workDeviceRecord.devicePhone}
+ ${workDeviceRecord.devicePrice}
+ ${workDeviceRecord.remarks}
+ <label class="layui-form-label"><span class="require-item">*</span>询价时间:</label>
+ <input id="askTime" name="workDeviceXjRecord.askTime" readonly="true" maxlength="20"
+ class="laydate-icondate form-control layer-date required layui-input laydate-icon"
+ <label class="layui-form-label"><span class="require-item">*</span>询价人员:</label>
+ <sys:treeselect id="askUser" name="workDeviceXjRecord.askUser.id" disabled="disabled"
+ value="${projectControlTable.workDeviceXjRecord.askUser.id}"
+ labelName="workDeviceXjRecord.askUser.name"
+ labelValue="${workDeviceXjRecord.askUser.name}"
+ title="用户" url="/sys/office/treeData?type=3"
+ cssClass="form-control required layui-input"
+ allowClear="true" notAllowSelectParent="true"/>
@@ -0,0 +1,130 @@
+<body class="gray-bg">
+ <div class="wrapper wrapper-content">
+ <div class="ibox">
+ <div class="ibox-title">
+ <h5>设备询价记录列表 </h5>
+ <div class="ibox-tools">
+ <a class="collapse-link">
+ <i class="fa fa-chevron-up"></i>
+ </a>
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+ <i class="fa fa-wrench"></i>
+ <ul class="dropdown-menu dropdown-user">
+ <li><a href="#">选项1</a>
+ </li>
+ <li><a href="#">选项2</a>
+ </ul>
+ <a class="close-link">
+ <i class="fa fa-times"></i>
+ <div class="ibox-content">
+ <!--查询条件-->
+ <div class="row">
+ <div class="col-sm-12">
+ <form:form id="searchForm" modelAttribute="workDeviceXjRecord" action="${ctx}/workdevicerecord/workDeviceXjRecord/" method="post" class="form-inline">
+ <div class="form-group">
+ <br/>
+ <div class="pull-left">
+ <shiro:hasPermission name="workdevicerecord:workDeviceXjRecord:add">
+ <table:addRow url="${ctx}/workdevicerecord/workDeviceXjRecord/form" title="设备询价记录"></table:addRow><!-- 增加按钮 -->
+ <shiro:hasPermission name="workdevicerecord:workDeviceXjRecord:edit">
+ <table:editRow url="${ctx}/workdevicerecord/workDeviceXjRecord/form" title="设备询价记录" id="contentTable"></table:editRow><!-- 编辑按钮 -->
+ <shiro:hasPermission name="workdevicerecord:workDeviceXjRecord:del">
+ <table:delRow url="${ctx}/workdevicerecord/workDeviceXjRecord/deleteAll" id="contentTable"></table:delRow><!-- 删除按钮 -->
+ <shiro:hasPermission name="workdevicerecord:workDeviceXjRecord:import">
+ <table:importExcel url="${ctx}/workdevicerecord/workDeviceXjRecord/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workdevicerecord:workDeviceXjRecord:export">
+ <table:exportExcel url="${ctx}/workdevicerecord/workDeviceXjRecord/export"></table:exportExcel><!-- 导出按钮 -->
+ <button class="btn btn-white btn-sm " data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i> 刷新</button>
+ <div class="pull-right">
+ <button class="btn btn-primary btn-rounded btn-outline btn-sm " onclick="search()" ><i class="fa fa-search"></i> 查询</button>
+ <button class="btn btn-primary btn-rounded btn-outline btn-sm " onclick="reset()" ><i class="fa fa-refresh"></i> 重置</button>
+ <!-- 表格 -->
+ <table id="contentTable" class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
+ <th> <input type="checkbox" class="i-checks"></th>
+ <th class="sort-column remarks">备注信息</th>
+ <th class="sort-column askTime">询价时间</th>
+ <th class="sort-column askUser.name">询价人员</th>
+ <c:forEach items="${page.list}" var="workDeviceXjRecord">
+ <td> <input type="checkbox" id="${workDeviceXjRecord.id}" class="i-checks"></td>
+ <td><a href="#" onclick="openDialogView('查看设备询价记录', '${ctx}/workdevicerecord/workDeviceXjRecord/form?id=${workDeviceXjRecord.id}','800px', '500px')">
+ ${workDeviceXjRecord.remarks}
+ </a></td>
+ <fmt:formatDate value="${workDeviceXjRecord.askTime}" pattern="yyyy-MM-dd"/>
+ ${workDeviceXjRecord.askUser.name}
+ <shiro:hasPermission name="workdevicerecord:workDeviceXjRecord:view">
+ <a href="#" onclick="openDialogView('查看设备询价记录', '${ctx}/workdevicerecord/workDeviceXjRecord/form?id=${workDeviceXjRecord.id}','800px', '500px')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <a href="#" onclick="openDialog('修改设备询价记录', '${ctx}/workdevicerecord/workDeviceXjRecord/form?id=${workDeviceXjRecord.id}','800px', '500px')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <a href="${ctx}/workdevicerecord/workDeviceXjRecord/delete?id=${workDeviceXjRecord.id}" onclick="return confirmx('确认要删除该设备询价记录吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
@@ -0,0 +1,140 @@
+ <title></title>
+ <meta name="decorator" content="default" />
+ if( $("#month").val() == null || $("#month").val() == '' ||$("#month").val() == undefined ){
+ top.layer.alert('请添加月份!', {icon: 0});
+ return;
+ if( $("#officeId").val() == null || $("#officeId").val() == '' ||$("#officeId").val() == undefined ){
+ top.layer.alert('请选择部门!', {icon: 0});
+ if( $("#uploadFile")[0].files[0] == null || $("#uploadFile")[0].files[0] == '' ||$("#uploadFile")[0].files[0] == undefined ){
+ top.layer.alert('请上传文件!', {icon: 0});
+ $("#inputFormExcle").submit();
+ validateForm = $("#inputFormExcle").validate({
+ elem: '#month', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ event: 'focus' //响应事件。如果没有传入event,则按照默认的click
+ ,type: 'month',
+ done: function(value){//日期时间被切换后的回调
+ console.log($("#uploadFile")[0].files[0]);
+ function getChange(){
+ /* var layerIndex= layer.load(0,{shade: [0.3, '#fff']});
+ var formData = new FormData();
+ formData.append("file",$("#uploadFile")[0].files[0]);
+ console.log(formData);*/
+ /* $.ajax({
+ type: 'post',
+ url:'${ctx}/workexample/workExample/excel',
+ data: formData,
+ dataType: "json",
+ cache: false,
+ processData: false,
+ contentType: false,
+ }).success(function (result) {
+ layer.close(layerIndex);
+ //setExcelInfo(result.data);
+ }).error(function () {
+ top.layer.msg("文件载入失败!");
+ });*/
+ function importTemplate() {
+ layer.confirm('确定要下载导入模版吗?', {btn: ['确定','取消']}, function() {
+ $.ajax({
+ type:'post',
+ url:'${ctx}/workeffectdetail/workEffectDetail/import/template',
+ data:null,
+ /*async: false,*/
+ success:function(result){
+ console.log("231--");
+ },error:function (result){
+ console.log("131--");
+ layer.closeAll('dialog');
+ /*超过5个汉字,调整label的长度,以下是配套的*/
+ .layui-item .layui-form-label{
+ width:90px;
+ .form-group .layui-item .layui-input-block,
+ .query .layui-input-block {
+ margin-left: 116px;
+<body >
+ <form:form id="inputFormExcle" modelAttribute="workEffectExcel" action="${ctx}/workeffect/workEffect/import" enctype="multipart/form-data" method="post" class="form-horizontal">
+ <label class="layui-form-label"><span class="require-item">*</span>月份:</label>
+ <input id="month" name="month" style="background-color: #ffffff;" readonly="true" htmlEscape="false" maxlength="20" readonly="true" class="laydate-icondate form-control layer-date layui-input laydate-icon"
+ value="<fmt:formatDate value="${workEffectExcel.month}" pattern="yyyy-MM"/>"/>
+ <label class="layui-form-label"><span class="require-item">*</span>部门:</label>
+ <sys:treeselect id="office" name="office.id" value="${workEffectExcel.office.id}" labelName="office.name" labelValue="${workEffectExcel.office.name}"
+ title="部门" url="/sys/office/treeDataAll?type=2" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+ <%--<a class="nav-btn nav-btn-import" onclick="importTemplate()" ><i class="glyphicon glyphicon-import"></i> 下载模版</a>--%>
+ <input id="uploadFile" onchange="getChange()" name="file" type="file" />导入文件不能超过5M,仅允许导入“xls”或“xlsx”文件!<br/>
+ <div class="form-group layui-row page-end"></div>
@@ -0,0 +1,225 @@
+ <title>绩效管理</title>
+ ,type: 'month'
+ function addRow(list, idx, workClientLinkmanTpl, row) {
+ $(list).append(Mustache.render(workClientLinkmanTpl, {
+ idx: idx, delBtn: true, row: row
+ $(list + idx).find("select").each(function () {
+ $(list + idx).find("input[type='checkbox'], input[type='radio']").each(function () {
+ for (var i = 0; i < ss.length; i++) {
+ if ($(this).val() == ss[i]) {
+ $(this).attr("checked", "checked");
+ function setMoney(){
+ //总金额
+ //effectMoney
+ var money = "0.00";
+ //自动计算出结果并填充在相应的输入框中
+ var size = $("#effectDetailList tr").length;
+ for (var i = 0;i<size;i++){
+ var _money = $("#effectDetailList"+i+"_money").val();
+ var delFlag = $("#effectDetailList"+i+"_delFlag").val();
+ if (_money!=undefined && isNumber(_money) && delFlag==0){
+ if(money==""){
+ money = parseFloat(_money).toFixed(2);
+ money = (parseFloat(money) + parseFloat(_money)).toFixed(2);
+ $("#effectMoney").val(money);
+ <form:form id="inputForm" modelAttribute="workEffect" action="${ctx}/workeffect/workEffect/save" method="post" class="form-horizontal">
+ <div class="form-group layui-row first lw8">
+ <div class="form-group-label"><h2>基础信息</h2></div>
+ <label class="layui-form-label">月份:</label>
+ <input style="background-color: #ffffff;" readonly="true" htmlEscape="false" maxlength="20" readonly="true" class="laydate-icondate form-control layer-date layui-input laydate-icon"
+ value="<fmt:formatDate value="${workEffect.month}" pattern="yyyy-MM"/>"/>
+ <input value="${workEffect.office.name}" readonly="true" class="form-control layui-input">
+ <label class="layui-form-label">部门人数:</label>
+ <form:input id="officeNum" path="officeNum" htmlEscape="false" readonly="true" class="form-control number layui-input"/>
+ <label class="layui-form-label"><span class="require-item">*</span>绩效人数:</label>
+ <form:input id="effectNum" path="effectNum" htmlEscape="false" readonly="true" class="form-control number layui-input"/>
+ <label class="layui-form-label">绩效总金额:</label>
+ <form:input id="effectMoney" path="effectMoney" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <label class="layui-form-label">导入时间:</label>
+ <input htmlEscape="false" readonly="true"
+ class="form-control layui-input"
+ value="<fmt:formatDate value="${workEffect.createDate}" pattern="yyyy-MM-dd"/>"/>
+ <label class="layui-form-label">导 入 人:</label>
+ value="${workEffect.createBy.name}" />
+ <label class="layui-form-label">状态:</label>
+ value="${fns:getDictLabel(workEffect.status, 'effect_status', '')}"/>
+ <div class="form-group-label"><h2>绩效明细</h2></div>
+ <div class="layui-item layui-col-xs12 form-table-container" >
+ <table id="contentTable3" class="table table-bordered table-condensed can-edit no-bottom-margin">
+ <th width="25%">工号</th>
+ <th width="25%">姓名</th>
+ <th width="25%">职级</th>
+ <th width="25%">金额</th>
+ <tbody id="effectDetailList">
+ <script type="text/template" id="effectDetailTpl">//<!--
+ <tr id="effectDetailList{{idx}}">
+ <input id="effectDetailList{{idx}}_id" name="effectDetailList[{{idx}}].id" type="hidden" value="{{row.id}}" />
+ <input id="effectDetailList{{idx}}_effectId" name="effectDetailList[{{idx}}].effectId" type="hidden" value="{{row.effectId}}" />
+ <input id="effectDetailList{{idx}}_workStaffBasicInfo" name="effectDetailList[{{idx}}].workStaffBasicInfo.id" type="hidden" value="{{row.workStaffBasicInfo.id}}" />
+ <input id="effectDetailList{{idx}}_delFlag" name="effectDetailList[{{idx}}].delFlag" type="hidden" value="0" />
+ <input id="effectDetailList{{idx}}_no" name="effectDetailList[{{idx}}].no" type="text" value="{{row.no}}" readonly="true" class="form-control"/>
+ <input id="effectDetailList{{idx}}_name" name="effectDetailList[{{idx}}].name" type="text" value="{{row.name}}" readonly="true" class="form-control"/>
+ <input id="effectDetailList{{idx}}_jobGrade" name="effectDetailList[{{idx}}].jobGrade" type="text" value="{{row.jobGrade}}" readonly="true" class="form-control"/>
+ <input id="effectDetailList{{idx}}_money" onchange="setMoney(this)" name="effectDetailList[{{idx}}].money" type="text" value="{{row.money}}" class="form-control number" />
+ var effectDetailRowIdx = 0, effectDetailTpl = $("#effectDetailTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+ var data = ${fns:toJson(workEffect.effectDetailList)};
+ for (var i=0; i<data.length; i++){
+ addRow('#effectDetailList', effectDetailRowIdx, effectDetailTpl, data[i]);
+ effectDetailRowIdx = effectDetailRowIdx + 1;
@@ -0,0 +1,288 @@
+ elem: '#beginContractDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ elem: '#endContractDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ function openDialogreExcel(title,url,width,height,target){
+ if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+ width='auto';
+ height='auto';
+ }else{//如果是PC端,根据用户设置的width和height显示。
+ top.layer.open({
+ type: 2,
+ area: [width, height],
+ title: title,
+ maxmin: false, //开启最大化最小化按钮
+ skin: 'tow-btns',
+ content: url ,
+ btn: ['导入', '关闭'],
+ btn1: function(index, layero){
+ var body = top.layer.getChildFrame('body', index);
+ var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+ var inputForm = body.find('#inputFormExcle');
+ var top_iframe;
+ if(target){
+ top_iframe = target;//如果指定了iframe,则在改frame中跳转
+ top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+ inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+ if(iframeWin.contentWindow.doSubmit() ){
+ top.layer.close(index);//关闭对话框。
+ //setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+ cancel: function(index){
+ function openDialogre(title,url,width,height,target){
+ skin: 'three-btns',
+ btn: ['提交','关闭'],
+ var inputForm = body.find('#inputForm');
+ if(iframeWin.contentWindow.doSubmit(1) ){
+ setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+ btn3: function(index){
+ window.location.href='${ctx}/workeffectdetail/workEffectDetail/import/template';
+ <form:form id="searchForm" modelAttribute="workEffect" action="${ctx}/workeffect/workEffect/" method="post" class="form-inline">
+ <%--<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->--%>
+ <div class="commonQuery lw8">
+ <label class="layui-form-label">部门:</label>
+ <sys:treeselect id="office" name="office.id" value="${workEffect.office.id}" labelName="office.name" labelValue="${workEffect.office.name}"
+ <div id="moresees" class="lw8" style="clear:both;display:none;">
+ <%--<div class="layui-item query athird">
+ <label class="layui-form-label">归档日期:</label>
+ <input id="beginContractDate" name="beginContractDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+ value="<fmt:formatDate value="${workContractRecord.beginContractDate}" pattern="yyyy-MM-dd"/>"/>
+ <input id="endContractDate" name="endContractDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+ value="<fmt:formatDate value="${workContractRecord.endContractDate}" pattern="yyyy-MM-dd"/>"/>
+ </div>--%>
+ <%--<shiro:hasPermission name="workeffect:workEffect:add">
+ <table:addRow url="${ctx}/workeffect/workEffect/form" title="绩效"></table:addRow><!-- 增加按钮 -->
+ </shiro:hasPermission>--%>
+ <shiro:hasPermission name="workeffect:workEffect:import">
+ <%--<table:importExcel url="${ctx}/workeffect/workEffect/import"></table:importExcel>--%>
+ <a class="nav-btn nav-btn-import" onclick="importTemplate()" ><i class="glyphicon glyphicon-import"></i> 下载模版</a>
+ <button class="nav-btn nav-btn-import" title="导入数据" onclick="openDialogreExcel('导入数据', '${ctx}/workeffect/workEffect/importDialogre','90%','90%')" ><i class="fa fa-folder-open-o"></i> 导入</button>
+ <%--<shiro:hasPermission name="workeffect:workEffect:export">
+ <table:exportExcel url="${ctx}/workeffect/workEffect/export"></table:exportExcel><!-- 导出按钮 -->
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+ // {checkbox: true, fixed: true},
+ ,{field:'month',align:'center',title: '月份',minWidth:160,templet:function(d){
+ var xml = "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看绩效', '${ctx}/workeffect/workEffect/form?id=" + d.id + "&tabId=1','95%','95%')\">" +
+ "<span title=" + d.month + ">" + d.month + "</span></a>";
+ ,{field:'officeName',align:'center', title: '部门',minWidth:160,templet:function(d){
+ return "<span title='"+ d.officeName +"'>" + d.officeName + "</span>";
+ ,{field:'officeNum',align:'center', title: '部门人数',minWidth:160,templet:function(d){
+ return "<span title='"+ d.officeNum +"'>" + d.officeNum + "</span>";
+ ,{field:'effectNum',align:'center', title: '绩效人数',minWidth:160,templet:function(d){
+ return "<span title='"+ d.effectNum +"'>" + d.effectNum + "</span>";
+ ,{field:'effectMoney', align:'center',title: '绩效总金额',minWidth:160,templet:function(d){
+ return "<span title='"+ d.effectMoney +"'>" + d.effectMoney + "</span>";
+ ,{field:'createDate',align:'center', title: '导入时间', minWidth:160}
+ ,{field:'createBy',align:'center', title: '导入人', minWidth:160}
+ ,{field:'status', align:'center',title: '状态',minWidth:160,templet:function(d){
+ return "<span title='"+ d.status +"'>" + d.status + "</span>";
+ if(d.canedit1 != undefined && d.canedit1 == "1")
+ xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('修改绩效', '${ctx}/workeffect/workEffect/form?id="+ d.id + "','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+ if(d.candelete != undefined && d.candelete == "1")
+ xml +="<a href=\"${ctx}/workeffect/workEffect/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该绩效信息吗?', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";
+ <c:forEach items="${page.list}" var="workEffect" varStatus="index">
+ ,"id":"${workEffect.id}"
+ ,"month":"<fmt:formatDate value="${workEffect.month}" pattern="yyyy-MM"/>"
+ ,"officeName":"${workEffect.office.name}"
+ ,"officeNum":"${workEffect.officeNum}"
+ ,"effectNum":"${workEffect.effectNum}"
+ ,"effectMoney":"<fmt:formatNumber value="${workEffect.effectMoney}" pattern="#,#0.00"/>"
+ ,"status":"${fns:getDictLabel(workEffect.status, 'effect_status', '')}"
+ ,"createDate":"<fmt:formatDate value="${workEffect.createDate}" pattern="yyyy-MM-dd"/>"
+ ,"createBy":"${workEffect.createBy.name}"
+ <shiro:hasPermission name="workeffect:workEffect:edit"><c:choose>
+ <c:when test="${'1' == '1' }">,"canedit1":"1"</c:when>
+ </c:choose></shiro:hasPermission>
+ <shiro:hasPermission name="workeffect:workEffect:del"><c:choose>
+ <c:when test="${'1' == '1'}">,"candelete":"1"</c:when>
+ // ,even: true
+ // ,height: 315
+ resizeListTable();
+</script>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="<fmt:formatNumber value="${workEffect.effectMoney}" pattern="#,#0.00"/>"/>
+ <input id="effectDetailList{{idx}}_money" name="effectDetailList[{{idx}}].money" type="text" value="{{row.money}}" readonly="true" class="form-control number" />
@@ -0,0 +1,85 @@
+ <title>绩效明细管理</title>
+ <form:form id="inputForm" modelAttribute="workEffectDetail" action="${ctx}/workeffectdetail/workEffectDetail/save" method="post" class="form-horizontal">
+ <td class="width-15 active"><label class="pull-right">备注信息:</label></td>
+ <form:textarea path="remarks" htmlEscape="false" rows="4" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">绩效:</label></td>
+ <form:input path="effectId" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">工号:</label></td>
+ <form:input path="no" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">姓名:</label></td>
+ <form:input path="name" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">档案:</label></td>
+ <form:input path="workStaffBasicInfo" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">职级:</label></td>
+ <form:input path="jobGrade" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">金额:</label></td>
+ <form:input path="money" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"></td>
+ <td class="width-35" ></td>
@@ -0,0 +1,146 @@
+ <h5>绩效明细列表 </h5>
+ <form:form id="searchForm" modelAttribute="workEffectDetail" action="${ctx}/workeffectdetail/workEffectDetail/" method="post" class="form-inline">
+ <shiro:hasPermission name="workeffectdetail:workEffectDetail:add">
+ <table:addRow url="${ctx}/workeffectdetail/workEffectDetail/form" title="绩效明细"></table:addRow><!-- 增加按钮 -->
+ <shiro:hasPermission name="workeffectdetail:workEffectDetail:edit">
+ <table:editRow url="${ctx}/workeffectdetail/workEffectDetail/form" title="绩效明细" id="contentTable"></table:editRow><!-- 编辑按钮 -->
+ <shiro:hasPermission name="workeffectdetail:workEffectDetail:del">
+ <table:delRow url="${ctx}/workeffectdetail/workEffectDetail/deleteAll" id="contentTable"></table:delRow><!-- 删除按钮 -->
+ <shiro:hasPermission name="workeffectdetail:workEffectDetail:import">
+ <table:importExcel url="${ctx}/workeffectdetail/workEffectDetail/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workeffectdetail:workEffectDetail:export">
+ <table:exportExcel url="${ctx}/workeffectdetail/workEffectDetail/export"></table:exportExcel><!-- 导出按钮 -->
+ <th class="sort-column effectId">绩效</th>
+ <th class="sort-column no">工号</th>
+ <th class="sort-column name">姓名</th>
+ <th class="sort-column workStaffBasicInfo">档案</th>
+ <th class="sort-column jobGrade">职级</th>
+ <th class="sort-column money">金额</th>
+ <c:forEach items="${page.list}" var="workEffectDetail">
+ <td> <input type="checkbox" id="${workEffectDetail.id}" class="i-checks"></td>
+ <td><a href="#" onclick="openDialogView('查看绩效明细', '${ctx}/workeffectdetail/workEffectDetail/form?id=${workEffectDetail.id}','800px', '500px')">
+ ${workEffectDetail.remarks}
+ ${workEffectDetail.effectId}
+ ${workEffectDetail.no}
+ ${workEffectDetail.name}
+ ${workEffectDetail.workStaffBasicInfo}
+ ${workEffectDetail.jobGrade}
+ ${workEffectDetail.money}
+ <shiro:hasPermission name="workeffectdetail:workEffectDetail:view">
+ <a href="#" onclick="openDialogView('查看绩效明细', '${ctx}/workeffectdetail/workEffectDetail/form?id=${workEffectDetail.id}','800px', '500px')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <a href="#" onclick="openDialog('修改绩效明细', '${ctx}/workeffectdetail/workEffectDetail/form?id=${workEffectDetail.id}','800px', '500px')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <a href="${ctx}/workeffectdetail/workEffectDetail/delete?id=${workEffectDetail.id}" onclick="return confirmx('确认要删除该绩效明细吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
@@ -0,0 +1,97 @@
+ <title>工程咨询项目三级校审项目信息管理</title>
+ <form:form id="inputForm" modelAttribute="workEngineeringPrice" action="${ctx}/workengineeringprice/workEngineeringPrice/save" method="post" class="form-horizontal">
+ <td class="width-15 active"><label class="pull-right">送审价:</label></td>
+ <form:input path="sendPrice" htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">审定价:</label></td>
+ <form:input path="approvedPrice" htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">合同价:</label></td>
+ <form:input path="contractPrice" htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">核增核减额:</label></td>
+ <form:input path="addEditAmount" htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">核增核减率:</label></td>
+ <form:input path="addEditRate" htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">咨询标的额:</label></td>
+ <form:input path="consultAmount " htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">其中土建造价:</label></td>
+ <form:input path="civilEngineeringCost" htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">其中安装造价:</label></td>
+ <form:input path="installationCost" htmlEscape="false" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">工程咨询项目id:</label></td>
+ <form:input path="engineeringId" htmlEscape="false" class="form-control number"/>
@@ -0,0 +1,160 @@
+ <h5>工程咨询项目三级校审项目信息列表 </h5>
+ <a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">
+ <li><a href="javascript:void(0)">选项1</a>
+ <li><a href="javascript:void(0)">选项2</a>
+ <form:form id="searchForm" modelAttribute="workEngineeringPrice" action="${ctx}/workengineeringprice/workEngineeringPrice/" method="post" class="form-inline">
+ <span>工程咨询项目id:</span>
+ <form:input path="engineeringId" htmlEscape="false" maxlength="64" class=" form-control input-sm"/>
+ <shiro:hasPermission name="workengineeringprice:workEngineeringPrice:add">
+ <table:addRow url="${ctx}/workengineeringprice/workEngineeringPrice/form" title="工程咨询项目三级校审项目信息"></table:addRow><!-- 增加按钮 -->
+ <shiro:hasPermission name="workengineeringprice:workEngineeringPrice:edit">
+ <table:editRow url="${ctx}/workengineeringprice/workEngineeringPrice/form" title="工程咨询项目三级校审项目信息" id="contentTable"></table:editRow><!-- 编辑按钮 -->
+ <shiro:hasPermission name="workengineeringprice:workEngineeringPrice:del">
+ <table:delRow url="${ctx}/workengineeringprice/workEngineeringPrice/deleteAll" id="contentTable"></table:delRow><!-- 删除按钮 -->
+ <shiro:hasPermission name="workengineeringprice:workEngineeringPrice:import">
+ <table:importExcel url="${ctx}/workengineeringprice/workEngineeringPrice/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workengineeringprice:workEngineeringPrice:export">
+ <table:exportExcel url="${ctx}/workengineeringprice/workEngineeringPrice/export"></table:exportExcel><!-- 导出按钮 -->
+ <th class="sort-column sendPrice">送审价</th>
+ <th class="sort-column approvedPrice">审定价</th>
+ <th class="sort-column contractPrice">合同价</th>
+ <th class="sort-column addEditAmount">核增核减额</th>
+ <th class="sort-column addEditRate">核增核减率</th>
+ <th class="sort-column consultAmount ">咨询标的额</th>
+ <th class="sort-column civilEngineeringCost">其中土建造价</th>
+ <th class="sort-column installationCost">其中安装造价</th>
+ <th class="sort-column engineeringId">工程咨询项目id</th>
+ <c:forEach items="${page.list}" var="workEngineeringPrice">
+ <td> <input type="checkbox" id="${workEngineeringPrice.id}" class="i-checks"></td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('查看工程咨询项目三级校审项目信息', '${ctx}/workengineeringprice/workEngineeringPrice/form?id=${workEngineeringPrice.id}','80%','80%')">
+ ${workEngineeringPrice.remarks}
+ ${workEngineeringPrice.sendPrice}
+ ${workEngineeringPrice.approvedPrice}
+ ${workEngineeringPrice.contractPrice}
+ ${workEngineeringPrice.addEditAmount}
+ ${workEngineeringPrice.addEditRate}
+ ${workEngineeringPrice.consultAmount }
+ ${workEngineeringPrice.civilEngineeringCost}
+ ${workEngineeringPrice.installationCost}
+ ${workEngineeringPrice.engineeringId}
+ <shiro:hasPermission name="workengineeringprice:workEngineeringPrice:view">
+ <a href="javascript:void(0)" onclick="openDialogView('查看工程咨询项目三级校审项目信息', '${ctx}/workengineeringprice/workEngineeringPrice/form?id=${workEngineeringPrice.id}','80%','80%')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <a href="javascript:void(0)" onclick="openDialog('修改工程咨询项目三级校审项目信息', '${ctx}/workengineeringprice/workEngineeringPrice/form?id=${workEngineeringPrice.id}','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <a href="${ctx}/workengineeringprice/workEngineeringPrice/delete?id=${workEngineeringPrice.id}" onclick="return confirmx('确认要删除该工程咨询项目三级校审项目信息吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
@@ -0,0 +1,145 @@
+ <title>已审核请假信息管理</title>
+ elem: '#beginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ ,type: 'datetime'
+ elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ <div class="ibox-title" style="height: 70px;">
+ <h5>
+ <ul class="nav nav-tabs">
+ <li><a href="${ctx}/engineeringrecord/engineeringrecord/queryToList">待办任务</a></li>
+ <li class="active"><a href="${ctx}/engineeringrecord/engineeringrecord/queryCompleteList">已办任务</a></li>
+ <li><a href="${ctx}/engineeringrecord/engineeringrecord/list">工程项目归档信息</a></li>
+ </h5>
+ <form:form id="searchForm" modelAttribute="act" action="${ctx}/engineeringrecord/engineeringrecord/queryCompleteList" method="get" class="form-inline">
+ <label>创建时间:</label>
+ <input id="beginDate" name="beginDate" type="text" readonly="readonly" maxlength="20" style="width:200px;" class="laydate-icondate form-control layer-date input-sm"
+ value="<fmt:formatDate value="${act.beginDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+ --
+ <input id="endDate" name="endDate" type="text" readonly="readonly" maxlength="20" style="width:200px;" class="laydate-icondate form-control layer-date input-sm"
+ value="<fmt:formatDate value="${act.endDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+ <th>流程发起人</th>
+ <th>当前环节</th>
+ <th>流程名称</th>
+ <th>流程版本</th>
+ <th>案卷名称</th>
+ <th>案卷编号</th>
+ <%--<th>归档号</th>
+ <th>所属卷库</th>
+ <th>案卷密级</th>--%>
+ <th>开始日期</th>
+ <th>结束日期</th>
+ <%--<th>保管期限</th>
+ <th>保险箱号</th>--%>
+ <th>档案管理员</th>
+ <c:when test="${not empty list}">
+ <c:forEach items="${list}" var="workfullrecord">
+ <c:set var="task" value="${workfullrecord.act.histTask}" />
+ <c:set var="vars" value="${workfullrecord.act.vars}" />
+ <c:set var="procDef" value="${workfullrecord.act.procDef}" /><%--
+ <c:set var="procExecUrl" value="${act.procExecUrl}" /> --%>
+ <c:set var="status" value="${workfullrecord.act.status}" />
+ <td>${workfullrecord.createBy.name}</td>
+ ${task.name}
+ <%--<td>${task.description}</td>--%>
+ <td>${procDef.name}</td>
+ <td><b title='流程版本号'>V: ${procDef.revision}</b></td>
+ <td>${workfullrecord.recordName}</td>
+ <td>${workfullrecord.recordNumber}</td>
+ <%--<td>${workfullrecord.backRecordNumber}</td>
+ <td>${workfullrecord.recordLibNumber}</td>
+ <td>${fns:getDictLabel(workfullrecord.recordSecretLevel, 'record_secret_level', '')}</td>--%>
+ <td><fmt:formatDate value="${workfullrecord.startTime}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
+ <td><fmt:formatDate value="${workfullrecord.endTime}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
+ <%--<td>${workfullrecord.retentionPeriod}</td>
+ <td>${workfullrecord.strongboxNumber}</td>--%>
+ <td>${workfullrecord.manageId}</td>
+ <td colspan="15" align="center">
+ 暂无数据
@@ -0,0 +1,203 @@
+ <title>待审核归档管理</title>
+ maxmin: true, //开启最大化最小化按钮
+ btn: ['同意','驳回','关闭'],
+ btn2:function(index,layero){
+ if(iframeWin.contentWindow.doSubmit(2) ){
+ function page(n,s){
+ location = '${ctx}/oa/leave/list/?pageNo='+n+'&pageSize='+s;
+ <li class="active"><a href="${ctx}/engineeringrecord/engineeringrecord/queryToList">待办任务</a></li>
+ <li><a href="${ctx}/engineeringrecord/engineeringrecord/queryCompleteList">已办任务</a></li>
+ <form:form id="searchForm" modelAttribute="act" action="${ctx}/engineeringrecord/engineeringrecord/queryToList" method="get" class="form-inline">
+ <input id="endDate" name="endDate" type="text" maxlength="20" readonly="readonly" style="width:200px;" class="laydate-icondate form-control layer-date input-sm"
+ <c:set var="task" value="${workfullrecord.act.task}" />
+ <a href="javascript:void(0)" onclick="openDialogre('审核', '${ctx}/engineeringrecord/engineeringrecord/applyOnRecord?engineeringId=${workfullrecord.workFullManage.id}&taskId=${task.id}&taskName=${fns:urlEncode(task.name)}&taskDefKey=${task.taskDefinitionKey}&procInsId=${task.processInstanceId}&procDefId=${task.processDefinitionId}&status=${status}','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 任务办理</a>
@@ -0,0 +1,774 @@
+ <title>工程项目信息管理</title>
+ $(function(){
+ var oneSize = $(".oneTab").size();
+ for(var i = 0;i < oneSize;i++){
+ var hei = $(".oneTab:eq("+i+")").parent().height();
+ $(".oneTab:eq("+i+")").css("height",hei)
+ .css("vertical-align","middle")
+ .css("line-height",hei+"px")
+ $("img").not(".upload_ico").each(function () {
+ var num = 1 ;
+ $(this).click(function () {
+ var flag = num%2;
+ if(flag == 1){
+ $(this).css("width","90%");
+ $(this).css("height","90%");
+ num++;
+ }else if(flag ==0){
+ $(this).css("width","50px");
+ $(this).css("height","50px");
+ <div class="nav nav-tabs">
+ <li><a href="${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&name=view">项目基本信息</a></li>
+ <li class="active"><a href="javascript:void(0)">客户合同信息</a></li>
+ <div id="tab-2" class="tab-pane">
+ <td class="width-15 active" rowspan="14"><label class="pull-right">基本信息:</label></td>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>客户名称:</label></td>
+ <td class="width-85" colspan="3">
+ <span title="${workClientInfo.name}">${fns:abbr(workClientInfo.name,30)}</span>
+ <td class="width-15 active"><label class="pull-right">组织机构代码:</label></td>
+ ${workClientInfo.orUnicode}
+ <td class="width-15 active"><label class="pull-right">客户性质:</label></td>
+ ${fns:getMainDictLabel(workClientInfo.companyType, 'company_type', '')}
+ <td class="width-15 active"><label class="pull-right">所在行业:</label></td>
+ ${fns:getMainDictLabel(workClientInfo.companyIndustry, 'company_industry', '')}
+ <td class="width-15 active"><label class="pull-right">客户类型:</label></td>
+ ${fns:getMainDictLabel(workClientInfo.clientType, 'client_type', '')}
+ <td class="width-15 active"><label class="pull-right">信用等级:</label></td>
+ ${fns:getDictLabel(workClientInfo.creditRank, 'credit_rank', '')}
+ <td class="width-15 active"><label class="pull-right">所在地区:</label></td>
+ ${workClientInfo.area.name}
+ <td class="width-15 active"><label class="pull-right">法人代表:</label></td>
+ ${workClientInfo.lawerPresint}
+ <td class="width-15 active"><label class="pull-right">邮政编码:</label></td>
+ ${workClientInfo.zipCode}
+ <td class="width-15 active"><label class="pull-right">传真:</label></td>
+ ${workClientInfo.fax}
+ <td class="width-15 active"><label class="pull-right">电子邮箱:</label></td>
+ ${workClientInfo.email}
+ <td class="width-15 active"><label class="pull-right">开户银行及开户账号:</label></td>
+ <td colspan="3">
+ <%--table table-striped table-bordered table-hover table-condensed dataTables-example dataTable--%>
+ <table id="bankinfo" class="table table-striped table-bordered table-condensed">
+ <%--<th> <input type="checkbox" class="i-checks"></th>--%>
+ <th class="sort-column name">序号</th>
+ <th class="sort-column companyType">开户银行</th>
+ <th class="sort-column clientType">开户账户</th>
+ <tbody id="workClientBankList">
+ <c:when test="${not empty workClientInfo.workClientBankList}">
+ <c:forEach items="${workClientInfo.workClientBankList}" var="workClientBank" varStatus="status">
+ <td>${status.index + 1}</td>
+ <td>${workClientBank.ourBank}</td>
+ <td>${workClientBank.bankNumber}</td>
+ <td colspan="3" align="center">暂无数据</td>
+ <td class="width-15 active"><label class="pull-right">税务号:</label></td>
+ <td class="width-35" colspan="3">
+ ${workClientInfo.taxId}
+ <td class="width-15 active"><label class="pull-right">注册地址:</label></td>
+ ${workClientInfo.registerAddress}
+ <td class="width-15 active"><label class="pull-right">详细地址:</label></td>
+ ${workClientInfo.address}
+ <td class="width-15 active"><label class="pull-right">公司网址:</label></td>
+ ${workClientInfo.companyUrl}
+ <td class="width-15 active"><label class="pull-right">单位简介:</label></td>
+ ${workClientInfo.remarks}
+ <td class="width-15 active"><label class="pull-right">联系人:</label></td>
+ <td colspan="4">
+ <table id="contentTable" class="table table-striped table-bordered table-condensed">
+ <th>序号</th>
+ <th>联系人姓名</th>
+ <th>职务</th>
+ <th>QQ</th>
+ <th>联系方式1</th>
+ <th>联系方式2</th>
+ <th>E-mail</th>
+ <tbody id="workClientLinkmanList">
+ <c:when test="${not empty workClientInfo.workClientLinkmanList}">
+ <c:forEach items="${workClientInfo.workClientLinkmanList}" var="workClientLinkman" varStatus="status">
+ <td>${workClientLinkman.name}</td>
+ <td>${workClientLinkman.position}</td>
+ <td>${workClientLinkman.qq}</td>
+ <td>${workClientLinkman.linkPhone}</td>
+ <td>${workClientLinkman.linkMobile}</td>
+ <td>${workClientLinkman.email}</td>
+ <td colspan="8" align="center">暂无数据</td>
+ <td class="width-15 active"><label class="pull-right">客户资料:</label></td>
+ <table id="contentTable1" class="table table-striped table-bordered table-condensed">
+ <th>文件名</th>
+ <th width="100">操作</th>
+ <tbody id="workClientAttachmentList">
+ <c:when test="${not empty workClientInfo.workAttachments}">
+ <c:forEach items="${workClientInfo.workAttachments}" var="workClientAttachment" varStatus="status">
+ <%--<td>${status.index + 1}</td>--%>
+ <td><img src="${workClientAttachment.url}" width="50" height="50" alt="${workClientAttachment.attachmentName}"/></td>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','80%','80%','1')">${workClientAttachment.attachmentName}</a></td>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','80%','80%')">${workClientAttachment.attachmentName}</a></td>
+ <%--<c:otherwise>
+ <td><a href="${workClientAttachment.url}">${workClientAttachment.attachmentName}</a></td>
+ <td><a href="javascript:void(0)" onclick="openDialogViewPre('预览','${ctx}/previewController/previewUrl?fileUrl=${workClientAttachment.url}','80%','80%')">${workClientAttachment.attachmentName}</a></td>
+ </c:otherwise>--%>
+ <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/> </td>
+ <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent(encodeURIComponent('${workClientAttachment.url}'));" class="btn btn-success btn-xs">下载</a>
+ <%-- <a href="${ctx}/workfullmanage/workFullManage/downLoadAttach?file=${workClientAttachment.url}" class="btn btn-success btn-xs">下载</a>--%>
+ <td colspan="5" align="center">暂无数据</td>
+ $(function () {
+ <td class="width-15 active" rowspan="11"><label class="pull-right">合同信息:</label></td>
+ <td class="width-15 active"><label class="pull-right">合同名称:</label></td>
+ ${workContractInfo.name}
+ <td class="width-15 active"><label class="pull-right">签订日期:</label></td>
+ <fmt:formatDate value="${workContractInfo.contractDate}" pattern="yyyy-MM-dd"/>
+ <td class="width-15 active"><label class="pull-right">合同生效日期:</label></td>
+ <fmt:formatDate value="${workContractInfo.effectiveDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ <td class="width-15 active"><label class="pull-right">合同终止日期:</label></td>
+ <fmt:formatDate value="${workContractInfo.closingDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ <td class="width-15 active"><label class="pull-right">客户名称:</label></td>
+ ${workContractInfo.client.name}
+ <td class="width-15 active"><label class="pull-right">合同类型:</label></td>
+ ${fns:getDictLabel(workContractInfo.contractType, 'contractType', '')}
+ <td class="width-15 active"><label class="pull-right">合同编号:</label></td>
+ ${workContractInfo.contractNum}
+ <td class="width-15 active"><label class="pull-right">合同金额(元):</label></td>
+ ${workContractInfo.contractPrice}
+ <td class="width-15 active"><label class="pull-right"> 创建人:</label></td>
+ ${workContractInfo.createName}
+ <td class="width-15 active"><label class="pull-right">合同特别条款:</label></td>
+ ${workContractInfo.contractSpecial}
+ <td class="width-15 active"><label class="pull-right">合同资料:</label></td>
+ <table id="attachments" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <%--<td>序号</td>--%><td>文件名</td><td>上传人</td><td>上传时间</td><td>操作</td>
+ <c:forEach items="${attachmentContractList}" var="workClientAttachment" varStatus="status">
+ <%--<c:when test="${fn:containsIgnoreCase(attachment.attachmentName,'jpg')
+ or fn:containsIgnoreCase(attachment.attachmentName,'png')
+ or fn:containsIgnoreCase(attachment.attachmentName,'gif')
+ or fn:containsIgnoreCase(attachment.attachmentName,'jpeg')}">
+ <td><img src="${attachment.url}" width="50" height="50" alt="${attachment.attachmentName}"/></td>
+ <c:when test="${fn:containsIgnoreCase(attachment.attachmentName,'pdf')}">
+ <td><a href="${attachment.url}">${attachment.attachmentName}</a></td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('预览','${ctx}/previewController/previewUrl?fileUrl=${attachment.url}','80%','80%')">${attachment.attachmentName}</a></td>
+ <td>${workClientAttachment.attachmentUser}</td>
+ <td><fmt:formatDate value="${workClientAttachment.createDate}" pattern="yyyy-MM-dd"/></td>
+ <a href="${ctx}/workfullmanage/workFullManage/downLoadAttach?file=${attachment.url}" class="btn btn-success btn-xs">下载</a>
+ <%--<div class="col-sm-12 m-t-xs">
+ <div class="col-sm-2 gray-bg text-center oneTab">
+ <label>基本信息</label>
+ <div class="col-sm-10 " >
+ <table class="table table-striped table-bordered table-hover table-condensed dataTables-example">
+ <td class="width-15 active">客户名称:</td>
+ <td class="width-15 active">组织机构代码:</td>
+ <td class="width-15 active">客户性质:</td>
+ <td class="width-15 active">所在行业:</td>
+ <td class="width-15 active">客户类型:</td>
+ <td class="width-15 active">信用等级:</td>
+ <td class="width-15 active">所在地区:</td>
+ <td class="width-15 active">法人代表:</td>
+ <td class="width-15 active">邮政编码:</td>
+ <td class="width-15 active">传真:</td>
+ <td class="width-15 active">电子邮箱:</td>
+ <td class="width-15 active">开户银行及开户账号:</td>
+ <%–table table-striped table-bordered table-hover table-condensed dataTables-example dataTable–%>
+ <%–<th> <input type="checkbox" class="i-checks"></th>–%>
+ <c:if test="${bankSize == 0}">
+ <td colspan="3">暂无数据</td>
+ <td class="width-15 active">税务号:</td>
+ <td class="width-15 active">注册地址:</td>
+ <td class="width-15 active">详细地址:</td>
+ <td class="width-15 active">公司网址:</td>
+ <span title="${workClientInfo.companyUrl}">${fns:abbr(workClientInfo.companyUrl,30)}</span>
+ <td class="width-15 active">单位简介:</td>
+ <label>联系人:</label>
+ <th>联系人电话</th>
+ <th>联系人手机</th>
+ <th>是否默认联系人</th>
+ <td>${workClientLinkman.isDefault}</td>
+ <c:if test="${linkManSize == 0}">
+ <td colspan="8">暂无数据</td>
+ <div class="col-sm-12 m-t-xs">
+ <label>客户资料</label>
+ <td class="width-15 active">客户资料:</td>
+ <table id="listAttachment" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <td>序号</td><td>文件名</td><td>上传人</td><td>上传时间</td><td>操作</td>
+ <c:forEach items="${attachmentClientList}" var="attachment" varStatus="status">
+ <c:when test="${fn:containsIgnoreCase(attachment.attachmentName,'jpg')
+ <td><a href="javascript:void(0)" onclick="openDialogViewPre('预览','${ctx}/previewController/previewUrl?fileUrl=${attachment.url}','80%','80%')">${attachment.attachmentName}</a></td>
+ <td>${attachment.attachmentUser}</td>
+ <td><fmt:formatDate value="${attachment.createDate}" pattern="yyyy-MM-dd"/></td>
+ <label>合同信息</label>
+ <td class="width-15 active"> 合同名称</td>
+ <td class="width-15 active"> 合同编号</td>
+ <td class="width-15 active"> 合同类别</td>
+ <td class="width-15 active"> 合同类型说明</td>
+ <td class="width-15 active"> 客户名称</td>
+ <td class="width-15 active"> 合同签订日期</td>
+ <td class="width-15 active"> 合同金额</td>
+ <td class="width-15 active"> 收费标准</td>
+ ${workContractInfo.contractFee}
+ <td class="width-15 active"> 收费标准说明</td>
+ <td class="width-15 active"> 合同特别条款</td>
+ <td class="width-15 active">负责公司/部门 </td>
+ ${workContractInfo.chargeCompanyName}
+ <td class="width-15 active"> 创建人</td>
+ <td class="width-35 active" colspan="4"> 合同资料</td>
+ <td class="width-35" colspan="4">
+ <c:forEach items="${attachmentContractList}" var="attachment" varStatus="status">
@@ -0,0 +1,385 @@
+ $("#name").val("allocation");
+ function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+ if(obj == 1) {
+ $("#flag").val("yes");
+ $("#flag").val("no");
+ elem: '#workStartDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ elem: '#workEndDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ function setValue(obj){
+ url:'${ctx}/workreimbursement/workReimbursement/getProjectInfoo',
+ data:{
+ "obj":obj
+ success:function(data){
+ var d = JSON.parse(data);
+ $("#projectNumber").val(d.projectNumber);
+ function setContractValue(obj){
+ url:'${ctx}/workengineeringproject/workEngineeringProject/getContractInfo',
+ $("#contractNum").val(d.contractNum);
+ $("#contractName").val(d.clientName);
+ $("#linkmanName").val(d.linkmanName);
+ $("#linkmanPhone").val(d.linkmanPhone);
+ $("#linkmanEmail").val(d.linkmanEmail);
+ $("#linkmanPosition").val(d.linkmanPosition);
+ function display1(){
+ var id =$("#bidCompanyId")[0].defaultValue;
+ $.get("${ctx}/workclientinfo/workClientInfo/selectLinkman", { clientId: id},
+ function(data,textStatus){
+ data = data.body.list;
+ if(data !=null){
+ addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+ workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+ <form:form id="inputForm" modelAttribute="workEngineeringProject" action="${ctx}/workengineeringproject/workEngineeringProject/saveAudit" method="post" class="form-horizontal">
+ <form:hidden path="act.taskId"/>
+ <form:hidden path="act.taskName"/>
+ <form:hidden path="act.taskDefKey"/>
+ <form:hidden path="act.procInsId"/>
+ <form:hidden path="act.procDefId"/>
+ <form:hidden id="flag" path="act.flag"/>
+ <form:hidden path="name" />
+ <td class="width-20 active" rowspan="2"><label class="pull-right">部门安排:</label></td>
+ <td class="width-15 active"><label class="pull-right">主办</br>公司/部门:<font color="red">*</font></label></td>
+ <td class="width-25">
+ <sys:treeselect id="hostOffice" name="hostOffice" value="${workEngineeringProject.hostOffice}" labelName="hostOfficeName" labelValue="${workEngineeringProject.hostOfficeName}"
+ title="部门" url="/sys/office/treeDataAll?type=2" cssClass="form-control required" allowClear="true" notAllowSelectParent="true"/>
+ <td class="width-15 active"><label class="pull-right">协办</br>公司/部门:</label></td>
+ <sys:treeselect id="jointlyOffice" name="jointlyOffice" value="${workEngineeringProject.jointlyOffice}" labelName="jointlyOfficeName" labelValue="${workEngineeringProject.jointlyOfficeName}"
+ title="部门" url="/sys/office/treeDataAll?type=2" cssClass="form-control" allowClear="true" notAllowSelectParent="true"/>
+ <td class="width-20 active" rowspan="3"><label class="pull-right">人员安排:</label></td>
+ <td class="width-15 active"><label class="pull-right">主办公司/部门</br>项目负责人:<font color="red">*</font></label></td>
+ <sys:treeselect id="hostOfficeMaster" name="hostOfficeMaster" value="${workEngineeringProject.hostOfficeMaster}" labelName="hostOfficeMasterName" labelValue="${workEngineeringProject.hostOfficeMasterName}"
+ title="负责人" url="/sys/office/treeDataAll?type=3&isAll=false" cssClass="form-control required" checked="true" notAllowSelectParent="true"/>
+ <td class="width-15 active"><label class="pull-right">协办公司/部门</br>项目负责人:</label></td>
+ <sys:treeselect id="jointlyOfficeMaster" name="jointlyOfficeMaster" value="${workEngineeringProject.jointlyOfficeMaster}" labelName="jointlyOfficeMasterName" labelValue="${workEngineeringProject.jointlyOfficeMasterName}"
+ title="负责人" url="/sys/office/treeDataAll?type=3&isAll=false" cssClass="form-control" checked="true" notAllowSelectParent="true"/>
+ <td class="width-15 active"><label class="pull-right">主办公司/部门</br>项目组成员:</label></td>
+ <sys:treeselect id="hostOfficeMember" name="hostOfficeMember" value="${workEngineeringProject.hostOfficeMember}" labelName="hostOfficeMemberNames" labelValue="${workEngineeringProject.hostOfficeMemberNames}"
+ title="选择成员" url="/sys/office/treeDataAll?type=3&isAll=false" cssClass="form-control" notAllowSelectParent="true" checked="true"/>
+ <td class="width-15 active"><label class="pull-right">协办公司/部门</br>项目组成员:</label></td>
+ <sys:treeselect id="jointlyOfficeMember" name="jointlyOfficeMember" value="${workEngineeringProject.jointlyOfficeMember}" labelName="jointlyOfficeMemberNames" labelValue="${workEngineeringProject.jointlyOfficeMemberNames}"
+ title="选择成员" url="/sys/office/treeDataAll?type=3&isAll=false" cssClass="form-control" checked="true" notAllowSelectParent="true"/>
+ <td class="width-20 active" rowspan="2"><label class="pull-right">审批:</label></td>
+ <td class="width-15 active"><label class="pull-right">审批意见:</label></td>
+ <td class="width-25" colspan="3">
+ <form:textarea path="act.comment" class="form-control" rows="3" maxlength="20"/>
+ <%--<tr>
+ <td class="width-20 active" rowspan="3"><label class="pull-right">合同信息:</label></td>
+ <td class="width-15 active"><label class="pull-right">合同名称:<font color="red">*</font></label></td>
+ <sys:gridselectContract url="${ctx}/workengineeringproject/workEngineeringProject/selectcontractId" id="contractId" type="1,2" name="contractId.id" value="${workEngineeringProject.contractId.id}" title="选择合同信息" labelName="contractId.name"
+ labelValue="${workEngineeringProject.contractId.name}" cssClass="form-control required" fieldLabels="合同信息id" fieldKeys="name" searchLabel="合同名称" searchKey="name" ></sys:gridselectContract>
+ <td class="width-15 active"><label class="pull-right">合同编号:<font color="red">*</font></label></td>
+ <form:input path="contractId.contractNum" id="contractNum" htmlEscape="false" readonly="true" class="form-control " cssStyle="width: 200px;"/>
+ <td class="width-20 active" rowspan="7"><label class="pull-right">项目信息:</label></td>
+ <td class="width-15 active"><label class="pull-right">项目名称:<font color="red">*</font></label></td>
+ <%–<sys:gridselectcallproject url="${ctx}/workengineeringproject/workEngineeringProject/selectprojectId" id="projectId" name="projectId.id" value="${workEngineeringProject.projectId.id}" title="选择报销项目" labelName="workEngineeringProject.projectId.projectName"
+ labelValue="${workEngineeringProject.projectId.projectName}" cssClass="form-control required" fieldLabels="工程" fieldKeys="projectName" searchLabel="工程名称" searchKey="projectName" ></sys:gridselectcallproject>–%>
+ <form:input path="projectId.name" id="" htmlEscape="false" readonly="true" class="form-control required" cssStyle="width: 200px;"/>
+ <td class="width-15 active"><label class="pull-right">项目编号:<font color="red">*</font></label></td>
+ <form:input path="projectId.number" id="projectNumber" htmlEscape="false" readonly="true" class="form-control " cssStyle="width: 200px;"/>
+ <td class="width-15 active"><label class="pull-right">业务类型:</label></td>
+ <form:select path="businessType" class="form-control ">
+ <form:options items="${fns:getMainDictList('business_type')}" itemLabel="label" itemValue="value" htmlEscape="false" cssStyle="width: 200px;"/>
+ <td class="width-15 active"><label class="pull-right">预送审金额:</label></td>
+ <form:input path="preTrialAmount" htmlEscape="false" readonly="true" class="form-control number"/>
+ <td class="width-15 active"><label class="pull-right">工作开始时间:<font color="red">*</font></label></td>
+ <input id="workStartDate" name="workStartDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date "
+ value="<fmt:formatDate value="${workEngineeringProject.workStartDate}" pattern="yyyy-MM-dd"/>"/>
+ <td class="width-25"> 至
+ <td class="width-25" colspan="2">
+ <input id="workEndDate" name="workEndDate" type="text" readonly="readonly" disabled="true" maxlength="20" class="laydate-icondate form-control layer-date "
+ value="<fmt:formatDate value="${workEngineeringProject.workEndDate}" pattern="yyyy-MM-dd"/>"/>
+ <td class="width-15 active"><label class="pull-right">业主要求:</label></td>
+ <form:textarea path="emploperRequire" htmlEscape="false" rows="3" readonly="true" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">所属公司/部门:</label></td>
+ <sys:treeselect id="office" name="office.id" value="${workEngineeringProject.office.id}" disabled="d" labelName="office.name" labelValue="${workEngineeringProject.office.name}"
+ title="部门" url="/sys/office/treeData?type=2" cssClass="form-control required" allowClear="true" notAllowSelectParent="true"/>
+ <td class="width-15 active"><label class="pull-right">工程所在地:</label></td>
+ <sys:treeselect id="area" name="area.id" value="${workEngineeringProject.area.id}" labelName="area.name" labelValue="${workEngineeringProject.area.name}"
+ title="区域" url="/sys/area/treeData" cssClass="form-control required" allowClear="true" notAllowSelectParent="true"/>
+ <td class="width-20 active" rowspan="4"><label class="pull-right">客户信息:</label></td>
+ <td class="width-15 active"><label class="pull-right"> 客户单位:<font color="red">*</font></label></td>
+ <form:input path="workClientInfo.name" id="contractName" htmlEscape="false" readonly="true" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">联系人姓名:</label></td>
+ <form:input path="workClientLinkman.name" id="linkmanName" htmlEscape="false" readonly="true" class="form-control " cssStyle="width: 200px;"/>
+ <td class="width-15 active"><label class="pull-right">职务:</label></td>
+ <form:input path="workClientLinkman.position" id="linkmanPosition" htmlEscape="false" readonly="true" class="form-control " cssStyle="width: 200px;"/>
+ <td class="width-15 active"><label class="pull-right"> 联系方式:</label></td>
+ <form:input path="workClientLinkman.linkPhone" id="linkmanPhone" htmlEscape="false" readonly="true" class="form-control " cssStyle="width: 200px;"/>
+ <td class="width-15 active"><label class="pull-right">E-mail:</label></td>
+ <form:input path="workClientLinkman.email" id="linkmanEmail" htmlEscape="false" readonly="true" class="form-control " cssStyle="width: 200px;"/>
+ </tr>--%>
+ <td class="width-20 active" rowspan="2"><label class="pull-right">合同信息:</label></td>
+ <c:when test="${workEngineeringProject.isExt eq 1}">
+ ${workEngineeringProject.contractInfoName}
+ ${workEngineeringProject.contractId.name}
+ ${workEngineeringProject.contractId.contractNum}
+ ${workEngineeringProject.projectId.name}
+ ${workEngineeringProject.projectId.number}
+ ${fns:getMainDictLabel(workEngineeringProject.businessType, 'business_type', '')}
+ <td class="width-15 active"><label class="pull-right">预送审金额(元):</label></td>
+ ${workEngineeringProject.preTrialAmount}
+ <fmt:formatDate value="${workEngineeringProject.workStartDate}" pattern="yyyy-MM-dd"/>
+ 至
+ <fmt:formatDate value="${workEngineeringProject.workEndDate}" pattern="yyyy-MM-dd"/>
+ ${workEngineeringProject.emploperRequire}
+ ${workEngineeringProject.office.name}
+ ${workEngineeringProject.area.name}
+ ${workEngineeringProject.workClientInfo.name}
+ ${workEngineeringProject.workClientLinkman.name}
+ ${workEngineeringProject.workClientLinkman.position}
+ ${workEngineeringProject.workClientLinkman.linkPhone}
+ ${workEngineeringProject.workClientLinkman.email}
@@ -0,0 +1,157 @@
+ <title>项目流程管理</title>
+ $('#btnPresent').click(function () {
+ url:"${ctx}/workprequalification/workPrequalification/present",
+ data:$('#loginForm').serialize(),
+ type:"post",
+ //只做查看时,禁用掉以下标签
+ /*$('input,textarea,select').attr('disabled',<%=request.getAttribute("disabled")%>);
+ if (${requestScope.disabled eq 'false'}) {
+ $("#startTime").attr('disabled',true);
+ $("#endTime").attr('disabled',true);
+ $("#reason").attr('disabled',true);
+ }*/
+ <h5>当前步骤--[${workEngineeringProject.act.taskName}] </h5>
+ <%-- <taskId=${task.id}&taskName=${fns:urlEncode(task.name)}&taskDefKey=${task.taskDefinitionKey}&procInsId=${task.processInstanceId}&procDefId=${task.processDefinitionId}&status=${status}></taskId>
+ --%><sys:message content="${message}"/>
+ <c:set var="status" value="${workEngineeringProject.status}" />
+ <div class="control-group">
+ <label class="control-label">合同名称:</label>
+ <div class="controls">
+ <label class="control-label">合同编号:</label>
+ <label class="control-label">项目名称:</label>
+ <label class="control-label">项目编号:</label>
+ <label class="control-label">备注信息:</label>
+ ${workEngineeringProject.remarks}
+ <label class="control-label">审批意见:</label>
+ <div class="form-actions">
+ <c:if test="${workEngineeringProject.act.taskDefKey eq 'audit'}">
+ <input id="btnSubmit" class="btn btn-primary" type="submit" value="同 意" onclick="$('#flag').val('yes')"/>
+ <input id="btnSubmit" class="btn btn-inverse" type="submit" value="驳 回" onclick="$('#flag').val('no')"/>
+ <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
+ <act:flowChart procInsId="${workEngineeringProject.processInstanceId}"/>
+ <act:histoicFlow procInsId="${workEngineeringProject.processInstanceId}"/>
@@ -0,0 +1,463 @@
+ // 回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+ if(obj == 3) {
+ $("#remarks").val("yes");
+ }else if(obj == 4){
+ $("#remarks").val("no");
+ $("input[name='isExt']").on('ifChecked', function(event){
+ var radioVal = $(this).val();
+ if(radioVal == 0){
+ $("#td1").removeClass("hide");
+ $("#td3").removeClass("hide");
+ $("#td4").removeClass("hide");
+ $("#td2").addClass("hide");
+ $("#tr1").show()
+ $("#td1").addClass("hide");
+ $("#td3").addClass("hide");
+ $("#td4").addClass("hide");
+ $("#td2").removeClass("hide");
+ $("#tr1").hide()
+ if("${workEngineeringProject.isExt}" == "1"){
+ $("#ext1").iCheck('check')
+ $("#ext").iCheck('check')
+ function chooseType() {
+ if($("#psort").val()==1){
+ $("#ssort ").attr("value","");
+ document.getElementById( "t1").style.display= "";
+ document.getElementById( "t2").style.display= "";
+ $("#ssort11").show();$("#ssort12").show();$("#ssort13").show();
+ $("#ssort21").hide();$("#ssort22").hide();$("#ssort23").hide();$("#ssort24").hide();
+ $("#ssort31").hide();$("#ssort32").hide();$("#ssort33").hide();$("#ssort34").hide();$("#ssort35").hide();$("#ssort36").hide();
+ $("#ssort41").hide();$("#ssort42").hide();
+ $("#ssort51").hide();$("#ssort52").hide();$("#ssort53").hide();$("#ssort54").hide();$("#ssort55").hide();
+ $("#ssort101").hide();$("#ssort102").hide();
+ else if($("#psort").val()==2){
+ $("#ssort11").hide();$("#ssort12").hide();$("#ssort13").hide();
+ $("#ssort21").show();$("#ssort22").show();$("#ssort23").show();$("#ssort24").show();
+ else if($("#psort").val()==3){
+ $("#ssort31").show();$("#ssort32").show();$("#ssort33").show();$("#ssort34").show();$("#ssort35").show();$("#ssort36").show();
+ else if($("#psort").val()==4){
+ $("#ssort41").show();$("#ssort42").show();
+ else if($("#psort").val()==5){
+ $("#ssort51").show();$("#ssort52").show();$("#ssort53").show();$("#ssort54").show();$("#ssort55").show();
+ else if($("#psort").val()==10){
+ $("#ssort101").show();$("#ssort102").show();
+ document.getElementById( "t1").style.display= "none";
+ document.getElementById( "t2").style.display= "none";
+ var linkManList_contract = null;
+ var d = linkManList_contract = JSON.parse(data);
+ $("#linkman_list").html("");
+ $(".linkman_attr").val("");
+ var defaultLinkMan = d[0];
+ if(defaultLinkMan != null && defaultLinkMan != undefined && defaultLinkMan !=""){
+ $("#contractNum").val(defaultLinkMan.contractNum);
+ $("#clientName").val(defaultLinkMan.clientName);
+ $("#clientId").val(defaultLinkMan.clientId);
+ $("#linkmanName").val(defaultLinkMan.linkmanName);
+ $("#linkmanPhone").val(defaultLinkMan.linkmanPhone);
+ $("#linkmanEmail").val(defaultLinkMan.linkmanEmail);
+ $("#linkmanPosition").val(defaultLinkMan.linkmanPosition);
+ $.each(d,function(n,value) {
+ var optionTag = '<option id="linkman_attr_'+n+'" type="text" value='+n+'>'+value.linkmanName+'</option>';
+ $("#linkman_list").append(optionTag);
+ $("#linkman_list option:first").prop("selected","selected").text(defaultLinkMan.linkmanName);
+ var linkManList = null;
+ function setValuee(obj){
+ url:'${ctx}/workengineeringproject/workEngineeringProject/getClientInfo',
+ linkManList = d;
+ console.log("d==="+d);
+ //$("#linkmanName").val(defaultLinkMan.linkmanName);
+ /**
+ * 查看联系人(需要用到linkManList)
+ */
+ function selectLinkman(index,target) {
+ console.log("linkManList==="+linkManList);
+ if(target=='linkman'){
+ var manList = null ;
+ //以自选为主
+ if(linkManList != null){
+ manList = linkManList; //自选的
+ console.log(1);
+ manList = linkManList_contract; //合同关联的
+ console.log(2);
+ if(manList ==null){
+ console.log(3);
+ manList = JSON.parse('${requestScope.linkmanList}');
+ var linkman = manList[index];
+ $("#linkmanPosition").val(linkman.linkmanPosition==undefined?"":linkman.linkmanPosition);
+ $("#linkmanPhone").val(linkman.linkmanPhone==undefined?"":linkman.linkmanPhone);
+ $("#linkmanEmail").val(linkman.linkmanEmail==undefined?"":linkman.linkmanEmail);
+ function display(n){
+ if(n==0){
+ $("#contractIdtd").show();
+ $("#numtd").show();
+ $("#contractNumtd").show();
+ $("#contractInfoNametd").hide();
+ $("#contractIdtd").hide();
+ $("#numtd").hide();
+ $("#contractNumtd").hide();
+ $("#contractInfoNametd").show();
+ <form:form id="inputForm" modelAttribute="workEngineeringProject" action="${ctx}/workengineeringproject/workEngineeringProject/save" method="post" class="form-horizontal">
+ <form:hidden path="remarks"/>
+ <td class="width-15 active"><label class="pull-right"> 是否签署合同 :</label></td>
+ <input type="radio" class="i-checks" name="isExt" checked id="ext" value="0">
+ <label for="ext">系统内合同</label>
+ <input type="radio" class="i-checks" name="isExt" id="ext1" value="1">
+ <label for="ext1">系统外合同</label>
+ <td class="width-25" id="td1">
+ <sys:gridselectContract url="${ctx}/workengineeringproject/workEngineeringProject/selectcontractId" id="contractId" isTotal="" name="contractId.id" type="1,2" value="${workEngineeringProject.contractId.id}" title="选择合同名称" labelName="contractId.name"
+ labelValue="${workEngineeringProject.contractId.name}" cssClass="form-control required" fieldLabels="合同信息" fieldKeys="name" searchLabel="合同名称" searchKey="name" ></sys:gridselectContract>
+ <td class="width-15 active" id="td3"><label class="pull-right">合同编号:<font color="red">*</font></label></td>
+ <td class="width-25" id="td4">
+ <form:input path="contractId.contractNum" id="contractNum" htmlEscape="false" readonly="true" class="form-control required" cssStyle="width: 200px;"/>
+ <td class="width-35 hide" colspan="3" id="td2">
+ <form:input path="contractInfoName" id="contractInfoName" htmlEscape="false" class="form-control required"/>
+ <td class="width-20 active" rowspan="3" ><label class="pull-right">是否签署合同:</label></td>
+ <td class="width-15 active"><label class="pull-right">合同标识:</label></td>
+ <%-- <sys:gridselectContract url="${ctx}/workengineeringproject/workEngineeringProject/selectcontractId" id="contractId" isTotal="" name="contractId.id" type="1,2" value="${workEngineeringProject.contractId.id}" title="选择合同名称" labelName="contractId.name"
+ labelValue="${workEngineeringProject.contractId.name}" cssClass="form-control required" fieldLabels="合同信息" fieldKeys="contractName" searchLabel="合同名称" searchKey="name" ></sys:gridselectContract>--%>
+ <sys:gridselectContract url="${ctx}/workengineeringproject/workEngineeringProject/selectcontractId" type="1,2" isTotal="" id="contractId" name="contractId.id" value="${workEngineeringProject.contractId.id}" title="选择合同" labelName="contractId.name"
+ <td class="width-25 hide" colspan="3" id="td2">
+ <td class="width-15 active" id="td3"><label class="pull-right">合同编号:</label></td>
+ <form:input path="contractId.contractNum" id="contractNum" htmlEscape="false" readonly="true" class="form-control required"/>
+ <%--<tr >
+ <td class="width-20 active" rowspan="8"><label class="pull-right">项目信息:</label></td>
+ <td class="width-15 active"><label class="pull-right">总项目名称:</label></td>
+ <c:when test="${not empty workEngineeringProject.totalProjectName}">
+ <form:input path="totalProjectName" readonly="true" class="form-control" />
+ <sys:gridselectcalltotalproject url="${ctx}/workengineeringproject/workEngineeringProject/selectprojectTotal" id="totalProjectId" name="totalProjectId" isTotal="1" value="${workEngineeringProject.totalProjectId}" title="选择总项目" labelName="workEngineeringProject.totalProjectName"
+ labelValue="${workEngineeringProject.totalProjectName}" cssClass="form-control" fieldLabels="工程" fieldKeys="totalProjectName" searchLabel="工程名称" searchKey="name" ></sys:gridselectcalltotalproject>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>项目名称:</label></td>
+ <form:input path="projectId.name" id="" htmlEscape="false" class="form-control required" />
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>项目编号:</label></td>
+ <form:input path="projectId.number" id="projectNumber" htmlEscape="false" readonly="true" class="form-control required" />
+ <td class="width-15 active"><label class="pull-right">行业分类:</label></td>
+ <form:select id="psort" path="psort" class="form-control" onChange="chooseType()"><%--onChange="changeTypeExplain(this)"--%>
+ <form:options items="${fns:getDictList('psort')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <td class="width-15 active" id="t1" style="display:none"><label class="pull-right">详细分类:</label></td>
+ <td class="width-35" id="t2" style="display:none">
+ <form:select path="ssort" class="form-control" onChange="changeTypeExplain(this)">
+ <form:options id="ssort1" items="${fns:getDictList('ssort1')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <form:options id="ssort2" items="${fns:getDictList('ssort2')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <form:options id="ssort3" items="${fns:getDictList('ssort3')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <form:options id="ssort4" items="${fns:getDictList('ssort4')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <form:options id="ssort5" items="${fns:getDictList('ssort5')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <form:options id="ssort10" items="${fns:getDictList('ssort10')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>工作开始时间:</label></td>
+ <input class="form-control required layer-date laydate-icon" id="workStartDate" name="workStartDate" value="<fmt:formatDate value="${workEngineeringProject.workStartDate}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>业务类型:</label></td>
+ <form:select path="businessType" class="form-control required">
+ <form:options items="${fns:getMainDictList('business_type')}" itemLabel="label" itemValue="value" htmlEscape="false" />
+ <td class="width-15 active"> <label class="pull-right"><font color="red">*</font>工作结束时间:</label></td>
+ <input class="form-control required layer-date laydate-icon" id="workEndDate" name="workEndDate" value="<fmt:formatDate value="${workEngineeringProject.workEndDate}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <form:input path="preTrialAmount" htmlEscape="false" class="form-control number"/>
+ <form:textarea path="emploperRequire" htmlEscape="false" rows="3" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>所属公司/部门:</label></td>
+ <sys:treeselect id="office" name="office.id" value="${workEngineeringProject.office.id}" labelName="office.name" labelValue="${workEngineeringProject.office.name}"
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>工程所在地:</label></td>
+ <td class="width-15 active"><label class="pull-right"> <font color="red">*</font>客户单位:</label></td>
+ <sys:gridselect url="${ctx}/workbidproject/workBidProject/selectbidCompany" id="client" name="workClientInfo.id" value="${workEngineeringProject.workClientInfo.id}" title="选择客户单位" labelName="workClientInfo.name"
+ labelValue="${workEngineeringProject.workClientInfo.name}" cssClass="form-control required" fieldLabels="客户" fieldKeys="name" searchLabel="客户名称" searchKey="name" ></sys:gridselect>
+ <td class="width-15 active"><label class="pull-right">查看联系人:</label></td>
+ <select id="linkman_list" onchange="selectLinkman(this.value,'linkman')" class="linkman_list max-width-250 form-control" />
+ <form:input path="workClientInfo.workClientLinkmanList[0].position" id="linkmanPosition" readonly="true" class="form-control linkman_attr"/>
+ <form:input path="workClientInfo.workClientLinkmanList[0].linkPhone" id="linkmanPhone" readonly="true" class="form-control linkman_attr"/>
+ <form:input path="workClientInfo.workClientLinkmanList[0].email" id="linkmanEmail" readonly="true" class="form-control linkman_attr"/>
@@ -0,0 +1,141 @@
+ <title>已审核项目登记管理</title>
+ <li ><a href="${ctx}/workengineeringproject/workEngineeringProject/list">项目登记列表</a></li>
+ <li><a href="${ctx}/workengineeringproject/workEngineeringProject/workEngineeringProjectTodoList">待办任务</a></li>
+ <li class="active"><a href="${ctx}/workengineeringproject/workEngineeringProject/workEngineeringProjectHistoricList">已办任务</a></li>
+ <%--<div class="ibox-tools">
+ <form:form id="searchForm" modelAttribute="act" action="${ctx}/workengineeringproject/workEngineeringProject/workEngineeringProjectHistoricList" method="get" class="form-inline">
+ <th style="text-align: center;width: 8%">流程发起人</th>
+ <th style="text-align: center;width: 8%">流程名称</th>
+ <th style="text-align: center;width: 8%">流程版本</th>
+ <th style="text-align: center;width: 20%">项目名称</th>
+ <th style="text-align: center;width: 10%">项目编号</th>
+ <th style="text-align: center;width: 8%">项目类型</th>
+ <th style="text-align: center;width: 20%">备注信息</th>
+ <th style="text-align: center;width: 13%">创建时间</th>
+ <%--<th>操作</th>--%>
+ <c:forEach items="${list}" var="workengineeringproject">
+ <c:set var="task" value="${workengineeringproject.act.task}" />
+ <c:set var="vars" value="${workengineeringproject.act.vars}" />
+ <c:set var="procDef" value="${workengineeringproject.act.procDef}" />
+ <c:set var="status" value="${workengineeringproject.act.status}" />
+ <td>${workengineeringproject.act.vars.map.applyUserId}</td>
+ <td><b title='流程版本号'>V: ${procDef.version}</b></td>
+ <a href="javascript:void(0)" onclick="openDialogView('查看工程项目信息', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workengineeringproject.id}&name=view','80%','80%')">
+ <span title="${workengineeringproject.projectId.name}">${fns:abbr(workengineeringproject.projectId.name,30)}</span>
+ <span title="${workengineeringproject.projectId.name}">${fns:abbr(workengineeringproject.projectId.number,30)}</span>
+ <td>${fns:getMainDictLabel(workengineeringproject.businessType, 'business_type', '')}</td>
+ <td>${workengineeringproject.remarks}</td>
+ <td><fmt:formatDate value="${workengineeringproject.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
+ <%--<td>
+ </td>--%>
+ <td>${act.vars.map.applyUserId}</td>
@@ -0,0 +1,383 @@
+ <%@include file="/webpage/include/treetable.jsp" %>
+ $("#treeTable").treeTable({expandLevel : 1,column:1}).show();
+ $('#moresees').slideUp('slow');
+ $(this).text("更多").removeClass("fa fa-chevron-up").addClass("fa fa-chevron-down");
+ //document.getElementById("moresees").style.visibility = "hidden";
+ $('#moresees').slideDown('slow');
+ $(this).text("收起").removeClass("fa fa-chevron-down").addClass("fa fa-chevron-up");
+ //document.getElementById("moresees").style.visibility = "visible";
+ btn: ['通过','驳回','关闭'],
+ function openDialogreToo(title,url,width,height,target){
+ btn: ['重新申请','撤回','关闭'],
+ if(iframeWin.contentWindow.doSubmit(3) ){
+ //top.layer.close(index);//关闭对话框。
+ if(iframeWin.contentWindow.doSubmit(4) ){
+ <li class="active"><a href="${ctx}/workengineeringproject/workEngineeringProject/list">项目登记列表</a></li>
+ <li><a href="${ctx}/workengineeringproject/workEngineeringProject/workEngineeringProjectHistoricList">已办任务</a></li>
+ <form:form id="searchForm" modelAttribute="workEngineeringProject" action="${ctx}/workengineeringproject/workEngineeringProject/" method="post" class="form-inline">
+ <a href="#" id="moresee" class="fa fa-chevron-down" style="float: right;">更多</a>
+ <span>报告号:</span>
+ <form:input path="reportNumber" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <span>项目名称:</span>
+ <form:input path="projectId.name" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <%--<sys:gridselect url="${ctx}/workengineeringproject/workEngineeringProject/selectprojectId" id="projectId" name="projectId" value="${workEngineeringProject.projectId.id}" title="选择项目外键id" labelName="projectId.projectName"
+ labelValue="${workEngineeringProject.projectId.projectName}" cssClass="form-control required" fieldLabels="项目id" fieldKeys="id" searchLabel="项目名称" searchKey="projectName" ></sys:gridselect>
+ --%>
+ <span>业务类型:</span>
+ <form:select path="businessType" class="form-control m-b">
+ <form:options items="${fns:getMainDictList('business_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <div style="display:none;margin-top: 15px" id="moresees">
+ <span>项目状态:</span>
+ <form:select path="status" class="form-control m-b">
+ <form:options items="${fns:getDictList('engineering_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <span>行业分类:</span>
+ <form:select path="psort" class="form-control m-b">
+ <span>地区:</span>
+ title="区域" url="/sys/area/treeData" cssClass="form-control input-sm" allowClear="true" notAllowSelectParent="false"/>
+ <shiro:hasPermission name="workengineeringproject:workEngineeringProject:add">
+ <table:addRow url="${ctx}/workengineeringproject/workEngineeringProject/form" title="工程项目信息"></table:addRow><!-- 增加按钮 -->
+ <%--<shiro:hasPermission name="workengineeringproject:workEngineeringProject:edit">
+ <table:editRow url="${ctx}/workengineeringproject/workEngineeringProject/form" title="工程项目信息" id="contentTable"></table:editRow><!-- 编辑按钮 -->
+ <shiro:hasPermission name="workengineeringproject:workEngineeringProject:del">
+ <table:delRow url="${ctx}/workengineeringproject/workEngineeringProject/deleteAll" id="contentTable"></table:delRow><!-- 删除按钮 -->
+ <shiro:hasPermission name="workengineeringproject:workEngineeringProject:import">
+ <table:importExcel url="${ctx}/workengineeringproject/workEngineeringProject/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workengineeringproject:workEngineeringProject:export">
+ <table:exportExcel url="${ctx}/workengineeringproject/workEngineeringProject/export"></table:exportExcel><!-- 导出按钮 -->
+ <table id="treeTable" class="table table-striped table-bordered table-hover table-condensed dataTables-example dataTable">
+ <%--<th class="sort-column totalProjectName">总项目名称</th>--%>
+ <th style="text-align: center;" class="sort-column remarks">项目编号</th>
+ <th style="text-align: center;" class="sort-column projectId.id">项目名称</th>
+ <th style="text-align: center;" class="sort-column reportNumber">报告号</th>
+ <th style="text-align: center;" class="sort-column businessType">业务类型</th>
+ <th style="text-align: center;" class="sort-column client.id">客户单位</th>
+ <th style="text-align: center;" >项目负责人</th>
+ <th style="text-align: center;" class="sort-column createDate">创建时间</th>
+ <th style="text-align: center;" class="sort-column status">项目状态</th>
+ <th style="text-align: center;" >流程追踪</th>
+ <th style="text-align: center;">操作</th>
+ <c:when test="${not empty page.list}">
+ <c:forEach items="${page.list}" var="workEngineeringProject">
+ <tr id="${workEngineeringProject.id}" pId="${workEngineeringProject.totalProjectId ne '1'?workEngineeringProject.totalProjectId:'0'}">
+ <%--<td> <input type="checkbox" id="${workEngineeringProject.id}" class="i-checks"></td>--%>
+ <td width="15%">
+ <span title="${workEngineeringProject.projectId.number}">${fns:abbr(workEngineeringProject.projectId.number,50)}</span>
+ <%--<td>--%>
+ <%--<a href="javascript:void(0)" onclick="openDialogView('查看工程项目信息', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&name=view','80%','80%')">--%>
+ <%--<span title="${workEngineeringProject.totalProjectName}">${fns:abbr(workEngineeringProject.totalProjectName,30)}</span>--%>
+ <%--</a>--%>
+ <%--</td>--%>
+ <a href="javascript:void(0)" onclick="openDialogView('查看工程项目信息', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&name=view','80%','80%')">
+ <span title="${workEngineeringProject.projectId.name}">${fns:abbr(workEngineeringProject.projectId.name,30)}</span>
+ <span title="${workEngineeringProject.reportNumber}">${fns:abbr(workEngineeringProject.reportNumber,30)}</span>
+ <a href="javascript:void(0)" onclick="openDialogView('查看客户管理', '${ctx}/workclientinfo/workClientInfo/detail?id=${workEngineeringProject.workClientInfo.id}','80%','80%')">
+ <span title="${workEngineeringProject.workClientInfo.name}">${fns:abbr(workEngineeringProject.workClientInfo.name,30)}</span>
+ ${fns:abbr(workEngineeringProject.hostOfficeMasterName,30)}
+ <fmt:formatDate value="${workEngineeringProject.createDate}" pattern="yyyy-MM-dd"/>
+ ${fns:getDictLabel(workEngineeringProject.status, 'engineering_type', '')}
+ <c:when test="${workEngineeringProject.status eq '1' && fns:getUser().id eq workEngineeringProject.createBy.id}">
+ <a href="${ctx}/workengineeringproject/workEngineeringProject/startposs?id=${workEngineeringProject.id}" onclick="return confirmx('确认要发起项目分配吗?', this.href)" class="btn btn-info btn-xs"> 发起项目分配</a>
+ <c:when test="${workEngineeringProject.status eq '2' && name}">
+ <a href="javascript:void(0)" onclick="openDialogre('项目分配', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&name=edit','80%','80%')" class="btn btn-success btn-xs" > 项目分配</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('当前无操作权限!',{icon:2})" class="btn btn-default btn-xs">项目分配</a>
+ <div style="text-align: center">
+ <c:when test="${workEngineeringProject.status ne '1' || not empty workEngineeringProject.remarks}">
+ <a href="javascript:void(0)" onclick="openDialogView('流程追踪', '${ctx}/workengineeringproject/workEngineeringProject/getProcess?id=${workEngineeringProject.id}&name=1','80%','80%')" class="btn btn-info btn-xs" > 流程追踪</a>
+ <c:when test="${zg || fns:getUser().id eq workEngineeringProject.createBy.id ||
+ fn:containsIgnoreCase(workEngineeringProject.hostOfficeMaster,fns:getUser().id) ||fn:containsIgnoreCase(workEngineeringProject.jointlyOfficeMaster,fns:getUser().id) ||
+ fn:containsIgnoreCase(workEngineeringProject.hostOfficeMember,fns:getUser().id) ||fn:containsIgnoreCase(workEngineeringProject.jointlyOfficeMember,fns:getUser().id)}">
+ <c:when test="${not empty workEngineeringProject.remarks && workEngineeringProject.remarks eq '重新申请' && workEngineeringProject.queryCon eq 'true' && fns:getUser().id eq workEngineeringProject.createBy.id}">
+ <a href="javascript:void(0)" onclick="openDialogreToo('重新申请项目信息', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <a href="${ctx}/workengineeringproject/workEngineeringProject/delete?id=${workEngineeringProject.id}" onclick="return confirmx('确认要删除该登记项目吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
+ <c:when test="${empty workEngineeringProject.proofreadStatus && workEngineeringProject.status > 2 && workEngineeringProject.status < 6}">
+ <a href="javascript:void(0)" onclick="openDialog('修改工程项目信息', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <c:when test="${(zg && workEngineeringProject.proofreadStatus == 3) || workEngineeringProject.proofreadStatus == 4}">
+ <c:when test="${empty workEngineeringProject.queryCon && fns:getUser().id eq workEngineeringProject.createBy.id && workEngineeringProject.status == 6}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('您没有权限修改此项目!',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('您没有权限删除此项目!',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-trash"></i>删除</a>
+ <%--<c:choose>
+ <c:when test="${workEngineeringProject.proofreadStatus == 3 && !zg}">
+ </c:choose>--%>
@@ -0,0 +1,22 @@
+ <title>工程项目流程追踪</title>
+ <c:if test="${type eq '1'}">
+ <act:flowChart procInsId="${processInstanceId}"/>
+ <act:histoicFlow procInsId="${processInstanceId}"/>
+ <c:if test="${type eq '2'}">
+ <act:flowChart procInsId="${processInstanceProofreadId}"/>
+ <act:histoicFlow procInsId="${processInstanceProofreadId}"/>
@@ -0,0 +1,220 @@
+ <title>待审核项目登记管理</title>
+ location = '${ctx}/workengineeringproject/workengineeringproject/list/?pageNo='+n+'&pageSize='+s;
+ * 签收任务
+ function claim(taskId) {
+ $.get('${ctx}/act/task/claim' ,{taskId: taskId}, function(data) {
+ if (data == 'true'){
+ top.$.jBox.tip('签收完成');
+ location = '${ctx}/workengineeringproject/workengineeringproject/workengineeringprojectTodoList/';
+ top.$.jBox.tip('签收失败');
+ // top.layer.close(index);//关闭对话框。
+ <li class="active"><a href="${ctx}/workengineeringproject/workEngineeringProject/workEngineeringProjectTodoList">待办任务</a></li>
+ <form:form id="searchForm" modelAttribute="act" action="${ctx}/workengineeringproject/workEngineeringProject/workEngineeringProjectTodoList" method="get" class="form-inline">
+ <th style="text-align: center;width: 8%">当前环节</th>
+ <th style="text-align: center;width: 15%">项目名称</th>
+ <th style="text-align: center;width: 10%">项目类型</th>
+ <th style="text-align: center;width: 10%">备注信息</th>
+ <th style="text-align: center;width: 8%">操作</th>
+ <td><fmt:formatDate value="${task.createTime}" type="both"/></td>
+ <a href="javascript:void(0)" onclick="openDialogre('查看资格预审项目', '${ctx}/workengineeringproject/workEngineeringProject/applyOnWorkEngineeringProject?taskId=${task.id}&taskName=${fns:urlEncode(task.name)}&taskDefKey=${task.taskDefinitionKey}&procInsId=${task.processInstanceId}&procDefId=${task.processDefinitionId}&status=${status}','80%','80%','','同意','驳回')" class="btn btn-info btn-xs" > 任务办理</a>
+ <%--<c:if test="${empty task.assignee}">
+ <a href="javascript:claim('${task.id}');" class="btn btn-white btn-xs" >签收任务</a>
+ <c:if test="${not empty task.assignee}">
+ </c:if>--%>
@@ -0,0 +1,325 @@
+ url:'${ctx}/workreimbursement/workReimbursement/getProjectInfo',
+ if(${requestScope.linkmanList !=null}){
+ var defaultLinkmanName = "";
+ $.each(JSON.parse('${requestScope.linkmanList}'),function(n,value){
+ defaultLinkmanName=value.linkmanName;
+ $("#linkman_list option:first").prop("selected","selected").text(defaultLinkmanName);
+ var manList = JSON.parse('${requestScope.linkmanList}');
+ $("#linkmanPosition").val(linkman.linkmanPosition);
+ $("#linkmanPhone").val(linkman.linkmanPhone);
+ $("#linkmanEmail").val(linkman.linkmanEmail);
+<div class="tabs-container">
+ <li class="active"><a href="javascript:void(0)">项目基本信息</a></li>
+ <li>
+ <c:if test="${workEngineeringProject.isExt ne 1}">
+ <a href="${ctx}/workengineeringproject/workEngineeringProject/getClientContractionInfo?id=${workEngineeringProject.id}">客户合同信息</a>
+ <div class="tab-content">
+ <div id="tab-1" class="tab-pane active">
+ ${workEngineeringProject.totalProjectName}
+ <td class="width-15 active"><label class="pull-right">总项目编号:</label></td>
+ ${workEngineeringProject.totalProjectId}
+ <td class="width-15 active"><label class="pull-right">项目名称:</label></td>
+ <td class="width-15 active"><label class="pull-right">项目编号:</label></td>
+ ${fns:getDictLabel(workEngineeringProject.psort, 'psort', '')}
+ <td class="width-15 active"><label class="pull-right">详细分类:</label></td>
+ <c:when test="${workEngineeringProject.psort eq 1}">
+ ${fns:getDictLabel(workEngineeringProject.ssort, 'ssort1', '')}
+ <c:when test="${workEngineeringProject.psort eq 2}">
+ ${fns:getDictLabel(workEngineeringProject.ssort, 'ssort2', '')}
+ <c:when test="${workEngineeringProject.psort eq 3}">
+ ${fns:getDictLabel(workEngineeringProject.ssort, 'ssort3', '')}
+ <c:when test="${workEngineeringProject.psort eq 4}">
+ ${fns:getDictLabel(workEngineeringProject.ssort, 'ssort4', '')}
+ <c:when test="${workEngineeringProject.psort eq 5}">
+ ${fns:getDictLabel(workEngineeringProject.ssort, 'ssort5', '')}
+ <c:when test="${workEngineeringProject.psort eq 10}">
+ ${fns:getDictLabel(workEngineeringProject.ssort, 'ssort10', '')}
+ 无
+ <td class="width-15 active"><label class="pull-right">工作开始时间:</label></td>
+ <td class="width-15 active"><label class="pull-right"> 客户单位:</label></td>
+ <select id="linkman_list" onchange="selectLinkman(this.value,'linkman')" class="linkman_list max-width-200 form-control" />
+ <input value="${workEngineeringProject.workClientInfo.workClientLinkmanList[0].position}" id="linkmanPosition" readonly="true" class="form-control linkman_attr"/>
+ <input value="${workEngineeringProject.workClientInfo.workClientLinkmanList[0].linkPhone}" id="linkmanPhone" readonly="true" class="form-control linkman_attr"/>
+ <input value="${workEngineeringProject.workClientInfo.workClientLinkmanList[0].email}" id="linkmanEmail" readonly="true" class="form-control linkman_attr"/>
+ <td class="width-15 active"><label class="pull-right">主办</br>公司/部门:</label></td>
+ ${workEngineeringProject.hostOfficeName}
+ ${workEngineeringProject.jointlyOfficeName}
+ <td class="width-20 active" rowspan="5"><label class="pull-right">人员安排:</label></td>
+ <td class="width-15 active"><label class="pull-right">主办公司/部门</br>项目负责人:</label></td>
+ ${workEngineeringProject.hostOfficeMasterName}
+ ${workEngineeringProject.jointlyOfficeMasterName}
+ ${workEngineeringProject.hostOfficeMemberNames}
+ ${workEngineeringProject.jointlyOfficeMemberNames}
@@ -0,0 +1,365 @@
+ <title>档案归档</title>
+ if(obj == 1){
+ $('#flag').val('yes');
+ $('#flag').val('no');
+ $("#name").focus();
+ <h5>项目归档审批 </h5>
+ <form:form id="inputForm" modelAttribute="workFullRecord" action="${ctx}/engineeringrecord/engineeringrecord/saveAudit" method="post" class="form-horizontal">
+ <c:if test="${glygd}">
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>案卷名称:</label></td>
+ <form:input path="recordName" htmlEscape="false" class="form-control " readonly="true" value="${workFullRecord.recordName}"/>
+ <input type="hidden" name="workEngineeringProject.id" value="${workEngineeringProject.id}" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>案卷号:</label></td>
+ <form:input path="recordNumber" htmlEscape="false" readonly="true" value="${workFullRecord.recordNumber}" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">归档号:</label></td>
+ <form:input path="backRecordNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">所属卷库:</label></td>
+ <form:select path="recordLibNumber" class="form-control ">
+ <form:options items="${fns:getDictList('record_lib_number')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <td class="width-15 active"><label class="pull-right">归档年代:</label></td>
+ <form:input path="backRecordYear" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">所属部门:</label></td>
+ <sys:treeselect id="backRecordDept" name="backRecordDept.id" value="${workFullRecord.backRecordDept.id}" labelName="backRecordDept.name" labelValue="${workFullRecord.backRecordDept.name}"
+ title="部门" url="/sys/office/treeDataAll?type=2" cssClass="form-control " allowClear="true" notAllowSelectParent="true"/>
+ <td class="width-15 active"><label class="pull-right">编制机构:</label></td>
+ <form:input path="compleOrganization" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">保管期限:</label></td>
+ <form:select path="retentionPeriod" class="form-control ">
+ <form:options items="${fns:getDictList('retention_period')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <td class="width-15 active"><label class="pull-right">起止日期:</label></td>
+ <td class="width-25" style="display: inline-block;">
+ <%--<input id="startTime" name="startTime" type="text" maxlength="20" class="laydate-icon form-control layer-date "--%>
+ <%--value="<fmt:formatDate value="${startTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>--%>
+ <%--<input id="endTime" name="endTime" type="text" maxlength="20" class="laydate-icon form-control layer-date "--%>
+ <%--value="/>--%>
+ <div class="col-sm-5" style="padding: 0;">
+ <input class="form-control" id="startTime" name="startTime" value="<fmt:formatDate value="${workFullRecord.startTime}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <div class="col-sm-2 text-center" style="padding: 0;vertical-align: middle;line-height: 30px;">
+ 至
+ <input class="form-control" id="endTime" name="endTime" value="<fmt:formatDate value="${workFullRecord.endTime}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <td class="width-15 active"><label class="pull-right">案卷密级:</label></td>
+ <form:select path="recordSecretLevel" class="form-control ">
+ <form:options items="${fns:getDictList('record_secret_level')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <td class="width-15 active"><label class="pull-right">全宗号:</label></td>
+ <form:input path="fondsNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">目录号:</label></td>
+ <form:input path="listsNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">归档馆号:</label></td>
+ <form:input path="recordProNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">保险箱号:</label></td>
+ <form:input path="strongboxNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">缩微号:</label></td>
+ <form:input path="microNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">凭证类别:</label></td>
+ <form:select path="ekkoType" class="form-control ">
+ <form:options items="${fns:getDictList('ekko_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <td class="width-15 active"><label class="pull-right">凭证编号:</label></td>
+ <form:input path="ekkoBstypOne" htmlEscape="false" class="form-control "/>
+ <form:input path="ekkoBstypTwo" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">报告号:</label></td>
+ <form:input path="reportNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">页数:</label></td>
+ <form:input path="pageNumber" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">案卷管理员:</label></td>
+ <form:input path="manageId" htmlEscape="false" readonly="true" class="form-control "/>
+ <form:hidden path="manageUser"/>
+ <td class="width-15 active"><label class="pull-right">备注:</label></td>
+ <c:if test="${!glygd}">
+ ${workFullRecord.recordName}
+ <input type="hidden" name="workEngineeringProject.id" value="${workFullRecord.workEngineeringProject.id}" class="form-control "/>
+ ${workFullRecord.recordNumber}
+ <%--<td class="width-15 active"><label class="pull-right"><font color="red">*</font>归档号:</label></td>
+ ${workFullRecord.backRecordNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>所属卷库:</label></td>
+ ${fns:getDictLabel(workFullRecord.recordLibNumber, 'record_lib_number', '')}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>归档年代:</label></td>
+ ${workFullRecord.backRecordYear}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>所属部门:</label></td>
+ ${workFullRecord.backRecordDept.name}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>编制结构:</label></td>
+ ${workFullRecord.compleOrganization}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>起止日期:</label></td>
+ <div class="col-sm-5" style="padding: 5px 0 0 0 ;">
+ <fmt:formatDate value="${workFullRecord.startTime}" pattern="yyyy-MM-dd" />
+ <fmt:formatDate value="${workFullRecord.endTime}" pattern="yyyy-MM-dd" />
+ <%--<td class="width-15 active"><label class="pull-right"><font color="red">*</font>保管期限:</label></td>
+ ${fns:getDictLabel(workFullRecord.retentionPeriod, 'retention_period', '')}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>案卷密级:</label></td>
+ ${fns:getDictLabel(workFullRecord.recordSecretLevel, 'record_secret_level', '')}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>全宗号:</label></td>
+ ${workFullRecord.fondsNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>目录号:</label></td>
+ ${workFullRecord.listsNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>归档馆号:</label></td>
+ ${workFullRecord.recordProNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>保险箱号:</label></td>
+ ${workFullRecord.strongboxNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>缩微号:</label></td>
+ ${workFullRecord.microNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>凭证类别:</label></td>
+ ${fns:getDictLabel(workFullRecord.ekkoType, 'ekko_type', '')}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>凭证编号:</label></td>
+ ${workFullRecord.ekkoBstypOne}
+ ${workFullRecord.ekkoBstypTwo}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>报告号:</label></td>
+ ${workFullRecord.reportNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>页数:</label></td>
+ ${workFullRecord.pageNumber}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>案卷管理员:</label></td>
+ ${workFullRecord.manageId}
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>备注:</label></td>
+ ${workFullRecord.remarks}
+ <form:textarea path="act.comment" htmlEscape="form-control" rows="4" class="form-control required"/>
+ <act:flowChart procInsId="${workFullRecord.act.procInsId}"/>
+ <act:histoicFlow procInsId="${workFullRecord.act.procInsId}"/>
@@ -0,0 +1,600 @@
+ <title>项目归档</title>
+ <style type="text/css">
+ .table{
+ margin-bottom: 0px;
+ .workfull>.form-horizontal{
+ margin: 0;
+ padding: 0;
+ <label>项目信息</label>
+ <td class="width-15 active"><label class="pull-right">创建日期:<font color="red">*</font></label></td>
+ <label>文件信息</label>
+ <td class="width-15 active" ><label class="pull-right">报告文件:</label></td>
+ <table id="workReportList" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <%--<c:forEach items="${workReportList}" var="attachment" varStatus="status">
+ <td>${attachment.attachmentName}</td>
+ <a href="${attachment.url}" class="btn btn-white btn-xs">下载</a>
+ </c:forEach>--%>
+ <c:forEach items="${workReportList}" var="attachment" varStatus="status">
+ or fn:containsIgnoreCase(attachment.attachmentName,'bmp')
+ <td><a href="javascript:void(0)" onclick="preview('预览','${attachment.url}','80%','80%','1')">${attachment.attachmentName}</a></td>
+ <%--<td><a href="javascript:void(0)" onclick="POBrowser.openWindow('${ctx}/previewController/previewUrl?fileUrl=${workClientAttachment.url}','80%','80%')">${workClientAttachment.attachmentName}</a></td>--%>
+ <%--<td><a href="javascript:void(0)" onclick="POBrowser.openWindow('/ruihua/openword','80%','80%')">${workClientAttachment.attachmentName}</a></td>--%>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${attachment.url}','80%','80%')">${attachment.attachmentName}</a></td>
+ <%--<td><a href="javascript:void(0)" onclick="POBrowser.openWindow('/ruihua/openexcel','80%','80%')">${workClientAttachment.attachmentName}</a></td>--%>
+ <%--<td><a href="javascript:void(0)" onclick="POBrowser.openWindow('/ruihua/openppt','80%','80%')">${workClientAttachment.attachmentName}</a></td>--%>
+ <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/workengineeringproject/workEngineeringProject/deleteFileFromAliyun?attachmentId=${attachment.id}&id=${workEngineeringProject.id}&type=2')" class="btn btn-danger btn-xs" >删除</a>
+ <td class="width-15 active"><label class="pull-right">依据性资料:</label></td>
+ <table id="workBasisInformationList" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <c:forEach items="${workBasisInformationList}" var="attachment" varStatus="status">
+ <td class="width-15 active"><label class="pull-right">过程控制资料:</label></td>
+ <table id="workRemoteControlList" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <c:forEach items="${workRemoteControlList}" var="attachment" varStatus="status">
+ <td class="width-15 active"><label class="pull-right">汇总表:</label></td>
+ <table id="workSummaryList" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <c:forEach items="${workSummaryList}" var="attachment" varStatus="status">
+ <td class="width-15 active"><label class="pull-right">其他资料:</label></td>
+ <table id="workOtherList" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <c:forEach items="${workOtherList}" var="attachment" varStatus="status">
+ <label>档案信息</label>
+ <div class="col-sm-10 workfull" >
+ <form:form id="inputForm" modelAttribute="workFullRecord" action="${ctx}/engineeringrecord/engineeringrecord/save" method="post" class="form-horizontal">
+ <form:input path="manageUser" htmlEscape="false" class="form-control "/>
@@ -0,0 +1,230 @@
+ btn: ['保存','关闭'],
+ yes: function(index, layero){
+ if(iframeWin.contentWindow.doSubmit()){
+ top.layer.close(index);
+ <li class="active"><a href="${ctx}/engineeringrecord/engineeringrecord/list">工程项目归档信息</a></li>
+ <form:form id="searchForm" modelAttribute="workEngineeringProject" action="${ctx}/engineeringrecord/engineeringrecord/" method="post" class="form-inline">
+ <form:input path="contractId.name" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <th class="sort-column reportNumber">报告号</th>
+ <%--<th class="sort-column remarks">项目编号</th>--%>
+ <th class="sort-column totalProjectName">总项目名称</th>
+ <th class="sort-column projectId">项目名称</th>
+ <th class="sort-column businessType">业务类型</th>
+ <th class="sort-column contractId.client.name">客户单位</th>
+ <th >项目负责人</th>
+ <th class="sort-column createDate">创建时间</th>
+ <th class="sort-column status">项目状态</th>
+ <th class="sort-column status">项目归档</th>
+ <th class="sort-column status">流程追踪</th>
+ <td> <input type="checkbox" id="${workEngineeringProject.id}" class="i-checks"></td>
+ <%--<span title="${workEngineeringProject.projectId.number}">${fns:abbr(workEngineeringProject.projectId.number,30)}</span>--%>
+ <span title="${workEngineeringProject.totalProjectName}">${fns:abbr(workEngineeringProject.totalProjectName,30)}</span>
+ <c:when test="${workEngineeringProject.status eq 5 && !fn:containsIgnoreCase(workEngineeringProject.remarks,'归档') && fns:getUser().id eq workEngineeringProject.createBy.id}">
+ <%--<a href="javascript:void(0)" onclick="openDialogre('项目归档','${ctx}/engineeringrecord/engineeringrecord/form?engineeringrecord=${workEngineeringProject.id}','80%','80%')" class="btn btn-info btn-xs">项目归档</a>--%>
+ <a href="${ctx}/engineeringrecord/engineeringrecord/startposs?engineeringId=${workEngineeringProject.id}" onclick="return confirmx('确认要发起项目归档吗?', this.href)" class="btn btn-info btn-xs"> 项目归档</a>
+ <%--<c:when test="${workEngineeringProject.status eq 5 && fn:containsIgnoreCase(workEngineeringProject.remarks,'归档') && glygd}">
+ <a href="javascript:void(0)" onclick="openDialogre('项目归档','${ctx}/engineeringrecord/engineeringrecord/form?engineeringId=${workEngineeringProject.id}','80%','80%')" class="btn btn-info btn-xs">项目归档</a>
+ </c:when>--%>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('当前状态不能进行项目归档!',{icon:2})" class="btn btn-default btn-xs">项目归档</a>
+ <c:when test="${workEngineeringProject.status eq 5 && fn:containsIgnoreCase(workEngineeringProject.remarks,'归档')}">
+ <a href="javascript:void(0)" onclick="openDialogView('流程追踪', '${ctx}/engineeringrecord/engineeringrecord/getProcessOne?engineeringId=${workEngineeringProject.id}','80%','80%')" class="btn btn-info btn-xs" > 流程追踪</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('当前流程未启动!',{icon:2})" class="btn btn-default btn-xs">流程追踪</a>
+ <a href="javascript:void(0)" onclick="openDialogView('查看工程项目归档信息', '${ctx}/engineeringrecord/engineeringrecord/form?engineeringId=${workEngineeringProject.id}&tabId=10','1080px', '500px')" class="btn btn-info btn-xs" ><i class="fa fa-search"></i> 查看</a>
@@ -0,0 +1,578 @@
+ <input type="hidden" name="workFullManage.id" value="${workFullRecord.workFullManage.id}" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>归档号:</label></td>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>保管期限:</label></td>
@@ -0,0 +1,457 @@
+ <title>项目计划管理</title>
+ if(obj == 2){
+ $("#inputForm").attr("action","${ctx}/workengineeringproject/workEngineeringProject/storePlan");
+ $("#inputForm").attr("action","${ctx}/workengineeringproject/workEngineeringProject/savePlan");
+ function openBill(title,url,width,height,target,formId,eleId){
+ btn: ['确定','关闭'],
+ var $document = iframeWin.contentWindow.document;
+ formSubmit($document,formId,eleId,index);
+ function formSubmit($document,inputForm,workProjectPlans,index){
+ var validateForm = $($document.getElementById(inputForm)).validate({
+ $($document.getElementById("#messageBox")).text("输入有误,请先更正。");
+ var data = 'error'
+ $($document.getElementById(inputForm)).ajaxSubmit({
+ success:function(data) {
+ var d = data;
+ /*var formUrl = '${ctx}/workengineeringproject/workEngineeringProject/addPlanRow?&id='+d.id;
+ var formId = 'inputFormDesign';
+ var tableId = '#planId';
+ var deleteUrl = '${ctx}/workengineeringproject/workEngineeringProject/deleteRow?id='+d.id;
+ var lenght = $("#workProjectPlans tr").length;
+ var taskcount = lenght+1;
+ var str = '<tr id="trId">'+
+ '<td>'+
+ '</td>'+
+ taskcount+
+ '<input name="workProjectPlans['+lenght+'].taskName" type="text" class="form-control required" value="'+d.taskName+'"/>'+
+ '<input id="startTime1" name="workProjectPlans['+lenght+'].startTime" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="'+d.startTime+'"/>'+
+ '<input id="endTime1" name="workProjectPlans['+lenght+'].endTime" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="'+d.endTime+'"/>'+
+ '<select id="'+lenght+'" name="workProjectPlans['+lenght+'].remindUser.id" class="form-control m-b">'+
+ '<c:forEach items="${users}" var="u">'+
+ '<option value="${u.id }"'+
+ '<c:if test="${plan.remindUser.id==u.id}">'+
+ '<c:out value="selected"/>'+
+ '</c:if>>'+
+ '${u.name}'+
+ '</option>'+
+ '</c:forEach>'+
+ '</select>'+
+ '<input id="remindDate1" name="workProjectPlans['+lenght+'].remindDate" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="'+d.remindDate+'"/>'+
+ '<input name="workProjectPlans['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="'+d.ids+'"/>'+
+ '</tr>';
+ $(workProjectPlans).append(str);*/
+ parent.layer.msg(d.str,{icon:1});
+ location.reload();
+ var list = "${workAttachmentList}";
+ var files = $("#attachment_file")[0].files;
+ for(var i = 0;i<files.length;i++) {
+ var file = files[i];
+ var attachmentId = $("#id").val();
+ var attachmentFlag = "4";
+ var storeAs = "attachment-file/workProjectPlan/"+timestamp+"/"+file['name'];
+ /*var formData = new FormData();
+ formData.append("attachment_file",$("#attachment_file")[0].files[0]);
+ formData.append("srcName","workEngineeringProject");
+ formData.append("attachmentFlag","4");
+ formData.append("id",$("#id").val());
+ url:'${ctx}/sys/workattachment/uploadFiletoAly',
+ type:"POST",
+ data:formData,
+ processData:false,
+ contentType:false,
+ cache:false,
+ if(data.status=="Success"){
+ parent.layer.msg("上传成功!",{icon:1});
+ var lenght = $("#workAttachments tr").length;
+ var str = '<tr id="trIdAdds">'+
+ '<td>'+(lenght+1)+'</td>'+
+ '<td>' ;
+ if (isContains("jpg,png,gif,bmp,jpeg",data.type)){
+ str = str +'<img src="'+data.url+'" width="50" height="50" alt="'+data.attachmentName+'"/>';
+ }else if(isContains("pdf",data.type)){
+ str = str + '<a href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'800px\',\'500px\',\'1\')">'+data.attachmentName+'</a>';
+ str = str + '<a href="javascript:void(0)" onclick="preview(\'预览\',\''+data.url+'\',\'800px\',\'500px\')">'+data.attachmentName+'</a>';
+ str = str +'</td>'+
+ '<td>'+data.createByName+'</td>'+
+ '<td>'+data.createDate+
+ '<input name="workAttachments['+lenght+'].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.id+'"/>'+
+ '<input name="workAttachments['+lenght+'].attachmentId" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentId+'"/>'+
+ '<input name="workAttachments['+lenght+'].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.url+'"/>'+
+ '<input name="workAttachments['+lenght+'].attachmentName" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentName+'"/>'+
+ '<input name="workAttachments['+lenght+'].createBy.id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.createBy+'"/>'+
+ '<input name="workAttachments['+lenght+'].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.type+'"/>'+
+ '<input name="workAttachments['+lenght+'].attachmentFlag" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="'+data.attachmentFlag+'"/>'+
+ '<a href="${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+data.url+'" class="btn btn-success btn-xs">下载</a>'+
+ ' <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,\'${ctx}/workengineeringproject/workEngineeringProject/deleteFileFromAliyun?attachmentId='+data.id+'&url='+data.url+'&id=${workEngineeringProject.id}&type=2\')" class="btn btn-danger btn-xs" >删除</a>'+
+ ' </td>'+
+ $(workAttachments).append(str);
+ $(this).live("click",function () {
+ parent.layer.msg("上传失败!",{icon:2});
+ $("#attachment_title_div").remove();
+ var t1 = tValue.lastIndexOf("\\");
+ if(t1 >= 0 && t1 < tValue.length){
+ $("#attachment_title").text(tValue.substring(t1+1));
+ $("#attachment_title").after("<div id='attachment_title_div' style='float: right'> <span id='attachment_delete' onclick='attachment_del()'style='color: red ; cursor: pointer;'>x</span></div>");
+ function attachment_del() {
+ $("#attachment_file").val("");
+ $("#attachment_title").text("");
+ $("#attachment_delete").remove();
+ function deleteRowAll(obj){
+ url:'${ctx}/workengineeringproject/workEngineeringProject/deleteRow',
+ "ids":obj
+ if (d.str == "success"){
+ parent.layer.msg(d.str,{icon:2});
+ function isContains(str, substr) {
+ return str.indexOf(substr) >= 0;
+ <%--<button class="btn btn-white btn-sm" title="资格预审项目" onclick="rowAdd()"><i class="fa fa-plus"></i> 新增</button>
+ <table:removeRow id="contentTable"></table:removeRow><!-- 删除按钮 -->--%>
+ <p>
+ <table:removeRow url="${ctx}/workengineeringproject/workEngineeringProject/deleteRow" id="contentTable"></table:removeRow><!-- 删除按钮 -->
+
+ <span onclick="openBill('添加','${ctx}/workengineeringproject/workEngineeringProject/addPlanRow?id=${workEngineeringProject.id}&businessType=${workEngineeringProject.businessType}','80%','80%',false,'inputForm','#workProjectPlans')" class="btn btn-primary btn-sm" ><i class="fa fa-plus"></i>添加</span>
+ </p>
+ <form:form id="inputForm" modelAttribute="workEngineeringProject" method="post" class="form-horizontal">
+ <table id="contentTable" class="table table-bordered table-condensed dataTables-example dataTable no-footer">
+ <th> <input type="checkbox" id="checkboxId" class="i-checks"></th>
+ <th>任务序号</th>
+ <th>任务名称</th>
+ <th>开始时间</th>
+ <th>结束时间</th>
+ <th>提醒人</th>
+ <th>提醒时间</th>
+ <tbody id="workProjectPlans">
+ <c:forEach items="${workEngineeringProject.workProjectPlans}" var="plan" varStatus="status">
+ <tr id="trId">
+ <td >
+ <input type="checkbox" id="${plan.id}" class="i-checks"></td>
+ ${status.index+1}
+ <input name="workProjectPlans[${status.index }].taskName" type="text" class="form-control required" value="${plan.taskName}"/>
+ <input name="workProjectPlans[${status.index }].id" type="hidden" class="form-control required" value="${plan.id}"/>
+ <input class="form-control layer-date laydate-icon " readonly="readonly" name="workProjectPlans[${status.index}].startTime" value="<fmt:formatDate value="${plan.startTime}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <input class="form-control layer-date laydate-icon " readonly="readonly" name="workProjectPlans[${status.index}].endTime" value="<fmt:formatDate value="${plan.endTime}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <select id="${status.index +233}" name="workProjectPlans[${status.index}].remindUser.id" class="form-control m-b">
+ <option value="" label=""> </option>
+ <c:forEach items="${users}" var="list" >
+ <option value="${list.id}" ${list.id==plan.remindUser.id?'selected':''}>${list.name}</option>
+ </select>
+ <%--<select id="${status.index +233}" name="workProjectPlans[${status.index}].remindUser.id" class="form-control m-b">
+ <c:forEach items="${users}" var="u">
+ <option value="${u.id }"
+ <c:if test="${not empty plan.remindUser.id && plan.remindUser.id==u.id}">
+ <c:out value="selected"/>
+ </c:if>>
+ ${u.name}
+ </option>
+ </select>--%>
+ <input class="form-control layer-date laydate-icon " readonly="readonly" name="workProjectPlans[${status.index}].remindDate" value="<fmt:formatDate value="${plan.remindDate}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <c:if test="${projectPlanList == 0}">
+ <td colspan="6">暂无数据</td>
+ <br/><br/>
+ <td class="width-15 active"><label class="pull-left">上传附件表:</label></td>
+ <div style="display: inline-block">
+ <div id="addFile_attachment" style="display: none">
+ <div>
+ <a id="attachment_btn" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <c:forEach items="${workAttachmentList}" var="attachment" varStatus="status">
+ <c:if test="${attachment.createBy.id eq fns:getUser().id}">
+ <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/workengineeringproject/workEngineeringProject/deleteFileFromAliyun?attachmentId=${attachment.id}&id=${workEngineeringProject.id}&type=2','')" class="btn btn-danger btn-xs" >删除</a>
+ <input name="workAttachments[${status.index}].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="${attachment.id}"/>
+ <input name="workAttachments[${status.index}].url" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="${attachment.url}"/>
@@ -0,0 +1,58 @@
+ <title>项目计划添加</title>
+ elem: '#startTime', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ elem: '#endTime', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ elem: '#remindDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ <form:form id="inputForm" modelAttribute="workProjectPlan" action="${ctx}/workengineeringproject/workEngineeringProject/addPlanRowData" method="post" class="form-horizontal">
+ <form:hidden path="projectId"/>
+ <form:hidden path="type"/>
+ <%--<td class="width-15 active"><label class="pull-right">任务编号:</label></td>
+ <form:input path="taskCount" htmlEscape="false" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right">任务名称:</label></td>
+ <form:input path="taskName" htmlEscape="false" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right">开始时间:</label></td>
+ <td class="width-35" >
+ <input id="startTime" name="startTime" type="text" maxlength="20" class="laydate-icondate form-control layer-date "
+ value="<fmt:formatDate value="${workProjectPlan.startTime}" pattern="yyyy-MM-dd"/>"/>
+ <td class="width-15 active"><label class="pull-right">结束时间:</label></td>
+ <input id="endTime" name="endTime" type="text" maxlength="20" class="laydate-icondate form-control layer-date "
+ value="<fmt:formatDate value="${workProjectPlan.endTime}" pattern="yyyy-MM-dd"/>"/>
@@ -0,0 +1,518 @@
+ top.layer.close(index)
+ function preview(title,url,width,height,type){
+ var u = 'http://ow365.cn/?i=14411&furl='+url;
+ if(type == 1){
+ u = url;
+ parent.layer.open({
+ content: u,
+ btn: ['关闭'],
+ <form:form id="inputForm" modelAttribute="workEngineeringProject" action="${ctx}/workengineeringproject/workEngineeringProject/storePlan" method="post" class="form-horizontal">
+ <c:if test="${plan.status eq 1}">
+ <i class="fa fa-check-circle"></i>
+ ${plan.taskName}
+ <fmt:formatDate value="${plan.startTime}" pattern="yyyy-MM-dd"/>
+ <fmt:formatDate value="${plan.endTime}" pattern="yyyy-MM-dd"/>
+ ${plan.remindUser.name}
+ <fmt:formatDate value="${plan.remindDate}" pattern="yyyy-MM-dd"/>
+ <input name="workProjectPlans[${status.index}].id" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="${plan.id}"/>
+ <input name="workProjectPlans[${status.index}].completeUser" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="${plan.completeUser}"/>
+ <%--<input name="workProjectPlans[${status.index}].completeDate" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="<fmt:formatDate value="${plan.completeDate}" pattern="yyyy-MM-dd"/>"/>
+ <input name="workProjectPlans[${status.index}].type" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="${plan.type}"/>
+ <input name="workProjectPlans[${status.index}].status" type="hidden" readonly="readonly" maxlength="20" style="width:140px;" class="form-control" value="${plan.status}"/>
+ <input class="form-control layer-date laydate-icon required" type="hidden" name="workProjectPlans[${status.index}].completeDate" value="<fmt:formatDate value="${plan.completeDate}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <c:if test="${plan.status eq 0}">
+ <%--<input id="startTime" name="workProjectPlans[${status.index }].startTime" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="<fmt:formatDate value="${plan.startTime}" pattern="yyyy-MM-dd"/>"/>
+ --%></td>
+ <td class="width-15 active"><label class="pull-left"><font color="red">*</font>变更原因:</label></td>
+ <form:textarea path="remarks" htmlEscape="false" rows="4" class="form-control required"/>
+ <table id="planTable" class="table table-bordered table-condensed dataTables-example dataTable no-footer">
+ <th>变更人</th>
+ <th>变更原因</th>
+ <th>变更时间</th>
+ <tbody id="planInfo">
+ <c:forEach items="${workProjectPlanEdits}" var="planEdit" varStatus="status">
+ <tr id="trIds">
+ <td>${planEdit.updateBy.name}</td>
+ <td>${planEdit.remarks}</td>
+ <td><fmt:formatDate value="${planEdit.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
@@ -0,0 +1,286 @@
+ btn: ['提交','暂存','关闭'],
+ <%--<div class="ibox-title">
+ <h5>工程项目信息列表 </h5>
+ <form:form id="searchForm" modelAttribute="workEngineeringProject" action="${ctx}/workengineeringproject/workEngineeringProject/planlist" method="post" class="form-inline">
+ <%--<th class="sort-column updateDate">序号</th>--%>
+ <th style="text-align: center;width: 8%" class="sort-column projectId.number">项目编号</th>
+ <th style="text-align: center;width: 10%" class="sort-column reportNumber">报告号</th>
+ <th style="text-align: center;width: 10%" class="sort-column projectId.name">项目名称</th>
+ <th style="text-align: center;width: 10%" class="sort-column businessType">业务类型</th>
+ <th style="text-align: center;width: 10%" class="sort-column client.name">客户单位</th>
+ <th style="text-align: center;width: 8%">项目负责人</th>
+ <th style="text-align: center;width: 10%" class="sort-column createDate">创建时间</th>
+ <th style="text-align: center;width: 10%" class="sort-column status">项目状态</th>
+ <th style="text-align: center;width: 8%" class="sort-column status">计划编制</th>
+ <th style="text-align: center;width: 8%" class="sort-column status">计划变更</th>
+ <th style="text-align: center;width: 8%" class="sort-column status">计划维护</th>
+ <c:forEach items="${page.list}" var="workEngineeringProject" varStatus="status">
+ ${status.index+1 }
+ <span title="${workEngineeringProject.projectId.number}">${fns:abbr(workEngineeringProject.projectId.number,40)}</span>
+ <c:when test="${workEngineeringProject.status eq 3 && empty workEngineeringProject.proofreadStatus && (zg || fns:getUser().id eq workEngineeringProject.createBy.id ||
+ fn:containsIgnoreCase(workEngineeringProject.hostOfficeMember,fns:getUser().id) ||fn:containsIgnoreCase(workEngineeringProject.jointlyOfficeMember,fns:getUser().id) )}">
+ <c:when test="${fn:contains(sessionScope.userrights, '2') || fn:contains(sessionScope.userrights, 'H')}">
+ <a href="javascript:void(0)" onclick="openDialog('计划编制', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&plan=plan1','80%', '80%')" class="btn btn-info btn-xs" > 计划编制</a>
+ <button class="btn btn-info btn-xs" title="计划编制" onclick="openDialogre('计划编制','${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&plan=plan1','80%', '80%')"> 计划编制</button>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('当前状态不能进行计划编制!',{icon:2})" class="btn btn-default btn-xs">计划编制</a>
+ <c:when test="${workEngineeringProject.status eq 4 && empty workEngineeringProject.proofreadStatus && (zg || fns:getUser().id eq workEngineeringProject.createBy.id ||
+ <a href="javascript:void(0)" onclick="openDialog('计划变更', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&plan=plan2','80%', '80%')" class="btn btn-info btn-xs" > 计划变更</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('当前状态不能进行计划变更!',{icon:2})" class="btn btn-default btn-xs">计划变更</a>
+ <a href="javascript:void(0)" onclick="openDialog('计划维护', '${ctx}/workengineeringproject/workEngineeringProject/form?id=${workEngineeringProject.id}&plan=plan3','80%', '80%')" class="btn btn-info btn-xs" > 计划维护</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('当前状态不能进行计划维护!',{icon:2})" class="btn btn-default btn-xs">计划维护</a>
@@ -0,0 +1,379 @@
+ /*laydate.render({
+ elem: '#completeDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ $("#taskNames").attr('disabled','disabled');
+ $("#startTimes").attr('disabled','disabled');
+ $("#endTimes").attr('disabled','disabled');
+ $("#remindUsers").attr('disabled','disabled');
+ $("#remindDates").attr('disabled','disabled');
+ $("#completeUsers").attr('disabled','disabled');
+ $("#completeDates").attr('disabled','disabled');
+ function setCompletedValue(){
+ var ipts = $(":checkbox:checked").parents("tr").find("input:text");
+ var ids = $(":checkbox:checked").parents("tr").find("input:hidden");
+ var selects = $(":checkbox:checked").parents("tr").find("select");
+ // 遍历input并使用val()方法获取值
+ var ipt =ipts.map(function() {return $(this).val();}).get().join(", ");
+ var select =selects.map(function() {return $(this).val();}).get().join(", ");
+ var id =ids.map(function() {return $(this).val();}).get().join(", ");
+ if(id == ""){
+ top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
+ var iptList =ipt.split(",");
+ var selectList = select.split(",");
+ url:'${ctx}/workengineeringproject/workEngineeringProject/getProjectPlanRows',
+ "ids":id,
+ "ipts":ipt,
+ "selects":select
+ if (d.str == "Success"){
+ /*$("#contractNum").val(d.contractNum);
+ $("#linkmanPosition").val(d.linkmanPosition);*/
+<div class="ibox-content">
+ <%--<table:confirmCompletedRow id="contentTable" url="${ctx}/workengineeringproject/workEngineeringProject/confirmCompletedRow"></table:confirmCompletedRow><!-- 确认按钮 -->
+ <%--<table:removeRow id="contentTable"></table:removeRow>--%>
+ <table:confirm id="contentTable"></table:confirm>
+ <%--<button type="button" class="btn btn-sm btn-success" onclick="setCompletedValue()">确认完成</button>--%>
+ <form:form id="inputForm" modelAttribute="workEngineeringProject" action="${ctx}/workengineeringproject/workEngineeringProject/storePlan" method="post" enctype="multipart/form-data" class="form-horizontal">
+ <th>完成人</th>
+ <th>完成时间</th>
+ ${plan.completeUser.name}
+ <fmt:formatDate value="${plan.completeDate}" pattern="yyyy-MM-dd"/>
+ <input name="workProjectPlans[${status.index }].id" type="hidden" style="width:80px;" class="form-control required" value="${plan.id}"/>
+ <%--<tr id="trId">
+ 已确认
+ <%–<input type="checkbox" id="${plan.id}" class="i-checks">–%>
+ <input id="taskNames" name="workProjectPlans[${status.index }].taskName" type="text" readonly="readonly" class="form-control required" value="${plan.taskName}"/>
+ <input id="startTimes" name="workProjectPlans[${status.index }].startTime" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="<fmt:formatDate value="${plan.startTime}" pattern="yyyy-MM-dd"/>"/>
+ <input id="endTimes" name="workProjectPlans[${status.index }].endTime" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="<fmt:formatDate value="${plan.endTime}" pattern="yyyy-MM-dd"/>"/>
+ <select id="remindUsers" name="workProjectPlans[${status.index}].remindUser.id" readonly="readonly" class="form-control m-b">
+ <input id="remindDates" name="workProjectPlans[${status.index}].remindDate" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="<fmt:formatDate value="${plan.remindDate}" pattern="yyyy-MM-dd"/>"/>
+ <select id="completeUsers" name="workProjectPlans[${status.index}].completeUser.id" readonly="readonly" class="form-control m-b">
+ <c:forEach items="${userList}" var="list" >
+ <option value="${list.id}" ${list.id==plan.completeUser.id?'selected':''}>${list.name}</option>
+ <input id="completeDates" name="workProjectPlans[${status.index}].completeDate" type="text" readonly="readonly" maxlength="20" style="width:140px;" class="laydate-icondate form-control layer-date" value="<fmt:formatDate value="${plan.completeDate}" pattern="yyyy-MM-dd"/>"/>
+ <input type="checkbox" id="${plan.id}" class="i-checks">
+ <input name="workProjectPlans[${status.index }].taskName" type="hidden" class="form-control required" value="${plan.taskName}"/>
+ <input name="workProjectPlans[${status.index}].startTime" type="hidden" value="<fmt:formatDate value="${plan.startTime}" pattern="yyyy-MM-dd"/>" class="form-control layer-date laydate-icon " readonly="readonly" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <input class="form-control layer-date laydate-icon " type="hidden" readonly="readonly" name="workProjectPlans[${status.index}].endTime" value="<fmt:formatDate value="${plan.endTime}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <%--<select id="${status.index}333" name="workProjectPlans[${status.index}].remindUser.id" class="form-control m-b">
+ <input name="workProjectPlans[${status.index}].remindUser.id" type="hidden" class="form-control required" value="${plan.remindUser.id}"/>
+ <td><fmt:formatDate value="${plan.remindDate}" pattern="yyyy-MM-dd"/>
+ <input class="form-control layer-date laydate-icon " type="hidden" readonly="readonly" name="workProjectPlans[${status.index}].remindDate" value="<fmt:formatDate value="${plan.remindDate}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
+ <select id="${plan.id}233" name="workProjectPlans[${status.index}].completeUser.id" class="form-control m-b">
+ <input class="form-control layer-date laydate-icon " type="text" readonly="readonly" name="workProjectPlans[${status.index}].completeDate" value="<fmt:formatDate value="${plan.completeDate}" pattern="yyyy-MM-dd"/>" onclick="laydate({istime: false, format: 'YYYY-MM-DD'})">
@@ -0,0 +1,15 @@
+ <title>工程咨询项目归档流程</title>
@@ -0,0 +1,69 @@
+ <title>评标室管理管理</title>
+ <form:form id="inputForm" modelAttribute="workEvaluationRoom" action="${ctx}/workevaluationroom/workEvaluationRoom/save" method="post" class="form-horizontal">
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>地址:<font color="red">*</font></label></td>
+ <form:textarea path="address" htmlEscape="false" rows="4" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>楼层:</label></td>
+ <form:input path="floor" htmlEscape="false" class="form-control required number"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>门牌号码:</label></td>
+ <form:input path="houseNumber" htmlEscape="false" class="form-control required number"/>
+ <form:textarea path="remarks" htmlEscape="false" rows="4" class="form-control"/>
+ <h5>评标室管理列表 </h5>
+ <form:form id="searchForm" modelAttribute="workEvaluationRoom" action="${ctx}/workevaluationroom/workEvaluationRoom/" method="post" class="form-inline">
+ <span>地址:</span>
+ <form:input path="address" htmlEscape="false" maxlength="1000" class=" form-control input-sm"/>
+ <span>楼层:</span>
+ <form:input path="floor" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <span>门牌号码:</span>
+ <form:input path="houseNumber" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <%-- <c:if test="${addBtn != 'addBtn'}">
+ <shiro:hasPermission name="workevaluationroom:workEvaluationRoom:add">--%>
+ <table:addRow url="${ctx}/workevaluationroom/workEvaluationRoom/form" title="评标室管理"></table:addRow><!-- 增加按钮 -->
+ <%-- </shiro:hasPermission>--%>
+ <%--<shiro:hasPermission name="workevaluationroom:workEvaluationRoom:edit">
+ <table:editRow url="${ctx}/workevaluationroom/workEvaluationRoom/form" title="评标室管理" id="contentTable"></table:editRow><!-- 编辑按钮 -->
+ <%-- <shiro:hasPermission name="workevaluationroom:workEvaluationRoom:del">--%>
+ <table:delRow url="${ctx}/workevaluationroom/workEvaluationRoom/deleteAll" id="contentTable"></table:delRow><!-- 删除按钮 -->
+ <%-- </shiro:hasPermission>
+ <%-- <shiro:hasPermission name="workevaluationroom:workEvaluationRoom:import">--%>
+ <table:importExcel url="${ctx}/workevaluationroom/workEvaluationRoom/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workevaluationroom:workEvaluationRoom:export">--%>
+ <table:exportExcel url="${ctx}/workevaluationroom/workEvaluationRoom/export"></table:exportExcel><!-- 导出按钮 -->
+ <th style="width: 5%"> <input type="checkbox" class="i-checks"></th>
+ <th style="text-align: center;width: 15%" class="sort-column address">地址</th>
+ <th style="text-align: center;width: 8%" class="sort-column floor">楼层</th>
+ <th style="text-align: center;width: 10%" class="sort-column houseNumber">门牌号码</th>
+ <th style="text-align: center;width: 20%" class="sort-column remarks">备注</th>
+ <th style="text-align: center;width: 13%" class="sort-column createDate">创建时间</th>
+ <th style="text-align: center;width: 13%" class="sort-column updateDate">更新时间</th>
+ <th style="text-align: center;width: 15%">操作</th>
+ <c:forEach items="${page.list}" var="workEvaluationRoom">
+ <td> <input type="checkbox" id="${workEvaluationRoom.id}" class="i-checks"></td>
+ <a href="javascript:void(0)" onclick="openDialogView('查看评标室管理', '${ctx}/workevaluationroom/workEvaluationRoom/form?id=${workEvaluationRoom.id}&name=view','80%','80%')">
+ ${workEvaluationRoom.address}
+ ${workEvaluationRoom.floor}
+ ${workEvaluationRoom.houseNumber}
+ ${fns:abbr(workEvaluationRoom.remarks,30)}
+ <fmt:formatDate value="${workEvaluationRoom.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ <fmt:formatDate value="${workEvaluationRoom.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ <%--<shiro: nhasPermissioname="workevaluationroom:workEvaluationRoom:view">
+ <a href="javascript:void(0)" onclick="openDialogView('查看评标室管理', '${ctx}/workevaluationroom/workEvaluationRoom/form?id=${workEvaluationRoom.id}&name=view','80%','80%')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <%-- <shiro:hasPermission name="workevaluationroom:workEvaluationRoom:edit">--%>
+ <a href="javascript:void(0)" onclick="openDialog('修改评标室管理', '${ctx}/workevaluationroom/workEvaluationRoom/form?id=${workEvaluationRoom.id}','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <%--</shiro:hasPermission>
+ <shiro:hasPermission name="workevaluationroom:workEvaluationRoom:del">--%>
+ <a href="${ctx}/workevaluationroom/workEvaluationRoom/delete?id=${workEvaluationRoom.id}" onclick="return confirmx('确认要删除该评标室管理吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
+ <td class="width-15 active"><label class="pull-right">地址:<font color="red">*</font></label></td>
+ <td class="width-15 active"><label class="pull-right">楼层:<font color="red">*</font></label></td>
+ <td class="width-15 active"><label class="pull-right">门牌号码:<font color="red">*</font></label></td>
+ <td class="width-15 active"><label class="pull-right">备注:<font color="red">*</font></label></td>
+ ${workEvaluationRoom.remarks}
@@ -0,0 +1,111 @@
+ <title>案例指标管理</title>
+ <%@include file="/webpage/include/treeview.jsp" %>
+ .ztree {overflow:auto;margin:0;_margin-top:10px;padding:10px 0 0 10px;}
+ function changeExample(id,name,parentId) {
+ var exampleId = $("#exampleId").val();
+ url:'${ctx}/workexample/workExampleIndices/saveExample',
+ "ids":id,"exampleId":exampleId
+ refreshTree();
+<div class="wrapper wrapper-content full-width" id="divId">
+ <div id="content" class="pr full-height full-width">
+ <div id="left" class="contentShadow fl contents">
+ <div class="ztreeContainer">
+ <div id="ztree" class="ztree leftBox-content"></div>
+ <div id="right" class="fl contents">
+ <div class="layui-row contentShadow full-height tran-bg">
+ <iframe id="userContent" name="userContent" src="${ctx}/workexample/workExample/example?sign=situation" width="100%" height="100%" frameborder="0"></iframe>
+ function addDiyDom(treeId, treeNode) {
+ var spaceWidth = 15;
+ var switchObj = $("#" + treeNode.tId + "_switch"),
+ icoObj = $("#" + treeNode.tId + "_ico");
+ switchObj.remove();
+ icoObj.before(switchObj);
+ if (treeNode.level > 0) {
+ var spaceStr = "<span style='display: inline-block;width:" + (spaceWidth * treeNode.level)+ "px'></span>";
+ switchObj.before(spaceStr);
+ var setting = {data:{simpleData:{enable:true,idKey:"id",pIdKey:"pId",rootPId:'0'}},
+ callback:{onClick:function(event, treeId, treeNode){
+ var id = treeNode.id == '0' ? '' :treeNode.id;
+ $('#userContent')[0].contentWindow.changeInfo(id);
+ //$('#userContent').attr("src","${ctx}/workexample/workExample/example?id="+id);
+ ,view:{
+ showLine: false,
+ showIcon: false,
+ addDiyDom: addDiyDom
+ };
+ function refreshTree(){
+ $.getJSON("${ctx}/sys/mainDictDetail/treeDataByType?type=2&typeName=work_example_type&isAll=true",function(data){
+ $.fn.zTree.init($("#ztree"), setting, data).expandAll(true);
+ // var width = $('#divId').width();
+ // var leftWidth = width*0.1; // 左侧窗口大小
+ // var htmlObj = $("html"), mainObj = $("#main");
+ // var frameObj = $("#left, #openClose, #right, #right iframe");
+ // function wSize(){
+ // var strs = getWindowSize().toString().split(",");
+ // htmlObj.css({"overflow-x":"hidden", "overflow-y":"hidden"});
+ // mainObj.css("width","auto");
+ // frameObj.height(strs[0] - 120);
+ // /* var leftWidth = ($("#left").width() < 0 ? 0 : $("#left").width());
+ // $("#right").width($("#content").width()- leftWidth - $("#openClose").width() -60);
+ // $(".ztree").width(leftWidth - 10).height(frameObj.height() - 46);*/
+ // $("#content").width(width);
+ // $("#left").width(width*0.12);
+ // $("#ztree").width(width*0.12);
+ // $("#ztree").height('86%');
+ // $("#right").width(width*0.82);
+ // $("#officeContent").width(width*0.82);
+ // }
+ <%--<script src="${ctxStatic}/common/wsize.min.js" type="text/javascript"></script>--%>
@@ -0,0 +1,110 @@
+ <iframe id="userContent" name="userContent" src="${ctx}/workexample/workExample/listView" width="100%" height="100%" frameborder="0"></iframe>
+ $('#userContent').attr("src","${ctx}/workexample/workExample/listView?type="+id);
@@ -0,0 +1,148 @@
+ <title>主要工料价格及消耗量指标</title>
+ function changeInfo(id) {
+ $("#dictId").val(id);
+ search();
+ <form:form id="searchForm" modelAttribute="workExample" action="${ctx}/workexample/workExample/example" method="post" class="form-inline">
+ <input id="dictId" name="dictId" type="hidden" value="${workExample.dictId}"/>
+ <label class="layui-form-label">工程指标:</label>
+ <sys:treeselect id="exampleType" name="exampleType" value="${workExample.exampleType}" labelName="exampleTypeName" labelValue="${workExample.exampleTypeName}"
+ title="工程指标类型" url="/workexample/workExampleIndices/treeDataExampleSelect" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+ <label class="layui-form-label">工程地点:</label>
+ <sys:treeselect id="area" name="area.id" value="${workExample.area.id}" labelName="area.name" labelValue="${workExample.area.name}"
+ title="区域" url="/sys/area/treeData" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="false"/>
+ <%--<table:page page="${page}"></table:page>--%>
+ limit:${ exampleExpendList.size() }
+ {field:'name',align:'center', title: '工料名称',minWidth:120,templet:function(d){
+ return "<span title='"+ d.name +"'>" + d.name + "</span>";
+ ,{field:'name2',align:'center', title: '单位',minWidth:120,templet:function(d){
+ return "<span title='"+ d.name2 +"'>" + d.name2 + "</span>";
+ ,{field:'counts',align:'center', title: '样本量',minWidth:120,templet:function(d){
+ return "<span title='"+ d.counts +"'>" + d.counts + "</span>";
+ ,{field:'sums',align:'center', title: '总数量',minWidth:120,templet:function(d){
+ return "<span title='"+ d.sums +"'>" + d.sums + "</span>";
+ ,{field:'maxs',align:'center', title: '最大单位指标(每100m2)',minWidth:120,templet:function(d){
+ return "<span title='"+ d.maxs +"'>" + d.maxs + "</span>";
+ ,{field:'mins', align:'center',title: '最小单位指标(每100m2)',minWidth:120,templet:function(d){
+ return "<span title='"+ d.mins +"'>" + d.mins + "</span>";
+ ,{field:'avgs', align:'center',title: '平均单位指标(每100m2)',minWidth:120,templet:function(d){
+ return "<span title='"+ d.avgs +"'>" + d.avgs + "</span>";
+ <c:if test="${ not empty exampleExpendList}">
+ <c:forEach items="${exampleExpendList}" var="exampleExpend" varStatus="index">
+ "id":"${exampleExpend.id}"
+ ,"name":"${exampleExpend.name}"
+ ,"name2":"${exampleExpend.name}"
+ ,"counts":"${exampleExpend.counts}"
+ ,"sums":"${exampleExpend.sums}"
+ ,"maxs":"<fmt:formatNumber value="${exampleExpend.maxs}" pattern="#,#0.00"/>"
+ ,"mins":"<fmt:formatNumber value="${exampleExpend.mins}" pattern="#,#0.00"/>"
+ ,"avgs":"<fmt:formatNumber value="${exampleExpend.avgs}" pattern="#,#0.00"/>"
+ <title>经济指标</title>
+ limit:${ exampleEconomicsList.size() }
+ {field:'name',align:'center', title: '主要风险工程',minWidth:120,templet:function(d){
+ ,{field:'sums',align:'center', title: '总工程造价(元)',minWidth:120,templet:function(d){
+ ,{field:'maxs',align:'center', title: '最大单位指标(元/m2)',minWidth:120,templet:function(d){
+ ,{field:'mins', align:'center',title: '最小单位指标(元/m2)',minWidth:120,templet:function(d){
+ ,{field:'avgs', align:'center',title: '平均单位指标(元/m2)',minWidth:120,templet:function(d){
+ ,{field:'proportion', align:'center',title: '占造价比例(%)',minWidth:120,templet:function(d){
+ return "<span title='"+ d.proportion +"'>" + d.proportion + "</span>";
+ <c:if test="${ not empty exampleEconomicsList}">
+ <c:forEach items="${exampleEconomicsList}" var="exampleEconomics" varStatus="index">
+ "id":"${exampleEconomics.id}"
+ ,"name":"${exampleEconomics.name}"
+ ,"counts":"${exampleEconomics.counts}"
+ ,"sums":"<fmt:formatNumber value="${exampleEconomics.sums}" pattern="#,#0.00"/>"
+ ,"maxs":"<fmt:formatNumber value="${exampleEconomics.maxs}" pattern="#,#0.00"/>"
+ ,"mins":"<fmt:formatNumber value="${exampleEconomics.mins}" pattern="#,#0.00"/>"
+ ,"avgs":"<fmt:formatNumber value="${exampleEconomics.avgs}" pattern="#,#0.00"/>"
+ ,"proportion":"<fmt:formatNumber value="${exampleEconomics.proportion}" pattern="#,#0.00"/>"
@@ -0,0 +1,178 @@
+ /*function doSubmitExcel(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+ $("#inputFormExcle").attr("action","${ctx}/workexample/workExample/import");
+ console.info($("#inputFormExcle").serialize());
+ debugger;
+ url:'${ctx}/workexample/workExample/import',
+ /!* if(validateForm.form()){
+ /!* $("#inputFormExcle").submit();*!/
+ return false;*!/
+ var layerIndex= layer.load(0,{shade: [0.3, '#fff']});
+ setExcelInfo(result.data);
+ var idx1 = $("#excelList tr").length;
+ bornTemplete(list, idx, tpl, row, idx1);
+ function setExcelInfo(data){
+ for(var i=0;i<data.length;i++){
+ addRow('#excelList', excelListRowIdx, excelListTpl);
+ excelListRowIdx = excelListRowIdx + 1;
+ var row = excelListRowIdx - 1 ;
+ $("#"+"excelList"+row+"_idId").val(data[i].id);
+ $("#"+"excelList"+row+"_sheetName").val(data[i].sheetName);
+ $("#"+"excelList"+row+"_idName").val(data[i].name);
+ <form:form id="inputFormExcle" modelAttribute="workExampleExcel" action="${ctx}/workexample/workExample/import" enctype="multipart/form-data" method="post" class="form-horizontal">
+ <input id="uploadFile" onchange="getChange()" name="file" type="file" />
+ <table id="" class="table table-bordered table-condensed can-edit no-bottom-margin">
+ <th width="20px">序号</th>
+ <th width="400px">sheet名称</th>
+ <th width="400px">对应指标项</th>
+ <tbody id="excelList">
+ <script type="text/template" id="excelListTpl">//<!--
+ <tr id="excelList{{idx}}">
+ <input id="excelList{{idx}}_no" type="text" value="{{idx}}" readonly="true" class="form-control "/>
+ <input id="excelList{{idx}}_sheetName" name="excelList[{{idx}}].sheetName" type="text" value="{{row.sheetName}}" readonly="true" class="form-control "/>
+ <sys:treeselectJob id="excelList{{idx}}_id" name="excelList[{{idx}}].id" value="${row.id}" labelName="excelList[{{idx}}].name" labelValue="${row.name}"
+ title="指标类型" url="/workexample/workExampleIndices/treeDataExampleInfo" cssClass="form-control layui-input required" allowClear="true" notAllowSelectParent="true"/>
+ var excelListRowIdx = 1, excelListTpl = $("#excelListTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+ <%-- <a href="javascript:void(0)" onclick="doSubmit()" class="nav-btn nav-btn-import" ><i class="fa fa-plus"></i> 导入</a>--%>
@@ -0,0 +1,191 @@
+ <title>案例库管理</title>
+ function refresh(){//刷新
+ window.location="${ctx}/workexample/workExample/form?exampleId="+$("#exampleId").val();
+ refreshTree(exampleId);
+ //alert("id:"+id+",name:"+name+",parentId:"+parentId)
+ function sleep(numberMillis) {
+ var now = new Date();
+ var exitTime = now.getTime() + numberMillis;
+ while (true) {
+ now = new Date();
+ if (now.getTime() > exitTime)
+ function addExampleInfo() {
+ parent.layer.msg("请先暂存工程概况数据!", {icon: 5});
+ function doSubmita(obj) {
+ if($('#userContent')[0].contentWindow.doSubmit(obj)){
+ //sleep(500);
+ <c:when test="${sign == 'view' or sign == 'audit'}">
+ <input id="exampleId" name="exampleId" type="hidden" value="${workExample.id}"/>
+ <div id="id1" style="display:none">
+ <sys:treeselectExample id="exampleInfo" name="" value="" labelName="" labelValue="" title="指标项目" url="/workexample/workExampleIndices/treeDataExampleInfo" checked="true" cssClass="form-control required" allowClear="true" notAllowSelectParent="true"/>
+ <div id="id2" style="display:none">
+ <button style="font-size:14px;" type="button" onclick="addExampleInfo()" class="nav-btn nav-btn-add"><i class="fa fa-plus"></i> 新增
+ </button>
+ <c:when test="${sign == 'view'}">
+ <iframe id="userContent" name="userContent" src="${ctx}/workexample/workExample/view?id=${workExample.id}" width="100%" height="100%" frameborder="0"></iframe>
+ <c:when test="${sign == 'audit'}">
+ <iframe id="userContent" name="userContent" src="${ctx}/workexample/workExample/audit?id=${workExample.id}" width="100%" height="100%" frameborder="0"></iframe>
+ <c:when test="${sign == 'modify'}">
+ <iframe id="userContent" name="userContent" src="${ctx}/workexample/workExample/modify?id=${workExample.id}" width="100%" height="100%" frameborder="0"></iframe>
+ <iframe id="userContent" name="userContent" src="${ctx}/workexample/workExample/forms?id=${workExample.id}" width="100%" height="100%" frameborder="0"></iframe>
+ var _type = treeNode.type;
+ $('#userContent')[0].contentWindow.changeInfo(id,treeNode.pIds,_type);
+ //$('#userContent').attr("src","${ctx}/workexample/workExample/view?id="+id+"&parentIds="+treeNode.pIds);
+ function refreshTree(exampleId){
+ if(exampleId == undefined){
+ exampleId = '${workExample.id}';
+ if(exampleId!=null && exampleId!=''&& exampleId != undefined){
+ $("#id1").show();
+ $("#id2").hide();
+ $("#id1").hide();
+ $("#id2").show();
+ console.log(exampleId+"---------------exampleId");
+ $.getJSON("${ctx}/workexample/workExampleIndices/treeDataExample?workExampleId="+exampleId,function(data){
@@ -0,0 +1,150 @@
+ <title>指标字典管理</title>
+ <c:when test="${not empty edit && edit}">
+ <form:form id="inputForm" modelAttribute="workExampleIndices" action="${ctx}/workexample/workExampleIndices/save" method="post" class="form-horizontal">
+ <form:hidden path="parent.id"/>
+ <form:hidden path="parentIds"/>
+ <form:hidden path="isDisable"/>
+ <div class="form-group layui-row first lw12">
+ <div class="layui-item layui-col-sm12">
+ <label class="layui-form-label"><span class="require-item">*</span>名称:</label>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${workExampleIndices.name}"/>
+ <label class="layui-form-label"><span class="require-item">*</span>排序:</label>
+ <form:input path="orderNum" readonly="true" htmlEscape="false" class="form-control layui-input required"/>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${workExampleIndices.orderNum}"/>
+ <label class="layui-form-label"><span class="require-item">*</span>其中项:</label>
+ <form:select path="oneItems" class="form-control required simple-select">
+ <form:options items="${fns:getDictList('is_chapter')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${fns:getDictLabel(workExampleIndices.oneItems, 'is_chapter', '')}"/>
+ <label class="layui-form-label">项单位:</label>
+ <form:select path="itemUnit" class="form-control simple-select ">
+ <form:options items="${fns:getMainDictList('unit_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${fns:getMainDictLabel(workExampleIndices.itemUnit, 'unit_type', '')}"/>
+ <label class="layui-form-label">小数位数:</label>
+ <form:input path="decimalCount" htmlEscape="false" maxlength="1" class="form-control layui-input number "/>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${workExampleIndices.decimalCount}"/>
+ <label class="layui-form-label"><span class="require-item">*</span>禁用状态:</label>
+ <c:when test="${workExampleIndices.isDisable eq 0}">
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="启用"/>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="禁用"/>
@@ -0,0 +1,47 @@
@@ -0,0 +1,135 @@
+ <title>指标项目管理</title>
+ $("#treeTable").treeTable({expandLevel : 2},{ expandable: true });
+ <form:form id="searchForm" modelAttribute="workExampleIndices" action="${ctx}/workexample/workExampleIndices/" method="post" class="form-inline">
+ <label class="layui-form-label">名 称:</label>
+ <form:input path="name" htmlEscape="false" class=" form-control layui-input"></form:input>
+ <label class="layui-form-label"></label>
+ <button id="searchReset" style="margin-right: 10px;" class="fixed-btn searchReset fr" onclick="resetSearch()">重置</button>
+ <table id="treeTable" class="table table-bordered table-hover list-table">
+ <th width="40%">指标名称</th>
+ <th >排序</th>
+ <th >禁用状态</th>
+ <th width="240px">操作</th>
+ <c:forEach items="${list}" var="workExampleIndices">
+ <tr id="${workExampleIndices.id}" pid="${workExampleIndices.parent.id}">
+ <td><a href="#" onclick="openDialogView('查看指标项目', '${ctx}/workexample/workExampleIndices/form?id=${workExampleIndices.id}&view=view','60%', '60%')">
+ ${workExampleIndices.name}
+ <td style="text-align: center">
+ ${workExampleIndices.orderNum}
+ ${fns:getDictLabel(workExampleIndices.isDisable, 'is_disable', '')}
+ <td class="op-td text-center">
+ <div class="op-btn-box">
+ <a href="javascript:void(0);" onclick="openDialog('修改', '${ctx}/workexample/workExampleIndices/form?id=${workExampleIndices.id}&view=edit','60%','60%')" class="op-btn op-btn-edit"><i class="fa fa-edit"></i> 修改</a>
+ <c:when test="${workExampleIndices.type eq 2 || workExampleIndices.type eq 3}">
+ <a href="javascript:void(0);" onclick="openDialog('添加指标项', '${ctx}/workexample/workExampleIndices/form?id=${workExampleIndices.id}&view=save','60%','60%')" class="op-btn op-btn-add"><i class="fa fa-plus"></i> 添加指标</a>
+ <c:when test="${workExampleIndices.type < 8}">
+ <a href="javascript:void(0);" onclick="openDialog('添加指标项', '${ctx}/workexample/workExampleIndices/form?id=${workExampleIndices.id}&view=save','60%','60%')" class="op-btn op-btn-add"><i class="fa fa-plus"></i> 添加项</a>
+ <c:otherwise></c:otherwise>
+ <c:when test="${workExampleIndices.isDisable ne 0}">
+ <a href="${ctx}/workexample/workExampleIndices/delete?id=${workExampleIndices.id}&status=0" onclick="return confirmx('确认要启用该指标项目及其子指标项目吗?', this.href)" class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 启用</a>
+ <a href="${ctx}/workexample/workExampleIndices/delete?id=${workExampleIndices.id}&status=1" onclick="return confirmx('确认要禁用该指标项目及其子指标项目吗?', this.href)" class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 禁用</a>
+ <td colspan="4" align="center">暂无数据</td>
@@ -0,0 +1,117 @@
+ <c:if test="${workExampleIndices.orderNum > 1000}">
+ <label class="layui-form-label"><span class="require-item">*</span>指标类型:</label>
+ <form:select path="view" class="form-control required simple-select">
+ <form:options items="${fns:getDictList('example_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <input htmlEscape="false" readonly="true" class="form-control layui-input" value="${fns:getDictLabel(workExampleIndices.view, 'example_type', '')}"/>
@@ -0,0 +1,440 @@
+ <title>案例管理</title>
+ function switchInput(obj){
+ $("#"+obj).show();
+ $("#"+obj).siblings().hide();
+ btn: ['送审','暂存','关闭'],
+// setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+ function openDialogreplay(title,url,width,height,target){
+ skin: 'two-btns',
+ btn: ['送审','关闭'],
+ if(iframeWin.contentWindow.doSubmita(1) ){
+ window.location.href='${ctx}/workexample/workExample/';
+ function openDialogModify(title,url,width,height,target){
+ btn: ['重新申请','关闭'],
+ parent.parent.refreshTabIndex();
+ btn2: function(index, layero){
+ /* window.location.href='http://cdn.gangwaninfo.com/app-data/appVersion/案例模板.xlsx';*/
+ window.location.href='${ctx}/workexample/workExample/import/template';
+ <form:form id="searchForm" modelAttribute="workExample" action="${ctx}/workexample/workExample/" method="post" class="form-inline">
+ <label class="layui-form-label">工程类型:</label>
+ <sys:treeselect id="mainDictDetail" name="mainDictDetail.id" value="${workExample.mainDictDetail.id}" labelName="mainDictDetail.detailName"
+ labelValue="${workExample.mainDictDetail.detailName}"
+ title="类型" url="/sys/mainDictDetail/treeDataByType?type=2&typeName=work_example_type&isAll=true" notAllowSelectParent="true" cssClass="form-control layui-input"
+ allowClear="true"/>
+ <label class="layui-form-label">工程名称:</label>
+ <label class="layui-form-label">竣工日期:</label>
+ value="<fmt:formatDate value="${workExample.beginContractDate}" pattern="yyyy-MM-dd"/>"/>
+ value="<fmt:formatDate value="${workExample.endContractDate}" pattern="yyyy-MM-dd"/>"/>
+ <sys:treeselect id="areaId" name="area.id" value="${workExample.area.id}" labelName="area.name" labelValue="${workExample.area.name}"
+ title="工程地点" url="/sys/area/treeData" cssClass="form-control layui-input " allowClear="true" notAllowSelectParent="false"/>
+ <label class="layui-form-label">建设规模:</label>
+ <form:input path="buildScale" htmlEscape="false" maxlength="64" class=" form-control layui-input"/>
+ <label class="layui-form-label">结构形式:</label>
+ <form:input path="modus" htmlEscape="false" maxlength="64" class=" form-control layui-input"/>
+ <label class="layui-form-label">审核状态:</label>
+ <form:select path="status" class="form-control simple-select">
+ <form:options items="${fns:getDictList('audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <div style="clear:both;"></div>
+ <%--此处按钮样式包括 nav-btn-add nav-btn-refresh nav-btn-import nav-btn-export nav-btn-query nav-btn-reset--%>
+ <shiro:hasPermission name="workexample:workExample:add">
+ <button class="nav-btn nav-btn-add" title="案例申请" onclick="openDialogreplay('案例申请','${ctx}/workexample/workExample/form','95%','95%')"><i class="fa fa-plus"></i> 添加</button>
+ <shiro:hasPermission name="workexample:workExample:import">
+ <%--<table:importExcelExample url="${ctx}/workexample/workExample/import"></table:importExcelExample><!-- 导入按钮 -->--%>
+ <sys:treeselectTmp id="exampleInfo" name="" value="" labelName="" labelValue="" title="指标项目" url="/workexample/workExampleIndices/treeDataExampleInfo" checked="true" cssClass="form-control required " allowClear="true" notAllowSelectParent="true"/>
+ <button class="nav-btn nav-btn-import" title="导入数据" onclick="openDialogreExcel('导入数据', '${ctx}/workexample/workExample/importDialogre','90%','90%')" ><i class="glyphicon glyphicon-import"></i> 导入</button>
+ <a href="javascript:void(0)" onclick="openDialogView('导入日志', '${ctx}/workexampleimplog/workExampleImplog/list','95%','95%')" class="nav-btn nav-btn-import" ><i class="glyphicon glyphicon-v"></i> 导入日志</a>
+ ,{field:'type',align:'center', title: '工程类型',minWidth:120,templet:function(d){
+ return "<span title='"+ d.type +"'>" + d.type + "</span>";
+ ,{field:'name',align:'center',title: '工程名称',minWidth:120,templet:function(d){
+ var xml = "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看案例信息', '${ctx}/workexample/workExample/form?id=" + d.id + "&tabId=1','95%','95%')\">" +
+ ,{field:'address',align:'center', title: '工程地点',minWidth:120,templet:function(d){
+ return "<span title='"+ d.address +"'>" + d.address + "</span>";
+ ,{field:'buildScale',align:'center', title: '建设规模(m2)',minWidth:120,templet:function(d){
+ return "<span title='"+ d.buildScale +"'>" + d.buildScale + "</span>";
+ ,{field:'modus', align:'center',title: '结构形式',width:90,templet:function(d){
+ return "<span title='"+ d.modus +"'>" + d.modus + "</span>";
+ ,{field:'basicType', align:'center',title: '基础类型',width:90,templet:function(d){
+ return "<span title='"+ d.basicType +"'>" + d.basicType + "</span>";
+ ,{field:'scale', align:'center',title: '规模',width:90,templet:function(d){
+ return "<span title='"+ d.scale +"'>" + d.scale + "</span>";
+ ,{field:'endDate', align:'center',title: '竣工日期',width:90,templet:function(d){
+ return "<span title='"+ d.endDate +"'>" + d.endDate + "</span>";
+ ,{field:'createBy', align:'center',title: '创建人',width:90,templet:function(d){
+ return "<span title='"+ d.createBy +"'>" + d.createBy + "</span>";
+ ,{field:'status',align:'center', title: '状态', width:70,templet:function(d){
+ var st = getAuditState(d.status);
+ if(st.action)
+ var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/workexample/workExample/getProcessOne?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+ else
+ var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+ // ,{fixed: 'right',align:'center', toolbar: '#op',title:"操作"}
+ if(d.cancancel != undefined && d.cancancel == "1")
+ xml += "<a href=\"${ctx}/workexample/workExample/cancelInvalidate?id=" + d.id + "\" onclick=\"return confirmx('确认要强制撤回?', this.href)\" class=\"op-btn op-btn-cancel\"><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
+ xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogreplay('修改案例信息', '${ctx}/workexample/workExample/form?id="+ d.id + "','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+ if(d.canedit2 != undefined && d.canedit2 == "1")
+ xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogModify('修改案例信息', '${ctx}/workexample/workExample/form?id="+ d.id + "&tabId=3','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+ if(d.canedit3 != undefined && d.canedit3 == "1")
+ xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogreplay('重新申请', '${ctx}/workexample/workExample/form?id=" + d.id + "&tabId=4','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+ xml +="<a href=\"${ctx}/workexample/workExample/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该案例申请吗?', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";
+ <c:forEach items="${page.list}" var="workExample" varStatus="index">
+ ,"id":"${workExample.id}"
+ ,"type":"${workExample.mainDictDetail.detailName}"
+ ,"name":"${workExample.name}"
+ ,"address":"${workExample.area.name}"
+ ,"modus":"${workExample.modus}"
+ ,"basicType":"${workExample.basicType}"
+ ,"buildScale":"${workExample.buildScale}"
+ ,"scale":"${workExample.scale}"
+ ,"endDate":"<fmt:formatDate value="${workExample.endDate}" pattern="yyyy-MM-dd"/>"
+ ,"status":"${workExample.status}"
+ ,"createBy":"${workExample.createBy.name}"
+ <c:if test="${fns:getUser().id == workExample.createBy.id}">
+ <c:if test="${workExample.status == '2' }">,"cancancel":"1"</c:if>
+ <shiro:hasPermission name="workexample:workExample:edit"><c:choose>
+ <c:when test="${workExample.status == '1' }">,"canedit1":"1"</c:when>
+ <c:when test="${workExample.status == '4'}">,"canedit2":"1"</c:when>
+ <c:when test="${workExample.status == '3'}">,"canedit3":"1"</c:when>
+ <shiro:hasPermission name="workexample:workExample:del"><c:choose>
+ <c:when test="${(workExample.status == '1' or workExample.status == '3' or workExample.status == '4')}">,"candelete":"1"</c:when>
@@ -0,0 +1,330 @@
+ <form:form id="searchForm" modelAttribute="workExample" action="${ctx}/workexample/workExample/listView" method="post" class="form-inline">
@@ -0,0 +1,412 @@
+ <form:form id="searchForm" modelAttribute="workExample" action="${ctx}/workexample/workExamples/" method="post" class="form-inline">
+ <<div class="layui-item query athird">
+ ,{field:'address',align:'center', title: '工程地点',minWidth:160,templet:function(d){
+ ,{field:'buildScale',align:'center', title: '建设规模(m2)',minWidth:160,templet:function(d){
+ ,{field:'startDate', align:'center',title: '开工日期',width:90,templet:function(d){
+ return "<span title='"+ d.startDate +"'>" + d.startDate + "</span>";
+ ,{field:'officeName', align:'center',title: '所属部门',width:90,templet:function(d){
+ ,{field:'safeLevel', align:'center',title: '结构安全等级',width:90,templet:function(d){
+ return "<span title='"+ d.safeLevel +"'>" + d.safeLevel + "</span>";
+ ,{field:'stage', align:'center',title: '编制阶段',width:90,templet:function(d){
+ return "<span title='"+ d.stage +"'>" + d.stage + "</span>";
+ ,{field:'investmentType', align:'center',title: '投资类型',width:90,templet:function(d){
+ return "<span title='"+ d.investmentType +"'>" + d.investmentType + "</span>";
+ ,{field:'valuationType', align:'center',title: '计价类型',width:90,templet:function(d){
+ return "<span title='"+ d.valuationType +"'>" + d.valuationType + "</span>";
+ ,{field:'valuationAccording', align:'center',title: '计价依据',width:90,templet:function(d){
+ return "<span title='"+ d.valuationAccording +"'>" + d.valuationAccording + "</span>";
+ ,{field:'biddingPrice', align:'center',title: '招标基准信息价',width:90,templet:function(d){
+ return "<span title='"+ d.biddingPrice +"'>" + d.biddingPrice + "</span>";
+ ,{field:'taxModel', align:'center',title: '计税模式',width:90,templet:function(d){
+ return "<span title='"+ d.taxModel +"'>" + d.taxModel + "</span>";
+ ,{field:'abovegroundArea', align:'center',title: '地上建筑面积',width:90,templet:function(d){
+ return "<span title='"+ d.abovegroundArea +"'>" + d.abovegroundArea + "</span>";
+ ,{field:'undergroundArea', align:'center',title: '地下建筑面积',width:90,templet:function(d){
+ return "<span title='"+ d.undergroundArea +"'>" + d.undergroundArea + "</span>";
+ ,{field:'civilArea', align:'center',title: '人防建筑面积',width:90,templet:function(d){
+ return "<span title='"+ d.civilArea +"'>" + d.civilArea + "</span>";
+ ,{field:'garageArea', align:'center',title: '车库建筑面积',width:90,templet:function(d){
+ return "<span title='"+ d.garageArea +"'>" + d.garageArea + "</span>";
+ ,{field:'abovegroundLayer', align:'center',title: '地上层数',width:90,templet:function(d){
+ return "<span title='"+ d.abovegroundLayer +"'>" + d.abovegroundLayer + "</span>";
+ ,{field:'undergroundLayer', align:'center',title: '地下层数',width:90,templet:function(d){
+ return "<span title='"+ d.undergroundLayer +"'>" + d.undergroundLayer + "</span>";
+ ,{field:'abovegroundHeight', align:'center',title: '地上层高',width:90,templet:function(d){
+ return "<span title='"+ d.abovegroundHeight +"'>" + d.abovegroundHeight + "</span>";
+ ,{field:'undergroundHeight', align:'center',title: '地下层高',width:90,templet:function(d){
+ return "<span title='"+ d.undergroundHeight +"'>" + d.undergroundHeight + "</span>";
+ ,{field:'totalHeight', align:'center',title: '总层数',width:90,templet:function(d){
+ return "<span title='"+ d.totalHeight +"'>" + d.totalHeight + "</span>";
+ ,{field:'eavesHeight', align:'center',title: '檐 高',width:90,templet:function(d){
+ return "<span title='"+ d.eavesHeight +"'>" + d.eavesHeight + "</span>";
+ ,{field:'insideDecoration', align:'center',title: '内墙面装修',width:90,templet:function(d){
+ return "<span title='"+ d.insideDecoration +"'>" + d.insideDecoration + "</span>";
+ ,{field:'outsideDecoration', align:'center',title: '外墙面装修',width:90,templet:function(d){
+ return "<span title='"+ d.outsideDecoration +"'>" + d.outsideDecoration + "</span>";
+ ,{field:'skylightDecoration', align:'center',title: '天棚装修',width:90,templet:function(d){
+ return "<span title='"+ d.skylightDecoration +"'>" + d.skylightDecoration + "</span>";
+ ,{field:'floorDecoration', align:'center',title: '楼地面装修',width:90,templet:function(d){
+ return "<span title='"+ d.floorDecoration +"'>" + d.floorDecoration + "</span>";
+ ,{field:'door', align:'center',title: '门',width:90,templet:function(d){
+ return "<span title='"+ d.door +"'>" + d.door + "</span>";
+ ,{field:'window', align:'center',title: '窗',width:90,templet:function(d){
+ return "<span title='"+ d.window +"'>" + d.window + "</span>";
+ ,"officeName":"${workExample.officeName}"
+ ,"safeLevel":"${workExample.safeLevel}"
+ ,"stage":"${workExample.stage}"
+ ,"investmentType":"${workExample.investmentType}"
+ ,"valuationType":"${workExample.valuationType}"
+ ,"valuationAccording":"${workExample.valuationAccording}"
+ ,"biddingPrice":"${workExample.biddingPrice}"
+ ,"taxModel":"${workExample.taxModel}"
+ ,"abovegroundArea":"${workExample.abovegroundArea}"
+ ,"undergroundArea":"${workExample.undergroundArea}"
+ ,"civilArea":"${workExample.civilArea}"
+ ,"garageArea":"${workExample.garageArea}"
+ ,"abovegroundLayer":"${workExample.abovegroundLayer}"
+ ,"undergroundLayer":"${workExample.undergroundLayer}"
+ ,"abovegroundHeight":"${workExample.abovegroundHeight}"
+ ,"undergroundHeight":"${workExample.undergroundHeight}"
+ ,"totalHeight":"${workExample.totalHeight}"
+ ,"eavesHeight":"${workExample.eavesHeight}"
+ ,"insideDecoration":"${workExample.insideDecoration}"
+ ,"outsideDecoration":"${workExample.outsideDecoration}"
+ ,"skylightDecoration":"${workExample.skylightDecoration}"
+ ,"floorDecoration":"${workExample.floorDecoration}"
+ ,"door":"${workExample.door}"
+ ,"window":"${workExample.window}"
+ ,"startDate":"<fmt:formatDate value="${workExample.startDate}" pattern="yyyy-MM-dd"/>"
+ <title>单项工程造价指标</title>
+ limit:${ exampleSingleList.size() }
+ {field:'name',align:'center', title: '费用名称',minWidth:120,templet:function(d){
+ ,{field:'counts',align:'center', title: '样 本 量',minWidth:120,templet:function(d){
+ ,{field:'sums',align:'center', title: '总金额(元)',minWidth:120,templet:function(d){
+ ,{field:'maxs',align:'center', title: '最大单位造价(m2)',minWidth:120,templet:function(d){
+ ,{field:'mins', align:'center',title: '最小单位造价(m2)',minWidth:120,templet:function(d){
+ ,{field:'avgs', align:'center',title: '平均单位造价(m2)',minWidth:120,templet:function(d){
+ <c:if test="${ not empty exampleSingleList}">
+ <c:forEach items="${exampleSingleList}" var="exampleSingle" varStatus="index">
+ "id":"${exampleSingle.id}"
+ ,"name":"${exampleSingle.name}"
+ ,"counts":"${exampleSingle.counts}"
+ ,"sums":"<fmt:formatNumber value="${exampleSingle.sums}" pattern="#,#0.00"/>"
+ ,"maxs":"<fmt:formatNumber value="${exampleSingle.maxs}" pattern="#,#0.00"/>"
+ ,"mins":"<fmt:formatNumber value="${exampleSingle.mins}" pattern="#,#0.00"/>"
+ ,"avgs":"<fmt:formatNumber value="${exampleSingle.avgs}" pattern="#,#0.00"/>"
+ ,"proportion":"<fmt:formatNumber value="${exampleSingle.proportion}" pattern="#,#0.00"/>"
@@ -0,0 +1,126 @@
+ <title>工程概况</title>
+ <div class="single-form view-form">
+ <div class="layui-item layui-col-sm6 lw7">
+ <input id="workType" path="workType" readonly="true" htmlEscape="false" class="form-control required layui-input" value="${workExample.workType}"/>
+ <label class="layui-form-label">样 本 量:</label>
+ <input readonly="true" htmlEscape="false" class="form-control required layui-input" value="${workExample.counts}"/>
+ <label class="layui-form-label double-line">总建设规模(㎡):</label>
+ <input readonly="true" htmlEscape="false" class="form-control required layui-input" value="${workExample.sums}"/>
+ <label class="layui-form-label double-line">平均建设规模(㎡):</label>
+ <input readonly="true" htmlEscape="false" class="form-control required layui-input" value="${workExample.avgs}"/>
+ <label class="layui-form-label double-line">最小建设规模(㎡):</label>
+ <input readonly="true" htmlEscape="false" class="form-control required layui-input" value="${workExample.mins}"/>
+ <label class="layui-form-label double-line">最大建设规模(㎡):</label>
+ <input readonly="true" htmlEscape="false" class="form-control required layui-input" value="${workExample.maxs}"/>
+ <title>主要工程量指标</title>
+ limit:${ exampleProjectList.size() }
+ ,{field:'maxs',align:'center', title: '最大单位指标(每100㎡)',minWidth:120,templet:function(d){
+ ,{field:'mins', align:'center',title: '最小单位指标(每100㎡)',minWidth:120,templet:function(d){
+ ,{field:'avgs', align:'center',title: '平均单位指标(每100㎡)',minWidth:120,templet:function(d){
+ <c:if test="${ not empty exampleProjectList}">
+ <c:forEach items="${exampleProjectList}" var="exampleProject" varStatus="index">
+ "id":"${exampleProject.id}"
+ ,"name":"${exampleProject.name}"
+ ,"name2":"${exampleProject.name}"
+ ,"counts":"${exampleProject.counts}"
+ ,"sums":"${exampleProject.sums}"
+ ,"maxs":"<fmt:formatNumber value="${exampleProject.maxs}" pattern="#,#0.00"/>"
+ ,"mins":"<fmt:formatNumber value="${exampleProject.mins}" pattern="#,#0.00"/>"
+ ,"avgs":"<fmt:formatNumber value="${exampleProject.avgs}" pattern="#,#0.00"/>"
+ <title>审核流程</title>
+<div class="container form layui-form">
@@ -0,0 +1,87 @@
+ <title>案例导入日志管理</title>
+ <form:form id="inputForm" modelAttribute="workExampleImplog" action="${ctx}/workexampleimplog/workExampleImplog/save" method="post" class="form-horizontal">
+ <td class="width-15 active"><label class="pull-right">公司:</label></td>
+ <form:input path="companyId" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">部门:</label></td>
+ <form:input path="officeId" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">概况Id:</label></td>
+ <form:input path="exampleId" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">指标:</label></td>
+ <form:input path="indexId" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">项:</label></td>
+ <form:input path="termId" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">失败原因:</label></td>
+ <form:input path="reason" htmlEscape="false" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right">状态:</label></td>
+ <form:input path="flat" htmlEscape="false" class="form-control "/>
@@ -0,0 +1,250 @@
+<%@ page import="com.jeeplus.modules.sys.utils.UserUtils" %>
+ <title>案例导入日志</title>
+ <form:form id="searchForm" modelAttribute="workExampleImplog" action="${ctx}/workexampleimplog/workExampleImplog/" method="post" class="form-inline">
+ <%--以下三行照抄--%>
+ <div class="commonQuery ">
+ <input id="exampleName" name="exampleName" type="text" maxlength="64" class=" form-control layui-input " />
+ <input id="beginDate" placeholder="开始时间" name="beginCreateDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+ value="<fmt:formatDate value="${workExampleImplog.beginCreateDate}" pattern="yyyy-MM-dd"/>"/>
+ <input id="endDate" placeholder="结束时间" name="endCreateDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+ value="<fmt:formatDate value="${workExampleImplog.endCreateDate}" pattern="yyyy-MM-dd"/>"/>
+ <%-- <a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>--%>
+ {field:'exampleName',align:'center', minWidth:130,title: '工程名称', templet:function(d){
+ return "<span title='"+ d.exampleName +"'>" + d.exampleName + "</span>";
+ }},
+ {field:'indexName',align:'center', minWidth:130, title: '指标名称',templet:function(d){
+ return "<span title='"+ d.indexName +"'>" + d.indexName + "</span>";
+ /* ,{field:'termName',align:'center', width:100, title: '指标项',templet:function(d){
+ return "<span title='"+ d.termName +"'>" + d.termName + "</span>";
+ }}*/
+ ,{field:'userName',align:'center', width:100, title: '操作人',templet:function(d){
+ return "<span title='"+ d.userName +"'>" + d.userName + "</span>";
+ ,{field:'reason',align:'center', minWidth:130, title: '失败原因',templet:function(d){
+ return "<span title='"+ d.reason +"'>" + d.reason + "</span>";
+ ,{field:'createDate',align:'center',sort: true,width:130, title: '导入时间', templet:function(d){
+ return "<span title='"+ d.createDate +"'>" + d.createDate + "</span>";
+ <c:forEach items="${page.list}" var="workExampleImplog" varStatus="index">
+ "id":"${workExampleImplog.id}"
+ ,"exampleName":"${workExampleImplog.exampleName}"
+ ,"indexName":"${workExampleImplog.indexName}"
+ /* ,"termName":"${workExampleImplog.termName}"*/
+ ,"userName":"${workExampleImplog.userName}"
+ ,"reason":"${workExampleImplog.reason}"
+ ,"createDate":"<fmt:formatDate value="${workExampleImplog.createDate}" pattern="yyyy-MM-dd HH:mm"/>"
+<script type="text/javascript">
+ format: 'yyyy-MM-dd',
+ /*function openDialogre(title,url,width,height,target){
@@ -0,0 +1,61 @@
+ <title>现场踏勘记录管理</title>
+ getCurrentDocumentHei()
+ function getCurrentDocumentHei(){
+ parent.$("#controltype").attr("height",height +"px")
+ <form:form id="inputForm" modelAttribute="workExplore" action="${ctx}/workexplore/workExplore/save" method="post" class="form-horizontal">
+ <label class="layui-form-label" style="width:105px;"><span class="require-item">*</span>现场踏勘记录:</label>
+ <div class="layui-input-block" style="margin-left:131px">
+ <form:textarea path="remarks" htmlEscape="false" rows="16" class="form-control required"/>
@@ -0,0 +1,25 @@
+ <div class="form-group-label"><h2>现场踏勘记录</h2></div>
+ <textarea id="content" name="content" rows="10" disabled="disabled"
+ class="form-control summernote required" placeholder="内容"
+ required></textarea>
@@ -0,0 +1,122 @@
+ <h5>现场踏勘记录列表 </h5>
+ <form:form id="searchForm" modelAttribute="workExplore" action="${ctx}/workexplore/workExplore/" method="post" class="form-inline">
+ <shiro:hasPermission name="workexplore:workExplore:add">
+ <table:addRow url="${ctx}/workexplore/workExplore/form" title="现场踏勘记录"></table:addRow><!-- 增加按钮 -->
+ <shiro:hasPermission name="workexplore:workExplore:edit">
+ <table:editRow url="${ctx}/workexplore/workExplore/form" title="现场踏勘记录" id="contentTable"></table:editRow><!-- 编辑按钮 -->
+ <shiro:hasPermission name="workexplore:workExplore:del">
+ <table:delRow url="${ctx}/workexplore/workExplore/deleteAll" id="contentTable"></table:delRow><!-- 删除按钮 -->
+ <shiro:hasPermission name="workexplore:workExplore:import">
+ <table:importExcel url="${ctx}/workexplore/workExplore/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workexplore:workExplore:export">
+ <table:exportExcel url="${ctx}/workexplore/workExplore/export"></table:exportExcel><!-- 导出按钮 -->
+ <c:forEach items="${page.list}" var="workExplore">
+ <td> <input type="checkbox" id="${workExplore.id}" class="i-checks"></td>
+ <td><a href="#" onclick="openDialogView('查看现场踏勘记录', '${ctx}/workexplore/workExplore/form?id=${workExplore.id}','800px', '500px')">
+ ${workExplore.remarks}
+ <shiro:hasPermission name="workexplore:workExplore:view">
+ <a href="#" onclick="openDialogView('查看现场踏勘记录', '${ctx}/workexplore/workExplore/form?id=${workExplore.id}','800px', '500px')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <a href="#" onclick="openDialog('修改现场踏勘记录', '${ctx}/workexplore/workExplore/form?id=${workExplore.id}','800px', '500px')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <a href="${ctx}/workexplore/workExplore/delete?id=${workExplore.id}" onclick="return confirmx('确认要删除该现场踏勘记录吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
@@ -0,0 +1,257 @@
+ <title>外勤申请管理</title>
+ parent.layer.msg("信息未填写完整!", {icon: 5});
+ elem: '#startDate',
+ event: 'focus',
+ elem: '#endDate',
+ var list = "${workField.workAttachments}";
+ var attachmentFlag = "73";
+ var storeAs = "attachment-file/workField/"+timestamp+"/"+file['name'];
+ <form:form id="inputForm" modelAttribute="workField" action="${ctx}/workfield/workField/saveAudit" method="post" class="form-horizontal">
+ <input type="hidden" name="workStaffBasicInfo.id" value="${workField.workStaffBasicInfo.id}">
+ <label class="layui-form-label">姓名:</label>
+ <form:input id="name" path="name" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <label class="layui-form-label">外勤申请编号:</label>
+ <form:input id="num" path="num" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+ <span class="input-group-btn">
+ <label class="form-status"><c:choose><c:when test="${ empty workField.status}">新添</c:when><c:otherwise>${fns:getDictLabel(workField.status, 'audit_state','')}</c:otherwise> </c:choose></label>
+ </span>
+ <label class="layui-form-label">工号:</label>
+ <form:input path="workStaffBasicInfo.no" htmlEscape="false" readonly="true" class="form-control required layui-input"/>
+ <label class="layui-form-label">员工状态:</label>
+ <form:input path="workStaffBasicInfo.status" htmlEscape="false" readonly="true" class="form-control required layui-input"/>
+ <form:input path="workStaffBasicInfo.office.name" htmlEscape="false" readonly="true" class="form-control required layui-input"/>
+ <label class="layui-form-label">职级:</label>
+ <form:input path="workStaffBasicInfo.jobGrade.name" htmlEscape="false" readonly="true" class="form-control required layui-input"/>
+ <label class="layui-form-label"><span class="require-item">*</span>开始日期:</label>
+ <input type="text" maxlength="20" class="laydate-icondate required form-control layer-date layui-input laydate-icon query-group"
+ value="<fmt:formatDate value="${workField.startDate}" pattern="yyyy-MM-dd"/>"/>
+ <input value="${fns:getDictLabel(workField.startType, 'date_type', '')}" readonly="true" class="form-control simple-select query-group">
+ <label class="layui-form-label"><span class="require-item">*</span>结束日期:</label>
+ value="<fmt:formatDate value="${workField.endDate}" pattern="yyyy-MM-dd"/>"/>
+ <input value="${fns:getDictLabel(workField.endType, 'date_type', '')}" readonly="true" class="form-control simple-select query-group">
+ <label class="layui-form-label"><span class="require-item">*</span>外勤天数:</label>
+ <form:input path="days" htmlEscape="false" readonly="true" class="form-control required layui-input"/>
+ <label class="layui-form-label"><span class="require-item">*</span>申请日期:</label>
+ <input type="text" maxlength="20" class="laydate-icondate required form-control layer-date layui-input laydate-icon"
+ value="<fmt:formatDate value="${workField.createDate}" pattern="yyyy-MM-dd"/>"/>
+ <label class="layui-form-label"><span class="require-item">*</span>外勤事由:</label>
+ <form:textarea path="reason" htmlEscape="false" rows="4" maxlength="255" readonly="true" class="form-control required"/>
+ <%--<div class="layui-item nav-btns">
+ <c:forEach items="${workField.workAttachments}" var = "workClientAttachment" varStatus="status">
+ <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+ <%--<c:if test="${workClientAttachment.createBy.id eq fns:getUser().id}">
+ <div class="form-group layui-row lw8">
+ <div class="form-group-label"><h2>审批意见</h2></div>
+ <label class="layui-form-label">审批意见:</label>
+ <form:textarea path="act.comment" class="form-control" rows="4" maxlength="127" />
+ <input type="file" name="upload_files" style="display: none;">
+ <div class="form-group-label"><h2>审批流程</h2></div>
+ <act:flowChart procInsId="${workField.act.procInsId}"/>
+ <act:histoicFlow procInsId="${workField.act.procInsId}"/>
@@ -0,0 +1,373 @@
+ label.error{
+ top:40px;
+ left:0;
+ #reason-error{
+ top:80px;
+ $("#inputForm").attr("action","${ctx}/workfield/workField/store");
+ $("#inputForm").attr("action","${ctx}/workfield/workField/save");
+ var endDate = $("#endDate").val().replace("-","").replace("-","");
+ //结束
+ var startDate = $("#startDate").val().replace("-","").replace("-","");
+ var strtType = $("#startType").val();
+ var endType = $("#endType").val();
+ if(endDate != null && endDate != undefined && endDate != '' && startDate != null && startDate != undefined && startDate != '') {
+ var days = endDate - startDate;
+ console.log("------days----" + days);
+ if (days < 0) {
+ parent.layer.msg("结束日期必须在开始日期之后!!!", {icon: 5});
+ }else if(days == 0){
+ if("2" == strtType && "1" == endType){
+ type : 'date',
+ var endDate = $("#endDate").val();
+ //console.log("------endDate----"+endDate);
+ if(endDate != null && endDate != undefined && endDate != '') {
+ var s1 = new Date(value.replace(/-/g, "/"));
+ var s2 = new Date(endDate.replace(/-/g, "/"));
+ var days = s2.getTime() - s1.getTime();
+ if(days < 0){
+ if("1" == strtType && "2" == endType){
+ $("#days").val(1);
+ }else if("2" == strtType && "1" == endType){
+ $("#days").val(0.5);
+ var time = parseInt(days / (1000 * 60 * 60 * 24));
+ //console.log("--------time-------"+time);
+ if("1" == strtType && "1" == endType){
+ $("#days").val( time+0.5);
+ }else if("1" == strtType && "2" == endType){
+ $("#days").val( time+1);
+ }else if("2" == strtType && "2" == endType){
+ $("#days").val( time);
+ var startDate = $("#startDate").val();
+ //console.log("------startDate----"+startDate);
+ if(startDate != null && startDate != undefined && startDate != '') {
+ var s1 = new Date(startDate.replace(/-/g, "/"));
+ var s2 = new Date(value.replace(/-/g, "/"));
+ var attachmentFlag = "75";
+ function setT() {
+ if(startDate != null && startDate != undefined && startDate != '' && endDate != null && endDate != undefined && endDate != '' ){
+ <form:form id="inputForm" modelAttribute="workField" action="${ctx}/workfield/workField/save" method="post" class="form-horizontal">
+ <input id="startDate" name="startDate" style="background-color: #ffffff;" readonly="true" htmlEscape="false" maxlength="20" class="laydate-icondate required form-control layer-date layui-input laydate-icon query-group"
+ <form:select path="startType" onchange="setT()" class="form-control simple-select query-group">
+ <form:options items="${fns:getDictList('date_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <input id="endDate" name="endDate" style="background-color: #ffffff;" readonly="true" htmlEscape="false" maxlength="20" class="laydate-icondate required form-control layer-date layui-input laydate-icon query-group"
+ <form:select path="endType" onchange="setT()" class="form-control simple-select query-group">
+ <input id="createDate" name="createDate" type="text" maxlength="20" class="laydate-icondate required form-control layer-date layui-input laydate-icon"
+ <form:textarea path="reason" htmlEscape="false" rows="4" maxlength="255" class="form-control required"/>
@@ -0,0 +1,326 @@
+ <form:form id="searchForm" modelAttribute="workField" action="${ctx}/workfield/workField/" method="post" class="form-inline">
+ <form:input path="name" htmlEscape="false" class="form-control layui-input"/>
+ <form:input path="workStaffBasicInfo.no" htmlEscape="false" maxlength="64" class=" form-control layui-input"/>
+ <label class="layui-form-label">申请编号:</label>
+ <form:input path="num" htmlEscape="false" maxlength="64" class=" form-control layui-input"/>
+ <shiro:hasPermission name="workfield:workField:add">
+ <button class="nav-btn nav-btn-add" title="外勤申请" onclick="openDialogre('外勤申请','${ctx}/workfield/workField/form','95%','95%')"><i class="fa fa-plus"></i> 添加</button>
+ ,{field:'num',align:'center',title: '外勤编号',minWidth:160,templet:function(d){
+ var xml = "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看外勤申请', '${ctx}/workfield/workField/form?id=" + d.id + "&tabId=1','95%','95%')\">" +
+ "<span title=" + d.num + ">" + d.num + "</span></a>";
+ ,{field:'no',align:'center', title: '工号',minWidth:160,templet:function(d){
+ return "<span title='"+ d.no +"'>" + d.no + "</span>";
+ ,{field:'name',align:'center', title: '姓名',minWidth:160,templet:function(d){
+ ,{field:'jg', align:'center',title: '职级',minWidth:160,templet:function(d){
+ return "<span title='"+ d.jg +"'>" + d.jg + "</span>";
+ ,{field:'days', align:'center',title: '外勤天数',minWidth:160,templet:function(d){
+ return "<span title='"+ d.days +"'>" + d.days + "</span>";
+ ,{field:'createDate',align:'center', sort:true,title: '申请日期',minWidth:160}
+ ,{field:'status',align:'center', title: '状态',minWidth:160,templet:function(d){
+ <%--var st = getAuditState(d.status);--%>
+ <%--var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/workcontractrecord/workContractRecord/getProcessOne?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
+ <%--return xml;--%>
+ var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/workfield/workField/getProcessOne?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+ ,{field:'op',align:'center',title:"操作",minWidth:160,templet:function(d){
+ xml += "<a href=\"${ctx}/workfield/workField/cancelInvalidate?id=" + d.id + "\" onclick=\"return confirmx('确认要强制撤回?', this.href)\" class=\"op-btn op-btn-cancel\"><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
+ xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('修改外勤信息', '${ctx}/workfield/workField/form?id="+ d.id + "','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+ xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogreplay('修改外勤信息', '${ctx}/workfield/workField/form?id="+ d.id + "&tabId=3','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+ xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogreplay('重新申请外勤', '${ctx}/workfield/workField/form?id=" + d.id + "&tabId=4','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+ xml +="<a href=\"${ctx}/workfield/workField/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该外勤申请吗?', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";
+ <c:forEach items="${page.list}" var="workField" varStatus="index">
+ ,"id":"${workField.id}"
+ ,"num":"${workField.num}"
+ ,"name":"${workField.name}"
+ ,"no":"${workField.workStaffBasicInfo.no}"
+ ,"officeName":"${workField.workStaffBasicInfo.office.name}"
+ ,"jg":"${workField.workStaffBasicInfo.jobGrade.name}"
+ ,"days":"${workField.days}"
+ ,"createDate":"<fmt:formatDate value="${workField.createDate}" pattern="yyyy-MM-dd"/>"
+ ,"status":"${workField.status}"
+ <c:if test="${fns:getUser().id == workField.createBy.id}">
+ <c:if test="${workField.status == '2' }">,"cancancel":"1"</c:if>
+ <shiro:hasPermission name="workfield:workField:edit"><c:choose>
+ <c:when test="${workField.status == '1' }">,"canedit1":"1"</c:when>
+ <c:when test="${workField.status == '4'}">,"canedit2":"1"</c:when>
+ <c:when test="${workField.status == '3'}">,"canedit3":"1"</c:when>
+ <shiro:hasPermission name="workfield:workField:del"><c:choose>
+ <c:when test="${(workField.status == '1' or workField.status == '3' or workField.status == '4')}">,"candelete":"1"</c:when>
@@ -0,0 +1,369 @@
@@ -0,0 +1,232 @@
+ <title>审批流程</title>
@@ -0,0 +1,180 @@
+ <title>施工联系单审核</title>
+ url:"${ctx}/workfullconstructsheet/workFullConstructsheet/present",
+ <form:form id="inputForm" modelAttribute="workFullConstructsheet" method="post" class="form-horizontal">
+ <sys:message content="${requestScope.message}"/>
+ <c:set var="status" value="${workFullConstructsheet.act.status}" />
+ <td class="width-15 active" rowspan="9"><label class="pull-right">台账信息:</label></td>
+ <td class="width-15 active"><label class="pull-right">施工单位:</label></td>
+ <td class="width-40" colspan="3">
+ ${workFullManage.constructId.unitName}
+ <td class="width-15 active"><label class="pull-right">联系单主题:</label></td>
+ ${workFullConstructsheet.constructsheetTopic}
+ <td class="width-30">
+ ${workFullConstructsheet.projectNumber}
+ <td class="width-15 active"><label class="pull-right">联系单编号:</label></td>
+ ${workFullConstructsheet.constructsheetNumber}
+ <td class="width-15 active"><label class="pull-right">施工标段:</label></td>
+ ${workFullConstructsheet.constructSection}
+ <td class="width-15 active"><label class="pull-right">是否产生费用增减:</label></td>
+ ${fns:getDictLabel(workFullConstructsheet.costIncreaseDecrease,'cost_increase_decrease' ,'' )}
+ <td class="width-15 active"><label class="pull-right">业主处理意见:</label></td>
+ ${workFullConstructsheet.proprietorComment}
+ <td class="width-15 active"><label class="pull-right">变更原因及主要内容:</label></td>
+ ${workFullConstructsheet.changeContext}
+ ${workFullConstructsheet.remarks}
+ <td class="width-15 active"><label class="pull-right">文件上传:</label></td>
+ <div style="float:left; height: 100%; width: 100%; ">
+ <table id="listManuscriptFile" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <c:if test="${not empty workFullConstructsheet.workAttachments}">
+ <c:forEach items="${workFullConstructsheet.workAttachments}" var="attachment" varStatus="varStatus">
+ <%--<td>${varStatus.index+1}</td>--%>
+ <%--<td>${workFullConstructsheet.workattachment.attachmentName}</td>--%>
+ <td><img src="${attachment.url}" onclick="openDialogView(' ','${ctx}/sys/picturepreview/picturePreview?url=${attachment.url}','860px','600px')" width="50" height="50" alt="${attachment.attachmentName}"/></td>
+ <%--<td><a href="${workFullConstructsheet.workattachment.url}"><span title="${workFullConstructsheet.workattachment.attachmentName}">${fns:abbr(workFullConstructsheet.workattachment.attachmentName, 20)}</span></a></td>--%>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${attachment.url}','80%','80%','1')">
+ <span title="${attachment.attachmentName}">${fns:abbr(attachment.attachmentName, 30)}</span></a></td>
+ <%--<td><a href="javascript:void(0)" onclick="openDialogViewPre('预览','${ctx}/previewController/previewUrl?fileUrl=${workFullConstructsheet.workattachment.url}','80%','80%')"><span title="${workFullConstructsheet.workattachment.attachmentName}">${fns:abbr(workFullConstructsheet.workattachment.attachmentName, 20)}</span></a></td>--%>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${attachment.url}','80%','80%')">
+ <td><fmt:formatDate value="${attachment.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
+ <c:if test="${not empty status}">
+ <td class="width-15 active" rowspan="2"><label class="pull-right">审批意见:</label></td>
+ <td class="width-15 active"><label class="pull-right">意见:</label></td>
+ <td class="width-30" colspan="3">
+ <act:flowChart procInsId="${workFullConstructsheet.act.procInsId}"/>
+ <act:histoicFlow procInsId="${workFullConstructsheet.act.procInsId}"/>
@@ -0,0 +1,118 @@
+ <title>已审核列表</title>
+ <li><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/workfullmanageList">项目列表</a></li>
+ <li><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/auditTodo">待审核列表</a></li>
+ <li class="active"><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/auditHistory">已审核列表</a></li>
+ <form:form id="searchForm" modelAttribute="act" method="get" class="form-inline">
+ <th style="text-align: center;width: 10%;">流程发起人</th>
+ <th style="text-align: center;width: 10%;">流程名称</th>
+ <th style="text-align: center;width: 10%;">流程版本</th>
+ <th style="text-align: center;width: 20%;">联系单主题</th>
+ <th style="text-align: center;width: 10%;">施工标段</th>
+ <th style="text-align: center;width: 25%;">所属项目</th>
+ <th style="text-align: center;width: 15%;">流程发起时间</th>
+ <c:forEach items="${list}" var="workFullConstructsheet">
+ <c:set var="task" value="${workFullConstructsheet.act.task}" />
+ <c:set var="vars" value="${workFullConstructsheet.act.vars}" />
+ <c:set var="procDef" value="${workFullConstructsheet.act.procDef}" />
+ <td>${workFullConstructsheet.act.vars.map.applyUserId}</td>
+ <shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:view">
+ <a href="javascript:void(0)" onclick="openDialogView('查看施工联系单', '${ctx}/workfullconstructsheet/workFullConstructsheet/form?id=${workFullConstructsheet.id}&dialog=view','80%','80%')">
+ <span title="${workFullConstructsheet.constructsheetTopic}">${fns:abbr(workFullConstructsheet.constructsheetTopic, 40)}</span>
+ <td>${workFullConstructsheet.constructSection}</td>
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目', '${ctx}/workfullmanage/workFullManage/form?id=${workFullConstructsheet.workFullManage.id}&tabId=0','80%','80%')">
+ <span title="${workFullConstructsheet.workFullManage.fullProjectName}">${fns:abbr(workFullConstructsheet.workFullManage.fullProjectName, 40)}</span>
+ <td><fmt:formatDate value="${workFullConstructsheet.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
@@ -0,0 +1,233 @@
+ <title>待审核施工联系单</title>
+ location = '${ctx}/workfullconstructsheet/workFullConstructsheet/list/?pageNo='+n+'&pageSize='+s;
+ location = '${ctx}/workfullconstructsheet/workFullConstructsheet/auditTodo/';
+ var formId = inputForm.attr("id");
+ if(formId){
+ $document.getElementById("flag").setAttribute("value","yes");
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullconstructsheet/workFullConstructsheet/saveAudit");
+ formSubmit($document,formId,index);
+ $document.getElementById("flag").setAttribute("value","no");
+ function formSubmit($document,inputForm,index){
+ var loadingMessage = parent.layer.load(0, {shade: false,opacity:0.1});
+ history.go(0);
+ parent.layer.msg("审批完成!!!",{icon:6});
+ parent.layer.close(loadingMessage);
+ <li class="active"><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/auditTodo">待审核列表</a></li>
+ <li><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/auditHistory">已审核列表</a></li>
+ <th style="text-align: center;width:10%">流程发起人</th>
+ <th style="text-align: center;width:10%">当前环节</th>
+ <th style="text-align: center;width:8%">流程名称</th>
+ <th style="text-align: center;width:8%">流程版本</th>
+ <th style="text-align: center;width:20%">项目名称</th>
+ <th style="text-align: center;width:15%">联系单主题</th>
+ <th style="text-align: center;width:8%">施工标段</th>
+ <th style="text-align: center;width:13%">流程发起时间</th>
+ <th style="text-align: center;width:8%">操作</th>
+ <span title="${workFullConstructsheet.workFullManage.fullProjectName}">${fns:abbr(workFullConstructsheet.workFullManage.fullProjectName, 30)}</span>
+ <td><span title="${workFullConstructsheet.constructsheetTopic}">${fns:abbr(workFullConstructsheet.constructsheetTopic, 30)}</span></td>
+ <a href="javascript:void(0)" onclick="openDialogre('施工联系单审核流程', '${ctx}/workfullconstructsheet/workFullConstructsheet/applyOnWorkFullConstructsheet?taskId=${task.id}&taskName=${fns:urlEncode(task.name)}&taskDefKey=${task.taskDefinitionKey}&procInsId=${task.processInstanceId}&procDefId=${task.processDefinitionId}&status=${status}','80%','80%','','同意','驳回')" class="btn btn-info btn-xs">任务办理</a>
@@ -0,0 +1,294 @@
+ <title>施工联系单管理</title>
+ function attachment_insertTitle(tValue){
+ var list = "${workFullConstructsheet.workAttachments}";
+ var attachmentFlag = "47";
+ var storeAs = "attachment-file/workFullConstructsheet/"+timestamp+"/"+file['name'];
+ /* $("#attachment_title_div").remove();
+ function delFile(id,attaId,attachmentUrl,obj) {
+ var loadingMessage = parent.layer.load(0, {shade: [0.1,'#393d49']});
+ var tr = $(obj).parent().parent();
+ type:'POST',
+ dataType:'json',
+ url:'${ctx}/workfullconstructsheet/workFullConstructsheet/delFile',
+ data:{"id":id,"attaId":attaId,"attachmentUrl":attachmentUrl},
+ success: function() {
+ tr.remove();
+ parent.layer.msg("删除成功!!!",{icon:6});
+ error:function () {
+ parent.layer.msg("删除失败!!!",{icon:3});
+ <form:form id="inputForm" modelAttribute="workFullConstructsheet" enctype="multipart/form-data" method="post" class="form-horizontal">
+ <form:hidden path="workFullManageId"/>
+ <input type="hidden" name="listpage" value="${listpage}"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>联系单主题:</label></td>
+ <form:input path="constructsheetTopic" htmlEscape="false" class="form-control required"/>
+ <form:input path="projectNumber" htmlEscape="false" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>联系单编号:</label></td>
+ <form:input path="constructsheetNumber" htmlEscape="false" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>施工标段:</label></td>
+ <form:input path="constructSection" htmlEscape="false" class="form-control required"/>
+ <form:radiobuttons path="costIncreaseDecrease" items="${fns:getDictList('cost_increase_decrease')}" itemLabel="label" itemValue="value" htmlEscape="false" class="i-checks "/>
+ <form:textarea path="proprietorComment" htmlEscape="false" class="form-control "/>
+ <form:textarea path="changeContext" htmlEscape="false" class="form-control "/>
+ <form:textarea path="remarks" htmlEscape="false" class="form-control "/>
+ <input id="attachment_file" type="file" name="attachment_file" style="display: none;" multiple="multiple" onChange="if(this.value)attachment_insertTitle(this.value);"/>
+ <a id="attachment_btn" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 上传</a>
+ <%--<td>序号</td--%><td>文件名</td><td>上传人</td><td>上传时间</td><td>操作</td>
+ <%-- <td>${varStatus.index+1}</td>--%>
+ <%--<td><span title="${attachment.attachmentName}">${fns:abbr(attachment.attachmentName, 30)}</span></td>--%>
+ <a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="delFile('${workFullConstructsheet.id}','${attachment.id}','${attachment.url}',this)">删除</a>
+ <%--<shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:delFile">--%>
+ <%--<a href="${ctx}/workfullconstructsheet/workFullConstructsheet/delFile?id=${workFullConstructsheet.id}&attachmentFlag=47" onclick="return confirmx('确认要删除该附件吗?', this.href)">删除</a>--%>
+ <%--</shiro:hasPermission>--%>
+ <td class="width-15 active" rowspan="5"><label class="pull-right">项目信息:</label></td>
+ ${workFullManage.fullProjectNumber}
+ <td class="width-15 active"><label class="pull-right">项目来源:</label></td>
+ <input value="${fns:getDictLabel(workFullManage.fullProjectSource, 'full_project_source', '')}" htmlEscape="false" readonly="readonly" class="form-control required"/>
+ ${workFullManage.fullProjectName}
+ ${fns:getDictLabel(workFullManage.fullIndustryType, 'full_industry_type', '')}
+ <td class="width-15 active"><label class="pull-right">结构类型:</label></td>
+ ${fns:getDictLabel(workFullManage.fullStructureType, 'full_structure_type', '')}
+ <td class="width-15 active"><label class="pull-right">投资额(元):</label></td>
+ <td class="width-40">
+ ${workFullManage.fullInvestMoney}
+ <td class="width-15 active" rowspan="5"><label class="pull-right">客户单位:</label></td>
+ <td class="width-15 active"><label class="pull-right">业主单位:</label></td>
+ ${workFullManage.workClientInfo.name}
+ <td class="width-15 active"><label class="pull-right">客户信用等级:</label></td>
+ ${workFullManage.workClientInfo.creditRank}
+ <td class="width-15 active"><label class="pull-right">业主联系人:</label></td>
+ ${workFullManage.workClientInfo.workClientLinkman.name}
+ ${workFullManage.workClientInfo.workClientLinkman.position}
+ <td class="width-15 active"><label class="pull-right">联系方式:</label></td>
+ ${workFullManage.workClientInfo.workClientLinkman.linkPhone}
+ <td class="width-15 active"><label class="pull-right">QQ:</label></td>
+ ${workFullManage.workClientInfo.workClientLinkman.qq}
+ <td class="width-15 active"><label class="pull-right">Email:</label></td>
+ ${workFullManage.workClientInfo.workClientLinkman.email}
@@ -0,0 +1,361 @@
+ function openDialogre(title,url,width,height,target) {
+ if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+ width = 'auto';
+ height = 'auto';
+ } else {//如果是PC端,根据用户设置的width和height显示。
+ content: url,
+ btn: ['提交', '暂存', '关闭'],
+ btn1: function (index, layero) {
+ if (target) {
+ inputForm.attr("target", top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullconstructsheet/workFullConstructsheet/save?submit=submit");
+ btn2: function (index, layero) {
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullconstructsheet/workFullConstructsheet/save?submit=toStore");
+ btn3: function (index) {
+ function openDialogreReapply(title,url,width,height,target) {
+ btn: ['重新申请', '撤回', '关闭'],
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullconstructsheet/workFullConstructsheet/save?submit=reapply");
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullconstructsheet/workFullConstructsheet/save?submit=repeal");
+ parent.layer.msg("保存成功!!!",{icon:6});
+ window.location.reload();
+ <%--<ul class="nav nav-tabs">--%>
+ <%--<li><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/auditTodo?workFullManageId=${workFullConstructsheet.workFullManageId}">待审核列表</a></li>--%>
+ <%--<li><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/auditHistory?workFullManageId=${workFullConstructsheet.workFullManageId}">已审核列表</a></li>--%>
+ <%--<li class="active"><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/list?workFullManageId=${workFullConstructsheet.workFullManageId}">施工联系单列表</a></li>--%>
+ <%--</ul>--%>
+ 施工联系单列表
+ <form:form id="searchForm" modelAttribute="workFullConstructsheet" action="${ctx}/workfullconstructsheet/workFullConstructsheet/list" method="post" class="form-inline">
+ <input type="hidden" name="workFullManageId" value="${requestScope.workFullManageId}"/>
+ <span>施工联系单编号:</span>
+ <form:input path="constructsheetNumber" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <span>施工联系单主题:</span>
+ <form:input path="constructsheetTopic" htmlEscape="false" maxlength="64" class=" form-control input-sm"/>
+ <c:if test="${workFullManage.fullProjectStatus le 3 and workFullManage.fullProjectStatus ge 1}">
+ <shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:add">
+ <button onclick="openDialogre('添加施工联系单', '${ctx}/workfullconstructsheet/workFullConstructsheet/form?workFullManageId=${workFullManageId}&dialig=add','80%','80%')"
+ class="btn btn-white btn-sm" title="添加"><i class="fa fa-plus">添加</i></button>
+ <shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:import">
+ <table:importExcel url="${ctx}/workfullconstructsheet/workFullConstructsheet/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:export">
+ <table:exportExcel url="${ctx}/workfullconstructsheet/workFullConstructsheet/export"></table:exportExcel><!-- 导出按钮 -->
+ <th style="text-align: center;width: 5%">序号</th>
+ <th style="text-align: center;width: 10%" class="sort-column projectNumber">项目编号</th>
+ <th style="text-align: center;width: 15%">施工单位</th>
+ <th style="text-align: center;width: 7%" class="sort-column constructSection">施工标段</th>
+ <th style="text-align: center;width: 10%" class="sort-column constructsheetNumber">施工联系单编号</th>
+ <th style="text-align: center;width: 13%" class="sort-column constructsheetTopic">联系单主题</th>
+ <th style="text-align: center;width: 10%" class="sort-column costIncreaseDecrease">是否产生费用增减</th>
+ <th style="text-align: center;width: 7%" class="sort-column status">当前状态</th>
+ <th style="text-align: center;width: 7%">流程追踪</th>
+ <c:forEach items="${page.list}" var="workFullConstructsheet" varStatus="index">
+ ${index.index + 1}
+ <span title="${workFullConstructsheet.projectNumber}">${fns:abbr(workFullConstructsheet.projectNumber, 30)}</span>
+ <span title="${workFullConstructsheet.workFullManage.constructId.unitName}">${fns:abbr(workFullConstructsheet.workFullManage.constructId.unitName, 30)}</span>
+ <span title="${workFullConstructsheet.constructsheetNumber}">${fns:abbr(workFullConstructsheet.constructsheetNumber, 30)}</span>
+ ${fns:getDictLabel(workFullConstructsheet.costIncreaseDecrease, 'cost_increase_decrease', '')}
+ ${fns:getDictLabel(workFullConstructsheet.status, 'work_full_constructsheet_status','' )}
+ <c:if test="${! empty workFullConstructsheet.processInstanceId}">
+ <a href="javascript:void(0)" onclick="openDialogView('流程追踪', '${ctx}/workfullconstructsheet/workFullConstructsheet/getProcess?id=${workFullConstructsheet.id}','80%','80%')" class="btn btn-info btn-xs" >流程追踪</a>
+ <c:if test="${empty workFullConstructsheet.processInstanceId}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('暂无流程信息',{icon:2})" class="btn btn-default btn-xs">流程追踪</a>
+ <!--0暂存,1审核中,2已通过,3未通过,4已撤回-->
+ <a href="javascript:void(0)" onclick="openDialogView('查看施工联系单', '${ctx}/workfullconstructsheet/workFullConstructsheet/form?id=${workFullConstructsheet.id}&dialog=view','80%','80%')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <!--修改:创建人权限,暂存、未通过可以修改;暂存的修改可以开启流程,未通过的修改可以重新申请或撤回-->
+ <c:if test="${workFullConstructsheet.status ==0 || workFullConstructsheet.status == 3}">
+ <shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:edit">
+ <c:when test="${fn:contains(workFullConstructsheet.createBy.id, fns:getUser())}">
+ <c:if test="${workFullConstructsheet.status == 0 }">
+ <a href="javascript:void(0)" onclick="openDialogre('修改施工联系单', '${ctx}/workfullconstructsheet/workFullConstructsheet/form?id=${workFullConstructsheet.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <c:if test="${workFullConstructsheet.status == 3 && workFullConstructsheet.processEnded}"><%--流程未结束是true--%>
+ <a href="javascript:void(0)" onclick="openDialogreReapply('修改施工联系单', '${ctx}/workfullconstructsheet/workFullConstructsheet/form?id=${workFullConstructsheet.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <c:if test="${workFullConstructsheet.status == 3 && !workFullConstructsheet.processEnded}"><%--流程已结束--%>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('流程已结束,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i> 修改</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('您不是该施工联系单创建人,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i> 修改</a>
+ <c:if test="${workFullConstructsheet.status ==1}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('审核中,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
+ <c:if test="${workFullConstructsheet.status ==2}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('审核已通过,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
+ <c:if test="${workFullConstructsheet.status ==4}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('已撤回,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i> 修改</a>
+ <%-- 删除:项目登记人、项目经理权限;当项目竣工后,只有项目经理可以删除; --%>
+ <shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:del">
+ <c:when test="${fn:contains(workFullManage.hostMaster, fns:getUser()) or workFullManage.createBy.id == fns:getUser()}">
+ <a href="${ctx}/workfullconstructsheet/workFullConstructsheet/delete?id=${workFullConstructsheet.id}" onclick="return confirmx('确认要删除该施工联系单吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
+ <c:if test="${workFullManage.fullProjectStatus ge 4}">
+ <c:when test="${fn:contains(workFullManage.hostMaster, fns:getUser())}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('该项目已竣工,只有项目经理才能删除',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-trash"></i>删除</a>
+ <a href="javascript:parent.layer.msg('项目登记人、项目经理权限',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-trash"></i> 删除</a>
+ <title>施工联系单流程追踪</title>
@@ -0,0 +1,196 @@
+ ${fns:getDictLabel(workFullManage.fullProjectSource, 'full_project_source', '')}
@@ -0,0 +1,235 @@
+ <title>项目列表</title>
+ $("#treeTable").treeTable({expandLevel : 2,column:1}).show();
+ <li class="active"><a href="${ctx}/workfullconstructsheet/workFullConstructsheet/workfullmanageList">项目列表</a></li>
+ <form:form id="searchForm" modelAttribute="workFullManage" action="${ctx}/workfullconstructsheet/workFullConstructsheet/workfullmanageList" method="post" class="form-inline">
+ <label>项目编号:</label>
+ <form:input path="fullProjectNumber" htmlEscape="false" class="form-control required"/>
+ <label>项目名称:</label>
+ <form:input path="fullProjectName" htmlEscape="false" class="form-control required"/>
+ <th style="text-align: center;">序号</th>
+ <th style="text-align: center;" class="sort-column fullProjectNumber">项目编号</th>
+ <th style="text-align: center;" class="sort-column fullProjectName">项目名称</th>
+ <th style="text-align: center;" class="sort-column ciName">客户单位</th>
+ <th style="text-align: center;">项目负责人</th>
+ <th style="text-align: center;" class="sort-column createDate">创建日期</th>
+ <th style="text-align: center;" class="sort-column fullProjectStatus">项目状态</th>
+ <th style="text-align: center;">施工联系单</th>
+ <c:forEach items="${page.list}" var="workFullManage" varStatus="index">
+ <tr id="${workFullManage.id}" pId="${workFullManage.totalFullId ne '1'?workFullManage.totalFullId:'0'}">
+ <td>${index.index+1}</td>
+ <span title="${workFullManage.fullProjectNumber}">${fns:abbr(workFullManage.fullProjectNumber, 30)}</span>
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目', '${ctx}/workfullmanage/workFullManage/form?id=${workFullManage.id}&tabId=0','80%','80%')">
+ <span title="${workFullManage.fullProjectName}">${fns:abbr(workFullManage.fullProjectName, 30)}</span>
+ <span title="${workFullManage.ciName}">${fns:abbr(workFullManage.ciName, 30)}</span>
+ <span title="${workFullManage.hostMasterName}">${fns:abbr(workFullManage.hostMasterName, 30)}</span>
+ <fmt:formatDate value="${workFullManage.createDate}" pattern="yyyy-MM-dd"/>
+ ${fns:getDictLabel(workFullManage.fullProjectStatus,'full_project_status' ,'' )}
+ <c:when test="${workFullManage.fullProjectStatus le 3 and workFullManage.fullProjectStatus ge 1}">
+ <a href="javascript:void(0)" onclick="openDialogre('新增施工联系单', '${ctx}/workfullconstructsheet/workFullConstructsheet/form?workFullManageId=${workFullManage.id}&dialog=add&listpage=workfullmanageList','80%','80%')" class="btn btn-info btn-xs" >施工联系单</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('该阶段无法添加施工联系单',{icon:2})" class="btn btn-default btn-xs">施工联系单</a>
+ <shiro:hasPermission name="workfullconstructsheet:workFullConstructsheet:list">
+ <a href="javascript:void(0)" onclick="openDialogView('施工联系单列表','${ctx}/workfullconstructsheet/workFullConstructsheet/list?workFullManageId=${workFullManage.id}','80%','80%')" class="btn btn-info btn-xs" >施工联系单记录</a>
@@ -0,0 +1,124 @@
+ <title>设计变更审核</title>
+ <form:form id="inputForm" modelAttribute="workFullDesignchange" method="post" class="form-horizontal">
+ <c:set var="status" value="${workFullDesignchange.act.status}" />
+ <td class="width-15 active" rowspan="9"><label class="pull-right">文件信息:</label></td>
+ <td class="width-15 active"><label class="pull-right">单位工程名称:</label></td>
+ ${workFullDesignchange.unitProjectName}
+ ${workFullDesignchange.projectNumber}
+ <td class="width-15 active"><label class="pull-right">变更编号:</label></td>
+ ${workFullDesignchange.changeNumber}
+ <td class="width-15 active"><label class="pull-right">设计单位:</label></td>
+ ${workFullManage.designId.unitName}
+ <td class="width-15 active"><label class="pull-right">执行单位:</label></td>
+ ${workFullDesignchange.performer}
+ <td class="width-15 active"><label class="pull-right">设计变更来源:</label></td>
+ ${workFullDesignchange.changeSource}
+ <td class="width-15 active"><label class="pull-right">设计变更时间:</label></td>
+ <fmt:formatDate value="${workFullDesignchange.changeTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ ${workFullDesignchange.constructSection}
+ <td class="width-15 active"><label class="pull-right">是否涉及造价变更:</label></td>
+ ${fns:getDictLabel(workFullDesignchange.costVariation,'cost_variation' ,'' )}
+ ${workFullDesignchange.changeContext}
+ ${workFullDesignchange.remarks}
+ <form:textarea path="act.comment" class="form-control " rows="3" maxlength="20"/>
+ <act:flowChart procInsId="${workFullDesignchange.act.procInsId}"/>
+ <act:histoicFlow procInsId="${workFullDesignchange.act.procInsId}"/>
+ <li><a href="${ctx}/workfulldesignchange/workFullDesignchange/workfullmanageList">项目列表</a></li>
+ <li><a href="${ctx}/workfulldesignchange/workFullDesignchange/auditTodo">待审核列表</a></li>
+ <li class="active"><a href="${ctx}/workfulldesignchange/workFullDesignchange/auditHistory">已审核列表</a></li>
+ <th style="text-align: center;width: 10%">流程发起人</th>
+ <th style="text-align: center;width: 10%">流程名称</th>
+ <th style="text-align: center;width: 10%">流程版本</th>
+ <th style="text-align: center;width: 20%">单位工程名称</th>
+ <th style="text-align: center;width: 10%">施工标段</th>
+ <th style="text-align: center;width: 25%">所属项目</th>
+ <th style="text-align: center;width: 15%">流程发起时间</th>
+ <c:forEach items="${list}" var="workFullDesignchange">
+ <c:set var="task" value="${workFullDesignchange.act.task}" />
+ <c:set var="vars" value="${workFullDesignchange.act.vars}" />
+ <c:set var="procDef" value="${workFullDesignchange.act.procDef}" />
+ <c:set var="status" value="${workFullMeetingminutes.act.status}" />
+ <td>${workFullDesignchange.act.vars.map.applyUserId}</td>
+ <shiro:hasPermission name="workfulldesignchange:workFullDesignchange:view">
+ <a href="javascript:void(0)" onclick="openDialogView('查看设计变更', '${ctx}/workfulldesignchange/workFullDesignchange/form?id=${workFullDesignchange.id}&dialog=view','80%','80%')">
+ <span title="${workFullDesignchange.unitProjectName}">${fns:abbr(workFullDesignchange.unitProjectName, 40)}</span>
+ <td>${workFullDesignchange.constructSection}</td>
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目', '${ctx}/workfullmanage/workFullManage/form?id=${workFullDesignchange.workFullManage.id}&tabId=0','80%','80%')">
+ <span title="${workFullDesignchange.workFullManage.fullProjectName}">${fns:abbr(workFullDesignchange.workFullManage.fullProjectName, 40)}</span>
+ <td><fmt:formatDate value="${workFullDesignchange.updateDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
+ <title>待审核设计变更</title>
+ location = '${ctx}/workfulldesignchange/workFullDesignchange/list/?pageNo='+n+'&pageSize='+s;
+ location = '${ctx}/workfulldesignchange/workFullDesignchange/auditTodo/';
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfulldesignchange/workFullDesignchange/saveAudit");
+ <li class="active"><a href="${ctx}/workfulldesignchange/workFullDesignchange/auditTodo">待审核列表</a></li>
+ <li><a href="${ctx}/workfulldesignchange/workFullDesignchange/auditHistory?workFullManageId=${workFullDesignchange.workFullManageId}">已审核列表</a></li>
+ <th style="text-align: center;width: 10%">当前环节</th>
+ <th style="text-align: center;width: 15%">单位工程名称</th>
+ <th style="text-align: center;width: 7%">施工标段</th>
+ <th style="text-align: center;width: 20%">所属项目</th>
+ <th style="text-align: center;width: 13%">流程发起时间</th>
+ <th style="text-align: center;width: 6%">操作</th>
+ <td><span title="${workFullDesignchange.unitProjectName}">${fns:abbr(workFullDesignchange.unitProjectName, 40)}</span></td>
+ <td><fmt:formatDate value="${workFullDesignchange.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
+ <a href="javascript:void(0)" onclick="openDialogre('设计变更审核流程', '${ctx}/workfulldesignchange/workFullDesignchange/applyOnWorkFullDesignchange?taskId=${task.id}&taskName=${fns:urlEncode(task.name)}&taskDefKey=${task.taskDefinitionKey}&procInsId=${task.processInstanceId}&procDefId=${task.processDefinitionId}&status=${status}','80%','80%')" class="btn btn-info btn-xs">任务办理</a>
@@ -0,0 +1,346 @@
+ <title>设计变更管理</title>
+ elem: '#changeTime', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+ type : 'datetime'
+ var list = "${workFullDesignchange.workAttachments}";
+ var attachmentFlag = "46";
+ var storeAs = "attachment-file/workFullDesignchange/"+timestamp+"/"+file['name'];
+ /*$("#attachment_title_div").remove();
+ url:'${ctx}/workfulldesignchange/workFullDesignchange/delFile',
+ <td class="width-15 active" rowspan="10"><label class="pull-right">文件信息:</label></td>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>单位工程名称:</label></td>
+ <form:input path="unitProjectName" htmlEscape="false" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>变更编号:</label></td>
+ <form:input path="changeNumber" htmlEscape="false" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>执行单位:</label></td>
+ <form:input path="performer" htmlEscape="false" class="form-control required"/>
+ <form:input path="changeSource" htmlEscape="false" class="form-control "/>
+ <input id="changeTime" name="changeTime" type="text" maxlength="20" class="laydate-icondate form-control layer-date "
+ value="<fmt:formatDate value="${workFullDesignchange.changeTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+ <form:radiobuttons path="costVariation" items="${fns:getDictList('cost_variation')}" itemLabel="label" itemValue="value" htmlEscape="false" class="i-checks "/>
+ <input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)attachment_insertTitle(this.value);"/>
+ <c:if test="${not empty workFullDesignchange.workAttachments}">
+ <c:forEach items="${workFullDesignchange.workAttachments}" var="workAttachment" varStatus="varStatus">
+ <c:when test="${fn:containsIgnoreCase(workAttachment.attachmentName,'jpg')
+ or fn:containsIgnoreCase(workAttachment.attachmentName,'png')
+ or fn:containsIgnoreCase(workAttachment.attachmentName,'gif')
+ or fn:containsIgnoreCase(workAttachment.attachmentName,'jpeg')}">
+ <td><img src="${workAttachment.url}" onclick="openDialogView(' ','${ctx}/sys/picturepreview/picturePreview?url=${workAttachment.url}','860px','600px')" width="50" height="50" alt="${workAttachment.attachmentName}"/></td>
+ <c:when test="${fn:containsIgnoreCase(workAttachment.attachmentName,'pdf')}">
+ <td><a href="javascript:void(0)" onclick="preview('预览','${workAttachment.url}','80%','80%','1')">
+ <span title="${workAttachment.attachmentName}">${fns:abbr(workAttachment.attachmentName, 20)}</span></a></td>
+ <%--<td><a href="${workFullDesignchange.workattachment.url}"><span title="${workFullDesignchange.workattachment.attachmentName}">${fns:abbr(workFullDesignchange.workattachment.attachmentName, 20)}</span></a></td>--%>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${workAttachment.url}','80%','80%')">
+ <%--<td><a href="javascript:void(0)" onclick="openDialogViewPre('预览','${ctx}/previewController/previewUrl?fileUrl=${workFullDesignchange.workattachment.url}','80%','80%')"><span title="${workFullDesignchange.workattachment.attachmentName}">${fns:abbr(workFullDesignchange.workattachment.attachmentName, 20)}</span></a></td>--%>
+ <td>${workAttachment.attachmentUser}</td>
+ <td><fmt:formatDate value="${workAttachment.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
+ <a href="${ctx}/workfullmanage/workFullManage/downLoadAttach?file=${workAttachment.url}" class="btn btn-success btn-xs">下载</a>
+ <a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="delFile('${workFullDesignchange.id}','${workAttachment.id}','${workAttachment.url}',this)">删除</a>
+ <%--<shiro:hasPermission name="workfulldesignchange:workFullDesignchange:delFile">--%>
+ <%--<a href="${ctx}/workfulldesignchange/workFullDesignchange/delFile?id=${workFullDesignchange.id}&wtId=${workAttachment.id}&attachmentFlag=46" onclick="return confirmx('确认要删除该附件吗?', this.href)" class="btn btn-danger btn-xs">删除</a>--%>
+ <td class="width-15 active" rowspan="2"><label class="pull-right">部门安排:</label></td>
+ <td class="width-15 active"><label class="pull-right">主办公司/部门:</label></td>
+ ${workFullManage.hostCompany}
+ <td class="width-15 active"><label class="pull-right">协办公司/部门:</label></td>
+ ${workFullManage.followCompany}
+ <td class="width-15 active" rowspan="3"><label class="pull-right">人员安排:</label></td>
+ <td class="width-15 active"><label class="pull-right">主办公司/部门负责人:</label></td>
+ ${workFullManage.hostMasterName}
+ <td class="width-15 active"><label class="pull-right">主办公司/部门项目组成员:</label></td>
+ ${workFullManage.hostMemberName}
+ <td class="width-15 active"><label class="pull-right">协办公司/部门负责人:</label></td>
+ ${workFullManage.followMasterName}
+ <td class="width-15 active"><label class="pull-right">协办公司/部门项目组成员:</label></td>
+ ${workFullManage.followMemberName}
@@ -0,0 +1,351 @@
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfulldesignchange/workFullDesignchange/save?submit=submit");
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfulldesignchange/workFullDesignchange/save?submit=toStore");
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfulldesignchange/workFullDesignchange/save?submit=reapply");
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfulldesignchange/workFullDesignchange/save?submit=repeal");
+ 设计变更列表
+ <form:form id="searchForm" modelAttribute="workFullDesignchange" action="${ctx}/workfulldesignchange/workFullDesignchange/list" method="post" class="form-inline">
+ <span>单位工程名称:</span>
+ <form:input path="unitProjectName" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <span>变更编号:</span>
+ <form:input path="changeNumber" htmlEscape="false" maxlength="64" class=" form-control input-sm"/>
+ <shiro:hasPermission name="workfulldesignchange:workFullDesignchange:add">
+ <button onclick="openDialogre('添加设计变更', '${ctx}/workfulldesignchange/workFullDesignchange/form?workFullManageId=${workFullManageId}&dialig=add','80%','80%')"
+ <shiro:hasPermission name="workfulldesignchange:workFullDesignchange:import">
+ <table:importExcel url="${ctx}/workfulldesignchange/workFullDesignchange/import"></table:importExcel><!-- 导入按钮 -->
+ <shiro:hasPermission name="workfulldesignchange:workFullDesignchange:export">
+ <table:exportExcel url="${ctx}/workfulldesignchange/workFullDesignchange/export"></table:exportExcel><!-- 导出按钮 -->
+ <th style="text-align: center;width: 9%" class="sort-column projectNumber">项目编号</th>
+ <th style="text-align: center;width: 15%" class="sort-column unitProjectName">单位工程名称</th>
+ <th style="text-align: center;width: 12%">设计单位</th>
+ <th style="text-align: center;width: 15%" class="sort-column performer">设计变更执行单位</th>
+ <th style="text-align: center;width: 8%" class="sort-column costVariation">是否涉及造价变更</th>
+ <c:forEach items="${page.list}" var="workFullDesignchange" varStatus="index">
+ <td> ${index.index + 1}</td>
+ <span title="${workFullDesignchange.projectNumber}">${fns:abbr(workFullDesignchange.projectNumber, 30)}</span>
+ <span title="${workFullDesignchange.unitProjectName}">${fns:abbr(workFullDesignchange.unitProjectName, 30)}</span>
+ <span title="${workFullDesignchange.workFullManage.designId.unitName}">${fns:abbr(workFullDesignchange.workFullManage.designId.unitName, 30)}</span>
+ <span title="${workFullDesignchange.performer}">${fns:abbr(workFullDesignchange.performer, 30)}</span>
+ ${fns:getDictLabel(workFullDesignchange.costVariation, 'cost_variation', '')}
+ ${fns:getDictLabel(workFullDesignchange.status,'work_full_designchange_status' ,'' )}
+ <c:if test="${! empty workFullDesignchange.processInstanceId}">
+ <a href="javascript:void(0)" onclick="openDialogView('流程追踪', '${ctx}/workfulldesignchange/workFullDesignchange/getProcess?id=${workFullDesignchange.id}','80%','80%')" class="btn btn-info btn-xs" >流程追踪</a>
+ <c:if test="${empty workFullDesignchange.processInstanceId}">
+ <a href="javascript:void(0)" onclick="openDialogView('查看设计变更', '${ctx}/workfulldesignchange/workFullDesignchange/form?id=${workFullDesignchange.id}&dialog=view','80%','80%')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <c:if test="${workFullDesignchange.status ==0 || workFullDesignchange.status ==3}">
+ <shiro:hasPermission name="workfulldesignchange:workFullDesignchange:edit">
+ <c:when test="${fn:contains(workFullDesignchange.createBy.id, fns:getUser())}">
+ <c:if test="${workFullDesignchange.status == 0 }">
+ <a href="javascript:void(0)" onclick="openDialogre('修改设计变更', '${ctx}/workfulldesignchange/workFullDesignchange/form?id=${workFullDesignchange.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <c:if test="${workFullDesignchange.status == 3 && workFullDesignchange.processEnded}"><%--流程未结束是true--%>
+ <a href="javascript:void(0)" onclick="openDialogreReapply('修改设计变更', '${ctx}/workfulldesignchange/workFullDesignchange/form?id=${workFullDesignchange.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i> 修改</a>
+ <c:if test="${workFullDesignchange.status == 3 && !workFullDesignchange.processEnded}"><%--流程未结束--%>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('您不是该设计变更创建人,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i> 修改</a>
+ <c:if test="${workFullDesignchange.status == 1}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('审核中,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i> 修改</a>
+ <c:if test="${workFullDesignchange.status == 2}">
+ <c:if test="${workFullDesignchange.status == 4}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('已撤回,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
+ <shiro:hasPermission name="workfulldesignchange:workFullDesignchange:del">
+ <a href="${ctx}/workfulldesignchange/workFullDesignchange/delete?id=${workFullDesignchange.id}" onclick="return confirmx('确认要删除该设计变更吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i> 删除</a>
+ <title>设计变更流程追踪</title>
@@ -0,0 +1,243 @@
+ <li class="active"><a href="${ctx}/workfulldesignchange/workFullDesignchange/workfullmanageList">项目列表</a></li>
+ <li><a href="${ctx}/workfulldesignchange/workFullDesignchange/auditHistory">已审核列表</a></li>
+ <form:form id="searchForm" modelAttribute="workFullManage" action="${ctx}/workfulldesignchange/workFullDesignchange/workfullmanageList" method="post" class="form-inline">
+ <th style="text-align: center;">设计变更</th>
+ <td>${index.index +1}</td>
+ <a href="javascript:void(0)" onclick="openDialogre('新增设计变更', '${ctx}/workfulldesignchange/workFullDesignchange/form?workFullManageId=${workFullManage.id}&dialog=add&listpage=workfullmanageList','80%','80%')" class="btn btn-info btn-xs" >设计变更</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('该阶段无法添加设计变更',{icon:2})" class="btn btn-default btn-xs">设计变更</a>
+ <shiro:hasPermission name="workfulldesignchange:workFullDesignchange:list">
+ <a href="javascript:void(0)" onclick="openDialogView('设计变更列表','${ctx}/workfulldesignchange/workFullDesignchange/list?workFullManageId=${workFullManage.id}','80%','80%')" class="btn btn-info btn-xs" >设计变更记录</a>
@@ -0,0 +1,158 @@
+ <title>全过程监控--项目实施查看</title>
+ 此项目所有实施文件
+ <form:form id="searchForm" modelAttribute="workFullExecute" method="post" class="form-inline">
+ <span>文件名:</span>
+ <form:input path="fileName" htmlEscape="false" maxlength="255" class=" form-control input-sm"/>
+ <span>文件类型:</span>
+ <form:select path="fileType" class="form-control m-b">
+ <form:options items="${fns:getDictList('work_full_execute_fileType')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+ <p></p>
+ <span>编制开始日期:</span>
+ <input id="startTime" name="startTime" type="text" maxlength="20" class="laydate-icondate form-control layer-date input-sm"
+ value="<fmt:formatDate value="${workFullExecute.startTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+ <span>编制完成日期:</span>
+ <input id="endTime" name="endTime" type="text" maxlength="20" class="laydate-icondate form-control layer-date input-sm"
+ value="<fmt:formatDate value="${workFullExecute.endTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+ <th class="sort-column index">序号</th>
+ <th class="sort-column fileName">文件名称</th>
+ <th class="sort-column fileType">文件类型</th>
+ <th class="sort-column create">编制人</th>
+ <th class="sort-column createDate">上传时间</th>
+ <th class="sort-column status">当前状态</th>
+ <th class="sort-column processInstanceId">流程追踪</th>
+ <c:forEach items="${page.list}" var="workFullExecute" varStatus="index">
+ ${index.index+1}
+ <c:if test="${not empty workFullExecute.executeFile}">
+ <a href="${workFullExecute.executeFile.url}"><span title="${workFullExecute.fileName}">${fns:abbr(workFullExecute.fileName, 30)}</span></a>
+ <c:if test="${empty workFullExecute.executeFile}">
+ <span title="${workFullExecute.fileName}">${fns:abbr(workFullExecute.fileName, 30)}</span>
+ ${fns:getDictLabel(workFullExecute.fileType, 'work_full_execute_fileType', '')}
+ ${workFullExecute.executeFile.attachmentUser}
+ <fmt:formatDate value="${workFullExecute.executeFile.createDate}" pattern="yyyy-MM-dd"/>
+ ${fns:getDictLabel(workFullExecute.status,'work_full_execute_status' ,'' )}
+ <c:if test="${! empty workFullExecute.processInstanceId}">
+ <shiro:hasPermission name="workfullexecute:workFullExecute:view">
+ <a href="javascript:void(0)" onclick="openDialogView('流程追踪', '${ctx}/workfullexecute/workFullExecute/getProcess?id=${workFullExecute.id}','80%','80%')" class="btn btn-info btn-xs" >流程追踪</a>
+ <c:if test="${empty workFullExecute.processInstanceId}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('无流程信息',{icon:2})" class="btn btn-default btn-xs">流程追踪</a>
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目实施记录', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=view','80%','80%')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i> 查看</a>
+ <title>项目实施审核</title>
+ url:"${ctx}/workfullexecute/workFullExecute/present",
+ <form:form id="inputForm" modelAttribute="workFullExecute" method="post" class="form-horizontal">
+ <c:set var="status" value="${workFullExecute.act.status}" />
+ <td class="width-15 active" rowspan="4"><label class="pull-right">文件信息:</label></td>
+ <td class="width-15 active"><label class="pull-right"></font>文件名:</label></td>
+ ${workFullExecute.fileName}
+ <td class="width-15 active"><label class="pull-right"></font>文件类型:</label></td>
+ ${fns:getDictLabel(workFullExecute.fileType,'work_full_execute_fileType','')}
+ <td class="width-15 active"><label class="pull-right">编制开始日期:</label></td>
+ <fmt:formatDate value="${workFullExecute.startTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ <td class="width-15 active"><label class="pull-right">编制完成日期:</label></td>
+ <fmt:formatDate value="${workFullExecute.endTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
+ <td class="width-15 active"><label class="pull-right">文件附件:</label></td>
+ <table id="listExecuteFile" style="text-align: center;width: 100%;margin-top:10px;" class="table table-striped table-bordered table-condensed" >
+ <c:forEach items="${workFullExecute.executeFile}" var="exeFile" varStatus="varStatus">
+ <%--<td>${workFullExecute.executeFile.attachmentName}</td>--%>
+ <c:when test="${fn:containsIgnoreCase(exeFile.attachmentName,'jpg')
+ or fn:containsIgnoreCase(exeFile.attachmentName,'png')
+ or fn:containsIgnoreCase(exeFile.attachmentName,'gif')
+ or fn:containsIgnoreCase(exeFile.attachmentName,'jpeg')}">
+ <td><img src="${exeFile.url}" onclick="openDialogView(' ','${ctx}/sys/picturepreview/picturePreview?url=${exeFile.url}','860px','600px')" width="50" height="50" alt="${exeFile.attachmentName}"/></td>
+ <c:when test="${fn:containsIgnoreCase(exeFile.attachmentName,'pdf')}">
+ <td><a href="javascript:void(0)" onclick="preview('预览','${exeFile.url}','80%','80%','1')">
+ <span title="${exeFile.attachmentName}">${fns:abbr(exeFile.attachmentName, 30)}</span>
+ <%--<td><a href="${workFullExecute.executeFile.url}"><span title="${workFullExecute.executeFile.attachmentName}">${fns:abbr(workFullExecute.executeFile.attachmentName, 14)}</span></a></td>--%>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${exeFile.url}','80%','80%')">
+ <%--<td><a href="javascript:void(0)" onclick="openDialogViewPre('预览','${ctx}/previewController/previewUrl?fileUrl=${workFullExecute.executeFile.url}','80%','80%')"><span title="${workFullExecute.executeFile.attachmentName}">${fns:abbr(workFullExecute.executeFile.attachmentName, 14)}</span></a></td>--%>
+ <td>${exeFile.attachmentUser}</td>
+ <td><fmt:formatDate value="${exeFile.createDate}" pattern="yyyy-MM-dd"/></td>
+ <a href="${ctx}/workfullmanage/workFullManage/downLoadAttach?file=${exeFile.url}" class="btn btn-success btn-xs">下载</a>
+ <td class="width-15 active" rowspan="2"><label class="pull-right">工作底稿:</label></td>
+ <td class="width-15 active"><label class="pull-right">底稿附件:</label></td>
+ <c:if test="${not empty workFullExecute.manuscriptFile}">
+ <c:forEach items="${workFullExecute.manuscriptFile}" var="mFile" varStatus="varStatus">
+ <%--<td>${varStatus.index + 1}</td>--%>
+ <%--<td>${workFullExecute.manuscriptFile.attachmentName}</td>--%>
+ <c:when test="${fn:containsIgnoreCase(mFile.attachmentName,'jpg')
+ or fn:containsIgnoreCase(mFile.attachmentName,'png')
+ or fn:containsIgnoreCase(mFile.attachmentName,'gif')
+ or fn:containsIgnoreCase(mFile.attachmentName,'jpeg')}">
+ <td><img src="${mFile.url}" onclick="openDialogView(' ','${ctx}/sys/picturepreview/picturePreview?url=${mFile.url}','860px','600px')" width="50" height="50" alt="${mFile.attachmentName}"/></td>
+ <c:when test="${fn:containsIgnoreCase(mFile.attachmentName,'pdf')}">
+ <td><a href="javascript:void(0)" onclick="preview('预览','${mFile.url}','80%','80%','1')">
+ <span title="${mFile.attachmentName}">${fns:abbr(mFile.attachmentName, 30)}</span></a></td>
+ <td><a href="javascript:void(0)" onclick="preview('预览','${mFile.url}','80%','80%')">
+ <span title="${mFile.attachmentName}">${fns:abbr(mFile.attachmentName, 30)}</span>
+ <td>${mFile.attachmentUser}</td>
+ <td><fmt:formatDate value="${mFile.createDate}" pattern="yyyy-MM-dd"/></td>
+ <a href="${ctx}/workfullmanage/workFullManage/downLoadAttach?file=${mFile.url}" class="btn btn-success btn-xs">下载</a>
+ <td class="width-15 active" rowspan="4"><label class="pull-right">项目及客户信息:</label></td>
+ <td class="width-15 active"><label class="pull-right"></font>项目编号:</label></td>
+ <td class="width-15 active"><label class="pull-right"></font>合同编号:</label></td>
+ ${workFullManage.contractId}
+ <act:flowChart procInsId="${workFullExecute.act.procInsId}"/>
+ <act:histoicFlow procInsId="${workFullExecute.act.procInsId}"/>
+ <%--<li><a href="${ctx}/workfullexecute/workFullExecute/auditTodo?workFullManageId=${workFullExecute.workFullManageId}">待审核列表</a></li>--%>
+ <%--<li class="active"><a href="${ctx}/workfullexecute/workFullExecute/auditHistory?workFullManageId=${workFullExecute.workFullManageId}">已审核列表</a></li>--%>
+ <%--<li><a href="${ctx}/workfullexecute/workFullExecute/list?workFullManageId=${workFullExecute.workFullManageId}">项目实施列表</a></li>--%>
+ <li><a href="${ctx}/workfullexecute/workFullExecute/workfullmanageList">项目列表</a></li>
+ <li><a href="${ctx}/workfullexecute/workFullExecute/auditTodo">待审核列表</a></li>
+ <li class="active"><a href="${ctx}/workfullexecute/workFullExecute/auditHistory">已审核列表</a></li>
+ <th style="text-align: center;width: 25%">项目实施</th>
+ <th style="text-align: center;width: 30%">所属项目</th>
+ <c:forEach items="${list}" var="workFullExecute">
+ <c:set var="task" value="${workFullExecute.act.task}" />
+ <c:set var="vars" value="${workFullExecute.act.vars}" />
+ <c:set var="procDef" value="${workFullExecute.act.procDef}" />
+ <td>${workFullExecute.act.vars.map.applyUserId}</td>
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目实施', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=view','80%','80%')">
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目概况', '${ctx}/workfullmanage/workFullManage/form?id=${workFullExecute.workFullManage.id}&tabId=0','80%','80%')">
+ <span title="${workFullExecute.workFullManage.fullProjectName}">${fns:abbr(workFullExecute.workFullManage.fullProjectName, 30)}</span>
+ <td><fmt:formatDate value="${workFullExecute.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
@@ -0,0 +1,231 @@
+ <title>待审核文件</title>
+ location = '${ctx}/workfullexecute/workFullExecute/list/?pageNo='+n+'&pageSize='+s;
+ location = '${ctx}/workfullexecute/workFullExecute/auditTodo/';
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullexecute/workFullExecute/saveAudit");
+ // top.layer.close(index);
+ //top.layer.close(index);
+ <%--<li class="active"><a href="${ctx}/workfullexecute/workFullExecute/auditTodo?workFullManageId=${workFullExecute.workFullManageId}">待审核列表</a></li>--%>
+ <%--<li><a href="${ctx}/workfullexecute/workFullExecute/auditHistory?workFullManageId=${workFullExecute.workFullManageId}">已审核列表</a></li>--%>
+ <li class="active"><a href="${ctx}/workfullexecute/workFullExecute/auditTodo">待审核列表</a></li>
+ <li><a href="${ctx}/workfullexecute/workFullExecute/auditHistory">已审核列表</a></li>
+ <form:form id="searchForm" modelAttribute="act" action="${ctx}//workfullexecute/workFullExecute/auditTodo" method="get" class="form-inline">
+ <th style="text-align: center;width: 10%">操作</th>
+ <td>${task.name}</td>
+ <a href="javascript:void(0)" onclick="openDialogre('项目实施审核流程', '${ctx}/workfullexecute/workFullExecute/applyOnWorkFullExecute?taskId=${task.id}&taskName=${fns:urlEncode(task.name)}&taskDefKey=${task.taskDefinitionKey}&procInsId=${task.processInstanceId}&procDefId=${task.processDefinitionId}&status=${status}','80%','80%')" class="btn btn-info btn-xs">任务办理</a>
@@ -0,0 +1,430 @@
+ <title>项目实施记录管理</title>
+ $("#execute_btn").click(function () {
+ var trLength = $("#file_attachment tr").length;
+ if(trLength>=1){
+ top.layer.alert("项目实施文件只能上传一个,可以删除后重新上传",{icon:2});
+ $("#execute_file").click();
+ $("#manuscript_btn").click(function () {
+ $("#manuscript_file").click();
+ function execute_insertTitle(tValue){
+ var list = "${workFullExecute.executeFile}";
+ var files = $("#execute_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
+ var attachmentFlag = "2";
+ //console.log(file);
+ var storeAs = "attachment-file/workFullExecute/"+timestamp+"/"+file['name'];
+ function execute_del() {
+ $("#execute_file").val("");
+ $("#execute_title").text("");
+ $("#execute_delete").remove();
+ $("#execute_title_div").remove();
+ function manuscript_insertTitle(tValue){
+ var list = "${workFullExecute.manuscriptFile}";
+ var files = $("#manuscript_file")[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
+ var attachmentFlag = "3";
+ var divId = "_manuscript_attachment";
+ /*$("#manuscript_title_div").remove();
+ $("#manuscript_title").text(tValue.substring(t1+1));
+ $("#manuscript_title").after("<div id='manuscript_title_div' style='float: right'> <span id='execute_delete' onclick='manuscript_del()'style='color: red ; cursor: pointer;'>x</span></div>");
+ function manuscript_del() {
+ $("#manuscript_file").val("");
+ $("#manuscript_title").text("");
+ $("#manuscript_delete").remove();
+ $("#manuscript_title_div").remove();
+ url:'${ctx}/workfullexecute/workFullExecute/delFile',
+ <input type="hidden" value="${workFullManage.id}" id="workFullId">
+ <input type="hidden" value="${workFullManage.fullProjectStatus}" id="status">
+ <td class="width-15 active" rowspan="5"><label class="pull-right">文件信息:</label></td>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件名:</label></td>
+ <form:input path="fileName" htmlEscape="false" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>文件类型:</label></td>
+ <form:select path="fileType" class="form-control required">
+ <td class="width-15 active"><label class="pull-right">文件类型说明:</label></td>
+ <form:input path="fileTypeDeclare" htmlEscape="false" class="form-control "/>
+ <input id="execute_file" type="file" name="execute_file" style="display: none;" onChange="if(this.value)execute_insertTitle(this.value);"/>
+ <a id="execute_btn" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="execute_title"></span>
+ <%--<td><span title="${exeFile.attachmentName}">${fns:abbr(exeFile.attachmentName, 20)}</span></td>--%>
+ <span title="${exeFile.attachmentName}">${fns:abbr(exeFile.attachmentName, 30)}</span></a></td>
+ <a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="delFile('${workFullExecute.id}','${exeFile.id}','${exeFile.url}',this)">删除</a>
+ <%--<shiro:hasPermission name="workfullexecute:workFullExecute:delFile">--%>
+ <%--<a href="${ctx}/workfullexecute/workFullExecute/delFile?id=${workFullExecute.id}&attachmentFlag=2" onclick="return confirmx('确认要删除该实施文件吗?', this.href)" class="btn btn-danger btn-xs">删除</a>--%>
+ <div id="addFile_manuscript_attachment" style="display: none">
+ <span id="fileName_manuscript_attachment" ></span>
+ <b><span id="baifenbi_manuscript_attachment" ></span></b>
+ <div id="jindutiao_manuscript_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="manuscript_file" type="file" name="manuscript_file" style="display: none;" onChange="if(this.value)manuscript_insertTitle(this.value);"/>
+ <a id="manuscript_btn" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="manuscript_title"></span>
+ <tbody id="file_manuscript_attachment">
+ <%--<td><span title="${mFile.attachmentName}">${fns:abbr(mFile.attachmentName, 30)}</span></td>--%>
+ <a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="delFile('${workFullExecute.id}','${mFile.id}','${mFile.url}',this)">删除</a>
+ <%--<a href="${ctx}/workfullexecute/workFullExecute/delFile?id=${workFullExecute.id}&attachmentFlag=3" onclick="return confirmx('确认要删除该底稿吗?', this.href)" class="btn btn-danger btn-xs">删除</a>--%>
+ <input value="${workFullManage.fullProjectNumber}" htmlEscape="false" readonly="readonly" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"></font>项目来源:</label></td>
+ <input value="${workFullManage.fullProjectName}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <td class="width-15 active"><label class="pull-right"><font color="red">*</font>行业分类:</label></td>
+ <input value="${fns:getDictLabel(workFullManage.fullIndustryType, 'full_industry_type', '')}" htmlEscape="false" readonly="readonly" class="form-control required"/>
+ <td class="width-15 active"><label class="pull-right"></font>结构类型:</label></td>
+ <input value="${fns:getDictLabel(workFullManage.fullStructureType, 'full_structure_type', '')}" htmlEscape="false" readonly="readonly" class="form-control required"/>
+ <input value="${workFullManage.fullInvestMoney}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.workClientInfo.name}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.workClientInfo.creditRank}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.workClientInfo.workClientLinkman.name}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.workClientInfo.workClientLinkman.position}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.workClientInfo.workClientLinkman.linkPhone}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.workClientInfo.workClientLinkman.qq}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.workClientInfo.workClientLinkman.email}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.hostCompany}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <input value="${workFullManage.followCompany}" htmlEscape="false" readonly="readonly" class="form-control "/>
+ <textarea htmlEscape="false" readonly="readonly" class="form-control ">${workFullManage.hostMasterName}</textarea>
+ <textarea htmlEscape="false" readonly="readonly" class="form-control ">${workFullManage.hostMemberName}</textarea>
+ <textarea htmlEscape="false" readonly="readonly" class="form-control ">${workFullManage.followMasterName}</textarea>
+ <textarea htmlEscape="false" readonly="readonly" class="form-control ">${workFullManage.followMemberName}</textarea>
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullexecute/workFullExecute/save?submit=submit");
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullexecute/workFullExecute/save?submit=reapply");
+ $document.getElementById(formId).setAttribute("action","${ctx}/workfullexecute/workFullExecute/save?submit=repeal");
+ <%--<li class="active"><a href="${ctx}/workfullexecute/workFullExecute/list?workFullManageId=${workFullExecute.workFullManageId}">项目实施列表</a></li>--%>
+ 项目实施列表
+ <c:when test="${closeable eq 3}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('无项目实施记录',{icon:2})" class="btn btn-default btn-rounded btn-xs">结束项目实施</a>
+ <c:if test="${closeable eq 1}">
+ <a id="closeWorkFullExecute" href="${ctx}/workfullexecute/workFullExecute/closeWorkFullExecute?workFullManageId=${workFullExecute.workFullManageId}" onclick="return confirmx('确认要关闭项目实施吗?', this.href)" class="btn btn-danger btn-rounded btn-outline btn-sm">结束项目实施</a>
+ <c:if test="${closeable eq 2}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('项目实施已完成,无需重复关闭',{icon:2})" class="btn btn-default btn-rounded btn-xs">结束项目实施</a>
+ <c:if test="${closeable ne 1 and closeable ne 2}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('部门负责人权限',{icon:2})" class="btn btn-default btn-rounded btn-xs">结束项目实施</a>
+
+ <form:form id="searchForm" modelAttribute="workFullExecute" action="${ctx}/workfullexecute/workFullExecute/list" method="get" class="form-inline">
+ <input type="hidden" name="workFullManageId" value="${requestScope.workFullManageId}">
+ <shiro:hasPermission name="workfullexecute:workFullExecute:add">
+ <button onclick="openDialogre('新增项目实施', '${ctx}/workfullexecute/workFullExecute/form?workFullManageId=${workFullManageId}&dialog=add','80%','80%')"
+ <th style="text-align: center;width: 20%" class="sort-column a.file_name">文件名称</th>
+ <th style="text-align: center;width: 10%" class="sort-column a.file_type">文件类型</th>
+ <th style="text-align: center;width: 10%" class="sort-column a.create_by">编制人</th>
+ <th style="text-align: center;width: 10%" class="sort-column a.create_date">上传时间</th>
+ <th style="text-align: center;width: 10%" class="sort-column a.status">当前状态</th>
+ <th style="text-align: center;width: 10%">流程追踪</th>
+ <th style="text-align: center;width: 20%">操作</th>
+ <c:if test="${not empty workFullExecute.exeFile}">
+ <a href="javascript:void(0)" onclick="preview('预览','${workFullExecute.exeFile.url}','80%','80%')">
+ <c:if test="${empty workFullExecute.exeFile}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('没有实施文件',{icon:6})">
+ ${workFullExecute.exeFile.attachmentUser}
+ <fmt:formatDate value="${workFullExecute.exeFile.createDate}" pattern="yyyy-MM-dd"/>
+ <c:when test="${workFullExecute.status == 2}">
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('项目负责人创建,无需审核',{icon:2})" class="btn btn-default btn-xs">流程追踪</a>
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目实施记录', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=view','80%','80%')" class="btn btn-info btn-xs" ><i class="fa fa-search-plus"></i>查看</a>
+ <!--修改:实施记录创建人权限,未通过可以修改;未通过的修改可以重新申请或撤回-->
+ <c:if test="${workFullExecute.status == 0 || workFullExecute.status == 3}">
+ <shiro:hasPermission name="workfullexecute:workFullExecute:edit">
+ <c:when test="${fn:contains(workFullExecute.createBy.id, fns:getUser())}">
+ <c:if test="${workFullExecute.status == 0 }">
+ <a href="javascript:void(0)" onclick="openDialogre('修改项目实施', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i>修改</a>
+ <c:if test="${workFullExecute.status == 3 && workFullExecute.processEnded}"><%--流程未结束是true--%>
+ <a href="javascript:void(0)" onclick="openDialogreReapply('修改项目实施', '${ctx}/workfullexecute/workFullExecute/form?id=${workFullExecute.id}&dialog=edit','80%','80%')" class="btn btn-success btn-xs" ><i class="fa fa-edit"></i>修改</a>
+ <c:if test="${workFullExecute.status == 3 && !workFullExecute.processEnded}"><%--已结束--%>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('流程已结束,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('您不是该实施记录的创建人,无法修改',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-edit"></i>修改</a>
+ <c:if test="${workFullExecute.status ==1}">
+ <c:if test="${workFullExecute.status ==2}">
+ <c:if test="${workFullExecute.status ==4}">
+ <%-- 删除:项目创建人、项目经理权限;当项目竣工后,只有所属项目经理可删除--%>
+ <shiro:hasPermission name="workfullexecute:workFullExecute:del">
+ <a href="${ctx}/workfullexecute/workFullExecute/delete?id=${workFullExecute.id}" onclick="return confirmx('确认要删除该项目实施记录吗?', this.href)" class="btn btn-danger btn-xs"><i class="fa fa-trash"></i>删除</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('项目登记人、项目经理权限',{icon:2})" class="btn btn-default btn-xs"><i class="fa fa-trash"></i>删除</a>
+ <title>项目实施流程追踪</title>
@@ -0,0 +1,258 @@
+ <title>项目实施详情</title>
+<form:form id="inputForm" modelAttribute="workFullExecute" class="form-horizontal">
+ ${workFullExecute.fileTypeDeclare}
+ <td class="width-15 active"><label class="pull-right"></font>行业分类:</label></td>
+</form:form>
+ <li class="active"><a href="${ctx}/workfullexecute/workFullExecute/workfullmanageList">项目列表</a></li>
+ <form:form id="searchForm" modelAttribute="workFullManage" action="${ctx}/workfullexecute/workFullExecute/workfullmanageList" method="post" class="form-inline">
+ <%--<th> <input type="hidden" class="i-checks"></th>--%>
+ <th style="text-align: center;">项目实施</th>
+ <%--<td> <input type="hidden" id="${workFullManage.id}" class="i-checks"></td>--%>
+ <a href="javascript:void(0)" onclick="openDialogView('查看项目登记', '${ctx}/workfullmanage/workFullManage/form?id=${workFullManage.id}&tabId=0','80%','80%')">
+ <c:when test="${workFullManage.fullProjectStatus ge 1 and workFullManage.fullProjectStatus le 3}">
+ <a href="javascript:void(0)" onclick="openDialogre('新增项目实施', '${ctx}/workfullexecute/workFullExecute/form?workFullManageId=${workFullManage.id}&dialog=add&listpage=workfullmanageList','80%','80%')" class="btn btn-info btn-xs" >常规实施</a>
+ <a href="javascript:void(0)" onclick="javascript:parent.layer.msg('项目实施已完成',{icon:2})" class="btn btn-default btn-xs">项目实施</a>
+ <shiro:hasPermission name="workfullexecute:workFullExecute:list">
+ <a href="javascript:void(0)" onclick="openDialogView('项目实施列表','${ctx}/workfullexecute/workFullExecute/list?workFullManageId=${workFullManage.id}','80%','80%')" class="btn btn-info btn-xs">项目实施列表</a>
@@ -0,0 +1,805 @@
+ <title>监理单位联系人管理</title>
+ $("#attachment_btn_qiye18").click(function () {
+ $("#attachment_file_qiye18").click();
+ $("#attachment_btn_qiye19").click(function () {
+ $("#attachment_file_qiye19").click();
+ $("#attachment_btn_qiye20").click(function () {
+ $("#attachment_file_qiye20").click();
+ $("#attachment_btn_qiye21").click(function () {
+ $("#attachment_file_qiye21").click();
+ $("#attachment_btn_qiye22").click(function () {
+ $("#attachment_file_qiye22").click();
+ $("#attachment_btn_qiye23").click(function () {
+ $("#attachment_file_qiye23").click();
+ $("#attachment_btn_qiye24").click(function () {
+ $("#attachment_file_qiye24").click();
+ $("#attachment_btn_qiye25").click(function () {
+ $("#attachment_file_qiye25").click();
+ $("#attachment_btn_qiye26").click(function () {
+ $("#attachment_file_qiye26").click();
+ $("#attachment_btn_qiye27").click(function () {
+ $("#attachment_file_qiye27").click();
+ $("#attachment_btn_qiye28").click(function () {
+ $("#attachment_file_qiye28").click();
+ $("#attachment_btn_qiye29").click(function () {
+ $("#attachment_file_qiye29").click();
+ $("#attachment_btn_qiye30").click(function () {
+ $("#attachment_file_qiye30").click();
+ $("#attachment_btn_qiye31").click(function () {
+ $("#attachment_file_qiye31").click();
+ $("#attachment_btn_qiye32").click(function () {
+ $("#attachment_file_qiye32").click();
+ $("#attachment_btn_qiye33").click(function () {
+ $("#attachment_file_qiye33").click();
+ $("#attachment_btn_qiye34").click(function () {
+ $("#attachment_file_qiye34").click();
+ var hei = $(".twoTab:eq("+i+")").parent().height();
+ $(".twoTab:eq("+i+")").css("height",hei);
+ var fileId = $(tValue).attr("id");
+ var divId = fileId.replace("attachment_file","");
+ var attachmentFlag = divId.replace("_qiye","");
+ var files = $("#attachment_file"+divId)[0].files; for(var i = 0;i<files.length;i++) { var file = files[i];
+ var attachmentId = "${workFullManage.id}";
+ var storeAs = "attachment-file/workFullManage/"+timestamp+"/"+file['name'];
+ multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,"0");}
+ <label>初步设计</label>
+ <table class="table table-striped table-bordered table-hover table-condensed dataTables-example twoTab">
+ <th>文件类型</th>
+ <th>附件表</th>
+ <th>上传附件</th>
+ <td>1</td>
+ <td>工程量清单编著</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=18','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye18" style="display: none">
+ <span id="fileName_qiye18" ></span>
+ <b><span id="baifenbi_qiye18" ></span></b>
+ <div id="jindutiao_qiye18" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye18" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye18" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye18"></span>
+ <%--<div class="table-responsive">
+ <div class="kv-main">
+ <form enctype="multipart/form-data">
+ <input type="hidden" id="file_root0">
+ <input type="hidden" id="file_name0">
+ <input type="hidden" id="file_type0" value="18">
+ <div class="form-group" style="margin-left: 0; margin-right: 0;">
+ <input id="file-qiye0" name="myFile" type="file" class="file">
+ </form>
+ <td>2</td>
+ <td>其他</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=19','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye19" style="display: none">
+ <span id="fileName_qiye19" ></span>
+ <b><span id="baifenbi_qiye19" ></span></b>
+ <div id="jindutiao_qiye19" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye19" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye19" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye19"></span>
+ <input type="hidden" id="file_root1">
+ <input type="hidden" id="file_name1">
+ <input type="hidden" id="file_type1" value="19">
+ <input id="file-qiye1" name="myFile" type="file" class="file">
+ <label>施工图设计</label>
+ <td>建设项目施工图预算</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=20','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye20" style="display: none">
+ <span id="fileName_qiye20" ></span>
+ <b><span id="baifenbi_qiye20" ></span></b>
+ <div id="jindutiao_qiye20" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye20" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye20" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye20"></span>
+ <input type="hidden" id="file_root2">
+ <input type="hidden" id="file_name2">
+ <input type="hidden" id="file_type2" value="20">
+ <input id="file-qiye2" name="myFile" type="file" class="file">
+ <td>工程量清单编制</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=21','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye21" style="display: none">
+ <span id="fileName_qiye21" ></span>
+ <b><span id="baifenbi_qiye21" ></span></b>
+ <div id="jindutiao_qiye21" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye21" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye21" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye21"></span>
+ <input type="hidden" id="file_root3">
+ <input type="hidden" id="file_name3">
+ <input type="hidden" id="file_type3" value="21">
+ <input id="file-qiye3" name="myFile" type="file" class="file">
+ <td>3</td>
+ <td>钢筋翻样</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=22','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye22" style="display: none">
+ <span id="fileName_qiye22" ></span>
+ <b><span id="baifenbi_qiye22" ></span></b>
+ <div id="jindutiao_qiye22" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye22" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye22" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye22"></span>
+ <input type="hidden" id="file_root4">
+ <input type="hidden" id="file_name4">
+ <input type="hidden" id="file_type4" value="22">
+ <input id="file-qiye4" name="myFile" type="file" class="file">
+ <td>4</td>
+ <td>工程量计算</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=23','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye23" style="display: none">
+ <span id="fileName_qiye23" ></span>
+ <b><span id="baifenbi_qiye23" ></span></b>
+ <div id="jindutiao_qiye23" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye23" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye23" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye23"></span>
+ <input type="hidden" id="file_root5">
+ <input type="hidden" id="file_name5">
+ <input type="hidden" id="file_type5" value="23">
+ <input id="file-qiye5" name="myFile" type="file" class="file">
+ <td>5</td>
+ <td>工程勘察招标代理</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=24','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye24" style="display: none">
+ <span id="fileName_qiye24" ></span>
+ <b><span id="baifenbi_qiye24" ></span></b>
+ <div id="jindutiao_qiye24" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye24" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye24" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye24"></span>
+ <input type="hidden" id="file_root6">
+ <input type="hidden" id="file_name6">
+ <input type="hidden" id="file_type6" value="24">
+ <input id="file-qiye6" name="myFile" type="file" class="file">
+ <td>6</td>
+ <td>BIM建模碰撞检测</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=25','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye25" style="display: none">
+ <span id="fileName_qiye25" ></span>
+ <b><span id="baifenbi_qiye25" ></span></b>
+ <div id="jindutiao_qiye25" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye25" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye25" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye25"></span>
+ <input type="hidden" id="file_root7">
+ <input type="hidden" id="file_name7">
+ <input type="hidden" id="file_type7" value="25">
+ <input id="file-qiye7" name="myFile" type="file" class="file">
+ <td>7</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=26','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye26" style="display: none">
+ <span id="fileName_qiye26" ></span>
+ <b><span id="baifenbi_qiye26" ></span></b>
+ <div id="jindutiao_qiye26" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye26" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye26" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye26"></span>
+ <input type="hidden" id="file_root8">
+ <input type="hidden" id="file_name8">
+ <input type="hidden" id="file_type8" value="26">
+ <input id="file-qiye8" name="myFile" type="file" class="file">
+ <label>建设准备</label>
+ <td>工程施工监理招标代理</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=27','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye27" style="display: none">
+ <span id="fileName_qiye27" ></span>
+ <b><span id="baifenbi_qiye27" ></span></b>
+ <div id="jindutiao_qiye27" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye27" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye27" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye27"></span>
+ <input type="hidden" id="file_root9">
+ <input type="hidden" id="file_name9">
+ <input type="hidden" id="file_type9" value="27">
+ <input id="file-qiye9" name="myFile" type="file" class="file">
+ <td>工程施工招标代理</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=28','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye28" style="display: none">
+ <span id="fileName_qiye28" ></span>
+ <b><span id="baifenbi_qiye28" ></span></b>
+ <div id="jindutiao_qiye28" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye28" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye28" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye28"></span>
+ <input type="hidden" id="file_root10">
+ <input type="hidden" id="file_name10">
+ <input type="hidden" id="file_type10" value="28">
+ <input id="file-qiye10" name="myFile" type="file" class="file">
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=29','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye29" style="display: none">
+ <span id="fileName_qiye29" ></span>
+ <b><span id="baifenbi_qiye29" ></span></b>
+ <div id="jindutiao_qiye29" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye29" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye29" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye29"></span>
+ <input type="hidden" id="file_root11">
+ <input type="hidden" id="file_name11">
+ <input type="hidden" id="file_type11" value="29">
+ <input id="file-qiye11" name="myFile" type="file" class="file">
+ <td>招标控制价编制</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=30','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye30" style="display: none">
+ <span id="fileName_qiye30" ></span>
+ <b><span id="baifenbi_qiye30" ></span></b>
+ <div id="jindutiao_qiye30" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye30" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye30" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye30"></span>
+ <input type="hidden" id="file_root12">
+ <input type="hidden" id="file_name12">
+ <input type="hidden" id="file_type12" value="30">
+ <input id="file-qiye12" name="myFile" type="file" class="file">
+ <td>产业研究咨询</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=31','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye31" style="display: none">
+ <span id="fileName_qiye31" ></span>
+ <b><span id="baifenbi_qiye31" ></span></b>
+ <div id="jindutiao_qiye31" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye31" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye31" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye31"></span>
+ <input type="hidden" id="file_root13">
+ <input type="hidden" id="file_name13">
+ <input type="hidden" id="file_type13" value="31">
+ <input id="file-qiye13" name="myFile" type="file" class="file">
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=32','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye32" style="display: none">
+ <span id="fileName_qiye32" ></span>
+ <b><span id="baifenbi_qiye32" ></span></b>
+ <div id="jindutiao_qiye32" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye32" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye32" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye32"></span>
+ <input type="hidden" id="file_root14">
+ <input type="hidden" id="file_name14">
+ <input type="hidden" id="file_type14" value="32">
+ <input id="file-qiye14" name="myFile" type="file" class="file">
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=33','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye33" style="display: none">
+ <span id="fileName_qiye33" ></span>
+ <b><span id="baifenbi_qiye33" ></span></b>
+ <div id="jindutiao_qiye33" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye33" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye33" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye33"></span>
+ <input type="hidden" id="file_root15">
+ <input type="hidden" id="file_name15">
+ <input type="hidden" id="file_type15" value="33">
+ <input id="file-qiye15" name="myFile" type="file" class="file">
+ <td>8</td>
+ <td><a href="javascript:void(0)" onclick="openDialogView('附件信息','${ctx}/workfullmanage/workFullManage/queryInfoToFile?id=${workFullManage.id}&attachment=34','80%','80%')" class="btn btn-info btn-xs">查看</a></td>
+ <div id="addFile_qiye34" style="display: none">
+ <span id="fileName_qiye34" ></span>
+ <b><span id="baifenbi_qiye34" ></span></b>
+ <div id="jindutiao_qiye34" class="progress-bar" style="width: 0%" aria-valuenow="0">
+ <input id="attachment_file_qiye34" type="file" name="attachment_file" style="display: none;" onChange="if(this.value)insertTitle(this);"/>
+ <a id="attachment_btn_qiye34" class="btn btn-info btn-xs" ><i class="fa fa-plus"></i> 添加附件</a>
+ <span id="attachment_title_qiye34"></span>
+ <input type="hidden" id="file_root16">
+ <input type="hidden" id="file_name16">
+ <input type="hidden" id="file_type16" value="34">
+ <input id="file-qiye16" name="myFile" type="file" class="file">
+ <input type="hidden" value="3" id="status">
+ var id = "${workFullManage.id}";
+ for (var i = 0; i < 17 ;i++){
+ var indexLoad;
+ var file_type = $("#file_type"+i).val();
+ $("#file-qiye"+i).fileinput('refresh',
+ showUpload: false,
+ uploadAsync:true,
+ dropZoneEnabled:false,
+ uploadUrl : '${ctx}/workfullmanage/workFullManage/uploadFile',
+ uploadExtraData:{
+ "id":id, //项目id
+ "file_type":file_type
+ showCaption: false,
+ showPreview: false,
+ browseIcon:'',
+ browseClass: "none",
+ browseLabel: "<button class='btn btn-info btn-xs'>上传附件</button>",
+ showRemove : false,
+ showCancel : false,
+ allowedFileExtensions : [ 'doc', 'xls', 'jpg', 'png',
+ 'xlsx', 'docx' ,'pdf','bmp','gif','rar','zip','ppt','pptx','txt'],
+ }).on('filepreupload',function(){
+ console.log("wer")
+ }).on('fileloaded', function(event, numFiles, label) {
+ indexLoad = parent.layer.load(0, {shade: false});
+ $(this).fileinput('upload');
+ }).on('filebatchuploadsuccess',function(event, file, previewId, index, reader) {
+ parent.layer.msg("上传成功",{icon:6});
+ parent.layer.close(indexLoad)
+ $(".kv-upload-progress").remove();
+ <label>部门安排</label>
+ <td class="width-15 active"><label class="pull-right">主办公司及部门:</label></td>
+ <%--<sys:treeselect id="hostCompany" name="hostCompany.id" value="${workFullManage.hostCompany.id}" labelName="hostCompany.name" labelValue="${workFullManage.hostCompany.name}"--%>
+ <%--title="部门" url="/sys/office/treeData?type=2" cssClass="form-control required" allowClear="true" notAllowSelectParent="true"/>--%>
+ ${workFullManage.hostCompany.name}
+ <td class="width-15 active"><label class="pull-right">协办公司及部门:</label></td>
+ <%--<sys:treeselect id="followCompany" name="followCompany.id" value="${workFullManage.followCompany.id}" labelName="followCompany.name" labelValue="${workFullManage.followCompany.name}"--%>
+ ${workFullManage.followCompany.name}
+ <label>人员安排</label>
+ <td class="width-15 active"><label class="pull-right">主办公司负责人:</label></td>
+ <%--<sys:treeselect id="hostMasterIds" name="hostMaster" value="${workFullManage.hostMaster}" labelName="hostMasterNames" labelValue="${workFullManage.hostMasterName}"--%>
+ <%--title="用户" url="/sys/office/treeData?type=3&isAll=false" cssClass="form-control required" allowClear="true" notAllowSelectParent="true" checked="true"/>--%>
+ <td class="width-15 active"><label class="pull-right">协办公司负责人:</label></td>
+ <%--<sys:treeselect id="followMasterIds" name="followMaster" value="${workFullManage.followMaster}" labelName="followMasterNames" labelValue="${workFullManage.followMasterName}"--%>
+ <td class="width-15 active"><label class="pull-right">主办公司项目成员:</label></td>
+ <%--<sys:treeselect id="hostMemberIds" name="hostMember" value="${workFullManage.hostMember}" labelName="hostMemberNames" labelValue="${workFullManage.hostMemberName}"--%>
+ <td class="width-15 active"><label class="pull-right">协办公司项目成员:</label></td>
+ <%--<sys:treeselect id="followMemberIds" name="followMember" value="${workFullManage.followMember}" labelName="followMemberNames" labelValue="${workFullManage.followMemberName}"--%>
@@ -0,0 +1,237 @@