Compare commits

..

15 Commits
gyq ... master

Author SHA1 Message Date
gyq 1cfad99f47 优化用户状态编辑 2025-05-26 14:16:02 +08:00
gyq de16122ec1 新增用户状态修改 2025-05-24 18:16:33 +08:00
duan 2073deec7b 修改文案长度问题 2025-04-21 15:14:11 +08:00
duan 3a211fc862 添加订单统计,达标情况 2025-04-21 14:35:02 +08:00
duan 9ee23afc38 抽奖次数、邀请好友优化 2025-04-02 09:51:53 +08:00
duan 6cccadbbce 抽奖次数、邀请好友 2025-04-01 10:00:31 +08:00
duan 1d2862765b Merge branch 'master' of https://e.coding.net/g-cphe0354/duanju/video_admin 2025-03-06 18:29:00 +08:00
duan bf93fea486 修改拉黑原因 2025-03-06 18:28:58 +08:00
YeMingfei666 d1c676336e 更新readme.md 2025-02-26 09:40:25 +08:00
YeMingfei666 25dcbea759 修改用户信息的问题 2025-02-26 08:52:52 +08:00
duan 55af5fd698 提交代码 2025-02-25 19:37:37 +08:00
gyq d5d19e2696 去除抽奖转盘接口app/ 2025-02-05 09:34:17 +08:00
gyq 5c5516834e 优化时间选择 2025-01-24 17:43:46 +08:00
gyq 97e8be58c5 优化 2025-01-18 16:45:08 +08:00
gyq 99ef49ffc6 版本更新显示ios 2025-01-17 17:12:16 +08:00
17 changed files with 4269 additions and 4093 deletions

View File

@ -7,3 +7,9 @@
- 发布时可动态配置CDN静态资源切换新旧版本 - 发布时可动态配置CDN静态资源切换新旧版本
雷池测试
https://47.122.26.160:9443
admin kwxpryrq
雷池正式
https://47.122.73.144:9443/
admin Qhs6AogY

View File

@ -1,102 +1,105 @@
'use strict' "use strict";
// Template version: 1.2.5 // Template version: 1.2.5
// see http://vuejs-templates.github.io/webpack for documentation. // see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path') const path = require("path");
const devEnv = require('./dev.env') const devEnv = require("./dev.env");
module.exports = { module.exports = {
dev: { dev: {
// Paths // Paths
assetsSubDirectory: 'static', assetsSubDirectory: "static",
assetsPublicPath: '/', assetsPublicPath: "/",
// 代理列表, 是否开启代理通过[./dev.env.js]配置 // 代理列表, 是否开启代理通过[./dev.env.js]配置
proxyTable: devEnv.OPEN_PROXY === false ? {} : { proxyTable:
'/czg': { devEnv.OPEN_PROXY === false
// target: 'http://192.168.0.132:8100/czg/', ? {}
// target: 'https://duanjuadmin.xianmxkj.com/czg/', : {
target: 'http://127.0.0.1/czg/', "/czg": {
changeOrigin: true, // target: 'http://192.168.0.132:8100/czg/',
pathRewrite: { // target: 'https://duanjuadmin.xianmxkj.com/czg/',
'^/czg': '' target: "http://127.0.0.1/czg/",
} changeOrigin: true,
}, pathRewrite: {
'/weixin': { "^/czg": ""
target: 'https://api.weixin.qq.com/', }
// target: 'https://duanjuadmin.xianmxkj.com/czg/', },
// target: 'http://127.0.0.1/czg/', "/weixin": {
changeOrigin: true, target: "https://api.weixin.qq.com/",
pathRewrite: { // target: 'https://duanjuadmin.xianmxkj.com/czg/',
'^/weixin': '' // target: 'http://127.0.0.1/czg/',
} changeOrigin: true,
}, pathRewrite: {
}, "^/weixin": ""
}
}
},
// Various Dev Server settings // Various Dev Server settings
host: 'localhost', // can be overwritten by process.env.HOST host: "localhost", // can be overwritten by process.env.HOST
port: 8001, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined port: 8001, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: true, autoOpenBrowser: true,
errorOverlay: true, errorOverlay: true,
notifyOnErrors: true, notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
// Use Eslint Loader? // Use Eslint Loader?
// If true, your code will be linted during bundling and // If true, your code will be linted during bundling and
// linting errors and warnings will be shown in the console. // linting errors and warnings will be shown in the console.
useEslint: true, useEslint: true,
// If true, eslint errors and warnings will also be shown in the error overlay // If true, eslint errors and warnings will also be shown in the error overlay
// in the browser. // in the browser.
showEslintErrorsInOverlay: false, showEslintErrorsInOverlay: false,
/** /**
* Source Maps * Source Maps
*/ */
// https://webpack.js.org/configuration/devtool/#development // https://webpack.js.org/configuration/devtool/#development
devtool: 'eval-source-map', devtool: "eval-source-map",
// If you have problems debugging vue-files in devtools, // If you have problems debugging vue-files in devtools,
// set this to false - it *may* help // set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting // https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true, cacheBusting: true,
// CSS Sourcemaps off by default because relative paths are "buggy" // CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README // with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps) // (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected, // In our experience, they generally work as expected,
// just be aware of this issue when enabling this option. // just be aware of this issue when enabling this option.
cssSourceMap: false, cssSourceMap: false
}, },
build: { build: {
// publicPath: '/admin/', // publicPath: '/admin/',
// Template for index.html // Template for index.html
index: path.resolve(__dirname, '../dist/index.html'), index: path.resolve(__dirname, "../dist/index.html"),
// Paths // Paths
assetsRoot: path.resolve(__dirname, '../dist'), assetsRoot: path.resolve(__dirname, "../dist"),
assetsSubDirectory: 'static', assetsSubDirectory: "static",
assetsPublicPath: './', assetsPublicPath: "./",
/** /**
* Source Maps * Source Maps
*/ */
productionSourceMap: false, productionSourceMap: false,
// https://webpack.js.org/configuration/devtool/#production // https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map', devtool: "#source-map",
// Gzip off by default as many popular static hosts such as // Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you. // Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to: // Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin // npm install --save-dev compression-webpack-plugin
productionGzip: false, productionGzip: false,
productionGzipExtensions: ['js', 'css'], productionGzipExtensions: ["js", "css"],
// Run the build command with an extra argument to // Run the build command with an extra argument to
// View the bundle analyzer report after build finishes: // View the bundle analyzer report after build finishes:
// `npm run build --report` // `npm run build --report`
// Set to `true` or `false` to always turn it on or off // Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report bundleAnalyzerReport: process.env.npm_config_report
} }
} };

199
package-lock.json generated
View File

