You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

256 lines
9.2 KiB

'use strict';
var sProgramId = getProgramId(),
sQueryPrgId = getQueryPrgId(),
sAction = getUrlParam('Action') || 'Add',
sDataId = getUrlParam('FileID'),
sCheckId = sDataId,
fnPageInit = function () {
var oCurData = {},
oForm = $('#form_main'),
oValidator = null,
/**
* 獲取資料
* @return {Object} Ajax 物件
*/
fnGet = function () {
if (sDataId) {
return CallAjax(ComFn.W_Com, ComFn.GetOne, {
Type: '',
Params: {
websitefiles: {
FileID: sDataId,
OrgID: parent.OrgID
}
}
}, function (res) {
if (res.d) {
var oRes = $.parseJSON(res.d);
oCurData = oRes;
setFormVal(oForm, oRes);
fnGetUploadFiles(oCurData.FileID, fnUpload);
setNameById().done(function () {
getPageVal();//緩存頁面值,用於清除
});
$('#UniqueID').attr('disabled', 'disabled');
}
});
}
else {
oCurData.FileID = guid();
fnUpload();
return $.Deferred().resolve().promise();
}
},
/**
* 新增資料
* @param {String} sFlag 新增或儲存後新增
*/
fnAdd = function (sFlag) {
var data = getFormSerialize(oForm);
data = packParams(data);
data.OrgID = parent.OrgID;
data.FileID = oCurData.FileID;
CallAjax(ComFn.W_Com, ComFn.GetAdd, {
Params: {
websitefiles: data
}
}, function (res) {
if (res.d > 0) {
bRequestStorage = false;
if (sFlag == 'add') {
showMsgAndGo(i18next.t("message.Save_Success"), sQueryPrgId); // ╠message.Save_Success⇒新增成功╣
}
else {
showMsgAndGo(i18next.t("message.Save_Success"), sProgramId, '?Action=Add'); // ╠message.Save_Success⇒新增成功╣
}
parent.msgs.server.broadcast(data);
}
else {
showMsg(i18next.t("message.Save_Failed"), 'error'); // ╠message.Save_Failed⇒新增失敗╣
}
});
},
/**
* 修改資料
*/
fnUpd = function () {
var data = getFormSerialize(oForm);
data = packParams(data, 'upd');
data.FileID = oCurData.FileID;
CallAjax(ComFn.W_Com, ComFn.GetUpd, {
Params: {
websitefiles: {
values: data,
keys: {
FileID: sDataId,
OrgID: parent.OrgID
}
}
}
}, function (res) {
if (res.d > 0) {
bRequestStorage = false;
showMsgAndGo(i18next.t("message.Modify_Success"), sQueryPrgId);//╠message.Modify_Success⇒修改成功╣
}
else {
showMsg(i18next.t("message.Modify_Failed"), 'error');//╠message.Modify_Failed⇒修改失敗╣
}
}, function () {
showMsg(i18next.t("message.Modify_Failed"), 'error');//╠message.Modify_Failed⇒修改失敗╣
});
},
/**
* 資料刪除
*/
fnDel = function () {
CallAjax(ComFn.W_Com, ComFn.GetDel, {
Params: {
websitefiles: {
FileID: sDataId,
OrgID: parent.OrgID
}
}
}, function (res) {
if (res.d > 0) {
showMsgAndGo(i18next.t("message.Delete_Success"), sQueryPrgId); // ╠message.Delete_Success⇒刪除成功╣
}
else {
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
}
}, function () {
showMsg(i18next.t("message.Delete_Failed"), 'error'); // ╠message.Delete_Failed⇒刪除失敗╣
});
},
/**
* 上傳附件
* @param {Array} files 上傳的文件
*/
fnUpload = function (files) {
var option = {};
option.input = $('#fileInput');
option.theme = 'dragdropbox';
option.folder = 'WebSiteFiles';
option.type = 'list';
option.parentid = oCurData.FileID;
if (files) {
option.files = files;
}
fnUploadRegister(option);
},
/**
* ToolBar 按鈕事件 function
* @param {Object}inst 按鈕物件對象
* @param {Object} e 事件對象
*/
fnButtonHandler = function (inst, e) {
var sId = inst.id;
switch (sId) {
case "Toolbar_Qry":
break;
case "Toolbar_Save":
if (!$("#form_main").valid()) {
oValidator.focusInvalid();
return false;
}
if (sAction == 'Add') {
fnAdd('add');
}
else {
fnUpd();
}
break;
case "Toolbar_ReAdd":
if (!$("#form_main").valid()) {
oValidator.focusInvalid();
return false;
}
fnAdd('readd');
break;
case "Toolbar_Clear":
clearPageVal();
break;
case "Toolbar_Leave":
pageLeave();
break;
case "Toolbar_Add":
break;
case "Toolbar_Upd":
break;
case "Toolbar_Copy":
break;
case "Toolbar_Del": // ╠message.ConfirmToDelete⇒確定要刪除嗎 ?╣ ╠common.Tips⇒提示╣
layer.confirm(i18next.t("message.ConfirmToDelete"), { icon: 3, title: i18next.t('common.Tips') }, function (index) {
fnDel();
layer.close(index);
});
break;
default:
alert("No handle '" + sId + "'");
break;
}
},
/**
* 初始化 function
*/
init = function () {
commonInit({
PrgId: sProgramId,
ButtonHandler: fnButtonHandler,
GoTop: true
});
$.validator.addMethod("uniqueidrule", function (value) {
var bRetn = true;
if (value) {
CallAjax(ComFn.W_Com, ComFn.GetCount, {
Params: {
websitefiles: {
UniqueID: value,
OrgID: parent.OrgID
}
}
}, function (rq) {
if (rq.d > 0) {
bRetn = false;
}
}, null, true, false);
}
return bRetn;
});
oValidator = $("#form_main").validate({
onfocusout: false,
rules: {
UniqueID: { uniqueidrule: sAction === 'Add' ? true : false },
},
messages: {
UniqueID: { uniqueidrule: i18next.t("message.Data_Repeat") }// ╠message.Data_Repeat⇒此筆資料已建檔╣
}
});
fnGet();
};
init();
};
require(['base', 'jsgrid', 'filer', 'util'], fnPageInit);