Преглед изворни кода

新增电子医保动态库

wanglaoye пре 1 година
родитељ
комит
9b4f4b97c6

+ 3 - 0
NationEcCode.ini

@@ -0,0 +1,3 @@
+[Updater]
+orgId=35020319001
+url=http://10.249.81.107/localcfc/api/hsecfc

+ 0 - 12
log/2023-7-10.log

@@ -1,12 +0,0 @@
-[2023-07-10 09:41:36.099] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-10 09:41:38.268] [info]  89:[object Object]
-[2023-07-10 09:41:38.285] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-10 10:28:40.316] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-10 10:28:42.256] [info]  89:[object Object]
-[2023-07-10 10:28:42.264] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-10 10:31:08.415] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-10 10:31:10.270] [info]  89:[object Object]
-[2023-07-10 10:31:10.287] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-10 10:37:08.544] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-10 10:37:10.459] [info]  89:[object Object]
-[2023-07-10 10:37:10.470] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'

+ 0 - 6
log/2023-7-11.log

@@ -1,6 +0,0 @@
-[2023-07-11 09:51:17.536] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-11 09:51:20.343] [info]  89:[object Object]
-[2023-07-11 09:51:20.362] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-11 12:43:03.023] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-11 12:43:05.194] [info]  89:[object Object]
-[2023-07-11 12:43:05.207] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'

+ 0 - 3
log/2023-7-12.log

@@ -1,3 +0,0 @@
-[2023-07-12 10:03:08.512] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-12 10:03:10.313] [info]  89:[object Object]
-[2023-07-12 10:03:10.331] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'

+ 0 - 16
log/2023-7-14.log

@@ -1,16 +0,0 @@
-[2023-07-14 09:25:38.642] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-14 09:25:40.820] [info]  updater-133:Error: Cannot find channel "latest.yml" update info: HttpError: 404 Not Found
-"method: GET url: http://testadmin.xklr.net:8601/appupdatedoc/latest.yml?noCache=1h5901qvn\n\nPlease double check that your authentication token is correct. Due to security reasons, actual status maybe not reported, but 404.\n"
-Headers: {
-  "date": "Fri, 14 Jul 2023 01:25:39 GMT",
-  "content-length": "481",
-  "content-type": "text/html; charset=utf-8"
-}
-    at createHttpError (webpack:///./node_modules/.store/builder-util-runtime@8.9.2/node_modules/builder-util-runtime/out/httpExecutor.js?:14:12)
-    at ElectronHttpExecutor.handleResponse (webpack:///./node_modules/.store/builder-util-runtime@8.9.2/node_modules/builder-util-runtime/out/httpExecutor.js?:116:20)
-    at ClientRequest.eval (webpack:///./node_modules/.store/builder-util-runtime@8.9.2/node_modules/builder-util-runtime/out/httpExecutor.js?:82:26)
-    at ClientRequest.emit (events.js:315:20)
-    at SimpleURLLoaderWrapper.<anonymous> (electron/js2c/browser_init.js:105:6816)
-    at SimpleURLLoaderWrapper.emit (events.js:315:20)
-[2023-07-14 11:00:02.569] [info]  89:[object Object]
-[2023-07-14 11:00:02.655] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'

Разлика између датотеке није приказан због своје велике величине
+ 0 - 29
log/2023-7-17.log


+ 0 - 14
log/2023-7-21.log

@@ -1,14 +0,0 @@
-[2023-07-21 12:43:11.188] [info]  [P] search-85 : [M] "330324198710186856身份证查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
-[2023-07-21 12:51:56.263] [error] [P] search-167 : [M] 电子医保卡扫码软件未打开[R]undefined
-[2023-07-21 12:54:21.846] [info]  [P] search-85 : [M] "330682196011263265身份证查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
-[2023-07-21 13:05:08.175] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-21 13:11:19.887] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-21 13:55:46.269] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-21 13:56:00.311] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-21 14:00:35.230] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-21 14:02:15.587] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-21 14:02:41.152] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-21 14:02:43.830] [info]  [P] search-85 : [M] "330324198710186859身份证查询失败"[R]{"code":-1,"msg":"系统繁忙请稍后重试!","data":null,"data2":null}
-[2023-07-24 09:14:27.137] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-24 14:11:36.984] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-24 14:11:40.821] [error] [P] search-167 : [M] 电子医保卡扫码软件未打开[R]undefined

