Compare commits
36 Commits
ymf-test-u
...
wwz
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5723fb853a | ||
|
|
114ee304d8 | ||
|
|
b58f60bb23 | ||
| 6b711858e6 | |||
| 729d4bc645 | |||
| cc6d86b07c | |||
| d67b7e4342 | |||
| 42e84864c4 | |||
| c5c679e1ab | |||
| ef09b41510 | |||
| 697436ee71 | |||
| 757a97d254 | |||
| 52c0552e43 | |||
| f9cf68d83e | |||
| 1b130a9baa | |||
| 88156a6e4e | |||
| 653ab223c9 | |||
| a8f2a8c8b4 | |||
| f256740dcb | |||
| 139f198ad5 | |||
|
|
a526f5ddd6 | ||
| 1a3b207d4d | |||
| 872c79cc75 | |||
| 317acfecca | |||
| bc03876a7e | |||
| 798fa845ea | |||
| bef654169f | |||
| f1f6605617 | |||
| 698f8ae186 | |||
| 0ffc27f750 | |||
| e0b70d8f65 | |||
| 1173900fb6 | |||
| 4b55f7f344 | |||
| b5b9db41b2 | |||
| e6245e08e0 | |||
| 9a9f4745fc |
@@ -12,19 +12,19 @@ module.exports = {
|
||||
assetsPublicPath: '/',
|
||||
// 代理列表, 是否开启代理通过[./dev.env.js]配置
|
||||
proxyTable: devEnv.OPEN_PROXY === false ? {} : {
|
||||
'/sqx_fast': {
|
||||
// target: 'http://192.168.0.132:8100/sqx_fast/',
|
||||
// target: 'https://duanjuadmin.xianmxkj.com/sqx_fast/',
|
||||
target: 'http://127.0.0.1/sqx_fast/',
|
||||
'/czg': {
|
||||
// target: 'http://192.168.0.132:8100/czg/',
|
||||
// target: 'https://duanjuadmin.xianmxkj.com/czg/',
|
||||
target: 'http://127.0.0.1/czg/',
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
'^/sqx_fast': ''
|
||||
'^/czg': ''
|
||||
}
|
||||
},
|
||||
'/weixin': {
|
||||
target: 'https://api.weixin.qq.com/',
|
||||
// target: 'https://duanjuadmin.xianmxkj.com/sqx_fast/',
|
||||
// target: 'http://127.0.0.1/sqx_fast/',
|
||||
// target: 'https://duanjuadmin.xianmxkj.com/czg/',
|
||||
// target: 'http://127.0.0.1/czg/',
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
'^/weixin': ''
|
||||
|
||||
56
gulpfile.js
56
gulpfile.js
@@ -1,27 +1,27 @@
|
||||
var gulp = require('gulp')
|
||||
var $ = require('gulp-load-plugins')()
|
||||
var path = require('path')
|
||||
var del = require('del')
|
||||
var gulp = require('gulp');
|
||||
var $ = require('gulp-load-plugins')();
|
||||
var path = require('path');
|
||||
var del = require('del');
|
||||
|
||||
var distPath = path.resolve('./dist')
|
||||
var version = '' // 版本号
|
||||
var versionPath = '' // 版本号路径
|
||||
var distPath = path.resolve('./dist');
|
||||
var version = ''; // 版本号
|
||||
var versionPath = ''; // 版本号路径
|
||||
var env = ''; // 运行环境
|
||||
|
||||
// 创建版本号(年月日时分)
|
||||
(function () {
|
||||
var d = new Date()
|
||||
var yy = d.getFullYear().toString().slice(2)
|
||||
var MM = d.getMonth() + 1 >= 10 ? (d.getMonth() + 1) : '0' + (d.getMonth() + 1)
|
||||
var DD = d.getDate() >= 10 ? d.getDate() : '0' + d.getDate()
|
||||
var h = d.getHours() >= 10 ? d.getHours() : '0' + d.getHours()
|
||||
var mm = d.getMinutes() >= 10 ? d.getMinutes() : '0' + d.getMinutes()
|
||||
var d = new Date();
|
||||
var yy = d.getFullYear().toString().slice(2);
|
||||
var MM = d.getMonth() + 1 >= 10 ? (d.getMonth() + 1) : '0' + (d.getMonth() + 1);
|
||||
var DD = d.getDate() >= 10 ? d.getDate() : '0' + d.getDate();
|
||||
var h = d.getHours() >= 10 ? d.getHours() : '0' + d.getHours();
|
||||
var mm = d.getMinutes() >= 10 ? d.getMinutes() : '0' + d.getMinutes();
|
||||
version = yy + MM + DD + h + mm;
|
||||
versionPath = distPath + '/' + version;
|
||||
})()
|
||||
})();
|
||||
|
||||
// 编译
|
||||
gulp.task('build', $.shell.task(['node build/build.js']))
|
||||
gulp.task('build', $.shell.task(['node build/build.js']));
|
||||
|
||||
// 创建版本号目录
|
||||
gulp.task('create:versionCatalog', gulp.series('build', function () {
|
||||
@@ -61,15 +61,15 @@ gulp.task('clean', function () {
|
||||
gulp.task('build-end', function () {
|
||||
console.log('--builed-end--')
|
||||
// del([`${distPath}/static`, `${versionPath}/static/config`]);
|
||||
return del([`${distPath}/static`, `${versionPath}/static/config`]);
|
||||
return del([`${distPath}/static`, `${versionPath}/static/config`]);
|
||||
})
|
||||
|
||||
env = process.env.npm_config_qa ? 'qa' : process.env.npm_config_uat ? 'uat' : 'prod'
|
||||
env = process.env.npm_config_qa ? 'qa' : process.env.npm_config_uat ? 'uat' : 'prod';
|
||||
|
||||
gulp.task('default',
|
||||
gulp.series('clean',
|
||||
gulp.parallel('create:versionCatalog', 'replace:cdnUrl', 'replace:version', 'concat:config'),
|
||||
'build','build-end')
|
||||
'build', 'build-end')
|
||||
)
|
||||
|
||||
|
||||
@@ -81,22 +81,22 @@ gulp.task('default',
|
||||
// 开始打包编译
|
||||
// 开始打包编译
|
||||
gulp.task('default', gulp.series('build','create:versionCatalog', 'replace:cdnUrl', 'replace:version', 'concat:config', function (done) {
|
||||
// 清除, 编译 / 处理项目中产生的文件
|
||||
del([`${distPath}/static`, `${versionPath}/static/config`])
|
||||
done();
|
||||
// 清除, 编译 / 处理项目中产生的文件
|
||||
del([`${distPath}/static`, `${versionPath}/static/config`])
|
||||
done();
|
||||
}))
|
||||
})); */
|
||||
|
||||
/*
|
||||
gulp.task('default', gulp.series('clean', function (done) {
|
||||
// 获取环境配置
|
||||
env = process.env.npm_config_qa ? 'qa' : process.env.npm_config_uat ? 'uat' : 'prod'
|
||||
// 获取环境配置
|
||||
env = process.env.npm_config_qa ? 'qa' : process.env.npm_config_uat ? 'uat' : 'prod'
|
||||
// 开始打包编译
|
||||
// 开始打包编译
|
||||
gulp.task('default', gulp.series('build','create:versionCatalog', 'replace:cdnUrl', 'replace:version', 'concat:config', function (done) {
|
||||
// 清除, 编译 / 处理项目中产生的文件
|
||||
del([`${distPath}/static`, `${versionPath}/static/config`])
|
||||
done();
|
||||
}))
|
||||
gulp.task('default', gulp.series('build','create:versionCatalog', 'replace:cdnUrl', 'replace:version', 'concat:config', function (done) {
|
||||
// 清除, 编译 / 处理项目中产生的文件
|
||||
del([`${distPath}/static`, `${versionPath}/static/config`])
|
||||
done();
|
||||
}))
|
||||
}));
|
||||
*/
|
||||
|
||||
186
package-lock.json
generated
186
package-lock.json
generated
@@ -389,7 +389,7 @@
|
||||
},
|
||||
"@parcel/watcher-win32-x64": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
|
||||
"integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
@@ -1114,7 +1114,7 @@
|
||||
},
|
||||
"array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -2617,7 +2617,7 @@
|
||||
},
|
||||
"body-parser": {
|
||||
"version": "1.20.3",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz",
|
||||
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -2637,7 +2637,7 @@
|
||||
"dependencies": {
|
||||
"qs": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz",
|
||||
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -3701,7 +3701,7 @@
|
||||
},
|
||||
"content-disposition": {
|
||||
"version": "0.5.4",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz",
|
||||
"integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -3710,7 +3710,7 @@
|
||||
"dependencies": {
|
||||
"safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dev": true
|
||||
}
|
||||
@@ -3735,13 +3735,13 @@
|
||||
},
|
||||
"cookie": {
|
||||
"version": "0.7.1",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz",
|
||||
"integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
|
||||
"dev": true
|
||||
},
|
||||
"cookie-signature": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -4439,7 +4439,7 @@
|
||||
},
|
||||
"depd": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
|
||||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -4792,7 +4792,7 @@
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz",
|
||||
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -5476,7 +5476,7 @@
|
||||
},
|
||||
"esprima": {
|
||||
"version": "2.7.3",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/esprima/-/esprima-2.7.3.tgz",
|
||||
"integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -5528,7 +5528,7 @@
|
||||
},
|
||||
"etag": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
|
||||
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -5543,9 +5543,9 @@
|
||||
}
|
||||
},
|
||||
"eventemitter3": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-2.0.3.tgz",
|
||||
"integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg=="
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
|
||||
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
|
||||
},
|
||||
"events": {
|
||||
"version": "3.3.0",
|
||||
@@ -5698,7 +5698,7 @@
|
||||
"dependencies": {
|
||||
"qs": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz",
|
||||
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -5707,7 +5707,7 @@
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dev": true
|
||||
}
|
||||
@@ -5779,9 +5779,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"fast-diff": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.1.2.tgz",
|
||||
"integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
|
||||
"integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.1.0",
|
||||
@@ -5907,7 +5907,7 @@
|
||||
},
|
||||
"finalhandler": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz",
|
||||
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -6166,7 +6166,7 @@
|
||||
},
|
||||
"forwarded": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz",
|
||||
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -6180,7 +6180,7 @@
|
||||
},
|
||||
"fresh": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
|
||||
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -7177,7 +7177,7 @@
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz",
|
||||
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -7774,7 +7774,7 @@
|
||||
},
|
||||
"ipaddr.js": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
|
||||
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -9997,6 +9997,11 @@
|
||||
"lodash._isiterateecall": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"lodash.clonedeep": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
|
||||
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
|
||||
},
|
||||
"lodash.cond": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmmirror.com/lodash.cond/-/lodash.cond-4.5.2.tgz",
|
||||
@@ -10032,6 +10037,11 @@
|
||||
"integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.isequal": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ=="
|
||||
},
|
||||
"lodash.keys": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/lodash.keys/-/lodash.keys-3.1.2.tgz",
|
||||
@@ -10597,7 +10607,7 @@
|
||||
},
|
||||
"media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -10659,7 +10669,7 @@
|
||||
},
|
||||
"methods": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz",
|
||||
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -15239,7 +15249,7 @@
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
|
||||
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -15569,9 +15579,9 @@
|
||||
}
|
||||
},
|
||||
"parchment": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmmirror.com/parchment/-/parchment-1.1.4.tgz",
|
||||
"integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz",
|
||||
"integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A=="
|
||||
},
|
||||
"parse-asn1": {
|
||||
"version": "5.1.7",
|
||||
@@ -16796,7 +16806,7 @@
|
||||
},
|
||||
"proxy-addr": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -16926,9 +16936,12 @@
|
||||
"dev": true
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz",
|
||||
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
|
||||
"version": "6.13.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz",
|
||||
"integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==",
|
||||
"requires": {
|
||||
"side-channel": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"query-string": {
|
||||
"version": "4.3.4",
|
||||
@@ -16952,26 +16965,24 @@
|
||||
"dev": true
|
||||
},
|
||||
"quill": {
|
||||
"version": "1.3.7",
|
||||
"resolved": "https://registry.npmmirror.com/quill/-/quill-1.3.7.tgz",
|
||||
"integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/quill/-/quill-2.0.3.tgz",
|
||||
"integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==",
|
||||
"requires": {
|
||||
"clone": "^2.1.1",
|
||||
"deep-equal": "^1.0.1",
|
||||
"eventemitter3": "^2.0.3",
|
||||
"extend": "^3.0.2",
|
||||
"parchment": "^1.1.4",
|
||||
"quill-delta": "^3.6.2"
|
||||
"eventemitter3": "^5.0.1",
|
||||
"lodash-es": "^4.17.21",
|
||||
"parchment": "^3.0.0",
|
||||
"quill-delta": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"quill-delta": {
|
||||
"version": "3.6.3",
|
||||
"resolved": "https://registry.npmmirror.com/quill-delta/-/quill-delta-3.6.3.tgz",
|
||||
"integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz",
|
||||
"integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==",
|
||||
"requires": {
|
||||
"deep-equal": "^1.0.1",
|
||||
"extend": "^3.0.2",
|
||||
"fast-diff": "1.1.2"
|
||||
"fast-diff": "^1.3.0",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"lodash.isequal": "^4.5.0"
|
||||
}
|
||||
},
|
||||
"randomatic": {
|
||||
@@ -17023,7 +17034,7 @@
|
||||
},
|
||||
"raw-body": {
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz",
|
||||
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -17706,6 +17717,14 @@
|
||||
"tough-cookie": "~2.5.0",
|
||||
"tunnel-agent": "^0.6.0",
|
||||
"uuid": "^3.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"qs": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
|
||||
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"require-directory": {
|
||||
@@ -18341,7 +18360,7 @@
|
||||
},
|
||||
"send": {
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/send/-/send-0.19.0.tgz",
|
||||
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -18362,19 +18381,19 @@
|
||||
"dependencies": {
|
||||
"encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||
"dev": true
|
||||
},
|
||||
"mime": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
|
||||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true
|
||||
}
|
||||
@@ -18435,7 +18454,7 @@
|
||||
},
|
||||
"serve-static": {
|
||||
"version": "1.16.2",
|
||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz",
|
||||
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -18494,7 +18513,7 @@
|
||||
},
|
||||
"setprototypeof": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -18553,7 +18572,7 @@
|
||||
"dependencies": {
|
||||
"glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -19002,7 +19021,7 @@
|
||||
},
|
||||
"statuses": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz",
|
||||
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -19686,7 +19705,7 @@
|
||||
},
|
||||
"toidentifier": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -20074,7 +20093,7 @@
|
||||
},
|
||||
"unpipe": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -20304,7 +20323,7 @@
|
||||
},
|
||||
"utils-merge": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -20651,8 +20670,7 @@
|
||||
"vue-hot-reload-api": {
|
||||
"version": "2.3.4",
|
||||
"resolved": "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
|
||||
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
|
||||
"dev": true
|
||||
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog=="
|
||||
},
|
||||
"vue-jest": {
|
||||
"version": "1.0.2",
|
||||
@@ -20810,6 +20828,46 @@
|
||||
"requires": {
|
||||
"object-assign": "^4.1.1",
|
||||
"quill": "^1.3.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"eventemitter3": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
|
||||
"integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg=="
|
||||
},
|
||||
"fast-diff": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
|
||||
"integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig=="
|
||||
},
|
||||
"parchment": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
|
||||
"integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg=="
|
||||
},
|
||||
"quill": {
|
||||
"version": "1.3.7",
|
||||
"resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz",
|
||||
"integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
|
||||
"requires": {
|
||||
"clone": "^2.1.1",
|
||||
"deep-equal": "^1.0.1",
|
||||
"eventemitter3": "^2.0.3",
|
||||
"extend": "^3.0.2",
|
||||
"parchment": "^1.1.4",
|
||||
"quill-delta": "^3.6.2"
|
||||
}
|
||||
},
|
||||
"quill-delta": {
|
||||
"version": "3.6.3",
|
||||
"resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
|
||||
"integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
|
||||
"requires": {
|
||||
"deep-equal": "^1.0.1",
|
||||
"extend": "^3.0.2",
|
||||
"fast-diff": "1.1.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-router": {
|
||||
|
||||
@@ -29,12 +29,16 @@
|
||||
"lodash": "^4.17.21",
|
||||
"mockjs": "^1.1.0",
|
||||
"npm": "^6.9.0",
|
||||
"qs": "^6.13.1",
|
||||
"quill": "^2.0.3",
|
||||
"svg-baker-runtime": "^1.4.7",
|
||||
"svg-sprite-loader": "3.7.3",
|
||||
"video.js": "^8.20.0",
|
||||
"videojs-contrib-hls": "^5.15.0",
|
||||
"vue": "2.5.16",
|
||||
"vue-baidu-map": "^0.21.22",
|
||||
"vue-cookie": "1.1.4",
|
||||
"vue-hot-reload-api": "^2.3.4",
|
||||
"vue-jsonp": "^2.0.0",
|
||||
"vue-quill-editor": "^3.0.6",
|
||||
"vue-router": "3.0.1",
|
||||
|
||||
2
src/api/announcement.js
Normal file
2
src/api/announcement.js
Normal file
@@ -0,0 +1,2 @@
|
||||
import {API1} from './classApi'
|
||||
export const $announcement=new API1('announcement')
|
||||
@@ -25,4 +25,32 @@ class API {
|
||||
}
|
||||
}
|
||||
|
||||
export class API1 {
|
||||
constructor(url) {
|
||||
const map = {
|
||||
add: 'POST',
|
||||
del: 'DELETE',
|
||||
update: 'PUT',
|
||||
get: 'GET'
|
||||
}
|
||||
this.url = url
|
||||
for (let key in map) {
|
||||
this[key] = function (data) {
|
||||
data = Array.isArray(data) ? data : {
|
||||
...data
|
||||
}
|
||||
if (key === 'del') {
|
||||
|
||||
}
|
||||
const par={ url:key==='get'?url+'/list':url, method: map[key] }
|
||||
if(key==='get'){
|
||||
par.params=data
|
||||
}else{
|
||||
par.data=data
|
||||
}
|
||||
return $http(par)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
export default API
|
||||
@@ -8,7 +8,7 @@ function add(data) {
|
||||
}
|
||||
function del(data) {
|
||||
return $http({
|
||||
url: 'discSpinning/deleteDiscSpinning',
|
||||
url: 'discSpinning/deleteDiscSpinning?id='+data.id,
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
||||
27
src/api/renwu-record.js
Normal file
27
src/api/renwu-record.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import $http from "@/utils/httpRequest";
|
||||
|
||||
/**
|
||||
* 兑换记录
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function userPrizeExchangePage(params) {
|
||||
return $http({
|
||||
url: "/userPrizeExchange/page",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理端-发放奖品
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function userPrizeExchangeDeliver(data) {
|
||||
return $http({
|
||||
url: "/userPrizeExchange/deliver",
|
||||
method: "POST",
|
||||
data
|
||||
});
|
||||
}
|
||||
@@ -1,41 +1,42 @@
|
||||
import $http from '@/utils/httpRequest'
|
||||
import $http from "@/utils/httpRequest";
|
||||
function add(data) {
|
||||
return $http({
|
||||
url: 'taskCenter/insertTaskCenter',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
return $http({
|
||||
url: "taskCenter/insertTaskCenter",
|
||||
method: "post",
|
||||
data: data
|
||||
});
|
||||
}
|
||||
function del(id) {
|
||||
return $http({
|
||||
url: 'taskCenter/deleteTaskCenter?id='+id,
|
||||
method: 'post'
|
||||
})
|
||||
return $http({
|
||||
url: "taskCenter/deleteTaskCenter?id=" + id,
|
||||
method: "post"
|
||||
});
|
||||
}
|
||||
function getList(data) {
|
||||
return $http({
|
||||
url: 'taskCenter/selectTaskCenter',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
return $http({
|
||||
url: "taskCenter/selectTaskCenter",
|
||||
method: "get",
|
||||
params: data
|
||||
});
|
||||
}
|
||||
function get(id) {
|
||||
return $http({
|
||||
url: 'taskCenter' + id,
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
return $http({
|
||||
url: "taskCenter" + id,
|
||||
method: "get",
|
||||
params: data
|
||||
});
|
||||
}
|
||||
function update(data) {
|
||||
return $http({
|
||||
url: 'taskCenter/updateTaskCenter',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
return $http({
|
||||
url: "taskCenter/updateTaskCenter",
|
||||
method: "post",
|
||||
data: data
|
||||
});
|
||||
}
|
||||
export default {
|
||||
add
|
||||
, del,
|
||||
get, getList,
|
||||
update
|
||||
}
|
||||
add,
|
||||
del,
|
||||
get,
|
||||
getList,
|
||||
update
|
||||
};
|
||||
|
||||
40
src/api/withdraw.js
Normal file
40
src/api/withdraw.js
Normal file
@@ -0,0 +1,40 @@
|
||||
import $http from "@/utils/httpRequest";
|
||||
|
||||
/**
|
||||
* 提现记录
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function cashOutAuditPage(params) {
|
||||
return $http({
|
||||
url: "/cashOutAudit/page",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 提现审核
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function cashOutAuditAudit(data) {
|
||||
return $http({
|
||||
url: "/cashOutAudit/audit",
|
||||
method: "POST",
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 提现统计
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function summary_query(params) {
|
||||
return $http({
|
||||
url: "/cashOutAudit/alipay/transfer/summary/query",
|
||||
method: "get",
|
||||
params
|
||||
});
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
export const testUrl='video-admin';
|
||||
export const productUrl='dj-admin';
|
||||
|
||||
// const baseUrl = "http://192.168.1.15:8100/sqx_fast/"
|
||||
const baseUrl = "https://video.hnsiyao.cn/sqx_fast/"
|
||||
// const baseUrl = "https://dj-api.hnsiyao.cn/sqx_fast/"
|
||||
// const baseUrl = "http://192.168.1.7:8100/czg/"
|
||||
// const baseUrl = "https://api.tianjinzhitongdaohe.com/czg/"
|
||||
|
||||
const baseUrl = "https://web-api.hnsiyao.cn/czg/" //测试
|
||||
// const baseUrl = "https://web.hnsiyao.cn/czg/" // 线上
|
||||
|
||||
export default{
|
||||
baseUrl
|
||||
|
||||
@@ -9,14 +9,14 @@ export const entryName = '短剧13.2系统';
|
||||
|
||||
|
||||
const baseUrl = config.baseUrl
|
||||
// const baseUrl = "http://192.168.1.15:8100/sqx_fast/"
|
||||
// const baseUrl = "https://video.hnsiyao.cn/sqx_fast/"
|
||||
// const baseUrl = "https://dj-api.hnsiyao.cn/sqx_fast/"
|
||||
// const baseUrl = "http://192.168.1.15:8100/czg/"
|
||||
// const baseUrl = "https://video.hnsiyao.cn/czg/"
|
||||
// const baseUrl = "https://dj-api.hnsiyao.cn/czg/"
|
||||
|
||||
// const $urlMap={
|
||||
// local:'http://192.168.1.15:8100/sqx_fast/',
|
||||
// product:'https://dj-api.hnsiyao.cn/sqx_fast/',
|
||||
// test:'https://dj-api.hnsiyao.cn/sqx_fast/',
|
||||
// local:'http://192.168.1.15:8100/czg/',
|
||||
// product:'https://dj-api.hnsiyao.cn/czg/',
|
||||
// test:'https://dj-api.hnsiyao.cn/czg/',
|
||||
// }
|
||||
// const $env='product'
|
||||
const http = axios.create({
|
||||
@@ -33,9 +33,10 @@ const http = axios.create({
|
||||
http.interceptors.request.use(config => {
|
||||
config.headers['token'] = Vue.cookie.get('token') // 请求头带上token
|
||||
// config.baseURL = $urlMap[$env]
|
||||
const arr = config.url.split('sqx_fast/')
|
||||
const arr = config.url.split('czg/')
|
||||
config.url = baseUrl + (arr.length >= 2 ? arr[1] : arr[0])
|
||||
// config.url = "https://dj-api.hnsiyao.cn/sqx_fast/"
|
||||
config.url = config.url.replace('czg//', 'czg/');
|
||||
// config.url = "https://dj-api.hnsiyao.cn/czg/"
|
||||
return config
|
||||
}, error => {
|
||||
return Promise.reject(error)
|
||||
@@ -61,8 +62,8 @@ http.interceptors.response.use(response => {
|
||||
http.adornUrl = (actionName) => {
|
||||
// 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截!
|
||||
// return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl) + actionName
|
||||
// return 'http://192.168.0.132:8100/sqx_fast/' + actionName
|
||||
// return 'https://duanjuadmin.xianmxkj.com/sqx_fast/' + actionName
|
||||
// return 'http://192.168.0.132:8100/czg/' + actionName
|
||||
// return 'https://duanjuadmin.xianmxkj.com/czg/' + actionName
|
||||
actionName = actionName.replace(/^\//, "");
|
||||
return baseUrl + actionName
|
||||
|
||||
@@ -70,8 +71,8 @@ http.adornUrl = (actionName) => {
|
||||
http.adornUrlUp = (actionName) => {
|
||||
// 非生产环境 && 开启代理, 接口前缀统一使用[/proxyApi/]前缀做代理拦截!
|
||||
// return (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl) + actionName
|
||||
// return 'http://192.168.0.132:8183/sqx_fast/' + actionName
|
||||
// return 'https://duanjuadmin.xianmxkj.com/sqx_fast/' + actionName
|
||||
// return 'http://192.168.0.132:8183/czg/' + actionName
|
||||
// return 'https://duanjuadmin.xianmxkj.com/czg/' + actionName
|
||||
actionName = actionName.replace(/^\//, "");
|
||||
return baseUrl + actionName
|
||||
|
||||
@@ -82,7 +83,7 @@ http.adornUrlWX = (actionName) => {
|
||||
actionName = actionName.replace(/^\//, "");
|
||||
return '/weixin/' + actionName
|
||||
// return 'https://api.weixin.qq.com/' + actionName
|
||||
// return 'https://dj-api.hnsiyao.cn/sqx_fast/' + actionName
|
||||
// return 'https://dj-api.hnsiyao.cn/czg/' + actionName
|
||||
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -9,6 +9,13 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="value" label="内容" width="500">
|
||||
</el-table-column>
|
||||
<el-table-column label="是否返回给App">
|
||||
<template slot-scope="scope">
|
||||
<el-switch v-model="scope.row.isAppUse"
|
||||
@change="updateAmendNotice($event,scope.row)"
|
||||
:active-value="1" :inactive-value="0"></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" prop="id" width="120">
|
||||
@@ -279,6 +286,10 @@
|
||||
<el-input v-else v-model="form.value" :rows="4" style="width:65%;"></el-input>
|
||||
<!-- <el-input v-model="form.value" style="width:65%;"></el-input> -->
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="是否返回给App" :label-width="formLabelWidth">
|
||||
<el-switch v-model="form.isAppUse" :active-value="1" :inactive-value="0"></el-switch>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
@@ -321,6 +332,7 @@
|
||||
min: '',
|
||||
value: '',
|
||||
type: '',
|
||||
isAppUse: false,
|
||||
},
|
||||
form2: {
|
||||
id: '',
|
||||
@@ -399,7 +411,7 @@
|
||||
this.condition = 'kefu'
|
||||
this.dataSelect()
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
// 修改弹框
|
||||
amend(index, rows) {
|
||||
@@ -410,9 +422,37 @@
|
||||
this.form.value = rows.value;
|
||||
this.form.max = rows.max;
|
||||
this.form.createAt = rows.createAt;
|
||||
this.form.isAppUse = rows.isAppUse;
|
||||
this.form.conditionFrom = rows.conditionFrom
|
||||
},
|
||||
updateAmendNotice(e,row){
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('common/update'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData({
|
||||
...row,
|
||||
isAppUse: e
|
||||
})
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
}
|
||||
})
|
||||
this.dataSelect()
|
||||
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 修改
|
||||
|
||||
amendNoticeTo() {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('common/update'),
|
||||
@@ -424,7 +464,8 @@
|
||||
'min': this.form.min,
|
||||
'max': this.form.max,
|
||||
'createAt': this.form.createAt,
|
||||
'conditionFrom': this.form.conditionFrom
|
||||
'conditionFrom': this.form.conditionFrom,
|
||||
isAppUse: this.form.isAppUse
|
||||
})
|
||||
}).then(({
|
||||
data
|
||||
@@ -436,9 +477,10 @@
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.dataSelect()
|
||||
}
|
||||
})
|
||||
this.dataSelect()
|
||||
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ export default {
|
||||
console.log(data);
|
||||
const date = new Date();
|
||||
const houzhui = "." + data.name.substr(data.name.lastIndexOf(".") + 1);
|
||||
const isTest=config.baseUrl.includes('dj-api.hnsiyao.cn')?false:true
|
||||
const isTest=config.baseUrl.includes('web.hnsiyao.cn')?false:true
|
||||
const appName=isTest?'test-duanju':'sy-duanju'
|
||||
const name = "app/" + appName + houzhui;
|
||||
console.log(name);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,13 @@
|
||||
<el-form-item label="描述" required>
|
||||
<el-input v-model="form.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="从第几次开始变化">
|
||||
<el-input-number
|
||||
:min="0"
|
||||
stepstep-strictly
|
||||
v-model="form.num"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="最大金额" required>
|
||||
<el-input-number
|
||||
:min="0"
|
||||
@@ -48,6 +55,12 @@
|
||||
import { $redPackApi } from "@/api/red-pack.js";
|
||||
import { isNull } from "@/utils/validate.js";
|
||||
export default {
|
||||
props: {
|
||||
source:{
|
||||
type:[String,Number],
|
||||
default:1
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
@@ -57,6 +70,7 @@ export default {
|
||||
maxAmount: "",
|
||||
random: "",
|
||||
status: "",
|
||||
num: undefined,
|
||||
},
|
||||
};
|
||||
},
|
||||
@@ -68,9 +82,14 @@ export default {
|
||||
console.log(item);
|
||||
this.dialogVisible = true;
|
||||
this.item = item;
|
||||
this.form = {
|
||||
...item,
|
||||
};
|
||||
if (item!==undefined) {
|
||||
this.form = {
|
||||
...item,
|
||||
num: item.num === "" || item.num === null ? undefined : item.num,
|
||||
};
|
||||
}
|
||||
|
||||
console.log(this.form);
|
||||
},
|
||||
diaClose() {
|
||||
this.dialogVisible = false;
|
||||
@@ -93,13 +112,14 @@ export default {
|
||||
if (this.form.random > 1 || this.form.random < 0) {
|
||||
return this.$message.error("概率为0-1");
|
||||
}
|
||||
console.log(id);
|
||||
const res = id
|
||||
? await $redPackApi.update(this.form)
|
||||
: await $redPackApi.add(this.form);
|
||||
? await $redPackApi.update({ ...this.form, num: this.form.num || "" ,discType:this.source})
|
||||
: await $redPackApi.add({...this.form,discType:this.source});
|
||||
console.log(res);
|
||||
const { data, msg } = res;
|
||||
if (data && data.code == 0) {
|
||||
this.$message.success("修改成功");
|
||||
this.$message.success(id?"修改成功":"添加成功");
|
||||
this.$emit("refresh");
|
||||
this.diaClose();
|
||||
} else {
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<el-upload
|
||||
class="avatar-uploader"
|
||||
v-model="form.url"
|
||||
:action="$http.adornUrl('alioss/upload')"
|
||||
:action="$http.adornUrlUp('alioss/upload')"
|
||||
:show-file-list="false"
|
||||
:on-success="uploadSuccess"
|
||||
>
|
||||
@@ -50,6 +50,12 @@
|
||||
import $disc from "@/api/disc-spinning.js";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
source:{
|
||||
type:[String,Number],
|
||||
default:1
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
@@ -65,14 +71,14 @@ export default {
|
||||
methods: {
|
||||
uploadSuccess(file) {
|
||||
this.form.url = file.data;
|
||||
console.log(file.data);
|
||||
console.log(this.form.url);
|
||||
},
|
||||
open(item) {
|
||||
console.log(item);
|
||||
this.dialogVisible = true;
|
||||
this.item = item;
|
||||
this.form = {
|
||||
...item,
|
||||
};
|
||||
Object.assign(this.form, item);
|
||||
},
|
||||
diaClose() {
|
||||
this.dialogVisible = false;
|
||||
@@ -91,9 +97,10 @@ export default {
|
||||
return this.$message.error("中奖概率不能为空!");
|
||||
}
|
||||
const { name, url, type, odds, id } = this.form;
|
||||
const { data } = await $disc.update({ name, url, type, odds, id });
|
||||
const submitForm={ name, url, type, odds, discType:this.source };
|
||||
const { data } =id? await $disc.update({...submitForm,id }) : await $disc.add({ ...submitForm});
|
||||
if (data.code == 0) {
|
||||
this.$message.success("修改成功");
|
||||
this.$message.success(id?"修改成功":'添加成功');
|
||||
this.$emit("refresh");
|
||||
this.diaClose();
|
||||
}else{
|
||||
|
||||
258
src/views/finance/components/withdraw-manage.vue
Normal file
258
src/views/finance/components/withdraw-manage.vue
Normal file
@@ -0,0 +1,258 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form inline @submit.native.prevent="queryHandle">
|
||||
<el-form-item label="用户ID">
|
||||
<el-input v-model="query.userId" placeholder="请输入用户ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名">
|
||||
<el-input v-model="query.userName" placeholder="请输入用户名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="支付宝账号">
|
||||
<el-input v-model="query.zhifubao" placeholder="请输入支付宝账号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="支付宝姓名">
|
||||
<el-input v-model="query.zhifubaoName" placeholder="请输入支付宝姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="提现类型">
|
||||
<el-select v-model="query.userType">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="用户提现" value="1"></el-option>
|
||||
<el-option label="分销商提现" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="query.state">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="待转账" value="0"></el-option>
|
||||
<el-option label="成功" value="1"></el-option>
|
||||
<el-option label="失败" value="2"></el-option>
|
||||
<el-option label="待审核" value="3"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="日期">
|
||||
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期" @change="changeTime" :default-time="['00:00:00', '23:59:59']">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="queryHandle">查询</el-button>
|
||||
<el-button @click="resetHandle">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="tableData.loading" :data="tableData.list" border stripe>
|
||||
<el-table-column label="ID" prop="id" width="80"></el-table-column>
|
||||
<el-table-column label="用户ID" prop="userId" width="100"></el-table-column>
|
||||
<el-table-column label="用户名" prop="userName" width="150"></el-table-column>
|
||||
<el-table-column label="提现信息">
|
||||
<template slot-scope="scope">
|
||||
<div>提现金额:¥{{ scope.row.money }}</div>
|
||||
<div>手续费:¥{{ scope.row.rate }}</div>
|
||||
<div style="margin-top: 6px;">
|
||||
提现类型:
|
||||
<span v-if="scope.row.userType == 1">用户提现</span>
|
||||
<span v-if="scope.row.userType == 2">代理提现</span>
|
||||
</div>
|
||||
<div>订单编号:{{ scope.row.orderNumber }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="提现统计" width="200">
|
||||
<template slot-scope="scope">
|
||||
<div>成功提现金额:¥{{ scope.row.total }}</div>
|
||||
<div>成功提现次数:{{ scope.row.count }}</div>
|
||||
<div style="margin-top: 6px;">待审提现金额合计:¥{{ scope.row.verifyTotal }}</div>
|
||||
<div>待审提现申请笔数:{{ scope.row.verifyCount }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付宝信息" prop="zhifubao" width="200">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.zhifubaoName }} / {{ scope.row.zhifubao }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="申请时间" prop="createAt" width="200"></el-table-column>
|
||||
<el-table-column label="转账时间" prop="outAt" width="200"></el-table-column>
|
||||
<el-table-column label="状态" prop="state" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-tag type="warning" v-if="scope.row.state == 0" disable-transitions>
|
||||
待转账
|
||||
</el-tag>
|
||||
<el-tag type="success" v-if="scope.row.state == 1" disable-transitions>
|
||||
成功
|
||||
</el-tag>
|
||||
<div style="display: flex;flex-direction: column;" v-if="scope.row.state == 2">
|
||||
<div>
|
||||
<el-tag type="danger" disable-transitions>
|
||||
失败
|
||||
</el-tag>
|
||||
</div>
|
||||
<div>原因:{{ scope.row.refund }}</div>
|
||||
</div>
|
||||
<el-tag type="warning" v-if="scope.row.state == 3" disable-transitions>
|
||||
待审核
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="100" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" @click="deliverHandle(scope.row)" v-if="scope.row.state == 3">
|
||||
待审核
|
||||
</el-button>
|
||||
<el-button type="text" disabled v-else>已审核</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="tableData.limit" :current-page="tableData.page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="tableData.total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<el-dialog title="提现审核" width="600px" :visible.sync="visible" @close="onClose">
|
||||
<el-form :model="form" :rules="rules" ref="form" label-width="80px" label-position="left">
|
||||
<el-form-item label="审核" prop="isAgree">
|
||||
<el-radio-group v-model="form.isAgree">
|
||||
<el-radio label="1"> 同意 </el-radio>
|
||||
<el-radio label="0"> 拒绝 </el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="refund" v-if="form.isAgree == 0">
|
||||
<el-input v-model="form.refund" placeholder="拒绝原因"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer" style="display: flex; justify-content: flex-end;">
|
||||
<el-button size="small" @click="visible = false"> 取 消 </el-button>
|
||||
<el-button size="small" type="primary" :loading="confirmLoading"
|
||||
@click="confirmHandle">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { cashOutAuditPage, cashOutAuditAudit } from "@/api/withdraw.js";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
timeValue: [],
|
||||
query: {
|
||||
userId: "",
|
||||
userName: "",
|
||||
userType: '',
|
||||
zhifubao: "",
|
||||
zhifubaoName: "",
|
||||
state: "",
|
||||
startTime: "",
|
||||
endTime: ""
|
||||
},
|
||||
resetQuery: {},
|
||||
tableData: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
total: 0,
|
||||
list: [],
|
||||
loading: false
|
||||
},
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
form: {
|
||||
id: "",
|
||||
isAgree: "1",
|
||||
refund: "",
|
||||
userId:''
|
||||
},
|
||||
rules: {
|
||||
isAgree: [],
|
||||
refund: [
|
||||
{ required: true, message: "请输入拒绝原因", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.resetQuery = { ...this.query };
|
||||
this.cashOutAuditPage();
|
||||
},
|
||||
methods: {
|
||||
// 关闭弹窗, 重置表单
|
||||
onClose() {
|
||||
this.$refs.form.resetFields();
|
||||
},
|
||||
// 打开发放奖品弹窗
|
||||
deliverHandle(row) {
|
||||
this.form.id = row.id;
|
||||
this.form.userId = row.userId
|
||||
this.visible = true;
|
||||
},
|
||||
// 提交发放奖品
|
||||
confirmHandle() {
|
||||
this.$refs.form.validate(async valid => {
|
||||
if (valid) {
|
||||
this.confirmLoading = true;
|
||||
try {
|
||||
const { data } = await cashOutAuditAudit(this.form);
|
||||
if (data.code == 0) {
|
||||
this.$message.success("审核成功");
|
||||
this.visible = false;
|
||||
this.cashOutAuditPage();
|
||||
} else {
|
||||
this.$message.error(data.msg || "审核失败");
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
this.confirmLoading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 开始查询
|
||||
queryHandle() {
|
||||
this.tableData.page = 1;
|
||||
this.cashOutAuditPage();
|
||||
},
|
||||
// 重置查询
|
||||
resetHandle() {
|
||||
this.query = { ...this.resetQuery };
|
||||
this.timeValue = [];
|
||||
this.cashOutAuditPage();
|
||||
},
|
||||
// 确认选择日期
|
||||
changeTime() {
|
||||
if (this.timeValue.length == 2) {
|
||||
this.query.startTime = this.timeValue[0];
|
||||
this.query.endTime = this.timeValue[1];
|
||||
} else {
|
||||
this.query.startTime = "";
|
||||
this.query.endTime = "";
|
||||
}
|
||||
},
|
||||
// 分页数量
|
||||
handleSizeChange(size) {
|
||||
this.tableData.limit = size;
|
||||
this.cashOutAuditPage();
|
||||
},
|
||||
// 分页
|
||||
handleCurrentChange(val) {
|
||||
this.tableData.page = val;
|
||||
this.cashOutAuditPage();
|
||||
},
|
||||
// 获取列表
|
||||
async cashOutAuditPage() {
|
||||
try {
|
||||
this.tableData.loading = true;
|
||||
const { data } = await cashOutAuditPage({
|
||||
...this.query,
|
||||
page: this.tableData.page,
|
||||
limit: this.tableData.limit
|
||||
});
|
||||
this.tableData.loading = false;
|
||||
this.tableData.list = data.page.list;
|
||||
this.tableData.total = data.page.totalCount;
|
||||
} catch (error) {
|
||||
this.tableData.loading = false;
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
277
src/views/finance/components/withdrawTotal.vue
Normal file
277
src/views/finance/components/withdrawTotal.vue
Normal file
@@ -0,0 +1,277 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form inline @submit.native.prevent="queryHandle">
|
||||
<!-- <el-form-item label="用户ID">
|
||||
<el-input v-model="query.userId" placeholder="请输入用户ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名">
|
||||
<el-input v-model="query.userName" placeholder="请输入用户名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="支付宝账号">
|
||||
<el-input v-model="query.zhifubao" placeholder="请输入支付宝账号" />
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-input v-model="query.alipayAccountName" placeholder="请输入支付宝账户姓名查询" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="提现类型">
|
||||
<el-select v-model="query.userType">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="用户提现" value="1"></el-option>
|
||||
<el-option label="分销商提现" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="query.state">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="待转账" value="0"></el-option>
|
||||
<el-option label="成功" value="1"></el-option>
|
||||
<el-option label="失败" value="2"></el-option>
|
||||
<el-option label="待审核" value="3"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="日期">
|
||||
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期" @change="changeTime" :default-time="['00:00:00', '23:59:59']">
|
||||
</el-date-picker>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="queryHandle">查询</el-button>
|
||||
<el-button @click="resetHandle">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row>
|
||||
<el-col :span="6" class="cards">
|
||||
<div class="box">
|
||||
<div class="box_num">
|
||||
<div class="box_color">成功提现次数合计</div>
|
||||
<div class="text_color">
|
||||
<span>{{ count }}</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>{{ totalMoney }}</span>元
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table v-loading="tableData.loading" :data="tableData.list" border stripe>
|
||||
<el-table-column label="用户ID" prop="userId"></el-table-column>
|
||||
<el-table-column label="用户名" prop="userName"></el-table-column>
|
||||
<el-table-column label="手机号" prop="phone"></el-table-column>
|
||||
<el-table-column label="邀请码" prop="inviterCode"></el-table-column>
|
||||
<el-table-column label="提现小计" prop="subTotal">
|
||||
<template slot-scope="scope">
|
||||
<div>提现金额:¥{{ scope.row.subTotal }}</div>
|
||||
<div>提现次数:{{ scope.row.subCount }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付宝信息" prop="zhifubao">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.zhifubaoName }} / {{ scope.row.zhifubao }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <div class="pagination">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="tableData.limit" :current-page="tableData.page"
|
||||
layout="total" :total="tableData.total">
|
||||
</el-pagination>
|
||||
</div> -->
|
||||
<el-dialog title="提现审核" width="600px" :visible.sync="visible" @close="onClose">
|
||||
<el-form :model="form" :rules="rules" ref="form" label-width="80px" label-position="left">
|
||||
<el-form-item label="审核" prop="isAgree">
|
||||
<el-radio-group v-model="form.isAgree">
|
||||
<el-radio label="1"> 同意 </el-radio>
|
||||
<el-radio label="0"> 拒绝 </el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="refund" v-if="form.isAgree == 0">
|
||||
<el-input v-model="form.refund" placeholder="拒绝原因"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer" style="display: flex; justify-content: flex-end;">
|
||||
<el-button size="small" @click="visible = false"> 取 消 </el-button>
|
||||
<el-button size="small" type="primary" :loading="confirmLoading"
|
||||
@click="confirmHandle">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { summary_query } from "@/api/withdraw.js";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
timeValue: [],
|
||||
query: {
|
||||
userId: "",
|
||||
userName: "",
|
||||
userType: '',
|
||||
zhifubao: "",
|
||||
zhifubaoName: "",
|
||||
state: "",
|
||||
startTime: "",
|
||||
endTime: "",
|
||||
alipayAccountName: ""
|
||||
},
|
||||
resetQuery: {},
|
||||
count: 0,
|
||||
totalMoney: 0,
|
||||
tableData: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
total: 0,
|
||||
list: [],
|
||||
loading: false
|
||||
},
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
form: {
|
||||
id: "",
|
||||
isAgree: "1",
|
||||
refund: ""
|
||||
},
|
||||
rules: {
|
||||
isAgree: [],
|
||||
refund: [
|
||||
{ required: true, message: "请输入拒绝原因", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.resetQuery = { ...this.query };
|
||||
this.getTableData();
|
||||
},
|
||||
methods: {
|
||||
// 关闭弹窗, 重置表单
|
||||
onClose() {
|
||||
this.$refs.form.resetFields();
|
||||
},
|
||||
// 打开发放奖品弹窗
|
||||
deliverHandle(row) {
|
||||
this.form.id = row.id;
|
||||
this.visible = true;
|
||||
},
|
||||
// 提交发放奖品
|
||||
confirmHandle() {
|
||||
this.$refs.form.validate(async valid => {
|
||||
if (valid) {
|
||||
this.confirmLoading = true;
|
||||
try {
|
||||
const { data } = await cashOutAuditAudit(this.form);
|
||||
if (data.code == 0) {
|
||||
this.$message.success("审核成功");
|
||||
this.visible = false;
|
||||
this.getTableData();
|
||||
} else {
|
||||
this.$message.error(data.msg || "审核失败");
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
this.confirmLoading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 开始查询
|
||||
queryHandle() {
|
||||
this.tableData.page = 1;
|
||||
this.getTableData();
|
||||
},
|
||||
// 重置查询
|
||||
resetHandle() {
|
||||
this.query = { ...this.resetQuery };
|
||||
this.timeValue = [];
|
||||
this.getTableData();
|
||||
},
|
||||
// 确认选择日期
|
||||
changeTime() {
|
||||
if (this.timeValue.length == 2) {
|
||||
this.query.startTime = this.timeValue[0];
|
||||
this.query.endTime = this.timeValue[1];
|
||||
} else {
|
||||
this.query.startTime = "";
|
||||
this.query.endTime = "";
|
||||
}
|
||||
},
|
||||
// 分页数量
|
||||
handleSizeChange(size) {
|
||||
this.tableData.limit = size;
|
||||
this.getTableData();
|
||||
},
|
||||
// 分页
|
||||
handleCurrentChange(val) {
|
||||
this.tableData.page = val;
|
||||
this.getTableData();
|
||||
},
|
||||
// 获取列表
|
||||
async getTableData() {
|
||||
try {
|
||||
this.tableData.loading = true;
|
||||
const { data } = await summary_query({
|
||||
...this.query
|
||||
});
|
||||
this.tableData.loading = false;
|
||||
this.tableData.list = data.data.list;
|
||||
this.tableData.total = data.data.count;
|
||||
|
||||
this.count = data.data.count;
|
||||
this.totalMoney = data.data.sum;
|
||||
} catch (error) {
|
||||
this.tableData.loading = false;
|
||||
|
||||
this.tableData.list = [];
|
||||
this.tableData.total = 0;
|
||||
|
||||
this.count = 0;
|
||||
this.totalMoney = 0;
|
||||
|
||||
console.log('error===', error);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.box {
|
||||
padding: 44px;
|
||||
border: 1px solid #eee;
|
||||
margin: 0 15px 25px 0;
|
||||
}
|
||||
|
||||
.box_num {
|
||||
font-size: 14px;
|
||||
color: #66b1ff;
|
||||
}
|
||||
|
||||
.box_num .box_color {
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.box_num div span {
|
||||
font-size: 20px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.text_color {
|
||||
color: #4f9dec;
|
||||
}
|
||||
|
||||
.text_color span {
|
||||
margin-right: 5px;
|
||||
}
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
123
src/views/message/components/pop-add-message.vue
Normal file
123
src/views/message/components/pop-add-message.vue
Normal file
@@ -0,0 +1,123 @@
|
||||
<template>
|
||||
<el-dialog :title="title" width="500px" :visible.sync="dialogVisible" @close="diaClose"
|
||||
:close-on-click-modal="true">
|
||||
<div >
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="100px">
|
||||
<el-form-item label="标题" prop="title">
|
||||
<el-input v-model="form.title"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="内容" prop="content">
|
||||
<el-input v-model="form.content" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" required>
|
||||
<el-switch v-model="form.state" :active-value="1" :inactive-value="0"></el-switch>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="diaClose">取 消</el-button>
|
||||
<el-button type="primary" @click="confirm">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {$announcement as $api} from "@/api/announcement.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
title: "",
|
||||
rules: {
|
||||
title: [{ required: true, message: "请输入公告标题", trigger: "blur" }],
|
||||
content: [{ required: true, message: "请输入公告内容", trigger: "blur" }],
|
||||
},
|
||||
form: {
|
||||
title:'',
|
||||
content:'',
|
||||
state:1,
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
open(item) {
|
||||
console.log(item);
|
||||
this.dialogVisible = true;
|
||||
Object.assign(this.form, item);
|
||||
this.title = item ? "修改公告" : "添加公告";
|
||||
},
|
||||
diaClose() {
|
||||
this.dialogVisible = false;
|
||||
this.form = {
|
||||
title:'',
|
||||
content:'',
|
||||
state:1,
|
||||
};
|
||||
this.$refs.form.resetFields();
|
||||
},
|
||||
async confirm() {
|
||||
if (!this.form.title) {
|
||||
return this.$message.error("请输入公告标题");
|
||||
}
|
||||
if (!this.form.content) {
|
||||
return this.$message.error("请输入公告内容");
|
||||
}
|
||||
this.submit();
|
||||
},
|
||||
async submit() {
|
||||
let res = { data: { code: 1 } };
|
||||
const submitForm = {
|
||||
...this.form,
|
||||
};
|
||||
if (this.form.id) {
|
||||
res = await $api.update(submitForm);
|
||||
} else {
|
||||
res = await $api.add(submitForm);
|
||||
}
|
||||
console.log(res);
|
||||
const { data } = res;
|
||||
if (data.code == 0) {
|
||||
this.$message.success(this.form.id ? "修改成功" : "添加成功");
|
||||
this.$emit("refresh");
|
||||
this.diaClose();
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.el-form-item__label {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.dialog-footer {
|
||||
padding-top: 20px;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.upload-file-box {
|
||||
border-radius: 6px;
|
||||
width: 148px;
|
||||
height: 148px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
border: 1px solid #c0c4cc;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,135 +1,266 @@
|
||||
<template>
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="公告中心" name="first">
|
||||
<div style="float: right;margin-right:2%;">
|
||||
<el-button style="margin: 10px 0;" :disabled="!isAuth('message:add')" size="mini" type="primary"
|
||||
icon="document" @click="addNotice">添加公告</el-button>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column prop="id" label="编号" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column prop="title" label="标题">
|
||||
</el-table-column>
|
||||
<el-table-column prop="url" label="链接">
|
||||
</el-table-column>
|
||||
<el-table-column prop="type" label="类型">
|
||||
<template slot-scope="scope">
|
||||
<span style="color: #4f9dec;cursor: pointer;" v-if="scope.row.type === 'url' ">链接</span>
|
||||
<span style="color: #4f9dec;cursor: pointer;" v-if="scope.row.type === 'word' ">文本</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" :disabled="!isAuth('message:update')"
|
||||
@click="updates(scope.$index, scope.row)">修改
|
||||
</el-button>
|
||||
<el-button size="mini" type="danger" :disabled="!isAuth('message:delete')"
|
||||
@click="deletes(scope.row)">删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:page-sizes="[5, 10, 15, 20]" :page-size="limit" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalElements">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<!-- 添加弹框 -->
|
||||
<el-dialog title="添加公告" :visible.sync="dialogFormVisible" center>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<span style="width: 200px;display: inline-block;text-align: right;">标题:</span>
|
||||
<el-input style="width:50%;" v-model="title" placeholder="请输入公告标题"></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;" v-if="type=='url'">
|
||||
<span style="width: 200px;display: inline-block;text-align: right;">链接:</span>
|
||||
<el-input style="width: 50%;" v-model="url" placeholder="请输入公告链接"></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<span style="width: 200px;display: inline-block;text-align: right;">类型:</span>
|
||||
<el-select v-model="type" placeholder="请选择公告类型" style="width:50%;">
|
||||
<el-option v-for="item in types" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="releasNoticeTo()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 修改弹框 -->
|
||||
<el-dialog title="修改" :visible.sync="dialogFormVisible1" center>
|
||||
<el-form :model="form">
|
||||
<el-form-item label="标题:" :label-width="formLabelWidth">
|
||||
<el-input v-model="form.title" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="链接:" :label-width="formLabelWidth">
|
||||
<el-input v-model="form.url" style="width:65%;"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型:" :label-width="formLabelWidth">
|
||||
<el-select v-model="form.type" placeholder="请选择类型" style="width:65%;">
|
||||
<el-option v-for="item in types" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible1 = false">取 消</el-button>
|
||||
<el-button type="primary" @click="amendNoticeTo()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="用户反馈" name="two">
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column prop="id" label="编号" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column prop="title" label="联系方式">
|
||||
</el-table-column>
|
||||
<el-table-column prop="content" label="内容">
|
||||
</el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间" width="160">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="用户消息" name="fourth">
|
||||
<div style="float: right;margin-right:2%;">
|
||||
<el-button style='margin: 10px 0;' :disabled="!isAuth('message:push')" size="mini" type="primary"
|
||||
icon="document" @click="magNotice">消息推送</el-button>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column prop="id" label="编号" width="80">
|
||||
</el-table-column>
|
||||
<el-table-column prop="userName" label="用户名称">
|
||||
</el-table-column>
|
||||
<el-table-column prop="title" label="消息标题">
|
||||
</el-table-column>
|
||||
<el-table-column prop="content" label="消息内容">
|
||||
</el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" @click="updataDetails(scope.row)">用户详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<!-- <el-tab-pane label="消息推送" name="seventh">
|
||||
<div>
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="首页弹窗公告" name="dialogMessage">
|
||||
<div style="float: right; margin-right: 2%">
|
||||
<el-button
|
||||
style="margin: 10px 0"
|
||||
:disabled="!isAuth('message:add')"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="refPopAddMessageOpen()"
|
||||
>添加公告</el-button
|
||||
>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
||||
<el-table-column prop="title" label="标题"> </el-table-column>
|
||||
<el-table-column prop="content" label="内容"> </el-table-column>
|
||||
<el-table-column prop="content" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
<el-switch :value="scope.row.state" :active-value="1" :inactive-value="0" @change="dialogMessageUpdate($event, scope.row)"> </el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间"> </el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
:disabled="!isAuth('message:update')"
|
||||
@click="refPopAddMessageOpen( scope.row)"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="danger"
|
||||
:disabled="!isAuth('message:delete')"
|
||||
@click="dialogMessagedeletes(scope.row)"
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center; margin-top: 10px" v-if="false">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[5, 10, 15, 20]"
|
||||
:page-size="limit"
|
||||
:current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper"
|
||||
:total="tableData.totalElements"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
<pop-add-message ref="refPopAddMessage" @refresh="getDialogMessage"></pop-add-message>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="公告中心" name="first">
|
||||
<div style="float: right; margin-right: 2%">
|
||||
<el-button
|
||||
style="margin: 10px 0"
|
||||
:disabled="!isAuth('message:add')"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="addNotice"
|
||||
>添加公告</el-button
|
||||
>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
||||
<el-table-column prop="title" label="标题"> </el-table-column>
|
||||
<el-table-column prop="url" label="链接"> </el-table-column>
|
||||
<el-table-column prop="type" label="类型">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
style="color: #4f9dec; cursor: pointer"
|
||||
v-if="scope.row.type === 'url'"
|
||||
>链接</span
|
||||
>
|
||||
<span
|
||||
style="color: #4f9dec; cursor: pointer"
|
||||
v-if="scope.row.type === 'word'"
|
||||
>文本</span
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间"> </el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
:disabled="!isAuth('message:update')"
|
||||
@click="updates(scope.$index, scope.row)"
|
||||
>修改
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="danger"
|
||||
:disabled="!isAuth('message:delete')"
|
||||
@click="deletes(scope.row)"
|
||||
>删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center; margin-top: 10px">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[5, 10, 15, 20]"
|
||||
:page-size="limit"
|
||||
:current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper"
|
||||
:total="tableData.totalElements"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
<!-- 添加弹框 -->
|
||||
<el-dialog title="添加公告" :visible.sync="dialogFormVisible" center>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>标题:</span
|
||||
>
|
||||
<el-input
|
||||
style="width: 50%"
|
||||
v-model="title"
|
||||
placeholder="请输入公告标题"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px" v-if="type == 'url'">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>链接:</span
|
||||
>
|
||||
<el-input
|
||||
style="width: 50%"
|
||||
v-model="url"
|
||||
placeholder="请输入公告链接"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>类型:</span
|
||||
>
|
||||
<el-select
|
||||
v-model="type"
|
||||
placeholder="请选择公告类型"
|
||||
style="width: 50%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in types"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="releasNoticeTo()"
|
||||
>确 定</el-button
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 修改弹框 -->
|
||||
<el-dialog title="修改" :visible.sync="dialogFormVisible1" center>
|
||||
<el-form :model="form">
|
||||
<el-form-item label="标题:" :label-width="formLabelWidth">
|
||||
<el-input v-model="form.title" style="width: 65%"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="链接:" :label-width="formLabelWidth">
|
||||
<el-input v-model="form.url" style="width: 65%"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型:" :label-width="formLabelWidth">
|
||||
<el-select
|
||||
v-model="form.type"
|
||||
placeholder="请选择类型"
|
||||
style="width: 65%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in types"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible1 = false">取 消</el-button>
|
||||
<el-button type="primary" @click="amendNoticeTo()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="用户反馈" name="two">
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
||||
<el-table-column prop="title" label="联系方式"> </el-table-column>
|
||||
<el-table-column prop="content" label="内容"> </el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间" width="160">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center; margin-top: 10px">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:page-size="limit"
|
||||
:current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper"
|
||||
:total="tableData.totalCount"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="用户消息" name="fourth">
|
||||
<div style="float: right; margin-right: 2%">
|
||||
<el-button
|
||||
style="margin: 10px 0"
|
||||
:disabled="!isAuth('message:push')"
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="document"
|
||||
@click="magNotice"
|
||||
>消息推送</el-button
|
||||
>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column prop="id" label="编号" width="80"> </el-table-column>
|
||||
<el-table-column prop="userName" label="用户名称"> </el-table-column>
|
||||
<el-table-column prop="title" label="消息标题"> </el-table-column>
|
||||
<el-table-column prop="content" label="消息内容"> </el-table-column>
|
||||
<el-table-column prop="createAt" label="创建时间"> </el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="updataDetails(scope.row)"
|
||||
>用户详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center; margin-top: 10px">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:page-size="limit"
|
||||
:current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper"
|
||||
:total="tableData.totalCount"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<!-- <el-tab-pane label="消息推送" name="seventh">
|
||||
<el-table v-loading="tableDataLoading" :data="tableData.list">
|
||||
<el-table-column fixed prop="id" label="编号" width="80">
|
||||
</el-table-column>
|
||||
@@ -155,39 +286,77 @@
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-tab-pane> -->
|
||||
<!-- 消息推送 -->
|
||||
<el-dialog title="消息推送" :visible.sync="dialogFormVisible2" center>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<span style="width: 200px;display: inline-block;text-align: right;">类型:</span>
|
||||
<el-select v-model="flag" placeholder="请选择类型" style="width:50%">
|
||||
<el-option v-for="item in flags" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;" v-if="flag == 1">
|
||||
<span style="width: 200px;display: inline-block;text-align: right;">用户手机号:</span>
|
||||
<el-input style="width: 50%;" v-model="phone" placeholder="请输入用户手机号"></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<span style="width: 200px;display: inline-block;text-align: right;">消息标题:</span>
|
||||
<el-input style="width: 50%;" v-model="title" placeholder="请输入消息标题"></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<span
|
||||
style="width: 200px;display: inline-block;text-align: right;position: relative;top: -65px;">消息内容:</span>
|
||||
<el-input style="width: 50%;" type="textarea" rows="4" v-model="content" placeholder="请输入消息内容">
|
||||
</el-input>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible2 = false">取 消</el-button>
|
||||
<el-button type="primary" @click="magNoticeTo()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-tabs>
|
||||
<!-- 消息推送 -->
|
||||
<el-dialog title="消息推送" :visible.sync="dialogFormVisible2" center>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>类型:</span
|
||||
>
|
||||
<el-select v-model="flag" placeholder="请选择类型" style="width: 50%">
|
||||
<el-option
|
||||
v-for="item in flags"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option> </el-select
|
||||
>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px" v-if="flag == 1">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>用户手机号:</span
|
||||
>
|
||||
<el-input
|
||||
style="width: 50%"
|
||||
v-model="phone"
|
||||
placeholder="请输入用户手机号"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>消息标题:</span
|
||||
>
|
||||
<el-input
|
||||
style="width: 50%"
|
||||
v-model="title"
|
||||
placeholder="请输入消息标题"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span
|
||||
style="
|
||||
width: 200px;
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
position: relative;
|
||||
top: -65px;
|
||||
"
|
||||
>消息内容:</span
|
||||
>
|
||||
<el-input
|
||||
style="width: 50%"
|
||||
type="textarea"
|
||||
rows="4"
|
||||
v-model="content"
|
||||
placeholder="请输入消息内容"
|
||||
>
|
||||
</el-input>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormVisible2 = false">取 消</el-button>
|
||||
<el-button type="primary" @click="magNoticeTo()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-tabs>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {$announcement} from '@/api/announcement';
|
||||
import popAddMessage from './components/pop-add-message.vue';
|
||||
export default {
|
||||
components:{popAddMessage},
|
||||
data() {
|
||||
return {
|
||||
limit: 10,
|
||||
@@ -235,7 +404,7 @@
|
||||
}
|
||||
],
|
||||
formLabelWidth: '200px',
|
||||
activeName: 'first',
|
||||
activeName: 'dialogMessage',
|
||||
tableDataLoading: false,
|
||||
dialogFormVisible1: false,
|
||||
dialogFormVisible2: false,
|
||||
@@ -244,6 +413,36 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
dialogMessageUpdate(e,item){
|
||||
$announcement.update({...item,state:e}).then(({
|
||||
data
|
||||
}) => {
|
||||
this.getDialogMessage()
|
||||
})
|
||||
},
|
||||
// 删除首页弹窗公告
|
||||
dialogMessagedeletes(row) {
|
||||
let delid = row.id
|
||||
this.$confirm(`确定删除此条信息?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
$announcement.del({id:delid}).then(({
|
||||
data
|
||||
}) => {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
this.getDialogMessage()
|
||||
})
|
||||
}).catch(() => {})
|
||||
},
|
||||
refPopAddMessageOpen(item){
|
||||
this.$refs.refPopAddMessage.open(item)
|
||||
},
|
||||
// 详情跳转
|
||||
updataDetails(row) {
|
||||
this.$router.push({
|
||||
@@ -261,7 +460,24 @@
|
||||
this.page = val;
|
||||
this.dataSelect()
|
||||
},
|
||||
getDialogMessage() {
|
||||
this.tableDataLoading = true
|
||||
$announcement.get({
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
}).then(({data}) => {
|
||||
console.log(data)
|
||||
this.tableDataLoading = false
|
||||
this.tableData = {list:data.data}
|
||||
})
|
||||
},
|
||||
handleClick(tab, event) {
|
||||
if (tab._props.label == '首页弹窗公告') {
|
||||
this.page = 1
|
||||
this.limit = 10
|
||||
this.state = 1
|
||||
this.getDialogMessage()
|
||||
}
|
||||
if (tab._props.label == '公告中心') {
|
||||
this.page = 1
|
||||
this.limit = 10
|
||||
@@ -404,6 +620,10 @@
|
||||
},
|
||||
// 获取数据列表
|
||||
dataSelect() {
|
||||
if(this.activeName == 'dialogMessage'){
|
||||
this.getDialogMessage()
|
||||
return
|
||||
}
|
||||
this.tableDataLoading = true
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(`message/page/${this.state}/${this.page}/${this.limit}`),
|
||||
@@ -583,5 +803,4 @@
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
@@ -348,8 +348,19 @@
|
||||
<el-table-column
|
||||
prop="price"
|
||||
label="购买剧价格"
|
||||
width="60"
|
||||
></el-table-column>
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.price?scope.row.price:''}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="wholesalePrice"
|
||||
label="购买10集价格"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.wholesalePrice?scope.row.wholesalePrice:''}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="payNum"
|
||||
label="购买次数"
|
||||
@@ -595,6 +606,17 @@
|
||||
placeholder="请输入购买剧价格"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>购买10集价格:</span
|
||||
>
|
||||
<el-input
|
||||
v-model="wholesalePrice"
|
||||
type="number"
|
||||
style="width: 50%"
|
||||
placeholder="请输入购买10集价格"
|
||||
></el-input>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span style="width: 200px; display: inline-block; text-align: right"
|
||||
>购买次数:</span
|
||||
@@ -1762,6 +1784,7 @@ export default {
|
||||
privilege: [], //标签集合
|
||||
bq: "", //标签
|
||||
price: "", //价格
|
||||
wholesalePrice: "", //10集价格
|
||||
payNum: "", //购买次数
|
||||
viewCounts: 0, //播放量
|
||||
details: "", //短剧介绍
|
||||
@@ -2345,7 +2368,7 @@ export default {
|
||||
this.statusType = row.status;
|
||||
this.details = row.details;
|
||||
this.viewCounts = row.viewCounts;
|
||||
|
||||
this.wholesalePrice = row.wholesalePrice?row.wholesalePrice:'';
|
||||
this.payNum = row.payNum;
|
||||
if (row.isPrice) {
|
||||
this.isPrice = row.isPrice;
|
||||
@@ -2538,7 +2561,7 @@ export default {
|
||||
payNum: this.payNum,
|
||||
price: this.price,
|
||||
viewCounts: this.viewCounts,
|
||||
|
||||
wholesalePrice:this.wholesalePrice,
|
||||
title: this.title,
|
||||
titleImg: this.titleImg,
|
||||
msgUrl: "",
|
||||
@@ -2574,6 +2597,7 @@ export default {
|
||||
that.title = "";
|
||||
that.remark = "";
|
||||
that.titleImg = "";
|
||||
this.wholesalePrice=""
|
||||
that.dataSelect();
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="title"
|
||||
width="800px"
|
||||
top="20px"
|
||||
:visible.sync="dialogVisible"
|
||||
@close="diaClose"
|
||||
:close-on-click-modal="true"
|
||||
>
|
||||
<el-dialog :title="title" width="800px" top="20px" :visible.sync="dialogVisible" @close="diaClose"
|
||||
:close-on-click-modal="true">
|
||||
<div style="max-height: 70vh; overflow-y: scroll">
|
||||
<el-form ref="table" :rules="rules" :model="form" label-width="100px">
|
||||
<el-form-item label="奖励名称" required>
|
||||
@@ -16,16 +10,28 @@
|
||||
<el-radio-group v-model="form.type">
|
||||
<el-radio :label="1">金币</el-radio>
|
||||
<el-radio :label="2">现金</el-radio>
|
||||
<el-radio :label="3">虚拟物品</el-radio>
|
||||
<el-radio :label="9">大转盘抽奖次数</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="奖励图标">
|
||||
<el-upload class="avatar-uploader" v-model="form.img" :action="$http.adornUrl('alioss/upload')"
|
||||
:show-file-list="false" :on-success="uploadSuccess">
|
||||
<div class="upload-file-box">
|
||||
<img v-if="form.img" :src="form.img" class="avatar" />
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon iconss"></i>
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="数量" required>
|
||||
<el-input-number
|
||||
:min="0"
|
||||
:step="1"
|
||||
:step-strictly="form.type == 9 ? true : false"
|
||||
v-model="form.number"
|
||||
></el-input-number>
|
||||
<el-input-number :min="0" :step="1" :step-strictly="form.type == 9 ? true : false"
|
||||
v-model="form.number"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="剩余数量" required>
|
||||
<el-input-number :min="0" :step="1" v-model="form.surplusNumber"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="总数量" required>
|
||||
<el-input-number :min="0" :step="1" v-model="form.totalNumber"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -54,13 +60,16 @@ export default {
|
||||
name: "",
|
||||
number: "",
|
||||
type: "",
|
||||
img: '',
|
||||
surplusNumber: '',
|
||||
totalNumber: '',
|
||||
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
uploadSuccess(file) {
|
||||
this.form.rewardImg = file.data;
|
||||
console.log(this.form.rewardImg);
|
||||
this.form.img = file.data;
|
||||
},
|
||||
open(item, renwu) {
|
||||
console.log(item);
|
||||
@@ -76,8 +85,9 @@ export default {
|
||||
name: "",
|
||||
number: "",
|
||||
type: "",
|
||||
img: "",
|
||||
};
|
||||
this.renwu={}
|
||||
this.renwu = {}
|
||||
},
|
||||
async confirm() {
|
||||
if (!this.form.name) {
|
||||
@@ -120,12 +130,15 @@ export default {
|
||||
.el-form-item__label {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
::v-deep .el-form-item__label {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.dialog-footer {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.upload-file-box {
|
||||
border-radius: 6px;
|
||||
width: 148px;
|
||||
@@ -135,6 +148,7 @@ export default {
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
border: 1px solid #c0c4cc;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
@@ -83,6 +83,12 @@
|
||||
<el-form-item label="按钮内容">
|
||||
<el-input v-model="form.buttonTitle"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="按钮下方内容">
|
||||
<el-input v-model="form.buttonUnderContent"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="按钮下方内容 跳转路径">
|
||||
<el-input v-model="form.buttonUnderUrl "></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
@@ -122,6 +128,8 @@ export default {
|
||||
title: "",
|
||||
shows: 1,
|
||||
sort: "",
|
||||
buttonUnderContent:'',
|
||||
buttonUnderUrl:''
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
@@ -18,11 +18,30 @@
|
||||
<span>{{ returnTypeName(scope.row.type) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖励图片">
|
||||
<template slot-scope="scope">
|
||||
<img
|
||||
style="width: 50px; height: 50px"
|
||||
v-if="scope.row.img"
|
||||
:src="scope.row.img"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="数量">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="剩余数量">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.surplusNumber }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="总数量">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.totalNumber }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="编辑">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" @click="openAdd(scope.row)"
|
||||
@@ -106,20 +125,21 @@ export default {
|
||||
const $types = {
|
||||
1: "金币",
|
||||
2: "现金红包",
|
||||
3: "虚拟物品",
|
||||
9: "大转盘抽奖次数",
|
||||
};
|
||||
return $types[type] ? $types[type] : "";
|
||||
},
|
||||
//数据初始化
|
||||
async init() {
|
||||
const {id}=this.renwu;
|
||||
const { id } = this.renwu;
|
||||
const { data } = await $api.getList({
|
||||
taskId:id,
|
||||
taskId: id,
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
});
|
||||
this.tableData = data.data.records;
|
||||
this.total = data.data.total;
|
||||
this.total = data.data.totalCount;
|
||||
},
|
||||
del(item) {
|
||||
this.$confirm("是否删除该任务?", "提示", {
|
||||
|
||||
221
src/views/renwu/components/record.vue
Normal file
221
src/views/renwu/components/record.vue
Normal file
@@ -0,0 +1,221 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form inline>
|
||||
<el-form-item label="用户ID">
|
||||
<el-input v-model="query.userId" placeholder="请输入用户ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="记录ID">
|
||||
<el-input v-model="query.discSpinningRecordId" placeholder="请输入抽奖记录id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名">
|
||||
<el-input v-model="query.userName" placeholder="请输入用户名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号">
|
||||
<el-input v-model="query.phone" placeholder="手机号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="奖品名称">
|
||||
<el-input v-model="query.prizeName" placeholder="请输入奖品名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="query.status">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="待发放" value="0"></el-option>
|
||||
<el-option label="已发放" value="1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="日期">
|
||||
<el-date-picker v-model="timeValue" type="datetimerange" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期" @change="changeTime" :default-time="['00:00:00', '23:59:59']">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="queryHandle">查询</el-button>
|
||||
<el-button @click="resetHandle">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="tableData.loading" :data="tableData.list" border stripe>
|
||||
<el-table-column label="用户ID" prop="userId"></el-table-column>
|
||||
<el-table-column label="记录ID" prop="discSpinningRecordId"></el-table-column>
|
||||
<el-table-column label="用户名" prop="userName"></el-table-column>
|
||||
<el-table-column label="手机号" prop="phone"></el-table-column>
|
||||
<el-table-column label="奖品名称" prop="prizeName"></el-table-column>
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag type="success" v-if="scope.row.status == 1" disable-transitions>
|
||||
已发放
|
||||
</el-tag>
|
||||
<el-tag type="warning" v-if="scope.row.status == 0" disable-transitions>
|
||||
待发放
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="createTime"></el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" @click="deliverHandle(scope.row)" v-if="scope.row.status == 0">
|
||||
发放
|
||||
</el-button>
|
||||
<span v-else>已发放</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="tableData.limit" :current-page="tableData.page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="tableData.total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<el-dialog title="发放奖品" width="600px" :visible.sync="visible" @close="onClose">
|
||||
<el-form :model="form" :rules="rules" ref="form">
|
||||
<el-form-item label="地址" prop="address">
|
||||
<el-input v-model="form.address" placeholder="请输入地址"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号" prop="phone">
|
||||
<el-input v-model="form.phone" placeholder="请输入手机号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer" style="display: flex; justify-content: flex-end;">
|
||||
<el-button size="small" @click="visible = false"> 取 消 </el-button>
|
||||
<el-button size="small" type="primary" :loading="confirmLoading"
|
||||
@click="confirmHandle">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
userPrizeExchangePage,
|
||||
userPrizeExchangeDeliver
|
||||
} from "@/api/renwu-record.js";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
timeValue: [],
|
||||
query: {
|
||||
userId: "",
|
||||
discSpinningRecordId: "",
|
||||
userName: "",
|
||||
prizeName: "",
|
||||
status: "",
|
||||
phone: "",
|
||||
beginDate: "",
|
||||
endDate: ""
|
||||
},
|
||||
resetQuery: {},
|
||||
tableData: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
total: 0,
|
||||
list: [],
|
||||
loading: false
|
||||
},
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
form: {
|
||||
id: "",
|
||||
address: "",
|
||||
remark: "",
|
||||
phone: ""
|
||||
},
|
||||
rules: {
|
||||
address: [
|
||||
{ required: true, message: "请输入地址", trigger: "blur" }
|
||||
],
|
||||
phone: [
|
||||
{ required: true, message: "请输入正确的手机号", trigger: "blur", pattern: /^(?:(?:\+|00)86)?1\d{10}$/ }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.resetQuery = { ...this.query };
|
||||
this.userPrizeExchangePage();
|
||||
},
|
||||
methods: {
|
||||
// 关闭弹窗, 重置表单
|
||||
onClose() {
|
||||
this.$refs.form.resetFields();
|
||||
},
|
||||
// 打开发放奖品弹窗
|
||||
deliverHandle(row) {
|
||||
this.form.id = row.id;
|
||||
this.visible = true;
|
||||
},
|
||||
// 提交发放奖品
|
||||
confirmHandle() {
|
||||
this.$refs.form.validate(async valid => {
|
||||
if (valid) {
|
||||
this.confirmLoading = true;
|
||||
try {
|
||||
const { data } = await userPrizeExchangeDeliver(this.form);
|
||||
if (data.code == 0) {
|
||||
this.$message.success("发放成功");
|
||||
this.visible = false;
|
||||
this.userPrizeExchangePage();
|
||||
} else {
|
||||
this.$message.error(data.msg || "发放失败");
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
this.confirmLoading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 开始查询
|
||||
queryHandle() {
|
||||
this.page = 1;
|
||||
this.userPrizeExchangePage();
|
||||
},
|
||||
// 重置查询
|
||||
resetHandle() {
|
||||
this.query = { ...this.resetQuery };
|
||||
this.timeValue = [];
|
||||
this.userPrizeExchangePage();
|
||||
},
|
||||
// 确认选择日期
|
||||
changeTime() {
|
||||
if (this.timeValue.length == 2) {
|
||||
this.query.beginDate = this.timeValue[0];
|
||||
this.query.endDate = this.timeValue[1];
|
||||
} else {
|
||||
this.query.beginDate = "";
|
||||
this.query.endDate = "";
|
||||
}
|
||||
},
|
||||
// 分页数量
|
||||
handleSizeChange(size) {
|
||||
this.tableData.limit = size;
|
||||
this.userPrizeExchangePage();
|
||||
},
|
||||
// 分页
|
||||
handleCurrentChange(val) {
|
||||
this.tableData.page = val;
|
||||
this.userPrizeExchangePage();
|
||||
},
|
||||
// 获取列表
|
||||
async userPrizeExchangePage() {
|
||||
try {
|
||||
this.tableData.loading = true;
|
||||
const { data } = await userPrizeExchangePage({
|
||||
...this.query,
|
||||
page: this.tableData.page,
|
||||
limit: this.tableData.limit
|
||||
});
|
||||
this.tableData.loading = false;
|
||||
this.tableData.list = data.page.list;
|
||||
this.tableData.total = data.page.totalCount;
|
||||
} catch (error) {
|
||||
this.tableData.loading = false;
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -1,97 +1,86 @@
|
||||
<template>
|
||||
<div class="">
|
||||
<el-button type="primary" @click="openAddZhuanpan">添加任务</el-button>
|
||||
<div class="zhanwei"></div>
|
||||
<el-table :border="true" :data="tableData">
|
||||
<el-table-column
|
||||
prop="sort"
|
||||
label="排序"
|
||||
sortable
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column label="标题" prop="title"></el-table-column>
|
||||
<el-tabs v-model="tabActive">
|
||||
<el-tab-pane label="任务" name="renwu"></el-tab-pane>
|
||||
<el-tab-pane label="兑换" name="exchang"></el-tab-pane>
|
||||
</el-tabs>
|
||||
<div v-if="tabActive == 'renwu'">
|
||||
<el-button type="primary" @click="openAddZhuanpan">添加任务</el-button>
|
||||
<div class="zhanwei"></div>
|
||||
<el-table :border="true" :data="tableData">
|
||||
<el-table-column prop="sort" label="排序" sortable width="50">
|
||||
</el-table-column>
|
||||
<el-table-column label="标题" prop="title"></el-table-column>
|
||||
|
||||
<el-table-column label="任务类型">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ returnTypeName(scope.row.type) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="详情描述">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.detail }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖励设置">
|
||||
<template slot-scope="scope">
|
||||
<div class="flex flex-center">
|
||||
<el-button type="text" size="mini" @click="opengiftList(scope.row)"
|
||||
>编辑</el-button
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- <span>{{ scope.row.rewardDetail }}</span> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖励描述">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.rewardDetail }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖励图片">
|
||||
<template slot-scope="scope">
|
||||
<img
|
||||
style="width: 50px; height: 50px"
|
||||
v-if="scope.row.rewardImg"
|
||||
:src="scope.row.rewardImg"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="达标次数">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.type == 2">{{ scope.row.number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="跳转类型">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ returnJumpTypeName(scope.row.jumpType) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="跳转路径">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.buttonUrl }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否展示">
|
||||
<template slot-scope="scope">
|
||||
<el-switch @change="showsChange($event,scope.row)" v-model="scope.row.shows" :inactive-value="0" :active-value="1"></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="编辑">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" @click="openAddZhuanpan(scope.row)"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-button type="text" size="mini" @click="del(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:page-size="limit"
|
||||
:current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper"
|
||||
:total="total"
|
||||
>
|
||||
</el-pagination>
|
||||
<el-table-column label="任务类型">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ returnTypeName(scope.row.type) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="详情描述">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.detail }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖励设置">
|
||||
<template slot-scope="scope">
|
||||
<div class="flex flex-center">
|
||||
<el-button type="text" size="mini" @click="opengiftList(scope.row)">编辑</el-button>
|
||||
</div>
|
||||
|
||||
<!-- <span>{{ scope.row.rewardDetail }}</span> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖励描述">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.rewardDetail }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="奖励图片">
|
||||
<template slot-scope="scope">
|
||||
<img style="width: 50px; height: 50px" v-if="scope.row.rewardImg" :src="scope.row.rewardImg" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="达标次数">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.type == 2">{{ scope.row.number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="跳转类型">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ returnJumpTypeName(scope.row.jumpType) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="跳转路径">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.buttonUrl }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否展示">
|
||||
<template slot-scope="scope">
|
||||
<el-switch @change="showsChange($event, scope.row)" v-model="scope.row.shows" :inactive-value="0"
|
||||
:active-value="1"></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="编辑">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" @click="openAddZhuanpan(scope.row)">编辑</el-button>
|
||||
<el-button type="text" size="mini" @click="del(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<add-renwu ref="refRenwu" @refresh="init"></add-renwu>
|
||||
<gift-list ref="giftList" @refresh="init"></gift-list>
|
||||
</div>
|
||||
<div v-if="tabActive == 'exchang'">
|
||||
<record ref="record" />
|
||||
</div>
|
||||
<add-renwu ref="refRenwu" @refresh="init"></add-renwu>
|
||||
<gift-list ref="giftList" @refresh="init"></gift-list>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -99,12 +88,14 @@
|
||||
import $api from "@/api/renwu.js";
|
||||
import addRenwu from "./components/pop-add-renwu.vue";
|
||||
import giftList from "./components/pop-gift-list.vue";
|
||||
import {$renwuType,$jumpType} from './data.js'
|
||||
import record from "./components/record.vue";
|
||||
import { $renwuType, $jumpType } from './data.js'
|
||||
|
||||
export default {
|
||||
components: { addRenwu,giftList },
|
||||
components: { addRenwu, giftList, record },
|
||||
data() {
|
||||
return {
|
||||
tabActive: 'renwu',
|
||||
total: 0,
|
||||
tableData: [],
|
||||
page: 1,
|
||||
@@ -114,21 +105,21 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
opengiftList(item){
|
||||
opengiftList(item) {
|
||||
this.$refs.giftList.open(item)
|
||||
},
|
||||
async showsChange(e,item){
|
||||
async showsChange(e, item) {
|
||||
console.log(e)
|
||||
const res=await $api.update({...item,shows:e})
|
||||
if(res.data.code==0){
|
||||
const res = await $api.update({ ...item, shows: e })
|
||||
if (res.data.code == 0) {
|
||||
this.$message.success('修改成功')
|
||||
this.init()
|
||||
}else{
|
||||
} else {
|
||||
this.$message.error(res.data.msg || '修改失败')
|
||||
}
|
||||
},
|
||||
handleSizeChange() {
|
||||
this.page = 1;
|
||||
handleSizeChange(limit) {
|
||||
this.limit = limit;
|
||||
this.init();
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
@@ -136,8 +127,8 @@ export default {
|
||||
this.init();
|
||||
},
|
||||
returnJumpTypeName(type) {
|
||||
console.log(type)
|
||||
console.log($jumpType[type])
|
||||
// console.log(type)
|
||||
// console.log($jumpType[type])
|
||||
return $jumpType[type] ? $jumpType[type] : "";
|
||||
},
|
||||
returnTypeName(type) {
|
||||
@@ -150,7 +141,7 @@ export default {
|
||||
limit: this.limit,
|
||||
});
|
||||
this.tableData = data.data.records;
|
||||
this.total = data.data.total;
|
||||
this.total = data.data.totalCount;
|
||||
},
|
||||
del(item) {
|
||||
this.$confirm("是否删除该任务?", "提示", {
|
||||
@@ -169,7 +160,7 @@ export default {
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => { });
|
||||
},
|
||||
openAddZhuanpan(item) {
|
||||
this.$refs.refRenwu.open(item);
|
||||
@@ -180,19 +171,14 @@ export default {
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.zhanwei {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
}
|
||||
// .flex{
|
||||
// display: flex;
|
||||
// }
|
||||
// .flex-center{
|
||||
// justify-content: center;
|
||||
// }
|
||||
|
||||
</style>
|
||||
@@ -57,7 +57,7 @@
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="size" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="homeData.total">
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="homeData.totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
window.SITE_CONFIG = {};
|
||||
|
||||
// api接口请求地址
|
||||
window.SITE_CONFIG['baseUrl'] = 'https://ditanxiong.gomyorder.cn/sqx_fast';
|
||||
|
||||
window.SITE_CONFIG['baseUrl'] = 'https://ditanxiong.gomyorder.cn/czg';
|
||||
|
||||
// cdn地址 = 域名 + 版本号
|
||||
window.SITE_CONFIG['domain'] = './'; // 域名
|
||||
window.SITE_CONFIG['version'] = ''; // 版本号(年月日时分)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
window.SITE_CONFIG = {};
|
||||
|
||||
// api接口请求地址
|
||||
window.SITE_CONFIG['baseUrl'] = 'https://video.hnsiyao.cn/sqx_fast';
|
||||
window.SITE_CONFIG['baseUrl'] = 'https://video.hnsiyao.cn/czg';
|
||||
|
||||
// cdn地址 = 域名 + 版本号
|
||||
window.SITE_CONFIG['domain'] = './'; // 域名
|
||||
|
||||
Reference in New Issue
Block a user