new function
parent
8c149e555d
commit
fd093cf6bd
|
|
@ -28,6 +28,57 @@ namespace QuotationMaker.Controllers
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Route("modalQuotationList")]
|
||||||
|
public ActionResult ModalQuotationList(IFormCollection obj)
|
||||||
|
{
|
||||||
|
modelQuotationListResult ret = new modelQuotationListResult();
|
||||||
|
|
||||||
|
authToken token = new authToken(this._httpContextAccessor);
|
||||||
|
if (token.user_isLogin == false)
|
||||||
|
{
|
||||||
|
HttpContext.Response.Cookies.Delete("token_key");
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "99999";
|
||||||
|
ret.message = "非登入狀態!";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
string dept_uid = obj["dept_uid"].ToString();
|
||||||
|
string modelProj_uid = obj["modelProj_uid"].ToString();
|
||||||
|
|
||||||
|
ret.modelQuotations = conn.Query<modelQuotation>("select * from modelQuotation where modelProj_uid = @modelProj_uid and dept_uid = @dept_uid", new { modelProj_uid = modelProj_uid, dept_uid = dept_uid }).ToList();
|
||||||
|
ret.ret = "yes";
|
||||||
|
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
[Route("modalProjList")]
|
||||||
|
public ActionResult ModalProjList(IFormCollection obj)
|
||||||
|
{
|
||||||
|
modelProjListResult ret = new modelProjListResult();
|
||||||
|
|
||||||
|
authToken token = new authToken(this._httpContextAccessor);
|
||||||
|
if (token.user_isLogin == false)
|
||||||
|
{
|
||||||
|
HttpContext.Response.Cookies.Delete("token_key");
|
||||||
|
ret.ret = "no";
|
||||||
|
ret.err_code = "99999";
|
||||||
|
ret.message = "非登入狀態!";
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
string dept_uid = obj["dept_uid"].ToString();
|
||||||
|
|
||||||
|
ret.modelProjs = conn.Query<modelProj>("select * from modelProj where modelProj_isdel = 'N' and dept_uid = @dept_uid", new { dept_uid = dept_uid }).ToList();
|
||||||
|
ret.ret = "yes";
|
||||||
|
|
||||||
|
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
|
||||||
|
}
|
||||||
|
|
||||||
[Route("quotationList")]
|
[Route("quotationList")]
|
||||||
public ActionResult QuotationList(IFormCollection obj)
|
public ActionResult QuotationList(IFormCollection obj)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -101,8 +101,8 @@
|
||||||
<script src="~/assets/vendor/sha256/sha256.js"></script>
|
<script src="~/assets/vendor/sha256/sha256.js"></script>
|
||||||
<script src="~/assets/vendor/popper.js/umd/popper.min.js"></script>
|
<script src="~/assets/vendor/popper.js/umd/popper.min.js"></script>
|
||||||
<script src="~/assets/vendor/bootstrap/js/bootstrap.min.js"></script>
|
<script src="~/assets/vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||||
<script src="~/assets/javascript/custom/globaljs.js"></script>
|
<script src="~/assets/javascript/custom/globaljs.js" asp-append-version="true"></script>
|
||||||
<script src="~/assets/javascript/custom/login.js?v=1"></script>
|
<script src="~/assets/javascript/custom/login.js" asp-append-version="true"></script>
|
||||||
<!-- END BASE JS -->
|
<!-- END BASE JS -->
|
||||||
<!-- BEGIN PLUGINS JS -->
|
<!-- BEGIN PLUGINS JS -->
|
||||||
<script src="~/assets/vendor/particles.js/particles.js"></script>
|
<script src="~/assets/vendor/particles.js/particles.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -272,4 +272,87 @@
|
||||||
</div><!-- /.modal-content -->
|
</div><!-- /.modal-content -->
|
||||||
</div><!-- /.modal-dialog -->
|
</div><!-- /.modal-dialog -->
|
||||||
</div>
|
</div>
|
||||||
|
</form><!-- /.modal -->
|
||||||
|
|
||||||
|
<!-- .modal -->
|
||||||
|
<form id="clientModelQuotationForm" name="clientModelQuotationForm">
|
||||||
|
<div class="modal fade" id="clientModelQuotationModal" tabindex="-1" role="dialog" aria-labelledby="clientModelQuotationModalLabel" data-backdrop="static" aria-hidden="true">
|
||||||
|
<!-- .modal-dialog -->
|
||||||
|
<div class="modal-dialog modal-xl" role="document">
|
||||||
|
<!-- .modal-content -->
|
||||||
|
<div class="modal-content">
|
||||||
|
<!-- .modal-header -->
|
||||||
|
<div class="modal-header">
|
||||||
|
<h6 id="quotationModalLabel" class="modal-title inline-editable">
|
||||||
|
<span class="sr-only">報價單內容</span> <input id="quotationTitle_name" type="text" class="form-control form-control-lg" value="" placeholder="報價單內容" readonly="readonly" required="">
|
||||||
|
</h6>
|
||||||
|
<button type="button" class="close" data-dismiss="modal">
|
||||||
|
<span aria-hidden="true">×</span><span class="sr-only">Close</span>
|
||||||
|
</button>
|
||||||
|
</div><!-- /.modal-header -->
|
||||||
|
<!-- .modal-body -->
|
||||||
|
<div class="modal-body">
|
||||||
|
<input type="hidden" id="quotation_method" />
|
||||||
|
<input type="hidden" id="quotation_uid" />
|
||||||
|
<input type="hidden" id="quotation_version" />
|
||||||
|
<!-- .form-group -->
|
||||||
|
<div class="form-group">
|
||||||
|
<label>報價單編輯方式 (儲存後無法變更)</label>
|
||||||
|
<div class="custom-control custom-radio mb-1">
|
||||||
|
<input type="radio" class="custom-control-input" name="rdGroup3" id="quotation_custom" checked> <label class="custom-control-label" for="quotation_custom">自訂</label>
|
||||||
|
</div>
|
||||||
|
<div class="custom-control custom-radio mb-1">
|
||||||
|
<input type="radio" class="custom-control-input" name="rdGroup3" id="quotation_temp"> <label class="custom-control-label" for="quotation_temp">範本</label>
|
||||||
|
<div class="custom-control-hint">
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="modelProject_select">類型</label>
|
||||||
|
<select class="custom-select custom-select-sm" id="modelProject_select" name="modelProject_select" required="">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="modelProject_select">範本</label>
|
||||||
|
<select class="custom-select custom-select-sm" id="modelQuotation_select" name="modelQuotation_select" required="">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="search_btn" style="display: block;"> </label>
|
||||||
|
<button type="button" class="btn btn-info btn-sm" id="applyTemp_btn">套用範本</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.form-group -->
|
||||||
|
<!-- .form-group -->
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="form-label-group">
|
||||||
|
<input type="text" id="quotation_name" class="form-control" value="" placeholder="報價單名稱" maxlength="50" required=""> <label for="quotation_name">報價單名稱</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.form-group -->
|
||||||
|
<!-- grid row -->
|
||||||
|
<div id="quotatiion_div" class="row">
|
||||||
|
<div class="card-body border-top">
|
||||||
|
<button id="addModelMainItemBtn" type="button" class="btn btn-primary btn-lg btn-block">新增主項目</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="modelItem_div" class="col-lg-12">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.modal-body -->
|
||||||
|
<!-- .modal-footer -->
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" id="modelQuotationDialogSaveBtn" class="btn btn-primary">Save</button><button type="button" class="btn btn-light" data-dismiss="modal">Close</button>
|
||||||
|
</div><!-- /.modal-footer -->
|
||||||
|
</div><!-- /.modal-content -->
|
||||||
|
</div><!-- /.modal-dialog -->
|
||||||
|
</div>
|
||||||
</form><!-- /.modal -->
|
</form><!-- /.modal -->
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
if ($.UrlParam("isLogout") != "true") {
|
if ($.UrlParam("isLogout") != "true") {
|
||||||
if ($.cookie("token_key") != null) {
|
if ($.cookie("token_key") != null) {
|
||||||
if ($.cookie("token_key") != "") {
|
if ($.cookie("token_key") != "") {
|
||||||
location.href = "/Home/UserList";
|
location.href = "/Home/ProjectList";
|
||||||
//alert("has token_key value :" + $.cookie("token_key"));
|
//alert("has token_key value :" + $.cookie("token_key"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -48,7 +48,7 @@
|
||||||
data: formData,
|
data: formData,
|
||||||
success: function (data, textStatus, jqXHR) {
|
success: function (data, textStatus, jqXHR) {
|
||||||
if (data.ret == "yes") {
|
if (data.ret == "yes") {
|
||||||
location.href = "/Home/UserList";
|
location.href = "/Home/ProjectList";
|
||||||
//location.href = "/BackEnd/nounsList";
|
//location.href = "/BackEnd/nounsList";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,11 @@ $(document).ready(function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#QuotationListNewBtn').on('click', function () {
|
||||||
|
$('#quotation_method').val('add');
|
||||||
|
$('#clientModelQuotationModal').modal("toggle");
|
||||||
|
});
|
||||||
|
|
||||||
$('#dept_select').on('change', function () {
|
$('#dept_select').on('change', function () {
|
||||||
$('#dt-responsive').DataTable().ajax.reload();
|
$('#dt-responsive').DataTable().ajax.reload();
|
||||||
});
|
});
|
||||||
|
|
@ -118,6 +123,51 @@ $(document).ready(function () {
|
||||||
$('#clientProjectModal').modal("toggle");
|
$('#clientProjectModal').modal("toggle");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#modelProject_select").on('change', function () {
|
||||||
|
var modelProj_uid = $("#modelProject_select").val();
|
||||||
|
|
||||||
|
$("#modelQuotation_select").empty().append('<option value="">請先選擇專案類型</option>');
|
||||||
|
|
||||||
|
if (modelProj_uid != '') {
|
||||||
|
var formData = {
|
||||||
|
dept_uid: $('#dept_select').val(),
|
||||||
|
modelProj_uid: modelProj_uid
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/Api/modalQuotationList",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var obj = data.modelQuotations;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$.each(obj, function (i, item) {
|
||||||
|
$("#modelQuotation_select").append($("<option>", {
|
||||||
|
value: item.modelQuotation_uid,
|
||||||
|
text: item.modelQuotation_name
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function loadyearmonth() {
|
function loadyearmonth() {
|
||||||
var actualDate = new Date(); // convert to actual date
|
var actualDate = new Date(); // convert to actual date
|
||||||
|
|
||||||
|
|
@ -135,6 +185,44 @@ $(document).ready(function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function loadQuotation_custom() {
|
||||||
|
var formData = {
|
||||||
|
dept_uid: $('#dept_select').val()
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/Api/modalProjList",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var obj = data.modelProjs;
|
||||||
|
|
||||||
|
$("#modelProject_select").empty().append('<option value="">請選擇專案類型</option>');
|
||||||
|
$("#modelQuotation_select").empty().append('<option value="">請先選擇專案類型</option>');
|
||||||
|
|
||||||
|
$.each(obj, function (i, item) {
|
||||||
|
$("#modelProject_select").append($("<option>", {
|
||||||
|
value: item.modelProj_uid,
|
||||||
|
text: item.modelProj_name
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
function buttonClick(obj) {
|
function buttonClick(obj) {
|
||||||
var type = obj.getAttribute('data-method');
|
var type = obj.getAttribute('data-method');
|
||||||
var uid = obj.getAttribute('data-uid');
|
var uid = obj.getAttribute('data-uid');
|
||||||
|
|
@ -588,7 +676,7 @@ function deptList() {
|
||||||
|
|
||||||
});
|
});
|
||||||
loadDataTable();
|
loadDataTable();
|
||||||
|
loadQuotation_custom();
|
||||||
} else {
|
} else {
|
||||||
alert(data.message);
|
alert(data.message);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue