fourcal/src/main/resources/templates/admin/project_list.ftl

1163 lines
65 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<#assign base=request.contextPath />
<#import "../common/defaultLayout.ftl" as defaultLayout>
<@defaultLayout.layout>
<link rel="stylesheet" href="../assets/css/amazeui.switch.css"/>
<style type="text/css">
.huanhang{
// 表格自动换行
table-layout:fixed;
word-break:break-all
}
</style>
<div class="admin-content">
<div class="am-cf am-padding" style="padding:1rem 1.6rem 1.6rem 1rem;margin:0px;">
<!-- padding:1px 2px 3px 4px;上、右、下,和左 -->
<div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">项目管理</strong> /
<small>项目管理</small>
</div>
</div>
<div class="am-g">
<div class="am-u-sm-12">
<form class="am-form" id="listForm" action="${base}/project/list" method="POST">
<input type="hidden" id="keywords" name="keywords" value='${keywords!""}'/>
<input type="hidden" id="pageNumber" name="pageNumber" value='${pageNumber!}'/>
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr>
<th class="am-text-middle" style="width: 10%">项目编号</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="projectNo" class="am-form-field am-input-sm"
value="${projectNo!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="name" class="am-form-field am-input-sm"
value="${name!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目状态</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500,searchBox: 1}" id="status" name="status">
<option value="-1">全部</option>
<option value="1" <#if status?? && status='1'>selected</#if>>项目创建(概算)</option>
<option value="5" <#if status?? && status='5'>selected</#if>>预算</option>
<option value="10" <#if status?? && status='10'>selected</#if>>结算</option>
<option value="15" <#if status?? && status='15'>selected</#if>>决算</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目创建者</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="creatorName" class="am-form-field am-input-sm"
value="${creatorName!}"/>
</div>
</td>
</tr>
<tr>
<th class="am-text-middle" style="width: 10%">部门名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500,searchBox: 1}" id="deptId" name="deptId">
<option value="-1">全部</option>
<#list deptList as dept>
<option value=${dept.id!} <#if deptId! =="${dept.id}" >
selected
</#if>>${dept.name!}</option>
</#list>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目类型</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500,searchBox: 1}" id="type" name="type">
<option value="-1">全部</option>
<option value="1" <#if type?? && type='1'>selected</#if>>工程集成类</option>
<option value="2" <#if type?? && type='2'>selected</#if>>设备集成类</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">垫资模式</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500,searchBox: 1}" id="underwrittenMode" name="underwrittenMode">
<option value="-1">全部</option>
<option value="1" <#if underwrittenMode?? && underwrittenMode='1'>selected</#if>>A类-不垫资(战略合作)</option>
<option value="2" <#if underwrittenMode?? && underwrittenMode='2'>selected</#if>>B类-不垫资(背靠背)</option>
<option value="3" <#if underwrittenMode?? && underwrittenMode='3'>selected</#if>>C类-垫资(账期覆盖)</option>
<option value="4" <#if underwrittenMode?? && underwrittenMode='4'>selected</#if>>D类-垫资(账期不覆盖)</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目把握度</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500,searchBox: 1}" id="certainty" name="certainty">
<option value="-1">全部</option>
<option value="1" <#if certainty?? && certainty='1'>selected</#if>>A项目成功率80%-100%</option>
<option value="2" <#if certainty?? && certainty='2'>selected</#if>>B项目成功率60%-80%</option>
<option value="3" <#if certainty?? && certainty='3'>selected</#if>>C项目成功率40%-60%</option>
</select>
</div>
</td>
</tr>
<tr>
<th class="am-text-middle" style="width: 10%">客户名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="customer" class="am-form-field am-input-sm"
value="${customer!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">最终用户名称</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="terminalCustomer" class="am-form-field am-input-sm"
value="${terminalCustomer!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目负责人</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<input type="text" id="principal" class="am-form-field am-input-sm"
value="${principal!}"/>
</div>
</td>
<th class="am-text-middle" style="width: 10%">审核状态</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500,searchBox: 1}" id="approveStatus" name="approveStatus">
<option value="-1">全部</option>
<option value="0" <#if approveStatus?? && approveStatus='0'>selected</#if>>草稿</option>
<option value="1" <#if approveStatus?? && approveStatus='1'>selected</#if>>待审核</option>
<option value="2" <#if approveStatus?? && approveStatus='2'>selected</#if>>审核通过</option>
<option value="3" <#if approveStatus?? && approveStatus='3'>selected</#if>>审核不通过</option>
</select>
</div>
</td>
</tr>
<tr class="extendCondition" <#if extend='1'> hidden</#if>>
<th class="am-text-middle" style="width: 10%">是否二次合作</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500}" id="isSecond" name="isSecond">
<option value="-1">全部</option>
<option value="1" <#if isSecond?? && isSecond='1'>selected</#if>>是</option>
<option value="2" <#if isSecond?? && isSecond='2'>selected</#if>>否</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">直签</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500}" id="signType" name="signType">
<option value="-1">全部</option>
<option value="1" <#if signType?? && signType='1'>selected</#if>>是</option>
<option value="2" <#if signType?? && signType='2'>selected</#if>>否</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">行业场景</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500}" id="industryScene" name="industryScene">
<option value="-1">全部</option>
<option value="1" <#if industryScene?? && industryScene='1'>selected</#if>>信息安全</option>
<option value="2" <#if industryScene?? && industryScene='2'>selected</#if>>政府</option>
<option value="3" <#if industryScene?? && industryScene='3'>selected</#if>>公安</option>
<option value="4" <#if industryScene?? && industryScene='4'>selected</#if>>企业</option>
<option value="5" <#if industryScene?? && industryScene='5'>selected</#if>>教育</option>
<option value="6" <#if industryScene?? && industryScene='6'>selected</#if>>交通</option>
<option value="7" <#if industryScene?? && industryScene='7'>selected</#if>>医疗</option>
<option value="8" <#if industryScene?? && industryScene='8'>selected</#if>>电力资源</option>
<option value="9" <#if industryScene?? && industryScene='9'>selected</#if>>运营商</option>
<option value="10" <#if industryScene?? && industryScene='10'>selected</#if>>金融</option>
<option value="11" <#if industryScene?? && industryScene='11'>selected</#if>>专网</option>
<option value="12" <#if industryScene?? && industryScene='12'>selected</#if>>其他</option>
<option value="13" <#if industryScene?? && industryScene='13'>selected</#if>>互联网</option>
<option value="14" <#if industryScene?? && industryScene='14'>selected</#if>>银行</option>
</select>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目解决方案</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 500}" id="resolvePlan" name="resolvePlan">
<option value="-1">全部</option>
<option value="1" <#if resolvePlan?? && resolvePlan='1'>selected</#if>>公共服务(智慧交通、雪亮工程、治安防控体系等)</option>
<option value="2" <#if resolvePlan?? && resolvePlan='2'>selected</#if>>泛行业(智慧园区、智慧医疗、智慧工地等)</option>
<option value="3" <#if resolvePlan?? && resolvePlan='3'>selected</#if>>其他生态</option>
</select>
</div>
</td>
</tr>
<tr class="extendCondition" <#if extend='1'> hidden</#if>>
<th class="am-text-middle" style="width: 10%">最后更新时间</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<div class="am-form am-form-inline">
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="startUpdateDate"
value="${startUpdateDate!}" placeholder="开始日期" autocomplete="off" data-am-datepicker>
</div>
<div class="am-form-group">至</div>
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="endUpdateDate"
value="${endUpdateDate!}" placeholder="结束日期" autocomplete="off" data-am-datepicker>
</div>
</div>
</div>
</td>
<th class="am-text-middle" style="width: 10%">项目周期</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<div class="am-form am-form-inline">
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="startDate"
value="${startDate!}" placeholder="开始日期" autocomplete="off" data-am-datepicker>
</div>
<div class="am-form-group">至</div>
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="endDate"
value="${endDate!}" placeholder="结束日期" autocomplete="off" data-am-datepicker>
</div>
</div>
</div>
</td>
<th class="am-text-middle" style="width: 10%">预计合同签订时间</th>
<td style="width: 15%">
<div class="am-u-sm-10">
<div class="am-form am-form-inline">
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="contractStartTime"
value="${contractStartTime!}" placeholder="开始日期" autocomplete="off" data-am-datepicker>
</div>
<div class="am-form-group">至</div>
<div class="am-form-group am-form-icon">
<i class="am-icon-calendar"></i>
<input type="text" class="am-form-field am-input-sm" id="contractEndTime"
value="${contractEndTime!}" placeholder="结束日期" autocomplete="off" data-am-datepicker>
</div>
</div>
</div>
</td>
<th class="am-text-middle" style="width: 10%"></th>
<td style="width: 15%">
</td>
</tr>
<tr>
<td colspan="8">
<div align='right'>
<button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary"
id="extend" value="${extend!}">扩展筛选项
</button>
<@shiro.hasPermission name="PROJECT_QUERY">
<button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary"
id="submit-btn">搜索
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="PROJECT_EXPORT">
<button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary"
id="submit-btn-export">导出
</button>
</@shiro.hasPermission>
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div class="am-u-sm-12 am-u-md-12" style="padding:0 1.6rem 1.6rem 1rem;margin:0;">
<div class="am-btn-toolbar" style="padding-left:.5rem;">
<div class="am-btn-group am-btn-group-xs">
<@shiro.hasPermission name="PROJECT_ADD">
<button type="button" class="am-btn am-btn-default"
onclick="location.href='${base}/project/add'">
<span class="am-icon-plus"></span> 新增
</button>
</@shiro.hasPermission>
<@shiro.hasPermission name="PROJECT_APPROVE">
<button type="button" class="am-btn am-btn-default"
onclick="location.href='${base}/project/listApprove'">
<span class="am-icon-pencil"></span> 待我审核的项目
</button>
</@shiro.hasPermission>
<button type="button" class="am-btn am-btn-default"
onclick="openChengjieModal()">
<span class="am-icon-refresh"></span> 批量指定承接人
</button>
<#if adminId==1>
<button type="button" id="authorizeButton" disabled class="am-btn am-btn-default"
onclick="authorize('${base}/project/selectRoleUserBatch')" >
<span class="am-icon-trash-o"></span> 批量配置项目可见性
</button>
</#if>
</div>
</div>
</div>
</div>
<div class="am-g">
<div class="am-u-sm-12">
<div class="am-scrollable-horizontal">
<table class="am-table am-table-striped am-table-hover table-main">
<thead>
<tr class="am-text-nowrap">
<th class="table-check">
<input type="checkbox" id="allCheck"></th>
<th class="table-title">序号</th>
<th class="table-title">项目编号<i class="am-icon-caret-down" onclick="sub_function('projectNoDown')"></i><i class="am-icon-caret-up" onclick="sub_function('projectNoUp')"></i></th>
<th class="table-title">项目名称<i class="am-icon-caret-down" onclick="sub_function('projectNameDown')"></i><i class="am-icon-caret-up" onclick="sub_function('projectNameUp')"></i></th>
<th class="table-title">项目类型<i class="am-icon-caret-down" onclick="sub_function('projectTypeDown')"></i><i class="am-icon-caret-up" onclick="sub_function('projectTypeUp')"></i></th>
<th class="table-title">垫资模式<i class="am-icon-caret-down" onclick="sub_function('underModeDown')"></i><i class="am-icon-caret-up" onclick="sub_function('underModeUp')"></i></th>
<th class="table-title">垫资利息<i class="am-icon-caret-down" onclick="sub_function('underIntDown')"></i><i class="am-icon-caret-up" onclick="sub_function('underIntUp')"></i></th>
<th class="table-title">垫资峰值<i class="am-icon-caret-down" onclick="sub_function('underPeakDown')"></i><i class="am-icon-caret-up" onclick="sub_function('underPeakUp')"></i></th>
<th class="table-title">项目合同金额<i class="am-icon-caret-down" onclick="sub_function('projectContractDown')"></i><i class="am-icon-caret-up" onclick="sub_function('projectContractUp')"></i></th>
<th class="table-title">项目毛利<i class="am-icon-caret-down" onclick="sub_function('grossProfitDown')"></i><i class="am-icon-caret-up" onclick="sub_function('grossProfitUp')"></i></th>
<th class="table-title">项目毛利率<i class="am-icon-caret-down" onclick="sub_function('grossProfitMarginDown')"></i><i class="am-icon-caret-up" onclick="sub_function('grossProfitMarginUp')"></i></th>
<th class="table-title">项目把握度<i class="am-icon-caret-down" onclick="sub_function('certaintyDown')"></i><i class="am-icon-caret-up" onclick="sub_function('certaintyUp')"></i></th>
<th class="table-title">汇智产品金额<i class="am-icon-caret-down" onclick="sub_function('huizhiDown')"></i><i class="am-icon-caret-up" onclick="sub_function('huizhiUp')"></i></th>
<th class="table-title">华智产品金额<i class="am-icon-caret-down" onclick="sub_function('huazhiDown')"></i><i class="am-icon-caret-up" onclick="sub_function('huazhiUp')"></i></th>
<th class="table-title">华三产品金额<i class="am-icon-caret-down" onclick="sub_function('huasanDown')"></i><i class="am-icon-caret-up" onclick="sub_function('huasanUp')"></i></th>
<th class="table-title">其他产品金额<i class="am-icon-caret-down" onclick="sub_function('otherDown')"></i><i class="am-icon-caret-up" onclick="sub_function('otherUp')"></i></th>
<th class="table-title">项目状态</th>
<th class="table-title">行业场景应用</th>
<th class="table-title">解决方案</th>
<th class="table-title">客户名称</th>
<th class="table-title">最终用户名称</th>
<th class="table-title">预计合同签订时间</th>
<th class="table-title">项目计划招标时间</th>
<th class="table-title">是否二次合作</th>
<th class="table-title">直签</th>
<th class="table-title">战略合作对象</th>
<th class="table-title">项目负责人</th>
<th class="table-title">审核状态</th>
<th class="table-title">当前审核人</th>
<th class="table-title">项目创建者</th>
<th class="table-title">部门名称</th>
<th class="table-title">项目周期</th>
<th class="table-title">最后更新时间</th>
<th class="table-title">操作</th>
</tr>
</thead>
<tbody>
<#list pager.list as list>
<tr>
<td>
<input type="checkbox" name="ids" value="${list.id!}" /></td>
<td>${list.tempId!}</td>
<td class="huanhang">${list.projectNo!}</td>
<td class="huanhang"><a style="cursor: pointer;text-decoration:none" onclick="approve(${list.id})">${list.name!}</a></td>
<td>${list.typeDesc!}</td>
<td>${list.underwrittenModeStr!}</td>
<td>${Utils.format(list.advanceInterestAmount, "0.00")}</td>
<td>${Utils.format(list.advancePeakAmount, "0.00")}</td>
<td>${Utils.format(list.contractAmount, "0.00")}</td>
<td>${Utils.format(list.grossProfit, "0.00")}</td>
<td>${Utils.format(list.grossProfitMargin, "0.00")}</td>
<td>${list.certaintyStr!}</td>
<td>${Utils.format(list.huizhiProductAmount, "0.00")}</td>
<td>${Utils.format(list.huazhiProductAmount, "0.00")}</td>
<td>${Utils.format(list.huasanProductAmount, "0.00")}</td>
<td>${Utils.format(list.ziguangOtherAmount, "0.00")}</td>
<td>${list.statusDesc!}</td>
<td>${list.industryScenario!}</td>
<td>${list.resolvePlanStr!}</td>
<td>${list.customer!}</td>
<td>${list.terminalCustomer!}</td>
<td>${(list.contractTime?string("yyyy-MM-dd"))!}</td>
<td>${(list.bidsTime?string("yyyy-MM-dd"))!}</td>
<td>${list.isSecondStr!}</td>
<td>${list.signTypeStr!}</td>
<td>${list.collaborator!}</td>
<td>${list.principal!}</td>
<td>${list.approveStatusDesc!}</td>
<td>${list.approveName!}</td>
<td>${list.creatorName!}</td>
<td>${list.deptName!}</td>
<td>${(list.startDate?string("yyyy-MM"))!} ~ ${(list.endDate?string("yyyy-MM"))!}</td>
<td>${(list.lastUpdateTime?string("yyyy-MM-dd HH:mm:ss"))!}</td>
<td>
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">
<#if adminId==1>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/selectRoleUser?projectId=${list.id}'"><span class="am-icon-pencil-square-o"></span>设置项目可见性
</button>
</#if>
<#if adminId==1 && !list.projectNo??>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="projectNo(${list.id})"><span class="am-icon-pencil-square-o"></span>填写项目编号
</button>
</#if>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/exportAll?id=${list.id}'"><span class="am-icon-pencil-square-o"></span>导出总表
</button>
<#--<@shiro.hasPermission name="PROJECT_EDIT">-->
<#-- 项目等于概算状态、概算审核为草稿和不通过状态-->
<#if list.creatorId==adminId && list.status==1 && (list.approveStatusEstimate==0 || list.approveStatusEstimate==3)>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/edit?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>编辑概算
</button>
</#if>
<#-- 项目等于概算状态、概算审核为草稿状态-->
<#if list.creatorId==adminId && list.status==1 && list.approveStatusEstimate==0>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="deleteProject('${list.id}')"><span
class="am-icon-pencil-square-o"></span>删除
</button>
</#if>
<#-- </@shiro.hasPermission>
<@shiro.hasPermission name="PROJECT_EDIT">-->
<#-- 概算审核等于通过状态、预算审核不等于待审核状态、 项目不等于决算状态-->
<#if list.creatorId==adminId && list.approveStatusEstimate=2 && list.approveStatusBudget!=1 && list.status!=15 >
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/budgetEdit?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>填写预算表
</button>
</#if>
<#-- </@shiro.hasPermission>-->
<#-- 项目等于预算状态、预算审核等于通过状态 -->
<#if admin.getRoleLevel() == 6 && ((list.status==5 && list.approveStatusBudget=2) || (list.status=10 && list.approveStatusSettle=2)) >
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/settle/add?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>填写结算表
</button>
</#if>
<#-- 项目等于结算状态、结算审核不等于待审核状态-->
<#if admin.getRoleLevel() = 6 && list.status==10 && list.approveStatusSettle!=1>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/settle/edit?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>编辑结算表
</button>
</#if>
<#-- 项目等于结算状态、结算审核等于通过状态 -->
<#if (admin.getRoleLevel() = 2 || admin.getRoleLevel() = 6) && (list.status== 10 && list.approveStatusSettle==2) >
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/final/add?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>发起决算
</button>
</#if>
<#-- 项目等于决算状态、决算审核不等于待审核状态、 决算审核不等于通过状态-->
<#if (admin.getRoleLevel() = 2 || admin.getRoleLevel() = 6) && list.status== 15 && list.approveStatusFinal!=1 && list.approveStatusFinal!=2 >
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/final/edit?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>编辑决算
</button>
</#if>
<#--<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/detail?id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>查看
</button>-->
<#if (list.creatorId==adminId && list.approveStatusEstimate == 0) || (list.creatorId==adminId && list.approveStatusBudget == 0) || (admin.getRoleLevel() = 6 && list.approveStatusSettle == 0 && list.approveStatusBudget == 2) || ((admin.getRoleLevel() = 2 || admin.getRoleLevel() = 6) && list.approveStatusFinal == 0)>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="approveProject(${list.id}, ${list.status})"><span
class="am-icon-pencil-square-o"></span>提交审核
</button>
</#if>
<#if adminId==list.approveId>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/approve?listFrom=list&type=1&id=${list.id}'"><span
class="am-icon-pencil-square-o"></span>审核
</button>
</#if>
<#--预算状态 待审核状态 -->
<#if list.status==5 && list.approveStatusBudget==1 && list.actTaskName! != "执行董事" >
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="openHuiqianModal(${list.id}, '${list.name}')"><span class="am-icon-pencil-square-o"></span>会签
</button>
</#if>
<#if list.approveStatusEstimate != 0 >
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="location.href='${base}/project/taskRecords/${list.id?c}'"><span
class="am-icon-pencil-square-o"></span>查看审核流程
</button>
</#if>
</div>
</div>
</td>
</tr>
</#list>
</tbody>
</table>
</div>
<div class="am-cf">
<!-- 分页 -->
<#if (pager.list)?exists && (pager.list?size>0) >
<div class="am-fr">
<#include "../common/project_pager.ftl">
</div>
<#else>
<div class="am-kai" align="center">
<h3>没有找到任何记录!</h3>
</div>
</#if>
</div>
</div>
</div>
<#--<div class="am-modal am-modal-prompt" tabindex="-1" id="my-prompt-select-role-user">
<div class="am-modal-dialog">
<div class="am-modal-hd">请选择项目可见性</div>
<div class="am-modal-bd">
请勾选能够看到该项目的人员或角色
<ul id="treeSelectRoleUser" class="ztree"></ul>
</div>
<div class="am-modal-footer">
<span class="am-modal-btn" data-am-modal-cancel>取消</span>
<span class="am-modal-btn" data-am-modal-confirm>提交</span>
</div>
</div>
</div>-->
<footer class="admin-content-footer">
<hr>
</footer>
</div>
<!-- 模态框Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">您正在编辑项目编号</h4>
</div>
<div>
<input type="text" id="newProjectNo" class="am-modal-prompt-input" placeholder="请输入项目编号" maxlength="50"/>
<input type="hidden" id="modelId" name="keywords" value=''/>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" data-am-modal-cancel>关闭</button>
<button type="button" class="btn btn-primary" data-am-modal-confirm onclick="projectNoCheck('')">提交</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- /.modal -->
<#--会签弹窗-->
<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">您正在进行项目会签,请确认该操作</h4>
<h5 class="modal-title" id="myModalLabel">项目名称:<span id="hqProjectName" style="color: red"></span></h5>
</div>
<input type="hidden" id="hqProjectId" name="hqProjectId" value=''/>
<div class="am-g am-form-group am-margin-top" style="display: flex;">
<div class="am-u-sm-3 am-u-md-3 am-text-right">
<span style="color: red;">*</span>请输入会签意见</div>
<div class="am-u-sm-6 am-u-md-6">
<textarea id="doc-vld-ta-2" minlength="1" rows="3" cols="40" maxlength="300" class="am-input"></textarea>
</div>
<div class="am-u-sm-3 am-u-md-3 input-msg"></div>
</div>
<div>
<div class="am-g am-form-group am-margin-top">
<div class="am-u-sm-3 am-u-md-3 am-text-right"><span style="color: red;">*</span>请上传会签单</div>
<div class="am-u-sm-6 am-u-md-6">
<input type="text" id="icon" name="icon" maxlength="500"
value="" required
style="width: 300px;"
placeholder="格式gif、jpg、jpeg、png、pdf"/>
</div>
<div class="am-form-file am-text-xs">
<button type="button" class="am-btn am-btn-primary am-btn-sm" style="margin-left: 20px">
<i class="am-icon-cloud-upload"></i> 上传
</button>
<input id="fileupload_button_icon" type="file" name="files[]" multiple>
</div>
<!-- The global progress bar -->
<div id="progress-area-icon" class="am-margin-top-sm am-hide">
<div id="progress-text-icon" class="am-text-xs am-text-right"></div>
<div id="progress" class="am-progress am-progress-xs">
<div class="am-progress-bar" style="width: 0%"></div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" data-am-modal-cancel>关闭</button>
<button type="button" class="btn btn-primary" data-am-modal-confirm onclick="huiQian()">提交</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- /.modal -->
<#--设置审批承接人弹窗-->
<div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content" style="width: 500px">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">请选择承接账号</h4>
</div>
<input type="hidden" id="hqProjectId" name="hqProjectId" value=''/>
<div class="am-g am-form-group am-margin-top" style="display: flex;">
<div class="am-u-sm-6 am-u-md-6">
<select data-am-selected="{btnSize: 'sm',btnWidth: '150px',maxHeight: 300,searchBox: 1}"
id="approveAdminSelect">
<#list adminList as l>
<option value="${l.id}">${l.realName!}</option>
</#list>
</select>
</div>
<div class="am-u-sm-3 am-u-md-3 input-msg"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" data-am-modal-cancel>关闭</button>
<button type="button" class="btn btn-primary" data-am-modal-confirm onclick="batchUpdateApprove()">提交</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- /.modal -->
</@defaultLayout.layout>
<script type="text/javascript" src="../modal/js/modal.js"></script>
<script src="../assets/js/amazeui.switch.js"></script>
<script src="${base}/assets/js/project_common.js"></script>
<script src="${base}/common/jQuery-File-Upload/js/vendor/jquery.ui.widget.js"></script>
<script type="text/javascript" src="${base}/common/jQuery-File-Upload/js/jquery.iframe-transport.js"></script>
<script type="text/javascript" src="${base}/common/jQuery-File-Upload/js/jquery.fileupload.js"></script>
<script src="${base}/common/jQuery-File-Upload/js/jquery.fileupload-process.js"></script>
<script src="${base}/common/jQuery-File-Upload/js/jquery.fileupload-validate.js"></script>
<script type="text/javascript">
var approveProject = function (id, status) {
if (window.confirm('即将跳转详情页确认提交内容,请在确认后再提交')) {
if (status == '1') {
location.href = '${base}/project/edit?id=' + id;
} else if (status == '5') {
location.href = '${base}/project/budgetEdit?id=' + id;
} else if (status == '10') {
location.href = '${base}/project/settle/edit?id=' + id;
} else if (status == '15') {
location.href = '${base}/project/final/edit?id=' + id;
} else {
location.href = '${base}/project/list';
}
<#--$.ajax({-->
<#-- url: '${base}/project/saveApprove',-->
<#-- data: {id:id},-->
<#-- dataType: "json",-->
<#-- async: false,-->
<#-- success: function (data) {-->
<#-- if (data.status == 0) {-->
<#-- alert(data.msg);-->
<#-- window.location.href = window.location.href;-->
<#-- } else if (data.status == 1) {-->
<#-- alert(data.msg);-->
<#-- location.href = '${base}/project/toEditAllStatus?id=' + id;-->
<#-- }-->
<#-- }-->
<#--});-->
}
};
var approve = function (id) {
var pageNumber = $("#pageNumber").val();
var keywords = $("#keywords").val();
keywords = keywords.replace(/\{/g, '%7b').replace(/\}/g, '%7d');
console.log("keywords: " + keywords);
location.href = '${base}/project/approve?listFrom=list&type=1&id=' + id + '&pageNumber=' + pageNumber + '&keywords=' + keywords;
};
var sub_function = function (type) {
$("#pageNumber").val(1);
initSearch(type);
$("#listForm").attr("action", "${base}/project/list");
$("#listForm").submit();
};
var initSearch = function (type) {
var keywordsObj = {};
var extend = $("#extend").val();
keywordsObj.extend = extend;
keywordsObj.orderType = type;
if ($("#projectNo").val())
keywordsObj.projectNo = $("#projectNo").val();
if ($("#name").val())
keywordsObj.name = $("#name").val();
if ($("#creatorName").val())
keywordsObj.creatorName = $("#creatorName").val();
if ($("#status").val())
keywordsObj.status = $("#status").val();
if ($("#approveStatus").val())
keywordsObj.approveStatus = $("#approveStatus").val();
if ($("#deptId").val())
keywordsObj.deptId = $("#deptId").val();
if ($("#type").val())
keywordsObj.type = $("#type").val();
if ($("#underwrittenMode").val())
keywordsObj.underwrittenMode = $("#underwrittenMode").val();
if ($("#certainty").val())
keywordsObj.certainty = $("#certainty").val();
if (extend === '0') {
if ($("#isSecond").val())
keywordsObj.isSecond = $("#isSecond").val();
if ($("#signType").val())
keywordsObj.signType = $("#signType").val();
if ($("#resolvePlan").val())
keywordsObj.resolvePlan = $("#resolvePlan").val();
if ($("#startDate").val())
keywordsObj.startDate = $("#startDate").val();
if ($("#endDate").val())
keywordsObj.endDate = $("#endDate").val();
if ($("#startUpdateDate").val())
keywordsObj.startUpdateDate = $("#startUpdateDate").val();
if ($("#endUpdateDate").val())
keywordsObj.endUpdateDate = $("#endUpdateDate").val();
if ($("#contractStartTime").val())
keywordsObj.contractStartTime = $("#contractStartTime").val();
if ($("#contractEndTime").val())
keywordsObj.contractEndTime = $("#contractEndTime").val();
if ($("#industryScene").val())
keywordsObj.industryScene = $("#industryScene").val();
}
if ($("#customer").val())
keywordsObj.customer = $("#customer").val();
if ($("#terminalCustomer").val())
keywordsObj.terminalCustomer = $("#terminalCustomer").val();
if ($("#principal").val())
keywordsObj.principal = $("#principal").val();
var keywords = "";
if (!$.isEmptyObject(keywordsObj)) {
keywords = JSON.stringify(keywordsObj);
}
console.log("keywords = " + keywords);
$("#keywords").val(keywords);
};
$(function () {
$("#extend").on("click", function () {
var extend = $("#extend").val();
if (extend === '0') {
$(".extendCondition").hide();
$("#extend").val(1);
$("#extend").text("扩展筛选项");
} else {
$(".extendCondition").show();
$("#extend").val(0);
$("#extend").text("隐藏筛选项");
}
});
$("#submit-btn").on("click", function () {
$("#pageNumber").val(1);
setKeywords();
$("#listForm").attr("action","${base}/project/list");
$("#listForm").submit();
});
$("#submit-btn-export").on("click", function () {
setKeywords();
$("#listForm").attr("action","${base}/project/export");
$("#listForm").submit();
});
var $allCheck = $("#allCheck");// 全选复选框
var $idsCheck = $('[name=ids]:checkbox');// ID复选框
var $authorizeButton = $("#authorizeButton");// 批量按钮
// 全选
$allCheck.click(function() {
var isChecked = $allCheck.is(":checked");
if (isChecked == false) {
$authorizeButton.prop("disabled", true);
$idsCheck.prop("checked", false);
} else {
$authorizeButton.prop("disabled", false);
$idsCheck.prop("checked", true);
}
});
// 无复选框被选中时,批量按钮不可用
$idsCheck.click(function() {
var $idsChecked = $("[name='ids']:checked");
if ($idsChecked.length > 0) {
$authorizeButton.prop("disabled", false);
} else {
$authorizeButton.prop("disabled", true);
}
if($idsChecked.length == $idsCheck.length){
$allCheck.prop("checked", true);
}else {
$allCheck.prop("checked", false);
}
});
function setKeywords() {
var keywordsObj = {};
var extend = $("#extend").val();
keywordsObj.extend = extend;
if ($("#projectNo").val())
keywordsObj.projectNo = $("#projectNo").val();
if ($("#name").val())
keywordsObj.name = $("#name").val();
if ($("#creatorName").val())
keywordsObj.creatorName = $("#creatorName").val();
if ($("#status").val())
keywordsObj.status = $("#status").val();
if ($("#approveStatus").val())
keywordsObj.approveStatus = $("#approveStatus").val();
if ($("#deptId").val())
keywordsObj.deptId = $("#deptId").val();
if ($("#type").val())
keywordsObj.type = $("#type").val();
if ($("#underwrittenMode").val())
keywordsObj.underwrittenMode = $("#underwrittenMode").val();
if ($("#certainty").val())
keywordsObj.certainty = $("#certainty").val();
if (extend === '0') {
if ($("#isSecond").val())
keywordsObj.isSecond = $("#isSecond").val();
if ($("#signType").val())
keywordsObj.signType = $("#signType").val();
if ($("#resolvePlan").val())
keywordsObj.resolvePlan = $("#resolvePlan").val();
if ($("#startDate").val())
keywordsObj.startDate = $("#startDate").val();
if ($("#endDate").val())
keywordsObj.endDate = $("#endDate").val();
if ($("#startUpdateDate").val())
keywordsObj.startUpdateDate = $("#startUpdateDate").val();
if ($("#endUpdateDate").val())
keywordsObj.endUpdateDate = $("#endUpdateDate").val();
if ($("#contractStartTime").val())
keywordsObj.contractStartTime = $("#contractStartTime").val();
if ($("#contractEndTime").val())
keywordsObj.contractEndTime = $("#contractEndTime").val();
if ($("#industryScene").val())
keywordsObj.industryScene = $("#industryScene").val();
}
if ($("#customer").val())
keywordsObj.customer = $("#customer").val();
if ($("#terminalCustomer").val())
keywordsObj.terminalCustomer = $("#terminalCustomer").val();
if ($("#principal").val())
keywordsObj.principal = $("#principal").val();
var keywords = "";
if (!$.isEmptyObject(keywordsObj)) {
keywords = JSON.stringify(keywordsObj);
}
console.log("keywords = " + keywords);
$("#keywords").val(keywords);
}
generateFileupload("icon");
});
// 批量可见性
var authorize = function(url){
// var $authorizeButton = $("#authorizeButton");// 删除按钮
var ids = "";
$("input[name='ids']:checked").each(function(){
console.log("id: " + $(this).val());
ids +=$(this).val()+",";
console.log("ids: " + ids);
});
console.log("url: " + url + "?ids=" + ids);
location.href=url + "?ids=" + ids;
}
//会签
var huiQian = function () {
var projectId = $("#hqProjectId").val();
var fileUrl = $("#icon").val();
if (fileUrl == '') {
alert("请上传会签单");
return;
}
var message = $("#doc-vld-ta-2").val();
if (message == '') {
alert("请填写会签意见");
return;
}
var params = {
message: message,
fileUrl: fileUrl
};
$.ajax({
url: '${base}/project/skipTask/' + projectId,
data: JSON.stringify(params),
dataType: "json",
contentType: "application/json",
type: 'post',
async: false,
success: function (data) {
if (data.status == 0) {
alert(data.msg);
window.location.href=window.location.href;
} else if (data.status == 1) {
alert(data.msg);
}
}
});
};
/**
* 设置流程承接人 将自己审批的任务转交给别人
*/
var batchUpdateApprove = function () {
var adminId = $("#approveAdminSelect option:selected").val();
if (adminId == '') {
alert("请选择承接账号");
return;
}
var params = {
adminId: adminId
};
$.ajax({
url: '${base}/project/batchUpdateApprove',
data: JSON.stringify(params),
dataType: "json",
contentType: "application/json",
type: 'post',
async: false,
success: function (data) {
if (data.status == 0) {
alert(data.msg);
window.location.href=window.location.href;
} else if (data.status == 1) {
alert(data.msg);
}
}
});
};
//上传会签单
var generateFileupload = function (name) {
var progressArea = $("#progress-area-" + name);//div
var progressText = $("#progress-text-" + name);//进度条提示
var progressBar = $(".am-progress-bar");//进度条
console.info(name);
$("#fileupload_button_" + name).fileupload({
url: "${base}/file/upload",
dataType: 'json',
acceptFileTypes: /(\.|\/)(gif|jpe?g|png|pdf)$/i,
maxFileSize: 20 * 1024 * 1024,
maxNumberOfFiles: 1,
messages: {
maxFileSize: '最大允许上传的图片大小为20M',
acceptFileTypes: '文件格式不正确请上传gif、jpg、jpeg、png、pdf类型的图片文件'
},
start: function (e) {
progressArea.removeClass("am-hide");
progressText.removeClass("am-text-danger");
progressText.html("");
progressBar.css("width", "0%");
},
done: function (e, data) {
console.log("--data-->"+ JSON.stringify(data.result.data));
//设置服务器返回的url
$("#" + name).val(data.result.data.url);
setTimeout(function () {
progressArea.addClass("am-hide");
}, 1500);
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
console.log(progress);
progressBar.css("width", progress + "%");
progressText.html(progress + "%");
},
error: function (jqXHR2, textStatus, errorThrown) {
progressArea.removeClass("am-hide");
progressText.addClass("am-text-danger");
progressText.html("imageupload error");
progressBar.css("width", "0%");
setTimeout(function () {
progressArea.addClass("am-hide");
}, 2000);
},
fail: function (jqXHR2, textStatus) {
progressArea.removeClass("am-hide");
progressText.addClass("am-text-danger");
progressText.html("imageupload fail");
progressBar.css("width", "0%");
setTimeout(function () {
progressArea.addClass("am-hide");
}, 2000);
},
processfail: function (e, data) {
var currentFile = data.files[data.index];
if (data.files.error && currentFile.error) {
parent.layer.msg(currentFile.error);
}
}
});
};
var deleteProject = function (id) {
if (window.confirm('确定要删除此项目吗?')) {
$.ajax({
url: '${base}/project/deleteProject/' + id,
dataType: "json",
async: false,
success: function (data) {
if (data.status == 0) {
alert(data.msg);
window.location.href = window.location.href;
} else if (data.status == 1) {
alert(data.msg);
}
}
});
}
};
var projectNo = function(id) {
console.log("~~~~~~~~~~~~~"+id);
$("#modelId").val(id);
// $('#myModal').modal('show');
$('#myModal').modal({
relatedElement: this,
onConfirm: function(id) {
console.log("提交");
projectNoCheck(id);
},
onCancel: function() {
console.log("取消");
}
});
};
var openHuiqianModal = function(id, name) {
console.log("~~~~~~~~~~~~~"+id);
$("#hqProjectId").val(id);
$("#hqProjectName").html(name);
$('#myModal2').modal({
relatedElement: this,
onConfirm: function(id) {
console.log("提交");
},
onCancel: function() {
console.log("取消");
}
});
};
var openChengjieModal = function() {
$('#myModal3').modal({
relatedElement: this,
onConfirm: function() {
console.log("提交");
},
onCancel: function() {
console.log("取消");
}
});
};
var projectNoCheck = function () {
var newProjectNo = $("#newProjectNo").val();
var id = $("#modelId").val();
$.ajax({
url: "${base}/project/editProjectNo?projectNo=" + newProjectNo + "&id=" + id,
type: "get",
dataType: "json",
async: false,
success: function (data) {
alert(data.msg);
window.location.href=window.location.href;
}
});
};
</script>