%PDF- %PDF-
| Direktori : /home/opti/workflow/src/views/flow/ |
| Current File : /home/opti/workflow/src/views/flow/createProcess.ejs |
<% include ../partials/header %>
<% include ../partials/sidebar %>
<style>
.quick-btn {
background: #EEEEEE;
box-shadow: 0 0 0 1px #F8F8F8 inset, 0 0 0 1px #CCCCCC;
color: #444444;
display: inline-block;
height: 80px;
margin: 10px;
padding-top: 16px;
text-align: center;
text-decoration: none;
width: 90px;
position: relative;
}
.quick-btn span {
display: block;
}
.quick-btn .label {
position: absolute;
right: -5px;
top: -5px;
}
.quick-btn:hover {
text-decoration: none;
color: #fff;
background-color: #4d7589;
box-shadow: 3px 4px 1px #ccc;
}
.quick-btn.small {
width: 40px;
height: 30px;
padding-top: 6px;
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.css">
<div class="app-content content">
<div class="content-wrapper">
<div class="content-header row">
</div>
<div class="content-body">
<!-- Breadcrumb starts-->
<div class="content-header-left col-md-6 col-12 mb-2">
<h3 class="content-header-title">New "<%= flow.title %>"</h3>
<div class="row breadcrumbs-top">
<div class="breadcrumb-wrapper col-12">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Dashboard</a>
<li class="breadcrumb-item"><a href="/flow">Business Process Flow</a>
</li>
<li class="breadcrumb-item active">New "<%= flow.title %>"</li>
</ol>
</div>
</div>
</div>
<!-- Breadcrumb ends-->
<section id="flow_div" >
<div class="row">
<div class="col-12">
<div class="card">
<!-- <div class="card-header">
<h4 class="card-title"><% /*= flow.title */ %></h4>
<a class="heading-elements-toggle"><i class="la la-ellipsis-v font-medium-3"></i></a>
<div class="heading-elements">
<ul class="list-inline mb-0">
<li><a data-action="expand"><i class="ft-maximize"></i></a></li>
</ul>
</div>
</div> -->
<div class="card-content collapse show">
<div class="card-body card-dashboard">
<div class="form-body">
<div class="form-group row">
<label class=" offset-sm-3 col-sm-2 form-control-label" for="inputName1"><%= flow.structure.orgStructure.structure.name %></label>
<div class="col-sm-5">
<div <% /*class="position-relative has-icon-left " */ %> >
<%= flow.structure.name %>
<div class="form-control-position pl-1"><!--<i class="la la-institution"></i>--></div>
</div>
</div>
</div>
<div class="form-group row">
<label class=" offset-sm-3 col-sm-2 form-control-label" for="inputName1">System Name</label>
<div class="col-sm-5">
<div <% /*class="position-relative has-icon-left " */ %> >
<label><%= flow.title %></label>
<div class="form-control-position pl-1"><!--<i class="la la-institution"></i>--></div>
</div>
</div>
</div>
<div class="form-group row">
<label class="offset-sm-3 col-sm-2 " for="inputDescription">System Description</label>
<div class="col-sm-5">
<div <% /*class="position-relative has-icon-left " */ %> >
<span ><%= flow.description %></span>
<div class="form-control-position pl-1"><i class="la la-note"></i></div>
</div>
</div>
</div>
<% if(processReference){ %>
<input type="hidden" id="currentStage" value="<%= processReference.currentStage %>">
<input type="hidden" id="processId" value="<%= processReference.id %>">
<% currentStage = processReference.currentStage + 1 %>
<% flowTitleIndex = processReference.currentStage %>
<% } else { %>
<input type="hidden" id="currentStage" value="1" >
<input type="hidden" id="processId" value="0">
<% currentStage = 1 %>
<% flowTitleIndex = 0 %>
<% } %>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<% /* flow.flowTitles.forEach((title, index)=>{ */ %>
<% title = flow.flowTitles[flowTitleIndex] %>
<input type="hidden" value="<%= title.id %>" id="flowTitleId">
<section id="flow_div" >
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">Stage <label id="_stage_label"><%= (flowTitleIndex + 1) %><%=" : "+title.title %></label></h4>
<a class="heading-elements-toggle"><i class="la la-ellipsis-v font-medium-3"></i></a>
<!-- <div class="heading-elements">
<ul class="list-inline mb-0">
<li><a data-action="expand"><i class="ft-maximize"></i></a></li>
</ul>
</div> -->
</div>
<div class="card-content collapse show">
<div class="card-body ">
<div class="form-body">
<form class="row">
<div class="col-md-6" id="fieldList">
<% title.flowFields.forEach((field, index)=>{ %>
<div class="form-group skin skin-flat">
<label class="offset-sm-1 " for="inputDescription"><input type="checkbox" class="fields" required name="fields" value="<%= field.id %>"><%= field.label +" " %> </label>
</div>
<% }) %>
</div>
<div class="col-lg-6 card-body">
<label>Notes</label>
<div class="position-relative has-icon-left">
<textarea id="comment" rows="5" class="form-control" name="notes" placeholder="notes"></textarea>
<div class="form-control-position">
<i class="ft-file"></i>
</div>
</div>
</div>
</form>
<button data-repeater-create class="btn btn-info offset-lg-10" id="nextStage">
Go to Next Stage<i class="ft-arrow-right" ></i>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<% /* }) */ %>
<section id="stage_div" class="d-none">
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title" id="repeat-form">Flow Stage <label id="_stage_label"></label></h4>
<a class="heading-elements-toggle"><i class="la la-ellipsis-h font-medium-3"></i></a>
<!-- <div class="heading-elements">
<ul class="list-inline mb-0">
<li><a data-action="collapse"><i class="ft-minus"></i></a></li>
<li><a data-action="reload"><i class="ft-rotate-cw"></i></a></li>
<li><a data-action="expand"><i class="ft-maximize"></i></a></li>
<li><a data-action="close"><i class="ft-x"></i></a></li>
</ul>
</div> -->
</div>
<div class="card-content collapse show">
<div class="card-body">
<label class=" col-sm-2 form-control-label" for="inputName1">Stage Title</label>
<div class="col-sm-7">
<div <% /*class="position-relative has-icon-left " */ %> >
<input class="form-control" placeholder="Stage Title" name="stageTitle" id="stageTitle"/>
<div class="form-control-position pl-1"><!--<i class="la la-institution"></i>--></div>
</div>
</div>
<br>
<div class="card-body">
<div class="repeater-default">
<div data-repeater-list="car">
<div data-repeater-item class="activities">
<form class="form row" id="columnsForm" name="columnsForm" method="POST">
<div class="form-group mb-1 col-7 ">
<label for="columns">Activity</label>
<br>
<textarea class="form-control columns" placeholder="Enter Detailed Activity expected" name="columns"> </textarea>
</div>
<div class="form-group col-sm-12 col-md-2 text-center mt-2">
<button type="button" class="btn btn-danger" data-repeater-delete> <i class="ft-x"></i> Delete</button>
</div>
</form>
<!-- <hr> -->
</div>
</div>
<div class="form-group overflow-hidden">
<div class="col-12">
<button data-repeater-create class="btn btn-primary">
<i class="ft-plus"></i> Add More Activity
</button>
</div>
</div>
</div>
</div>
<div class="card-footer">
<div class="form-group overflow-hidden">
<button data-repeater-create class="btn btn-info" id="nextStage">
Go to Next Stage<i class="ft-arrow-right" ></i>
</button>
<button data-repeater-create class="btn btn-success" onclick="finish()">
<i class="ft-check"></i> Finish
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
<!-- ////////////////////////////////////////////////////////////////////////////-->
<!---////////////////////////////////////////-->
<!-----Modal for creating new flow-->
<% include ../partials/footer %>
<script src="/app-assets/vendors/js/forms/repeater/jquery.repeater.min.js"></script>
<script src="/app-assets/js/scripts/forms/form-repeater.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.2.2/jquery.form.js"></script>
<script>
let flowUuid = `<%= flow.uuid %>`;
let processReference = `<%= processReference %>`;
// console.log(flowUuid)
let currentStage = '<%= currentStage %>';
let processId = $("#processId").val();
let flowTitleId = $("#flowTitleId").val();
// console.log(flowUuid);
// console.log(currentStage, "-",processId);
// console.log(processReference.id);
$("#nextStage").click(function(event){
$('#spinnerContainer').addClass('show');
event.preventDefault();
const fields = [];
$.each($("input[name='fields']:checked"), function(){
fields. push($(this). val());
});
var comment = $("#comment").val();
// console.log("here - ",comment, $("#comment").html())
console.log(comment);
event.preventDefault();
$.ajax({
type: "POST", // Post / Get method
url: "/flow/create/"+flowUuid, //Where form data is sent on submission
dataType: "json", // Data type, HTML, json etc.
data: {processId, fields, flowTitleId, currentStage, comment}, //Form variables
success: function (response) {
console.log(response)
$('#spinnerContainer').removeClass('show');
// response = JSON.parse(response)
if(response.status == "success"){
if(response.nextStage){
currentStage = response.nextStage.stage;
processId = response.processId;
columns = response.nextStage.flowFields
$("#_stage_label").html(currentStage+" "+response.nextStage.title);
// $.each($(".fieldList"), function(){
// $(this). remove();
// });
$("#fieldList").html('');
columns.forEach(column => {
$("#fieldList")
.append(
`<div class="form-group skin skin-flat">
<label class="offset-sm-1 " for="inputDescription"><input type="checkbox" class="fields" required name="fields" value="column.id">${column.label} </label>
</div>`
)
});
$("#comment").val('');
} else{
return $.confirm({
title: '<div style="color:green">Successful</div>',
content: 'Process Completed',
buttons: {
ok: function () {
// location.reload(true)
// window.location = `/flow/view/${flow.uuid}`;
},
}
});
}
}
},
error: function (xhr, ajaxOptions, thrownError) {
$('#spinnerContainer').removeClass('show');
$.alert('Something went wrong');
}
});
})
</script>