@ -47,7 +47,7 @@
}, },
"color-convert": { "color-convert": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -56,13 +56,13 @@
}, },
"color-name": { "color-name": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true "dev": true
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true "dev": true
}, },
@ -79,7 +79,7 @@
}, },
"string-width-cjs": { "string-width-cjs": {
"version": "npm:string-width@4.2.3", "version": "npm:string-width@4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -90,19 +90,19 @@
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true "dev": true
}, },
"strip-ansi": { "strip-ansi": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -122,7 +122,7 @@
}, },
"strip-ansi-cjs": { "strip-ansi-cjs": {
"version": "npm:strip-ansi@6.0.1", "version": "npm:strip-ansi@6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -131,7 +131,7 @@
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true "dev": true
} }
@ -150,7 +150,7 @@
}, },
"wrap-ansi-cjs": { "wrap-ansi-cjs": {
"version": "npm:wrap-ansi@7.0.0", "version": "npm:wrap-ansi@7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -161,13 +161,13 @@
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true "dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "4.3.0", "version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -176,13 +176,13 @@
}, },
"emoji-regex": { "emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true "dev": true
}, },
"string-width": { "string-width": {
"version": "4.2.3", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -193,7 +193,7 @@
}, },
"strip-ansi": { "strip-ansi": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -212,7 +212,7 @@
}, },
"@parcel/watcher": { "@parcel/watcher": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.0.tgz",
"integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -238,7 +238,7 @@
"dependencies": { "dependencies": {
"braces": { "braces": {
"version": "3.0.3", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -248,7 +248,7 @@
}, },
"fill-range": { "fill-range": {
"version": "7.1.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -258,14 +258,14 @@
}, },
"is-extglob": { "is-extglob": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"is-glob": { "is-glob": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -275,14 +275,14 @@
}, },
"is-number": { "is-number": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"micromatch": { "micromatch": {
"version": "4.0.8", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -293,7 +293,7 @@
}, },
"to-regex-range": { "to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true, "dev": true,
"optional": true, "optional": true,
@ -305,84 +305,84 @@
}, },
"@parcel/watcher-android-arm64": { "@parcel/watcher-android-arm64": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
"integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==", "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-darwin-arm64": { "@parcel/watcher-darwin-arm64": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
"integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==", "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-darwin-x64": { "@parcel/watcher-darwin-x64": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
"integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==", "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-freebsd-x64": { "@parcel/watcher-freebsd-x64": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
"integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==", "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-linux-arm-glibc": { "@parcel/watcher-linux-arm-glibc": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
"integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==", "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-linux-arm-musl": { "@parcel/watcher-linux-arm-musl": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
"integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==", "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-linux-arm64-glibc": { "@parcel/watcher-linux-arm64-glibc": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
"integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==", "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-linux-arm64-musl": { "@parcel/watcher-linux-arm64-musl": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
"integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==", "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-linux-x64-glibc": { "@parcel/watcher-linux-x64-glibc": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
"integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-linux-x64-musl": { "@parcel/watcher-linux-x64-musl": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
"integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-win32-arm64": { "@parcel/watcher-win32-arm64": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
"integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==", "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@parcel/watcher-win32-ia32": { "@parcel/watcher-win32-ia32": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
"integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==", "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
"dev": true, "dev": true,
"optional": true "optional": true
@ -1391,7 +1391,7 @@
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -1400,7 +1400,7 @@
}, },
"chalk": { "chalk": {
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -1417,7 +1417,7 @@
}, },
"postcss": { "postcss": {
"version": "6.0.23", "version": "6.0.23",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-6.0.23.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -1428,7 +1428,7 @@
}, },
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -2426,7 +2426,7 @@
"dependencies": { "dependencies": {
"regenerator-runtime": { "regenerator-runtime": {
"version": "0.11.1", "version": "0.11.1",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
} }
} }
@ -3250,7 +3250,7 @@
}, },
"normalize-path": { "normalize-path": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true "dev": true
} }
@ -3401,7 +3401,7 @@
}, },
"clone-deep": { "clone-deep": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "resolved": "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz",
"integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -3412,7 +3412,7 @@
"dependencies": { "dependencies": {
"kind-of": { "kind-of": {
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true "dev": true
} }
@ -3805,7 +3805,7 @@
"dependencies": { "dependencies": {
"big.js": { "big.js": {
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmmirror.com/big.js/-/big.js-3.2.0.tgz", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
"dev": true "dev": true
}, },
@ -4237,6 +4237,11 @@
"resolved": "https://registry.npmmirror.com/dateformat/-/dateformat-2.2.0.tgz", "resolved": "https://registry.npmmirror.com/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==" "integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw=="
}, },
"dayjs": {
"version": "1.11.13",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
},
"de-indent": { "de-indent": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
@ -4477,7 +4482,7 @@
}, },
"detect-libc": { "detect-libc": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
"dev": true, "dev": true,
"optional": true "optional": true
@ -5544,7 +5549,7 @@
}, },
"eventemitter3": { "eventemitter3": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz",
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
}, },
"events": { "events": {
@ -5659,7 +5664,7 @@
}, },
"express": { "express": {
"version": "4.21.1", "version": "4.21.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", "resolved": "https://registry.npmmirror.com/express/-/express-4.21.1.tgz",
"integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -5780,7 +5785,7 @@
}, },
"fast-diff": { "fast-diff": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz",
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="
}, },
"fast-json-stable-stringify": { "fast-json-stable-stringify": {
@ -7114,7 +7119,7 @@
"dependencies": { "dependencies": {
"big.js": { "big.js": {
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmmirror.com/big.js/-/big.js-3.2.0.tgz", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
"dev": true "dev": true
}, },
@ -7600,7 +7605,7 @@
}, },
"immutable": { "immutable": {
"version": "5.0.3", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.0.3.tgz",
"integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==",
"dev": true "dev": true
}, },
@ -9187,8 +9192,7 @@
}, },
"js-md5": { "js-md5": {
"version": "0.8.3", "version": "0.8.3",
"resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.8.3.tgz", "resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.8.3.tgz"
"integrity": "sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ=="
}, },
"js-tokens": { "js-tokens": {
"version": "3.0.2", "version": "3.0.2",
@ -9198,7 +9202,7 @@
}, },
"js-yaml": { "js-yaml": {
"version": "3.7.0", "version": "3.7.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.7.0.tgz",
"integrity": "sha512-eIlkGty7HGmntbV6P/ZlAsoncFLGsNoM27lkTzS+oneY/EiNhj+geqD9ezg/ip+SW6Var0BJU2JtV0vEUZpWVQ==", "integrity": "sha512-eIlkGty7HGmntbV6P/ZlAsoncFLGsNoM27lkTzS+oneY/EiNhj+geqD9ezg/ip+SW6Var0BJU2JtV0vEUZpWVQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -9999,7 +10003,7 @@
}, },
"lodash.clonedeep": { "lodash.clonedeep": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
}, },
"lodash.cond": { "lodash.cond": {
@ -10039,7 +10043,7 @@
}, },
"lodash.isequal": { "lodash.isequal": {
"version": "4.5.0", "version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
}, },
"lodash.keys": { "lodash.keys": {
@ -10812,7 +10816,7 @@
"dependencies": { "dependencies": {
"is-extendable": { "is-extendable": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"requires": { "requires": {
"is-plain-object": "^2.0.4" "is-plain-object": "^2.0.4"
@ -11190,7 +11194,7 @@
}, },
"node-addon-api": { "node-addon-api": {
"version": "7.1.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz",
"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
"dev": true, "dev": true,
"optional": true "optional": true
@ -15580,7 +15584,7 @@
}, },
"parchment": { "parchment": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/parchment/-/parchment-3.0.0.tgz",
"integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==" "integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A=="
}, },
"parse-asn1": { "parse-asn1": {
@ -15744,7 +15748,7 @@
}, },
"path-to-regexp": { "path-to-regexp": {
"version": "0.1.10", "version": "0.1.10",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
"dev": true "dev": true
}, },
@ -16069,7 +16073,7 @@
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16078,7 +16082,7 @@
}, },
"chalk": { "chalk": {
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16095,7 +16099,7 @@
}, },
"postcss": { "postcss": {
"version": "6.0.23", "version": "6.0.23",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-6.0.23.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16106,7 +16110,7 @@
}, },
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16372,7 +16376,7 @@
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16381,7 +16385,7 @@
}, },
"chalk": { "chalk": {
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16398,7 +16402,7 @@
}, },
"postcss": { "postcss": {
"version": "6.0.23", "version": "6.0.23",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-6.0.23.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16409,7 +16413,7 @@
}, },
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16430,7 +16434,7 @@
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16439,7 +16443,7 @@
}, },
"chalk": { "chalk": {
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16456,7 +16460,7 @@
}, },
"postcss": { "postcss": {
"version": "6.0.23", "version": "6.0.23",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-6.0.23.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16467,7 +16471,7 @@
}, },
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16488,7 +16492,7 @@
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16497,7 +16501,7 @@
}, },
"chalk": { "chalk": {
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16514,7 +16518,7 @@
}, },
"postcss": { "postcss": {
"version": "6.0.23", "version": "6.0.23",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-6.0.23.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16525,7 +16529,7 @@
}, },
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -16937,8 +16941,7 @@
}, },
"qs": { "qs": {
"version": "6.13.1", "version": "6.13.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz", "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.1.tgz",
"integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==",
"requires": { "requires": {
"side-channel": "^1.0.6" "side-channel": "^1.0.6"
} }
@ -16966,7 +16969,7 @@
}, },
"quill": { "quill": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/quill/-/quill-2.0.3.tgz", "resolved": "https://registry.npmmirror.com/quill/-/quill-2.0.3.tgz",
"integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==", "integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==",
"requires": { "requires": {
"eventemitter3": "^5.0.1", "eventemitter3": "^5.0.1",
@ -16977,7 +16980,7 @@
}, },
"quill-delta": { "quill-delta": {
"version": "5.1.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz", "resolved": "https://registry.npmmirror.com/quill-delta/-/quill-delta-5.1.0.tgz",
"integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==", "integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==",
"requires": { "requires": {
"fast-diff": "^1.3.0", "fast-diff": "^1.3.0",
@ -17721,7 +17724,7 @@
"dependencies": { "dependencies": {
"qs": { "qs": {
"version": "6.5.3", "version": "6.5.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
"dev": true "dev": true
} }
@ -18233,7 +18236,7 @@
}, },
"sass": { "sass": {
"version": "1.83.0", "version": "1.83.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.0.tgz", "resolved": "https://registry.npmmirror.com/sass/-/sass-1.83.0.tgz",
"integrity": "sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==", "integrity": "sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -18245,7 +18248,7 @@
"dependencies": { "dependencies": {
"chokidar": { "chokidar": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.2.tgz", "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.2.tgz",
"integrity": "sha512-/b57FK+bblSU+dfewfFe0rT1YjVDfOmeLQwCAuC+vwvgLkXboATqqmy+Ipux6JrF6L5joe5CBnFOw+gLWH6yKg==", "integrity": "sha512-/b57FK+bblSU+dfewfFe0rT1YjVDfOmeLQwCAuC+vwvgLkXboATqqmy+Ipux6JrF6L5joe5CBnFOw+gLWH6yKg==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -18254,7 +18257,7 @@
}, },
"readdirp": { "readdirp": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.0.2.tgz",
"integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
"dev": true "dev": true
} }
@ -18262,7 +18265,7 @@
}, },
"sass-loader": { "sass-loader": {
"version": "7.3.1", "version": "7.3.1",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-7.3.1.tgz",
"integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -18275,13 +18278,13 @@
"dependencies": { "dependencies": {
"pify": { "pify": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true "dev": true
}, },
"semver": { "semver": {
"version": "6.3.1", "version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true "dev": true
} }
@ -18529,7 +18532,7 @@
}, },
"shallow-clone": { "shallow-clone": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "resolved": "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz",
"integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -18538,7 +18541,7 @@
"dependencies": { "dependencies": {
"kind-of": { "kind-of": {
"version": "6.0.3", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true "dev": true
} }
@ -18783,7 +18786,7 @@
}, },
"source-map-js": { "source-map-js": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"dev": true "dev": true
}, },
@ -19322,12 +19325,12 @@
}, },
"kind-of": { "kind-of": {
"version": "5.1.0", "version": "5.1.0",
"resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
}, },
"micromatch": { "micromatch": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.0.tgz", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz",
"integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==",
"requires": { "requires": {
"arr-diff": "^4.0.0", "arr-diff": "^4.0.0",
@ -19454,7 +19457,7 @@
}, },
"string-width": { "string-width": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -20832,22 +20835,22 @@
"dependencies": { "dependencies": {
"eventemitter3": { "eventemitter3": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-2.0.3.tgz",
"integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg=="
}, },
"fast-diff": { "fast-diff": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.1.2.tgz",
"integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
}, },
"parchment": { "parchment": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", "resolved": "https://registry.npmmirror.com/parchment/-/parchment-1.1.4.tgz",
"integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
}, },
"quill": { "quill": {
"version": "1.3.7", "version": "1.3.7",
"resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", "resolved": "https://registry.npmmirror.com/quill/-/quill-1.3.7.tgz",
"integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
"requires": { "requires": {
"clone": "^2.1.1", "clone": "^2.1.1",
@ -20860,7 +20863,7 @@
}, },
"quill-delta": { "quill-delta": {
"version": "3.6.3", "version": "3.6.3",
"resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", "resolved": "https://registry.npmmirror.com/quill-delta/-/quill-delta-3.6.3.tgz",
"integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
"requires": { "requires": {
"deep-equal": "^1.0.1", "deep-equal": "^1.0.1",
@ -21604,7 +21607,7 @@
"dependencies": { "dependencies": {
"source-list-map": { "source-list-map": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
"integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
"dev": true "dev": true
} }

View File

@ -17,6 +17,7 @@
"axios": "0.17.1", "axios": "0.17.1",
"babel-plugin-component": "0.10.1", "babel-plugin-component": "0.10.1",
"babel-polyfill": "6.26.0", "babel-polyfill": "6.26.0",
"dayjs": "^1.11.13",
"echarts": "^5.5.1", "echarts": "^5.5.1",
"element-china-area-data": "^5.0.2", "element-china-area-data": "^5.0.2",
"element-ui": "2.8.2", "element-ui": "2.8.2",

View File

@ -15,7 +15,7 @@ function del(data) {
} }
function getList(data) { function getList(data) {
return $http({ return $http({
url: 'app/discSpinning/selectDiscSpinning', url: 'discSpinning/selectDiscSpinning',
method: 'get', method: 'get',
params: data params: data
}) })

View File

@ -4,8 +4,8 @@ export const productUrl='dj-admin';
// const baseUrl = "http://192.168.1.7:8100/czg/" // const baseUrl = "http://192.168.1.7:8100/czg/"
// const baseUrl = "https://api.tianjinzhitongdaohe.com/czg/" // const baseUrl = "https://api.tianjinzhitongdaohe.com/czg/"
const baseUrl = "https://web-api.hnsiyao.cn/czg/" //测试 // const baseUrl = "https://web-api.hnsiyao.cn/czg/" //测试
// const baseUrl = "https://web.hnsiyao.cn/czg/" // 线上 const baseUrl = "https://web.hnsiyao.cn/czg/" // 线上
export default{ export default{
baseUrl baseUrl

View File

@ -37,6 +37,8 @@ const mainRoutes = {
{path: '/userList', component: _import('user/userList'), name: 'userList', meta: {title: '用户列表', isTab: true}}, {path: '/userList', component: _import('user/userList'), name: 'userList', meta: {title: '用户列表', isTab: true}},
{path: '/allocationList',component: _import('allocation/allocationList'),name: 'allocationList',meta: {title: '配置列表', isTab: true}}, {path: '/allocationList',component: _import('allocation/allocationList'),name: 'allocationList',meta: {title: '配置列表', isTab: true}},
{path: '/financeList', component: _import('finance/financeList'), name: 'financeList', meta: {title: '财务中心', isTab: true}}, {path: '/financeList', component: _import('finance/financeList'), name: 'financeList', meta: {title: '财务中心', isTab: true}},
{path: '/shareFriends', component: _import('finance/shareFriends'), name: 'shareFriends', meta: {title: '邀请好友奖励', isTab: true}},
{path: '/lotteryInquiry', component: _import('finance/lotteryInquiry'), name: 'lotteryInquiry', meta: {title: '抽奖查询', isTab: true}},
{path: '/message', component: _import('message/message'), name: 'message', meta: {title: '消息中心', isTab: true}}, {path: '/message', component: _import('message/message'), name: 'message', meta: {title: '消息中心', isTab: true}},
{path: '/renwu', component: _import('renwu/index'), name: 'renwu', meta: {title: '任务中心', isTab: false}}, {path: '/renwu', component: _import('renwu/index'), name: 'renwu', meta: {title: '任务中心', isTab: false}},
{path: '/taskConfig', component: _import('taskConfig/taskConfig'), name: 'taskConfig', meta: {title: '任务配置', isTab: true}}, {path: '/taskConfig', component: _import('taskConfig/taskConfig'), name: 'taskConfig', meta: {title: '任务配置', isTab: true}},

View File

@ -261,6 +261,32 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="分享好友页面配置" name="Share">
<el-form ref="ShareFriends" :model="ShareFriends" :rules="ShareFriendsrules" label-width="80px">
<el-form-item label="顶部图">
<div
style=" width: 148px; height: 148px; border: 1px dashed #c0ccda; border-radius: 6px;text-align: center;line-height: 148px; ">
<el-upload class="avatar-uploader" v-model="ShareFriends.imageUrl"
:action="$http.adornUrlUp('alioss/upload')" :show-file-list="false"
:on-success="handleAvatarSuccess">
<img v-if="imageUrl" :src="imageUrl" class="avatar"
style="border-radius: 6px; width: 148px; height: 148px" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
<div> *建议优先选择jpg格式并且最好控制在500kb内</div>
</el-form-item>
<el-form-item label="邀请文案" prop="tips">
<el-row>
<el-col :span="8"><el-input v-model="ShareFriends.tips"></el-input></el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-form>
</el-tab-pane>
</el-tabs> </el-tabs>
<!-- 修改弹框 --> <!-- 修改弹框 -->
<el-dialog title="修改" :visible.sync="dialogFormVisible" center> <el-dialog title="修改" :visible.sync="dialogFormVisible" center>
@ -340,6 +366,19 @@ export default {
dialogFormVisible1: false, dialogFormVisible1: false,
tableDataLoading: true, tableDataLoading: true,
formLabelWidth: '200px', formLabelWidth: '200px',
ShareFriends: {},
ShareFriendsrules: {
imageUrl: [{
required: true,
message: '请选择图片',
trigger: 'blur'
}],
tips: [{
required: true,
message: '请输入文案',
trigger: 'blur'
}],
},
form: { form: {
id: '', id: '',
min: '', min: '',
@ -362,6 +401,7 @@ export default {
label: '否' label: '否'
} }
], ],
imageUrl: '',
tableData: [], tableData: [],
checkBoxData: [] // checkBoxData: [] //
} }
@ -375,6 +415,47 @@ export default {
this.page = val - 1; this.page = val - 1;
this.dataSelect(); this.dataSelect();
}, },
onSubmit() {
console.log(this.ShareFriends,'111111111111')
if (!this.ShareFriends.imageUrl) {
this.$message({
message: '请选择图片',
type: 'warning',
duration: 1500
})
return false
}
this.$refs.ShareFriends.validate((valid) => {
if (valid) {
console.log(111)
this.$http({
url: this.$http.adornUrl('/ext/sys/invite/friend/config/save'),
method: 'post',
data: this.$http.adornData({
...this.ShareFriends,
})
}).then(({
data
}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getData()
}
})
} else {
this.$message.error(data.msg)
}
})
} else {
console.log('error submit!!');
return false;
}
});
},
handleClick(tab, event) { handleClick(tab, event) {
if (tab._props.label == '全局系统配置') { if (tab._props.label == '全局系统配置') {
this.condition = 'xitong' this.condition = 'xitong'
@ -424,8 +505,26 @@ export default {
this.condition = 'kefu' this.condition = 'kefu'
this.dataSelect() this.dataSelect()
} }
if (tab._props.label == '分享好友页面配置') {
this.condition = 'Share'
this.getData()
}
}, },
getData(){
this.$http({
url: this.$http.adornUrl(`ext/sys/invite/friend/config/get`),
method: 'get',
params: {}
}).then(({
data
}) => {
if (data && data.code === 0) {
this.ShareFriends = data.data
this.imageUrl = data.data.imageUrl
}
})
},
// //
amend(index, rows) { amend(index, rows) {
this.dialogFormVisible = true; this.dialogFormVisible = true;
@ -558,6 +657,10 @@ export default {
} }
}) })
}, },
handleAvatarSuccess(file, fileList) {
this.ShareFriends.imageUrl = file.data
this.imageUrl = file.data
},
handleAvatarSuccess1(file, fileList) { handleAvatarSuccess1(file, fileList) {
this.form.value = file.data this.form.value = file.data
console.log('file.data', file.data) console.log('file.data', file.data)

View File

@ -2,16 +2,8 @@
<div> <div>
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<div style="float: right; margin-right: 2%"> <div style="float: right; margin-right: 2%">
<el-button <el-button style="margin: 10px 0" :disabled="!isAuth('app:add')" size="mini" type="primary" icon="document"
style="margin: 10px 0" v-if="upgradeData1.records.length <= 0" @click="addUpgrade">添加升级</el-button>
:disabled="!isAuth('app:add')"
size="mini"
type="primary"
icon="document"
v-if="upgradeData1.records.length <= 0"
@click="addUpgrade"
>添加升级</el-button
>
</div> </div>
<el-table v-loading="tableDataLoading" :data="upgradeData1.records"> <el-table v-loading="tableDataLoading" :data="upgradeData1.records">
<el-table-column fixed prop="id" label="编号" width="80"> <el-table-column fixed prop="id" label="编号" width="80">
@ -20,7 +12,7 @@
<el-table-column prop="androidWgtUrl" label="安卓"> </el-table-column> <el-table-column prop="androidWgtUrl" label="安卓"> </el-table-column>
<!-- <el-table-column prop="iosWgtUrl" label="苹果"> </el-table-column> --> <!-- <el-table-column prop="iosWgtUrl" label="苹果"> </el-table-column> -->
<el-table-column prop="version" label="安卓版本"> </el-table-column> <el-table-column prop="version" label="安卓版本"> </el-table-column>
<!-- <el-table-column prop="iosVersion" label="ios版本"> </el-table-column> --> <el-table-column prop="iosVersion" label="ios版本"> </el-table-column>
<el-table-column prop="content" label="升级方式"> <el-table-column prop="content" label="升级方式">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>{{
@ -31,33 +23,18 @@
<el-table-column prop="createAt" label="创建时间"> </el-table-column> <el-table-column prop="createAt" label="创建时间"> </el-table-column>
<el-table-column label="操作" width="200"> <el-table-column label="操作" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="primary" :disabled="!isAuth('app:update')"
size="mini" @click="upgradebj(scope.$index, scope.row)">编辑
type="primary"
:disabled="!isAuth('app:update')"
@click="upgradebj(scope.$index, scope.row)"
>编辑
</el-button> </el-button>
<el-button <el-button size="mini" type="danger" :disabled="!isAuth('app:delete')" @click="upgradelete(scope.row)">删除
size="mini"
type="danger"
:disabled="!isAuth('app:delete')"
@click="upgradelete(scope.row)"
>删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div style="text-align: center; margin-top: 10px"> <div style="text-align: center; margin-top: 10px">
<el-pagination <el-pagination @size-change="handleSizeChange2" @current-change="handleCurrentChange2"
@size-change="handleSizeChange2" :page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
@current-change="handleCurrentChange2" layout="total,sizes, prev, pager, next,jumper" :total="upgradeData1.total">
:page-sizes="[10, 20, 30, 40]"
:page-size="limit"
:current-page="page"
layout="total,sizes, prev, pager, next,jumper"
:total="upgradeData1.total"
>
</el-pagination> </el-pagination>
</div> </div>
<!-- 添加修改升级弹框 --> <!-- 添加修改升级弹框 -->
@ -71,66 +48,36 @@
<el-input v-model="formupgrad.wgtUrl" style="width: 65%"></el-input> <el-input v-model="formupgrad.wgtUrl" style="width: 65%"></el-input>
</el-form-item> --> </el-form-item> -->
<div class="file-box" style="margin-bottom: 10px; display: flex"> <div class="file-box" style="margin-bottom: 10px; display: flex">
<span style="width: 200px; display: inline-block; text-align: right" <span style="width: 200px; display: inline-block; text-align: right"><i
><i style="color: #f56c6c; margin-right: 2px">*</i>安卓包</span style="color: #f56c6c; margin-right: 2px">*</i>安卓包</span>
> <div style="
<div
style="
width: 200px; width: 200px;
height: 148px; height: 148px;
border: 1px dashed #c0ccda; border: 1px dashed #c0ccda;
border-radius: 6px; border-radius: 6px;
text-align: center; text-align: center;
" ">
> <el-upload class="avatar-uploader" v-model="formupgrad.androidWgtUrl" action="" :auto-upload="false"
<el-upload :onChange="onChooseAndriod" :show-file-list="false" :multiple="false">
class="avatar-uploader" <div v-if="formupgrad.androidWgtUrl" class="flex flex-col flex-xy-center">
v-model="formupgrad.androidWgtUrl" <img src="../../assets/img/android.png" style="width: 50px; height: 50px" />
action=""
:auto-upload="false"
:onChange="onChooseAndriod"
:show-file-list="false"
:multiple="false"
>
<div
v-if="formupgrad.androidWgtUrl"
class="flex flex-col flex-xy-center"
>
<img
src="../../assets/img/android.png"
style="width: 50px; height: 50px"
/>
<span style="margin-top: 10px">{{ <span style="margin-top: 10px">{{
formupgrad.androidWgtUrl | name formupgrad.androidWgtUrl | name
}}</span> }}</span>
</div> </div>
<i <i v-if="!formupgrad.androidWgtUrl && percentage <= 0"
v-if="!formupgrad.androidWgtUrl && percentage <= 0" class="el-icon-plus avatar-uploader-icon iconss"></i>
class="el-icon-plus avatar-uploader-icon iconss" <el-progress type="circle" v-if="
></i> !formupgrad.androidWgtUrl &&
<el-progress percentage > 0 &&
type="circle" percentage <= 100 &&
v-if=" key == 'andriod'
!formupgrad.androidWgtUrl && " :percentage="percentage" color="#efefef"></el-progress>
percentage > 0 &&
percentage <= 100 &&
key == 'andriod'
"
:percentage="percentage"
color="#efefef"
></el-progress>
</el-upload> </el-upload>
</div> </div>
</div> </div>
<el-form-item <el-form-item label="安卓地址:" :label-width="formLabelWidth" required>
label="安卓地址:" <el-input v-model="formupgrad.androidWgtUrl" style="width: 65%"></el-input>
:label-width="formLabelWidth"
required
>
<el-input
v-model="formupgrad.androidWgtUrl"
style="width: 65%"
></el-input>
</el-form-item> </el-form-item>
<!-- <div class="file-box" style="margin-bottom: 10px; display: flex"> <!-- <div class="file-box" style="margin-bottom: 10px; display: flex">
<span style="width: 200px; display: inline-block; text-align: right" <span style="width: 200px; display: inline-block; text-align: right"
@ -190,50 +137,19 @@
style="width: 65%" style="width: 65%"
></el-input> ></el-input>
</el-form-item> --> </el-form-item> -->
<el-form-item <el-form-item label="安卓版本号:" :label-width="formLabelWidth" required>
label="安卓版本号:" <el-input v-model="formupgrad.version" style="width: 65%"></el-input>
:label-width="formLabelWidth"
required
>
<el-input
v-model="formupgrad.version"
style="width: 65%"
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item <el-form-item label="ios版本号" :label-width="formLabelWidth" required>
label="ios版本号" <el-input v-model="formupgrad.iosVersion" style="width: 65%"></el-input>
:label-width="formLabelWidth" </el-form-item>
required <el-form-item label="升级方式:" :label-width="formLabelWidth" required>
> <el-select v-model="formupgrad.method" placeholder="请选择升级方式" style="width: 65%">
<el-input <el-option v-for="item in methods" :key="item.value" :label="item.label" :value="item.value">
v-model="formupgrad.iosVersion"
style="width: 65%"
></el-input>
</el-form-item> -->
<el-form-item
label="升级方式:"
:label-width="formLabelWidth"
required
>
<el-select
v-model="formupgrad.method"
placeholder="请选择升级方式"
style="width: 65%"
>
<el-option
v-for="item in methods"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="升级内容:" :label-width="formLabelWidth" required>
label="升级内容:"
:label-width="formLabelWidth"
required
>
<el-input v-model="formupgrad.des" style="width: 65%"></el-input> <el-input v-model="formupgrad.des" style="width: 65%"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -307,7 +223,7 @@ export default {
choicenData2: [], choicenData2: [],
upgradeData: [], upgradeData: [],
upgradeData1: { upgradeData1: {
records:[] records: []
}, },
choicenData: [], choicenData: [],
types: [ types: [
@ -361,8 +277,8 @@ export default {
}, },
}, },
methods: { methods: {
resetFormupgrad(){ resetFormupgrad() {
for(let i in this.formupgrad){ for (let i in this.formupgrad) {
this.formupgrad[i] = ""; this.formupgrad[i] = "";
} }
}, },
@ -404,8 +320,8 @@ export default {
console.log(data); console.log(data);
const date = new Date(); const date = new Date();
const houzhui = "." + data.name.substr(data.name.lastIndexOf(".") + 1); const houzhui = "." + data.name.substr(data.name.lastIndexOf(".") + 1);
const isTest=config.baseUrl.includes('web.hnsiyao.cn')?false:true const isTest = config.baseUrl.includes('web.hnsiyao.cn') ? false : true
const appName=isTest?'test-duanju':'sy-duanju' const appName = isTest ? 'test-duanju' : 'sy-duanju'
const name = "app/" + appName + houzhui; const name = "app/" + appName + houzhui;
console.log(name); console.log(name);
const fileRes = await this.ossClient.partUpload(name, data.raw, (p) => { const fileRes = await this.ossClient.partUpload(name, data.raw, (p) => {
@ -530,7 +446,7 @@ export default {
message: "操作成功", message: "操作成功",
type: "success", type: "success",
duration: 1500, duration: 1500,
onClose: () => {}, onClose: () => { },
}); });
}); });
} }
@ -565,7 +481,7 @@ export default {
message: "操作成功", message: "操作成功",
type: "success", type: "success",
duration: 1500, duration: 1500,
onClose: () => {}, onClose: () => { },
}); });
}); });
}, },
@ -595,7 +511,7 @@ export default {
}); });
}); });
}) })
.catch(() => {}); .catch(() => { });
}, },
// //
@ -632,16 +548,19 @@ export default {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
::v-deep .avatar-uploader { ::v-deep .avatar-uploader {
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
height: 100%; height: 100%;
} }
.el-upload { .el-upload {
width: 100%; width: 100%;
height: 100%; height: 100%;
box-sizing: border-box; box-sizing: border-box;
} }
.customWidth { .customWidth {
width: 80% !important; width: 80% !important;
} }
@ -652,9 +571,11 @@ export default {
text-align: center; text-align: center;
border: 1px dotted rgba(67, 79, 103, 0.4); border: 1px dotted rgba(67, 79, 103, 0.4);
} }
.margin-auto { .margin-auto {
margin: auto; margin: auto;
} }
.cards { .cards {
padding: 0 8px; padding: 0 8px;
margin-bottom: 15px; margin-bottom: 15px;
@ -678,12 +599,15 @@ export default {
height: 113px; height: 113px;
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
} }
.flex { .flex {
display: flex; display: flex;
} }
.flex-col { .flex-col {
flex-direction: column; flex-direction: column;
} }
.flex-xy-center { .flex-xy-center {
justify-content: center; justify-content: center;
align-items: center; align-items: center;

View File

@ -48,26 +48,27 @@
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="6" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">总收入</div>
<div class="text_color">
<span>{{
tableData.totalRevenue ? tableData.totalRevenue : 0
}}</span
>
</div>
</div>
</div>
</el-col>
<el-col :span="6" class="cards"> <el-col :span="6" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">今日收入</div> <div class="box_color">今日收入</div>
<div class="text_color"> <div class="text_color">
<span>{{ <span>{{
tableData.todayRevenue ? tableData.todayRevenue : 0 tableData.todayPayAmount ? tableData.todayPayAmount : 0
}}</span
>
</div>
</div>
</div>
</el-col>
<el-col :span="6" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">今日订单笔数</div>
<div class="text_color">
<span>{{
tableData.todayPayCount ? tableData.todayPayCount : 0
}}</span }}</span
> >
</div> </div>
@ -77,10 +78,10 @@
<el-col :span="6" class="cards"> <el-col :span="6" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">本月收入</div> <div class="box_color">今日提现</div>
<div class="text_color"> <div class="text_color">
<span>{{ <span>{{
tableData.monthRevenue ? tableData.monthRevenue : 0 tableData.todayExtractAmount ? tableData.todayExtractAmount : 0
}}</span }}</span
> >
</div> </div>
@ -90,10 +91,10 @@
<el-col :span="6" class="cards"> <el-col :span="6" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">本年收入</div> <div class="box_color">今日提现笔数</div>
<div class="text_color"> <div class="text_color">
<span>{{ <span>{{
tableData.yearRevenue ? tableData.yearRevenue : 0 tableData.todayExtractCount ? tableData.todayExtractCount : 0
}}</span }}</span
> >
</div> </div>
@ -445,6 +446,51 @@
</div> </div>
</div> </div>
</el-col> </el-col>
<el-col :span="6" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">下级签到奖励</div>
<div class="text_color">
<span>{{ orderStat.signInAwardMoney ? orderStat.signInAwardMoney : 0 }}</span
>
</div>
</div>
</div>
</el-col>
<el-col :span="6" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">分享达标奖励</div>
<div class="text_color">
<span>{{ orderStat.shareAwardMoney ? orderStat.shareAwardMoney : 0 }}</span
>
</div>
</div>
</div>
</el-col>
<el-col :span="6" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">新人福利任务完成</div>
<div class="text_color">
<span>{{ orderStat.newUserTaskDoneAwardMoney ? orderStat.newUserTaskDoneAwardMoney : 0 }}</span
>
</div>
</div>
</div>
</el-col>
<el-col :span="6" class="cards">
<div class="box">
<div class="box_num">
<div class="box_color">邀请15人已达标</div>
<div class="text_color">
<span>{{ orderStat.inviteTaskDoneAwardMoney ? orderStat.inviteTaskDoneAwardMoney : 0 }}</span
>
</div>
</div>
</div>
</el-col>
</el-row> </el-row>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="分销统计" name="five"> <el-tab-pane label="分销统计" name="five">
@ -1078,7 +1124,10 @@ export default {
this.tableDataLoading = false; this.tableDataLoading = false;
if (data.code == 0) { if (data.code == 0) {
let returnData = data.data; let returnData = data.data;
this.orderStat = returnData; this.$nextTick(() => {
this.orderStat = returnData;
});
// this.orderStat = returnData;
} }
}); });
}, },