+ 0 - 10
log/2023-7-26.log

@@ -1,10 +0,0 @@
-[2023-07-26 09:14:37.882] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-26 09:14:55.191] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-26 09:15:25.958] [info]  [P] search-85 : [M] "330324198710186859身份证查询失败"[R]{"code":-1,"msg":"系统繁忙请稍后重试!","data":null,"data2":null}
-[2023-07-26 09:16:13.434] [info]  [P] search-85 : [M] "330324198710186859身份证查询失败"[R]{"code":-1,"msg":"系统繁忙请稍后重试!","data":null,"data2":null}
-[2023-07-26 09:16:34.411] [info]  [P] search-85 : [M] "330324198710186859身份证查询失败"[R]{"code":-1,"msg":"系统繁忙请稍后重试!","data":null,"data2":null}
-[2023-07-26 09:37:14.635] [info]  [P] search-85 : [M] "330324198710186859身份证查询失败"[R]{"code":-1,"msg":"系统繁忙请稍后重试!","data":null,"data2":null}
-[2023-07-26 09:38:39.523] [info]  [P] search-85 : [M] "330324198710186859身份证查询失败"[R]{"code":-1,"msg":"系统繁忙请稍后重试!","data":null,"data2":null}
-[2023-07-26 17:30:58.355] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-26 17:49:03.027] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-26 17:49:28.319] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined

+ 0 - 3
log/2023-7-28.log

@@ -1,3 +0,0 @@
-[2023-07-28 13:35:27.415] [info]  [P] search-87 : [M] "undefined电子医保查询失败"[R]{"code":-1,"msg":"身份证号为空,请检查社保卡是否插入正确","data":null,"data2":null}
-[2023-07-28 13:35:30.195] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
-[2023-07-28 14:13:19.212] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined

+ 0 - 3
log/2023-7-5.log

@@ -1,3 +0,0 @@
-[2023-07-05 17:58:15.202] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-05 17:58:17.247] [info]  89:[object Object]
-[2023-07-05 17:58:17.264] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'

+ 0 - 33
log/2023-7-6.log

@@ -1,33 +0,0 @@
-[2023-07-06 10:01:52.102] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 10:01:53.927] [info]  89:[object Object]
-[2023-07-06 10:01:53.938] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 10:19:33.233] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 10:19:35.320] [info]  89:[object Object]
-[2023-07-06 10:19:35.330] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 10:42:11.775] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 10:42:13.677] [info]  89:[object Object]
-[2023-07-06 10:42:13.688] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 10:44:11.766] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 10:44:13.667] [info]  89:[object Object]
-[2023-07-06 10:44:13.679] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 10:45:22.299] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 10:45:24.205] [info]  89:[object Object]
-[2023-07-06 10:45:24.214] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 10:49:06.348] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 10:49:08.127] [info]  89:[object Object]
-[2023-07-06 10:49:08.137] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 11:07:10.239] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 11:07:11.977] [info]  89:[object Object]
-[2023-07-06 11:07:11.989] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 11:12:13.031] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 11:12:14.783] [info]  89:[object Object]
-[2023-07-06 11:12:14.796] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 11:35:09.807] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 11:35:11.540] [info]  89:[object Object]
-[2023-07-06 11:35:11.550] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 15:59:24.412] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 15:59:26.605] [info]  89:[object Object]
-[2023-07-06 15:59:26.616] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'
-[2023-07-06 16:22:17.785] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-06 16:22:20.162] [info]  89:[object Object]
-[2023-07-06 16:22:20.179] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'

+ 0 - 3
log/2023-7-7.log

@@ -1,3 +0,0 @@
-[2023-07-07 12:44:39.892] [info]  38:D:\web\product\electron\patient_sign\dist\electron
-[2023-07-07 12:44:41.800] [info]  89:[object Object]
-[2023-07-07 12:44:41.810] [info]  updater-133:Error: ENOENT: no such file or directory, open 'D:\web\product\electron\patient_sign\dist\electron\dev-app-update.yml'

