Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/sparepart/contractAudit.jsp
2026-01-16 14:13:44 +08:00

635 lines
30 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@page import="com.sipai.entity.sparepart.SparePartCommString"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<style type="text/css">
.select2-container .select2-selection--single{
height:34px;
line-height: 34px;
}
.select2-selection__arrow{
margin-top:3px;
}
</style>
<script type="text/javascript">
//流程审核文件上传所需参数
var masterId_process = '${contract.id}';//业务Id
var tbName_process = 'TB_Process_UploadFile'; //数据表
var nameSpace_process ='ProcessUploadFile';//保存文件夹
var status = 'delete';//有删除权限
var helperstype=0;
function doSubmit() {
$('#subForm').data('bootstrapValidator')
.updateStatus('targetUsersName', 'NOT_VALIDATED',null)
.validateField('targetUsersName');
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码 */
$.post(ext.contextPath + "/sparepart/contract/doAuditContract.do", $("#subForm").serialize(), function(data) {
if (data.res == 1) {
closeModal('subModal')
$("#table").bootstrapTable('refresh');
}else if(data.res == 0){
showAlert('d','操作执行失败,请重试');
}else{
showAlert('d',data.res);
}
},'json');
}
}
var showUser4SelectsFun = function() {
if(helperstype==1){
showAlert('d','协助部门经办人已指定,目前无法调整');
}else{
var userIds= $("#targetusers").val();
var jobIds= $("#targetjobs").val();
$.post(ext.contextPath + '/user/userForSelectByCompany.do', {formId:"subForm",hiddenId:"targetusers",textId:"targetUsersName",userIds:userIds,jobIds:jobIds} , function(data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
}
};
/**
* 审核界面--流程选择节点,
*/
var processSelectNode_cont = function(taskId){
//初始化路线选择
$("#routeNum").select2({
placeholder:'请选择',//默认文字提示
language: "zh-CN",
minimumResultsForSearch: -1,//禁用搜索框
});
//驳回意见初始化隐藏
// $("#reject").hide();
//初始化审核意见,通过(true)或驳回(false)
var selectResult = $("#passstatus").select2({
placeholder:'请选择',//默认文字提示
minimumResultsForSearch: -1,//禁用搜索框
});
selectResult.on('change',function(){
var passFlag= $(this).val();
//驳回时显示驳回原因,通过时隐藏
// if(passFlag == 'false'){
// $("#reject").show();
// }else{
// $("#reject").hide();
// }
//选择下一节点,先选择审核结果,再选择节点
$.post(ext.contextPath + "/activiti/workflow/getRoutesForSelect2.do", {taskId:taskId,passFlag:passFlag}, function(data) {
$("#routeNum").empty();
var o = data;
if(o!=null && o.length>0){
for(var i=0;i<o.length;i++){
if(helperstype==1){
if(o[i].text=='协助部门'){
}else{
if(o[i].text=='法务'){
o.splice(i--, 1);
}
}
}else{
if(helperstype==0){
if(o[i].text=='协助部门'){
o.splice(i--, 1);
}
}
}
}
}
var selelct = $("#routeNum").select2({
data: data,
placeholder:'请先选择审核结果',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: -1,//禁用搜索框
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
});
selelct.val(data[0].id).trigger("change");
//流程结束,不用选择人员
if(data[0].text == "结束流程"){
$("#selectUsers").hide();
}
selelct.on('change',function(){
var routeName = $("#routeNum").find("option:selected").text();
if(routeName == "结束流程"){
$("#selectUsers").hide();
}else{
$("#selectUsers").show();
}
})
},'json');
})
selectResult.val('').trigger("change");
//初始化审批人
var selectResultUser = $("#routeNum").select2({
placeholder:'请选择',//默认文字提示
minimumResultsForSearch: -1,//禁用搜索框
});
selectResultUser.on('change',function(){
var data1 = $("#routeNum").select2("data");
var targetusers="";
var targetUsersName="";
var resourceId= data1[0].resourceId;
var modelKEY = data1[0].modelKEY;
//选择下一节点,先选择审核结果,再选择节点,得到下一节点审批人
$.post(ext.contextPath + "/activiti/workflow/getTargetUsers4Node.do", {resourceId:resourceId,modelKEY:modelKEY}, function(data) {
$("#targetusers").empty();
$("#targetUsersName").empty();
if(data !=null && data.length>0){
for(var i=0;i<data.length;i++){
targetusers =targetusers+data[i].id+",";
targetUsersName =targetUsersName+data[i].caption+",";
}
if(targetusers.length>0){
targetusers = targetusers.substring(0, targetusers.length-1);
}
if(targetUsersName.length>0){
targetUsersName = targetUsersName.substring(0, targetUsersName.length-1);
}
//填写默认审批人
//$("#targetusers").val(targetusers);
//$("#targetUsersName").val(targetUsersName);
}
},'json');
//得到下一节点审批职位
var targetjobs="";
$.post(ext.contextPath + "/activiti/workflow/getTargetJobs4Node.do", {resourceId:resourceId,modelKEY:modelKEY}, function(data) {
$("#targetjobs").empty();
if(data !=null && data.length>0){
for(var i=0;i<data.length;i++){
var joblist = data[i].jobId;
targetjobs +=data[i].jobId+",";
}
if(targetjobs.length>0){
targetjobs = targetjobs.substring(0, targetjobs.length-1);
}
//console.info("targetjobs:"+targetjobs);
//填写默认审批人
//$("#targetusers").val(targetusers);
//$("#targetUsersName").val(targetUsersName);
}
$("#targetjobs").val(targetjobs);
},'json');
})
selectResult.val('').trigger("change");
}
$(function(){
//初始化文件显示
getFileList_process();
//初始化选择框方法在workflow.js里
processSelectNode_cont("${businessUnitAudit.taskid}");
//输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
targetUsersName: {
validators: {
notEmpty: {
message: '提交人员不能为空'
}
}
},
}
});
$('#table_SubscribeDetail').bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/sparepart/subscribe/getSubscribeDetailList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20,50], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset/params.limit+1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
pids:'${contract.purchaseid}',
contractid:'${contract.id}',
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [
{
checkbox: true, // 显示一个勾选框
},{
field: 'goods.name', // 返回json数据中的name
title: '物品名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
},{
field: 'goods.model', // 返回json数据中的name
title: '规格型号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
},{
field: 'goods.unit', // 返回json数据中的name
title: '单位', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
},{
field: 'brand', // 返回json数据中的name
title: '品牌', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
editable: { //编辑列元素
type: 'text',
title: '品牌',
}
},{
field: 'design', // 返回json数据中的name
title: '设计规格', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
editable: { //编辑列元素
type: 'text',
title: '设计规格',
}
},{
field: 'manufacturer', // 返回json数据中的name
title: '生产厂家', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
editable: { //编辑列元素
type: 'text',
title: '品牌',
}
},{
field: 'number', // 返回json数据中的name
title: '数量', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
editable: { //编辑列元素
type: 'text',
title: '数量',
validate: function (v) {
if (!v) return '数量不能为空';
}
}
},{
field: 'price', // 返回json数据中的name
title: '单价/元', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
editable: { //编辑列元素
type: 'text',
title: '单价',
validate: function (v) {
if (!v) return '单价不能为空';
}
}
},{
field: 'totalMoney', // 返回json数据中的name
title: '合计/元', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
},{
field: 'install', // 返回json数据中的name
title: '是否安装', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
},{
field: 'channelsName', // 返回json数据中的name
title: '子项工程', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
},{
field: 'purpose', // 返回json数据中的name
title: '用途', // 表格表头显示文字
width: '20%',
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}
],
//保存列修改后的数据
onEditableSave: function (field, row, oldValue, $el) {
$.post(ext.contextPath + "/sparepart/subscribe/updateSubscribeDetail.do", {id:row.id,price:row.price,number:row.number,purpose:row.purpose}, function(data) {
if (data.res == 1){
$("#table_SubscribeDetail").bootstrapTable('refresh');
}else if(data.res == 0){
showAlert('d','编辑失败');
}else{
showAlert('d',data.res);
}
},'json');
},
onLoadSuccess: function(){ //加载成功时执行
adjustBootstrapTableView("table_SubscribeDetail");
},
onLoadError: function(){ //加载失败时执行
console.info("加载数据失败");
}
})
//显示流程详情
var id = '${contract.id}';
$.post(ext.contextPath + '/sparepart/contract/showContractView.do', {id:id,inModal:'inModal'} , function(data) {
$("#showView").html(data);
});
var helpers = "${contract.helpers}";
var helpersName = "${contract.helpersMan}";
var helpersLog = "${contract.helpersLog}";
var userid = "${cu.id}";
var arr = helpers.split(",");
var arrName = helpersName.split(",");
var targetusers = "";
var targetUsersName = "";
var indexUser = $.inArray(userid,arr);
if(indexUser<0){
for(var i=0;i<arr.length;i++){
var arrLog = helpersLog.split(",");
var index =$.inArray(arr[i],arrLog);
if(index < 0){
targetusers = arr[i];
targetUsersName = arrName[i];
helperstype=1;
break;
}
}
}
$("#targetusers").val(targetusers);
$("#targetUsersName").val(targetUsersName);
/* $('#routeNum').change(function(){
var o=document.getElementById('routeNum').getElementsByTagName('option');
var all="";
for(var i=0;i<o.length;i++){
if(helperstype==1){
if(o[i].text=='协助部门'){
$("#routeNum").val(o[i].value);
}else{
if(o[i].text=='法务'){
$("#routeNum option[value='"+o[i].value+"']").remove();
}
}
}else{
if(helperstype==0){
if(o[i].text=='协助部门'){
$("#routeNum option[value='"+o[i].value+"']").remove();
}
}
}
}
}) */
})
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-xlg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">合同审核</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm" enctype="multipart/form-data" >
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-3 control-label">所属厂区</label>
<div class="col-sm-9">
<input id="bizId" name="bizId" type="hidden" value="${contract.company.id}"/>
<p class="form-control-static" >${contract.company.name}</p>
</div>
</div>
<div class="form-group">
<label class="col-md-3 col-sm-2 control-label hidden">*合同甲方</label>
<div class="col-md-9 col-sm-10 hidden">
<select class="form-control select2" id="firstparty" name ="firstparty" style="width: 100%;" readonly>
<option <c:if test="${contract.firstparty=='常州市城市排水有限公司'}">selected</c:if>>常州市城市排水有限公司</option>
<option <c:if test="${contract.firstparty=='常州市排水管理处'}">selected</c:if>>常州市排水管理处</option>
<option <c:if test="${contract.firstparty=='常州市排水管理处和常州市城市排水有限公司'}">selected</c:if>>常州市排水管理处和常州市城市排水有限公司</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">*合同名称</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.contractname}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">*合同类型</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.contractclassName}" readonly >
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">*经办部门</label>
<div class="col-sm-9">
<c:choose>
<c:when test="${!empty contract.dept.name}">
<input type="text" class="form-control" placeholder="名称" value="${contract.dept.name}" readonly>
</c:when>
<c:otherwise>
<input type="text" class="form-control" placeholder="名称" value="${contract.company.name}" readonly>
</c:otherwise>
</c:choose>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">*经办人</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.agentName}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">*合同编号</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.contractnumber}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">*供应商</label>
<div class="col-sm-9">
<input type="text" class="form-control " value="${contract.supplierName}" name ="supplierid" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合同税率(%)</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.contracttaxrateName}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">采购申请单</label>
<div class="col-sm-9">
<input type="text" class="form-control " value="${contract.purchaseName}" name ="purchaseid" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">采购形式</label>
<div class="col-sm-9">
<input type="text" class="form-control " value="${contract.purchasemethodsName}" name ="purchasemethodsid" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">列资渠道</label>
<div class="col-sm-9">
<input type="text" class="form-control " value="${contract.channelsName}" name ="channelsid" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">开始日期</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.contractstartdate.substring(0,10)}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">结束日期</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.contractenddate.substring(0,10)}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合同金额(元)</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.contractamount}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">履约保证金</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="performancebond" name ="performancebond" value="${contract.performancebond}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">质保金(%</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="warrantydeposit" name ="warrantydeposit" value="${contract.warrantydeposit}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">质保金(元)</label>
<div class="col-sm-9">
<input type="text" class="form-control" value="${contract.qualitydeposit}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">质保期(年)</label>
<div class="col-sm-9">
<input type="text" class="form-control " value="${contract.warrantyperiod}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供货计划开始日期</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="supplyplanstartdate" name ="supplyplanstartdate" value="${contract.supplyplanstartdate.substring(0,10)}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供货计划结束日期</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="supplyplanenddate" name ="supplyplanenddate" value="${contract.supplyplanenddate.substring(0,10)}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供货实际开始日期</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="supplyactualstartdate" name ="supplyactualstartdate" value="${contract.supplyactualstartdate.substring(0,10)}" readonly >
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供货实际结束日期</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="supplyactualenddate" name ="supplyactualenddate" value="${contract.supplyactualenddate.substring(0,10)}" readonly >
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注</label>
<div class="col-sm-9">
<textarea class="form-control" rows="2" id ="remark" name ="remark" placeholder="备注...">${contract.remark}</textarea>
</div>
</div>
<input type="hidden" class="form-control" name ="id" value="${businessUnitAudit.id}">
<input type="hidden" class="form-control" name ="processid" value="${businessUnitAudit.processid}">
<input type="hidden" class="form-control" name ="taskid" value="${businessUnitAudit.taskid}">
<input type="hidden" class="form-control" name ="businessid" value="${businessUnitAudit.businessid}">
<input type="hidden" class="form-control" name ="unitid" value="${businessUnitAudit.unitid}">
<input type="hidden" class="form-control" name ="taskdefinitionkey" value="${businessUnitAudit.taskdefinitionkey}">
<div class="form-group">
<label class="col-sm-3 control-label">*审核结果</label>
<div class="col-sm-9">
<select class="form-control select2" id="passstatus" name ="passstatus" style="width: 270px;">
<option value= true>通过</option>
<option value= false>驳回</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">*下一节点</label>
<div class="col-sm-9">
<select class="form-control select2" id="routeNum" name ="routeNum" style="width: 270px;">
</select>
</div>
</div>
<!-- <div id = "reject" class="form-group">
<label class="col-sm-2 control-label">*驳回原因</label>
<div class="col-sm-10">
<textarea class="form-control" rows="2" id ="auditopinion" name ="auditopinion" placeholder="驳回原因"></textarea>
</div>
</div> -->
<div class="form-group">
<label class="col-sm-3 control-label">审核意见</label>
<div class="col-sm-9">
<textarea class="form-control" rows="2" id ="auditopinion" name ="auditopinion" placeholder="审核意见">通过</textarea>
</div>
</div>
<div id = "selectUsers" class="form-group">
<label class="col-sm-3 control-label">提交至:</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="targetUsersName" name ="targetUsersName" placeholder="下一级人员" onclick="showUser4SelectsFun();" >
<input id="targetusers" name="targetusers" type="hidden" value=""/>
<input class="form-control" id="targetjobs" name="targetjobs" type="hidden" value=""/>
</div>
</div>
<!-- 文件上传,显示 -->
<div class="form-group" style="margin:8px">
<label class="col-sm-3 control-label"></label>
<button type="button" class="btn btn-default btn-file" onclick="fileinput_process()" id="btn_save"><i class="fa fa-paperclip"></i>上传文件</button>
</div>
<div id="fileArea">
</div>
</form>
<div class="box box-primary" >
<div class="box-header with-border">
<h3 class="box-title">申购明细</h3>
</div>
<!-- /.box-header -->
<div class="box-body ">
<input id="subscribeDetail_channelsId" type="hidden" value="" />
<table id="table_SubscribeDetail"></table>
</div>
</div>
</div>
<div class="col-md-5 col-xs-12" id="showView">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="doSubmit()" id="btn_update">提交</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>