vue2-client 1.2.14 → 1.2.17

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.
package/CHANGELOG.md CHANGED
@@ -1,24 +1,35 @@
1
- # Change Log
2
- > 所有关于本项目的变化都在该文档里。
3
-
4
- **##1.2.9 - 1.2.13 -2022-03-24 @江超**
5
- - 功能新增:
6
- - [查询配置生成]:下拉框表单选择业务逻辑作为数据源时,可以选择数据源加载方式
7
- - [XFormItem]:当数据源加载方式为懒加载搜索时,将渲染一个可以根据关键词实时查询的选择框
8
- - 问题修复:
9
- - [查询配置生成]:修复修改已有查询配置时,显示状态不一致的问题
10
- - [指令详情页]:修复操作记录查询报错的问题
11
-
12
- **##1.2.8 -2022-03-24 @江超**
13
- - 问题修复:
14
- - [登录页面]:修复登录后欢迎提示出现undefined的问题
15
- - [查询配置生成]:修复修改表单查询方式下拉框报错的问题
16
-
17
- **##1.2.7 -2022-03-24 @江超**
18
- - 功能新增:
19
- - [系统设置]:新增 [工单提交] 功能(submitTicket),用户在操作业务时如发现系统异常,可使用该功能反馈问题
20
- - [登录页面]:登陆人部门为 [用户工单登记] 时会直接跳转到[工单提交]页面(在基于新架构的营收全面使用时,会取消该限制,并将[工单提交]作为常驻功能)
21
-
22
- **##1.0.0 - 1.2.6 -2022-03-23 @陈栋扬**
23
- - 初始化:
24
- - 公共组件和配置抽取完成
1
+ # Change Log
2
+ > 所有关于本项目的变化都在该文档里。
3
+
4
+ **##1.2.17 -2022-03-25 @朱子峰**
5
+ - 问题修复:
6
+ - [钉钉消息推送]:将类别字段从int修改为String,直接传字典中的值
7
+ - 功能修改:
8
+ - [问题描述]:如果用户没有填写描述,新增默认值:“该用户没有填写描述信息”
9
+ - [问题描述]:展示问题描述时,按时间倒序展示,最新的信息显示在最上面
10
+
11
+ **##1.2.16 -2022-03-25 @张振宇**
12
+ - 功能修改:
13
+ - [查询配置生成]:逻辑修改,取消选择组和顺序,用户新增数组字段时需要选择是否为根节点,根节点index为1,不是根节点得数据字段index默认为父节点index+1
14
+
15
+ **##1.2.9 - 1.2.15 -2022-03-24 @江超**
16
+ - 功能新增:
17
+ - [查询配置生成]:下拉框表单选择业务逻辑作为数据源时,可以选择数据源加载方式
18
+ - [XFormItem]:当数据源加载方式为懒加载搜索时,将渲染一个可以根据关键词实时查询的选择框
19
+ - 问题修复:
20
+ - [查询配置生成]:修复修改已有查询配置时,显示状态不一致的问题
21
+ - [指令详情页]:修复操作记录查询报错的问题
22
+
23
+ **##1.2.8 -2022-03-24 @江超**
24
+ - 问题修复:
25
+ - [登录页面]:修复登录后欢迎提示出现undefined的问题
26
+ - [查询配置生成]:修复修改表单查询方式下拉框报错的问题
27
+
28
+ **##1.2.7 -2022-03-24 @江超**
29
+ - 功能新增:
30
+ - [系统设置]:新增 [工单提交] 功能(submitTicket),用户在操作业务时如发现系统异常,可使用该功能反馈问题
31
+ - [登录页面]:登陆人部门为 [用户工单登记] 时会直接跳转到[工单提交]页面(在基于新架构的营收全面使用时,会取消该限制,并将[工单提交]作为常驻功能)
32
+
33
+ **##1.0.0 - 1.2.6 -2022-03-23 @陈栋扬**
34
+ - 初始化:
35
+ - 公共组件和配置抽取完成
package/package.json CHANGED
@@ -1,89 +1,89 @@
1
- {
2
- "name": "vue2-client",
3
- "version": "1.2.14",
4
- "private": false,
5
- "scripts": {
6
- "serve": "vue-cli-service serve",
7
- "build": "vue-cli-service build",
8
- "test:unit": "vue-cli-service test:unit",
9
- "lint": "vue-cli-service lint"
10
- },
11
- "dependencies": {
12
- "@antv/data-set": "^0.11.4",
13
- "@antv/f2": "^3.6.4",
14
- "@antv/g2plot": "^2.3.33",
15
- "@logicflow/core": "^1.1.7",
16
- "@logicflow/extension": "^1.1.7",
17
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
18
- "@vue/babel-preset-jsx": "^1.2.4",
19
- "animate.css": "^4.1.0",
20
- "ant-design-vue": "1.7.8",
21
- "axios": "^0.19.2",
22
- "clipboard": "^2.0.6",
23
- "core-js": "^3.6.5",
24
- "date-fns": "^2.14.0",
25
- "default-passive-events": "^2.0.0",
26
- "enquire.js": "^2.1.6",
27
- "file-saver": "^2.0.5",
28
- "highlight.js": "^10.2.1",
29
- "js-cookie": "^2.2.1",
30
- "jsencrypt": "^3.0.0-rc.1",
31
- "lodash.get": "^4.4.2",
32
- "mockjs": "^1.1.0",
33
- "nprogress": "^0.2.0",
34
- "viser-vue": "^2.4.8",
35
- "vue": "^2.6.11",
36
- "vue-i18n": "^8.18.2",
37
- "vue-json-viewer": "^2.2.15",
38
- "vue-router": "^3.3.4",
39
- "vuedraggable": "^2.23.2",
40
- "vuex": "^3.4.0",
41
- "xlsx": "0.17.5"
42
- },
43
- "devDependencies": {
44
- "@ant-design/colors": "^4.0.1",
45
- "@vue/cli-plugin-babel": "^4.4.0",
46
- "@vue/cli-plugin-eslint": "^4.4.0",
47
- "@vue/cli-plugin-router": "^4.4.0",
48
- "@vue/cli-plugin-unit-jest": "~5.0.0",
49
- "@vue/cli-plugin-vuex": "^4.4.0",
50
- "@vue/cli-service": "^4.4.0",
51
- "@vue/eslint-config-standard": "^4.0.0",
52
- "@vue/test-utils": "^1.1.3",
53
- "@vue/vue2-jest": "^27.0.0-alpha.2",
54
- "@vuepress/plugin-back-to-top": "^1.5.2",
55
- "babel-eslint": "^10.1.0",
56
- "babel-jest": "^27.0.6",
57
- "babel-plugin-transform-remove-console": "^6.9.4",
58
- "babel-polyfill": "^6.26.0",
59
- "compression-webpack-plugin": "^2.0.0",
60
- "deepmerge": "^4.2.2",
61
- "echarts": "^4.9.0",
62
- "eslint": "^6.7.2",
63
- "eslint-plugin-import": "^2.25.3",
64
- "eslint-plugin-node": "^11.1.0",
65
- "eslint-plugin-standard": "^5.0.0",
66
- "eslint-plugin-vue": "^6.2.2",
67
- "fast-deep-equal": "^3.1.3",
68
- "gh-pages": "^3.1.0",
69
- "jest": "^27.0.5",
70
- "less-loader": "^6.1.1",
71
- "react-bmap": "^1.0.121",
72
- "script-loader": "^0.7.2",
73
- "style-resources-loader": "^1.3.2",
74
- "vue-amap": "^0.5.10",
75
- "vue-baidu-map": "^0.21.22",
76
- "vue-bmap-gl": "0.0.29",
77
- "vue-cli-plugin-style-resources-loader": "^0.1.4",
78
- "vue-mapvgl": "0.0.28",
79
- "vue-template-compiler": "^2.6.11",
80
- "vuepress": "^1.5.2",
81
- "webpack-theme-color-replacer": "1.3.18",
82
- "whatwg-fetch": "^3.0.0"
83
- },
84
- "browserslist": [
85
- "> 1%",
86
- "last 2 versions",
87
- "not ie <= 10"
88
- ]
89
- }
1
+ {
2
+ "name": "vue2-client",
3
+ "version": "1.2.17",
4
+ "private": false,
5
+ "scripts": {
6
+ "serve": "vue-cli-service serve",
7
+ "build": "vue-cli-service build",
8
+ "test:unit": "vue-cli-service test:unit",
9
+ "lint": "vue-cli-service lint"
10
+ },
11
+ "dependencies": {
12
+ "@antv/data-set": "^0.11.4",
13
+ "@antv/f2": "^3.6.4",
14
+ "@antv/g2plot": "^2.3.33",
15
+ "@logicflow/core": "^1.1.7",
16
+ "@logicflow/extension": "^1.1.7",
17
+ "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
18
+ "@vue/babel-preset-jsx": "^1.2.4",
19
+ "animate.css": "^4.1.0",
20
+ "ant-design-vue": "1.7.8",
21
+ "axios": "^0.19.2",
22
+ "clipboard": "^2.0.6",
23
+ "core-js": "^3.6.5",
24
+ "date-fns": "^2.14.0",
25
+ "default-passive-events": "^2.0.0",
26
+ "enquire.js": "^2.1.6",
27
+ "file-saver": "^2.0.5",
28
+ "highlight.js": "^10.2.1",
29
+ "js-cookie": "^2.2.1",
30
+ "jsencrypt": "^3.0.0-rc.1",
31
+ "lodash.get": "^4.4.2",
32
+ "mockjs": "^1.1.0",
33
+ "nprogress": "^0.2.0",
34
+ "viser-vue": "^2.4.8",
35
+ "vue": "^2.6.11",
36
+ "vue-i18n": "^8.18.2",
37
+ "vue-json-viewer": "^2.2.15",
38
+ "vue-router": "^3.3.4",
39
+ "vuedraggable": "^2.23.2",
40
+ "vuex": "^3.4.0",
41
+ "xlsx": "0.17.5"
42
+ },
43
+ "devDependencies": {
44
+ "@ant-design/colors": "^4.0.1",
45
+ "@vue/cli-plugin-babel": "^4.4.0",
46
+ "@vue/cli-plugin-eslint": "^4.4.0",
47
+ "@vue/cli-plugin-router": "^4.4.0",
48
+ "@vue/cli-plugin-unit-jest": "~5.0.0",
49
+ "@vue/cli-plugin-vuex": "^4.4.0",
50
+ "@vue/cli-service": "^4.4.0",
51
+ "@vue/eslint-config-standard": "^4.0.0",
52
+ "@vue/test-utils": "^1.1.3",
53
+ "@vue/vue2-jest": "^27.0.0-alpha.2",
54
+ "@vuepress/plugin-back-to-top": "^1.5.2",
55
+ "babel-eslint": "^10.1.0",
56
+ "babel-jest": "^27.0.6",
57
+ "babel-plugin-transform-remove-console": "^6.9.4",
58
+ "babel-polyfill": "^6.26.0",
59
+ "compression-webpack-plugin": "^2.0.0",
60
+ "deepmerge": "^4.2.2",
61
+ "echarts": "^4.9.0",
62
+ "eslint": "^6.7.2",
63
+ "eslint-plugin-import": "^2.25.3",
64
+ "eslint-plugin-node": "^11.1.0",
65
+ "eslint-plugin-standard": "^5.0.0",
66
+ "eslint-plugin-vue": "^6.2.2",
67
+ "fast-deep-equal": "^3.1.3",
68
+ "gh-pages": "^3.1.0",
69
+ "jest": "^27.0.5",
70
+ "less-loader": "^6.1.1",
71
+ "react-bmap": "^1.0.121",
72
+ "script-loader": "^0.7.2",
73
+ "style-resources-loader": "^1.3.2",
74
+ "vue-amap": "^0.5.10",
75
+ "vue-baidu-map": "^0.21.22",
76
+ "vue-bmap-gl": "0.0.29",
77
+ "vue-cli-plugin-style-resources-loader": "^0.1.4",
78
+ "vue-mapvgl": "0.0.28",
79
+ "vue-template-compiler": "^2.6.11",
80
+ "vuepress": "^1.5.2",
81
+ "webpack-theme-color-replacer": "1.3.18",
82
+ "whatwg-fetch": "^3.0.0"
83
+ },
84
+ "browserslist": [
85
+ "> 1%",
86
+ "last 2 versions",
87
+ "not ie <= 10"
88
+ ]
89
+ }
@@ -131,8 +131,8 @@
131
131
  <a-select-option key="rangePicker">日期范围选择框</a-select-option>
