1
0
Fork 0

new function

master
嘉祥 詹 2024-09-07 00:44:30 +08:00
parent 8c149e555d
commit fd093cf6bd
5 changed files with 227 additions and 5 deletions

View File

@ -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)
{ {

View File

@ -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>

View File

@ -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">&times;</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;">&nbsp; &nbsp;</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 -->

View File

@ -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 {

View File

@ -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);