(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[14],{ /***/ "./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?!./node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?!./node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js?!./src/views/financial/components/StatisticsTable.vue?vue&type=script&lang=js": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!./node_modules/_babel-loader@8.4.1@babel-loader/lib!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./src/views/financial/components/StatisticsTable.vue?vue&type=script&lang=js ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'StatisticsTable',\n props: {\n type: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n loading: false,\n query: {\n group_by: 'day',\n date_range: [],\n page: 1,\n limit: 20\n },\n tableData: [],\n total: 0\n };\n },\n mounted() {\n // 默认查询最近30天\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);\n this.query.date_range = [this.formatDate(start), this.formatDate(end)];\n this.loadData();\n },\n methods: {\n loadData() {\n this.loading = true;\n const params = {\n type: this.type,\n group_by: this.query.group_by,\n page: this.query.page,\n limit: this.query.limit\n };\n if (this.query.date_range && this.query.date_range.length === 2) {\n params.start_date = this.query.date_range[0];\n params.end_date = this.query.date_range[1];\n }\n this.$http.get('/financial/list', {\n params\n }).then(res => {\n this.loading = false;\n if (res.data.code === 0) {\n this.tableData = res.data.data || [];\n this.total = res.data.count || 0;\n } else {\n this.$message.error(res.data.msg || '数据加载失败');\n }\n }).catch(() => {\n this.loading = false;\n this.$message.error('数据加载失败');\n });\n },\n handleReset() {\n const end = new Date();\n const start = new Date();\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);\n this.query = {\n group_by: 'day',\n date_range: [this.formatDate(start), this.formatDate(end)],\n page: 1,\n limit: 20\n };\n this.loadData();\n },\n handleSizeChange(val) {\n this.query.limit = val;\n this.loadData();\n },\n handleCurrentChange(val) {\n this.query.page = val;\n this.loadData();\n },\n formatDate(date) {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n return `${year}-${month}-${day}`;\n }\n }\n});\n\n//# sourceURL=webpack:///./src/views/financial/components/StatisticsTable.vue?./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!./node_modules/_babel-loader@8.4.1@babel-loader/lib!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"a00eae3e-vue-loader-template\"}!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?!./node_modules/_babel-loader@8.4.1@babel-loader/lib/index.js!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/templateLoader.js?!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?!./node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js?!./src/views/financial/components/StatisticsTable.vue?vue&type=template&id=2639709c&scoped=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"a00eae3e-vue-loader-template"}!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!./node_modules/_babel-loader@8.4.1@babel-loader/lib!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./src/views/financial/components/StatisticsTable.vue?vue&type=template&id=2639709c&scoped=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"div\", {\n staticStyle: {\n \"margin-top\": \"20px\"\n }\n }, [_c(\"el-form\", {\n staticClass: \"filter-form\",\n attrs: {\n model: _vm.query,\n inline: \"\"\n }\n }, [_c(\"el-form-item\", {\n attrs: {\n label: \"分组方式\"\n }\n }, [_c(\"el-select\", {\n staticStyle: {\n width: \"120px\"\n },\n on: {\n change: _vm.loadData\n },\n model: {\n value: _vm.query.group_by,\n callback: function ($$v) {\n _vm.$set(_vm.query, \"group_by\", $$v);\n },\n expression: \"query.group_by\"\n }\n }, [_c(\"el-option\", {\n attrs: {\n label: \"按年\",\n value: \"year\"\n }\n }), _c(\"el-option\", {\n attrs: {\n label: \"按月\",\n value: \"month\"\n }\n }), _c(\"el-option\", {\n attrs: {\n label: \"按日\",\n value: \"day\"\n }\n })], 1)], 1), _c(\"el-form-item\", {\n attrs: {\n label: \"时间范围\"\n }\n }, [_c(\"el-date-picker\", {\n attrs: {\n type: \"daterange\",\n \"range-separator\": \"至\",\n \"start-placeholder\": \"开始日期\",\n \"end-placeholder\": \"结束日期\",\n \"value-format\": \"yyyy-MM-dd\"\n },\n on: {\n change: _vm.loadData\n },\n model: {\n value: _vm.query.date_range,\n callback: function ($$v) {\n _vm.$set(_vm.query, \"date_range\", $$v);\n },\n expression: \"query.date_range\"\n }\n })], 1), _c(\"el-form-item\", [_c(\"el-button\", {\n attrs: {\n type: \"primary\",\n icon: \"el-icon-search\"\n },\n on: {\n click: _vm.loadData\n }\n }, [_vm._v(\"查询\")]), _c(\"el-button\", {\n attrs: {\n icon: \"el-icon-refresh\"\n },\n on: {\n click: _vm.handleReset\n }\n }, [_vm._v(\"重置\")])], 1)], 1), _c(\"el-table\", {\n directives: [{\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\"\n }],\n attrs: {\n data: _vm.tableData,\n border: \"\",\n stripe: \"\"\n }\n }, [_c(\"el-table-column\", {\n attrs: {\n prop: \"date\",\n label: \"时间\",\n \"min-width\": \"150\",\n align: \"center\"\n }\n }), _vm.type === \"order\" ? [_c(\"el-table-column\", {\n attrs: {\n prop: \"count\",\n label: \"订单数\",\n \"min-width\": \"120\",\n align: \"center\"\n }\n })] : _vm.type === \"revenue\" ? [_c(\"el-table-column\", {\n attrs: {\n prop: \"amount\",\n label: \"营业额\",\n \"min-width\": \"150\",\n align: \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function ({\n row\n }) {\n return [_c(\"span\", {\n staticStyle: {\n color: \"#67C23A\",\n \"font-weight\": \"bold\"\n }\n }, [_vm._v(\"¥\" + _vm._s(row.amount))])];\n }\n }])\n })] : _vm.type === \"refund\" ? [_c(\"el-table-column\", {\n attrs: {\n prop: \"count\",\n label: \"退款订单数\",\n \"min-width\": \"120\",\n align: \"center\"\n }\n }), _c(\"el-table-column\", {\n attrs: {\n prop: \"amount\",\n label: \"退款金额\",\n \"min-width\": \"150\",\n align: \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function ({\n row\n }) {\n return [_c(\"span\", {\n staticStyle: {\n color: \"#F56C6C\",\n \"font-weight\": \"bold\"\n }\n }, [_vm._v(\"¥\" + _vm._s(row.amount))])];\n }\n }])\n })] : _vm.type === \"settlement\" ? [_c(\"el-table-column\", {\n attrs: {\n prop: \"amount\",\n label: \"结算金额\",\n \"min-width\": \"150\",\n align: \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function ({\n row\n }) {\n return [_c(\"span\", {\n staticStyle: {\n color: \"#409EFF\",\n \"font-weight\": \"bold\"\n }\n }, [_vm._v(\"¥\" + _vm._s(row.amount))])];\n }\n }])\n })] : _vm.type === \"member\" ? [_c(\"el-table-column\", {\n attrs: {\n prop: \"count\",\n label: \"新增会员数\",\n \"min-width\": \"120\",\n align: \"center\"\n }\n })] : _vm._e()], 2), _vm.total > 0 ? _c(\"el-pagination\", {\n staticStyle: {\n \"margin-top\": \"20px\",\n \"text-align\": \"right\"\n },\n attrs: {\n \"current-page\": _vm.query.page,\n \"page-sizes\": [10, 20, 50, 100],\n \"page-size\": _vm.query.limit,\n total: _vm.total,\n layout: \"total, sizes, prev, pager, next, jumper\"\n },\n on: {\n \"size-change\": _vm.handleSizeChange,\n \"current-change\": _vm.handleCurrentChange\n }\n }) : _vm._e()], 1);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\n\n\n//# sourceURL=webpack:///./src/views/financial/components/StatisticsTable.vue?./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%22a00eae3e-vue-loader-template%22%7D!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--12-0!./node_modules/_babel-loader@8.4.1@babel-loader/lib!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js?!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js?!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?!./node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js?!./src/views/financial/components/StatisticsTable.vue?vue&type=style&index=0&id=2639709c&scoped=true&lang=css": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@3.0.0@postcss-loader/src??ref--6-oneOf-1-2!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./src/views/financial/components/StatisticsTable.vue?vue&type=style&index=0&id=2639709c&scoped=true&lang=css ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js */ \"./node_modules/_css-loader@3.6.0@css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.filter-form[data-v-2639709c] {\\n\\tmargin-bottom: 20px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/views/financial/components/StatisticsTable.vue?./node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@3.0.0@postcss-loader/src??ref--6-oneOf-1-2!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/_vue-style-loader@4.1.3@vue-style-loader/index.js?!./node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js?!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js?!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js?!./node_modules/_vue-loader@15.11.1@vue-loader/lib/index.js?!./src/views/financial/components/StatisticsTable.vue?vue&type=style&index=0&id=2639709c&scoped=true&lang=css": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/_vue-style-loader@4.1.3@vue-style-loader??ref--6-oneOf-1-0!./node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/_vue-loader@15.11.1@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_postcss-loader@3.0.0@postcss-loader/src??ref--6-oneOf-1-2!./node_modules/_cache-loader@4.1.0@cache-loader/dist/cjs.js??ref--0-0!./node_modules/_vue-loader@15.11.1@vue-loader/lib??vue-loader-options!./src/views/financial/components/StatisticsTable.vue?vue&type=style&index=0&id=2639709c&scoped=true&lang=css ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("// style-loader: Adds some css to the DOM by adding a