diff --git a/src/store/jenis-dokumen.js b/src/store/jenis-dokumen.js new file mode 100644 index 0000000..cdddab1 --- /dev/null +++ b/src/store/jenis-dokumen.js @@ -0,0 +1,8 @@ +const jenisDokumens = [ + { id: 0, name: "Dokumen RKAP" }, + { id: 1, name: "Dokumen Pendukung" }, + { id: 2, name: "Dokumen Lain" }, + { id: 3, name: "Dokumen Pendukung Data Teknis" }, +]; + +export default jenisDokumens; \ No newline at end of file diff --git a/src/utils/http.js b/src/utils/http.js new file mode 100644 index 0000000..edb6843 --- /dev/null +++ b/src/utils/http.js @@ -0,0 +1,45 @@ +const http = { + async request(method, url, data, headers = {}) { + try { + const defaultHeaders = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + } + + headers = Object.assign(defaultHeaders, headers); + + const options = { + method: method, + body: JSON.stringify(data), + headers, + } + + if (method === 'GET') { + delete options.body; + } + + return await fetch(url, options) + + } catch (e) { + console.error(e) + } + }, + + async get(url, headers = {}) { + return await this.request('GET', url, null, headers); + }, + + async post(url, data, headers) { + return await this.request('POST', url, data, headers); + }, + + async put(url, data, headers) { + return await this.request('PUT', url, data, headers); + }, + + async delete(url, data, headers) { + return await this.request('DELETE', url, data, headers); + }, +} + +export default http; diff --git a/src/views/drp/drp-penyusunan.vue b/src/views/drp/drp-penyusunan.vue index 2e0065d..994956b 100644 --- a/src/views/drp/drp-penyusunan.vue +++ b/src/views/drp/drp-penyusunan.vue @@ -5,311 +5,34 @@
- - - - - - - + + + @@ -333,20 +56,6 @@ - - - @@ -442,18 +151,11 @@ import DxDataGrid, { DxButton, DxRequiredRule, // DxLookup, - DxPopup, } from "devextreme-vue/data-grid"; import CustomStore from "devextreme/data/custom_store"; -import { - DxPopup as Popup, - DxToolbarItem, - DxPosition, -} from "devextreme-vue/popup"; -import { DxScrollView } from "devextreme-vue/scroll-view"; -import { DxSelectBox } from "devextreme-vue/select-box"; -import { DxFileUploader } from "devextreme-vue/file-uploader"; -import DxTextArea from "devextreme-vue/text-area"; +import DxPopup, { DxToolbarItem } from 'devextreme-vue/popup'; + +import PopUpUploadDokumenPendukung from './drp-upload-dokumen-pendukung.vue' const approveStatus = [ { name: "Penyusunan", value: 0 }, @@ -578,51 +280,28 @@ export default { DxRequiredRule, // DxLookup, DxPopup, - DxScrollView, - Popup, DxToolbarItem, - DxPosition, - DxSelectBox, - DxFileUploader, - DxTextArea, + PopUpUploadDokumenPendukung, }, methods: { - linkDokumen($event) { - fetch(URL + "/" + $event.row.data.id) - .then((response) => response.json()) - .then((response) => { - return ( - (this.dataDrpDokumen = response.dataDrpDokumen), - (this.dataDrpDokumenPendukung = response.dataDrpDokumenPendukung) - ); - }) - .catch(() => { - throw new Error("Terdapat kesalahan memuat data"); - }); - // dataDrpDokumen.key($event.row.data.id) - // dataDrpDokumen.load($event.row.data.id); - - this.popupVisible = true; - this.popupTitle = "Upload Dokumen Pendukung"; - this.isShowButton = true; + linkDokumen(e) { + this.isPopupUploadDokumenPendukung = !this.isPopupUploadDokumenPendukung; + this.selectedDrpId = e.row.data.id; + this.selectedDrpTahun = e.row.data.tahun; }, linkDetail(e) { location.href='#/drp/drp-pengadaan?drpid='+e.row.data.id; }, linkKirim($event) { console.log("event: ", $event.row.values); - this.popupVisible = true; - this.popupTitle = "Review & Approval DRP"; this.dataDrp = $event.row.values; - this.isShowButton = true; - console.log("drp: ", this.dataDrp); }, onChangeUploadFile($event) { this.fileNames = $event.value; console.log("file", this.fileNames); }, - logEvent(eventName) { - console.log("event", eventName.value); + onShowing(e, d) { + console.log(e, d) }, }, data() { @@ -630,24 +309,23 @@ export default { //jsonUrl: URL, dataSource, dropdown: "", - popupVisible: false, - popupTitle: "", - isShowButton: true, dataDrpDokumen, dataDrpDokumenPendukung, + isPopupUploadDokumenPendukung: false, + selectedDrpId: null, + selectedDrpTahun: null, fileNames: [], saveButtonOptions: { - text: "Simpan", - onClick: () => { - this.popupVisible = false; - console.log("simpan"); - }, + text: 'Simpan', + onClick: function(e) { + console.log(e); + } }, - closeButtonOptions: { - text: "Batal", + cancelButtonOptions: { + text: 'Batalkan', onClick: () => { - this.popupVisible = false; - }, + this.isPopupUploadDokumenPendukung = false; + } }, }; }, diff --git a/src/views/drp/drp-upload-dokumen-pendukung.vue b/src/views/drp/drp-upload-dokumen-pendukung.vue new file mode 100644 index 0000000..6ebe27d --- /dev/null +++ b/src/views/drp/drp-upload-dokumen-pendukung.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/drp/drp-upload-dokumen-popup/list-dokumen-pendukung.vue b/src/views/drp/drp-upload-dokumen-popup/list-dokumen-pendukung.vue new file mode 100644 index 0000000..f1e71a5 --- /dev/null +++ b/src/views/drp/drp-upload-dokumen-popup/list-dokumen-pendukung.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/drp/drp-upload-dokumen-popup/list-dokumen-rkap.vue b/src/views/drp/drp-upload-dokumen-popup/list-dokumen-rkap.vue new file mode 100644 index 0000000..31436d0 --- /dev/null +++ b/src/views/drp/drp-upload-dokumen-popup/list-dokumen-rkap.vue @@ -0,0 +1,194 @@ + + + + + diff --git a/src/views/drp/drp-upload-dokumen-popup/upload-dokumen-pendukung.vue b/src/views/drp/drp-upload-dokumen-popup/upload-dokumen-pendukung.vue new file mode 100644 index 0000000..4e6cb90 --- /dev/null +++ b/src/views/drp/drp-upload-dokumen-popup/upload-dokumen-pendukung.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/views/drp/drp-upload-dokumen-popup/upload-dokumen-rkap.vue b/src/views/drp/drp-upload-dokumen-popup/upload-dokumen-rkap.vue new file mode 100644 index 0000000..bfe358f --- /dev/null +++ b/src/views/drp/drp-upload-dokumen-popup/upload-dokumen-rkap.vue @@ -0,0 +1,126 @@ + + +