n20-common-lib 2.9.50 → 2.9.52

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.9.50",
3
+ "version": "2.9.52",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -1,16 +1,17 @@
1
1
  /* 审批按钮组 */
2
2
  <template>
3
3
  <div :class="prefixCls">
4
- <el-form ref="approveBtnGroup" label-position="right">
5
- <div v-if="taskId && showBtn" class="m-b-s">
6
- <show-other-att-new
7
- v-if="authList.includes('isShowOtherAtt')"
8
- ref="showOtherAttNew"
9
- :task-id="taskId"
10
- :form="customizationDtos"
11
- />
4
+ <el-form ref="approveBtnGroup" label-position="right" :label-width="_lang === 'zh' ? '12em' : '12em'">
5
+ <div
6
+ v-if="taskId && showBtn && authList.includes('isShowOtherAtt')"
7
+ class="m-b-lg p-b-lg p-t-lg p-r-lg"
8
+ style="border: 1px dashed var(--border-color-base); border-radius: 5px"
9
+ >
10
+ <!-- <div class="p-l-lg p-t-lg p-b-s font-w600">{{ '审查意见' }}</div> -->
11
+ <show-other-att-new ref="showOtherAttNew" :task-id="taskId" :form="customizationDtos" />
12
12
  </div>
13
-
13
+ </el-form>
14
+ <el-form ref="approveBtnGroup" label-position="right" :label-width="_lang === 'zh' ? '6em' : '12em'">
14
15
  <div v-if="taskId && showBtn" class="flex-box">
15
16
  <el-form-item v-if="authList.includes('isCarboncopy')" :label="'抄送' | $lc" class="flex-1 m-b-s">
16
17
  <el-input
@@ -94,7 +95,7 @@
94
95
  <template v-if="taskId && showBtn">
95
96
  <show-app-opi
96
97
  v-if="opiAndUser || authList.includes('showAppOpi')"
97
- class="flex-1 m-l-s"
98
+ class="m-l-s"
98
99
  :task-id="taskId"
99
100
  :message.sync="messageC"
100
101
  :and-user="opiAndUser"
@@ -138,6 +139,7 @@
138
139
  />
139
140
  </el-form-item>
140
141
  </el-form>
142
+
141
143
  <div v-if="authList.includes('byAddTask') && addTaskList.length > 0" class="text-c">
142
144
  <el-button v-if="authList.includes('approval')" type="primary" @click="checkFlowFn">{{
143
145
  '加 签' | $lc
@@ -1,12 +1,16 @@
1
1
  <template>
2
2
  <div class="w-100p flex-column">
3
- <div v-for="(item, i) in otherAttData" :key="i" class="flex-box">
4
- <el-form-item class="m-r-ss m-b-s" :label="item.cfgName">
5
- <el-input v-if="item.cfgType === '11'" v-model="item.cfgVal" class="flex-item" clearable />
3
+ <div v-for="(item, i) in otherAttData" :key="i" class="flex-box flex-v">
4
+ <el-form-item
5
+ class="m-r-ss m-b-s"
6
+ :class="item.cfgHasRemark === '1' ? 'flex-auto' : 'flex-1'"
7
+ :label="item.cfgName"
8
+ >
9
+ <el-input v-if="item.cfgType === '11'" v-model="item.cfgVal" placeholder="请输入" class="input-w" clearable />
6
10
  <el-select
7
11
  v-if="['21'].includes(item.cfgType)"
8
12
  v-model="item.cfgVal"
9
- class="flex-item"
13
+ class="flex-item input-w"
10
14
  clearable
11
15
  @change="(val) => changeFn(val, item)"
12
16
  >
@@ -17,24 +21,37 @@
17
21
  v-model="selectList"
18
22
  multiple
19
23
  collapse-tags
20
- class="flex-item"
24
+ class="flex-item input-w"
21
25
  clearable
22
26
  @change="(val) => changeFn(val, item)"
23
27
  >
24
28
  <el-option v-for="(row, i) in JSON.parse(item.cfgJson)" :key="i" :label="row.value" :value="row.code" />
25
29
  </el-select>
26
- <el-radio-group v-if="item.cfgType === '22'" v-model="item.cfgVal" @change="(val) => changeFn(val, item)">
30
+ <el-radio-group
31
+ v-if="item.cfgType === '22'"
32
+ v-model="item.cfgVal"
33
+ class="input-w"
34
+ @change="(val) => changeFn(val, item)"
35
+ >
27
36
  <el-radio v-for="(row, i) in JSON.parse(item.cfgJson)" :key="i" :label="row.code">{{ row.value }}</el-radio>
28
37
  </el-radio-group>
29
- <el-checkbox-group v-if="item.cfgType === '32'" v-model="checkList" @change="(val) => changeFn(val, item)">
38
+ <el-checkbox-group
39
+ v-if="item.cfgType === '32'"
40
+ v-model="checkList"
41
+ class="input-w"
42
+ @change="(val) => changeFn(val, item)"
43
+ >
30
44
  <el-checkbox v-for="(row, i) in JSON.parse(item.cfgJson || '[]')" :key="i" :label="row.code">{{
31
45
  row.value
32
46
  }}</el-checkbox>
33
47
  </el-checkbox-group>
34
48
  </el-form-item>
35
- <el-form-item v-if="item.cfgHasRemark === '1'" class="m-r-ss m-b-s">
36
- <el-input v-model="item.cfgRemark" />
37
- </el-form-item>
49
+ <el-input
50
+ v-if="item.cfgHasRemark === '1'"
51
+ v-model="item.cfgRemark"
52
+ class="w-100p m-r-ss m-b-s flex-1"
53
+ placeholder="请输入备注"
54
+ />
38
55
  </div>
39
56
  </div>
40
57
  </template>
@@ -100,5 +117,3 @@ export default {
100
117
  }
101
118
  }
102
119
  </script>
103
-
104
- <style></style>
@@ -0,0 +1,71 @@
1
+ <template>
2
+ <div>
3
+ <el-dialog :visible.sync="visible" width="600px" :title="'提醒' | $lc">
4
+ <el-form style="margin-bottom: 50px">
5
+ <el-form-item :label="'请确认提交内容' | $lc">
6
+ <el-select v-model="reasonSelect" class="w-100p" @change="changeReasonSelect">
7
+ <el-option v-for="(item, i) in flowOptions" :key="i" :label="item.label" :value="item.value" />
8
+ </el-select>
9
+ </el-form-item>
10
+ <el-form-item>
11
+ <el-input v-model="reason" type="textarea" rows="5" class="w-100p" />
12
+ </el-form-item>
13
+ </el-form>
14
+ <span slot="footer">
15
+ <el-button type="primary" @click="submit">{{ $lc('提交') }}</el-button>
16
+ <el-button plain @click="visible = false">{{ $lc('取消') }}</el-button>
17
+ </span>
18
+ </el-dialog>
19
+ </div>
20
+ </template>
21
+
22
+ <script>
23
+ import { $lc } from '../../utils/i18n/index'
24
+ export default {
25
+ name: 'HandlingAdvice',
26
+ data() {
27
+ return {
28
+ visible: false,
29
+ flowOptions: [],
30
+ cb: null,
31
+ reasonSelect: '',
32
+ reason: ''
33
+ }
34
+ },
35
+ methods: {
36
+ /**
37
+ *
38
+ * @param typeCode {String} 业务类型编码
39
+ * @param cb {Function?} 回调函数
40
+ */
41
+ async getHandlingAdvice(typeCode, cb) {
42
+ const { data, code } = await this.$axios.post(`/bems/activiti/admin/todo/isFlowStartWithOptions`, { typeCode })
43
+ if (code === 200) {
44
+ this.visible = data.whether ?? false
45
+ this.flowOptions = data?.opinions?.map((d) => {
46
+ return {
47
+ label: d,
48
+ value: d
49
+ }
50
+ })
51
+ if (!this.visible) {
52
+ this.cb = cb
53
+ cb && cb()
54
+ }
55
+ }
56
+ },
57
+ changeReasonSelect(val) {
58
+ this.reason = val
59
+ },
60
+ submit(cb) {
61
+ this.visible = false
62
+ if (cb) {
63
+ cb(this.reason)
64
+ } else if (this.cb) {
65
+ this.cb(this.reason)
66
+ }
67
+ this.$emit('submit', this.reason)
68
+ }
69
+ }
70
+ }
71
+ </script>
package/src/i18n.json CHANGED
@@ -1080,7 +1080,7 @@
1080
1080
  "vi": "Một cột hiển thị cột"
1081
1081
  },
1082
1082
  "最近一月": {
1083
- "en": "Last January",
1083
+ "en": "Last month",
1084
1084
  "th": "เดือนมกราคมที่แล้ว",
1085
1085
  "vi": "Tháng 1 vừa qua"
1086
1086
  },
@@ -1550,7 +1550,7 @@
1550
1550
  "vi": "Từ chối"
1551
1551
  },
1552
1552
  "最近三月": {
1553
- "en": "Last March",
1553
+ "en": "Last three",
1554
1554
  "th": "เดือนมีนาคมที่แล้ว",
1555
1555
  "vi": "Tháng ba vừa qua"
1556
1556
  },
@@ -2165,7 +2165,7 @@
2165
2165
  "vi": "Kiểu thường dùng"
2166
2166
  },
2167
2167
  "最近六月": {
2168
- "en": "Last June",
2168
+ "en": "Last six",
2169
2169
  "th": "เมื่อเดือนมิถุนายนล่าสุด",
2170
2170
  "vi": "Tháng 6 gần đây nhất"
2171
2171
  },
package/src/index.js CHANGED
@@ -70,6 +70,7 @@ import Preview from './components/Preview/index.vue'
70
70
  import SelectTreePro from './components/SelectTree/pro.vue'
71
71
  import Tree from './components/Tree/index.vue'
72
72
  import AttachmentPass from './components/AttachmentPass/index.vue'
73
+ import HandlingAdvice from './components/HandlingAdvice/index.vue'
73
74
 
74
75
  // 新版日期选择框
75
76
  import BusiDatePicker from './components/DateSelect/busiDate.vue'
@@ -228,6 +229,7 @@ const components = [
228
229
  ElectronicArchive,
229
230
  Preview,
230
231
  AttachmentPass,
232
+ HandlingAdvice,
231
233
  /* old */
232
234
  TableO,
233
235
  FiltersO,
@@ -367,6 +369,7 @@ export {
367
369
  UploadMsg,
368
370
  WorkCard,
369
371
  WornPagination,
372
+ HandlingAdvice,
370
373
  asyncGetRelaNos,
371
374
  // 方法
372
375
  auth,
@@ -59,6 +59,17 @@ function getUserCert(uno) {
59
59
  let dn = getDN()
60
60
  let sd = data.sd === 'd'
61
61
 
62
+ /**
63
+ * (方法 RSA)生成 P10 包,新容器
64
+ * 参数一:签名密钥或加密密钥标识,”true”/”false”
65
+ * 参数二:密钥长度 512,1024, 2048,4096
66
+ * 参数三:主题 DN,空值 DN 请赋值””空串
67
+ * 参数四:摘要算法 OID,使用默认值请赋值””空串
68
+ * 参数五:公钥算法 OID,,使用默认值请赋值””空串
69
+ * 参数六:签名算法 OID,,使用默认值请赋值””空串
70
+ * 参数七:私钥是否可导出,”true”/”false”
71
+ * 参数八:是否启用增强密钥保护,”true”/”false”
72
+ */
62
73
  const res = IWSA_rsa_csp_genContainerP10('true', alg, data.subjectDN || dn, '', '', '', 'false', 'false')
63
74
  if (res[0] === '0') {
64
75
  let dto = {
@@ -68,6 +79,11 @@ function getUserCert(uno) {
68
79
  }
69
80
  axios.post(`/bems/prod_1.0/dssc/sign/getRadsCert`, dto).then(({ code, data }) => {
70
81
  if (code === 200) {
82
+ /**
83
+ * (方法 RSA)导入签名证书 X509
84
+ * 参数一:容器名,支持””:使用产生 P10 时的容器
85
+ * 参数二:X509 证书,Base64 编码
86
+ */
71
87
  const certData = IWSA_rsa_csp_importSignX509Cert(res[1], data.signCer)
72
88
  if (certData[0] === '0') {
73
89
  Message.success('证书导入成功')