+ 15 - 0
log/2023-8-14.log

@@ -0,0 +1,15 @@
+[2023-08-14 13:02:01.103] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
+[2023-08-14 13:02:31.407] [error] [P] search-167 : [M] 电子医保卡扫码软件未打开[R]undefined
+[2023-08-14 13:14:54.594] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
+[2023-08-14 13:16:00.331] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined
+[2023-08-14 14:28:16.627] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-14 14:28:20.409] [info]  [P] search-85 : [M] "[object Object]身份证查询失败"[R]{"code":-1,"msg":"参数不正确!","data":null,"data2":null}
+[2023-08-14 14:28:46.777] [info]  [P] search-85 : [M] "[object Object]身份证查询失败"[R]{"code":-1,"msg":"参数不正确!","data":null,"data2":null}
+[2023-08-14 14:51:34.533] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-14 15:11:09.662] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-14 16:19:50.387] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-15 15:15:45.013] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-15 15:21:03.016] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-15 15:21:08.712] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-15 15:21:35.170] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}
+[2023-08-16 10:11:13.787] [info]  [P] search-87 : [M] "533222199909090123电子医保查询失败"[R]{"code":5,"msg":"该患者未在电子健康档案建档,请确认是否在本系统登记","data":null,"data2":{"istj":"1","sfys":"","tlSign":{"sfzh":"测试数据","jmmc":"测试数据","lxdh":"测试数据","sxrq":null,"qyzt":null,"qytdmc":"测试数据","jgmc":"测试数据","qyysxm":"测试数据","qyysid":null,"yssfzh":null,"qyrq":"测试数据","sfyx":"测试数据"}}}

+ 1 - 0
log/2023-8-17.log

@@ -0,0 +1 @@
+[2023-08-17 10:11:20.867] [error] [P] search-167 : [M] 请检查电脑是否打开读卡桥接器[R]undefined

+ 7 - 5
package.json