View File

@ -31,8 +31,7 @@
</el-form-item> </el-form-item>
<el-form-item label="日期"> <el-form-item label="日期">
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="" start-placeholder="开始日期" <el-date-picker v-model="timeValue" type="datetimerange" range-separator="" start-placeholder="开始日期"
end-placeholder="结束日期" @change="changeTime" value-format="yyyy-MM-DD HH:mm:ss" end-placeholder="结束日期" @change="changeTime" :default-time="['00:00:00', '23:59:59']">
:default-time="['00:00:00', '23:59:59']">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -141,6 +140,7 @@
</template> </template>
<script> <script>
import dayjs from 'dayjs'
import { cashOutAuditPage, cashOutAuditAudit } from "@/api/withdraw.js"; import { cashOutAuditPage, cashOutAuditAudit } from "@/api/withdraw.js";
export default { export default {
data() { data() {
@ -228,10 +228,12 @@ export default {
this.cashOutAuditPage(); this.cashOutAuditPage();
}, },
// //
changeTime() { changeTime(e) {
console.log(e);
this.timeValue = e
if (this.timeValue.length == 2) { if (this.timeValue.length == 2) {
this.query.startTime = this.timeValue[0]; this.query.startTime = dayjs(this.timeValue[0]).format("YYYY-MM-DD HH:mm:ss");
this.query.endTime = this.timeValue[1]; this.query.endTime = dayjs(this.timeValue[1]).format("YYYY-MM-DD HH:mm:ss");
} else { } else {
this.query.startTime = ""; this.query.startTime = "";
this.query.endTime = ""; this.query.endTime = "";

View File

@ -0,0 +1,164 @@
<template>
<div>
<div style="display: inline-block;">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="用户昵称/手机号">
<el-input v-model="formInline.keywords" placeholder="请输入用户昵称/手机号" clearable />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="onSubmit">搜索</el-button>
<el-button icon="Refresh" @click="reset">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-table :data="rechargeData.list">
<el-table-column prop="userId" label="ID"></el-table-column>
<el-table-column prop="avatar" label="头像">
<template slot-scope="scope">
<img :src="scope.row.avatar" alt="" style="width: 50px; height: 50px; border-radius: 50%;" />
</template>
</el-table-column>
<el-table-column prop="userName" label="用户昵称"></el-table-column>
<el-table-column prop="phone" label="手机号"></el-table-column>
<el-table-column prop="todayUnlocked" label="今日订单数">
</el-table-column>
<el-table-column prop="todayDrawCount" label="当日抽奖次数">
</el-table-column>
<el-table-column prop="" label="操作">
<template slot-scope="scope">
<el-button type="text" @click="rewardDetails(scope.row)">查看抽奖详情</el-button>
</template>
</el-table-column>
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange4" @current-change="handleCurrentChange4"
:page-sizes="[10, 20, 30, 40]" :page-size="rechargeData.limit" :current-page="rechargeData.page"
layout="total,sizes, prev, pager, next,jumper" :total="rechargeData.totalCount">
</el-pagination>
</div>
<!-- 详情 -->
<el-dialog title="抽奖详情" :visible.sync="dialogVisible" width="50%">
<div>抽奖次数合计:{{ rechargeDataA.totalCount }} </div>
<el-table :data="rechargeDataA.list">
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="name" label="抽奖结果"></el-table-column>
<el-table-column prop="number" label="金额"></el-table-column>
<el-table-column prop="createTime" label="抽奖时间"></el-table-column>
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange4A" @current-change="handleCurrentChange4A"
:page-sizes="[10, 20, 30, 40]" :page-size="rechargeDataA.limit" :current-page="rechargeDataA.page"
layout="total,sizes, prev, pager, next,jumper" :total="rechargeDataA.totalCount">
</el-pagination>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
rechargeDataList: [],
formInline: {
keywords: ''
},
rechargeData: {
totalCount: 0,
list: [],
page: 1,
limit: 10,
},
rechargeDataA: {
totalCount: 0,
list: [],
page: 1,
limit: 10,
itemUserId: ''
},
list: [],
dialogVisible: false,
}
},
mounted() {
this.getRechargeData()
},
methods: {
goUrl(item) {
this.$router.push({ path: '/orderCenter', query: { userName: item.userName } })
},
onSubmit() {
this.rechargeData.page = 1
this.rechargeData.limit = 10
this.getRechargeData()
}, reset() {
this.formInline = {
keywords: ''
}
this.getRechargeData()
},
getRechargeData() {
this.$http.get('/ext/sys/lottery/count/query/page', {
params: {
page: this.rechargeData.page,
limit: this.rechargeData.limit,
keywords: this.formInline.keywords
}
}).then(response => {
if (response.data.code === 0) {
this.rechargeData.list = response.data.data.list
this.rechargeData.totalCount = response.data.data.totalCount
// this.rechargeData = response.data.data
} else {
this.$message.error(response.data.msg)
}
}).catch(error => {
console.error(error)
})
}, rewardDetails(item) {
if (item) {
this.rechargeDataA.itemUserId = item.userId
}
this.$http.get('/ext/sys/lottery/detail/page', {
params: {
page: this.rechargeDataA.page,
limit: this.rechargeDataA.limit,
userId: this.rechargeDataA.itemUserId
}
}).then(response => {
if (response.data.code === 0) {
this.rechargeDataA.list = response.data.data.list
this.rechargeDataA.totalCount = response.data.data.totalCount
this.dialogVisible = true
} else {
this.$message.error(response.data.message)
}
}).catch(error => {
console.error(error)
this.$message.error('获取数据失败')
})
},
handleSizeChange4(val) {
this.rechargeData.limit = val
this.rechargeData.page = 1
this.getRechargeData()
},
handleCurrentChange4(val) {
this.rechargeData.page = val
this.getRechargeData()
},
handleSizeChange4A(val) {
this.rechargeDataA.limit = val
this.rechargeDataA.page = 1
this.rewardDetails()
},
handleCurrentChange4A(val) {
console.log(val, '11111111111')
this.rechargeDataA.page = val
this.rewardDetails()
}
}
}
</script>

View File

@ -0,0 +1,231 @@
<template>
<div>
<div style="display: inline-block;">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="用户昵称/手机号">
<el-input v-model="formInline.keywords" placeholder="请输入用户昵称/手机号" clearable />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="onSubmit">搜索</el-button>
<el-button icon="Refresh" @click="reset">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-table :data="rechargeDataAA.list">
<el-table-column prop="userId" label="ID"></el-table-column>
<el-table-column label="头像" width="200">
<template slot-scope="scope">
<img :src="scope.row.avatar" alt="头像" style="width: 50px; height: 50px; border-radius: 50%;" />
</template>
</el-table-column>
<el-table-column prop="userName" label="用户昵称"></el-table-column>
<el-table-column prop="phone" label="手机号"></el-table-column>
<el-table-column prop="signInNum" label="总签到人数"></el-table-column>
<el-table-column prop="awardAmount" label="已发放奖励总金额"></el-table-column>
<el-table-column label="操作" width="300">
<template slot-scope="scope">
<el-button type="text" @click="viewUserDetails(scope.row)">查看用户详情</el-button>
<el-button type="text" @click="rewardDetails(scope.row)">奖励详情</el-button>
<el-button type="text" @click="signInDetails(scope.row)">签到详情</el-button>
</template>
</el-table-column>
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange4" @current-change="handleCurrentChange4"
:page-sizes="[10, 20, 30, 40]" :page-size="rechargeDataAA.limit" :current-page="rechargeDataAA.page"
layout="total,sizes, prev, pager, next,jumper" :total="rechargeDataAA.totalCount">
</el-pagination>
</div>
<!-- 奖励详情 -->
<el-dialog title="奖励详情" :visible.sync="dialogVisible" width="50%">
<div>奖励发放金额合计{{ rechargeDataBB.totalCount }} </div>
<el-table :data="rechargeDataBB.list">
<el-table-column prop="userId" label="ID"></el-table-column>
<el-table-column prop="amount" label="发放金额"></el-table-column>
<el-table-column prop="userPhone" label="有效邀请人"></el-table-column>
<el-table-column prop="createTime" label="发放时间"></el-table-column>
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange4BB" @current-change="handleCurrentChange4BB"
:page-sizes="[10, 20, 30, 40]" :page-size="rechargeDataCC.limit" :current-page="rechargeDataCC.page"
layout="total,sizes, prev, pager, next,jumper" :total="rechargeDataCC.totalCount">
</el-pagination>
</div>
</el-dialog>
<!-- 签到详情 -->
<el-dialog title="签到详情" :visible.sync="dialogVisibles" width="50%">
<div><span>签到人数合计{{ rechargeDataCC.totalCount }}</span> <span>实名人数合计{{
rechargeDataCC.totalCount }}</span> </div>
<el-table :data="rechargeDataCC.list">
<el-table-column prop="userId" label="ID"></el-table-column>
<el-table-column prop="userName" label="签到账号"></el-table-column>
<el-table-column prop="phone" label="签到手机号"></el-table-column>
<el-table-column prop="userName" label="实名信息">
<template slot-scope="scope">
<div>姓名{{ scope.row.realName }}</div>
<div>身份证号{{ scope.row.idCardNo }}</div>
<div>银行卡号{{ scope.row.bankCardNo }}</div>
<div>开户行{{ scope.row.bankBranch }}</div>
</template>
</el-table-column>
<el-table-column prop="createTime" label="签到时间"></el-table-column>
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange4CC" @current-change="handleCurrentChange4CC"
:page-sizes="[10, 20, 30, 40]" :page-size="rechargeDataCC.limit" :current-page="rechargeDataCC.page"
layout="total,sizes, prev, pager, next,jumper" :total="rechargeDataCC.totalCount">
</el-pagination>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
rewardDetailsList: [], //
rewardtotalPage: 0, //
signInDetailsList: [], //
signInDetailsTotalPage: 0, //
formInline: {
keywords: ''
},
page: 1,
limit: 10,
rechargeDataAA: {
totalCount: 0,
list: [],
page: 1,
limit: 10,
},
rechargeDataBB: {
totalCount: 0,
list: [],
page: 1,
limit: 10,
},
rechargeDataCC: {
totalCount: 0,
list: [],
page: 1,
limit: 10,
},
dialogVisible: false,//
dialogVisibles: false //
}
},
mounted() {
this.getRechargeData()
},
methods: {
viewUserDetails(item) {
this.$router.push({ path: '/userDetail', query: { userId: item.userId, active: 'first' } })
},
rewardDetails(item) {
if (item) {
this.rechargeDataBB.itemUserId = item.userId
}
this.$http.get('/ext/sys/invite/friend/award/detail/page', {
params: {
page: this.rechargeDataBB.page,
limit: this.rechargeDataBB.limit,
userId: this.rechargeDataBB.itemUserId
}
}).then(response => {
if (response.data.code === 0) {
this.rechargeDataBB.list = response.data.data.list
this.rechargeDataBB.totalCount = response.data.data.totalCount
this.dialogVisible = true
} else {
this.$message.error(response.data.message)
}
}).catch(error => {
console.error(error)
this.$message.error('获取数据失败')
})
},
signInDetails(item) {
if (item) {
this.rechargeDataCC.itemUserId = item.userId
}
this.$http.get('/ext/sys/invite/friend/signIn/page', {
params: {
page: this.rechargeDataCC.page,
limit: this.rechargeDataCC.limit,
userId: this.rechargeDataCC.itemUserId
}
}).then(response => {
if (response.data.code === 0) {
this.rechargeDataCC.list = response.data.data.list
this.rechargeDataCC.totalCount = response.data.data.totalCount
this.dialogVisibles = true
} else {
this.$message.error(response.data.message)
}
}).catch(error => {
console.error(error)
this.$message.error('获取数据失败')
})
},
onSubmit() {
this.rechargeDataAA.page = 1
this.rechargeDataAA.limit = 10
this.getRechargeData()
},
reset() {
this.formInline = {
keywords: ''
}
this.getRechargeData()
},
getRechargeData() {
this.$http.get('/ext/sys/invite/friend/award/page', {
params: {
page: this.rechargeDataAA.page,
limit: this.rechargeDataAA.limit,
keywords: this.formInline.keywords
}
}).then(response => {
if (response.data.code === 0) {
this.rechargeDataAA.list = response.data.data.list
this.rechargeDataAA.totalCount = response.data.data.totalCount
} else {
this.$message.error(response.data.message)
}
}).catch(error => {
console.error(error)
this.$message.error('获取数据失败')
})
},
handleSizeChange4(val) {
this.rechargeDataAA.limit = val
this.rechargeDataAA.page = 1
this.getRechargeData()
},
handleCurrentChange4(val) {
this.rechargeDataAA.page = val
this.getRechargeData()
},
handleSizeChange4BB(val) {
this.rechargeDataBB.limit = val
this.rechargeDataBB.page = 1
this.rewardDetails()
},
handleCurrentChange4BB(val) {
this.rechargeDataBB.page = val
this.rewardDetails()
},
handleSizeChange4CC(val) {
this.rechargeDataCC.limit = val
this.rechargeDataCC.page = 1
this.signInDetails()
},
handleCurrentChange4CC(val) {
this.rechargeDataCC.page = val
this.signInDetails()
}
}
}
</script>

File diff suppressed because it is too large Load Diff

View File

@ -1,370 +1,388 @@
<template> <template>
<el-tabs v-model = "activeName" @tab-click = "handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label = "订单列表" name = "first"> <el-tab-pane label="订单列表" name="first">
<div style = "margin-right:2%;"> <div style="margin-right:2%;">
<span>状态</span> <span>状态</span>
<el-select v-model="status" style="width:150px;margin-left: 10px;" @change="animeDat(status)"> <el-select v-model="status" style="width:150px;margin-left: 10px;" @change="animeDat(status)">
<el-option v-for="item in statesnum" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in statesnum" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select>&nbsp;&nbsp;&nbsp;&nbsp; </el-select>&nbsp;&nbsp;&nbsp;&nbsp;
<div style="position: relative;display: inline-block;"> <div style="position: relative;display: inline-block;">
<span>订单编号</span> <span>订单编号</span>
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入订单编号" <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入订单编号"
v-model="ordersNo"></el-input>&nbsp;&nbsp; v-model="ordersNo"></el-input>&nbsp;&nbsp;
</div> </div>
<span>订单类型</span> <span>订单类型</span>
<el-select v-model="ordersType" style="width:150px;margin-left: 10px;" @change="animeDat()"> <el-select v-model="ordersType" style="width:150px;margin-left: 10px;" @change="animeDat()">
<el-option v-for="item in ordersTypenum" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in ordersTypenum" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select>&nbsp;&nbsp;&nbsp;&nbsp; </el-select>&nbsp;&nbsp;&nbsp;&nbsp;
<div style="position: relative;display: inline-block;"> <div style="position: relative;display: inline-block;">
<span>购买用户昵称</span> <span>购买用户昵称</span>
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入购买用户昵称" <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入购买用户昵称"
v-model="userName"></el-input>&nbsp;&nbsp; v-model="userName"></el-input>&nbsp;&nbsp;
</div> </div>
<div style="position: relative;display: inline-block;"> <div style="position: relative;display: inline-block;">
<span>渠道码</span> <span>渠道码</span>
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入渠道码" <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入渠道码"
v-model="qdCode"></el-input>&nbsp;&nbsp; v-model="qdCode"></el-input>&nbsp;&nbsp;
</div> </div>
<div style="position: relative;display: inline-block;"> <div style="position: relative;display: inline-block;">
<span>渠道商名称</span> <span>渠道商名称</span>
<el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入渠道商名称" <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入渠道商名称"
v-model="sysUserName"></el-input>&nbsp;&nbsp; v-model="sysUserName"></el-input>&nbsp;&nbsp;
</div> </div>
<div style="margin:5px;display: inline-block;"> <div style="margin:5px;display: inline-block;">
<span>开始时间</span> <span>开始时间</span>
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right" <el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right"
type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间"> type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
</el-date-picker> </el-date-picker>
</div> </div>
<div style="margin:5px;display: inline-block;"> <div style="margin:5px;display: inline-block;">
<span>截止时间</span> <span>截止时间</span>
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right" type="date" <el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间"> format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
</el-date-picker> </el-date-picker>
</div> </div>
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="select">查询 <el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="select">查询
</el-button> </el-button>
<el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="cleans">重置 <el-button style="margin-left:15px;" size="mini" type="primary" icon="document" @click="cleans">重置
</el-button> </el-button>
</div> </div>
<el-table v-loading = "tableDataLoading" :data = "tableData.list" > <el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop = "ordersId" label = "编号" width = "80"></el-table-column> <el-table-column fixed prop="ordersId" label="编号" width="80"></el-table-column>
<el-table-column prop = "ordersNo" label = "订单编号" width = "180"></el-table-column> <el-table-column prop="ordersNo" label="订单编号" width="180"></el-table-column>
<el-table-column prop = "userName" label = "购买用户昵称" width = "120" align="center"> <el-table-column prop="userName" label="购买用户昵称" width="120" align="center">
<template slot-scope = "scope"> <template slot-scope="scope">
<span style = "color: #4f9dec;cursor: pointer;" @click = "updates(scope.row)"> <span style="color: #4f9dec;cursor: pointer;" @click="updates(scope.row)">
{{ scope.row.userName}} {{ scope.row.userName }}
</span> </span>
</template>
</el-table-column>
<el-table-column prop = "title" label = "购买短剧/会员等级" width = "180" align="center">
<template slot-scope = "scope">
<span v-if = "scope.row.ordersType == 1">{{scope.row.title}}</span>
<span v-if = "scope.row.ordersType == 2 && scope.row.vipNameType==0">月卡</span>
<span v-if = "scope.row.ordersType == 2 && scope.row.vipNameType==1">季卡</span>
<span v-if = "scope.row.ordersType == 2 && scope.row.vipNameType==2">年卡</span>
</template>
</el-table-column>
<el-table-column prop = "qdCode" label = "渠道码"></el-table-column>
<el-table-column prop = "sysUserName" label = "渠道商名称" width = "180">
<template slot-scope = "scope">
<span style = "color: #4f9dec;">{{ scope.row.sysUserName}}</span>
</template>
</el-table-column>
<el-table-column prop = "payWay" label = "订单类型" width = "120">
<template slot-scope = "scope">
<span v-if = "scope.row.ordersType == 1">短剧</span>
<span v-if = "scope.row.ordersType == 2">会员</span>
</template>
</el-table-column>
<el-table-column prop = "payWay" label = "支付方式" width = "120">
<template slot-scope = "scope">
<span v-if = "scope.row.payWay == null">暂无</span>
<span v-if = "scope.row.payWay == 1">微信APP</span>
<span v-if = "scope.row.payWay == 2">微信公众号</span>
<span v-if = "scope.row.payWay == 3">微信小程序</span>
<span v-if = "scope.row.payWay == 4">支付宝</span>
<span v-if = "scope.row.payWay == 5">会员免费</span>
<span v-if = "scope.row.payWay == 6">金币</span>
<span v-if = "scope.row.payWay == 7">抖音</span>
<span v-if = "scope.row.payWay == 8">快手</span>
</template>
</el-table-column>
<el-table-column prop="payDiamond" label="钻石价格" width="100">
</el-table-column>
<el-table-column prop="diamond" label="是否是钻石支付" width="100">
<template slot-scope="scope">
<span v-if="scope.row.diamond == 1"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop = "payMoney" label = "支付金额" width = "120"></el-table-column>
<el-table-column prop = "qdMoney" label = "渠道佣金">
<template slot-scope = "scope">
<span >{{ scope.row.qdMoney?scope.row.qdMoney:0}}</span>
</template>
</el-table-column>
<el-table-column prop = "status" label = "状态" width="80" fixed="right">
<template slot-scope = "scope">
<span v-if = "scope.row.status == null">待支付</span>
<span v-if = "scope.row.status == 0">待支付</span>
<span v-if = "scope.row.status == 1">已支付</span>
<span v-if = "scope.row.status == 2">已退款</span>
</template>
</el-table-column>
<!-- <el-table-column prop = "refundContent" label = "退款原因" ></el-table-column> -->
<el-table-column prop = "createTime" label = "创建时间" width = "200" ></el-table-column>
<el-table-column label = "操作" width = "80" align="center" fixed="right">
<template slot-scope = "scope">
<el-button style="margin:5px;" size="mini" type="warning" icon="document" :disabled="!isAuth('orderCenter:tuikuan')" @click="tuikuanBtn(scope.row)" v-if="scope.row.status==1&&scope.row.payWay != 5">退款
</el-button>
<el-button size = "mini" type = "danger" :disabled = "!isAuth('orderCenter:delete')" style="margin:5px;"
@click = "deletes(scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="title" label="购买短剧/会员等级" width="180" align="center">
<template slot-scope="scope">
<span v-if="scope.row.ordersType == 1">{{ scope.row.title }}</span>
<span v-if="scope.row.ordersType == 2 && scope.row.vipNameType == 0">月卡</span>
<span v-if="scope.row.ordersType == 2 && scope.row.vipNameType == 1">季卡</span>
<span v-if="scope.row.ordersType == 2 && scope.row.vipNameType == 2">年卡</span>
</template>
</el-table-column>
<el-table-column prop="qdCode" label="渠道码"></el-table-column>
<el-table-column prop="sysUserName" label="渠道商名称" width="180">
<template slot-scope="scope">
<span style="color: #4f9dec;">{{ scope.row.sysUserName }}</span>
</template>
</el-table-column>
<el-table-column prop="payWay" label="订单类型" width="120">
<template slot-scope="scope">
<span v-if="scope.row.ordersType == 1">短剧</span>
<span v-if="scope.row.ordersType == 2">会员</span>
</template>
</el-table-column>
<el-table-column prop="payWay" label="支付方式" width="120">
<template slot-scope="scope">
<span v-if="scope.row.payWay == null">暂无</span>
<span v-if="scope.row.payWay == 1">微信APP</span>
<span v-if="scope.row.payWay == 2">微信公众号</span>
<span v-if="scope.row.payWay == 3">微信小程序</span>
<span v-if="scope.row.payWay == 4">支付宝</span>
<span v-if="scope.row.payWay == 5">会员免费</span>
<span v-if="scope.row.payWay == 6">金币</span>
<span v-if="scope.row.payWay == 7">抖音</span>
<span v-if="scope.row.payWay == 8">快手</span>
</template>
</el-table-column>
<el-table-column prop="payDiamond" label="钻石价格" width="100">
</el-table-column>
<el-table-column prop="diamond" label="是否是钻石支付" width="100">
<template slot-scope="scope">
<span v-if="scope.row.diamond == 1"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="payMoney" label="支付金额" width="120"></el-table-column>
<el-table-column prop="qdMoney" label="渠道佣金">
<template slot-scope="scope">
<span>{{ scope.row.qdMoney ? scope.row.qdMoney : 0 }}</span>
</template>
</el-table-column>
<el-table-column prop="status" label="状态" width="80" fixed="right">
<template slot-scope="scope">
<span v-if="scope.row.status == null">待支付</span>
<span v-if="scope.row.status == 0">待支付</span>
<span v-if="scope.row.status == 1">已支付</span>
<span v-if="scope.row.status == 2">已退款</span>
</template>
</el-table-column>
<!-- <el-table-column prop = "refundContent" label = "退款原因" ></el-table-column> -->
<el-table-column prop="createTime" label="创建时间" width="200"></el-table-column>
<el-table-column label="操作" width="80" align="center" fixed="right">
<template slot-scope="scope">
<el-button style="margin:5px;" size="mini" type="warning" icon="document"
:disabled="!isAuth('orderCenter:tuikuan')" @click="tuikuanBtn(scope.row)"
v-if="scope.row.status == 1 && scope.row.payWay != 5">退款
</el-button>
<el-button size="mini" type="danger" :disabled="!isAuth('orderCenter:delete')"
style="margin:5px;" @click="deletes(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;"> <div style="color: #B94A48;font-size: 20px;margin-top: 10px;display: inline-block;">
本页累计收入统计{{totalMoney.toFixed(2)}} </div> 本页累计收入统计{{ totalMoney.toFixed(2) }} </div>
<div style = "text-align: center;margin-top: 10px;float:right"> <div style="text-align: center;margin-top: 10px;float:right">
<el-pagination @size-change = "handleSizeChange" @current-change = "handleCurrentChange" :page-sizes = "[10, 20, 30, 40, 100, 200, 500]" <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:page-size = "limit" :current-page = "page" layout = "total,sizes, prev, pager, next,jumper" :page-sizes="[10, 20, 30, 40, 100, 200, 500]" :page-size="limit" :current-page="page"
:total = "tableData.totalCount"> layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
</el-pagination> </el-pagination>
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</template> </template>
<script> <script>
export default {
data () { export default {
return { data() {
page: 1, return {
limit: 10, page: 1,
classify: 1, limit: 10,
ordersNo: '', classify: 1,
imageUrl: '', ordersNo: '',
url: '', imageUrl: '',
status: '', url: '',
activeName: 'first', status: '',
tableDataLoading: true, activeName: 'first',
tableData: [], tableDataLoading: true,
checkBoxData: [],// tableData: [],
statesnum:[ checkBoxData: [],//
{ statesnum: [
label: '全部', {
value: '' label: '全部',
}, value: ''
{ },
label: '待支付', {
value: 0 label: '待支付',
}, value: 0
{ },
label: '已支付', {
value: 1 label: '已支付',
}, value: 1
{ },
label: '已退款', {
value: 2 label: '已退款',
}, value: 2
], },
totalMoney: 0, ],
ordersTypenum: [{ totalMoney: 0,
label: '全部', ordersTypenum: [{
value: '' label: '全部',
}, value: ''
{ },
label: '短剧', {
value: 1 label: '短剧',
}, value: 1
{ },
label: '会员', {
value: 2 label: '会员',
}, value: 2
], },
ordersType: '', ],
userName: '', ordersType: '',
startTime: '', userName: '',
endTime: '', startTime: '',
qdCode:'', endTime: '',
sysUserName:'', qdCode: '',
sysUserName: '',
}
}
},
methods: {
//
changeFun(val) {
this.checkBoxData = val
}, },
methods: { //
// // getNowTime () {
changeFun (val) { // var now = new Date()
this.checkBoxData = val // var year = now.getFullYear() //
}, // var month = now.getMonth() //
// // var date = now.getDate() //
// getNowTime () { // var hh = now.getHours() < 10 ? '0' + now.getHours() : now.getHours()
// var now = new Date() // var mm = now.getMinutes() < 10 ? '0' + now.getMinutes() : now.getMinutes()
// var year = now.getFullYear() // // var ss = now.getSeconds() < 10 ? '0' + now.getSeconds() : now.getSeconds()
// var month = now.getMonth() // // month = month + 1
// var date = now.getDate() // // month = month.toString().padStart(2, '0')
// var hh = now.getHours() < 10 ? '0' + now.getHours() : now.getHours() // date = date.toString().padStart(2, '0')
// var mm = now.getMinutes() < 10 ? '0' + now.getMinutes() : now.getMinutes() // var defaultDate = `${year}-${month}-${date} ${hh}:${mm}:${ss}`
// var ss = now.getSeconds() < 10 ? '0' + now.getSeconds() : now.getSeconds() // return defaultDate
// month = month + 1 // this.$set(this.info, 'stockDate', defaultDate)
// month = month.toString().padStart(2, '0') // },
// date = date.toString().padStart(2, '0') // tabs
// var defaultDate = `${year}-${month}-${date} ${hh}:${mm}:${ss}` handleClick(tab, event) {
// return defaultDate if (tab._props.label == '订单列表') {
// this.$set(this.info, 'stockDate', defaultDate)
// },
// tabs
handleClick (tab, event) {
if (tab._props.label == '订单列表') {
this.page = 1
this.limit = 10
this.classify = 1
this.dataSelect()
}
},
handleSizeChange (val) {
this.limit = val
this.dataSelect()
},
handleCurrentChange (val) {
this.page = val
this.dataSelect()
},
//
select() {
this.page = 1 this.page = 1
this.limit = 10 this.limit = 10
this.classify = 1
this.dataSelect() this.dataSelect()
}, }
// },
cleans() { handleSizeChange(val) {
this.ordersNo = '' this.limit = val
this.status = '' this.dataSelect()
this.page = 1 },
this.ordersType = '' handleCurrentChange(val) {
this.userName = '' this.page = val
this.startTime = '' this.dataSelect()
this.endTime = '' },
this.qdCode = '' //
this.sysUserName = '' select() {
this.page = 1
this.dataSelect() this.limit = 10
}, this.dataSelect()
// select },
animeDat(state) { //
this.page = 1 cleans() {
this.status = state this.ordersNo = ''
console.log(state) this.status = ''
this.dataSelect() this.page = 1
}, this.ordersType = ''
// banner this.userName = ''
deletes (row) { this.startTime = ''
let delid = row.ordersId this.endTime = ''
this.$confirm(`确定删除此条信息?`, '提示', { this.qdCode = ''
confirmButtonText: '确定', this.sysUserName = ''
cancelButtonText: '取消',
type: 'warning' this.dataSelect()
}).then(() => { },
this.$http({ // select
url: this.$http.adornUrl(`order/deleteOrders?ids=${delid}`), animeDat(state) {
method: 'get', this.page = 1
data: this.$http.adornData({}) this.status = state
}).then(({data}) => { console.log(state)
this.dataSelect()
},
// banner
deletes(row) {
let delid = row.ordersId
this.$confirm(`确定删除此条信息?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl(`order/deleteOrders?ids=${delid}`),
method: 'get',
data: this.$http.adornData({})
}).then(({ data }) => {
this.$message({
message: '删除成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
})
}).catch(() => {
})
},
//
dataSelect() {
this.tableDataLoading = true
this.totalMoney = 0
this.$http({
url: this.$http.adornUrl('order/selectOrders'),
method: 'get',
params: this.$http.adornParams({
'page': this.page,
'limit': this.limit,
'ordersNo': this.ordersNo,
'status': this.status,
'ordersType': this.ordersType,
'userName': this.userName,
'startTime': this.startTime,
'endTime': this.endTime,
'qdCode': this.qdCode,
'sysUserName': this.sysUserName,
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.tableDataLoading = false
for (var i in data.data.list) {
if (data.data.list[i].payMoney) {
this.totalMoney = this.totalMoney + Number(data.data.list[i].payMoney)
}
}
let returnData = data.data
this.tableData = returnData
}
})
},
//
updates(row) {
this.$router.push({ path: '/userDetail', query: { userId: row.userId } })
},
// 退
tuikuanBtn(row) {
let delid = row.ordersId
this.$confirm(`确定退款吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('order/refundOrders?ordersId=' + delid),
method: 'post',
params: this.$http.adornParams({})
}).then(({
data
}) => {
if (data.code == 0) {
this.$message({ this.$message({
message: '删除成功', message: '操作成功',
type: 'success', type: 'success',
duration: 1500, duration: 1500,
onClose: () => { onClose: () => {
this.dataSelect() this.dataSelect()
} }
}) })
}) } else {
}).catch(() => { this.$message({
}) message: data.msg,
}, type: 'warning',
// duration: 1500,
dataSelect () { onClose: () => {
this.tableDataLoading = true
this.totalMoney = 0
this.$http({
url: this.$http.adornUrl('order/selectOrders'),
method: 'get',
params: this.$http.adornParams({
'page': this.page,
'limit': this.limit,
'ordersNo':this.ordersNo,
'status':this.status,
'ordersType': this.ordersType,
'userName': this.userName,
'startTime': this.startTime,
'endTime': this.endTime,
'qdCode': this.qdCode,
'sysUserName': this.sysUserName,
})
}).then(({data}) => {
if (data && data.code === 0) {
this.tableDataLoading = false
for (var i in data.data.list) {
if (data.data.list[i].payMoney) {
this.totalMoney = this.totalMoney + Number(data.data.list[i].payMoney)
} }
} })
let returnData = data.data
this.tableData = returnData
} }
}) })
}, })
//
updates (row) {
this.$router.push({path: '/userDetail', query: {userId: row.userId}})
},
// 退
tuikuanBtn(row){
let delid = row.ordersId
this.$confirm(`确定退款吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('order/refundOrders?ordersId='+delid),
method: 'post',
params: this.$http.adornParams({})
}).then(({
data
}) => {
if(data.code==0){
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
}else{
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {
}
})
}
})
})
},
}, },
mounted () { },
this.dataSelect() mounted() {
if (this.$route.query.userName) {
this.status = 1
this.userName = this.$route.query.userName
} }
} this.dataSelect()
},
watch: {
//
'$route'(to, from) {
if (to.query.userName) {
this.status = 1
this.userName = to.query.userName
this.dataSelect()
}
},
},
}
</script> </script>
<style> <style>
.customWidth { .customWidth {
width: 80% !important; width: 80% !important;
} }
</style> </style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff