vue2-client 1.2.61 → 1.2.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,7 +45,8 @@ export default {
45
45
  | isExports | 是否显示导出按钮 | Boolean | true |
46
46
  | viewMode | 是否为预览模式 | Boolean | false |
47
47
  | @action | 表格详情列的单击事件 | event | - |
48
- | @afterSubmit | 增删改提交后的回调方法 | event | - |
48
+ | @afterSubmit | 增改提交后的回调方法 | event | - |
49
+ | @afterDelete | 删除提交后的回调方法 | event | - |
49
50
  | @afterSearchSubmit | 查询提交后的回调方法 | event | - |
50
51
  | @afterQuery | 表格查询后的回调方法 | event | - |
51
52
  ## 例子1
@@ -22,7 +22,7 @@
22
22
  <a-button @click="showDrawer">
23
23
  <a-icon :style="iconStyle" type="table" />
24
24
  </a-button>
25
- <a-button @click="exports">
25
+ <a-button @click="exports" v-if="!buttonState || buttonState.export">
26
26
  <a-icon :style="iconStyle" type="cloud-download"/>
27
27
  </a-button>
28
28
  </a-button-group>
@@ -164,6 +164,13 @@ export default {
164
164
  default: () => {
165
165
  return {}
166
166
  }
167
+ },
168
+ // 按钮
169
+ buttonState: {
170
+ type: Object,
171
+ default: () => {
172
+ return undefined
173
+ }
167
174
  }
168
175
  },