@@ -1,10 +1,10 @@
 {
-  "name": "PatientSign",
-  "version": "0.1.0",
+  "name": "sign-xklr",
+  "version": "0.1.1",
   "private": false,
-  "author": "王姥爷",
+  "author": "wly",
   "scripts": {
-    "start": "vue-cli-service electron:serve",
+    "serve": "vue-cli-service electron:serve",
     "test:unit": "vue-cli-service test:unit",
     "test:e2e": "vue-cli-service test:e2e",
     "cz": "npm run log && git add . && git cz",
@@ -21,7 +21,7 @@
     "prettier": "npx prettier --write ./src ./test",
     "doc": "docsify serve docs"
   },
-  "appId": "PatientSign",
+  "appId": "sign-xklr",
   "main": "background.js",
   "dependencies": {
     "@vue/reactivity": "^3.2.47",
@@ -33,6 +33,7 @@
     "echarts": "^5.4.2",
     "electron": "^12.2.3",
     "electron-dl": "^3.2.0",
+    "electron-edge-js": "^19.0.0",
     "electron-log": "^4.4.8",
     "electron-updater": "^4.3.9",
     "element-ui": "^2.15.13",
@@ -40,6 +41,7 @@
     "lodash": "^4.17.21",
     "moment": "^2.29.4",
     "nedb": "^1.8.0",
+    "node-gyp-build": "^4.6.0",
     "qs": "^6.11.1",
     "request": "^2.88.2",
     "request-progress": "^3.0.0",

BIN
resources/dll/NationECCode.dll


BIN
resources/dll/TestEdgeJs.dll


BIN
resources/dll/XKLRLibrary.dll


+ 36 - 0
resources/dll/dlllog(Nation)/Nationlog20230829.txt

@@ -0,0 +1,36 @@
+Hij0YHg5zuDnlr1IjPY8i4nvRNpup+dIK8zUwKPixgdMN9Ec8YXkmfzwVEhzOzwpnaZq1TPa8hrKfxWaf2BlsZPCXQYLowdJJ+rMX/I0Uiw=
+qQCT60ahFztVIdbQq6sbVgqfTGIzRhdRHd64MkadZUcDB9nXWegdICxCqPMTDsfHjeIew/AnFiwzIB1Kjz2p3kUV9XDY8eIGr2nIEUFfSSs=
+UnB+FeyfRxI2oP7/6M87C9WA2A6jBViuC5FP7onhuXQvnxhe6AjXayumPaoRtaspPMoG/azy0FPTWoPQNt3AOQ8bu0lOG7JQ1OX//v/dsUFgVKa0Ljnpwd1SMEip2HVMSYx3fRBWjObM5mymx7rpEMGXwBo/8xU/jtqzLE+LEvjHaZeyb3jdBhJxEBrKPLHZt0fNjU7wjZsM+PEMo5ul4KTpnQl9U2uIo3BjQoB+KH6kQQtBUd9RS9kf4KO4mhMv6cPVvS9Fl0omxOQb64ps3+rssfWfgrvf8TfProaA3qE=
+eh+u+hv6wZE7FlISPc/t8lCajo8baSTFMH53dO/DtkA=
+glA/Kp4ilxuSAZm/zYKl7I6RwCI57M5qURaL/ykTy3oJ6Z4BpvlXJFS82yATW8GT
+xer15eljMRG21ld6M1TAi6SHhtB9hY65aszWskpMrsf82AI5mYAlZUQuspZPEXTJ
+1X30fsYiNmPEM3ew87gw5XA0Cr2Iz/IclvWUL5R82/A=
+D2O87Wj+2nQHiSADCZpY3w==
+C5bRWm5wCxSy6/vCsrCYk2Y2jUGYqu0TaclxtAtJbnIw7hjM2dS7TJWligTDafH1Qy2FGtCXC1MZDfzUnAxMUg/a4EtuALf5BrdhapOQrGnP0MNxMJJSSROSpA7FOE9E
+SLkTkRw1Y0xet/7h1I3zct0OM3XnfiHu/lrJqlo7fuq6c+BkR6juS8cCMSe4gC+H+NPmFTxciyMnHF1FX6nWwQXrKieQ3zCKQe0vlhemkyU=
+yMY380BJ3tlYSgiuJCU/F6sqf7TViUNDL4NZrbm9W0Oazbm//t74ks5rmCfvHx4OqjsQ09cfS1680rWIHQ6HsuI1Ify1h0IQq0w1FgG9WiI=
+uBMwVuO1J9BlLBeCnO+lm1S/fxHuM72XSxVfcpqJUS/VDydBBA1kCksPw33J+9qQcRDsKyqYhnZdpBuoIZM86Wz6SqC0q7GQvxySX9/bfO1oqbaqlZYP9pmh4H5PYjYAJ7NgoK1AWcIx5cPm+EUvch4OaNs2FKIQot3dMtS/LEU5OfQgLhDXawlJ0SNGFu6PJzDCk3Jf8IfR36cZWyxVZWIpGjG2A/V9GsBlIDTLDhxwym0xvAoSjfiqS13OoLqIKG8gXOugJ7pB+AaqUkstpjnKNFFy0Tk0XC+CclKvvOk=
+pt96c/0mCP/v9ukq+rU0m8EbpFdmLCukoMvpjW1SuCs=
+AjdkG/MgwKTN0zT5cwHANOfqPclPOVENIGu0Gw8n0+0kUelymTuQveIZEQhwu3an
+P9qrj/VZQxUoiPFiSCyqa4zjYrYYQleQznQn7rIBVXsknz0Lo0CCPYIV0bdF+HiG
+UB0LHTgYq5Z9A91gpAe3UUhWz+5eMzACEwcgofYRJNw=
+xdjkEwnpT6mcMHzhjJG3sg==
+3zm0e5ZE/kyseWs8GL/tMWTPE/a/Ulom6LDsjLrIWEwp3JtSoqVxOBZIrZDyP5ZziJy0yOWUyTW7brBxzJfQWXRhkLoBCCkCgnwC5m8mKzdLK4K2VEZ67+K4z4ENFrJi
+FZdD1p5sDl2WSDLUgPqQ0oLBosAq2XsKZ4pREs0lppnY7lWacDaQLl9MsEWe06oYBuXyrWfOi1b4M48g6PV2PPFX6NbKy5F7tD6Non9Pmgw=
+jqZnly9+kUCVHzQcroUzMrQx+A4c3zbPlHXRmiXsrDXJMcrTKEc/eYSGUGjiD6vnIZykUtH6A818ehyQicjybx+Vbt8pdOXq+M95oW/sE24=
+Z7DYGGWp9SA+79iOHqq+h9+FfE/rrrsJpPTDUIZjDx9dgtYFbBfa+jeOuYksg0BYyyBqsnYX0VYms4X1v6Vk2qk0hVlqTvUFGuytV3O8d9m6u20iSuQeaFTmrXhubGZ4HDwVyLmAAKFz8OQLZ4xoNLVIyjoD/Hche11sXAMmLR7/6jpwViQD+CLe72DPQU9m65IgpRHWpEVxLUXwPbmwaq28kOOwcHM87MzWqJHGZw6A77WdO9QwgH7aYl7+cNG2CRf2LUp8K2JW3vmDShHoXNdiqlInE9PNc1bKSpta5P8=
+Na7HqPZ96EgdyatIWaek41hFYkfTE5tJ0HQQBOWml5o=
+CPZUVys7izRKJtKzVL/rl6aY4wrRf9Ov1JxgmAb8wK48eGsyhscCGpqrcH0YyEM5
+e4g7od0lopAvw+yiEnwHtsg0HMIBaB0Fa4GLjYtpi82K8Gts6Z1gSXckM18I+bao
+4KAcRWSSiAuzWtaUChgaADpsnJLZex7ICXpUqHda7xQ=
+3mAKQfxG5fYcxhZVHxXoRw==
+h4kEVkN2Ab/Tse+L00g2D9heFO+hjkRkyZ/3FpNNS+qugG1Tztk84SR++TlHWA8oVH/UMCtYndIZOMKcOqEd2tBkWeagEsraer86UVKyM0hxoou+ggNa5PzgHVftJ3CF
+TVwkGPVuMRp1suQk7VJ9EsiYxb00ceaCIYR5kIGyZrX8JE2hmGBaLwdHZ7uP+2guj35ADgDcdKVADuc4mCgTJPM0gyQMBuuz95EFUVakOlw=
+PZCbRVnrHN8122R7YzknUutdVOlOVSmAk4ruKXzqQYAke9g0nwo6qnLUeu7wdXlxhtQND6oPr7sJ7qYiZgeOgbLe16KHvOo1hZnUxNRIp48=
+regAHLveI1kUkPIE4F97JDhzsWWhtZoXXa77EE1jQUJuf45pQJQy7aun74/TA+NaaclQT3NTZvot6GRr0lHbQijI443ub/pMEpNica5XtJfTBu1rcIPo9IF2rxgAs43UXutgKph5XWlv1Tnsu0+itoAk0pFbrZcKUpHr69YIDxnkDWPJRyyr3uCKKWf70jqphE2XL4tyiw9wsJdmoUxVV4axvmkv4qxOb/XAtAX6IEc6ffISf61IlvCPuw+h0j2tljqgOcrAQZ+BECUWf56HsasfOaXGo4Y01jQAYmCJe3w=
+dC17jPpf41RyPUcvOp/+bjTh+/h8iNLxsBCrZMaZPZs=
+3IMrfHdibSs/Imxs81mnjktlPXFzaKFvvuxgWkZv/ThgoG1n7X+R/gtJx7DUrSQ5
+3ME+Bmdm78CgdNVV+EOlNDdA3FrCyip+MBsgesgN6GzlHIykVQgO2J/QnIUlj5Hx
+tJgYSmROg8Yij0ZHUV1tm5MXUEc9TKC47UstjTNa3mQ=
+/NAAXSu139UYFq+FR9X7iA==
+ZY54WMsSQIVejuMF8Y9oJnysLZhKWIxI6hOft+l6rAtLAVzP+jHos8vXLscl3cV3zU6eecvi7RYrNTVjChp5TMnmCZketKf7HwvQ6J/nXECt/TofRad6a+J727xMv0bV

+ 1 - 0
src/main/main.js

@@ -8,6 +8,7 @@ import { LOAD_URL, ACHEME } from './config'
 import createSettingWindow from './windows/settingwin'
 import { createProtocol } from "vue-cli-plugin-electron-builder/lib";
 import checkUpdate from './windows/updater'
+
 const isdev = process.env.NODE_ENV == "development"
 protocol.registerSchemesAsPrivileged([
   {

+ 2 - 1
src/main/windows/mainWin.js

@@ -1,6 +1,7 @@
 import { shell, screen, ipcMain } from 'electron'
 import tray from './tray'
 import logger from '../log.js'
+
 export default function mainWin(mw) {
 
   // 移动窗口----start
@@ -62,7 +63,7 @@ export default function mainWin(mw) {
     mw.webContents.send('getPrinterList', list);
   });
   ipcMain.on('setlog', (event,option) =>{
-    console.log(option,logger[option.type], option.msg)
+    // console.log(option,logger[option.type], option.msg)
       logger[option.type]("[P] "+ option.row +" : [M] "+ option.msg+ '[R]'+option.res)
   })
   

+ 6 - 5
src/renderer/App.vue

@@ -7,11 +7,12 @@
 </template>
 <script>
 import { mapActions } from 'vuex'
+
 export default {
   name: 'App',
   data() {
     return {
-      username:{}
+      username: {}
     }
   },
   beforeCreate() {
@@ -69,7 +70,7 @@ body {
 
 .el-notification {
   width: auto;
-  padding: 0.8rem 1.5rem 0.8rem 0.8rem;
+  padding: 0.6rem 1.3rem 0.6rem 0.6rem;
   border-radius: 0.5rem;
 
   .el-notification__icon {
@@ -79,7 +80,7 @@ body {
   }
 
   .el-notification__group {
-    margin-left: 0.8rem;
+    margin-left: 0.6rem;
     margin-right: 0.5rem;
   }
 
@@ -95,8 +96,8 @@ body {
   }
 
   .el-notification__closeBtn {
-    top: 0.8rem;
-    right: 0.8rem;
+    top: 0.6rem;
+    right: 0.6rem;
     font-size: 1.2rem;
   }
 }

+ 10 - 10
src/renderer/components/nav/index.vue

@@ -7,24 +7,24 @@
     @mouseleave.self="winUp"
     @mouseup.self="winUp" -->
       <div class="centerY" style="font-size: 16px;">
-        <div class="" style="width: 30px;margin-left: 10px;">
+        <div class="" style="width: 25px;margin-left: 5px;">
           <div class="picbox">
             <img src="../../assets/logo.png" alt="" class="picimg" />
           </div>
         </div>
-        <span class="text-dark" style="margin-left: 10px;">星空路人</span>
+        <span class="text-dark" style="margin-left: 5px; font-size: 14px;">星空路人</span>
         <div class="ml-auto text-dark centerY btn-click" style="-webkit-app-region: no-drag;">
-          <div class="" @click="full" style="padding: 10px 20px;">
-            <span class="iconfont quanping1" style="font-size: 16px;"></span>
+          <div class="" @click="full" style="padding: 5px 14px;">
+            <span class="iconfont quanping1" style="font-size: 14px;"></span>
           </div>
-          <div class="" @click="minclick" style="padding: 10px 20px;">
-            <span class="iconfont zuixiaohua" style="font-size: 16px;"></span>
+          <div class="" @click="minclick" style="padding: 5px 14px;">
+            <span class="iconfont zuixiaohua" style="font-size: 14px;"></span>
           </div>
-          <div class="" @click="maxclick"  style="padding: 10px 20px;">
-            <span :class="['iconfont', ismax ? 'zuidahua-3' : 'zuidahua']"  style="font-size: 16px;"></span>
+          <div class="" @click="maxclick" style="padding: 5px 14px;">
+            <span :class="['iconfont', ismax ? 'zuidahua-3' : 'zuidahua']" style="font-size: 14px;"></span>
           </div>
-          <div class=" btn-click-close" @click="closeclick"  style="padding: 10px 20px;">
-            <span class="iconfont CloseDefault"  style="font-size: 16px;"></span>
+          <div class=" btn-click-close" @click="closeclick" style="padding: 5px 14px;">
+            <span class="iconfont CloseDefault" style="font-size: 14px;"></span>
           </div>
         </div>
       </div>

+ 14 - 5
src/renderer/components/userinfo/index.vue

@@ -30,6 +30,9 @@
             <div class="mt-1">
               <span class="ml-1"> {{ MEDICAL_INSURANCE_TYPE[patientInfo.medicalInsuranceType - 1]?.label }}</span>
             </div>
+            <div class="">
+              <span class="ml-1 fs-14"> {{ patientInfo.village }}</span>
+            </div>
             <div class="mt-3">
               <span class="el-tag1 fs-14 py-1 px-3">
                 <span style="font-weight: 600;"> {{ CHRONIC_DISEASE_TYPE[patientInfo.chronicDiseaseType - 1]?.label
@@ -42,8 +45,8 @@
           style="height: 100%;box-sizing: border-box; border-top-left-radius: .9rem;border-bottom-left-radius: .9rem; box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 1), inset 0 0 0.4rem #fff,  -1px -1px 0.4rem rgba(0, 0, 0, 0.3);background: rgb(247,252,252);">
           <div class="userbox px-2" style="max-height:80vh;overflow: auto;">
             <div class="fs-16 pt-2 text-right">
-              <el-button class="fs-12 py-2 px-4" type="primary" @click="getPrinterList">
-                打印
+              <el-button v-if="issign" class="fs-12 py-2 px-4" type="success" @click="getPrinterList">
+                签到
               </el-button>
               <el-button class="fs-12 py-2 px-4" type="danger" @click="close()">关闭({{ closeCount }}s)</el-button>
             </div>
@@ -194,6 +197,12 @@ export default {
         return {}
       },
     },
+    issign: {
+      type: Boolean,
+      default() {
+        return false
+      },
+    },
   },
   computed: {
     ...mapGetters({
@@ -291,9 +300,9 @@ export default {
     },
     setCount() {
       let t = this
-      if (process.env.NODE_ENV === "development") {
-        return false
-      }
+      // if (process.env.NODE_ENV === "development") {
+      //   return false
+      // }
       this.timer = setInterval(() => {
         if (t.closeCount <= 1) {
           clearInterval(t.timer)

+ 28 - 0
src/renderer/pages/home/index.vue

@@ -37,6 +37,34 @@ export default {
     }
   },
   created() {
+    let res = [
+      {id:15,pid:null,name:'这是15'},
+      {id:10,pid:null,name:'这是10'},
+      {id:11,pid:10,name:'这是11'},
+      {id:12,pid:11,name:'这是12'},
+      {id:16,pid:14,name:'这是16'},
+      {id:13,pid:12,name:'这是13'},
+      {id:14,pid:null,name:'这是14'},
+    ];
+    let arr=[]
+    function fn(res,arr,id){
+      // console.log(res,arr,id)
+      if(!id){
+        return false
+      }
+      res.map(item=>{
+        if(item.id==id){
+          arr.push(item);
+        }
+        if(item.pid==id){
+          fn(res,arr,item.id)
+        }else{
+          fn(res,arr)
+        }
+      })
+    }
+   fn(res,arr,14)
+   console.log(arr)
   },
   mounted() {
     this.gethospitalId()

Разлика између датотеке није приказан због своје велике величине
+ 188 - 73
src/renderer/pages/index/index.vue


Разлика између датотеке није приказан због своје велике величине
+ 99 - 153
src/renderer/pages/search/index.vue


Разлика између датотеке није приказан због своје велике величине
+ 0 - 234
src/renderer/pages/sign/index.vue


+ 37 - 3
src/renderer/utils/card_reading.js

@@ -1,4 +1,10 @@
-import axios from 'axios'
+import axios from 'axios';
+const edge = require('electron-edge-js');
+import { ipcRenderer } from "electron";
+const path = require('path')
+const dll_url =  process.env.NODE_ENV == "development"
+    ? "./resources/dll/XKLRLibrary.dll"
+    : process.resourcesPath + '/dll/XKLRLibrary.dll'//`C:/Users/15432/AppData/Local/Programs/PatientSign/resources/dll/XKLRLibrary.dll`;
 export const card_read = [
   {
     name: '浙江省医保局通用IC读卡器', id: 2, type: 'MT3', protApi: '9539/dareway',
@@ -35,7 +41,7 @@ export const card_read = [
   //   postData: { service: 'info' }
   // },
 ]
-
+// console.log(path,process,dll_url)
 const config = {
   "card_read_currency": {
     "component": "ZJ_CardReader",
@@ -63,8 +69,36 @@ const config = {
     }
   }
 }
+//电子医保 扫码 内部.
+export function medical_dll(url,cb,err){
+  try {
+    url =url|| config.electronic_medical.url
+    console.log(url)
+    const NationEcTrans = edge.func({
+      assemblyFile: dll_url,
+      typeName: "XKLRLibrary.XKLRNationECCode",
+      methodName: "NationEcTrans"
+    })
+    // console.log(13)
+    NationEcTrans(url, (error, value) => {
+      console.log(error, value)
+      const res= JSON.parse(value);
+      if(value.length>0){
+        cb(res)
+      }
+      if(error){
+        err()
+        ipcRenderer.send('setlog', { type: 'error', row: 'card_reading-99', msg: error })
+      }
+    })
+  } catch (error) {
+    err()
+    ipcRenderer.send('setlog', { type: 'error', row: 'card_reading-103', msg: error })
+  }
+}
+
 
-//电子医保 读卡
+//电子医保 扫码
 export function medicalInsurance(option) {
   try {
     let ws = new WebSocket("ws://127.0.0.1:8899");//连接服务器	

+ 7 - 3
src/renderer/utils/common.js

@@ -105,7 +105,11 @@ export function getIDCardInfo(idCard) {
 export function logfn(ipc,option){
   option['type']=option.type||'info';
   console.log(option.msg)
-  option['msg']=JSON.stringify(option.msg)
-  option['res']=JSON.stringify(option.res)
-  ipc.send('setlog',{...option,} )
+  if(option.msg){
+    option['msg']=JSON.stringify(option.msg)
+  }
+  if(option.res){
+    option['res']=JSON.stringify(option.res)
+  }
+  ipc.send('setlog',{...option} )
 }

+ 10 - 6
vue.config.js

@@ -4,7 +4,7 @@ const isDevelopment = process.env.NODE_ENV == "development"
 function resolve(dir) {
     return path.join(__dirname, dir);
 }
-console.log(package.version)
+// console.log(package.version)
 module.exports = {
     lintOnSave: false,
     runtimeCompiler: true,
@@ -110,8 +110,13 @@ module.exports = {
     pluginOptions: {
         // vue-cli-plugin-electron-builder配置
         electronBuilder: {
+            externals: ['electron-edge-js'],
             nodeIntegration: true,
             builderOptions: {
+                "extraFiles": [
+                    // 安装程序时把指定的资源复制到程序根目录
+                    "./resources",
+                ],
                 publish: {
                     "provider": "generic",
                     "url": "",
@@ -125,7 +130,7 @@ module.exports = {
                             target: "nsis",
                             // 这个意思是打出来32 bit + 64 bit的包,但是要注意:这样打包出来的安装包体积比较大,所以建议直接打32的安装包。
                             arch: [
-                                "x64",
+                                // "x64",
                                 'ia32'
                             ],
                         },
@@ -158,7 +163,6 @@ module.exports = {
                 nsis: {
                     // 是否一键安装,建议为 false,可以让用户点击下一步、下一步、下一步的形式安装程序,如果为true,当用户双击构建好的程序,自动安装程序并打开,即:一键安装(one-click installer)
                     oneClick: true,
-
                     // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
                     allowElevation: true,
                     // 允许修改安装目录,建议为 true,是否允许用户改变安装目录,默认是不允许
@@ -174,10 +178,10 @@ module.exports = {
                     // 创建开始菜单图标
                     createStartMenuShortcut: true,
                     perMachine: false,
-                    artifactName: `PatientSign-xklr-${package.version}.exe`,
+                    artifactName: `${package.name}-${package.version}.exe`,
                     // "deleteAppDataOnUninstall": true,
-                    //  "runAfterFinish": true,
-                    //  "differentialPackage": true
+                    // "runAfterFinish": true,
+                    // "differentialPackage": true
                 },
             },
             chainWebpackMainProcess: (config) => {