132
132
  <a-select-option key="monthPicker">月份选择框</a-select-option>
133
133
  <a-select-option key="datePicker">单日选择框</a-select-option>
134
- <a-select-option key="cascader">级联选择框(单个下拉)</a-select-option>
135
- <a-select-option key="selects">级联选择框(多个下拉)</a-select-option>
134
+ <!-- <a-select-option key="cascader">级联选择框(单个下拉)</a-select-option>-->
135
+ <a-select-option key="selects">级联选择框</a-select-option>
136
136
  <a-select-option key="textarea">文本域</a-select-option>
137
137
  <a-select-option key="file">文件上传</a-select-option>
138
138
  <a-select-option key="image">图片上传</a-select-option>
@@ -293,43 +293,30 @@
293
293
  </a-row>
294
294
  <a-row :gutter="16" v-if="item.formType === 'selects'">
295
295
  <a-col :span="8">
296
- <a-form-model-item label="数据所属组别" prop="group">
297
- <a-select v-model="item.group" placeholder="请输入数据字段名" ref="group">
298
- <a-select-option v-for="i in groupArray" :key="i">{{ i }}</a-select-option>
299
- <a-popover slot="suffixIcon" title="关于所属组别" placement="bottom">
300
- <template slot="content">
301
- <p>多个下拉框时按照次组别归为一组</p>
302
- </template>
303
- <a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
304
- </a-popover>
305
- </a-select>
296
+ <a-form-model-item label="是否根节点" prop="groupIndexView">
297
+ <a-radio-group defaultValue="None" v-model="item.groupIndexView" @change="groupIndexChange" default-value="false" button-style="solid">
298
+ <a-radio-button :value="1">
299
+
300
+ </a-radio-button>
301
+ <a-radio-button value="None">
302
+
303
+ </a-radio-button>
304
+ </a-radio-group>
306
305
  </a-form-model-item>
307
306
  </a-col>
308
- <a-col :span="8">
309
- <a-form-model-item label="组别内顺序" prop="groupIndex">
310
- <a-select v-model="item.groupIndex" placeholder="表单类型,可选">
311
- <template v-for="i in 5">
312
- <a-select-option :key="i">{{ i }}</a-select-option>
313
- </template>
314
- <a-popover slot="suffix" title="关于组别内顺序" placement="bottom">
307
+ <a-col :span="8" v-if="item.groupIndex !== 1">
308
+ <a-form-model-item label="数据所属节点" prop="groupIndex">
309
+ <a-select v-model="item.parent_title" placeholder="请选择父节点" ref="groupIndex" @change="parent_title_change">
310
+ <a-select-option v-for="item in parent_node" :key="item.key">{{ item.title }}</a-select-option>
311
+ <a-popover slot="suffixIcon" title="关于父节点" placement="bottom">
315
312
  <template slot="content">
316
- <p>多个下拉框为一组时,按照此顺序判断页面如何展示以及下拉框得父子顺序</p>
317
- <p>只有顺序为1的数据字段才可以选择数据源类型</p>
313
+ <p>多个下拉框为一组时,需要首先选择的为父节点</p>
318
314
  </template>
319
315
  <a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
320
316
  </a-popover>
321
317
  </a-select>
322
318
  </a-form-model-item>
323
319
  </a-col>
324
- <a-col :span="8">
325
- <a-form-model-item label="增加组" prop="groupName">
326
- <a-input-search v-model="item.groupName" @search="addGroupName" placeholder="请输入数据字段名" ref="key">
327
- <a-button slot="enterButton">
328
- 新增
329
- </a-button>
330
- </a-input-search>
331
- </a-form-model-item>
332
- </a-col>
333
320
  </a-row>
334
321
  <a-row :gutter="16">
335
322
  <a-col :span="8">
@@ -671,7 +658,6 @@ export default {
671
658
  selectIndex: null,
672
659
  selectType: undefined,
673
660
  joinArray: [],
674
- groupArray: ['默认组别'],
675
661
  rules: {
676
662
  tableName: [{ required: true, message: '请输入查询表名', trigger: 'blur' }],
677
663
  orderBy: [{ required: true, message: '请输入排序方式', trigger: 'blur' }]
@@ -685,8 +671,8 @@ export default {
685
671
  slotKeyMap: [{ required: true, message: '请输入徽标字典键', trigger: 'blur' }],
686
672
  silencePurpose: [{ required: true, message: '请选择字段用途', trigger: 'change' }],
687
673
  silenceSource: [{ required: true, message: '请输入业务逻辑名称', trigger: 'blur' }],
688
- group: [{ required: true, message: '请选择所属组别', trigger: 'blur' }],
689
- groupIndex: [{ required: true, message: '请选择组内顺序', trigger: 'blur' }]
674
+ group: [{ required: true, message: '请选择父节点', trigger: 'blur' }],
675
+ groupIndex: [{ required: true, message: '如果不是根节点请选择自己的父节点', trigger: 'blur' }]
690
676
 
691
677
  },
692
678
  // 字典键集合
@@ -698,6 +684,9 @@ export default {
698
684
  },
699
685
  computed: {
700
686
  ...mapState('setting', ['isMobile']),
687
+ parent_node () {
688
+ return this.form.column.filter(item => item.formType === 'selects' && item.key != this.item.key)
689
+ },
701
690
  queryTypeV () {
702
691
  if (this.item.formType) {
703
692
  return queryType.filter(item => item.match.includes(this.item.formType))
@@ -866,11 +855,27 @@ export default {
866
855
  }
867
856
  },
868
857
  methods: {
869
- // 添加多个下拉框分组标识符
870
- addGroupName (val) {
871
- this.item.groupName = undefined
872
- if (!this.groupArray.find(item => item === val)) {
873
- this.groupArray.push(val)
858
+ parent_title_change (parentKey) {
859
+ const parentArr = this.form.column.filter(item => item.formType === 'selects' && item.key === parentKey)
860
+ if (parentArr.length === 1) {
861
+ this.item.groupIndex = parentArr[0].groupIndex + 1
862
+ this.item.group = parentArr[0].group
863
+ this.item.parent_title = parentArr[0].title
864
+ } else {
865
+ this.$message.error('数据字段中有字段别名相同,请检查!')
866
+ }
867
+ },
868
+ groupIndexChange ({ target }) {
869
+ if (target.value === 1) {
870
+ this.item.groupIndex = 1
871
+ if (this.item.title) {
872
+ this.item.group = this.item.title + '组'
873
+ } else {
874
+ this.item.groupIndex = ''
875
+ this.$message.error('请先输入字段中文名称!')
876
+ }
877
+ } else {
878
+ this.item.groupIndex = ''
874
879
  }
875
880
  },
876
881
  // 初始化组件
@@ -911,6 +916,10 @@ export default {
911
916
  if (this.itemMap[key]) {
912
917
  this.type = '修改'
913
918
  this.item = this.itemMap[key]
919
+ if (this.item.formType === 'selects') {
920
+ // 因为 groupIndex 可能有很多值 单选框不行 赋给一个新的变量
921
+ this.item.groupIndexView = this.item.groupIndex === 1 ? 1 : 'None'
922
+ }
914
923
  this.dataModeArrayData = this.item.dataModeArray
915
924
  this.selectIndex = index
916
925
  this.dataColumnVisible = true
@@ -1142,12 +1151,12 @@ export default {
1142
1151
  submit () {
1143
1152
  this.onModelClose()
1144
1153
  this.$refs.businessCreateForm.validate(valid => {
1145
- if (valid) {
1146
- this.viewHandle(() => {
1147
- // saveQueryParams
1148
- this.$emit('saveQueryParams', this.result)
1149
- })
1150
- }
1154
+ if (valid) {
1155
+ this.viewHandle(() => {
1156
+ // saveQueryParams
1157
+ this.$emit('saveQueryParams', this.result)
1158
+ })
1159
+ }
1151
1160
  })
1152
1161
  },
1153
1162
  modelCancel () {