169
176
  computed: {
@@ -1,58 +1,58 @@
1
- <template>
2
- <div>
3
- <create-query
4
- :visible.sync="visible"
5
- @saveQueryParams="saveQueryParams"
6
- />
7
- <create-simple-form-query
8
- :visible.sync="createSimpleFormVisible"
9
- @saveSimpleFormQueryParams="saveSimpleFormQueryParams"
10
- />
11
- <a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showDrawer">打开完整查询配置生成工具</a-button>
12
- <a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showSimpleFormQueryParamsDrawer">打开基础表单配置生成工具</a-button>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- import { post } from '@vue2-client/services/api/restTools'
18
-
19
- export default {
20
- name: 'CreateQueryPage',
21
- data () {
22
- return {
23
- visible: false,
24
- createSimpleFormVisible: false
25
- }
26
- },
27
- methods: {
28
- showDrawer () {
29
- this.visible = true
30
- },
31
- showSimpleFormQueryParamsDrawer () {
32
- this.createSimpleFormVisible = true
33
- },
34
- // 存储查询配置信息
35
- saveQueryParams (source) {
36
- return post('/webmeterapi/addOrEditQueryParams', {
37
- source: source
38
- }).then(res => {
39
- this.$message.success('保存查询配置成功')
40
- }, err => {
41
- console.error(err)
42
- })
43
- },
44
- // 存储基础表单配置信息
45
- saveSimpleFormQueryParams (source) {
46
- return post('/webmeterapi/addOrEditSimpleFormQueryParams', {
47
- source: source
48
- }).then(res => {
49
- this.$message.success('保存基础表单配置成功')
50
- }, err => {
51
- console.error(err)
52
- })
53
- }
54
- }
55
- }
56
- </script>
57
- <style lang="less" scoped>
58
- </style>
1
+ <template>
2
+ <div>
3
+ <create-query
4
+ :visible.sync="visible"
5
+ @saveQueryParams="saveQueryParams"
6
+ />
7
+ <create-simple-form-query
8
+ :visible.sync="createSimpleFormVisible"
9
+ @saveSimpleFormQueryParams="saveSimpleFormQueryParams"
10
+ />
11
+ <a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showDrawer">打开完整查询配置生成工具</a-button>
12
+ <a-button type="primary" style="margin-top: 10px;margin-left: 10px;" @click="showSimpleFormQueryParamsDrawer">打开基础表单配置生成工具</a-button>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import { post } from '@vue2-client/services/api/restTools'
18
+
19
+ export default {
20
+ name: 'CreateQueryPage',
21
+ data () {
22
+ return {
23
+ visible: false,
24
+ createSimpleFormVisible: false
25
+ }
26
+ },
27
+ methods: {
28
+ showDrawer () {
29
+ this.visible = true
30
+ },
31
+ showSimpleFormQueryParamsDrawer () {
32
+ this.createSimpleFormVisible = true
33
+ },
34
+ // 存储查询配置信息
35
+ saveQueryParams (source) {
36
+ return post('/webmeterapi/addOrEditQueryParams', {
37
+ source: source
38
+ }).then(res => {
39
+ this.$message.success('保存查询配置成功')
40
+ }, err => {
41
+ console.error(err)
42
+ })
43
+ },
44
+ // 存储基础表单配置信息
45
+ saveSimpleFormQueryParams (source) {
46
+ return post('/webmeterapi/addOrEditSimpleFormQueryParams', {
47
+ source: source
48
+ }).then(res => {
49
+ this.$message.success('保存基础表单配置成功')
50
+ }, err => {
51
+ console.error(err)
52
+ })
53
+ }
54
+ }
55
+ }
56
+ </script>
57
+ <style lang="less" scoped>
58
+ </style>
package/vue.config.js CHANGED
@@ -1,153 +1,153 @@
1
- const path = require('path')
2
- const webpack = require('webpack')
3
- const ThemeColorReplacer = require('webpack-theme-color-replacer')
4
- const { getThemeColors, modifyVars } = require('./src/utils/themeUtil')
5
- const { resolveCss } = require('./src/utils/theme-color-replacer-extend')
6
- const CompressionWebpackPlugin = require('compression-webpack-plugin')
7
-
8
- const productionGzipExtensions = ['js', 'css']
9
- const isProd = process.env.NODE_ENV === 'production'
10
-
11
- // const assetsCDN = {
12
- // // webpack build externals
13
- // externals: {
14
- // vue: 'Vue',
15
- // 'vue-router': 'VueRouter',
16
- // vuex: 'Vuex',
17
- // axios: 'axios',
18
- // nprogress: 'NProgress',
19
- // clipboard: 'ClipboardJS',
20
- // '@antv/data-set': 'DataSet',
21
- // 'js-cookie': 'Cookies'
22
- // },
23
- // css: [
24
- // ],
25
- // js: [
26
- // '//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js',
27
- // '//cdn.jsdelivr.net/npm/vue-router@3.3.4/dist/vue-router.min.js',
28
- // '//cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js',
29
- // '//cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js',
30
- // '//cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js',
31
- // '//cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js',
32
- // '//cdn.jsdelivr.net/npm/@antv/data-set@0.11.4/build/data-set.min.js',
33
- // '//cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js'
34
- // ]
35
- // }
36
-
37
- const server = 'http://121.36.106.17:8400'
38
- // const local = 'http://localhost:8445/webmeter'
39
- const local = 'http://123.60.214.109:8405/webmeter'
40
-
41
- module.exports = {
42
- devServer: {
43
- // development server port 8000
44
- port: 8001,
45
- // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
46
- proxy: {
47
- '/rs': {
48
- target: server,
49
- ws: false,
50
- changeOrigin: true
51
- },
52
- '/image': {
53
- target: server,
54
- ws: false,
55
- changeOrigin: true
56
- },
57
- '/webapps': {
58
- target: server,
59
- ws: false,
60
- changeOrigin: true
61
- },
62
- '/webmeterapi': {
63
- pathRewrite: { '^/webmeterapi': '/rs/logic' },
64
- target: local,
65
- changeOrigin: true
66
- },
67
- '/webmeteruploadapi': {
68
- pathRewrite: { '^/webmeteruploadapi': '/rs/file' },
69
- target: local,
70
- changeOrigin: true
71
- },
72
- '/webmeterresourceapi': {
73
- pathRewrite: { '^/webmeterresourceapi': '/rs/resource' },
74
- target: local,
75
- changeOrigin: true
76
- },
77
- '/resource': {
78
- pathRewrite: { '^/resource': '/' },
79
- target: 'http://127.0.0.1:4789',
80
- changeOrigin: true
81
- }
82
- }
83
- },
84
- pluginOptions: {
85
- 'style-resources-loader': {
86
- preProcessor: 'less',
87
- patterns: [path.resolve(__dirname, './src/theme/theme.less')]
88
- }
89
- },
90
- configureWebpack: config => {
91
- config.entry.app = ['babel-polyfill', 'whatwg-fetch', './src/main.js']
92
- config.performance = {
93
- hints: false
94
- }
95
- config.plugins.push(
96
- new ThemeColorReplacer({
97
- fileName: 'css/theme-colors-[contenthash:8].css',
98
- matchColors: getThemeColors(),
99
- injectCss: true,
100
- resolveCss
101
- })
102
- )
103
- // Ignore all locale files of moment.js
104
- config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/))
105
- // 生产环境下将资源压缩成gzip格式
106
- if (isProd) {
107
- // add `CompressionWebpack` plugin to webpack plugins
108
- config.plugins.push(new CompressionWebpackPlugin({
109
- algorithm: 'gzip',
110
- test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
111
- threshold: 10240,
112
- minRatio: 0.8
113
- }))
114
- }
115
- // if prod, add externals
116
- // if (isProd) {
117
- // config.externals = assetsCDN.externals
118
- // }
119
- },
120
- chainWebpack: config => {
121
- // 生产环境下关闭css压缩的 colormin 项,因为此项优化与主题色替换功能冲突
122
- if (isProd) {
123
- config.plugin('optimize-css')
124
- .tap(args => {
125
- args[0].cssnanoOptions.preset[1].colormin = false
126
- return args
127
- })
128
- }
129
- // 生产环境下使用CDN
130
- // if (isProd) {
131
- // config.plugin('html')
132
- // .tap(args => {
133
- // args[0].cdn = assetsCDN
134
- // return args
135
- // })
136
- // }
137
- config.resolve.alias.set('@vue2-client', path.resolve(__dirname, 'src'))
138
- },
139
- css: {
140
- loaderOptions: {
141
- less: {
142
- lessOptions: {
143
- modifyVars: modifyVars(),
144
- javascriptEnabled: true
145
- }
146
- }
147
- }
148
- },
149
- publicPath: process.env.VUE_APP_PUBLIC_PATH,
150
- outputDir: 'dist',
151
- assetsDir: 'static',
152
- productionSourceMap: false
153
- }
1
+ const path = require('path')
2
+ const webpack = require('webpack')
3
+ const ThemeColorReplacer = require('webpack-theme-color-replacer')
4
+ const { getThemeColors, modifyVars } = require('./src/utils/themeUtil')
5
+ const { resolveCss } = require('./src/utils/theme-color-replacer-extend')
6
+ const CompressionWebpackPlugin = require('compression-webpack-plugin')
7
+
8
+ const productionGzipExtensions = ['js', 'css']
9
+ const isProd = process.env.NODE_ENV === 'production'
10
+
11
+ // const assetsCDN = {
12
+ // // webpack build externals
13
+ // externals: {
14
+ // vue: 'Vue',
15
+ // 'vue-router': 'VueRouter',
16
+ // vuex: 'Vuex',
17
+ // axios: 'axios',
18
+ // nprogress: 'NProgress',
19
+ // clipboard: 'ClipboardJS',
20
+ // '@antv/data-set': 'DataSet',
21
+ // 'js-cookie': 'Cookies'
22
+ // },
23
+ // css: [
24
+ // ],
25
+ // js: [
26
+ // '//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js',
27
+ // '//cdn.jsdelivr.net/npm/vue-router@3.3.4/dist/vue-router.min.js',
28
+ // '//cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js',
29
+ // '//cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js',
30
+ // '//cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.js',
31
+ // '//cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js',
32
+ // '//cdn.jsdelivr.net/npm/@antv/data-set@0.11.4/build/data-set.min.js',
33
+ // '//cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js'
34
+ // ]
35
+ // }
36
+
37
+ const server = 'http://121.36.106.17:8400'
38
+ // const local = 'http://localhost:8445/webmeter'
39
+ const local = 'http://123.60.214.109:8405/webmeter'
40
+
41
+ module.exports = {
42
+ devServer: {
43
+ // development server port 8000
44
+ port: 8001,
45
+ // If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
46
+ proxy: {
47
+ '/rs': {
48
+ target: server,
49
+ ws: false,
50
+ changeOrigin: true
51
+ },
52
+ '/image': {
53
+ target: server,
54
+ ws: false,
55
+ changeOrigin: true
56
+ },
57
+ '/webapps': {
58
+ target: server,
59
+ ws: false,
60
+ changeOrigin: true
61
+ },
62
+ '/webmeterapi': {
63
+ pathRewrite: { '^/webmeterapi': '/rs/logic' },
64
+ target: local,
65
+ changeOrigin: true
66
+ },
67
+ '/webmeteruploadapi': {
68
+ pathRewrite: { '^/webmeteruploadapi': '/rs/file' },
69
+ target: local,
70
+ changeOrigin: true
71
+ },
72
+ '/webmeterresourceapi': {
73
+ pathRewrite: { '^/webmeterresourceapi': '/rs/resource' },
74
+ target: local,
75
+ changeOrigin: true
76
+ },
77
+ '/resource': {
78
+ pathRewrite: { '^/resource': '/' },
79
+ target: 'http://127.0.0.1:4789',
80
+ changeOrigin: true
81
+ }
82
+ }
83
+ },
84
+ pluginOptions: {
85
+ 'style-resources-loader': {
86
+ preProcessor: 'less',
87
+ patterns: [path.resolve(__dirname, './src/theme/theme.less')]
88
+ }
89
+ },
90
+ configureWebpack: config => {
91
+ config.entry.app = ['babel-polyfill', 'whatwg-fetch', './src/main.js']
92
+ config.performance = {
93
+ hints: false
94
+ }
95
+ config.plugins.push(
96
+ new ThemeColorReplacer({
97
+ fileName: 'css/theme-colors-[contenthash:8].css',
98
+ matchColors: getThemeColors(),
99
+ injectCss: true,
100
+ resolveCss
101
+ })
102
+ )
103
+ // Ignore all locale files of moment.js
104
+ config.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/))
105
+ // 生产环境下将资源压缩成gzip格式
106
+ if (isProd) {
107
+ // add `CompressionWebpack` plugin to webpack plugins
108
+ config.plugins.push(new CompressionWebpackPlugin({
109
+ algorithm: 'gzip',
110
+ test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
111
+ threshold: 10240,
112
+ minRatio: 0.8
113
+ }))
114
+ }
115
+ // if prod, add externals
116
+ // if (isProd) {
117
+ // config.externals = assetsCDN.externals
118
+ // }
119
+ },
120
+ chainWebpack: config => {
121
+ // 生产环境下关闭css压缩的 colormin 项,因为此项优化与主题色替换功能冲突
122
+ if (isProd) {
123
+ config.plugin('optimize-css')
124
+ .tap(args => {
125
+ args[0].cssnanoOptions.preset[1].colormin = false
126
+ return args
127
+ })
128
+ }
129
+ // 生产环境下使用CDN
130
+ // if (isProd) {
131
+ // config.plugin('html')
132
+ // .tap(args => {
133
+ // args[0].cdn = assetsCDN
134
+ // return args
135
+ // })
136
+ // }
137
+ config.resolve.alias.set('@vue2-client', path.resolve(__dirname, 'src'))
138
+ },
139
+ css: {
140
+ loaderOptions: {
141
+ less: {
142
+ lessOptions: {
143
+ modifyVars: modifyVars(),
144
+ javascriptEnabled: true
145
+ }
146
+ }
147
+ }
148
+ },
149
+ publicPath: process.env.VUE_APP_PUBLIC_PATH,
150
+ outputDir: 'dist',
151
+ assetsDir: 'static',
152
+ productionSourceMap: false
153
+ }