Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/sparepart/contractAudit.jsp

635 lines
30 KiB
Plaintext
Raw Permalink Normal View History

2026-01-16 14:13:44 +08:00
<%@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>