updates
parent
90199c88ba
commit
8e498fc282
|
|
@ -147,8 +147,9 @@
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th> 子項目名稱 </th>
|
<th> 子項目名稱 </th>
|
||||||
|
<th> 單價 </th>
|
||||||
<th> </th>
|
<th> 單位 </th>
|
||||||
|
<th style="width: 25px;"> </th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
|
|
@ -165,3 +166,55 @@
|
||||||
</div><!-- /.modal-dialog -->
|
</div><!-- /.modal-dialog -->
|
||||||
</div>
|
</div>
|
||||||
</form><!-- /.modal -->
|
</form><!-- /.modal -->
|
||||||
|
|
||||||
|
<!-- .modal -->
|
||||||
|
<form id="clientSubItemModalForm" name="clientSubItemModalForm">
|
||||||
|
<div class="modal fade" id="clientSubItemModal" tabindex="-1" role="dialog" aria-labelledby="clientSubItemModalLabel" data-backdrop="static"
|
||||||
|
data-keyboard="false" aria-hidden="true">
|
||||||
|
<!-- .modal-dialog -->
|
||||||
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
|
<!-- .modal-content -->
|
||||||
|
<div class="modal-content">
|
||||||
|
<!-- .modal-header -->
|
||||||
|
<div class="modal-header">
|
||||||
|
<h6 id="clientSubItemModalLabel" class="modal-title inline-editable">
|
||||||
|
<span class="sr-only">Client name</span> <input id="clientSubItemModalTitle" type="text" class="form-control form-control-lg" placeholder="子項目資料新增與維護" 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="clientSubItem_method" />
|
||||||
|
<input type="hidden" id="clientSubItem_subItem_uid" />
|
||||||
|
<!-- .form-group -->
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="form-label-group">
|
||||||
|
<input type="text" id="modal_subItem_name" class="form-control" value="" placeholder="次項目名稱" maxlength="36" required=""> <label for="modal_subItem_name">次項目名稱</label>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.form-group -->
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="modal_subItem_descript">製作說明 <span class="badge badge-secondary"><em>選填</em></span></label>
|
||||||
|
<textarea class="form-control" id="modal_subItem_descript" rows="5" placeholder="製作說明"></textarea>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="modal_subItem_price">單價</label> <!-- .input-group -->
|
||||||
|
<div class="input-group">
|
||||||
|
<label class="input-group-prepend" for="modal_subItem_price"><span class="badge">$</span></label> <input type="text" class="form-control" maxlength="8" id="modal_subItem_price">
|
||||||
|
</div><!-- /.input-group -->
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="form-label-group">
|
||||||
|
<input type="text" id="modal_subItem_unitType" class="form-control" value="" placeholder="單位" maxlength="6" required=""> <label for="modal_subItem_unitType">單位</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.modal-body -->
|
||||||
|
<!-- .modal-footer -->
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" id="clientSubItemSaveBtn" class="btn btn-primary">儲存</button> <button id="closeBtn" type="button" class="btn btn-light" data-dismiss="modal">關閉</button>
|
||||||
|
</div><!-- /.modal-footer -->
|
||||||
|
</div><!-- /.modal-content -->
|
||||||
|
</div><!-- /.modal-dialog -->
|
||||||
|
</div>
|
||||||
|
</form><!-- /.modal -->
|
||||||
|
|
@ -336,3 +336,15 @@ function TextAreaLength(item, length) {
|
||||||
item.value = item.value.substring(0, length);
|
item.value = item.value.substring(0, length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function thousands(value) {
|
||||||
|
if (value) {
|
||||||
|
value += "";
|
||||||
|
var arr = value.split(".");
|
||||||
|
var re = /(\d{1,3})(?=(\d{3})+$)/g;
|
||||||
|
|
||||||
|
return arr[0].replace(re, "$1,") + (arr.length == 2 ? "." + arr[1] : "");
|
||||||
|
} else {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -9,6 +9,10 @@ var subItemRowPos;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
deptList();
|
deptList();
|
||||||
|
|
||||||
|
$('#subItemListNewBtn').on('click', function () {
|
||||||
|
$("#clientSubItem_method").val('add');
|
||||||
|
$('#clientSubItemModal').modal('toggle');
|
||||||
|
});
|
||||||
|
|
||||||
$('#maintItemNewModal').on('click', function () {
|
$('#maintItemNewModal').on('click', function () {
|
||||||
$("#mainItem_method").val('add');
|
$("#mainItem_method").val('add');
|
||||||
|
|
@ -69,7 +73,82 @@ $(document).ready(function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#clientSubItemSaveBtn').on('click', function () {
|
||||||
|
var mainItem_uid = $('#subItemList_mainItem_uid').val();
|
||||||
|
var subItem_uid = $('#clientSubItem_subItem_uid').val();
|
||||||
|
var method = $('#clientSubItem_method').val();
|
||||||
|
var subItem_name = $('#modal_subItem_name').val();
|
||||||
|
var subItem_descript = $('#modal_subItem_descript').val();
|
||||||
|
var subItem_price = $('#modal_subItem_price').val();
|
||||||
|
var subItem_unitType = $('#modal_subItem_unitType').val();
|
||||||
|
var dept_uid = $("#dept_select").val();
|
||||||
|
|
||||||
|
var msg = '';
|
||||||
|
|
||||||
|
if (subItem_name == '') {
|
||||||
|
msg += '請輸入次項目名稱!\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (subItem_price == '') {
|
||||||
|
msg += '請輸入單價!\n';
|
||||||
|
} else {
|
||||||
|
if (subItem_price.isNumber() == false) {
|
||||||
|
msg += '單價必須為數字!\n';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (subItem_unitType == '') {
|
||||||
|
msg += '請輸入次項目的單位!\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msg != '') {
|
||||||
|
alert(msg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var formData = {
|
||||||
|
mainItem_uid: mainItem_uid,
|
||||||
|
subItem_uid: subItem_uid,
|
||||||
|
method: method,
|
||||||
|
subItem_name: subItem_name,
|
||||||
|
subItem_descript: subItem_descript,
|
||||||
|
subItem_price: subItem_price,
|
||||||
|
subItem_unitType: subItem_unitType,
|
||||||
|
dept_uid: dept_uid
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/addEditDelGetSubItem",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var obj = data.subItems[0];
|
||||||
|
|
||||||
|
if (method == "add") {
|
||||||
|
subItemTable.fnAddData(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (method == "edit") {
|
||||||
|
subItemTable.fnUpdate(obj, subItemRowPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$('#clientSubItemModal').modal('toggle');
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -135,6 +214,8 @@ function loadSubItemDataTable() {
|
||||||
searching: true,
|
searching: true,
|
||||||
columns: [
|
columns: [
|
||||||
{ data: 'subItem_name', className: 'align-top text-left', orderable: true, searchable: true },
|
{ data: 'subItem_name', className: 'align-top text-left', orderable: true, searchable: true },
|
||||||
|
{ data: 'subItem_price', className: 'align-top text-right', orderable: true, searchable: true },
|
||||||
|
{ data: 'subItem_unitType', className: 'align-top text-right', orderable: true, searchable: true },
|
||||||
{ data: 'subItem_uid', className: 'align-top text-center', orderable: false, searchable: false }
|
{ data: 'subItem_uid', className: 'align-top text-center', orderable: false, searchable: false }
|
||||||
],
|
],
|
||||||
columnDefs: [
|
columnDefs: [
|
||||||
|
|
@ -145,13 +226,26 @@ function loadSubItemDataTable() {
|
||||||
searchable: true,
|
searchable: true,
|
||||||
render: function render(data, type, row, meta) {
|
render: function render(data, type, row, meta) {
|
||||||
|
|
||||||
|
return row.subItem_name;
|
||||||
return '<a href="javascript: void(0);" data-uid="' + row.subItem_uid + '" data-method="preview" >' + row.subItem_name + '</a>';
|
//return '<a href="javascript: void(0);" data-uid="' + row.subItem_uid + '" data-method="preview" >' + row.subItem_name + '</a>';
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
targets: 1,
|
targets: 1,
|
||||||
|
className: 'align-middle text-right',
|
||||||
|
orderable: true,
|
||||||
|
searchable: true,
|
||||||
|
render: function render(data, type, row, meta) {
|
||||||
|
|
||||||
|
return thousands(row.subItem_price);
|
||||||
|
//return '<a href="javascript: void(0);" data-uid="' + row.subItem_uid + '" data-method="preview" >' + row.subItem_name + '</a>';
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 3,
|
||||||
|
className: 'align-middle text-center',
|
||||||
orderable: false,
|
orderable: false,
|
||||||
searchable: false,
|
searchable: false,
|
||||||
render: function render(data, type, row, meta) {
|
render: function render(data, type, row, meta) {
|
||||||
|
|
@ -363,6 +457,93 @@ function deptList() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buttonSubItemClick(obj) {
|
||||||
|
var type = obj.getAttribute('data-method');
|
||||||
|
var uid = obj.getAttribute('data-uid');
|
||||||
|
var dept_uid = $('#dept_select').val();
|
||||||
|
var mainItem_uid = $('#subItemList_mainItem_uid').val();
|
||||||
|
|
||||||
|
subItemRowID = $('#' + uid);
|
||||||
|
|
||||||
|
subItemRowPos = subItemTable.fnGetPosition($('#' + uid)[0]);
|
||||||
|
|
||||||
|
if (type == "edit") {
|
||||||
|
var formData = {
|
||||||
|
method: 'get',
|
||||||
|
mainItem_uid: mainItem_uid,
|
||||||
|
subItem_uid: uid,
|
||||||
|
dept_uid: dept_uid
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/addEditDelGetSubItem",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var obj = data.subItems[0];
|
||||||
|
|
||||||
|
$("#clientSubItem_method").val('edit');
|
||||||
|
$("#clientSubItem_subItem_uid").val(obj.subItem_uid);
|
||||||
|
$("#modal_subItem_name").val(obj.subItem_name).trigger('change');
|
||||||
|
|
||||||
|
$("#modal_subItem_descript").val(obj.subItem_descript).trigger('change');
|
||||||
|
$("#modal_subItem_price").val(obj.subItem_price).trigger('change');
|
||||||
|
$("#modal_subItem_unitType").val(obj.subItem_unitType).trigger('change');
|
||||||
|
|
||||||
|
$('#clientSubItemModal').modal('toggle');
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
|
||||||
|
if (data.err_code == "99999") {
|
||||||
|
location.href = "/Root/Login";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('網路或伺服器發生錯誤,請稍後重試!');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type == "del") {
|
||||||
|
if (confirm('確定刪除此筆子項目資料? ')) {
|
||||||
|
|
||||||
|
var formData = {
|
||||||
|
method: 'del',
|
||||||
|
mainItem_uid: mainItem_uid,
|
||||||
|
subItem_uid: uid,
|
||||||
|
dept_uid: dept_uid
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "/AuthApi/addEditDelGetSubItem",
|
||||||
|
type: "post",
|
||||||
|
data: formData,
|
||||||
|
success: function (data, textStatus, jqXHR) {
|
||||||
|
if (data.ret == "yes") {
|
||||||
|
var row = subItemTable.api().row(subItemRowID).remove().draw(false);
|
||||||
|
alert('刪除成功');
|
||||||
|
|
||||||
|
} 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');
|
||||||
|
|
@ -394,6 +575,8 @@ function buttonClick(obj) {
|
||||||
$('#dt-responsive-subItem').dataTable().fnAddData(obj);
|
$('#dt-responsive-subItem').dataTable().fnAddData(obj);
|
||||||
}
|
}
|
||||||
$('#mainItemTitle').val(mainItem_name + ' 的子項目列表').trigger('change');
|
$('#mainItemTitle').val(mainItem_name + ' 的子項目列表').trigger('change');
|
||||||
|
|
||||||
|
$('#subItemList_mainItem_uid').val(uid);
|
||||||
$('#clientSubItemListModal').modal('toggle');
|
$('#clientSubItemListModal').modal('toggle');
|
||||||
} else {
|
} else {
|
||||||
alert(data.message);
|
alert(data.message);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue