cnhis-design-vue 3.2.2-beta.1 → 3.2.2-beta.14
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/README.md +87 -87
- package/es/components/biunique-chat/index.d.ts +752 -562
- package/es/components/biunique-chat/index.js +1 -1
- package/es/components/biunique-chat/src/Index.vue.d.ts +1216 -0
- package/es/components/biunique-chat/src/Index.vue.js +1 -0
- package/es/components/biunique-chat/src/Index.vue2.js +1 -0
- package/es/components/biunique-chat/src/api/index.d.ts +2 -5
- package/es/components/biunique-chat/src/api/index.js +1 -1
- package/es/components/biunique-chat/src/components/ChatFile.vue.d.ts +241 -0
- package/es/components/biunique-chat/src/components/ChatFile.vue.js +1 -0
- package/es/components/biunique-chat/src/components/ChatFile.vue2.js +1 -0
- package/es/components/biunique-chat/src/components/ChatFooter.vue.d.ts +3 -5
- package/es/components/biunique-chat/src/components/ChatFooter.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/ChatHeader.vue.d.ts +639 -0
- package/es/components/biunique-chat/src/components/ChatHeader.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/ChatMain.vue.d.ts +63 -5
- package/es/components/biunique-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/biunique-chat/src/components/ChatRecord.vue.d.ts +101 -0
- package/es/components/biunique-chat/src/components/ChatRecord.vue.js +1 -0
- package/es/components/biunique-chat/src/components/ChatRecord.vue2.js +1 -0
- package/es/components/biunique-chat/src/components/ChatSet.vue.d.ts +246 -0
- package/es/components/biunique-chat/src/components/ChatSet.vue.js +1 -0
- package/es/components/biunique-chat/src/components/ChatSet.vue2.js +1 -0
- package/es/components/biunique-chat/src/components/PersonProfile.vue.d.ts +59 -0
- package/es/components/biunique-chat/src/components/PersonProfile.vue.js +1 -0
- package/es/components/biunique-chat/src/components/PersonProfile.vue2.js +1 -0
- package/es/components/biunique-chat/src/components/SiderList.vue.d.ts +20 -28
- package/es/components/biunique-chat/src/components/SiderList.vue2.js +1 -1
- package/es/components/biunique-chat/src/constants/index.d.ts +20 -0
- package/es/components/biunique-chat/src/constants/index.js +1 -0
- package/es/components/biunique-chat/src/hooks/useState.d.ts +7 -0
- package/es/components/biunique-chat/src/hooks/useState.js +1 -0
- package/es/components/biunique-chat/src/types/index.d.ts +10 -0
- package/es/components/biunique-chat/src/types/index.js +1 -0
- package/es/components/biunique-chat/src/utils/index.d.ts +8 -0
- package/es/components/biunique-chat/src/utils/index.js +1 -0
- package/es/components/biunique-chat/style/iconfont.ttf +0 -0
- package/es/components/biunique-chat/style/index.css +1 -1
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
- package/es/components/button-print/src/utils/print.d.ts +1 -0
- package/es/components/button-print/src/utils/print.js +1 -1
- package/es/components/calendar/index.d.ts +11 -1
- package/es/components/calendar/src/Calendar.vue.d.ts +11 -1
- package/es/components/callback/src/components/dialog/drawer.vue2.js +1 -1
- package/es/components/callback/src/components/dialog/modal.vue2.js +1 -1
- package/es/components/callback/src/components/render/popupMaps.d.ts +7 -0
- package/es/components/card-reader-sdk/src/cardReaderSDK.d.ts +26 -7
- package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
- package/es/components/card-reader-sdk/src/types/index.d.ts +4 -1
- package/es/components/card-reader-sdk/src/utils/ensureUID2IdCard.d.ts +17 -0
- package/es/components/card-reader-sdk/src/utils/ensureUID2IdCard.js +1 -0
- package/es/components/classification/src/index.vue.d.ts +3 -0
- package/es/components/expand-field/src/components/FormBatchOptionsModal.vue2.js +1 -1
- package/es/components/expand-field/src/components/PersonModal.vue2.js +1 -1
- package/es/components/expand-field/src/components/form.vue2.js +1 -1
- package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
- package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcessChart.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useLeft.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
- package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
- package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
- package/es/components/fabric-chart/src/hooks/useCommon.d.ts +1 -0
- package/es/components/fabric-chart/src/hooks/useCommon.js +1 -1
- package/es/components/fabric-chart/src/hooks/useCumputedPoint.js +1 -1
- package/es/components/form-config/index.d.ts +16 -0
- package/es/components/form-config/src/FormConfig.vue.d.ts +16 -0
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +5 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +8 -0
- package/es/components/form-config/src/hooks/useSortalbeConfig.js +1 -1
- package/es/components/form-render/index.d.ts +5 -0
- package/es/components/form-render/src/FormRender.vue.d.ts +5 -0
- package/es/components/form-render/src/FormRender.vue2.js +1 -1
- package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +5 -0
- package/es/components/form-render/src/components/renderer/inputNumber.js +1 -1
- package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +2 -0
- package/es/components/form-render/src/hooks/useFormEvent.d.ts +2 -1
- package/es/components/form-render/src/hooks/useFormEvent.js +1 -1
- package/es/components/form-render/src/hooks/useSelectedSetting.d.ts +3 -4
- package/es/components/form-render/src/hooks/useSelectedSetting.js +1 -1
- package/es/components/form-render/src/types/index.d.ts +1 -0
- package/es/components/iho-table/index.d.ts +2 -0
- package/es/components/iho-table/src/IhoTable.vue.d.ts +2 -0
- package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
- package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +1 -0
- package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
- package/es/components/iho-table/src/plugins/headerPlugin.js +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index.d.ts +5 -0
- package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHeaderCSS.js +1 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHoverColumn.js +1 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/src/renderer.js +1 -1
- package/es/components/iho-table/src/plugins/verticalTablePlugin/src/types.d.ts +1 -0
- package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.d.ts +1 -0
- package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
- package/es/components/iho-table/src/types/index.d.ts +1 -0
- package/es/components/iho-table/src/utils/index.d.ts +1 -1
- package/es/components/iho-table/src/utils/index.js +1 -1
- package/es/components/iho-table/style/index.css +1 -1
- package/es/components/index.css +1 -1
- package/es/components/index.js +1 -1
- package/es/components/info-header/index.d.ts +15 -0
- package/es/components/info-header/src/InfoHeader.vue.d.ts +15 -0
- package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +1 -0
- package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +1 -0
- package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +6 -0
- package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +5 -0
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
- package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
- package/es/components/shortcut-setter/index.d.ts +5 -0
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +5 -0
- package/es/components/step-notice/index.d.ts +9 -0
- package/es/components/step-notice/src/StepNotice.vue.d.ts +9 -0
- package/es/components/step-notice/src/StepNotice.vue2.js +1 -1
- package/es/components/step-notice/src/components/NoticeItem.vue.d.ts +3 -0
- package/es/components/step-notice/src/components/NoticeItem.vue2.js +1 -1
- package/es/components/step-notice/src/types.d.ts +1 -0
- package/es/components/step-notice/style/index.css +1 -1
- package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
- package/es/components/table-export-field/src/components/SaveProjectModal.vue2.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/table_style_2.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
- package/es/shared/hooks/index.js +1 -1
- package/es/shared/hooks/useTheme.d.ts +1 -0
- package/es/shared/hooks/useTheme.js +1 -1
- package/es/shared/package.json.js +1 -1
- package/es/shared/utils/fabricjs/index.d.ts +6823 -0
- package/es/shared/utils/index.js +1 -1
- package/es/shared/utils/tapable/index.d.ts +139 -0
- package/package.json +2 -2
- package/es/components/biunique-chat/src/BiuniqueChat.vue.d.ts +0 -1005
- package/es/components/biunique-chat/src/BiuniqueChat.vue.js +0 -1
- package/es/components/biunique-chat/src/BiuniqueChat.vue2.js +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 聊天消息类型
|
|
3
|
+
*/
|
|
4
|
+
export declare enum MESSAGE_TYPE {
|
|
5
|
+
TEXT = "TEXT",
|
|
6
|
+
FILE = "FILE",
|
|
7
|
+
EMOJI = "EMOJI",
|
|
8
|
+
IMAGE = "IMAGE",
|
|
9
|
+
TEMPLATE = "TEMPLATE",
|
|
10
|
+
BLEND = "BLEND"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 订阅消息类别
|
|
14
|
+
*/
|
|
15
|
+
export declare enum SUBSCRIBE_MESSAGE_TYPE {
|
|
16
|
+
JOIN = "JOIN",
|
|
17
|
+
LEAVE = "LEAVE",
|
|
18
|
+
NEW_SESSION = "NEW_SESSION",
|
|
19
|
+
MESSAGE = "MESSAGE"
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var E=(E=>(E.TEXT="TEXT",E.FILE="FILE",E.EMOJI="EMOJI",E.IMAGE="IMAGE",E.TEMPLATE="TEMPLATE",E.BLEND="BLEND",E))(E||{}),I=(E=>(E.JOIN="JOIN",E.LEAVE="LEAVE",E.NEW_SESSION="NEW_SESSION",E.MESSAGE="MESSAGE",E))(I||{});export{E as MESSAGE_TYPE,I as SUBSCRIBE_MESSAGE_TYPE};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{inject as s}from"vue";import{transformLastMessage as e,formatTime as t,transformMessage as n}from"../utils/index.js";function i(){const i=s("state"),o=s("stompClient");return{state:i,setCurrentSessionItem:function(s){Object.assign(i.currentSessionItem,s,s.lastMessage?{lastMessage:e(s)}:{}),i.sessionKey!==i.currentSessionItem.sessionKey&&(i.sessionKey=i.currentSessionItem.sessionKey,i.msgList=[])},setMsgList:function(s=[]){i.msgList=s.map((s=>{var e;return{...s,__time:t(s.sendTime).msgTime,__content:n(null==(e=s.content)?void 0:e.msg)}}))},stompClient:o}}export{i as useState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../shared/types';
|
|
2
|
+
export declare function formatTime(dateStr: string): {
|
|
3
|
+
siderMsgTime: any;
|
|
4
|
+
msgTime: any;
|
|
5
|
+
};
|
|
6
|
+
export declare function listSort(list: AnyObject[]): AnyObject[];
|
|
7
|
+
export declare function transformMessage(content: string): string;
|
|
8
|
+
export declare function transformLastMessage(item: AnyObject): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isToday as e,format as t,isYesterday as r}from"date-fns";import{cloneDeep as a}from"lodash-es";import{MESSAGE_TYPE as n}from"../constants/index.js";function s(a){const n=new Date(a);let s,p;if(e(n))s=p=t(n,"HH:mm");else{s=r(n)?"昨天":t(n,"MM-dd");const e=n.getFullYear(),a=(new Date).getFullYear();p=t(n,e<a?"yyyy年M月d日 HH:mm":"M月d日 HH:mm")}return{siderMsgTime:s,msgTime:p}}function p(e){return a(e).sort(((e,t)=>e.topping&&!t.topping?-1:!e.topping&&t.topping?1:new Date(t.sortTime).getTime()-new Date(e.sortTime).getTime()))}function i(e){if(!e)return"";const t=e=>new RegExp("\\n*\\["+(e||"")+"(code|pre|div|span|p|table|thead|th|tbody|tr|td|ul|li|ol|li|dl|dt|dd|h2|h3|h4|h5)([\\s\\S]*?)]\\n*","g");return e=e.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/'/g,"'").replace(/"/g,""").replace(/@(\S+)(\s+?|$)/g,'@<a href="javascript:;">$1</a>$2').replace(t(),"<$1 $2>").replace(t("/"),"</$1>").replace(/\n/g,"<br>")}function o(e){if(!e.chatMessageType)return i(e.lastMessage);switch(e.chatMessageType){case n.TEXT:return i(e.lastMessage);case n.IMAGE:return"[图片]";case n.FILE:return"[文件]";default:return"其他消息"}}export{s as formatTime,p as listSort,o as transformLastMessage,i as transformMessage};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.c-multi-chat *{box-sizing:border-box}.c-multi-chat .n-avatar{background-color:#5585f5}.c-multi-chat .n-spin-body{margin:auto}.c-multi-chat .sider-list__box{margin-top:15px}.c-multi-chat .sider-list__box__item{background-color:#fff;border-bottom:1px solid #ebebeb;display:flex;padding:12px 5px}.c-multi-chat .sider-list__box__item.active,.c-multi-chat .sider-list__box__item:active,.c-multi-chat .sider-list__box__item:focus,.c-multi-chat .sider-list__box__item:hover{background-color:#ebebeb}.c-multi-chat .sider-list__box__item .avatar-right{flex:1;margin-left:10px}.c-multi-chat .sider-list__box__item .avatar-right.hidden{display:none}.c-multi-chat .sider-list__box__item .avatar-right .name{display:flex}.c-multi-chat .sider-list__box__item .avatar-right .name h4{flex:1}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip{display:flex}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip__content{flex:1;width:0}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip__content>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip p,.c-multi-chat .sider-list__box__item .avatar-right .name span{color:#999}.c-multi-chat .chat-wrapper .n-layout-scroll-container{display:flex;flex-flow:column nowrap;overflow:hidden}.c-multi-chat .chat-header{height:60px;padding:0 10px}.c-multi-chat .chat-header,.c-multi-chat .chat-header__left{align-items:center;display:flex}.c-multi-chat .chat-header__left .name{margin-left:10px}.c-multi-chat .chat-main{border-bottom:1px solid #e5e5e5;border-top:1px solid #e5e5e5;flex:1;overflow-y:scroll;padding:0 10px}.c-multi-chat .chat-main::-webkit-scrollbar{width:5px}.c-multi-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.c-multi-chat .chat-main .message-item{margin-bottom:16px}.c-multi-chat .chat-main .message-item .time{color:#666;margin-bottom:16px;text-align:center}.c-multi-chat .chat-main .message-item .message-box{display:flex}.c-multi-chat .chat-main .message-item .message-box .content{background:#ebebeb;border-radius:8px;color:#000;font-size:14px;line-height:20px;margin:0;max-width:500px;padding:10px;text-align:left;word-break:break-word}.c-multi-chat .chat-main .message-item .message-box .content p{margin:0}.c-multi-chat .chat-main .message-item .message-box.left{justify-content:flex-start}.c-multi-chat .chat-main .message-item .message-box.left .content{border-top-left-radius:0;margin-left:10px}.c-multi-chat .chat-main .message-item .message-box.right{justify-content:flex-end}.c-multi-chat .chat-main .message-item .message-box.right .content{border-top-right-radius:0;margin-right:10px}.c-multi-chat .chat-footer{height:170px;position:relative}.c-multi-chat .chat-footer .input-box{cursor:text;height:114px;outline:none;overflow-x:hidden;overflow-y:scroll;padding:10px 16px;word-break:break-word}.c-multi-chat .chat-footer .input-box::-webkit-scrollbar{width:5px}.c-multi-chat .chat-footer .btn-box{align-items:center;bottom:0;display:flex;height:56px;justify-content:flex-end;padding-right:20px;position:absolute;right:0}.c-multi-chat .chat-footer .btn-box .tip{color:#a6a6a6;margin-right:20px}
|
|
1
|
+
.c-chat-dialog{box-sizing:border-box;padding:15px;width:640px!important}.c-chat-dialog__content{height:600px}.c-chat-dialog__content.c-chat-image-wrapper{background:#f2f2f2;box-sizing:border-box;overflow-y:auto;padding:0 15px;width:100%}.c-chat-dialog__content.c-chat-image-wrapper .image-item .label{display:block;padding:8px 0}.c-chat-dialog__content.c-chat-image-wrapper .image-item .image-box{background:#fff;display:flex;flex-flow:row wrap;gap:8px 8px;padding:8px}.c-chat-dialog__content.c-chat-file-wrapper{display:flex;flex-flow:column nowrap}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box{flex:1;margin-top:10px;overflow-y:auto}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item{align-items:center;display:flex;padding:10px}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item .text{flex:1;margin-left:8px}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item .text span{display:block}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item .text span.detail{color:#666;font-size:12px}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item .opt-box{display:none}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item .opt-box .n-icon{margin-left:8px}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item:hover{background-color:#f5f5f5}.c-chat-dialog__content.c-chat-file-wrapper .file-list-box .file-item:hover .opt-box{display:block}.c-chat-dialog__content.c-chat-record-wrapper{display:flex;flex-flow:column nowrap}.c-chat-dialog__content.c-chat-record-wrapper .n-input{background-color:#f2f2f2}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box{display:flex;flex:1;margin-top:10px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__content{background-color:#f2f2f2;box-sizing:border-box;flex:1;height:100%;overflow-y:auto;padding:10px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__content .content-item{background-color:#fff;display:flex;margin-bottom:10px;padding:10px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__content .content-item .msg-box{flex:1;margin-left:10px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__content .content-item .msg-box .name-and-time{display:flex;justify-content:space-between}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__content .content-item .msg-box .name-and-time span{color:#666;font-size:12px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter{box-sizing:border-box;padding:0 10px;width:200px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter .filter-title{display:block}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter .filter-item{margin-top:10px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter .filter-item .label{display:block}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter .filter-item .time-target{background-color:#f2f2f2;padding:0 10px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter .filter-item .time-target__item{align-items:center;border-bottom:1px solid #c6c6c6;display:flex;min-height:42px}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter .filter-item .time-target__item .n-date-picker{display:none}.c-chat-dialog__content.c-chat-record-wrapper .chat-record-box__filter .filter-item .time-target__item:last-child{border-bottom:none}.c-biunique-chat{height:100%}@font-face{font-family:iconfont;src:url(iconfont.ttf) format("truetype")}.c-biunique-chat .chat--iconfont{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:iconfont!important;font-size:16px;font-style:normal}.c-biunique-chat .chat--icon-list-search:before{content:"\e637"}.c-biunique-chat .chat--icon-image:before{content:"\e92e"}.c-biunique-chat .chat--icon-set:before{content:"\e62b"}.c-biunique-chat .chat--icon-folder:before{content:"\e701"}.c-biunique-chat .box-shadow{position:relative}.c-biunique-chat .box-shadow:after{bottom:0;box-shadow:0 1px 3px 0 rgba(0,0,0,.3);content:"";height:1px;left:0;position:absolute;width:100%;z-index:1}.c-biunique-chat *{box-sizing:border-box}.c-biunique-chat .n-avatar{background-color:#5585f5}.c-biunique-chat .n-spin-body{margin:auto}.c-biunique-chat .sider-list{border:1px solid #d5d5d5;box-sizing:border-box}.c-biunique-chat .sider-list__filter{align-items:center;column-gap:8px;display:flex;height:48px;padding:0 8px}.c-biunique-chat .sider-list__filter .n-tag{height:26px}.c-biunique-chat .sider-list__filter .n-tag__content{font-size:12px}.c-biunique-chat .sider-list__box__item{background-color:#fff;border-bottom:1px solid #ebebeb;display:flex;padding:12px 5px}.c-biunique-chat .sider-list__box__item.active,.c-biunique-chat .sider-list__box__item:active,.c-biunique-chat .sider-list__box__item:focus,.c-biunique-chat .sider-list__box__item:hover{background-color:#ebebeb}.c-biunique-chat .sider-list__box__item .avatar-right{flex:1;margin-left:10px}.c-biunique-chat .sider-list__box__item .avatar-right .name{display:flex}.c-biunique-chat .sider-list__box__item .avatar-right .name h4{flex:1}.c-biunique-chat .sider-list__box__item .avatar-right .msg-tip{display:flex}.c-biunique-chat .sider-list__box__item .avatar-right .msg-tip__content{flex:1;width:0}.c-biunique-chat .sider-list__box__item .avatar-right .msg-tip__content>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.c-biunique-chat .sider-list__box__item .avatar-right .msg-tip p,.c-biunique-chat .sider-list__box__item .avatar-right .name span{color:#999}.c-biunique-chat .chat-wrapper .n-layout-scroll-container{border:1px solid #d5d5d5;border-left:none;display:flex;flex-flow:column nowrap;overflow:hidden}.c-biunique-chat .chat-header{height:48px;justify-content:space-between;padding:0 10px}.c-biunique-chat .chat-header,.c-biunique-chat .chat-header__left{align-items:center;display:flex}.c-biunique-chat .chat-header__left .name{margin-left:10px}.c-biunique-chat .chat-header__right .chat--iconfont{font-size:18px;margin-left:18px}.c-biunique-chat .chat-main{background:#f5f5f5;border-bottom:1px solid #d5d5d5;flex:1;overflow-y:auto;padding:0 10px}.c-biunique-chat .chat-main::-webkit-scrollbar{width:5px}.c-biunique-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.c-biunique-chat .chat-main .message-item{margin-bottom:40px}.c-biunique-chat .chat-main .message-item .time{color:#666;font-size:12px;margin-bottom:16px!important;text-align:center}.c-biunique-chat .chat-main .message-item .message-box{display:flex}.c-biunique-chat .chat-main .message-item .message-box .n-avatar{flex-shrink:0}.c-biunique-chat .chat-main .message-item .message-box .content{background:#fff;border-radius:8px;border-top-left-radius:0;color:#000;font-size:14px;line-height:20px;margin:0 48px 0 10px;max-width:500px;padding:10px;position:relative;text-align:left;word-break:break-all}.c-biunique-chat .chat-main .message-item .message-box .content pre{font-family:"微软雅黑, Avenir, Helvetica, Arial, sans-serif";margin:0;white-space:pre-wrap;width:100%;word-break:break-all}.c-biunique-chat .chat-main .message-item .message-box .content:before{color:#666;content:"";font-size:12px;position:absolute;top:-20px;white-space:nowrap}.c-biunique-chat .chat-main .message-item .message-box:hover .content:before{content:attr(data-time);left:0}.c-biunique-chat .chat-main .message-item--mine .message-box{justify-content:flex-end}.c-biunique-chat .chat-main .message-item--mine .message-box .n-avatar{order:2}.c-biunique-chat .chat-main .message-item--mine .message-box .content{background:#d4e2fc;border-top-left-radius:8px;border-top-right-radius:0;margin:0 10px 0 48px;order:1}.c-biunique-chat .chat-main .message-item--mine .message-box:hover .content:before{left:auto;right:0}.c-biunique-chat .chat-footer{height:170px;position:relative}.c-biunique-chat .chat-footer .input-box{cursor:text;height:114px;outline:none;overflow-x:hidden;overflow-y:scroll;padding:10px 16px;word-break:break-word}.c-biunique-chat .chat-footer .input-box::-webkit-scrollbar{width:5px}.c-biunique-chat .chat-footer .btn-box{align-items:center;bottom:0;display:flex;height:56px;justify-content:flex-end;padding-right:20px;position:absolute;right:0}.c-biunique-chat .chat-footer .btn-box .tip{color:#a6a6a6;margin-right:20px}.c-biunique-chat .chat-set-wrapper .item{align-items:center;border-bottom:1px solid #efefef;display:flex;min-height:64px;padding:10px 0;width:100%}.c-biunique-chat .chat-set-wrapper .item.user-info{background-color:#f5f5f5;padding:10px 12px}.c-biunique-chat .chat-set-wrapper .item__right{margin-left:auto}.c-biunique-chat__popover .n-popover{border-radius:14px;overflow:hidden;padding:unset!important}.c-biunique-chat__popover .n-popover .n-popover__content{padding:unset!important}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person{background-color:#f5f5f5;box-sizing:border-box;column-gap:8px;display:flex;height:400px;width:538px}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person>div{flex:1}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__left{background-image:url("data:image/png;base64,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");display:flex;flex-flow:column nowrap}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__left .profile{background-color:#fff;display:flex;flex:1;flex-flow:column nowrap;margin-top:107px;padding:26px 15px;position:relative}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__left .profile .n-avatar{left:30px;position:absolute;top:-50px}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__left .profile .edit-avatar{background-color:#eee;height:30px;left:98px;position:absolute;top:22px;width:30px}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__left .profile__text{flex:1}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__left .profile__text h4{font-size:20px;line-height:28px;margin:40px 0 0;word-break:break-all}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__right{background-color:#fff;padding:26px 15px}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__right .info-item{align-items:center;display:flex;margin-bottom:15px}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__right .info-item:last-child{margin-bottom:0}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__right .info-item .label{color:rgba(0,0,0,.6);flex:0 0 77px}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__right .info-item .content{align-items:center;display:flex;flex:1}.c-biunique-chat__popover .n-popover .n-popover__content .popover-person__right .info-item .content .n-icon{cursor:pointer}.c-biunique-chat__popover .n-popover .n-popover__content .large-avatar{align-items:center;background-color:#e4eefe;display:flex;height:380px;justify-content:center;position:relative;width:380px}.c-biunique-chat__popover .n-popover .n-popover__content .large-avatar .n-button{background-color:rgba(0,0,0,.3);position:absolute;right:10px;top:10px}.c-biunique-chat__popover .n-popover .n-popover__content .large-avatar .n-button:hover{background-color:rgba(0,0,0,.5)}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module 'bpmn-js/lib/Viewer';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module 'bpmn-js/lib/features/modeling';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module 'diagram-js/lib/navigation/movecanvas';
|
|
@@ -56,6 +56,7 @@ export declare class Print {
|
|
|
56
56
|
_queryProxyOrigin(): Promise<void>;
|
|
57
57
|
_queryPrintFile(formatId: string, params?: string): Promise<any>;
|
|
58
58
|
paramsSerializer(params: AnyObject): AnyObject;
|
|
59
|
+
getIReportFormatId: (isIReport: boolean, formatId: string) => string;
|
|
59
60
|
_queryPrintForBase64(templateId: string, formatId: string, params: string | undefined, authorizationKey: String): Promise<any>;
|
|
60
61
|
_queryPrintForPdf(templateId: string, formatId: string, params: string | undefined, authorizationKey: String): Promise<any>;
|
|
61
62
|
_browserPrint(result: AnyObject, mode: string): Promise<string | void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import t from"axios";import{isArray as e}from"lodash-es";import{IdentityVerificationDialog as i,PreviewDialog as s}from"./dialog.js";import{getFileUrl as r,useBrowserPrint as n,isIReport as a}from"./browserPrint.js";import{getCurrentInstance as o}from"vue";import{uuidGenerator as l}from"../../../../shared/utils/index.js";import{format as c}from"date-fns";import{io as h}from"socket.io-client";const m=t.create({timeout:6e4,withCredentials:!1}),d=`${window.location.protocol}//${window.location.host}`,u=`${d}/fdp-api/print/assembly/printIReport`,p=`${d}/bi-api/reprot/print/open/client/printIReportForBase64`,f=`${d}/bi-api/reprot/print/open/client/previewIReport`,g=`${d}/bi-api/reprot/print/open/client/getRemote`,w=`${d}/printService/file`;let y=null;class P{constructor(){var t,e,r;if(this.webview=null,this.dialog=new i,this.dialogPreview=new s,this.instance=null,this.downloadPath="",this.printOrigin="http://127.0.0.1:11111",this.isRemote=!1,this.CMonitor=null,this.queryServicesParams=null,this.isConnectHiPrint=!1,this.clientInfo=null,this.printerList=[],this.hiPrintSocket=null,this.base64Fragment="",this._successCallbackFn=null,this._errorCallbackFn=null,this.messageHandlerQueue=[],y)return y;y=this,this._initDomesticSystem();const n=window;this.CMonitor=n.$CMonitor;try{this.webview=n.top?null==(t=n.top.chrome)?void 0:t.webview:null==(e=n.chrome)?void 0:e.webview}catch(t){console.log(t),this.webview=null==(r=n.chrome)?void 0:r.webview}if(this.webview){this.currentMessageHandler=this.messageHandler.bind(this),this.webview.addEventListener("message",this.currentMessageHandler);try{this.webview.postMessage({exec:"config",data:""})}catch(t){const e="当前浏览器版本不支持获取配置接口";this._handleMonitorNotify(e),console.log("非封装浏览器或者"+e)}}}messageHandler(t){var e;if(console.log("打印事件message",t),!t)return this._handleMonitorNotify("接收到空的浏览器事件,"+t),console.log("当前回执",t,"接收到空的浏览器事件");let i;try{i=JSON.parse(t.data||"{}")}catch(e){console.log("解析e.data失败,"+e),this._handleMonitorNotify("解析e.data失败,"+t)}if(["print","pdf"].includes(null==i?void 0:i.cmd)){console.log("打印命令执行了",i);const e=this.messageHandlerQueue.shift();if(!e)return console.log("当前回执",t,"没有可用的handler");const{resolve:s,reject:r}=e;try{s(i.res||"")}catch(t){r(t)}}else"config"===(null==i?void 0:i.exec)&&(this.downloadPath=(null==(e=i.res)?void 0:e.downloadpath)||"")}_initDomesticSystem(){try{this.hiPrintSocket=h("http://127.0.0.1:17521",{transports:["websocket"],auth:{token:"no-use-vue-plugin-hiprint"}}),this.hiPrintSocket&&(this.hiPrintSocket.on("connect",(()=>{this.isConnectHiPrint=!0})),this.hiPrintSocket.on("disconnect",(()=>{this.isConnectHiPrint=!1})),this.hiPrintSocket.on("clientInfo",(t=>{console.log("获取到客户端信息>>>>>",t),t.clientUrl&&(this.clientInfo=t)})),this.hiPrintSocket.on("printerList",(t=>{this.printerList=t,console.log("获取到打印机列表信息>>>>>",t)})),this.hiPrintSocket.on("success",(t=>{console.log("打印成功>>>>>",t),this.base64Fragment="",this._successCallbackFn&&this._successCallbackFn(t)})),this.hiPrintSocket.on("replayPrinterTemplate",(t=>{console.log("获取到数据的回复>>>>>",t),t&&this.hiPrintSocket.emit("news",t)})),this.hiPrintSocket.on("error",(t=>{console.log("打印失败>>>>>",t),this.base64Fragment="",this._errorCallbackFn&&this._errorCallbackFn(t)})))}catch(t){console.log("hiprint系统连接失败",t)}}async getPicAndUpload(t){try{const e=t=>"[object Object]"===Object.prototype.toString.call(t);if("success"===(null==t?void 0:t.result)&&"Y"==(null==t?void 0:t.uploadTemplateFlag)&&!(null==t?void 0:t.filebase64)&&this.queryServicesParams){const t=e(this.queryServicesParams.params)?this.queryServicesParams.params:JSON.parse(this.queryServicesParams.params);t.uploadTemplateFlag="Y",this.queryServicesParams.params=JSON.stringify(t),this.queryServicesParams.cmdid="7",this.queryServicesParams.print={print:1,type:6,zip:0},this.queryServicesParams.paramsArr=[{params:JSON.stringify(t)}];await this._queryBase64ServicesPrint(this.queryServicesParams)}}catch(t){console.log(t)}finally{this.queryServicesParams=null}}async postMessage(t,e=0){if(!this.webview)return Promise.reject();const i=l();return e&&e>0?this.messageCollectAndNotifyFail(i,t,e):this.messageCollect(i,t)}messageCollect(t,e){return new Promise(((i,s)=>{this.messageHandlerQueue.push({resolve:i,reject:s,id:t}),this.webview.postMessage(e)}))}messageCollectAndNotifyFail(t,e,i){return Promise.race([new Promise(((i,s)=>{this.messageHandlerQueue.push({resolve:i,reject:s,id:t}),this.webview.postMessage(e)})),new Promise(((e,s)=>{setTimeout((()=>{const e=this.messageHandlerQueue.findIndex((e=>e.id===t));e>-1&&this.messageHandlerQueue.splice(e,1),s({type:"timeout"})}),i)}))])}destroy(){}show(...t){return this.dialog.show(...t)}showPreview(...t){return this.dialogPreview.show(...t)}_testConnection(){return this.webview?Promise.resolve(!0):new Promise((t=>{m({url:`${this.printOrigin}/test`,method:"get",withCredentials:!1,params:{inputdata:{result:"success"}}}).then((({data:e})=>{"success"===e.result?t(!0):t(!1)})).catch((e=>{t(!1)}))}))}_queryServicesPrint(e){return this.webview?this.postMessage({exec:"print",data:{inputData:e}},null==e?void 0:e.messageTimeout):t({url:this.printOrigin+"/services/print",method:"get",params:{inputData:JSON.stringify(e)}}).then((({data:t})=>t))}_queryBase64ServicesPrint(t){return this.webview?this.postMessage({exec:"print",data:{inputData:t}}):m({url:"/services/Printqueue",method:"get",params:{inputData:JSON.stringify(t)}}).then((({data:t})=>t))}_callPrintWithFile(t){const e={cmdid:"7",flag:"1"},i={inputData:JSON.stringify(Object.assign({},e,t))};return this.webview?this.postMessage({exec:"print",data:s(i)}):m({url:this.printOrigin+"/PrintLocal",method:"post",data:i,transformRequest:[s]}).then((({data:t})=>t));function s(t){let e="";for(const i in t)e+=encodeURIComponent(i)+"="+encodeURIComponent(t[i])+"&";return e=e.slice(0,-1),e}}_handleMonitorNotify(t){var e,i;null==(i=null==(e=this.CMonitor)?void 0:e.notify)||i.call(e,{name:"custom_info",message:t,businessName:"打印sdk"})}_handleResult(t,e){if(!t){const t="打印命令返回空数据";return this._handleMonitorNotify(""),null==e||e({type:"printError",message:t,result:!1,errinfo:t}),!1}if("success"!==t.result){const i=t.message||t.Message;this._handleMonitorNotify(i);const s={type:"printError",message:i,result:t.result,errinfo:t.errinfo};return null==e||e(s),!1}return t}_handleResultTest(t,e){return!!t||(console.log("notInstalledApp"),null==e||e({type:"notInstalledApp",message:"请打开打印服务器插件"}),!1)}async _handleEventQueryPrintData(t,e,i,s,r){const n={templateId:t,formatId:e,params:i,cmdid:"7",messageTimeout:s},a=await this._queryServicesPrint(n);return this._handleQueryPrintDataResult(a,e,r)}_handleQueryPrintDataResult(t,e,i){if(!(null==t?void 0:t.file)){try{const e=t.message||t.Message;console.log(e),null==i||i({type:"queryPrintDataFailure",message:e})}catch(t){console.log(t)}return!1}return{file:t.file,printerName:t.defprinter,pageCount:t.pagecount,formatId:e}}async _handleEventDirect({templateId:t,formatId:e,params:i,paramsArr:s,cmdid:r,print:n,signature:a,printdlgshow:o="0",nobillnode:l="1",btnprint:h="1",messageTimeout:m=0}){const d={templateId:t,formatId:e,params:i,cmdid:r,nobillnode:l,printdlgshow:o,btnprint:h,messageTimeout:m,...a?{signature:a}:{}};if(s&&(d.paramsArr=s),n){try{n=JSON.parse(n)}catch(t){}d.print=n}else if(this.isRemote){const t=c(new Date,"yyyyMMddHHmmss");d.print={print:"1",type:"1",zip:"0",filename:`F:\\WorkSpace\\crmweb\\web\\${t}\\${t}`}}return this.queryServicesParams=d,await this._queryServicesPrint(d)}async _handleEventEditFormat({templateId:t,formatId:e="",params:i="",token:s,messageTimeout:r=0}){const n={};let a={};try{a=Object.assign({},n,JSON.parse(i))}catch(t){a=n}const o={templateId:t,formatId:e,cmdid:"9",token:s,params:JSON.stringify(a),messageTimeout:r};return await this._queryServicesPrint(o)}async _queryProxyOrigin(){if(this.isRemote)return;const{data:t}=await m({method:"get",url:g})||{},{map:e={}}=t;e.isRemote&&(this.printOrigin=d+"/printService",this.isRemote=!0)}async _queryPrintFile(t,e=""){const{data:i}=await m({method:"post",url:u,responseType:"blob",params:{formatId:t.split("_")[1],params:e}})||{};return i}paramsSerializer(t){return Object.keys(t).forEach((e=>{const i=t[e];t[e]=i,"biParams"==e&&(t[e]=encodeURIComponent(i))})),t}async _queryPrintForBase64(t,e,i="",s){const r="object"==typeof i?i:JSON.parse(i),{data:n}=await m({method:"post",url:p,params:{id:t,formatId:e.split("_")[1],params:this.paramsSerializer(r),authorizationKey:s}})||{};return n}async _queryPrintForPdf(t,e,i="",s){const r="object"==typeof i?i:JSON.parse(i),{data:n}=await m({method:"post",url:f,responseType:"blob",params:{id:t,formatId:e.split("_")[1],params:this.paramsSerializer(r),authorizationKey:s}})||{};return n}async _browserPrint(t,e){if(this.isRemote){const{filedir:i}=t,s=JSON.parse(i)[0].replace(/\\/g,"/").split("/"),a=s[s.length-2],o=s[s.length-1],l=await r(`${w}/${a}/${o}`),c=n(null,e,l);if("preview"===e)return c}}_base64ToBlob(t,e){const i=window.atob(t);let s=i.length;const r=new Uint8Array(s);for(;s--;)r[s]=i.charCodeAt(s);return new Blob([r],{type:e})}async preview({templateId:t,formatId:e,params:i="",paramsArr:s,authorizationKey:r,signature:l,btnprint:c,messageTimeout:h=0},m,d){if(a(e)){const s=await this._queryPrintForPdf(t,e,i,r);if(!s)return null==d?void 0:d("获取文件失败!");const a=n(s,"preview");return this.instance||(this.instance=o()),this.showPreview(this.instance,a),null==m?void 0:m({file:s})}await this._queryProxyOrigin();const u=await this._testConnection();if(!this._handleResultTest(u,d))return!1;try{const r=await this._handleEventDirect({templateId:t,formatId:e,params:i,paramsArr:s,cmdid:this.isRemote?"7":"8",signature:l,btnprint:c,messageTimeout:h}),n=this._handleResult(r,d);if(!n)return!1;if(this.isRemote){const t=await this._browserPrint(n,"preview");this.instance||(this.instance=o()),this.showPreview(this.instance,t)}await this.getPicAndUpload(n),null==m||m(n)}catch(t){const e="预览失败",i="timeout"===(null==t?void 0:t.type)?{...t,message:e}:{message:e};null==d||d(i),this._handleMonitorNotify(i)}}async printSync(t,e,i){const s=t.map((t=>{const e={params:"",printdlgshow:"0",nobillnode:"1",btnprint:"1",...t,cmdid:"7",...t.signature?{signature:t.signature}:{}};if(e.print)try{e.print=JSON.parse(e.print)}catch(t){}return{inputData:e}}));try{const t=l(),r=await this.messageCollect(t,{exec:"printA",data:s});if(r&&Array.isArray(r)){r.some((t=>"success"===t.res.result))?null==e||e(r):(null==i||i(r),this._handleMonitorNotify(r))}else{const t="打印命令返回无效数据";this._handleMonitorNotify(r||""),null==i||i({type:"printError",message:t,result:!1,errinfo:t})}}catch(t){const e={error:t,message:"打印失败"};null==i||i(e),this._handleMonitorNotify(e)}}async printDirect({templateId:t,formatId:e,params:i="",paramsArr:s,authorizationKey:r,print:n,signature:o,printdlgshow:l,nobillnode:c,isDownloadFile:h=!0,messageTimeout:m=0},d,u,p="printDirect"){if(a(e)){if(!this.isConnectHiPrint)return void u({message:"请连接hiPrint客户端"});const s=await this._queryPrintForBase64(t,e,i,r);if(!s.success)return u({message:s.resultMsg});const{base64:n,formatId:a}=s.map;return this.base64Fragment=n,this._successCallbackFn=d,this._errorCallbackFn=u,void this.hiPrintSocket.emit("news",{printerList:this.printerList,type:"askPrinterTemplate",markTemplateId:a,pdf_stream:this.base64Fragment})}await this._queryProxyOrigin();const f=await this._testConnection();if(!this._handleResultTest(f,u))return!1;try{const r=await this._handleEventDirect({templateId:t,formatId:e,params:i,paramsArr:s,cmdid:"7",print:n,signature:o,printdlgshow:l,nobillnode:c,messageTimeout:m}),a=this._handleResult(r,u);if(!a)return!1;h&&["downloadPDF"].includes(p)&&await this._browserPrint(a,p),null==d||d(a)}catch(t){const e="printDirect"===p?"打印失败":"下载失败",i="timeout"===(null==t?void 0:t.type)?{...t,message:e}:{message:e};null==u||u(i),this._handleMonitorNotify(i)}}_downloadPDF(t){return this.webview?this.postMessage({exec:"pdf",data:{file:t}}):m.get(this.printOrigin+"/download",{params:{inputData:t}}).then((({data:t})=>t))}async downloadPDF(t,i,s){if(this.webview&&this.downloadPath&&(Reflect.has(t,"print")||Reflect.set(t,"print",{print:"1",type:"1"}),!t.print.filename)){const e=c(new Date,"yyyy-MM-dd"),i=l(),s=c(new Date,"yyyyMMddHHmmss")+i;t.print.filename=`${this.downloadPath}/${e}/${s}/${s}`.replace(/\\/g,"/")}if(a(t.formatId)){const e=await this._queryPrintForPdf(t.templateId||"",t.formatId,t.params||"",t.authorizationKey);return e?(n(e,"downloadPDF"),i({file:e})):null==s?void 0:s("获取文件失败!")}this.printDirect(t,(async t=>{t||s(null);const r=this,n=await async function(t){const i=[],s=JSON.parse(t);if(!e(s))return await r._downloadPDF("");if(1===s.length)return await r._downloadPDF(s[0]||"");for(let t=0,e=s.length;t<e;t++)i.push(await r._downloadPDF(s[t]||""));return i}(t.filedir);i(n,t)}),(t=>s(t)),"downloadPDF")}async print({templateId:t,formatId:e,params:i="",messageTimeout:s=0},r,n){const a=await this._testConnection();if(!this._handleResultTest(a,n))return!1;const o=await this.queryPrintData({templateId:t,formatId:e,params:i,messageTimeout:s},void 0,n);if(!o)return!1;const l=this.printFileData({formatId:e,file:o.file,printerName:o.printerName},void 0,n);if(!l)return!1;r&&r(l)}async queryPrintData({templateId:t,formatId:e,params:i="",messageTimeout:s=0},r,n){const a=await this._testConnection();if(!this._handleResultTest(a,n))return!1;const o=await this._handleEventQueryPrintData(t,e,i,s,n);return!!o&&(r&&r(o),o)}async printFileData({formatId:t,file:e,printerName:i="Default"},s,r){const n=await this._testConnection();if(!this._handleResultTest(n,r))return!1;const a=await this._callPrintWithFile({formatId:t,printname:i,file:e}),o=this._handleResult(a,r);return!!o&&(s&&s(o),o)}async editPrintFormat({templateId:t,formatId:e,params:i,token:s,messageTimeout:r=0},n,a){const o=await this._testConnection();if(!this._handleResultTest(o,a))return!1;const l=await this._handleEventEditFormat({templateId:t,formatId:e,params:i,token:s,messageTimeout:r}),c=this._handleResult(l,a);if(!c)return!1;n&&n(c)}async addPrintFormat({templateId:t,params:e,token:i},s,r){const n=await this._testConnection();if(!this._handleResultTest(n,r))return!1;const a=await this._handleEventEditFormat({templateId:t,params:e,token:i}),o=this._handleResult(a,r);if(!o)return!1;s&&s(o)}}export{P as Print};
|
|
1
|
+
import t from"axios";import{isArray as e}from"lodash-es";import{IdentityVerificationDialog as i,PreviewDialog as s}from"./dialog.js";import{getFileUrl as r,useBrowserPrint as n,isIReport as a}from"./browserPrint.js";import{getCurrentInstance as o}from"vue";import{uuidGenerator as l}from"../../../../shared/utils/index.js";import{format as c}from"date-fns";import{io as h}from"socket.io-client";const m=String(navigator.platform).toLowerCase().includes("linux"),d=t.create({timeout:6e4,withCredentials:!1}),u=`${window.location.protocol}//${window.location.host}`,p=`${u}/fdp-api/print/assembly/printIReport`,f=`${u}/bi-api/reprot/print/open/client/printIReportForBase64`,g=`${u}/bi-api/reprot/print/open/client/previewIReport`,w=`${u}/bi-api/reprot/print/open/client/getRemote`,y=`${u}/printService/file`;let P=null;class v{constructor(){var t,e,r;if(this.webview=null,this.dialog=new i,this.dialogPreview=new s,this.instance=null,this.downloadPath="",this.printOrigin="http://127.0.0.1:11111",this.isRemote=!1,this.CMonitor=null,this.queryServicesParams=null,this.isConnectHiPrint=!1,this.clientInfo=null,this.printerList=[],this.hiPrintSocket=null,this.base64Fragment="",this._successCallbackFn=null,this._errorCallbackFn=null,this.messageHandlerQueue=[],this.getIReportFormatId=(t,e)=>t?e.split("_")[1]:e,P)return P;P=this,this._initDomesticSystem();const n=window;this.CMonitor=n.$CMonitor;try{this.webview=n.top?null==(t=n.top.chrome)?void 0:t.webview:null==(e=n.chrome)?void 0:e.webview}catch(t){console.log(t),this.webview=null==(r=n.chrome)?void 0:r.webview}if(this.webview){this.currentMessageHandler=this.messageHandler.bind(this),this.webview.addEventListener("message",this.currentMessageHandler);try{this.webview.postMessage({exec:"config",data:""})}catch(t){const e="当前浏览器版本不支持获取配置接口";this._handleMonitorNotify(e),console.log("非封装浏览器或者"+e)}}}messageHandler(t){var e;if(console.log("打印事件message",t),!t)return this._handleMonitorNotify("接收到空的浏览器事件,"+t),console.log("当前回执",t,"接收到空的浏览器事件");let i;try{i=JSON.parse(t.data||"{}")}catch(e){console.log("解析e.data失败,"+e),this._handleMonitorNotify("解析e.data失败,"+t)}if(["print","pdf"].includes(null==i?void 0:i.cmd)){console.log("打印命令执行了",i);const e=this.messageHandlerQueue.shift();if(!e)return console.log("当前回执",t,"没有可用的handler");const{resolve:s,reject:r}=e;try{s(i.res||"")}catch(t){r(t)}}else"config"===(null==i?void 0:i.exec)&&(this.downloadPath=(null==(e=i.res)?void 0:e.downloadpath)||"")}_initDomesticSystem(){try{this.hiPrintSocket=h("http://127.0.0.1:17521",{transports:["websocket"],auth:{token:"no-use-vue-plugin-hiprint"}}),this.hiPrintSocket&&(this.hiPrintSocket.on("connect",(()=>{this.isConnectHiPrint=!0})),this.hiPrintSocket.on("disconnect",(()=>{this.isConnectHiPrint=!1})),this.hiPrintSocket.on("clientInfo",(t=>{console.log("获取到客户端信息>>>>>",t),t.clientUrl&&(this.clientInfo=t)})),this.hiPrintSocket.on("printerList",(t=>{this.printerList=t,console.log("获取到打印机列表信息>>>>>",t)})),this.hiPrintSocket.on("success",(t=>{console.log("打印成功>>>>>",t),this.base64Fragment="",this._successCallbackFn&&this._successCallbackFn(t)})),this.hiPrintSocket.on("replayPrinterTemplate",(t=>{console.log("获取到数据的回复>>>>>",t),t&&this.hiPrintSocket.emit("news",t)})),this.hiPrintSocket.on("error",(t=>{console.log("打印失败>>>>>",t),this.base64Fragment="",this._errorCallbackFn&&this._errorCallbackFn(t)})))}catch(t){console.log("hiprint系统连接失败",t)}}async getPicAndUpload(t){try{const e=t=>"[object Object]"===Object.prototype.toString.call(t);if("success"===(null==t?void 0:t.result)&&"Y"==(null==t?void 0:t.uploadTemplateFlag)&&!(null==t?void 0:t.filebase64)&&this.queryServicesParams){const t=e(this.queryServicesParams.params)?this.queryServicesParams.params:JSON.parse(this.queryServicesParams.params);t.uploadTemplateFlag="Y",this.queryServicesParams.params=JSON.stringify(t),this.queryServicesParams.cmdid="7",this.queryServicesParams.print={print:1,type:6,zip:0},this.queryServicesParams.paramsArr=[{params:JSON.stringify(t)}];await this._queryBase64ServicesPrint(this.queryServicesParams)}}catch(t){console.log(t)}finally{this.queryServicesParams=null}}async postMessage(t,e=0){if(!this.webview)return Promise.reject();const i=l();return e&&e>0?this.messageCollectAndNotifyFail(i,t,e):this.messageCollect(i,t)}messageCollect(t,e){return new Promise(((i,s)=>{this.messageHandlerQueue.push({resolve:i,reject:s,id:t}),this.webview.postMessage(e)}))}messageCollectAndNotifyFail(t,e,i){return Promise.race([new Promise(((i,s)=>{this.messageHandlerQueue.push({resolve:i,reject:s,id:t}),this.webview.postMessage(e)})),new Promise(((e,s)=>{setTimeout((()=>{const e=this.messageHandlerQueue.findIndex((e=>e.id===t));e>-1&&this.messageHandlerQueue.splice(e,1),s({type:"timeout"})}),i)}))])}destroy(){}show(...t){return this.dialog.show(...t)}showPreview(...t){return this.dialogPreview.show(...t)}_testConnection(){return this.webview?Promise.resolve(!0):new Promise((t=>{d({url:`${this.printOrigin}/test`,method:"get",withCredentials:!1,params:{inputdata:{result:"success"}}}).then((({data:e})=>{"success"===e.result?t(!0):t(!1)})).catch((e=>{t(!1)}))}))}_queryServicesPrint(e){return this.webview?this.postMessage({exec:"print",data:{inputData:e}},null==e?void 0:e.messageTimeout):t({url:this.printOrigin+"/services/print",method:"get",params:{inputData:JSON.stringify(e)}}).then((({data:t})=>t))}_queryBase64ServicesPrint(t){return this.webview?this.postMessage({exec:"print",data:{inputData:t}}):d({url:"/services/Printqueue",method:"get",params:{inputData:JSON.stringify(t)}}).then((({data:t})=>t))}_callPrintWithFile(t){const e={cmdid:"7",flag:"1"},i={inputData:JSON.stringify(Object.assign({},e,t))};return this.webview?this.postMessage({exec:"print",data:s(i)}):d({url:this.printOrigin+"/PrintLocal",method:"post",data:i,transformRequest:[s]}).then((({data:t})=>t));function s(t){let e="";for(const i in t)e+=encodeURIComponent(i)+"="+encodeURIComponent(t[i])+"&";return e=e.slice(0,-1),e}}_handleMonitorNotify(t){var e,i;null==(i=null==(e=this.CMonitor)?void 0:e.notify)||i.call(e,{name:"custom_info",message:t,businessName:"打印sdk"})}_handleResult(t,e){if(!t){const t="打印命令返回空数据";return this._handleMonitorNotify(""),null==e||e({type:"printError",message:t,result:!1,errinfo:t}),!1}if("success"!==t.result){const i=t.message||t.Message;this._handleMonitorNotify(i);const s={type:"printError",message:i,result:t.result,errinfo:t.errinfo};return null==e||e(s),!1}return t}_handleResultTest(t,e){return!!t||(console.log("notInstalledApp"),null==e||e({type:"notInstalledApp",message:"请打开打印服务器插件"}),!1)}async _handleEventQueryPrintData(t,e,i,s,r){const n={templateId:t,formatId:e,params:i,cmdid:"7",messageTimeout:s},a=await this._queryServicesPrint(n);return this._handleQueryPrintDataResult(a,e,r)}_handleQueryPrintDataResult(t,e,i){if(!(null==t?void 0:t.file)){try{const e=t.message||t.Message;console.log(e),null==i||i({type:"queryPrintDataFailure",message:e})}catch(t){console.log(t)}return!1}return{file:t.file,printerName:t.defprinter,pageCount:t.pagecount,formatId:e}}async _handleEventDirect({templateId:t,formatId:e,params:i,paramsArr:s,cmdid:r,print:n,signature:a,printdlgshow:o="0",nobillnode:l="1",btnprint:h="1",messageTimeout:m=0}){const d={templateId:t,formatId:e,params:i,cmdid:r,nobillnode:l,printdlgshow:o,btnprint:h,messageTimeout:m,...a?{signature:a}:{}};if(s&&(d.paramsArr=s),n){try{n=JSON.parse(n)}catch(t){}d.print=n}else if(this.isRemote){const t=c(new Date,"yyyyMMddHHmmss");d.print={print:"1",type:"1",zip:"0",filename:`F:\\WorkSpace\\crmweb\\web\\${t}\\${t}`}}return this.queryServicesParams=d,await this._queryServicesPrint(d)}async _handleEventEditFormat({templateId:t,formatId:e="",params:i="",token:s,messageTimeout:r=0}){const n={};let a={};try{a=Object.assign({},n,JSON.parse(i))}catch(t){a=n}const o={templateId:t,formatId:e,cmdid:"9",token:s,params:JSON.stringify(a),messageTimeout:r};return await this._queryServicesPrint(o)}async _queryProxyOrigin(){if(this.isRemote)return;const{data:t}=await d({method:"get",url:w})||{},{map:e={}}=t;e.isRemote&&(this.printOrigin=u+"/printService",this.isRemote=!0)}async _queryPrintFile(t,e=""){const{data:i}=await d({method:"post",url:p,responseType:"blob",params:{formatId:t.split("_")[1],params:e}})||{};return i}paramsSerializer(t){return Object.keys(t).forEach((e=>{const i=t[e];t[e]=i,"biParams"==e&&(t[e]=encodeURIComponent(i))})),t}async _queryPrintForBase64(t,e,i="",s){const r="object"==typeof i?i:JSON.parse(i),{data:n}=await d({method:"post",url:f,params:{id:t,formatId:e,params:this.paramsSerializer(r),authorizationKey:s}})||{};return n}async _queryPrintForPdf(t,e,i="",s){const r="object"==typeof i?i:JSON.parse(i),{data:n}=await d({method:"post",url:g,responseType:"blob",params:{id:t,formatId:e,params:this.paramsSerializer(r),authorizationKey:s}})||{};return n}async _browserPrint(t,e){if(this.isRemote){const{filedir:i}=t,s=JSON.parse(i)[0].replace(/\\/g,"/").split("/"),a=s[s.length-2],o=s[s.length-1],l=await r(`${y}/${a}/${o}`),c=n(null,e,l);if("preview"===e)return c}}_base64ToBlob(t,e){const i=window.atob(t);let s=i.length;const r=new Uint8Array(s);for(;s--;)r[s]=i.charCodeAt(s);return new Blob([r],{type:e})}async preview({templateId:t,formatId:e,params:i="",paramsArr:s,authorizationKey:r,signature:l,btnprint:c,messageTimeout:h=0},d,u){const p=a(e);if(e=this.getIReportFormatId(p,e),p&&m){const s=await this._queryPrintForPdf(t,e,i,r);if(!s)return null==u?void 0:u("获取文件失败!");const a=n(s,"preview");return this.instance||(this.instance=o()),this.showPreview(this.instance,a),null==d?void 0:d({file:s})}await this._queryProxyOrigin();const f=await this._testConnection();if(!this._handleResultTest(f,u))return!1;try{const r=await this._handleEventDirect({templateId:t,formatId:e,params:i,paramsArr:s,cmdid:this.isRemote?"7":"8",signature:l,btnprint:c,messageTimeout:h}),n=this._handleResult(r,u);if(!n)return!1;if(this.isRemote){const t=await this._browserPrint(n,"preview");this.instance||(this.instance=o()),this.showPreview(this.instance,t)}await this.getPicAndUpload(n),null==d||d(n)}catch(t){const e="预览失败",i="timeout"===(null==t?void 0:t.type)?{...t,message:e}:{message:e};null==u||u(i),this._handleMonitorNotify(i)}}async printSync(t,e,i){const s=t.map((t=>{const e={params:"",printdlgshow:"0",nobillnode:"1",btnprint:"1",...t,cmdid:"7",...t.signature?{signature:t.signature}:{}};if(e.print)try{e.print=JSON.parse(e.print)}catch(t){}return{inputData:e}}));try{const t=l(),r=await this.messageCollect(t,{exec:"printA",data:s});if(r&&Array.isArray(r)){r.some((t=>"success"===t.res.result))?null==e||e(r):(null==i||i(r),this._handleMonitorNotify(r))}else{const t="打印命令返回无效数据";this._handleMonitorNotify(r||""),null==i||i({type:"printError",message:t,result:!1,errinfo:t})}}catch(t){const e={error:t,message:"打印失败"};null==i||i(e),this._handleMonitorNotify(e)}}async printDirect({templateId:t,formatId:e,params:i="",paramsArr:s,authorizationKey:r,print:n,signature:o,printdlgshow:l,nobillnode:c,isDownloadFile:h=!0,messageTimeout:d=0},u,p,f="printDirect"){const g=a(e);if(e=this.getIReportFormatId(g,e),g&&m){if(!this.isConnectHiPrint)return void p({message:"请连接hiPrint客户端"});const s=await this._queryPrintForBase64(t,e,i,r);if(!s.success)return p({message:s.resultMsg});const{base64:n,formatId:a}=s.map;return this.base64Fragment=n,this._successCallbackFn=u,this._errorCallbackFn=p,void this.hiPrintSocket.emit("news",{printerList:this.printerList,type:"askPrinterTemplate",markTemplateId:a,pdf_stream:this.base64Fragment})}await this._queryProxyOrigin();const w=await this._testConnection();if(!this._handleResultTest(w,p))return!1;try{const r=await this._handleEventDirect({templateId:t,formatId:e,params:i,paramsArr:s,cmdid:"7",print:n,signature:o,printdlgshow:l,nobillnode:c,messageTimeout:d}),a=this._handleResult(r,p);if(!a)return!1;h&&["downloadPDF"].includes(f)&&await this._browserPrint(a,f),null==u||u(a)}catch(t){const e="printDirect"===f?"打印失败":"下载失败",i="timeout"===(null==t?void 0:t.type)?{...t,message:e}:{message:e};null==p||p(i),this._handleMonitorNotify(i)}}_downloadPDF(t){return this.webview?this.postMessage({exec:"pdf",data:{file:t}}):d.get(this.printOrigin+"/download",{params:{inputData:t}}).then((({data:t})=>t))}async downloadPDF(t,i,s){if(this.webview&&this.downloadPath&&(Reflect.has(t,"print")||Reflect.set(t,"print",{print:"1",type:"1"}),!t.print.filename)){const e=c(new Date,"yyyy-MM-dd"),i=l(),s=c(new Date,"yyyyMMddHHmmss")+i;t.print.filename=`${this.downloadPath}/${e}/${s}/${s}`.replace(/\\/g,"/")}const r=a(t.formatId);if(t.formatId=this.getIReportFormatId(r,t.formatId),r&&m){const e=await this._queryPrintForPdf(t.templateId||"",t.formatId,t.params||"",t.authorizationKey);return e?(n(e,"downloadPDF"),i({file:e})):null==s?void 0:s("获取文件失败!")}this.printDirect(t,(async t=>{t||s(null);const r=this,n=await async function(t){const i=[],s=JSON.parse(t);if(!e(s))return await r._downloadPDF("");if(1===s.length)return await r._downloadPDF(s[0]||"");for(let t=0,e=s.length;t<e;t++)i.push(await r._downloadPDF(s[t]||""));return i}(t.filedir);i(n,t)}),(t=>s(t)),"downloadPDF")}async print({templateId:t,formatId:e,params:i="",messageTimeout:s=0},r,n){const a=await this._testConnection();if(!this._handleResultTest(a,n))return!1;const o=await this.queryPrintData({templateId:t,formatId:e,params:i,messageTimeout:s},void 0,n);if(!o)return!1;const l=this.printFileData({formatId:e,file:o.file,printerName:o.printerName},void 0,n);if(!l)return!1;r&&r(l)}async queryPrintData({templateId:t,formatId:e,params:i="",messageTimeout:s=0},r,n){const a=await this._testConnection();if(!this._handleResultTest(a,n))return!1;const o=await this._handleEventQueryPrintData(t,e,i,s,n);return!!o&&(r&&r(o),o)}async printFileData({formatId:t,file:e,printerName:i="Default"},s,r){const n=await this._testConnection();if(!this._handleResultTest(n,r))return!1;const a=await this._callPrintWithFile({formatId:t,printname:i,file:e}),o=this._handleResult(a,r);return!!o&&(s&&s(o),o)}async editPrintFormat({templateId:t,formatId:e,params:i,token:s,messageTimeout:r=0},n,a){const o=await this._testConnection();if(!this._handleResultTest(o,a))return!1;const l=await this._handleEventEditFormat({templateId:t,formatId:e,params:i,token:s,messageTimeout:r}),c=this._handleResult(l,a);if(!c)return!1;n&&n(c)}async addPrintFormat({templateId:t,params:e,token:i},s,r){const n=await this._testConnection();if(!this._handleResultTest(n,r))return!1;const a=await this._handleEventEditFormat({templateId:t,params:e,token:i}),o=this._handleResult(a,r);if(!o)return!1;s&&s(o)}}export{v as Print};
|
|
@@ -228,7 +228,17 @@ declare const Calendar: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
228
228
|
NIcon: any;
|
|
229
229
|
ChevronBackOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
230
230
|
ChevronForwardOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
231
|
-
FullCalendar:
|
|
231
|
+
FullCalendar: import("vue").DefineComponent<{
|
|
232
|
+
options: import("vue").PropType<import("@fullcalendar/core/internal-common").a>;
|
|
233
|
+
}, unknown, {
|
|
234
|
+
renderId: number;
|
|
235
|
+
customRenderingMap: Map<string, import("@fullcalendar/core/internal-common").eF<any>>;
|
|
236
|
+
}, {}, {
|
|
237
|
+
getApi(): import("@fullcalendar/core").Calendar;
|
|
238
|
+
buildOptions(suppliedOptions: import("@fullcalendar/core/internal-common").a | undefined): import("@fullcalendar/core/internal-common").a;
|
|
239
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
240
|
+
options: import("vue").PropType<import("@fullcalendar/core/internal-common").a>;
|
|
241
|
+
}>>, {}>;
|
|
232
242
|
isSameDay: typeof import("date-fns").isSameDay;
|
|
233
243
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange")[], "select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
234
244
|
showDateNavigation: {
|
|
@@ -221,7 +221,17 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
221
221
|
NIcon: any;
|
|
222
222
|
ChevronBackOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
223
223
|
ChevronForwardOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
224
|
-
FullCalendar:
|
|
224
|
+
FullCalendar: import("vue").DefineComponent<{
|
|
225
|
+
options: PropType<import("@fullcalendar/core/internal-common").a>;
|
|
226
|
+
}, unknown, {
|
|
227
|
+
renderId: number;
|
|
228
|
+
customRenderingMap: Map<string, import("@fullcalendar/core/internal-common").eF<any>>;
|
|
229
|
+
}, {}, {
|
|
230
|
+
getApi(): import("@fullcalendar/core").Calendar;
|
|
231
|
+
buildOptions(suppliedOptions: import("@fullcalendar/core/internal-common").a | undefined): import("@fullcalendar/core/internal-common").a;
|
|
232
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
233
|
+
options: PropType<import("@fullcalendar/core/internal-common").a>;
|
|
234
|
+
}>>, {}>;
|
|
225
235
|
isSameDay: typeof isSameDay;
|
|
226
236
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange")[], "select" | "eventClick" | "eventDrag" | "eventResize" | "dateChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
227
237
|
showDateNavigation: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,ref as a,onBeforeMount as l,openBlock as
|
|
1
|
+
import{defineComponent as e,ref as a,onBeforeMount as l,openBlock as n,createBlock as i,unref as o,normalizeStyle as t,withCtx as c,createVNode as s,createElementVNode as r,toDisplayString as u,createElementBlock as d,normalizeClass as p,createCommentVNode as f}from"vue";import{NDrawer as b,NDrawerContent as v}from"naive-ui";import h from"../render/index.vue.js";const g={class:"d-header"},m={class:"title"},k={class:"svg-wrap"};var y=e({__name:"drawer",props:{options:{type:Object},visible:{type:Boolean,default:!1},zIndex:{type:Number,default:1e3},closable:{type:Boolean,default:!0},screen:{type:Boolean,default:!0},drawerWidth:{type:String,default:"60vw"},isDrawerBig:{type:Boolean,default:!1},callbackApiConfig:{type:Object}},emits:["close","changeWindow"],setup(e,{emit:y}){const w=e,x=a(!1),z=a(""),C=a("right");function B(){y("close",!1)}function W(e){let a=document.body.clientWidth;return e?`${a}px`:w.drawerWidth}function A(){x.value=!x.value,z.value=W(x.value),y("changeWindow",x.value)}return l((()=>{!function(){if(!w.isDrawerBig)return void(z.value=w.drawerWidth);z.value=W(!1)}()})),(a,l)=>(n(),i(o(b),{show:e.visible,class:"callback-drawer-block",maskClosable:!1,"z-index":e.zIndex,style:t({width:z.value}),placement:C.value,onAfterLeave:B},{default:c((()=>[s(o(v),{closable:!1},{header:c((()=>{var a;return[r("div",g,[r("h3",m,u(null==(a=e.options)?void 0:a.name),1),r("div",k,[e.screen?(n(),d("i",{key:0,style:{"margin-right":"12px"},onClick:A,class:p(x.value?"iconfont-callback icon-callback-menzhenyishengzhanxitongtubiaozuixiaohua":"iconfont-callback icon-callback-menzhenyishengzhanxitongtubiaozuidahua")},null,2)):f("v-if",!0),e.closable?(n(),d("i",{key:1,class:"iconfont-callback icon-callback-menzhenyishengzhanxitongtubiaoguanbi",onClick:B})):f("v-if",!0)])])]})),default:c((()=>[f(" 加载的具体的内容组件 "),s(h,{options:e.options,callbackApiConfig:e.callbackApiConfig},null,8,["options","callbackApiConfig"])])),_:1})])),_:1},8,["show","z-index","style","placement"]))}});export{y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,ref as a,onBeforeMount as l,resolveComponent as i,openBlock as o,createBlock as n,unref as t,
|
|
1
|
+
import{defineComponent as e,ref as a,onBeforeMount as l,resolveComponent as i,openBlock as o,createBlock as n,unref as t,normalizeClass as c,normalizeStyle as s,withCtx as u,createVNode as g,createElementVNode as h,createCommentVNode as d}from"vue";import{NModal as r,NCard as m}from"naive-ui";import v from"../render/index.vue.js";const f={class:"svg-wrap"};var p=e({__name:"modal",props:{options:{type:Object},visible:{type:Boolean,default:!1},closable:{type:Boolean,default:!0},screen:{type:Boolean,default:!0},modalConfig:{type:Object,default:()=>({width:"860px",height:"548px",maxHeight:"548px",minHeight:"548px"})},callbackApiConfig:{type:Object}},emits:["close","changeWindow"],setup(e,{emit:p}){const b=e,k=a(!1),C=a(""),y=a(""),x=a(""),w=a("");function z(){p("close",!1),k.value&&H()}function H(){k.value=!k.value;let e=document.body.clientHeight;C.value=C.value===j("width")?"100%":j("width"),y.value=y.value===j("height")?`${e}px`:j("height"),p("changeWindow")}function j(e){return b.modalConfig[e]}return l((()=>{b.modalConfig&&Object.keys(b.modalConfig).length&&(C.value=b.modalConfig.width,y.value=b.modalConfig.height,x.value=b.modalConfig.maxHeight,w.value=b.modalConfig.minHeight,k.value=b.modalConfig.isChangeWindow)})),(a,l)=>{const p=i("svg-icon");return o(),n(t(r),{show:e.visible,class:c(["callback-modal-block",{"modal-screen":k.value}]),style:s({width:C.value,height:y.value,minHeight:w.value,maxHeight:x.value}),maskClosable:!1,centered:"",onNegativeClick:z},{default:u((()=>{var a;return[g(t(m),{title:null==(a=e.options)?void 0:a.name,bordered:!1,style:{overflowY:"auto",position:"relative"},size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":u((()=>[h("div",f,[e.screen?(o(),n(p,{key:0,style:{"margin-right":"12px"},onClick:H,class:c(k.value?"iconfont-callback icon-callback-menzhenyishengzhanxitongtubiaozuixiaohua":"iconfont-callback icon-callback-menzhenyishengzhanxitongtubiaozuidahua")},null,8,["class"])):d("v-if",!0),e.closable?(o(),n(p,{key:1,class:"'iconfont-callback icon-callback-menzhenyishengzhanxitongtubiaoguanbi'",onClick:z})):d("v-if",!0)])])),default:u((()=>[g(v,{options:e.options,callbackApiConfig:e.callbackApiConfig},null,8,["options","callbackApiConfig"])])),_:1},8,["title"])]})),_:1},8,["show","class","style"])}}});export{p as default};
|
|
@@ -137,6 +137,7 @@ export declare const CallbackMaps: Map<string, {
|
|
|
137
137
|
type: import("vue").PropType<boolean | ((fieldItem: import("../../../../../components/form-render").FieldItem) => boolean | void)>;
|
|
138
138
|
default: boolean;
|
|
139
139
|
};
|
|
140
|
+
autoExpand: BooleanConstructor;
|
|
140
141
|
lowCodeReactions: {
|
|
141
142
|
type: import("vue").PropType<import("../../../..").LowCodeTypes.reactionConfig[]>;
|
|
142
143
|
};
|
|
@@ -306,6 +307,7 @@ export declare const CallbackMaps: Map<string, {
|
|
|
306
307
|
type: import("vue").PropType<boolean | ((fieldItem: import("../../../../../components/form-render").FieldItem) => boolean | void)>;
|
|
307
308
|
default: boolean;
|
|
308
309
|
};
|
|
310
|
+
autoExpand: BooleanConstructor;
|
|
309
311
|
lowCodeReactions: {
|
|
310
312
|
type: import("vue").PropType<import("../../../..").LowCodeTypes.reactionConfig[]>;
|
|
311
313
|
};
|
|
@@ -499,6 +501,7 @@ export declare const CallbackMaps: Map<string, {
|
|
|
499
501
|
businessFormatter: import("../../../../../components/form-render").FormBusinessFormatter;
|
|
500
502
|
requestInstance: import("../../../..").FormRequestDefine.RequestInstance;
|
|
501
503
|
enterToNextWidget: boolean | ((fieldItem: import("../../../../../components/form-render").FieldItem) => boolean | void);
|
|
504
|
+
autoExpand: boolean;
|
|
502
505
|
lowCodeReactions: import("../../../..").LowCodeTypes.reactionConfig[];
|
|
503
506
|
linebarAutoHidden: boolean;
|
|
504
507
|
bordered: string | boolean;
|
|
@@ -816,6 +819,7 @@ export declare const CallbackMaps: Map<string, {
|
|
|
816
819
|
type: import("vue").PropType<boolean | ((fieldItem: import("../../../../../components/form-render").FieldItem) => boolean | void)>;
|
|
817
820
|
default: boolean;
|
|
818
821
|
};
|
|
822
|
+
autoExpand: BooleanConstructor;
|
|
819
823
|
lowCodeReactions: {
|
|
820
824
|
type: import("vue").PropType<import("../../../..").LowCodeTypes.reactionConfig[]>;
|
|
821
825
|
};
|
|
@@ -866,6 +870,7 @@ export declare const CallbackMaps: Map<string, {
|
|
|
866
870
|
scope: import("../../../..").AnyObject;
|
|
867
871
|
consumer: boolean;
|
|
868
872
|
enterToNextWidget: boolean | ((fieldItem: import("../../../../../components/form-render").FieldItem) => boolean | void);
|
|
873
|
+
autoExpand: boolean;
|
|
869
874
|
linebarAutoHidden: boolean;
|
|
870
875
|
bordered: string | boolean;
|
|
871
876
|
uniqueCacheData: boolean;
|
|
@@ -4092,6 +4097,7 @@ export declare const CallbackMaps: Map<string, {
|
|
|
4092
4097
|
verticalConfig?: {
|
|
4093
4098
|
enable?: boolean | undefined;
|
|
4094
4099
|
headerWidth?: number | "auto" | ((level: number) => number) | undefined;
|
|
4100
|
+
bodyWidth?: number | ((index: number) => number) | undefined;
|
|
4095
4101
|
} | undefined;
|
|
4096
4102
|
onFormChange?: ((payload_0: import("../../../../../components/iho-table").IhoTableFormChangePayload) => void) | undefined;
|
|
4097
4103
|
onCopy?: ((params: import("vxe-table").VxeTableDefines.CopyEventParams) => void) | undefined;
|
|
@@ -7655,6 +7661,7 @@ export declare const CallbackMaps: Map<string, {
|
|
|
7655
7661
|
verticalConfig?: {
|
|
7656
7662
|
enable?: boolean | undefined;
|
|
7657
7663
|
headerWidth?: number | "auto" | ((level: number) => number) | undefined;
|
|
7664
|
+
bodyWidth?: number | ((index: number) => number) | undefined;
|
|
7658
7665
|
} | undefined;
|
|
7659
7666
|
onFormChange?: ((payload_0: import("../../../../../components/iho-table").IhoTableFormChangePayload) => void) | undefined;
|
|
7660
7667
|
onSettingClick?: (() => void) | undefined;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AnyObject } from '../../../shared/types';
|
|
2
2
|
import { ComponentInternalInstance } from 'vue';
|
|
3
|
+
import { EnsureIdCardOption } from '../../../components/card-reader-sdk/src/utils/ensureUID2IdCard';
|
|
3
4
|
import { TRANS_CMD } from './constants';
|
|
4
5
|
import { InsuranceType } from './types';
|
|
5
6
|
export default class CardReaderSDK {
|
|
@@ -21,19 +22,28 @@ export default class CardReaderSDK {
|
|
|
21
22
|
inputProps?: AnyObject;
|
|
22
23
|
modalProps?: AnyObject;
|
|
23
24
|
}): Promise<string>;
|
|
24
|
-
readIdCard(params?: InsuranceType.CardReadParams): Promise<Partial<{
|
|
25
|
+
readIdCard(params?: InsuranceType.CardReadParams, options?: EnsureIdCardOption): Promise<Partial<{
|
|
26
|
+
[K: string]: any;
|
|
25
27
|
personinfo: Record<"sex" | "age" | "address" | "birthday" | "location" | "cardnum" | "cardpwd" | "folk" | "idnumber" | "ownpay" | "ptname" | "pttype" | "recordid" | "updateflag", string>;
|
|
26
|
-
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string
|
|
28
|
+
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "uid" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string> & {
|
|
29
|
+
[K: string]: any;
|
|
30
|
+
}>;
|
|
27
31
|
iar1: Record<"acf01" | "iaa01" | "iab02" | "iac03" | "iad04" | "iai03" | "iak04" | "iak05" | "iak06" | "iak22" | "iar01" | "iar10" | "iar11" | "iar12" | "iar13" | "iar14" | "iar15" | "iar16" | "iar17" | "iar18" | "iar19" | "iar20" | "iar21" | "iar22" | "iar23" | "iar24" | "iar25" | "iar26" | "iar27" | "iar28" | "iar29" | "iar30" | "iar31" | "iar32" | "iar33" | "iar34" | "iar35" | "iar36" | "iar37" | "iar38" | "iar39" | "iar40" | "iar41" | "iar42" | "iar43" | "iar44" | "iar45" | "iar46" | "iar47" | "iar48" | "iar49" | "iar50" | "iar51" | "iar52" | "iar53" | "iar54" | "iar55" | "iar56" | "iar57" | "iar58" | "iar59" | "iar60" | "iar61" | "iar62" | "iar63" | "iar64" | "iar65" | "iar66" | "iar67" | "iar68" | "iar69" | "iar70" | "iar71" | "iar72" | "iar73" | "iar74" | "iar75", string>;
|
|
28
32
|
}> | undefined>;
|
|
29
33
|
readMemberCard(params?: InsuranceType.CardReadParams): Promise<Partial<{
|
|
34
|
+
[K: string]: any;
|
|
30
35
|
personinfo: Record<"sex" | "age" | "address" | "birthday" | "location" | "cardnum" | "cardpwd" | "folk" | "idnumber" | "ownpay" | "ptname" | "pttype" | "recordid" | "updateflag", string>;
|
|
31
|
-
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string
|
|
36
|
+
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "uid" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string> & {
|
|
37
|
+
[K: string]: any;
|
|
38
|
+
}>;
|
|
32
39
|
iar1: Record<"acf01" | "iaa01" | "iab02" | "iac03" | "iad04" | "iai03" | "iak04" | "iak05" | "iak06" | "iak22" | "iar01" | "iar10" | "iar11" | "iar12" | "iar13" | "iar14" | "iar15" | "iar16" | "iar17" | "iar18" | "iar19" | "iar20" | "iar21" | "iar22" | "iar23" | "iar24" | "iar25" | "iar26" | "iar27" | "iar28" | "iar29" | "iar30" | "iar31" | "iar32" | "iar33" | "iar34" | "iar35" | "iar36" | "iar37" | "iar38" | "iar39" | "iar40" | "iar41" | "iar42" | "iar43" | "iar44" | "iar45" | "iar46" | "iar47" | "iar48" | "iar49" | "iar50" | "iar51" | "iar52" | "iar53" | "iar54" | "iar55" | "iar56" | "iar57" | "iar58" | "iar59" | "iar60" | "iar61" | "iar62" | "iar63" | "iar64" | "iar65" | "iar66" | "iar67" | "iar68" | "iar69" | "iar70" | "iar71" | "iar72" | "iar73" | "iar74" | "iar75", string>;
|
|
33
40
|
}> | undefined>;
|
|
34
41
|
writeMemberCard(params?: InsuranceType.CardReadParams): Promise<Partial<{
|
|
42
|
+
[K: string]: any;
|
|
35
43
|
personinfo: Record<"sex" | "age" | "address" | "birthday" | "location" | "cardnum" | "cardpwd" | "folk" | "idnumber" | "ownpay" | "ptname" | "pttype" | "recordid" | "updateflag", string>;
|
|
36
|
-
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string
|
|
44
|
+
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "uid" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string> & {
|
|
45
|
+
[K: string]: any;
|
|
46
|
+
}>;
|
|
37
47
|
iar1: Record<"acf01" | "iaa01" | "iab02" | "iac03" | "iad04" | "iai03" | "iak04" | "iak05" | "iak06" | "iak22" | "iar01" | "iar10" | "iar11" | "iar12" | "iar13" | "iar14" | "iar15" | "iar16" | "iar17" | "iar18" | "iar19" | "iar20" | "iar21" | "iar22" | "iar23" | "iar24" | "iar25" | "iar26" | "iar27" | "iar28" | "iar29" | "iar30" | "iar31" | "iar32" | "iar33" | "iar34" | "iar35" | "iar36" | "iar37" | "iar38" | "iar39" | "iar40" | "iar41" | "iar42" | "iar43" | "iar44" | "iar45" | "iar46" | "iar47" | "iar48" | "iar49" | "iar50" | "iar51" | "iar52" | "iar53" | "iar54" | "iar55" | "iar56" | "iar57" | "iar58" | "iar59" | "iar60" | "iar61" | "iar62" | "iar63" | "iar64" | "iar65" | "iar66" | "iar67" | "iar68" | "iar69" | "iar70" | "iar71" | "iar72" | "iar73" | "iar74" | "iar75", string>;
|
|
38
48
|
}> | undefined>;
|
|
39
49
|
readInsuranceCard(params?: InsuranceType.CardReadParams & {
|
|
@@ -41,18 +51,27 @@ export default class CardReaderSDK {
|
|
|
41
51
|
bdp02?: string;
|
|
42
52
|
vaa05?: string;
|
|
43
53
|
}): Promise<Partial<{
|
|
54
|
+
[K: string]: any;
|
|
44
55
|
personinfo: Record<"sex" | "age" | "address" | "birthday" | "location" | "cardnum" | "cardpwd" | "folk" | "idnumber" | "ownpay" | "ptname" | "pttype" | "recordid" | "updateflag", string>;
|
|
45
|
-
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string
|
|
56
|
+
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "uid" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string> & {
|
|
57
|
+
[K: string]: any;
|
|
58
|
+
}>;
|
|
46
59
|
iar1: Record<"acf01" | "iaa01" | "iab02" | "iac03" | "iad04" | "iai03" | "iak04" | "iak05" | "iak06" | "iak22" | "iar01" | "iar10" | "iar11" | "iar12" | "iar13" | "iar14" | "iar15" | "iar16" | "iar17" | "iar18" | "iar19" | "iar20" | "iar21" | "iar22" | "iar23" | "iar24" | "iar25" | "iar26" | "iar27" | "iar28" | "iar29" | "iar30" | "iar31" | "iar32" | "iar33" | "iar34" | "iar35" | "iar36" | "iar37" | "iar38" | "iar39" | "iar40" | "iar41" | "iar42" | "iar43" | "iar44" | "iar45" | "iar46" | "iar47" | "iar48" | "iar49" | "iar50" | "iar51" | "iar52" | "iar53" | "iar54" | "iar55" | "iar56" | "iar57" | "iar58" | "iar59" | "iar60" | "iar61" | "iar62" | "iar63" | "iar64" | "iar65" | "iar66" | "iar67" | "iar68" | "iar69" | "iar70" | "iar71" | "iar72" | "iar73" | "iar74" | "iar75", string>;
|
|
47
60
|
}> | undefined>;
|
|
48
61
|
getCardType(): Promise<Partial<{
|
|
62
|
+
[K: string]: any;
|
|
49
63
|
personinfo: Record<"sex" | "age" | "address" | "birthday" | "location" | "cardnum" | "cardpwd" | "folk" | "idnumber" | "ownpay" | "ptname" | "pttype" | "recordid" | "updateflag", string>;
|
|
50
|
-
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string
|
|
64
|
+
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "uid" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string> & {
|
|
65
|
+
[K: string]: any;
|
|
66
|
+
}>;
|
|
51
67
|
iar1: Record<"acf01" | "iaa01" | "iab02" | "iac03" | "iad04" | "iai03" | "iak04" | "iak05" | "iak06" | "iak22" | "iar01" | "iar10" | "iar11" | "iar12" | "iar13" | "iar14" | "iar15" | "iar16" | "iar17" | "iar18" | "iar19" | "iar20" | "iar21" | "iar22" | "iar23" | "iar24" | "iar25" | "iar26" | "iar27" | "iar28" | "iar29" | "iar30" | "iar31" | "iar32" | "iar33" | "iar34" | "iar35" | "iar36" | "iar37" | "iar38" | "iar39" | "iar40" | "iar41" | "iar42" | "iar43" | "iar44" | "iar45" | "iar46" | "iar47" | "iar48" | "iar49" | "iar50" | "iar51" | "iar52" | "iar53" | "iar54" | "iar55" | "iar56" | "iar57" | "iar58" | "iar59" | "iar60" | "iar61" | "iar62" | "iar63" | "iar64" | "iar65" | "iar66" | "iar67" | "iar68" | "iar69" | "iar70" | "iar71" | "iar72" | "iar73" | "iar74" | "iar75", string>;
|
|
52
68
|
}> | undefined>;
|
|
53
69
|
generalRequest(params?: InsuranceType.CardReadParams): Promise<Partial<{
|
|
70
|
+
[K: string]: any;
|
|
54
71
|
personinfo: Record<"sex" | "age" | "address" | "birthday" | "location" | "cardnum" | "cardpwd" | "folk" | "idnumber" | "ownpay" | "ptname" | "pttype" | "recordid" | "updateflag", string>;
|
|
55
|
-
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string
|
|
72
|
+
cardinfo: Partial<Record<"name" | "sex" | "age" | "address" | "birthday" | "idnumber" | "uid" | "cardno" | "cardid" | "sex_code" | "nation_name" | "nation_code" | "idtype" | "issuer" | "issuedate" | "expirydate" | "hasphoto" | "telphone" | "companyname" | "age_code" | "age_name" | "ages", string> & {
|
|
73
|
+
[K: string]: any;
|
|
74
|
+
}>;
|
|
56
75
|
iar1: Record<"acf01" | "iaa01" | "iab02" | "iac03" | "iad04" | "iai03" | "iak04" | "iak05" | "iak06" | "iak22" | "iar01" | "iar10" | "iar11" | "iar12" | "iar13" | "iar14" | "iar15" | "iar16" | "iar17" | "iar18" | "iar19" | "iar20" | "iar21" | "iar22" | "iar23" | "iar24" | "iar25" | "iar26" | "iar27" | "iar28" | "iar29" | "iar30" | "iar31" | "iar32" | "iar33" | "iar34" | "iar35" | "iar36" | "iar37" | "iar38" | "iar39" | "iar40" | "iar41" | "iar42" | "iar43" | "iar44" | "iar45" | "iar46" | "iar47" | "iar48" | "iar49" | "iar50" | "iar51" | "iar52" | "iar53" | "iar54" | "iar55" | "iar56" | "iar57" | "iar58" | "iar59" | "iar60" | "iar61" | "iar62" | "iar63" | "iar64" | "iar65" | "iar66" | "iar67" | "iar68" | "iar69" | "iar70" | "iar71" | "iar72" | "iar73" | "iar74" | "iar75", string>;
|
|
57
76
|
}> | undefined>;
|
|
58
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isFunction as a}from"lodash-es";import{
|
|
1
|
+
import{isFunction as a}from"lodash-es";import{ensureUID2IdCard as t}from"./utils/ensureUID2IdCard.js";import{TRANS_CMD as e}from"./constants/index.js";import s from"./insuranceSDK.js";import{ReadHealthCard as r}from"./utils/readHealthCard.js";let n=null;const i=class{constructor(a){if(this.options=a,this.loading=!1,this.readHealthCardDialog=new r,n)return n;n=this,this.insurance=new s}get basicParamsRes(){return a(this.options.basicParams)?this.options.basicParams():this.options.basicParams}static create(a={}){return new i(a)}static destroy(){null==n||n.destroy(),n=null}destroy(){this.insurance.destroy()}createParams(a,t){return{transcmd:a,...this.basicParamsRes,...t}}checkLoading(){if(this.loading)return Promise.reject("请勿重复操作")}async checkResCodeAndLoading(a){try{this.loading=!0;const t=await a;return 3===t.returncode||"3"===t.returncode?Promise.reject(`${t.returnmsg||"操作失败"}`):t.returndata}finally{this.loading=!1}}async readHealthCard(a,t){return await this.checkLoading(),this.readHealthCardDialog.show({instance:a,...t})}async readIdCard(a={},s){await this.checkLoading();const r=this.createParams(e.ID_CARD_READ,{transtype:"IDCARD",interfaceid:"0",...a,transdata:{readtype:"2",...a.transdata}}),n=await this.checkResCodeAndLoading(this.insurance.getInsuranceInfoPromise(r));return(null==n?void 0:n.cardinfo)&&s&&await t(n.cardinfo,s),n}async readMemberCard(a={}){await this.checkLoading();const t=this.createParams(e.MEMBER_CARD_READ,{transsystem:"10",transtype:"IDCARD",interfaceid:"0",...a,transdata:{readtype:"1",...a.transdata}});return this.checkResCodeAndLoading(this.insurance.getInsuranceInfoPromise(t))}async writeMemberCard(a={}){await this.checkLoading();const t=this.createParams(e.MEMBER_CARD_WRITE,{transsystem:"10",transtype:"IDCARD",interfaceid:"0",...a,transdata:{readtype:"1",...a.transdata}});return this.checkResCodeAndLoading(this.insurance.getInsuranceInfoPromise(t))}async readInsuranceCard(a={}){var t,s;await this.checkLoading();const r=this.createParams(e.NS_GETPERSONALINFO,{transchannel:"101",interfaceid:a.interfaceid,transtype:"YB0000",transdata:{...a.transdata,iar1:{acf01:"0",iak22:"0",...null==(t=a.transdata)?void 0:t.iar1},personinfo:{location:0,ownpay:"0",...null==(s=a.transdata)?void 0:s.personinfo}}});return this.checkResCodeAndLoading(this.insurance.getInsuranceInfoPromise(r))}async getCardType(){await this.checkLoading();const a=this.createParams(e.CARD_TYPE_READ,{transsystem:"10",transtype:"IDCARD",interfaceid:"0"});return this.checkResCodeAndLoading(this.insurance.getInsuranceInfoPromise(a))}async generalRequest(a={}){await this.checkLoading();const t=this.createParams(e.NS_GETPERSONALINFO,a);return this.checkResCodeAndLoading(this.insurance.getInsuranceInfoPromise(t))}};let c=i;c.version=1,c.TRANS_CMD=e;export{c as default};
|
|
@@ -47,8 +47,11 @@ export declare namespace InsuranceType {
|
|
|
47
47
|
} & Partial<{
|
|
48
48
|
returndata: Partial<{
|
|
49
49
|
personinfo: Record<'address' | 'age' | 'birthday' | 'cardnum' | 'cardpwd' | 'folk' | 'idnumber' | 'location' | 'ownpay' | 'ptname' | 'pttype' | 'recordid' | 'sex' | 'updateflag', string>;
|
|
50
|
-
cardinfo: Partial<Record<'cardno' | 'cardid' | 'name' | 'sex' | 'sex_code' | 'birthday' | 'nation_name' | 'nation_code' | 'address' | 'idnumber' | 'idtype' | 'issuer' | 'issuedate' | 'expirydate' | 'hasphoto' | 'telphone' | 'companyname' | 'age' | 'age_code' | 'age_name' | 'ages', string
|
|
50
|
+
cardinfo: Partial<Record<'uid' | 'cardno' | 'cardid' | 'name' | 'sex' | 'sex_code' | 'birthday' | 'nation_name' | 'nation_code' | 'address' | 'idnumber' | 'idtype' | 'issuer' | 'issuedate' | 'expirydate' | 'hasphoto' | 'telphone' | 'companyname' | 'age' | 'age_code' | 'age_name' | 'ages', string> & {
|
|
51
|
+
[K: string]: any;
|
|
52
|
+
}>;
|
|
51
53
|
iar1: Record<'acf01' | 'iaa01' | 'iab02' | 'iac03' | 'iad04' | 'iai03' | 'iak04' | 'iak05' | 'iak06' | 'iak22' | 'iar01' | 'iar10' | MapperIar<NumberRange<10, 75>>[number], string>;
|
|
54
|
+
[K: string]: any;
|
|
52
55
|
}>;
|
|
53
56
|
transcmd: string;
|
|
54
57
|
}>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../shared/types';
|
|
2
|
+
export declare type EnsureIdCardOption = {
|
|
3
|
+
saveUrl?: string;
|
|
4
|
+
getUrl?: string;
|
|
5
|
+
saveParams?: AnyObject;
|
|
6
|
+
getParams?: AnyObject;
|
|
7
|
+
requestInstance: {
|
|
8
|
+
post: (url: string, data: any) => Promise<any>;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare function ensureUID2IdCard(res: {
|
|
12
|
+
uid?: string | undefined;
|
|
13
|
+
cardid?: string | undefined;
|
|
14
|
+
}, options: EnsureIdCardOption): Promise<{
|
|
15
|
+
uid?: string | undefined;
|
|
16
|
+
cardid?: string | undefined;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
async function a(a,t){const{uid:s,cardid:e}=a;if(s){const{requestInstance:i,saveParams:n,getParams:r,getUrl:c,saveUrl:g}=t;if(e)await i.post(g||"/ipatient/vaag1/save",{...n,vaa15:e,vaag02:s});else{const t=await i.post(c||"/ipatient/vaag1/getVaag1InfoList",{...r,vaag02:s});t.data&&Object.assign(a,{...t.data,cardid:t.data.vaa15})}}return a}export{a as ensureUID2IdCard};
|
|
@@ -1447,6 +1447,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1447
1447
|
isSecondDisabled(second: number, minute: number | null, hour: number | null): boolean | 0;
|
|
1448
1448
|
};
|
|
1449
1449
|
NSelect: any;
|
|
1450
|
+
/**
|
|
1451
|
+
* 改变展示方式
|
|
1452
|
+
*/
|
|
1450
1453
|
NPopover: any;
|
|
1451
1454
|
CDatePicker: import("../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
|
|
1452
1455
|
updateUnchangedValue: {
|