//#region 界面交互代碼 var issuesUtils = issuesUtils || {}; (function () { /** * 點擊問題提處理方案按鈕事件 */ issuesUtils.issuuesSchemeBtn = function () { var item_id = commonUtils.getUrlParamValue('ID'); issuesList.getIssuesItem(item_id, function (data) { console.log(JSON.stringify(data)); var issuesSchemeUrl = '/sites/pwa/Lists/List/AllItems.aspx?IssuesId=' + data.ID; //location.href = issuesSchemeUrl; }); issuesList.deleteItem(item_id, function (data) { alert("刪除成功"); }); }; })(); //#endregion //#region 問題list /** * issues list */ var issuesList = issuesList || {}; (function () { var projectSiteName = function () { return location.pathname.replace('/', '').split('/')[2]; }; /** * 獲取列表項目 * @param {*} itemId * @param {*} fun */ issuesList.getIssuesItem = function (itemId, fun) { var server_url = '/sites/pwa/' + projectSiteName() + '/_api/Lists/IssuesList/items(' + itemId + ')'; commonUtils.executeRequest({ type: commonUtils.ExecuteRequestType.READ, url: server_url, callBack: function (data) { if (fun) { fun(data); } } }); }; issuesList.addIssuesItem = function (callBack) { var issuesData = { __metadata: { type: 'SP.Data.IssuesListItem' }, Title: '個人測試問題1212' }; var server_url = '/sites/pwa/' + projectSiteName() + '/_api/Lists/IssuesList/items'; commonUtils.executeRequest({ type: commonUtils.ExecuteRequestType.CREATE, data: issuesData, url: server_url, callBack: function (data) { } }); }; issuesList.updateItem = function (callBack) { var server_url = '/sites/pwa/' + projectSiteName() + '/_api/Lists/IssuesList/items(6)'; var issuesData = { __metadata: { type: 'SP.Data.IssuesListItem' }, Title: '修改標題111111111' }; commonUtils.executeRequest({ type: commonUtils.ExecuteRequestType.UPDATE, data: issuesData, url: server_url, callBack: function (data) { } }); }; /** * 刪除問題 * @param {*ID} itemId * @param {*} callBack */ issuesList.deleteItem = function (itemId, callBack) { var server_url = '/sites/pwa/' + projectSiteName() + '/_api/Lists/IssuesList/items(' + itemId + ')'; commonUtils.executeRequest({ type: commonUtils.ExecuteRequestType.DELETE, url: server_url, callBack: callBack }); } })(); //#endregion //#region 問題處理方案list var issuesSchemeList = issuesSchemeList || {}; (function () { })(); //#endregion //#region 經常使用工具類 /** * 經常使用工具類 */ var commonUtils = commonUtils || {}; (function () { /** * 根據參數名稱獲取URL參數值 * @param {參數名稱} paramName */ commonUtils.getUrlParamValue = function (paramName) { var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return undefined; }; /** * * @param {type:commonUtils.ExecuteRequestType,data:提交的數據對象,url:rest api url 地址,callBack:回調函數function(data){}} option */ commonUtils.executeRequest = function (option) { var ajax_type = undefined; var ajax_header = undefined; var ajax_data = undefined; switch (option.type) { case commonUtils.ExecuteRequestType.CREATE: //添加數據 ajax_type = 'POST'; ajax_header = { "Accept": "application/json; odata=verbose", "X-RequestDigest": $("#__REQUESTDIGEST").val() }; break; case commonUtils.ExecuteRequestType.UPDATE: //修改數據 ajax_type = 'POST'; ajax_header = { "Accept": "application/json; odata=verbose", "X-RequestDigest": $("#__REQUESTDIGEST").val(), "IF-MATCH": "*", "X-HTTP-Method": "MERGE" }; break; case commonUtils.ExecuteRequestType.READ: //讀取數據 ajax_type = 'GET'; ajax_header = { "Accept": "application/json; odata=verbose", }; break; case commonUtils.ExecuteRequestType.DELETE: //刪除數據 ajax_type = 'POST'; ajax_header = { //"Accept": "application/json; odata=verbose", "X-RequestDigest": $("#__REQUESTDIGEST").val(), "IF-MATCH": "*", "X-HTTP-Method": "DELETE" }; break; } if (option.data) { ajax_data = JSON.stringify(option.data); } if (ajax_header && ajax_header) { $.ajax({ url: option.url, type: ajax_type, //contentType: "application/json;odata=verbose", data: ajax_data, headers: ajax_header, complete: function (xhr, textStatus) { if (xhr.status == 200) { var jsondata = xhr.responseText ? JSON.parse(xhr.responseText).d : {}; if (option.callBack) { option.callBack(jsondata); } } else { console.error("出現錯誤,錯誤代碼爲" + xhr.status); } }, error: function (data, errorCode, errorMessage) { console.error("出現錯誤:" + errorMessage); } }); } else { console.error("調用commonUtils.executeRequest方法參數不合法"); } } /** * 調用rest api類型,增刪改查 */ commonUtils.ExecuteRequestType = { CREATE: 1, UPDATE: 2, READ: 3, DELETE: 4 }; })(); //#endregion