n20-common-lib 3.0.86 → 3.0.87

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.
Files changed (34) hide show
  1. package/package.json +1 -1
  2. package/src/assets/css/table.scss +11 -0
  3. package/src/assets/css/v3/table.scss +19 -0
  4. package/src/components/ApprovalButtons/index.vue +42 -23
  5. package/src/components/ApprovalButtons/selectSpr.vue +15 -0
  6. package/src/components/ApprovalButtons/showAppOpi.vue +5 -1
  7. package/src/components/ApprovalButtons/showOtherAttrNew.vue +40 -41
  8. package/src/components/ApprovalCard/index.vue +21 -5
  9. package/src/components/ApprovalRecord/approvalImgPro/index.vue +23 -3
  10. package/src/components/ApprovalRecord/index.vue +7 -2
  11. package/src/components/FileUploadTable/index.vue +4 -3
  12. package/src/components/HandlingAdvice/index.vue +97 -70
  13. package/src/components/InputNumber/README.md +112 -0
  14. package/src/components/TablePro/index.vue +12 -1
  15. package/src/components/TableProOperateColumn/OperateBtns.vue +25 -5
  16. package/src/components/TableProOperateColumn/childrenOperateBtn.vue +83 -25
  17. package/src/components/Tabs/index.vue +3 -3
  18. package/src/components/TertiaryTab/index.vue +2 -2
  19. package/src/components/Upload/uploadMsg.vue +2 -0
  20. package/src/components/v3/SecondaryTab/index.vue +3 -3
  21. package/src/components/v3/TablePro/index.vue +39 -6
  22. package/src/index.js +3 -0
  23. package/src/plugins/Sign/signV3/InfosecNetSignCNGAgent.min.js +4112 -1
  24. package/src/plugins/Sign/signV3/sign.js +23 -11
  25. package/style/index.css +1 -1
  26. package/theme/blue.css +1 -1
  27. package/theme/cctcRed.css +1 -1
  28. package/theme/green.css +1 -1
  29. package/theme/lightBlue.css +1 -1
  30. package/theme/orange.css +1 -1
  31. package/theme/purple.css +1 -1
  32. package/theme/red.css +1 -1
  33. package/theme/yellow.css +1 -1
  34. package/src/assets/css/table copy.scss +0 -234
@@ -1,21 +1,21 @@
1
1
  // Attached方式签名
2
- import { Message, MessageBox, Notification } from 'element-ui'
2
+ import { Message, MessageBox,Notification } from 'element-ui'
3
3
  import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
4
4
 
5
5
  const {
6
6
  IWSASetTimeOut,
7
- IWSAAttachedSignAdvDefaultDN,
8
7
  IWSADetachedSign,
9
8
  IWSAAttachedVerify,
10
9
  IWSASendAvailable,
11
10
  IWSAGetAvailable,
12
11
  IWSAGetAllCertsListInfo,
13
12
  IWSASkfGetCertList,
14
- IWSASkfDetachedSign
13
+ IWSASkfDetachedSignDefaultDN
15
14
  } = new IWSAgent()
16
15
  IWSASetTimeOut(6000)
17
16
  let certIndex = 0
18
17
  let certDN = ''
18
+ let certType='SHA1'
19
19
  function getDN() {
20
20
  let dn
21
21
  let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
@@ -90,7 +90,7 @@ export async function getSign(plain, dn) {
90
90
  navigator.userAgent.toLowerCase().includes('linux') ||
91
91
  // 检查是否为银河麒麟特有的环境变量或特征
92
92
  typeof window.KylinOS !== 'undefined' ||
93
- document.documentElement.dataset.osType === 'kylin'
93
+ document.documentElement.dataset.osType === 'kylin'||certType==='SM3'
94
94
  ) {
95
95
  // 签名
96
96
  return await MessageBox.prompt('请输入PIN码', '提示', {
@@ -101,9 +101,10 @@ export async function getSign(plain, dn) {
101
101
  }).then(({ value }) => {
102
102
  return performSignSkf(plainText, value)
103
103
  })
104
- } else {
104
+ }else{
105
105
  return await performSign(plainText, index)
106
106
  }
107
+
107
108
  }
108
109
 
109
110
  /**
@@ -189,12 +190,8 @@ export async function getCertInfoSkf(dn) {
189
190
  * @returns {Promise<string>} 签名后的密文信息
190
191
  */
191
192
  export async function performSign(plain, index) {
192
- let signMethod = IWSAAttachedSignAdvDefaultDN
193
- if (window.NetSignMethod === 'Detached') {
194
- signMethod = IWSADetachedSign
195
- }
196
193
  return new Promise((resolve, reject) => {
197
- signMethod(2, plain, certIndex, 'SHA1', (errorCode, signedData) => {
194
+ IWSADetachedSign(2, plain, certIndex, certType, (errorCode, signedData) => {
198
195
  if (errorCode === 0 || errorCode === '0') {
199
196
  resolve(signedData)
200
197
  } else {
@@ -207,7 +204,19 @@ export async function performSign(plain, index) {
207
204
 
208
205
  async function performSignSkf(plainText, value) {
209
206
  return new Promise((resolve, reject) => {
210
- IWSASkfDetachedSign(plainText, certIndex, value, 'SHA1', (errorCode, signedData) => {
207
+ let arg
208
+ if (
209
+ navigator.platform.toLowerCase().includes('linux') ||
210
+ navigator.userAgent.toLowerCase().includes('linux') ||
211
+ // 检查是否为银河麒麟特有的环境变量或特征
212
+ typeof window.KylinOS !== 'undefined' ||
213
+ document.documentElement.dataset.osType === 'kylin'
214
+ ) {
215
+ arg = window.VUE_APP_NetSign_ARG_Linux
216
+ } else {
217
+ arg = process.env.VUE_APP_NetSign_ARG || window.VUE_APP_NetSign_ARG || 'WTSKFInterface.dll'
218
+ }
219
+ IWSASkfDetachedSignDefaultDN(plainText, certDN, value, certType,arg,'1', (errorCode, signedData) => {
211
220
  if (errorCode === 0 || errorCode === '0') {
212
221
  resolve(signedData)
213
222
  } else {
@@ -232,6 +241,7 @@ function verifyDn(dnList, dn) {
232
241
  let dnAttrsArr = C.certDN.split(',').map((c) => c.trim())
233
242
  if (dnAttrsArr.every((dnAttr) => userDnAttrsArr.includes(dnAttr))) {
234
243
  C.index = i
244
+ certDN = C.certDN
235
245
  return C
236
246
  }
237
247
  })
@@ -241,6 +251,7 @@ function verifyDn(dnList, dn) {
241
251
  if (dnListA[i].CertType === 'SM2' && dnListA[i].KeyUsage === 'signature') {
242
252
  index = dnListA[i].index
243
253
  certIndex = dnListA[i].index
254
+ certType = 'SM3'
244
255
  break
245
256
  } else {
246
257
  index = -1
@@ -253,6 +264,7 @@ function verifyDn(dnList, dn) {
253
264
  if (dnListA[i].CertType === 'RSA') {
254
265
  index = dnListA[i].index
255
266
  certIndex = dnListA[i].index
267
+ certType = 'SHA1'
256
268
  break
257
269
  } else {
258
270
  index = -1