forked from dk96/QuotationMaker
updates
parent
09cb9d8f88
commit
955132c3e7
|
|
@ -23,6 +23,8 @@ namespace QuotationMaker.Controllers
|
||||||
this._httpContextAccessor = httpContextAccessor;
|
this._httpContextAccessor = httpContextAccessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Route("authModalQuotationList")]
|
[Route("authModalQuotationList")]
|
||||||
public ActionResult AuthModalQuotationList(IFormCollection obj)
|
public ActionResult AuthModalQuotationList(IFormCollection obj)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2" style="visibility: hidden;">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="search_btn" style="display: block;"> </label>
|
<label for="search_btn" style="display: block;"> </label>
|
||||||
<button type="button" class="btn btn-info btn-sm" id="search_btn">切換單位</button>
|
<button type="button" class="btn btn-info btn-sm" id="search_btn">切換單位</button>
|
||||||
|
|
@ -192,11 +192,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div><!-- /.form-group -->
|
</div><!-- /.form-group -->
|
||||||
<!-- grid row -->
|
<!-- grid row -->
|
||||||
<div id="mainItem_div" class="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 class="col-lg-12">
|
|
||||||
<!-- .card -->
|
<!-- .card -->
|
||||||
<div class="card card-fluid">
|
<div class="card card-fluid">
|
||||||
<div class="card-header border-bottom-0 btn-group">
|
<div class="card-header border-bottom-0 btn-group">
|
||||||
|
|
@ -281,6 +283,89 @@
|
||||||
<a href="#" class="card-footer-item justify-content-start"><span><i class="fa fa-plus-circle mr-1"></i> Add Menu Item</span></a>
|
<a href="#" class="card-footer-item justify-content-start"><span><i class="fa fa-plus-circle mr-1"></i> Add Menu Item</span></a>
|
||||||
</div><!-- /.card-footer -->
|
</div><!-- /.card-footer -->
|
||||||
</div><!-- /.card -->
|
</div><!-- /.card -->
|
||||||
|
<!-- .card -->
|
||||||
|
<div class="card card-fluid">
|
||||||
|
<div class="card-header border-bottom-0 btn-group">
|
||||||
|
Footer Menus
|
||||||
|
<div class="dd-nodrag btn-group ml-auto">
|
||||||
|
<button class="btn btn-sm btn-secondary">Edit</button> <button class="btn btn-sm btn-secondary"><i class="far fa-trash-alt"></i></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- .dd-list -->
|
||||||
|
<ol class="dd-list">
|
||||||
|
<li class="dd-item dd-nodrag" data-id="1">
|
||||||
|
<div class="dd-handle">
|
||||||
|
<div class="list-group-item">
|
||||||
|
<div class="list-group-item-figure">
|
||||||
|
<span class="drag-indicator"></span>
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item-body">
|
||||||
|
<div class="team">
|
||||||
|
<h4 class="list-group-item-title">
|
||||||
|
會員電子報上稿製作
|
||||||
|
</h4>
|
||||||
|
<p class="list-group-item-text" style="white-space: pre-line; font-size: 12px;">
|
||||||
|
協助代為租用多IP發信系統,減少擋信機率
|
||||||
|
.年約優惠方案$961美元,匯率$32
|
||||||
|
.每月最多發送份數共60,000份
|
||||||
|
.超過平台每月6萬封發報限制,則以額外購買額度 0.06元/封 計算
|
||||||
|
</p>
|
||||||
|
<p class="list-group-item-text" style="white-space: pre-line; font-size: 12px;">
|
||||||
|
單價 NT$3,500, 數量 10, 單位 次
|
||||||
|
小計 NT$35,000
|
||||||
|
AC(N)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="dd-nodrag btn-group ml-auto">
|
||||||
|
<button class="btn btn-sm btn-secondary">Edit</button> <button class="btn btn-sm btn-secondary"><i class="far fa-trash-alt"></i></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dd-item dd-nodrag" data-id="1">
|
||||||
|
<div class="dd-handle">
|
||||||
|
<div class="list-group-item">
|
||||||
|
<div class="list-group-item-figure">
|
||||||
|
<span class="drag-indicator"></span>
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item-body">
|
||||||
|
<div class="team">
|
||||||
|
<h4 class="list-group-item-title">
|
||||||
|
會員電子報上稿製作
|
||||||
|
</h4>
|
||||||
|
<p class="list-group-item-text" style="white-space: pre-line; font-size: 12px;">
|
||||||
|
協助代為租用多IP發信系統,減少擋信機率
|
||||||
|
.年約優惠方案$961美元,匯率$32
|
||||||
|
.每月最多發送份數共60,000份
|
||||||
|
.超過平台每月6萬封發報限制,則以額外購買額度 0.06元/封 計算
|
||||||
|
</p>
|
||||||
|
<p class="list-group-item-text" style="white-space: pre-line; font-size: 12px;">
|
||||||
|
單價 NT$3,500, 數量 10, 單位 次
|
||||||
|
小計 NT$35,000
|
||||||
|
AC(N)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="dd-nodrag btn-group ml-auto">
|
||||||
|
<button class="btn btn-sm btn-secondary">Edit</button> <button class="btn btn-sm btn-secondary"><i class="far fa-trash-alt"></i></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ol><!-- /.dd-list -->
|
||||||
|
<!-- .card-footer -->
|
||||||
|
<div class="card-footer">
|
||||||
|
<a href="#" class="card-footer-item justify-content-start"><span><i class="fa fa-plus-circle mr-1"></i> Add Menu Item</span></a>
|
||||||
|
</div><!-- /.card-footer -->
|
||||||
|
</div><!-- /.card -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><!-- /.modal-body -->
|
</div><!-- /.modal-body -->
|
||||||
|
|
@ -292,3 +377,38 @@
|
||||||
</div><!-- /.modal-dialog -->
|
</div><!-- /.modal-dialog -->
|
||||||
</div>
|
</div>
|
||||||
</form><!-- /.modal -->
|
</form><!-- /.modal -->
|
||||||
|
<!-- .modal -->
|
||||||
|
<form id="clientModelMainItemForm" name="clientModelMainItemForm">
|
||||||
|
<div class="modal fade" id="modelMainItemModal" tabindex="-1" role="dialog" aria-labelledby="modelMainItemModalLabel" data-backdrop="static"
|
||||||
|
data-keyboard="false" aria-hidden="true">
|
||||||
|
<!-- .modal-dialog -->
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<!-- .modal-content -->
|
||||||
|
<div class="modal-content">
|
||||||
|
<!-- .modal-header -->
|
||||||
|
<div class="modal-header">
|
||||||
|
<h6 id="modelMainItemModalLabel" class="modal-title inline-editable">
|
||||||
|
<span class="sr-only">主項目</span> <input id="group_mainitem" type="text" class="form-control form-control-lg" value="" placeholder="主項目" readonly="readonly" required="">
|
||||||
|
</h6>
|
||||||
|
</div><!-- /.modal-header -->
|
||||||
|
<!-- .modal-body -->
|
||||||
|
<div class="modal-body">
|
||||||
|
<input type="hidden" id="modelMainItem_method" />
|
||||||
|
<input type="hidden" id="modelMainItem_uid" />
|
||||||
|
<input type="hidden" id="parent_mainItem_uid" />
|
||||||
|
|
||||||
|
<!-- .form-group -->
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label" for="modelMainItem_name">主項目名稱</label> <input id="modelMainItem_name" maxlength="32" type="text" class="form-control" />
|
||||||
|
</div><!-- /.form-group -->
|
||||||
|
|
||||||
|
|
||||||
|
</div><!-- /.modal-body -->
|
||||||
|
<!-- .modal-footer -->
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" id="modelMainItemDialogSaveBtn" class="btn btn-primary">Save</button> <button type="button" class="btn btn-light" data-dismiss="modal" data-target="#modelMainItemModal">Close</button>
|
||||||
|
</div><!-- /.modal-footer -->
|
||||||
|
</div><!-- /.modal-content -->
|
||||||
|
</div><!-- /.modal-dialog -->
|
||||||
|
</div>
|
||||||
|
</form><!-- /.modal -->
|
||||||
|
|
@ -194,8 +194,12 @@
|
||||||
</main><!-- /.app-main -->
|
</main><!-- /.app-main -->
|
||||||
</div><!-- /.app -->
|
</div><!-- /.app -->
|
||||||
<!-- BEGIN BASE JS -->
|
<!-- BEGIN BASE JS -->
|
||||||
|
<link href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" rel="Stylesheet">
|
||||||
<script src="~/assets/vendor/jquery/jquery.min.js"></script>
|
<script src="~/assets/vendor/jquery/jquery.min.js"></script>
|
||||||
<script src="~/assets/vendor/jquery.cookie/jquery.cookie.js"></script>
|
<script src="~/assets/vendor/jquery.cookie/jquery.cookie.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
|
||||||
<script src="~/assets/javascript/custom/globalJS.js" asp-append-version="true"></script>
|
<script src="~/assets/javascript/custom/globalJS.js" asp-append-version="true"></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> <!-- END BASE JS -->
|
<script src="~/assets/vendor/bootstrap/js/bootstrap.min.js"></script> <!-- END BASE JS -->
|
||||||
|
|
@ -226,7 +230,9 @@
|
||||||
<!-- END PLUGINS JS -->
|
<!-- END PLUGINS JS -->
|
||||||
<!-- BEGIN SELECT2-->
|
<!-- BEGIN SELECT2-->
|
||||||
<script src="~/assets/vendor/handlebars/handlebars.min.js"></script>
|
<script src="~/assets/vendor/handlebars/handlebars.min.js"></script>
|
||||||
|
<script src="~/assets/vendor/typeahead.js/bloodhound.min.js"></script>
|
||||||
<script src="~/assets/vendor/typeahead.js/typeahead.bundle.min.js"></script>
|
<script src="~/assets/vendor/typeahead.js/typeahead.bundle.min.js"></script>
|
||||||
|
<script src="~/assets/vendor/typeahead.js/typeahead.jquery.min.js"></script>
|
||||||
<script src="~/assets/vendor/select2/js/select2.full.min.js"></script>
|
<script src="~/assets/vendor/select2/js/select2.full.min.js"></script>
|
||||||
<script src="~/assets/vendor/tributejs/tribute.min.js"></script>
|
<script src="~/assets/vendor/tributejs/tribute.min.js"></script>
|
||||||
<script src="~/assets/vendor/jquery.caret/jquery.caret.min.js"></script>
|
<script src="~/assets/vendor/jquery.caret/jquery.caret.min.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
$('#modelMainItem_name').typeahead(
|
||||||
|
{
|
||||||
|
minLength: 0,
|
||||||
|
highlight: true,
|
||||||
|
source: function(request, response) {
|
||||||
|
var formData = {
|
||||||
|
dept_uid: $('#dept_select').val()
|
||||||
|
};
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/authMainItemList",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function(data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var obj = data.mainItems;
|
||||||
|
|
||||||
|
mainItem_items = [];
|
||||||
|
function loadMainItemTypeahead() {
|
||||||
|
mainItem_map = {};
|
||||||
|
|
||||||
|
$.each(obj, function(i, item) {
|
||||||
|
var id = item.mainItem_uid;
|
||||||
|
var name = item.mainItem_name;
|
||||||
|
mainItem_map[name] = { id: id, name: name };
|
||||||
|
mainItem_items.push(name);
|
||||||
|
});
|
||||||
|
response(mainItem_items);
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
updater: function(item) {
|
||||||
|
$('#parent_mainItem_uid').val(mainItem_map[item].id);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -5,10 +5,31 @@ var modelProjRowID;
|
||||||
var modelQuotationTable;
|
var modelQuotationTable;
|
||||||
var modelQuotationRowPos;
|
var modelQuotationRowPos;
|
||||||
var modelQuotationRowID;
|
var modelQuotationRowID;
|
||||||
|
|
||||||
|
var mainItem_items = [];
|
||||||
|
var mainItem_map = {};
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
deptList();
|
deptList();
|
||||||
loadModelQuotationDataTable();
|
loadModelQuotationDataTable();
|
||||||
|
|
||||||
|
$('#dept_select').on('change', function () {
|
||||||
|
$('#dt-responsive').DataTable().ajax.reload();
|
||||||
|
});
|
||||||
|
|
||||||
|
//新增主項目對話框儲存鈕
|
||||||
|
$('#modelMainItemDialogSaveBtn').on('click', function () {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
//新增主項目鈕
|
||||||
|
$('#addModelMainItemBtn').on('click', function () {
|
||||||
|
$('#modelMainItem_name').typeahead('destroy');
|
||||||
|
|
||||||
|
loadMainItemTypeahead();
|
||||||
|
$('#modelMainItem_method').val('add');
|
||||||
|
$('#modelMainItemModal').modal('toggle');
|
||||||
|
});
|
||||||
|
|
||||||
//新增報價單範本視窗
|
//新增報價單範本視窗
|
||||||
$('#modelQuotationListNewBtn').on('click', function () {
|
$('#modelQuotationListNewBtn').on('click', function () {
|
||||||
$('#clientModelQuotationPreviewModal').modal('toggle');
|
$('#clientModelQuotationPreviewModal').modal('toggle');
|
||||||
|
|
@ -80,6 +101,74 @@ $(document).ready(function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function loadMainItemTypeahead() {
|
||||||
|
var formData = {
|
||||||
|
dept_uid: $('#dept_select').val()
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/authMainItemList",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var obj = data.mainItems;
|
||||||
|
|
||||||
|
mainItem_items = [];
|
||||||
|
mainItem_map = {};
|
||||||
|
|
||||||
|
$.each(obj, function (i, item) {
|
||||||
|
var id = item.mainItem_uid;
|
||||||
|
var name = item.mainItem_name;
|
||||||
|
mainItem_map[name] = { id: id, name: name };
|
||||||
|
mainItem_items.push(name);
|
||||||
|
});
|
||||||
|
|
||||||
|
var bh = new Bloodhound({
|
||||||
|
local: mainItem_items,
|
||||||
|
queryTokenizer: Bloodhound.tokenizers.whitespace,
|
||||||
|
datumTokenizer: Bloodhound.tokenizers.whitespace
|
||||||
|
});
|
||||||
|
|
||||||
|
var nflTeamsWithDefaults = function nflTeamsWithDefaults(q, sync) {
|
||||||
|
if (q === '') {
|
||||||
|
sync(bh.index.all());
|
||||||
|
} else {
|
||||||
|
bh.search(q, sync);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$('#modelMainItem_name').typeahead(
|
||||||
|
{
|
||||||
|
minLength: 0,
|
||||||
|
highlight: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
source: nflTeamsWithDefaults
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
$('#modelMainItem_name').bind('typeahead:select', function (ev, suggestion) {
|
||||||
|
console.log('Selection: ' + suggestion);
|
||||||
|
console.log('Selection key: ' + mainItem_map[suggestion].id);
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
function loadModelQuotationDataTable() {
|
function loadModelQuotationDataTable() {
|
||||||
var dataTables = {
|
var dataTables = {
|
||||||
init: function init() {
|
init: function init() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue