{"version":3,"sources":["webpack:///./src/components/Cartable/SearchResultList/SearchResultList.vue?e7f7","webpack:///./src/util/csv-exporter.ts","webpack:///./src/components/Cartable/SearchResultList/SearchResultList.vue","webpack:///./src/components/Cartable/SearchResultList/SearchResultList.vue?a5bc","webpack:///./src/components/Cartable/SearchResultList/SearchResultList.vue?a4b3"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","ref","attrs","letters","searchResults","loading","defaultDate","on","$event","onSelectedLetterChanged","onDateFilterChanged","exportToExcel","_v","staticRenderFns","filename","rows","length","separator","keys","Object","BOM","csvData","join","map","row","k","cell","undefined","Date","toLocaleString","toString","replace","search","blob","Blob","type","navigator","msSaveBlob","link","document","createElement","download","url","URL","createObjectURL","setAttribute","style","visibility","body","appendChild","click","removeChild","years","refresh","searchDto","store","state","advancedSearchSettings","serverResult","letter","$emit","nVal","oVal","possessionId","$refs","letterList","closeLetter","rejectCloseLetter","forwardLetter","exportingData","x","i","letterNo","sendTime","currentOwner","enterpriseFormName","exportToCsv","components","LetterList","component"],"mappings":"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","file":"js/chunk-2d2107de.041e241a.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\"}},[_c('LetterList',{ref:\"letterList\",attrs:{\"lettersProp\":_vm.letters,\"searchResultsProp\":_vm.searchResults,\"loading\":_vm.loading,\"defaultDate\":_vm.defaultDate},on:{\"selected-letter-changed\":function($event){return _vm.onSelectedLetterChanged($event)},\"date-filter-changed\":function($event){return _vm.onDateFilterChanged($event)}}}),_c('div',{staticStyle:{\"background\":\"red\"},on:{\"click\":_vm.exportToExcel}},[_vm._v(\"excel\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class CsvExporter {\r\n static exportToCsv(filename: string, rows: object[]) {\r\n if (!rows || !rows.length) {\r\n return;\r\n }\r\n const separator = ',';\r\n const keys = Object.keys(rows[0]);\r\n const BOM = \"\\uFEFF\"; \r\n const csvData =BOM + \r\n keys.join(separator) +\r\n '\\n' +\r\n rows.map((row: any) => {\r\n return keys.map(k => {\r\n let cell = row[k] === null || row[k] === undefined ? '' : row[k];\r\n cell = cell instanceof Date\r\n ? cell.toLocaleString()\r\n : cell.toString().replace(/\"/g, '\"\"');\r\n if (cell.search(/(\"|,|\\n)/g) >= 0) {\r\n cell = `\"${cell}\"`;\r\n }\r\n return cell;\r\n }).join(separator);\r\n }).join('\\n');\r\n \r\n const blob = new Blob([csvData], { type: 'text/csv;charset=utf-8;' });\r\n if (navigator.msSaveBlob) { // IE 10+\r\n navigator.msSaveBlob(blob, filename);\r\n } else {\r\n const link = document.createElement('a');\r\n if (link.download !== undefined) {\r\n // Browsers that support HTML5 download attribute\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', filename);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n }\r\n }\r\n ","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Vue, Component, Prop, Watch} from 'vue-property-decorator'\r\nimport LetterList from '@/components/Cartable/LetterList/LetterList.vue';\r\nimport * as persianDate from 'persian-date';\r\nimport { LetterSearchResult } from '../../../store/models/Letter/LetterSearchResult';\r\nimport { Letter } from '@/store/models/Letter/Letter';\r\nimport * as letterService from '@/store/Services/letterServices';\r\nimport store from '@/store';\r\nimport {CsvExporter} from '@/util/csv-exporter';\r\nimport letterSearch from '../../../store/models/Letter/letterSearch';\r\n@Component({\r\n components:{LetterList}\r\n})\r\nexport default class SearchResultList extends Vue {\r\n searchResults?: LetterSearchResult[] = [];\r\n letters?: Letter[] = [];\r\n years?: number[] = [];\r\n defaultDate: any = {};\r\n loading = false;\r\n async created(){\r\n await this.refresh();\r\n }\r\n async refresh(){\r\n this.loading = true;\r\n const searchDto = store.state.advancedSearchSettings;\r\n const serverResult = await letterService.SearchAll(searchDto);\r\n this.loading = false;\r\n if(!serverResult) return;\r\n this.searchResults = serverResult;\r\n }\r\n onSelectedLetterChanged(letter: any){\r\n this.$emit('selected-searchresult-changed',letter);\r\n }\r\n\r\n get advancedSearchSettings(): letterSearch{\r\n return store.state.advancedSearchSettings;\r\n }\r\n @Watch('advancedSearchSettings')\r\n async onSearchSettingsChanged(nVal: letterSearch, oVal: letterSearch){\r\n await this.refresh();\r\n }\r\n closeLetter(possessionId: string)\r\n {\r\n (this.$refs.letterList as any).closeLetter(possessionId);\r\n }\r\n rejectCloseLetter(possessionId: string)\r\n {\r\n (this.$refs.letterList as any).rejectCloseLetter(possessionId);\r\n }\r\n\r\n forwardLetter(possessionId: string){\r\n (this.$refs.letterList as any).forwardLetter(possessionId);\r\n }\r\n\r\n exportToExcel() {\r\n if(this.searchResults==undefined)return;\r\n const exportingData = this.searchResults.map((x,i)=>{\r\n i=0;\r\n return {\r\n 'ردیف':i+1,\r\n 'شماره نامه':x.letterNo,\r\n 'تاریخ ارسال نامه':x.sendTime,\r\n 'کد پرسنلی':x.currentOwner,\r\n 'نام درخواست کننده':x.currentOwner,\r\n 'مبلغ':x.enterpriseFormName,\r\n 'علی الحساب برای ماه':x.currentOwner,\r\n 'تاتاریخ':x.currentOwner,\r\n 'توضیحات':x.currentOwner,\r\n }\r\n });\r\n CsvExporter.exportToCsv('test.csv', exportingData);\r\n }\r\n // async onDateFilterChanged(date: any){\r\n // const startDate = new persianDate([date.year,date.month,1]);\r\n // const endDate = startDate.add('month',1);\r\n // this.loading = true\r\n // const serverResult = await api.getReceivedLetters(startDate.toDate(),endDate.toDate());\r\n // if(!serverResult.letterList) return;\r\n // // this.letters = serverResult.letterList;\r\n // // this.loading = false;\r\n // }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchResultList.vue?vue&type=template&id=1d98d6cc&scoped=true&\"\nimport script from \"./SearchResultList.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchResultList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d98d6cc\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}