forked from dk96/QuotationMaker
updates
parent
09cb9d8f88
commit
955132c3e7
|
|
@ -23,6 +23,8 @@ namespace QuotationMaker.Controllers
|
|||
this._httpContextAccessor = httpContextAccessor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
[Route("authModalQuotationList")]
|
||||
public ActionResult AuthModalQuotationList(IFormCollection obj)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="col-md-2" style="visibility: hidden;">
|
||||
<div class="form-group">
|
||||
<label for="search_btn" style="display: block;"> </label>
|
||||
<button type="button" class="btn btn-info btn-sm" id="search_btn">切換單位</button>
|
||||
|
|
@ -192,11 +192,13 @@
|
|||
</div>
|
||||
</div><!-- /.form-group -->
|
||||
<!-- 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 class="col-lg-12">
|
||||
<div id="modelItem_div" class="col-lg-12">
|
||||
<!-- .card -->
|
||||
<div class="card card-fluid">
|
||||
<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>
|
||||
</div><!-- /.card-footer -->
|
||||
</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><!-- /.modal-body -->
|
||||
|
|
@ -291,4 +376,39 @@
|
|||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>
|
||||
</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 -->
|
||||
</div><!-- /.app -->
|
||||
<!-- 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.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/vendor/popper.js/umd/popper.min.js"></script>
|
||||
<script src="~/assets/vendor/bootstrap/js/bootstrap.min.js"></script> <!-- END BASE JS -->
|
||||
|
|
@ -226,7 +230,9 @@
|
|||
<!-- END PLUGINS JS -->
|
||||
<!-- BEGIN SELECT2-->
|
||||
<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.jquery.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/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 modelQuotationRowPos;
|
||||
var modelQuotationRowID;
|
||||
|
||||
var mainItem_items = [];
|
||||
var mainItem_map = {};
|
||||
$(document).ready(function () {
|
||||
deptList();
|
||||
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 () {
|
||||
$('#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() {
|
||||
var dataTables = {
|
||||
init: function init() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue