n20-common-lib 2.5.5-beta → 2.5.5-beta.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "2.5.5-beta",
3
+ "version": "2.5.5-beta.0",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -66,19 +66,6 @@
66
66
  </el-form-item>
67
67
  </div>
68
68
  <div class="flex-box">
69
- <el-form-item class="flex-1" :label="'审批意见' | $lc" :error="errMsg" :required="required" style="width: 70%">
70
- <el-input
71
- ref="msg-input"
72
- v-model="messageC"
73
- type="textarea"
74
- :placeholder="
75
- ('请输入操作意见(' + messageMax + '字以内),批准该意见为非必填,驳回/作废该意见为必填!') | $lc
76
- "
77
- :maxlength="messageMax"
78
- show-word-limit
79
- :autosize="{ rows: 1 }"
80
- />
81
- </el-form-item>
82
69
  <template v-if="taskId && showBtn">
83
70
  <show-app-opi
84
71
  v-if="opiAndUser || authList.includes('showAppOpi')"
@@ -96,6 +83,19 @@
96
83
  style="width: 18%"
97
84
  />
98
85
  </template>
86
+ <el-form-item class="flex-1" :label="'审批意见' | $lc" :error="errMsg" :required="required" style="width: 70%">
87
+ <el-input
88
+ ref="msg-input"
89
+ v-model="messageC"
90
+ type="textarea"
91
+ :placeholder="
92
+ ('请输入操作意见(' + messageMax + '字以内),批准该意见为非必填,驳回/作废该意见为必填!') | $lc
93
+ "
94
+ :maxlength="messageMax"
95
+ show-word-limit
96
+ :autosize="{ rows: 1 }"
97
+ />
98
+ </el-form-item>
99
99
  </div>
100
100
  <el-form-item v-if="fileKit || fileKitT" label="附加上传">
101
101
  <cl-upload
@@ -62,9 +62,10 @@ export default {
62
62
  }
63
63
  },
64
64
  changeFn() {
65
- // if (this.approveMsgSlt?.length) {
66
- this.$emit('update:message', this.approveMsgSlt.join('\n'))
67
- // }
65
+ this.$emit(
66
+ 'update:message',
67
+ Array.isArray(this.approveMsgSlt) ? this.approveMsgSlt.join('\n') : this.approveMsgSlt
68
+ )
68
69
  }
69
70
  }
70
71
  }
@@ -1,6 +1,6 @@
1
1
  /* 审批记录 */
2
2
  <template>
3
- <div>
3
+ <div v-if="approvalMode === 'dialog' || !approvalMode">
4
4
  <expandableWrap :title="'审批记录' | $lc" :show-expand="false" :icon="false">
5
5
  <template slot="tips">
6
6
  <el-button plain size="mini" :disabled="false" @click="cardV = true">{{ '审批进度查看' | $lc }}</el-button>
@@ -30,12 +30,24 @@
30
30
  <approvalImg class="text-c p-a" :proc-inst-id="procInstIdC" style="height: 70vh; overflow: auto" />
31
31
  </el-dialog>
32
32
  </div>
33
+ <div v-else>
34
+ <expandableWrap title="审批记录">
35
+ <template slot="tips">
36
+ <el-button size="mini" plain @click="imgV = true">流程图查看</el-button>
37
+ </template>
38
+ <approvalCard :procInstId="procInstIdC" />
39
+ <el-dialog v-drag title="查看流程" :visible.sync="imgV" width="65%" class="p-a-0" append-to-body top="10vh">
40
+ <approvalImg class="text-c p-a" style="height: 70vh; overflow: auto" />
41
+ </el-dialog>
42
+ </expandableWrap>
43
+ </div>
33
44
  </template>
34
45
 
35
46
  <script>
36
47
  import expandableWrap from '../Expandable/main.vue'
37
48
  import approvalCard from '../ApprovalCard/index.vue'
38
49
  import approvalImg from './approvalImg.vue'
50
+ import getJsonc from '../../assets/getJsonc'
39
51
  export default {
40
52
  name: 'ApprovalRecord',
41
53
  components: {
@@ -52,13 +64,19 @@ export default {
52
64
  data() {
53
65
  return {
54
66
  cardV: false,
55
- imgV: false
67
+ imgV: false,
68
+ approvalMode: undefined
56
69
  }
57
70
  },
58
71
  computed: {
59
72
  procInstIdC() {
60
73
  return this.procInstId || this.$route.query.processInstanceId
61
74
  }
75
+ },
76
+ mounted() {
77
+ getJsonc('/server-config.jsonc').then(({ approvalMode }) => {
78
+ this.approvalMode = approvalMode
79
+ })
62
80
  }
63
81
  }
64
82
  </script>
@@ -10,6 +10,11 @@
10
10
  :close-on-click-modal="false"
11
11
  @open="popOpen"
12
12
  >
13
+ <div class="flex-box flex-lr p-r-lg" slot="title">
14
+ <div>{{ title }}</div>
15
+
16
+ <div v-has="isHas" class="pointer color-primary" @click="handleInitialize">{{ '初始化' | $lc }}</div>
17
+ </div>
13
18
  <div class="dialog-view">
14
19
  <div class="flex-box">
15
20
  <div class="left-c flex-column p-t-m bd-r">
@@ -78,6 +83,7 @@
78
83
  <script>
79
84
  import { $lc } from '../../utils/i18n/index'
80
85
  import axios from '../../utils/axios'
86
+
81
87
  import dialogWrap from '../Dialog/index.vue'
82
88
  import dragList from '../DragList/index.vue'
83
89
  export default {
@@ -124,6 +130,10 @@ export default {
124
130
  width: {
125
131
  type: String,
126
132
  default: '800px'
133
+ },
134
+ isHas: {
135
+ type: String,
136
+ default: undefined
127
137
  }
128
138
  },
129
139
  data() {
@@ -167,6 +177,31 @@ export default {
167
177
  }
168
178
  },
169
179
  methods: {
180
+ async handleInitialize() {
181
+ if (this.dragList.length < 1) {
182
+ this.$message.error(
183
+ `${$lc(`至少设置`)}${
184
+ this.isExport ? $lc('一列导出数据') : this.isFilter ? $lc('一个筛选条件') : $lc('一列显示列')
185
+ }!`
186
+ )
187
+ return
188
+ }
189
+ await this.$msgboxPor({
190
+ title: $lc('确认初始化吗?'),
191
+ message: $lc('初始化后将全局生效!'),
192
+ type: 'info',
193
+ confirmButtonText: $lc('确定'),
194
+ cancelButtonText: $lc('取消')
195
+ })
196
+
197
+ let list = []
198
+ let preCols = this.columns.filter((col) => col.static === 'pre')
199
+ let nextCols = this.columns.filter((col) => col.static === 'next')
200
+ list.push(...preCols, ...this.dragList, ...nextCols)
201
+ this.userNo = '_global_'
202
+ this.saveColumns(list)
203
+ this.visible = false
204
+ },
170
205
  popOpen() {
171
206
  this.dragList = this.checkColumns.filter((col) => !col.static)
172
207
  },
@@ -205,6 +240,7 @@ export default {
205
240
  list.push(...preCols, ...this.dragList, ...nextCols)
206
241
 
207
242
  // 自动保存设置的显示列
243
+ this.userNo = sessionStorage.getItem('userNo')
208
244
  !this.isExport && this.autoSave && this.saveColumns(list)
209
245
 
210
246
  this.$emit('setColumns', list)
@@ -1,72 +1,72 @@
1
- /**
2
- * author: zhengwei
3
- * tiem: 2021-8-31
4
- * amend: 只注册到bind上,有问题;onXX会导致事件覆盖
5
- */
6
- // 封装全局弹窗拖拽指令 v-drag
7
- function dialogMoveFn(_this) {
8
- var dialogDom = _this.parentNode
9
- dialogDom.style.top = parseFloat(dialogDom.style.top || '0') + _this.pageYc + 'px'
10
- dialogDom.style.left = parseFloat(dialogDom.style.left || '0') + _this.pageXc + 'px'
11
- }
12
-
13
- const dialogMove = {
14
- install: function (Vue) {
15
- Vue.directive('drag', {
16
- update(el, binding) {
17
- if (el.style.display === 'none') {
18
- var dialogDom = el.querySelector('.el-dialog')
19
- if (dialogDom) {
20
- dialogDom.style.left = ''
21
- dialogDom.style.top = ''
22
- }
23
- }
24
- Vue.nextTick(function () {
25
- var dialogHeader = el.querySelector('.el-dialog__header')
26
- if (dialogHeader && !dialogHeader._hasMoveDir) {
27
- var _this, pvrPageX, pvrPageY
28
- dialogHeader._hasMoveDir = true
29
- dialogHeader.style.cursor = 'move'
30
-
31
- dialogHeader.addEventListener('mousedown', function (evt) {
32
- var ev = evt || event
33
- this.pageXc = this.pageYc = 0
34
- _this = this
35
- pvrPageX = ev.pageX
36
- pvrPageY = ev.pageY
37
- document.addEventListener('mousemove', mousemoveThisMove)
38
- document.addEventListener('mouseup', mouseupThisMove)
39
- })
40
-
41
- var mousemoveThisMove = function (evt) {
42
- var ev = evt || event
43
- ev.stopPropagation()
44
- ev.preventDefault()
45
- if (
46
- ev.clientX >= 0 &&
47
- ev.clientY >= 0 &&
48
- ev.clientX <= document.documentElement.clientWidth &&
49
- ev.clientY <= document.documentElement.clientHeight
50
- ) {
51
- _this.pageXc = ev.pageX - pvrPageX
52
- _this.pageYc = ev.pageY - pvrPageY
53
- if (_this.pageXc !== 0 || _this.pageYc !== 0) {
54
- binding.value ? binding.value(_this, binding.arg) : dialogMoveFn(_this)
55
- }
56
- pvrPageX = ev.pageX
57
- pvrPageY = ev.pageY
58
- }
59
- }
60
-
61
- var mouseupThisMove = function () {
62
- document.removeEventListener('mousemove', mousemoveThisMove)
63
- document.removeEventListener('mouseup', mouseupThisMove)
64
- }
65
- }
66
- })
67
- }
68
- })
69
- }
70
- }
71
-
72
- export default dialogMove
1
+ /**
2
+ * author: zhengwei
3
+ * tiem: 2021-8-31
4
+ * amend: 只注册到bind上,有问题;onXX会导致事件覆盖
5
+ */
6
+ // 封装全局弹窗拖拽指令 v-drag
7
+ function dialogMoveFn(_this) {
8
+ var dialogDom = _this.parentNode
9
+ dialogDom.style.top = parseFloat(dialogDom.style.top || '0') + _this.pageYc + 'px'
10
+ dialogDom.style.left = parseFloat(dialogDom.style.left || '0') + _this.pageXc + 'px'
11
+ }
12
+
13
+ const dialogMove = {
14
+ install: function (Vue) {
15
+ Vue.directive('drag', {
16
+ update(el, binding) {
17
+ if (el.style.display === 'none') {
18
+ var dialogDom = el.querySelector('.el-dialog')
19
+ if (dialogDom) {
20
+ dialogDom.style.left = ''
21
+ dialogDom.style.top = ''
22
+ }
23
+ }
24
+ Vue.nextTick(function () {
25
+ var dialogHeader = el.querySelector('.el-dialog__header')
26
+ if (dialogHeader && !dialogHeader._hasMoveDir) {
27
+ var _this, pvrPageX, pvrPageY
28
+ dialogHeader._hasMoveDir = true
29
+ dialogHeader.style.cursor = 'move'
30
+
31
+ dialogHeader.addEventListener('mousedown', function (evt) {
32
+ var ev = evt || event
33
+ this.pageXc = this.pageYc = 0
34
+ _this = this
35
+ pvrPageX = ev.pageX
36
+ pvrPageY = ev.pageY
37
+ document.addEventListener('mousemove', mousemoveThisMove)
38
+ document.addEventListener('mouseup', mouseupThisMove)
39
+ })
40
+
41
+ var mousemoveThisMove = function (evt) {
42
+ var ev = evt || event
43
+ ev.stopPropagation()
44
+ ev.preventDefault()
45
+ if (
46
+ ev.clientX >= 0 &&
47
+ ev.clientY >= 0 &&
48
+ ev.clientX <= document.documentElement.clientWidth &&
49
+ ev.clientY <= document.documentElement.clientHeight
50
+ ) {
51
+ _this.pageXc = ev.pageX - pvrPageX
52
+ _this.pageYc = ev.pageY - pvrPageY
53
+ if (_this.pageXc !== 0 || _this.pageYc !== 0) {
54
+ binding.value ? binding.value(_this, binding.arg) : dialogMoveFn(_this)
55
+ }
56
+ pvrPageX = ev.pageX
57
+ pvrPageY = ev.pageY
58
+ }
59
+ }
60
+
61
+ var mouseupThisMove = function () {
62
+ document.removeEventListener('mousemove', mousemoveThisMove)
63
+ document.removeEventListener('mouseup', mouseupThisMove)
64
+ }
65
+ }
66
+ })
67
+ }
68
+ })
69
+ }
70
+ }
71
+
72
+ export default dialogMove
@@ -117,7 +117,6 @@ HoverTooltip.install = (Vue) => {
117
117
  el.$tipShow = () => tipShow(el, binding.arg)
118
118
  el.$tipHide = () => tipHide(el)
119
119
  el.addEventListener('mouseenter', () => {
120
- console.log(getWidth(binding.value))
121
120
  if (getWidth(binding.value) > (binding.arg || 98)) {
122
121
  return el.$tipShow()
123
122
  }
package/src/i18n.json CHANGED
@@ -2,6 +2,15 @@
2
2
  "筛选": {
3
3
  "en": "Filter"
4
4
  },
5
+ "初始化": {
6
+ "en": "Initialization"
7
+ },
8
+ "确认初始化吗?": {
9
+ "en": "Are you sure to initialize?"
10
+ },
11
+ "初始化后将全局生效!": {
12
+ "en": "After initialization, it will be global!"
13
+ },
5
14
  "数据请求": {
6
15
  "en": "Data request"
7
16
  },
@@ -1880,4 +1889,4 @@
1880
1889
  "请先勾选要删除的数据!": {
1881
1890
  "en": "Please select the data to be deleted first!"
1882
1891
  }
1883
- }
1892
+ }