cnhis-design-vue 3.1.43-beta.0 → 3.1.43-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +87 -87
  2. package/es/components/big-table/src/hooks/useEdit.d.ts +26 -26
  3. package/es/components/big-table/src/utils.js +1 -1
  4. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  5. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  6. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  7. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  8. package/es/components/button-print/src/components/IdentityVerification.vue.d.ts +1 -1
  9. package/es/components/date-picker/index.d.ts +27 -2
  10. package/es/components/date-picker/src/DatePicker.vue.d.ts +27 -2
  11. package/es/components/date-picker/src/DatePicker.vue.js +1 -1
  12. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  13. package/es/components/form-config/index.d.ts +72 -0
  14. package/es/components/form-config/src/FormConfig.vue.d.ts +72 -0
  15. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +21 -20
  16. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +43 -0
  17. package/es/components/form-config/src/components/renderer/ComplexNode.vue.d.ts +1 -1
  18. package/es/components/form-config/src/components/renderer/DefaultNode.vue.d.ts +1 -1
  19. package/es/components/form-render/index.d.ts +1 -0
  20. package/es/components/form-render/src/FormRender.vue.d.ts +1 -0
  21. package/es/components/form-render/src/FormRender.vue.js +1 -1
  22. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +1 -0
  23. package/es/components/form-render/src/hooks/useChangeContext.d.ts +1 -1
  24. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  25. package/es/components/form-render/src/hooks/useLowCodeEvent.d.ts +6 -0
  26. package/es/components/form-render/src/hooks/useLowCodeEvent.js +1 -0
  27. package/es/components/form-render/src/hooks/useLowCodeReactions.js +1 -1
  28. package/es/components/form-render/src/types/fieldItem.d.ts +2 -127
  29. package/es/components/form-render/src/types/index.d.ts +1 -2
  30. package/es/components/iho-table/src/hooks/useTableContext.d.ts +1 -1
  31. package/es/components/iho-table/src/plugins/fieldConnectionPlugin/index.js +1 -1
  32. package/es/components/iho-table/src/plugins/filterDaterangeRenderPlugin/filter.vue.d.ts +28 -3
  33. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +27 -2
  34. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/defaultRendererPlugin.js +1 -1
  35. package/es/components/iho-table/src/types/index.d.ts +7 -24
  36. package/es/components/iho-table/src/types/pluginType.d.ts +18 -21
  37. package/es/components/index.d.ts +1 -0
  38. package/es/components/info-header/index.d.ts +2 -0
  39. package/es/components/info-header/src/InfoHeader.vue.d.ts +2 -0
  40. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +4 -4
  41. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +1 -0
  42. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +21 -20
  43. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  44. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -1
  45. package/es/components/select-label/src/LabelFormContent.vue.js +1 -1
  46. package/es/components/select-person/index.d.ts +13 -0
  47. package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
  48. package/es/components/select-person/src/SelectPerson.vue.d.ts +13 -0
  49. package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
  50. package/es/components/select-person/src/utils/index.d.ts +1 -1
  51. package/es/components/select-person/src/utils/index.js +1 -1
  52. package/es/components/shortcut-setter/index.d.ts +15 -0
  53. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +15 -0
  54. package/es/env.d.ts +25 -25
  55. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  56. package/es/shared/hooks/useDateTime.js +1 -1
  57. package/es/shared/package.json.js +1 -1
  58. package/es/shared/types/business.d.ts +16 -0
  59. package/es/shared/types/business.js +1 -0
  60. package/es/shared/types/index.d.ts +1 -1
  61. package/es/shared/utils/business.d.ts +11 -0
  62. package/es/shared/utils/business.js +1 -0
  63. package/es/shared/utils/index.d.ts +1 -5
  64. package/es/shared/utils/index.js +1 -1
  65. package/es/shared/utils/tapable/index.d.ts +139 -0
  66. package/package.json +65 -65
  67. package/es/components/iho-table/src/plugins/fieldConnectionPlugin/fieldConnectionUtils.d.ts +0 -11
  68. package/es/components/iho-table/src/plugins/fieldConnectionPlugin/fieldConnectionUtils.js +0 -1
@@ -48,7 +48,7 @@ declare const _default: import("vue").DefineComponent<{
48
48
  NDivider: any;
49
49
  NSpace: any;
50
50
  NButton: any;
51
- FormRender: import("../../../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{}, {
51
+ FormRender: import("../../../..").SFCWithInstall<import("vue").DefineComponent<{}, {
52
52
  formRenderRef: import("vue").Ref<FormRenderExpose | undefined>;
53
53
  key: import("vue").Ref<number>;
54
54
  reload: () => Promise<void>;
@@ -59,7 +59,7 @@ declare const _default: import("vue").DefineComponent<{
59
59
  type: import("vue").PropType<FieldItem[]>;
60
60
  };
61
61
  initialData: {
62
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
62
+ type: import("vue").PropType<import("../../../..").AnyObject>;
63
63
  default: () => {};
64
64
  };
65
65
  fieldVisitor: {
@@ -148,11 +148,11 @@ declare const _default: import("vue").DefineComponent<{
148
148
  default: () => {};
149
149
  };
150
150
  scope: {
151
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
151
+ type: import("vue").PropType<import("../../../..").AnyObject>;
152
152
  default: () => {};
153
153
  };
154
154
  annotation: {
155
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
155
+ type: import("vue").PropType<import("../../../..").AnyObject>;
156
156
  };
157
157
  consumer: {
158
158
  type: BooleanConstructor;
@@ -164,8 +164,8 @@ declare const _default: import("vue").DefineComponent<{
164
164
  lifeCycle: {
165
165
  type: import("vue").PropType<Partial<{
166
166
  onSetup(): void;
167
- beforeRequest(fieldKey: string, params?: import("../../../../../shared/types").AnyObject | undefined): void | import("../../../../../shared/types").UndefinedAble<import("../../../../../shared/types").AnyObject>;
168
- afterRequest(fieldKey: string, payload?: any): import("../../../../../shared/types").AnyObject[];
167
+ beforeRequest(fieldKey: string, params?: import("../../../..").AnyObject | undefined): void | import("../../../..").UndefinedAble<import("../../../..").AnyObject>;
168
+ afterRequest(fieldKey: string, payload?: any): import("../../../..").AnyObject[];
169
169
  }>>;
170
170
  };
171
171
  requestInstance: {
@@ -191,7 +191,7 @@ declare const _default: import("vue").DefineComponent<{
191
191
  type: import("vue").PropType<FieldItem[]>;
192
192
  };
193
193
  initialData: {
194
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
194
+ type: import("vue").PropType<import("../../../..").AnyObject>;
195
195
  default: () => {};
196
196
  };
197
197
  fieldVisitor: {
@@ -280,11 +280,11 @@ declare const _default: import("vue").DefineComponent<{
280
280
  default: () => {};
281
281
  };
282
282
  scope: {
283
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
283
+ type: import("vue").PropType<import("../../../..").AnyObject>;
284
284
  default: () => {};
285
285
  };
286
286
  annotation: {
287
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
287
+ type: import("vue").PropType<import("../../../..").AnyObject>;
288
288
  };
289
289
  consumer: {
290
290
  type: BooleanConstructor;
@@ -296,8 +296,8 @@ declare const _default: import("vue").DefineComponent<{
296
296
  lifeCycle: {
297
297
  type: import("vue").PropType<Partial<{
298
298
  onSetup(): void;
299
- beforeRequest(fieldKey: string, params?: import("../../../../../shared/types").AnyObject | undefined): void | import("../../../../../shared/types").UndefinedAble<import("../../../../../shared/types").AnyObject>;
300
- afterRequest(fieldKey: string, payload?: any): import("../../../../../shared/types").AnyObject[];
299
+ beforeRequest(fieldKey: string, params?: import("../../../..").AnyObject | undefined): void | import("../../../..").UndefinedAble<import("../../../..").AnyObject>;
300
+ afterRequest(fieldKey: string, payload?: any): import("../../../..").AnyObject[];
301
301
  }>>;
302
302
  };
303
303
  requestInstance: {
@@ -333,7 +333,7 @@ declare const _default: import("vue").DefineComponent<{
333
333
  changeContextCollector: import("../../../../../../es/components/form-render").ContextCollector;
334
334
  formUUID: string;
335
335
  anchorBarRef: import("vue").Ref<{
336
- syncBarPosition: import("../../../../../shared/types").Func<any[], any>;
336
+ syncBarPosition: import("../../../..").Func<any[], any>;
337
337
  } | undefined>;
338
338
  currentAnchor: import("vue").WritableComputedRef<string>;
339
339
  generateAnchorList: (formModel: import("../../../../../../es/components/form-render").Form<any>) => Promise<void>;
@@ -347,6 +347,7 @@ declare const _default: import("vue").DefineComponent<{
347
347
  observeFormGraph: Record<string, import("../../../../../../es/components/form-render").GeneralField>;
348
348
  setGraph: (field: import("../../../../../../es/components/form-render").GeneralField) => void;
349
349
  removeGraph: (field: import("../../../../../../es/components/form-render").GeneralField) => void;
350
+ lowCodeEventTrigger: (field: import("../../../../../../es/components/form-render").GeneralField) => void;
350
351
  formModel: import("../../../../../../es/components/form-render").Form<{
351
352
  [x: string]: any;
352
353
  }>;
@@ -472,7 +473,7 @@ declare const _default: import("vue").DefineComponent<{
472
473
  exposeEvent: {
473
474
  validate(path?: string): Promise<void>;
474
475
  getFormValues(needCombineExtendKey?: boolean): any;
475
- setFormValues(values: import("../../../../../shared/types").AnyObject, needSplitExtendKey?: boolean, overwrite?: boolean): void;
476
+ setFormValues(values: import("../../../..").AnyObject, needSplitExtendKey?: boolean, overwrite?: boolean): void;
476
477
  setFieldState(path: string, handler: (field: Partial<Pick<import("../../../../../../es/components/form-render").Field<any, any, any, any>, import("../../../../../../es/components/form-render").NonFunctionPropertyNames<{
477
478
  match: (pattern: import("@formily/path").Pattern) => boolean;
478
479
  validate: (triggerType?: import("@formily/validator").ValidatorTriggerType | undefined) => any;
@@ -638,7 +639,7 @@ declare const _default: import("vue").DefineComponent<{
638
639
  type: import("vue").PropType<FieldItem[]>;
639
640
  };
640
641
  initialData: {
641
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
642
+ type: import("vue").PropType<import("../../../..").AnyObject>;
642
643
  default: () => {};
643
644
  };
644
645
  fieldVisitor: {
@@ -727,11 +728,11 @@ declare const _default: import("vue").DefineComponent<{
727
728
  default: () => {};
728
729
  };
729
730
  scope: {
730
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
731
+ type: import("vue").PropType<import("../../../..").AnyObject>;
731
732
  default: () => {};
732
733
  };
733
734
  annotation: {
734
- type: import("vue").PropType<import("../../../../../shared/types").AnyObject>;
735
+ type: import("vue").PropType<import("../../../..").AnyObject>;
735
736
  };
736
737
  consumer: {
737
738
  type: BooleanConstructor;
@@ -743,8 +744,8 @@ declare const _default: import("vue").DefineComponent<{
743
744
  lifeCycle: {
744
745
  type: import("vue").PropType<Partial<{
745
746
  onSetup(): void;
746
- beforeRequest(fieldKey: string, params?: import("../../../../../shared/types").AnyObject | undefined): void | import("../../../../../shared/types").UndefinedAble<import("../../../../../shared/types").AnyObject>;
747
- afterRequest(fieldKey: string, payload?: any): import("../../../../../shared/types").AnyObject[];
747
+ beforeRequest(fieldKey: string, params?: import("../../../..").AnyObject | undefined): void | import("../../../..").UndefinedAble<import("../../../..").AnyObject>;
748
+ afterRequest(fieldKey: string, payload?: any): import("../../../..").AnyObject[];
748
749
  }>>;
749
750
  };
750
751
  requestInstance: {
@@ -773,9 +774,9 @@ declare const _default: import("vue").DefineComponent<{
773
774
  maxHeight: string | number;
774
775
  column: number;
775
776
  components: Record<string, import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | import("vue").FunctionalComponent<{}, {}>>;
776
- initialData: import("../../../../../shared/types").AnyObject;
777
+ initialData: import("../../../..").AnyObject;
777
778
  parallelism: number;
778
- scope: import("../../../../../shared/types").AnyObject;
779
+ scope: import("../../../..").AnyObject;
779
780
  consumer: boolean;
780
781
  enterToNextWidget: boolean | ((fieldItem: FieldItem) => boolean | void);
781
782
  linebarAutoHidden: boolean;
@@ -1 +1 @@
1
- import{defineComponent as e,reactive as t,ref as a,watch as o,nextTick as i,openBlock as l,createElementBlock as n,createCommentVNode as s,Fragment as r,unref as u,createBlock as c,mergeProps as p,createElementVNode as d,normalizeClass as m,normalizeStyle as v,createVNode as f,withCtx as g,renderList as y,toDisplayString as b,createTextVNode as k,resolveDynamicComponent as C,h as S}from"vue";import h from"./hooks/use-noData.js";import{getScaleViewState as w}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as _}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as A}from"./hooks/scaleview-submit.js";import{handleQueryParams as O,isCollection as j,isEvaluation as T}from"./utils/judge-types.js";import{useEvent as L}from"./hooks/use-event.js";import P from"./components/NoData.vue.js";import D from"./components/EvaluateCountdown.vue.js";import F from"./components/EvaluatePage.vue.js";import B from"./components/AnswerParse.vue.js";import N from"./components/ScaleScore.js";import{useDialog as x,useMessage as I,NForm as q,NFormItem as M,NButton as R}from"naive-ui";import K from"../../../_virtual/plugin-vue_export-helper.js";const V={class:"c-scale-view-block"},H=["innerHTML"],U={key:0,class:"required-text"},W={key:1,class:"evalute-label"},J=["onClick"],Y=d("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),X={key:1,class:"footer"};var G=K(e({__name:"ScaleView",props:{guageData:{type:Object,default:()=>({})},styleSetting:{type:Object,default:()=>({})},ids:{type:Object,default:()=>({guage_id:"",db_id:void 0})},params:{default:()=>({}),type:Object},noBtn:{type:[Boolean,String,Number],default:!1},hideBtn:{type:[Boolean,String,Number],default:!1},isLock:{type:[Boolean,String,Number],default:!1},type:{type:String,default:""},openType:{type:String,default:""},scaleApiConfig:{type:Object,default:()=>({})},getSelectOptions:{type:Function,default:()=>Promise.resolve([])},getSearchOptions:{type:Function,default:()=>Promise.resolve([])},getCascadeOptions:{type:Function,default:()=>Promise.resolve([])},getLabelList:{type:Function,default:()=>Promise.resolve([])},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},uploadPictureUrl:{type:String,default:""},uploadFileUrl:{type:String,default:""},ak:{type:String,default:"KP3BZ-OAC3W-PY6RY-OJ6DV-JYKN3-H6F72"},sourceType:{type:String,default:""},getChunkUploadConfig:{type:Function,default:()=>Promise.resolve({})}},emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:K,emit:G}){const Q=e,{ScaleViewState:Z}=w(),$=t(Z),z=x(),ee=I(),te=a(null),ae=a(null),{noDataState:oe,setNoData:ie,resetNodata:le}=h(),ne=O(),{showEvatip:se,isFormBoldOpen:re,scaleStyle:ue,handlePageClass:ce,isShowItem:pe,handleShowQuestionNumber:de,hasScore:me,isPreviewScale:ve,showEvaluateEntry:fe,showEvaluateCoundownPage:ge,showSaveBtn:ye,showEvaluateLabel:be,showAnswerParse:ke,propsConfig:Ce,evaluatePageProps:Se,evaluateCountdownProps:he,skipCover:we,scaleEdit:Ee}=E(Q,$,{query:ne}),{initForm:_e}=_(Q,$,G,{query:ne}),{submitMethod:Ae}=A(Q,$,G,{query:ne}),{nextLogicEvent:Oe,handleDynamicDataRelation:je}=L(Q,$);(()=>{let{id:e}=ne;e&&($.shareId=e)})();const Te=e=>{try{le(),_e(e)}catch(e){console.log(e,"--error"),$.spinning=!1,$.hasFrontAddress=!1,ie(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};o((()=>Q.ids),((e,t)=>{t?e.guage_id&&e.guage_id!=t.guage_id&&Te(e):e.guage_id&&Te(e)}),{immediate:!0}),o((()=>Q.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;$.form={},$.formArray=[];const t=JSON.parse(JSON.stringify(e));i((()=>{_e(t)}))}),{immediate:!0});const Le=e=>{$.showEvaluateSettingWrap=!1,$.showEvaluateCountdown=!!e,G("startWriteScale")},Pe=()=>{console.log("----closeEvaluateCountdown"),$.showEvaluateCountdown=!1,ve.value||($.banSubmit=!0,Ae(),z.warning({title:"温馨提示",content:"测评时间到了,结束测评!",maskClosable:!1,positiveText:"确定",onPositiveClick:()=>({})}))},De=e=>{z.warning({title:"提示",content:()=>S("div",{class:"evatip-container"},[S("span","答案解析:"),S("p",e)]),class:"c-evatip-dialog-wrap",showIcon:!1,positiveText:"确定",negativeText:"关闭",maskClosable:!1,onPositiveClick(){},onNegativeClick(){}})},Fe=(e,t,a)=>{console.log(e,"--val");let{choiceObj:o,isSetObj:i}=a||{};switch(t.type.includes("SELECT")||($.form[t.val_key]=e),t.type){case"SELECT":case"EVALUATE_SELECT":{let{value:a,list:o=[]}=e;$.form[t.val_key]=a,Oe(e,t,$.formArray),je(o,t,$.formArray)}break;case"RADIO_BLOCK":case"CHECKBOX_BLOCK":i&&($.choiceComObj[t.val_key]=o),Oe(e,t,$.formArray);break;case"EVALUATE_RADIO_BLOCK":case"EVALUATE_CHECKBOX_BLOCK":Oe(e,t,$.formArray);break;case"DATE":case"TIME":case"DATETIME":case"SEARCH_CASCADE":$.submitForm[t.val_key]=e}},Be=(e,t)=>{console.log(t),$.form[t.val_key]=e},Ne=e=>{if(!e||!e.length)return{labelStr:"",labels:[]};const t=e||[],a=[],o=[];return t.forEach((e=>{o.push(e),a.push(e.labelName)})),$.labelSelectedList=t,{labelStr:a.join(","),labels:o}},xe=()=>{var e;if(!$.formArray.find((e=>T(e.type))))return void Ie("确认要提交吗?");let{evaluateResultSetting:t}=$.config;if(!t||!Object.keys(t).length&&!fe.value||Ee.value)return void Ie("确认要结束测评吗?");if("formIframe"==Q.openType&&fe.value)return void G("submitNoRequest");let a="确定要提前结束测评吗?";if(ge.value&&(null==(e=te.value)?void 0:e.getCountdownObj)){const e=te.value.getCountdownObj(),{setAnswered:t,totalLen:o}=e;t<o?a="存在未作答的题目,确定要提前结束测评吗?":!(null==$?void 0:$.showEvaluateCountdown)&&(a="确认要结束测评吗?")}Ie(a)},Ie=e=>{z.warning({title:"温馨提示",content:()=>S("div",{style:{paddingLeft:"30px"}},e),positiveText:"确定",negativeText:"取消",maskClosable:!1,closable:!1,positiveButtonProps:{type:"primary"},onPositiveClick:async()=>{const e=await qe();G("onSubmit",e)},onNegativeClick(){}})},qe=()=>new Promise(((e,t)=>{var a;null==(a=ae.value)||a.validate((t=>{var a;if(t){console.log(t);let o=(null==(a=t[0])?void 0:a[0])||{},i=o.field,l=o.message,n=$.formArray.find((e=>e.databaseTitle===i));return n&&(i=n.title),ee.error(i+l),e(!1),!1}{const t=Ae();e(t)}}))})),Me=()=>{G("onCloseSetting")};return K({getScaleData:()=>({...$}),onSubmitForm:qe,cancel:Me}),(e,t)=>(l(),n("div",V,[s(' <template v-if="state.spinning">\r\n <n-spin :show="state.spinning" description="加载中"></n-spin>\r\n </template> '),$.spinning||$.hasFrontAddress?s("v-if",!0):(l(),n(r,{key:0},[u(oe).noData?(l(),c(P,{key:0,noDataImg:u(oe).noDataImg,noDataTip:u(oe).noDataTip},null,8,["noDataImg","noDataTip"])):(l(),n(r,{key:1},[u(fe)&&!u(we)?(l(),c(F,p({key:0},u(Se),{onWriteGuage:Le}),null,16)):(l(),n(r,{key:1},[u(ge)?(l(),c(D,p({key:0,ref_key:"countdownDom",ref:te},u(he),{onCloseEvaluateCountdown:Pe}),null,16)):s("v-if",!0),d("div",{class:m(["scale-container",{"scale-container-nopadding":u(ce),"scale-container-hasfooter":u(ye)}]),style:v(u(ue))},[u(me)?(l(),c(u(N),{key:0,config:$.config,maxScore:$.maxScore},null,8,["config","maxScore"])):s("v-if",!0),f(u(q),{ref_key:"formRef",ref:ae,model:$.form,rules:$.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(l(!0),n(r,null,y($.formArray,((e,t)=>(l(),n(r,{key:(e.id||e.seq)+t},[u(pe)(e)?(l(),c(u(M),{key:0,path:e.val_key,"show-label":!u(j)(e.type),class:"c-scle-form-item"},{label:g((()=>[d("span",{class:m({"scale-label-required":u(re)(e)}),innerHTML:u(de)(e)},null,10,H),u(re)(e)?(l(),n("span",U,"(必填)")):s("v-if",!0),u(be)(e)?(l(),n("span",W,b(u(be)(e)),1)):s("v-if",!0),u(se)(e)?(l(),n("span",{key:2,class:"evalute-tip",onClick:t=>(async e=>{var t;if($.evatipMap[e.id])return void De($.evatipMap[e.id]);let a="getSubjectAnswer";const o=(null==(t=Q.scaleApiConfig)?void 0:t[a])||null;if(!o||"function"!=typeof o)return void ee.error(`${a} Is not a function`);let i=await o(e.id);i&&($.evatipMap[e.id]||($.evatipMap[e.id]=i,De(i)))})(e)},[Y,k(" 查看提示 ")],8,J)):s("v-if",!0)])),default:g((()=>[(l(),c(C(e.renderCom),p(u(Ce)(e,t),{key:(e.id||e.seq)+t,onScaleChange:Fe,onOnChange:t=>((e,t)=>{$.form[t.val_key]=Ne(e)})(t,e),onVodFileList:Be}),null,16,["onOnChange"])),u(ke)(e)?(l(),c(B,{key:0,item:e},null,8,["item"])):s("v-if",!0)])),_:2},1032,["path","show-label"])):s("v-if",!0)],64)))),128))])),_:1},8,["model","rules"])],6),u(ye)?(l(),n("div",X,[s(" 分享的链接 隐藏取消按钮 "),"guage"!==Q.sourceType?(l(),c(u(R),{key:0,onClick:Me},{default:g((()=>[k("取消")])),_:1})):s("v-if",!0),Q.isLock?s("v-if",!0):(l(),c(u(R),{key:1,onClick:xe,disabled:$.banSubmit,type:"primary"},{default:g((()=>[k("保存")])),_:1},8,["disabled"]))])):s("v-if",!0)],64))],64))],64))]))}}),[["__file","ScaleView.vue"]]);export{G as default};
1
+ import{defineComponent as e,reactive as t,ref as a,watch as o,nextTick as i,openBlock as l,createElementBlock as n,createCommentVNode as s,Fragment as r,unref as u,createBlock as c,mergeProps as p,createElementVNode as d,normalizeClass as m,normalizeStyle as v,createVNode as f,withCtx as g,renderList as y,toDisplayString as b,createTextVNode as k,resolveDynamicComponent as C,h as S}from"vue";import h from"./hooks/use-noData.js";import{getScaleViewState as w}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as _}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as A}from"./hooks/scaleview-submit.js";import{handleQueryParams as O,isCollection as j,isEvaluation as T}from"./utils/judge-types.js";import{useEvent as L}from"./hooks/use-event.js";import P from"./components/NoData.vue.js";import D from"./components/EvaluateCountdown.vue.js";import F from"./components/EvaluatePage.vue.js";import B from"./components/AnswerParse.vue.js";import N from"./components/ScaleScore.js";import{useDialog as x,useMessage as I,NForm as q,NFormItem as M,NButton as R}from"naive-ui";import K from"../../../_virtual/plugin-vue_export-helper.js";const V={class:"c-scale-view-block"},H=["innerHTML"],U={key:0,class:"required-text"},W={key:1,class:"evalute-label"},J=["onClick"],Y=d("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),X={key:1,class:"footer"};var G=K(e({__name:"ScaleView",props:{guageData:{type:Object,default:()=>({})},styleSetting:{type:Object,default:()=>({})},ids:{type:Object,default:()=>({guage_id:"",db_id:void 0})},params:{default:()=>({}),type:Object},noBtn:{type:[Boolean,String,Number],default:!1},hideBtn:{type:[Boolean,String,Number],default:!1},isLock:{type:[Boolean,String,Number],default:!1},type:{type:String,default:""},openType:{type:String,default:""},scaleApiConfig:{type:Object,default:()=>({})},getSelectOptions:{type:Function,default:()=>Promise.resolve([])},getSearchOptions:{type:Function,default:()=>Promise.resolve([])},getCascadeOptions:{type:Function,default:()=>Promise.resolve([])},getLabelList:{type:Function,default:()=>Promise.resolve([])},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},uploadPictureUrl:{type:String,default:""},uploadFileUrl:{type:String,default:""},ak:{type:String,default:"KP3BZ-OAC3W-PY6RY-OJ6DV-JYKN3-H6F72"},sourceType:{type:String,default:""},getChunkUploadConfig:{type:Function,default:()=>Promise.resolve({})}},emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:K,emit:G}){const Q=e,{ScaleViewState:Z}=w(),$=t(Z),z=x(),ee=I(),te=a(null),ae=a(null),{noDataState:oe,setNoData:ie,resetNodata:le}=h(),ne=O(),{showEvatip:se,isFormBoldOpen:re,scaleStyle:ue,handlePageClass:ce,isShowItem:pe,handleShowQuestionNumber:de,hasScore:me,isPreviewScale:ve,showEvaluateEntry:fe,showEvaluateCoundownPage:ge,showSaveBtn:ye,showEvaluateLabel:be,showAnswerParse:ke,propsConfig:Ce,evaluatePageProps:Se,evaluateCountdownProps:he,skipCover:we,scaleEdit:Ee}=E(Q,$,{query:ne}),{initForm:_e}=_(Q,$,G,{query:ne}),{submitMethod:Ae}=A(Q,$,G,{query:ne}),{nextLogicEvent:Oe,handleDynamicDataRelation:je}=L(Q,$);(()=>{let{id:e}=ne;e&&($.shareId=e)})();const Te=e=>{try{le(),_e(e)}catch(e){console.log(e,"--error"),$.spinning=!1,$.hasFrontAddress=!1,ie(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};o((()=>Q.ids),((e,t)=>{t?e.guage_id&&e.guage_id!=t.guage_id&&Te(e):e.guage_id&&Te(e)}),{immediate:!0}),o((()=>Q.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;$.form={},$.formArray=[];const t=JSON.parse(JSON.stringify(e));i((()=>{_e(t)}))}),{immediate:!0});const Le=e=>{$.showEvaluateSettingWrap=!1,$.showEvaluateCountdown=!!e,G("startWriteScale")},Pe=()=>{console.log("----closeEvaluateCountdown"),$.showEvaluateCountdown=!1,ve.value||($.banSubmit=!0,Ae(),z.warning({title:"温馨提示",content:"测评时间到了,结束测评!",maskClosable:!1,positiveText:"确定",onPositiveClick:()=>({})}))},De=e=>{z.warning({title:"提示",content:()=>S("div",{class:"evatip-container"},[S("span","答案解析:"),S("p",e)]),class:"c-evatip-dialog-wrap",showIcon:!1,positiveText:"确定",negativeText:"关闭",maskClosable:!1,onPositiveClick(){},onNegativeClick(){}})},Fe=(e,t,a)=>{console.log(e,"--val");let{choiceObj:o,isSetObj:i}=a||{};switch(t.type.includes("SELECT")||($.form[t.val_key]=e),t.type){case"SELECT":case"EVALUATE_SELECT":{let{value:a,list:o=[]}=e;$.form[t.val_key]=a,Oe(e,t,$.formArray),je(o,t,$.formArray)}break;case"RADIO_BLOCK":case"CHECKBOX_BLOCK":i&&($.choiceComObj[t.val_key]=o),Oe(e,t,$.formArray);break;case"EVALUATE_RADIO_BLOCK":case"EVALUATE_CHECKBOX_BLOCK":Oe(e,t,$.formArray);break;case"DATE":case"TIME":case"DATETIME":case"SEARCH_CASCADE":$.submitForm[t.val_key]=e}},Be=(e,t)=>{console.log(t),$.form[t.val_key]=e},Ne=e=>{if(!e||!e.length)return{labelStr:"",labels:[]};const t=e||[],a=[],o=[];return t.forEach((e=>{o.push(e),a.push(e.labelName)})),$.labelSelectedList=t,{labelStr:a.join(","),labels:o}},xe=()=>{var e;if(!$.formArray.find((e=>T(e.type))))return void Ie("确认要提交吗?");let{evaluateResultSetting:t}=$.config;if(!t||!Object.keys(t).length&&!fe.value||Ee.value)return void Ie("确认要结束测评吗?");if("formIframe"==Q.openType&&fe.value)return void G("submitNoRequest");let a="确定要提前结束测评吗?";if(ge.value&&(null==(e=te.value)?void 0:e.getCountdownObj)){const e=te.value.getCountdownObj(),{setAnswered:t,totalLen:o}=e;t<o?a="存在未作答的题目,确定要提前结束测评吗?":!(null==$?void 0:$.showEvaluateCountdown)&&(a="确认要结束测评吗?")}Ie(a)},Ie=e=>{z.warning({title:"温馨提示",content:()=>S("div",{style:{paddingLeft:"30px"}},e),positiveText:"确定",negativeText:"取消",maskClosable:!1,closable:!1,positiveButtonProps:{type:"primary"},onPositiveClick:async()=>{const e=await qe();G("onSubmit",e)},onNegativeClick(){}})},qe=()=>new Promise(((e,t)=>{var a;null==(a=ae.value)||a.validate((t=>{var a;if(t){console.log(t);let o=(null==(a=t[0])?void 0:a[0])||{},i=o.field,l=o.message,n=$.formArray.find((e=>e.databaseTitle===i));return n&&(i=n.title),ee.error(i+l),e(!1),!1}{const t=Ae();e(t)}}))})),Me=()=>{G("onCloseSetting")};return K({getScaleData:()=>({...$}),onSubmitForm:qe,cancel:Me}),(e,t)=>(l(),n("div",V,[s(' <template v-if="state.spinning">\n <n-spin :show="state.spinning" description="加载中"></n-spin>\n </template> '),$.spinning||$.hasFrontAddress?s("v-if",!0):(l(),n(r,{key:0},[u(oe).noData?(l(),c(P,{key:0,noDataImg:u(oe).noDataImg,noDataTip:u(oe).noDataTip},null,8,["noDataImg","noDataTip"])):(l(),n(r,{key:1},[u(fe)&&!u(we)?(l(),c(F,p({key:0},u(Se),{onWriteGuage:Le}),null,16)):(l(),n(r,{key:1},[u(ge)?(l(),c(D,p({key:0,ref_key:"countdownDom",ref:te},u(he),{onCloseEvaluateCountdown:Pe}),null,16)):s("v-if",!0),d("div",{class:m(["scale-container",{"scale-container-nopadding":u(ce),"scale-container-hasfooter":u(ye)}]),style:v(u(ue))},[u(me)?(l(),c(u(N),{key:0,config:$.config,maxScore:$.maxScore},null,8,["config","maxScore"])):s("v-if",!0),f(u(q),{ref_key:"formRef",ref:ae,model:$.form,rules:$.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(l(!0),n(r,null,y($.formArray,((e,t)=>(l(),n(r,{key:(e.id||e.seq)+t},[u(pe)(e)?(l(),c(u(M),{key:0,path:e.val_key,"show-label":!u(j)(e.type),class:"c-scle-form-item"},{label:g((()=>[d("span",{class:m({"scale-label-required":u(re)(e)}),innerHTML:u(de)(e)},null,10,H),u(re)(e)?(l(),n("span",U,"(必填)")):s("v-if",!0),u(be)(e)?(l(),n("span",W,b(u(be)(e)),1)):s("v-if",!0),u(se)(e)?(l(),n("span",{key:2,class:"evalute-tip",onClick:t=>(async e=>{var t;if($.evatipMap[e.id])return void De($.evatipMap[e.id]);let a="getSubjectAnswer";const o=(null==(t=Q.scaleApiConfig)?void 0:t[a])||null;if(!o||"function"!=typeof o)return void ee.error(`${a} Is not a function`);let i=await o(e.id);i&&($.evatipMap[e.id]||($.evatipMap[e.id]=i,De(i)))})(e)},[Y,k(" 查看提示 ")],8,J)):s("v-if",!0)])),default:g((()=>[(l(),c(C(e.renderCom),p(u(Ce)(e,t),{key:(e.id||e.seq)+t,onScaleChange:Fe,onOnChange:t=>((e,t)=>{$.form[t.val_key]=Ne(e)})(t,e),onVodFileList:Be}),null,16,["onOnChange"])),u(ke)(e)?(l(),c(B,{key:0,item:e},null,8,["item"])):s("v-if",!0)])),_:2},1032,["path","show-label"])):s("v-if",!0)],64)))),128))])),_:1},8,["model","rules"])],6),u(ye)?(l(),n("div",X,[s(" 分享的链接 隐藏取消按钮 "),"guage"!==Q.sourceType?(l(),c(u(R),{key:0,onClick:Me},{default:g((()=>[k("取消")])),_:1})):s("v-if",!0),Q.isLock?s("v-if",!0):(l(),c(u(R),{key:1,onClick:xe,disabled:$.banSubmit,type:"primary"},{default:g((()=>[k("保存")])),_:1},8,["disabled"]))])):s("v-if",!0)],64))],64))],64))]))}}),[["__file","ScaleView.vue"]]);export{G as default};
@@ -496,7 +496,7 @@ export declare const componentMap: {
496
496
  form: Record<string, any>;
497
497
  locationProp: string;
498
498
  }>>;
499
- LABEL: import("vue").ShallowRef<import("../../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{
499
+ LABEL: import("vue").ShallowRef<import("../../..").SFCWithInstall<import("vue").DefineComponent<{
500
500
  selectedList: {
501
501
  type: import("vue").PropType<any[]>;
502
502
  default: () => never[];
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as s,unref as r,createCommentVNode as d,withDirectives as o,createElementVNode as c,normalizeClass as b,createVNode as u,withCtx as p,Fragment as f,renderList as h,createBlock as y,createTextVNode as v,toDisplayString as m,vShow as g,nextTick as C}from"vue";import{useMessage as L,NAnchor as I,NAnchorLink as S}from"naive-ui";import E from"./components/label-classify.vue.js";import{handleLabelColor as w}from"../../../shared/utils/vexutils.js";import x from"../../../_virtual/plugin-vue_export-helper.js";import A from"../../../shared/utils/vexutilsExpand.js";const O={key:0,class:"label-disable-wrap"},j=[c("p",{class:"label-disable-title"},"无可选标签",-1),c("p",{class:"label-disable-desc"},"请联系管理员进行标签管理设置",-1)],K={style:{height:"100%"}},k={class:"label-wrap"},T=["id"],_={class:"edit-label-type"};var B=x(t({__name:"LabelFormContent",props:{item:{default:()=>({})},isEdit:{type:Boolean,default:!0},isLock:{type:Boolean,default:!1},labelSelectedList:null,isChangeWindow:{type:Boolean},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},labelOptions:null,sourceType:{default:""},explicit:{type:Boolean,default:!1}},emits:["explicitOnChange","change","updateLabelData"],setup(t,{expose:x,emit:B}){const D=t,F=L(),V=e(null),P=l({editLabelItem:{},inited:!1,labelSelectedEdit:[],labelAnchorKey:"",cacheAnchorKey:"",labelConfig:{}});let N=e(0);const W=a((()=>{if(!P.inited)return!1;let t=P.labelConfig;return!t||Object.keys(t).every((e=>!t[e].itemList))})),$=a((()=>{let t=[].concat(...P.labelSelectedEdit,...D.labelSelectedList);return J(t,"labelId")})),q=a((()=>{const t=$.value||[];return Array.isArray(t)?t.map((t=>t.labelId)):[]})),J=(t,e)=>{let l={};return t.reduce(((t,a)=>(!l[a[e]]&&(l[a[e]]=t.push(a)),t)),[])},R=()=>{if(P.labelSelectedEdit=$.value,"object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((t=>{var e;let l=(null==(e=P.labelConfig[t])?void 0:e.itemList)||[];l.length&&l.forEach((t=>{q.value.includes(t.labelId)&&(t.isSelect=!0)}))}))}},z=(t,e)=>{if(!t)return;let l=Object.keys(t)||[];if(!l.length)return;let a=t[l[0]].curKey;if(e&&"string"==typeof e){let[i]=e.split("~"),n=l.find((e=>t[e]&&t[e].curKey&&t[e].curKey.includes(i)));n&&(a=t[n].curKey)}a&&Y(a)},G=(t,e)=>{e.showAdd=!0;const l=t.target.nextElementSibling;C((()=>{var t;null==(t=null==l?void 0:l.firstChild)||t.focus()}))},H=(t,e)=>{setTimeout((()=>{e.addVal?Q(e):e.showAdd=!1}),150)},M=(t,e)=>{e.addVal="",e.showAdd=!1},Q=async t=>{var e;if(!!t.itemList.filter((t=>!(t.isPublic&&1==t.isPublic))).find((e=>e.labelName===t.addVal)))return F.error("标签名称重复!"),!1;let l="";l=(null==(e=t.itemList)?void 0:e.length)?t.itemList[0].parentColor||t.parentColor||"":(null==t?void 0:t.parentColor)||"";const a={type:t.typeId,name:t.addVal,parentColor:l},{status:i}=await D.saveLabelItem(a,t);i&&(F.success("添加成功!"),B("updateLabelData"),t.showAdd=!1)},U=(t,e,l,a)=>{var i;const n=l.itemList,s=l.multipleChoice;let r=(null==(i=P.labelSelectedEdit)?void 0:i.length)&&A.clone(P.labelSelectedEdit,!0)||[];if(t){if(r.some((t=>t.labelId==e.labelId)))return;if(2==s){const{typeId:t,labelId:l}=e;r=r.filter((e=>e.typeId!==t)),n.forEach((t=>{t.labelId!==l&&(t.isSelect=!1)}))}r.push(e)}else{const t=r.findIndex((t=>t.labelId==e.labelId));-1!=t&&r.splice(t,1)}P.labelSelectedEdit=[...r],N.value++,D.explicit&&B("explicitOnChange",[...P.labelSelectedEdit])},X=async t=>{const{status:e}=await D.deleteLabel(t,D.item);if(e){F.success("删除成功!");for(const e in P.labelConfig){const l=P.labelConfig[e].itemList.findIndex((e=>e.labelId==t.labelId));-1!=l&&P.labelConfig[e].itemList.splice(l,1)}const e=P.labelSelectedEdit||[],l=D.labelSelectedList||[];if(e&&e.length){const l=e.findIndex((e=>e.labelId==t.labelId));-1!=l&&e.splice(l,1)}if(l&&l.length){const e=l.findIndex((e=>e.labelId==t.labelId));-1!=e&&l.splice(e,1),B("change",[...l],D.item)}B("updateLabelData")}else F.warning("删除失败")},Y=t=>{t&&setTimeout((()=>{let e,l="#"+t;e=V.value.querySelector("a[href='"+l+"']"),e&&e.click(),P.labelAnchorKey=t}),32)},Z=t=>{t.preventDefault()},tt=t=>{if(!t)return;let e=t.slice(1);P.cacheAnchorKey=e},et=()=>{var t;return null==(t=V.value)?void 0:t.querySelector(".right-label-wrap")};return i((()=>D.labelOptions),(t=>{t&&(()=>{var t;if(D.isLock)return;const e=JSON.parse(JSON.stringify(D.labelOptions));for(let l in e){let a=(null==(t=e[l])?void 0:t.typeId)||"";Object.assign(e[l],{curKey:`${l}_${a}}`})}P.labelConfig=e,C((()=>{let t;R(),D.explicit&&P.inited&&(t=P.labelAnchorKey),z(P.labelConfig,t),P.inited=!0}))})()}),{immediate:!0,deep:!0}),x({resetShowAdd:()=>{let{labelObj:t}=P.editLabelItem;if(t&&Object.keys(t).length)for(let e in t){let l=t[e];Object.assign(l,{showAdd:!1})}},handleLabelForm:t=>{t([...P.labelSelectedEdit||[]])},handleResetOptions:()=>{},hanldeSetLabelItem:(t,e)=>{if("object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((l=>{var a;let i=(null==(a=P.labelConfig[l])?void 0:a.itemList)||[];i.length&&i.forEach((l=>{t==l.labelId&&(l.isSelect=e)}))}))}if(!1===e&&Array.isArray(P.labelSelectedEdit)){const e=P.labelSelectedEdit.findIndex((e=>e.labelId==t));-1!=e&&P.labelSelectedEdit.splice(e,1)}}}),(e,l)=>(n(),s("div",{class:"c-label-form-content",ref_key:"labelFormContent",ref:V},[r(W)?(n(),s("div",O,j)):d("v-if",!0),o(c("div",K,[c("div",k,[d(" 表单内嵌打开标签组件的样式 "),d(' <div v-if="explicit" class="explicit-continer">\r\n\t\t\t\t\t<n-tabs :value="state.labelAnchorKey" type="card" @change="labelAnchorTabsOnChange" tab-position="top">\r\n\t\t\t\t\t\t<template v-for="(v, i) in state.labelConfig">\r\n\t\t\t\t\t\t\t<n-tab-pane :name="v.curKey">\r\n\t\t\t\t\t\t\t\t<span slot="tab">\r\n\t\t\t\t\t\t\t\t\t{{ i }}\r\n\t\t\t\t\t\t\t\t\t<span class="edit-label-type">({{ v.multipleChoice == 2 ? \'单\' : \'多\' }}选)</span>\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t<div class="explicit-label-wrap left-label-wrap">\r\n\t\t\t\t\t\t\t\t\t<div class="edit-label-content">\r\n\t\t\t\t\t\t\t\t\t\t<labelClassify\r\n\t\t\t\t\t\t\t\t\t\t\t:classifyItem="v"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelChange="handleLabelChange"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelColor="handleLabelColor"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleDelLabel="handleDelLabel"\r\n\t\t\t\t\t\t\t\t\t\t\t:hanldeBlur="hanldeBlur"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleAddLabel="handleAddLabel"\r\n\t\t\t\t\t\t\t\t\t\t\t:clearaddVal="clearaddVal"\r\n\t\t\t\t\t\t\t\t\t\t\t:isEdit="isEdit"\r\n\t\t\t\t\t\t\t\t\t\t\t:sourceType="sourceType"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</n-tab-pane>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</n-tabs>\r\n\t\t\t\t</div> '),d("\r\n\t\t\t\t\t普通标签样式\r\n\t\t\t\t\tv-else\r\n\t\t\t\t\texplicit\r\n\t\t\t\t "),c("div",{class:b(["left-label-wrap",{"total-left-label-wrap":t.isChangeWindow}])},[u(r(I),{"offset-target":et,type:"block",onClick:Z,onChange:tt},{default:p((()=>[(n(!0),s(f,null,h(P.labelConfig,((t,e)=>(n(),y(r(S),{href:`#${t.curKey}`,title:String(e)},null,8,["href","title"])))),256))])),_:1})],2),d(' v-if="!explicit" '),c("div",{class:b(["right-label-wrap",{"total-right-label-wrap":t.isChangeWindow}])},[(n(!0),s(f,null,h(P.labelConfig,((e,l)=>(n(),s("div",{key:l,class:"edit-label-content"},[c("div",{class:"edit-label",id:e.curKey},[v(m(l)+" ",1),c("span",_,"("+m(2==e.multipleChoice?"单":"多")+"选)",1)],8,T),u(E,{classifyItem:e,handleLabelChange:U,handleLabelColor:r(w),handleDelLabel:X,hanldeBlur:H,handleAddLabel:G,clearaddVal:M,isEdit:t.isEdit,sourceType:t.sourceType},null,8,["classifyItem","handleLabelColor","isEdit","sourceType"])])))),128))],2)])],512),[[g,!r(W)]])],512))}}),[["__file","LabelFormContent.vue"]]);export{B as default};
1
+ import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as s,unref as d,createCommentVNode as o,withDirectives as r,createElementVNode as c,normalizeClass as b,createVNode as u,withCtx as p,Fragment as f,renderList as h,createBlock as y,createTextVNode as v,toDisplayString as m,vShow as g,nextTick as C}from"vue";import{useMessage as L,NAnchor as I,NAnchorLink as S}from"naive-ui";import E from"./components/label-classify.vue.js";import{handleLabelColor as w}from"../../../shared/utils/vexutils.js";import x from"../../../_virtual/plugin-vue_export-helper.js";import A from"../../../shared/utils/vexutilsExpand.js";const O={key:0,class:"label-disable-wrap"},j=[c("p",{class:"label-disable-title"},"无可选标签",-1),c("p",{class:"label-disable-desc"},"请联系管理员进行标签管理设置",-1)],K={style:{height:"100%"}},k={class:"label-wrap"},T=["id"],_={class:"edit-label-type"};var B=x(t({__name:"LabelFormContent",props:{item:{default:()=>({})},isEdit:{type:Boolean,default:!0},isLock:{type:Boolean,default:!1},labelSelectedList:null,isChangeWindow:{type:Boolean},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},labelOptions:null,sourceType:{default:""},explicit:{type:Boolean,default:!1}},emits:["explicitOnChange","change","updateLabelData"],setup(t,{expose:x,emit:B}){const D=t,F=L(),V=e(null),P=l({editLabelItem:{},inited:!1,labelSelectedEdit:[],labelAnchorKey:"",cacheAnchorKey:"",labelConfig:{}});let N=e(0);const W=a((()=>{if(!P.inited)return!1;let t=P.labelConfig;return!t||Object.keys(t).every((e=>!t[e].itemList))})),$=a((()=>{let t=[].concat(...P.labelSelectedEdit,...D.labelSelectedList);return J(t,"labelId")})),q=a((()=>{const t=$.value||[];return Array.isArray(t)?t.map((t=>t.labelId)):[]})),J=(t,e)=>{let l={};return t.reduce(((t,a)=>(!l[a[e]]&&(l[a[e]]=t.push(a)),t)),[])},R=()=>{if(P.labelSelectedEdit=$.value,"object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((t=>{var e;let l=(null==(e=P.labelConfig[t])?void 0:e.itemList)||[];l.length&&l.forEach((t=>{q.value.includes(t.labelId)&&(t.isSelect=!0)}))}))}},z=(t,e)=>{if(!t)return;let l=Object.keys(t)||[];if(!l.length)return;let a=t[l[0]].curKey;if(e&&"string"==typeof e){let[i]=e.split("~"),n=l.find((e=>t[e]&&t[e].curKey&&t[e].curKey.includes(i)));n&&(a=t[n].curKey)}a&&Y(a)},G=(t,e)=>{e.showAdd=!0;const l=t.target.nextElementSibling;C((()=>{var t;null==(t=null==l?void 0:l.firstChild)||t.focus()}))},H=(t,e)=>{setTimeout((()=>{e.addVal?Q(e):e.showAdd=!1}),150)},M=(t,e)=>{e.addVal="",e.showAdd=!1},Q=async t=>{var e;if(!!t.itemList.filter((t=>!(t.isPublic&&1==t.isPublic))).find((e=>e.labelName===t.addVal)))return F.error("标签名称重复!"),!1;let l="";l=(null==(e=t.itemList)?void 0:e.length)?t.itemList[0].parentColor||t.parentColor||"":(null==t?void 0:t.parentColor)||"";const a={type:t.typeId,name:t.addVal,parentColor:l},{status:i}=await D.saveLabelItem(a,t);i&&(F.success("添加成功!"),B("updateLabelData"),t.showAdd=!1)},U=(t,e,l,a)=>{var i;const n=l.itemList,s=l.multipleChoice;let d=(null==(i=P.labelSelectedEdit)?void 0:i.length)&&A.clone(P.labelSelectedEdit,!0)||[];if(t){if(d.some((t=>t.labelId==e.labelId)))return;if(2==s){const{typeId:t,labelId:l}=e;d=d.filter((e=>e.typeId!==t)),n.forEach((t=>{t.labelId!==l&&(t.isSelect=!1)}))}d.push(e)}else{const t=d.findIndex((t=>t.labelId==e.labelId));-1!=t&&d.splice(t,1)}P.labelSelectedEdit=[...d],N.value++,D.explicit&&B("explicitOnChange",[...P.labelSelectedEdit])},X=async t=>{const{status:e}=await D.deleteLabel(t,D.item);if(e){F.success("删除成功!");for(const e in P.labelConfig){const l=P.labelConfig[e].itemList.findIndex((e=>e.labelId==t.labelId));-1!=l&&P.labelConfig[e].itemList.splice(l,1)}const e=P.labelSelectedEdit||[],l=D.labelSelectedList||[];if(e&&e.length){const l=e.findIndex((e=>e.labelId==t.labelId));-1!=l&&e.splice(l,1)}if(l&&l.length){const e=l.findIndex((e=>e.labelId==t.labelId));-1!=e&&l.splice(e,1),B("change",[...l],D.item)}B("updateLabelData")}else F.warning("删除失败")},Y=t=>{t&&setTimeout((()=>{let e,l="#"+t;e=V.value.querySelector("a[href='"+l+"']"),e&&e.click(),P.labelAnchorKey=t}),32)},Z=t=>{t.preventDefault()},tt=t=>{if(!t)return;let e=t.slice(1);P.cacheAnchorKey=e},et=()=>{var t;return null==(t=V.value)?void 0:t.querySelector(".right-label-wrap")};return i((()=>D.labelOptions),(t=>{t&&(()=>{var t;if(D.isLock)return;const e=JSON.parse(JSON.stringify(D.labelOptions));for(let l in e){let a=(null==(t=e[l])?void 0:t.typeId)||"";Object.assign(e[l],{curKey:`${l}_${a}}`})}P.labelConfig=e,C((()=>{let t;R(),D.explicit&&P.inited&&(t=P.labelAnchorKey),z(P.labelConfig,t),P.inited=!0}))})()}),{immediate:!0,deep:!0}),x({resetShowAdd:()=>{let{labelObj:t}=P.editLabelItem;if(t&&Object.keys(t).length)for(let e in t){let l=t[e];Object.assign(l,{showAdd:!1})}},handleLabelForm:t=>{t([...P.labelSelectedEdit||[]])},handleResetOptions:()=>{},hanldeSetLabelItem:(t,e)=>{if("object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((l=>{var a;let i=(null==(a=P.labelConfig[l])?void 0:a.itemList)||[];i.length&&i.forEach((l=>{t==l.labelId&&(l.isSelect=e)}))}))}if(!1===e&&Array.isArray(P.labelSelectedEdit)){const e=P.labelSelectedEdit.findIndex((e=>e.labelId==t));-1!=e&&P.labelSelectedEdit.splice(e,1)}}}),(e,l)=>(n(),s("div",{class:"c-label-form-content",ref_key:"labelFormContent",ref:V},[d(W)?(n(),s("div",O,j)):o("v-if",!0),r(c("div",K,[c("div",k,[o(" 表单内嵌打开标签组件的样式 "),o(' <div v-if="explicit" class="explicit-continer">\n\t\t\t\t\t<n-tabs :value="state.labelAnchorKey" type="card" @change="labelAnchorTabsOnChange" tab-position="top">\n\t\t\t\t\t\t<template v-for="(v, i) in state.labelConfig">\n\t\t\t\t\t\t\t<n-tab-pane :name="v.curKey">\n\t\t\t\t\t\t\t\t<span slot="tab">\n\t\t\t\t\t\t\t\t\t{{ i }}\n\t\t\t\t\t\t\t\t\t<span class="edit-label-type">({{ v.multipleChoice == 2 ? \'单\' : \'多\' }}选)</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div class="explicit-label-wrap left-label-wrap">\n\t\t\t\t\t\t\t\t\t<div class="edit-label-content">\n\t\t\t\t\t\t\t\t\t\t<labelClassify\n\t\t\t\t\t\t\t\t\t\t\t:classifyItem="v"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelChange="handleLabelChange"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelColor="handleLabelColor"\n\t\t\t\t\t\t\t\t\t\t\t:handleDelLabel="handleDelLabel"\n\t\t\t\t\t\t\t\t\t\t\t:hanldeBlur="hanldeBlur"\n\t\t\t\t\t\t\t\t\t\t\t:handleAddLabel="handleAddLabel"\n\t\t\t\t\t\t\t\t\t\t\t:clearaddVal="clearaddVal"\n\t\t\t\t\t\t\t\t\t\t\t:isEdit="isEdit"\n\t\t\t\t\t\t\t\t\t\t\t:sourceType="sourceType"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</n-tab-pane>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</n-tabs>\n\t\t\t\t</div> '),o("\n\t\t\t\t\t普通标签样式\n\t\t\t\t\tv-else\n\t\t\t\t\texplicit\n\t\t\t\t "),c("div",{class:b(["left-label-wrap",{"total-left-label-wrap":t.isChangeWindow}])},[u(d(I),{"offset-target":et,type:"block",onClick:Z,onChange:tt},{default:p((()=>[(n(!0),s(f,null,h(P.labelConfig,((t,e)=>(n(),y(d(S),{href:`#${t.curKey}`,title:String(e)},null,8,["href","title"])))),256))])),_:1})],2),o(' v-if="!explicit" '),c("div",{class:b(["right-label-wrap",{"total-right-label-wrap":t.isChangeWindow}])},[(n(!0),s(f,null,h(P.labelConfig,((e,l)=>(n(),s("div",{key:l,class:"edit-label-content"},[c("div",{class:"edit-label",id:e.curKey},[v(m(l)+" ",1),c("span",_,"("+m(2==e.multipleChoice?"单":"多")+"选)",1)],8,T),u(E,{classifyItem:e,handleLabelChange:U,handleLabelColor:d(w),handleDelLabel:X,hanldeBlur:H,handleAddLabel:G,clearaddVal:M,isEdit:t.isEdit,sourceType:t.sourceType},null,8,["classifyItem","handleLabelColor","isEdit","sourceType"])])))),128))],2)])],512),[[g,!d(W)]])],512))}}),[["__file","LabelFormContent.vue"]]);export{B as default};
@@ -49,6 +49,10 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
49
49
  type: BooleanConstructor;
50
50
  default: boolean;
51
51
  };
52
+ searchInner: {
53
+ type: BooleanConstructor;
54
+ default: boolean;
55
+ };
52
56
  treeSetting: {
53
57
  type: import("vue").PropType<import("naive-ui/es/tree/src/interface").TreeOptionBase & {
54
58
  [k: string]: unknown;
@@ -114,6 +118,10 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
114
118
  type: BooleanConstructor;
115
119
  default: boolean;
116
120
  };
121
+ searchInner: {
122
+ type: BooleanConstructor;
123
+ default: boolean;
124
+ };
117
125
  treeSetting: {
118
126
  type: import("vue").PropType<import("naive-ui/es/tree/src/interface").TreeOptionBase & {
119
127
  [k: string]: unknown;
@@ -463,6 +471,10 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
463
471
  type: BooleanConstructor;
464
472
  default: boolean;
465
473
  };
474
+ searchInner: {
475
+ type: BooleanConstructor;
476
+ default: boolean;
477
+ };
466
478
  treeSetting: {
467
479
  type: import("vue").PropType<import("naive-ui/es/tree/src/interface").TreeOptionBase & {
468
480
  [k: string]: unknown;
@@ -503,6 +515,7 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
503
515
  showCount: boolean;
504
516
  showClear: boolean;
505
517
  multiple: boolean;
518
+ searchInner: boolean;
506
519
  treeSetting: import("naive-ui/es/tree/src/interface").TreeOptionBase & {
507
520
  [k: string]: unknown;
508
521
  } & import("../../../es/shared/types").AnyObject;
@@ -95,12 +95,6 @@ declare const _default: import("vue").DefineComponent<{
95
95
  };
96
96
  readonly 'onUpdate:value': PropType<import("naive-ui/es/_utils").MaybeArray<(value: (string | number)[], meta: {
97
97
  actionType: "check" | "uncheck";
98
- /**
99
- * 取消勾选树节点
100
- * baseKeys:基准值
101
- * currentTree:当前树节点
102
- * value:树节点的key值
103
- */
104
98
  value: string | number;
105
99
  }) => void>>;
106
100
  readonly onUpdateValue: PropType<import("naive-ui/es/_utils").MaybeArray<(value: (string | number)[], meta: {
@@ -54,6 +54,10 @@ declare const _default: import("vue").DefineComponent<{
54
54
  type: BooleanConstructor;
55
55
  default: boolean;
56
56
  };
57
+ searchInner: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
57
61
  treeSetting: {
58
62
  type: PropType<ITreeOption>;
59
63
  default: () => {};
@@ -104,6 +108,10 @@ declare const _default: import("vue").DefineComponent<{
104
108
  type: BooleanConstructor;
105
109
  default: boolean;
106
110
  };
111
+ searchInner: {
112
+ type: BooleanConstructor;
113
+ default: boolean;
114
+ };
107
115
  treeSetting: {
108
116
  type: PropType<ITreeOption>;
109
117
  default: () => {};
@@ -426,6 +434,10 @@ declare const _default: import("vue").DefineComponent<{
426
434
  type: BooleanConstructor;
427
435
  default: boolean;
428
436
  };
437
+ searchInner: {
438
+ type: BooleanConstructor;
439
+ default: boolean;
440
+ };
429
441
  treeSetting: {
430
442
  type: PropType<ITreeOption>;
431
443
  default: () => {};
@@ -451,6 +463,7 @@ declare const _default: import("vue").DefineComponent<{
451
463
  showCount: boolean;
452
464
  showClear: boolean;
453
465
  multiple: boolean;
466
+ searchInner: boolean;
454
467
  treeSetting: ITreeOption;
455
468
  queryLoadChildData: (node: TreeOption) => Promise<AnyObject>;
456
469
  queryTreeSearch: (keyWork: string) => Promise<Array<AnyObject>>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,computed as t,watch as a,openBlock as n,createBlock as u,unref as i,withCtx as o,createVNode as r,withKeys as c,createTextVNode as d,toDisplayString as s,withDirectives as v,vShow as h,createCommentVNode as p,mergeProps as f,createElementBlock as y,createElementVNode as k,Fragment as m,renderList as g}from"vue";import{NGrid as b,NGi as _,NSpace as w,NInputGroup as C,NInput as x,NButton as L,NCheckbox as S,NTree as j,NIcon as T,NTooltip as N}from"naive-ui";import{CloseCircleSharp as $}from"@vicons/ionicons5";import{filterTree as I,getExpandedKeys as D}from"./utils/index.js";import{cloneDeep as q}from"lodash-es";import B from"./SearchMultiple.vue.js";const K={key:0},P={class:"c-select-person__scroll",style:{height:"342px"}};var U=e({__name:"SelectPerson",props:{defaultList:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},searchPlaceholder:{type:String,default:"输入关键字搜索"},searchButtonText:{type:String,default:"搜索"},wordbook:{type:Object,default:()=>({})},wordbookChild:{type:Object,default:()=>({})},showCount:{type:Boolean,default:!0},showClear:{type:Boolean,default:!0},multiple:{type:Boolean,default:!0},treeSetting:{type:Object,default:()=>({})},queryLoadChildData:{type:Function,default:void 0},queryTreeSearch:{type:Function,default:()=>Promise.resolve([])}},emits:["check","checkWithLevel"],setup(e,{emit:U}){const E=e,O=l(""),A=l(!1),F=l([]),W=l([]),M=l([]),R=l([]),z=l([]),G=l(!1),H=q(((J=E.data).forEach((e=>{var l;if(null==(l=e.children)?void 0:l.length){const l=ne(e.children,[]);e.innerItemsNum=l.length}})),ue(J,"")));var J;let Q=[];const V=t((()=>!!E.queryLoadChildData)),X=t((()=>{var e,l;return null!=(l=null==(e=null==E?void 0:E.treeSetting)?void 0:e.checkStrategy)?l:"child"}));function Y(e){e.disabled||e.children||!e.key||Q.push(e.key)}function Z(e){e.disabled||e.tempTitle||!e.key||Q.push(e.key)}async function ee(e){if(E.queryLoadChildData){const l=await E.queryLoadChildData(e);return l.children&&(l.children=l.children.map((e=>({...e,tempTitle:l.tempTitle?`${l.title}/${l.tempTitle}`:l.title})))),l}return e}function le(e){var l;(null==(l=e.children)?void 0:l.every((e=>e.disabled)))&&(e.disabled=!0)}function te({option:e}){var l;if((null==(l=e.children)?void 0:l.length)||V.value&&!(null==e?void 0:e.isLeaf)){const l=E.wordbook.user_count_obj&&e[E.wordbook.user_count_obj]||"",t=l?`(${l})`:"";return r("span",null,[`${e.title}${t}`])}return r(N,{trigger:"hover"},{default:()=>r("span",null,[e.title]),trigger:()=>r("span",null,[e.title])})}function ae(e){return e[E.wordbookChild.user_name_obj]||e[E.wordbook.parent_name_obj]||e.orgName||e.title||""}function ne(e,l){return e.forEach((e=>{var t;(null==(t=e.children)?void 0:t.length)?ne(e.children,l):l.push(e)})),l}function ue(e,l){return e&&0!==e.length?e.map((e=>{var t;const a=ae(e),n=l?`${a}/${l}`:a;return{...e,tempTitle:l,children:(null==(t=e.children)?void 0:t.length)?ue(null==e?void 0:e.children,n):[]}})):[]}async function ie(){G.value=!!O.value.trim(),V.value?M.value=await E.queryTreeSearch(O.value):M.value=I(H,O.value),W.value=M.value.length&&O.value?D(M.value):[]}function oe(){setTimeout((()=>{ie()}))}function re(e,l){var t,a;switch(null!=(a=null==(t=null==E?void 0:E.treeSetting)?void 0:t.checkStrategy)?a:"child"){case"child":!function(e,l){for(let t=0,a=e.length;t<a;t++){const a=e[t];if(!a.disabled&&(!a.children||a.isLeaf)&&(l&&!F.value.includes(a.key)&&F.value.push(a.key),!l)){const e=F.value.findIndex((e=>e===a.key));F.value.splice(e,1)}a.children&&re(a.children,l)}}(e,l);break;case"parent":!function(e,l){F.value=[];for(let t=0,a=e.length;t<a;t++){const a=e[t];if(!a.disabled&&!a.tempTitle&&(l&&!F.value.includes(a.key)&&F.value.push(a.key),!l)){const e=F.value.findIndex((e=>e===a.key));F.value.splice(e,1)}}}(e,l)}}function ce(e){re(M.value,e)}function de(e){var l;for(let t=0,a=e.length;t<a;t++){const a=e[t],n=z.value.map((e=>e.key));F.value.includes(a.key)&&!n.includes(a.key)&&R.value.push({key:a.key,name:a.title,parentName:a.tempTitle,innerItemsNum:a.innerItemsNum}),(null==(l=a.children)?void 0:l.length)&&de(a.children)}}function se(e){F.value=e}function ve(){F.value=[]}function he(e){F.value=e}return function e(l,t){var a,n,u,i;for(let o=0,r=l.length;o<r;o++){const r=l[o];switch(r.title=ae(r),r.parentNode=t,r.key||(r.key=r[E.wordbookChild.user_id_obj]||r[E.wordbook.parent_id_obj]||Date.now()),(null==(a=r.children)?void 0:a.length)?(e(r.children,r),le(r)):0===(null==(n=r.children)?void 0:n.length)&&Reflect.deleteProperty(r,"children"),null!=(i=null==(u=null==E?void 0:E.treeSetting)?void 0:u.checkStrategy)?i:"child"){case"child":Y(r);break;case"parent":Z(r)}}}(H,null),M.value=H,E.defaultList.length>0&&(V.value?(E.defaultList.forEach((e=>F.value.push(e.key))),R.value=q(E.defaultList),z.value=q(E.defaultList)):(E.defaultList.forEach((e=>F.value.push(e))),de(H))),a((()=>F),(e=>{R.value=z.value.filter((l=>e.value.includes(l.key))),e.value.length&&de(V.value?M.value:H),A.value=Q.every((e=>R.value.findIndex((l=>l.key===e))>-1));const l=R.value.filter((l=>e.value.includes(l.key)));U("check",e.value),U("checkWithLevel",l)}),{deep:!0}),(l,t)=>(n(),u(i(b),{cols:2,class:"c-select-person"},{default:o((()=>[r(i(_),null,{default:o((()=>[r(i(w),{vertical:"",style:{"padding-right":"12px","border-right":"1px solid #e8e8e8"}},{default:o((()=>[r(i(C),{style:{"margin-bottom":"12px"}},{default:o((()=>[r(i(x),{clearable:"",value:O.value,"onUpdate:value":t[0]||(t[0]=e=>O.value=e),placeholder:e.searchPlaceholder,onClear:oe,onKeyup:c(ie,["enter"])},null,8,["value","placeholder","onKeyup"]),r(i(L),{type:"primary",onClick:ie},{default:o((()=>[d(s(e.searchButtonText),1)])),_:1})])),_:1}),e.multiple&&!G.value?v((n(),u(i(S),{key:0,checked:A.value,"onUpdate:checked":[t[1]||(t[1]=e=>A.value=e),ce]},{default:o((()=>[d(" 全选 ")])),_:1},8,["checked"])),[[h,i(Q).length<1e3]]):p("v-if",!0),e.multiple&&G.value&&"parent"===i(X)?(n(),u(B,{key:1,treeData:M.value,checkedKeys:F.value,onNotifyCheck:he},null,8,["treeData","checkedKeys"])):(n(),u(i(j),f({key:2,"virtual-scroll":"",class:"c-select-person__scroll","checked-keys":F.value,"expanded-keys":W.value,"onUpdate:expanded-keys":t[2]||(t[2]=e=>W.value=e),checkable:e.multiple,cascade:"","allow-checking-not-loaded":"",selectable:!e.multiple,"selected-keys":F.value,"onUpdate:selected-keys":t[3]||(t[3]=e=>F.value=e),data:M.value,"check-strategy":"child","render-label":te},e.treeSetting,{"onUpdate:checkedKeys":se,onLoad:ee}),null,16,["checked-keys","expanded-keys","checkable","selectable","selected-keys","data"]))])),_:1})])),_:1}),r(i(_),null,{default:o((()=>[r(i(w),{vertical:"",style:{"padding-left":"12px"}},{default:o((()=>[r(i(w),{justify:"space-between",style:{"margin-bottom":"20px"}},{default:o((()=>[e.showCount?(n(),y("span",K,"已选择:"+s(R.value.length),1)):p("v-if",!0),e.showClear?(n(),y("span",{key:1,class:"c-select-person__clear-btn",onClick:ve},"清空")):p("v-if",!0)])),_:1}),k("div",P,[(n(!0),y(m,null,g(R.value,(e=>(n(),y("span",{class:"c-select-person__tag-item",key:e.key},[d(s(e.name)+" "+s(e.parentName?`(${e.parentName})`:e.innerItemsNum?`(${e.innerItemsNum})`:"")+" ",1),r(i(T),{class:"tag-close",component:i($),onClick:l=>function(e){F.value=F.value.filter((l=>l!==e.key))}(e)},null,8,["component","onClick"])])))),128))])])),_:1})])),_:1})])),_:1}))}});export{U as default};
1
+ import{defineComponent as e,ref as l,computed as t,watch as a,openBlock as n,createBlock as u,unref as i,withCtx as r,createVNode as c,withKeys as o,createTextVNode as d,toDisplayString as s,withDirectives as h,vShow as v,createCommentVNode as p,mergeProps as f,createElementBlock as y,createElementVNode as k,Fragment as m,renderList as g}from"vue";import{NGrid as b,NGi as _,NSpace as w,NInputGroup as C,NInput as x,NButton as L,NCheckbox as S,NTree as j,NIcon as T,NTooltip as I}from"naive-ui";import{CloseCircleSharp as N}from"@vicons/ionicons5";import{filterTree as $,getExpandedKeys as D}from"./utils/index.js";import{cloneDeep as q}from"lodash-es";import B from"./SearchMultiple.vue.js";const K={key:0},P={class:"c-select-person__scroll",style:{height:"342px"}};var U=e({__name:"SelectPerson",props:{defaultList:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},searchPlaceholder:{type:String,default:"输入关键字搜索"},searchButtonText:{type:String,default:"搜索"},wordbook:{type:Object,default:()=>({})},wordbookChild:{type:Object,default:()=>({})},showCount:{type:Boolean,default:!0},showClear:{type:Boolean,default:!0},multiple:{type:Boolean,default:!0},searchInner:{type:Boolean,default:!1},treeSetting:{type:Object,default:()=>({})},queryLoadChildData:{type:Function,default:void 0},queryTreeSearch:{type:Function,default:()=>Promise.resolve([])}},emits:["check","checkWithLevel"],setup(e,{emit:U}){const E=e,O=l(""),A=l(!1),F=l([]),W=l([]),M=l([]),R=l([]),z=l([]),G=l(!1),H=q(((J=E.data).forEach((e=>{var l;if(null==(l=e.children)?void 0:l.length){const l=ne(e.children,[]);e.innerItemsNum=l.length}})),ue(J,"")));var J;let Q=[];const V=t((()=>!!E.queryLoadChildData)),X=t((()=>{var e,l;return null!=(l=null==(e=null==E?void 0:E.treeSetting)?void 0:e.checkStrategy)?l:"child"}));function Y(e){e.disabled||e.children||!e.key||Q.push(e.key)}function Z(e){e.disabled||e.tempTitle||!e.key||Q.push(e.key)}async function ee(e){if(E.queryLoadChildData){const l=await E.queryLoadChildData(e);return l.children&&(l.children=l.children.map((e=>({...e,tempTitle:l.tempTitle?`${l.title}/${l.tempTitle}`:l.title})))),l}return e}function le(e){var l;(null==(l=e.children)?void 0:l.every((e=>e.disabled)))&&(e.disabled=!0)}function te({option:e}){var l;if((null==(l=e.children)?void 0:l.length)||V.value&&!(null==e?void 0:e.isLeaf)){const l=E.wordbook.user_count_obj&&e[E.wordbook.user_count_obj]||"",t=l?`(${l})`:"";return c("span",null,[`${e.title}${t}`])}return c(I,{trigger:"hover"},{default:()=>c("span",null,[e.title]),trigger:()=>c("span",null,[e.title])})}function ae(e){return e[E.wordbookChild.user_name_obj]||e[E.wordbook.parent_name_obj]||e.orgName||e.title||""}function ne(e,l){return e.forEach((e=>{var t;(null==(t=e.children)?void 0:t.length)?ne(e.children,l):l.push(e)})),l}function ue(e,l){return e&&0!==e.length?e.map((e=>{var t;const a=ae(e),n=l?`${a}/${l}`:a;return{...e,tempTitle:l,children:(null==(t=e.children)?void 0:t.length)?ue(null==e?void 0:e.children,n):[]}})):[]}async function ie(){G.value=!!O.value.trim(),V.value?M.value=await E.queryTreeSearch(O.value):M.value=$(E.searchInner,H,O.value),W.value=M.value.length&&O.value?D(M.value):[]}function re(){setTimeout((()=>{ie()}))}function ce(e,l){var t,a;switch(null!=(a=null==(t=null==E?void 0:E.treeSetting)?void 0:t.checkStrategy)?a:"child"){case"child":!function(e,l){for(let t=0,a=e.length;t<a;t++){const a=e[t];if(!a.disabled&&(!a.children||a.isLeaf)&&(l&&!F.value.includes(a.key)&&F.value.push(a.key),!l)){const e=F.value.findIndex((e=>e===a.key));F.value.splice(e,1)}a.children&&ce(a.children,l)}}(e,l);break;case"parent":!function(e,l){F.value=[];for(let t=0,a=e.length;t<a;t++){const a=e[t];if(!a.disabled&&!a.tempTitle&&(l&&!F.value.includes(a.key)&&F.value.push(a.key),!l)){const e=F.value.findIndex((e=>e===a.key));F.value.splice(e,1)}}}(e,l)}}function oe(e){ce(M.value,e)}function de(e){var l;for(let t=0,a=e.length;t<a;t++){const a=e[t],n=z.value.map((e=>e.key));F.value.includes(a.key)&&!n.includes(a.key)&&R.value.push({key:a.key,name:a.title,parentName:a.tempTitle,innerItemsNum:a.innerItemsNum}),(null==(l=a.children)?void 0:l.length)&&de(a.children)}}function se(e){F.value=e}function he(){F.value=[]}function ve(e){F.value=e}return function e(l,t){var a,n,u,i;for(let r=0,c=l.length;r<c;r++){const c=l[r];switch(c.title=ae(c),c.parentNode=t,c.key||(c.key=c[E.wordbookChild.user_id_obj]||c[E.wordbook.parent_id_obj]||Date.now()),(null==(a=c.children)?void 0:a.length)?(e(c.children,c),le(c)):0===(null==(n=c.children)?void 0:n.length)&&Reflect.deleteProperty(c,"children"),null!=(i=null==(u=null==E?void 0:E.treeSetting)?void 0:u.checkStrategy)?i:"child"){case"child":Y(c);break;case"parent":Z(c)}}}(H,null),M.value=H,E.defaultList.length>0&&(V.value?(E.defaultList.forEach((e=>F.value.push(e.key))),R.value=q(E.defaultList),z.value=q(E.defaultList)):(E.defaultList.forEach((e=>F.value.push(e))),de(H))),a((()=>F),(e=>{R.value=z.value.filter((l=>e.value.includes(l.key))),e.value.length&&de(V.value?M.value:H),A.value=Q.every((e=>R.value.findIndex((l=>l.key===e))>-1));const l=R.value.filter((l=>e.value.includes(l.key)));U("check",e.value),U("checkWithLevel",l)}),{deep:!0}),(l,t)=>(n(),u(i(b),{cols:2,class:"c-select-person"},{default:r((()=>[c(i(_),null,{default:r((()=>[c(i(w),{vertical:"",style:{"padding-right":"12px","border-right":"1px solid #e8e8e8"}},{default:r((()=>[c(i(C),{style:{"margin-bottom":"12px"}},{default:r((()=>[c(i(x),{clearable:"",value:O.value,"onUpdate:value":t[0]||(t[0]=e=>O.value=e),placeholder:e.searchPlaceholder,onClear:re,onKeyup:o(ie,["enter"])},null,8,["value","placeholder","onKeyup"]),c(i(L),{type:"primary",onClick:ie},{default:r((()=>[d(s(e.searchButtonText),1)])),_:1})])),_:1}),e.multiple&&!G.value?h((n(),u(i(S),{key:0,checked:A.value,"onUpdate:checked":[t[1]||(t[1]=e=>A.value=e),oe]},{default:r((()=>[d(" 全选 ")])),_:1},8,["checked"])),[[v,i(Q).length<1e3]]):p("v-if",!0),e.searchInner&&e.multiple&&G.value&&"parent"===i(X)?(n(),u(B,{key:1,treeData:M.value,checkedKeys:F.value,onNotifyCheck:ve},null,8,["treeData","checkedKeys"])):(n(),u(i(j),f({key:2,"virtual-scroll":"",class:"c-select-person__scroll","checked-keys":F.value,"expanded-keys":W.value,"onUpdate:expanded-keys":t[2]||(t[2]=e=>W.value=e),checkable:e.multiple,cascade:"","allow-checking-not-loaded":"",selectable:!e.multiple,"selected-keys":F.value,"onUpdate:selected-keys":t[3]||(t[3]=e=>F.value=e),data:M.value,"check-strategy":"child","render-label":te},e.treeSetting,{"onUpdate:checkedKeys":se,onLoad:ee}),null,16,["checked-keys","expanded-keys","checkable","selectable","selected-keys","data"]))])),_:1})])),_:1}),c(i(_),null,{default:r((()=>[c(i(w),{vertical:"",style:{"padding-left":"12px"}},{default:r((()=>[c(i(w),{justify:"space-between",style:{"margin-bottom":"20px"}},{default:r((()=>[e.showCount?(n(),y("span",K,"已选择:"+s(R.value.length),1)):p("v-if",!0),e.showClear?(n(),y("span",{key:1,class:"c-select-person__clear-btn",onClick:he},"清空")):p("v-if",!0)])),_:1}),k("div",P,[(n(!0),y(m,null,g(R.value,(e=>(n(),y("span",{class:"c-select-person__tag-item",key:e.key},[d(s(e.name)+" "+s(e.parentName?`(${e.parentName})`:e.innerItemsNum?`(${e.innerItemsNum})`:"")+" ",1),c(i(T),{class:"tag-close",component:i(N),onClick:l=>function(e){F.value=F.value.filter((l=>l!==e.key))}(e)},null,8,["component","onClick"])])))),128))])])),_:1})])),_:1})])),_:1}))}});export{U as default};
@@ -1,3 +1,3 @@
1
1
  import { type TreeOption } from 'naive-ui';
2
- export declare function filterTree(data: TreeOption[], keyword: string): TreeOption[];
2
+ export declare function filterTree(isInner: boolean, data: TreeOption[], keyword: string): TreeOption[];
3
3
  export declare function getExpandedKeys(tree: TreeOption[]): (string | number)[];
@@ -1 +1 @@
1
- import{cloneDeep as n}from"lodash-es";function i(i,r){const c=n(i);return r.trim()?function(n,i){return e(n,[]).filter((n=>{var l;return null==(l=n.title)?void 0:l.includes(i.trim())}))}(c,r):(l(c,r),t(c))}function l(n,i){n.forEach((n=>{var e,t;if(n.visible=null==(e=n.title)?void 0:e.includes(i.trim()),null==(t=n.children)?void 0:t.length)if(l(n.children,i),n.visible)r(n.children);else{n.children.some((n=>n.visible))&&(n.visible=!0)}}))}function e(n,i){return n.forEach((n=>{var l;(null==(l=n.children)?void 0:l.length)?e(n.children,i):i.push(n)})),i}function r(n){n.forEach((n=>{var i;n.visible=!0,(null==(i=n.children)?void 0:i.length)&&r(n.children)}))}function t(n){return n.filter((n=>{var i;return!!n.visible&&((null==(i=n.children)?void 0:i.length)&&(n.children=t(n.children)),!0)}))}function c(n){const i=[];return function n(l){for(let e=0,r=l.length;e<r;e++){const r=l[e];r.children&&(i.push(r.key),n(r.children))}}(n),i}export{i as filterTree,c as getExpandedKeys};
1
+ import{cloneDeep as n}from"lodash-es";function i(i,r,c){const o=n(r);return i&&c.trim()?function(n,i){return e(n,[]).filter((n=>{var l;return null==(l=n.title)?void 0:l.includes(i.trim())}))}(o,c):(l(o,c),t(o))}function l(n,i){n.forEach((n=>{var e,t;if(n.visible=null==(e=n.title)?void 0:e.includes(i.trim()),null==(t=n.children)?void 0:t.length)if(l(n.children,i),n.visible)r(n.children);else{n.children.some((n=>n.visible))&&(n.visible=!0)}}))}function e(n,i){return n.forEach((n=>{var l;(null==(l=n.children)?void 0:l.length)?e(n.children,i):i.push(n)})),i}function r(n){n.forEach((n=>{var i;n.visible=!0,(null==(i=n.children)?void 0:i.length)&&r(n.children)}))}function t(n){return n.filter((n=>{var i;return!!n.visible&&((null==(i=n.children)?void 0:i.length)&&(n.children=t(n.children)),!0)}))}function c(n){const i=[];return function n(l){for(let e=0,r=l.length;e<r;e++){const r=l[e];r.children&&(i.push(r.key),n(r.children))}}(n),i}export{i as filterTree,c as getExpandedKeys};
@@ -142,6 +142,20 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
142
142
  remark?: string | undefined;
143
143
  free_entry?: import("..").FormCommonState | undefined;
144
144
  initialize_high?: number | undefined;
145
+ bindEventSetting?: {
146
+ [x: string]: unknown;
147
+ event_type: import("../../../es/shared/types").LOW_CODE_EVENT_TYPE;
148
+ event_field?: string | undefined;
149
+ params?: {
150
+ p_value?: string | undefined;
151
+ p_name: string;
152
+ p_select: import("../../../es/shared/types").LOW_CODE_VALUE_RELATION;
153
+ }[] | undefined;
154
+ results?: {
155
+ p_value: string;
156
+ p_name: string;
157
+ }[] | undefined;
158
+ }[] | undefined;
145
159
  fieldType?: import("@formily/json-schema").SchemaTypes | undefined;
146
160
  content?: string | import("..").FormRenderer | Record<string, import("..").FormRenderer> | undefined;
147
161
  lazyRequest?: boolean | undefined;
@@ -2020,6 +2034,7 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
2020
2034
  observeFormGraph: Record<string, import("@formily/core").GeneralField>;
2021
2035
  setGraph: (field: import("@formily/core").GeneralField) => void;
2022
2036
  removeGraph: (field: import("@formily/core").GeneralField) => void;
2037
+ lowCodeEventTrigger: (field: import("@formily/core").GeneralField) => void;
2023
2038
  formModel: import("@formily/core").Form<{
2024
2039
  [x: string]: any;
2025
2040
  }>;
@@ -144,6 +144,20 @@ declare const _default: import("vue").DefineComponent<{
144
144
  remark?: string | undefined;
145
145
  free_entry?: import("../../../../es/components/form-render").FormCommonState | undefined;
146
146
  initialize_high?: number | undefined;
147
+ bindEventSetting?: {
148
+ [x: string]: unknown;
149
+ event_type: import("../../../../es/shared/types").LOW_CODE_EVENT_TYPE;
150
+ event_field?: string | undefined;
151
+ params?: {
152
+ p_value?: string | undefined;
153
+ p_name: string;
154
+ p_select: import("../../../../es/shared/types").LOW_CODE_VALUE_RELATION;
155
+ }[] | undefined;
156
+ results?: {
157
+ p_value: string;
158
+ p_name: string;
159
+ }[] | undefined;
160
+ }[] | undefined;
147
161
  fieldType?: import("@formily/json-schema").SchemaTypes | undefined;
148
162
  content?: string | import("../../../../es/components/form-render").FormRenderer | Record<string, import("../../../../es/components/form-render").FormRenderer> | undefined;
149
163
  lazyRequest?: boolean | undefined;
@@ -2022,6 +2036,7 @@ declare const _default: import("vue").DefineComponent<{
2022
2036
  observeFormGraph: Record<string, import("../../../../es/components/form-render").GeneralField>;
2023
2037
  setGraph: (field: import("../../../../es/components/form-render").GeneralField) => void;
2024
2038
  removeGraph: (field: import("../../../../es/components/form-render").GeneralField) => void;
2039
+ lowCodeEventTrigger: (field: import("../../../../es/components/form-render").GeneralField) => void;
2025
2040
  formModel: import("../../../../es/components/form-render").Form<{
2026
2041
  [x: string]: any;
2027
2042
  }>;
package/es/env.d.ts CHANGED
@@ -1,25 +1,25 @@
1
- /// <reference types="vite/client" />
2
-
3
- interface ImportMetaEnv {
4
- readonly VITE_APP_TYPE: string;
5
- // 更多环境变量...
6
- }
7
-
8
- interface ImportMeta {
9
- readonly env: ImportMetaEnv;
10
- }
11
-
12
- declare module '*.vue' {
13
- // @ts-ignore
14
- import type { App, defineComponent } from 'vue';
15
- // // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
16
- // // const component: DefineComponent<{}, {}, any>
17
- const component: ReturnType<typeof defineComponent> & {
18
- install(app: App): void;
19
- };
20
- // @ts-ignore
21
- export default component;
22
- }
23
-
24
- declare module '*.js';
25
-
1
+ /// <reference types="vite/client" />
2
+
3
+ interface ImportMetaEnv {
4
+ readonly VITE_APP_TYPE: string;
5
+ // 更多环境变量...
6
+ }
7
+
8
+ interface ImportMeta {
9
+ readonly env: ImportMetaEnv;
10
+ }
11
+
12
+ declare module '*.vue' {
13
+ // @ts-ignore
14
+ import type { App, defineComponent } from 'vue';
15
+ // // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
16
+ // // const component: DefineComponent<{}, {}, any>
17
+ const component: ReturnType<typeof defineComponent> & {
18
+ install(app: App): void;
19
+ };
20
+ // @ts-ignore
21
+ export default component;
22
+ }
23
+
24
+ declare module '*.js';
25
+
@@ -0,0 +1,86 @@
1
+ declare const draggableComponent: import('vue').DefineComponent<
2
+ {
3
+ list: {
4
+ type: ArrayConstructor;
5
+ required: boolean;
6
+ default: any;
7
+ };
8
+ modelValue: {
9
+ type: ArrayConstructor;
10
+ required: boolean;
11
+ default: any;
12
+ };
13
+ itemKey: {
14
+ type: (FunctionConstructor | StringConstructor)[];
15
+ required: boolean;
16
+ };
17
+ clone: {
18
+ type: FunctionConstructor;
19
+ default: (original: any) => any;
20
+ };
21
+ tag: {
22
+ type: StringConstructor;
23
+ default: string;
24
+ };
25
+ move: {
26
+ type: FunctionConstructor;
27
+ default: any;
28
+ };
29
+ componentData: {
30
+ type: ObjectConstructor;
31
+ required: boolean;
32
+ default: any;
33
+ };
34
+ },
35
+ unknown,
36
+ {
37
+ error: boolean;
38
+ },
39
+ {
40
+ realList(): any;
41
+ getKey(): any;
42
+ },
43
+ {
44
+ getUnderlyingVm(domElement: any): any;
45
+ getUnderlyingPotencialDraggableComponent(htmElement: any): any;
46
+ emitChanges(evt: any): void;
47
+ alterList(onList: any): void;
48
+ spliceList(): void;
49
+ updatePosition(oldIndex: any, newIndex: any): void;
50
+ getRelatedContextFromMoveEvent({ to, related }: { to: any; related: any }): any;
51
+ getVmIndexFromDomIndex(domIndex: any): any;
52
+ onDragStart(evt: any): void;
53
+ onDragAdd(evt: any): void;
54
+ onDragRemove(evt: any): void;
55
+ onDragUpdate(evt: any): void;
56
+ computeFutureIndex(relatedContext: any, evt: any): any;
57
+ onDragMove(evt: any, originalEvent: any): any;
58
+ onDragEnd(): void;
59
+ },
60
+ import('vue').ComponentOptionsMixin,
61
+ import('vue').ComponentOptionsMixin,
62
+ any[],
63
+ any,
64
+ import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps,
65
+ Readonly<
66
+ {
67
+ move: Function;
68
+ tag: string;
69
+ clone: Function;
70
+ list: unknown[];
71
+ modelValue: unknown[];
72
+ componentData: Record<string, any>;
73
+ } & {
74
+ itemKey?: string | Function;
75
+ }
76
+ >,
77
+ {
78
+ move: Function;
79
+ tag: string;
80
+ clone: Function;
81
+ list: unknown[];
82
+ modelValue: unknown[];
83
+ componentData: Record<string, any>;
84
+ }
85
+ >;
86
+ export default draggableComponent;
@@ -1 +1 @@
1
- import{computed as e,unref as t}from"vue";import{useDebounceFn as n,useEventListener as l}from"@vueuse/core";import{isValid as i}from"date-fns";function o(o,s,u){const r=n((e=>{!function(e){const t=e.target;if(["INPUT"].includes(t.tagName)){const{selectionStart:e=0,selectionEnd:n=0}=t;e===n&&t.select()}}(e)}),200),c=e((()=>{var e;return null==(e=o.value)?void 0:e.$el})),a=e((()=>{const e={};return["date","time","hour","minute","second"].forEach((t=>function(e,t){const n=`is-${t}-disabled`;u[n]&&(e[n.replace(/-(\w)/g,((e,t)=>t.toUpperCase()))]=u[n])}(e,t))),e}));function d(e,n,l){const i=e.value;if(!i)return;const o=e.selectionEnd||0,u=i.length;let r=0,c=0,a=0,d="",f=0;for(;r<u;){const e=i[r++];if(/\d/.test(e)&&(d+=e),r===o){a=d.length;const e=i.slice(r).match(/^\d+/);f=e?e[0].length:0}}const v=t(s),g=Array.isArray(v)?function(e){var t,n;let l=!1,i=e.parentNode||null;for(;i;){if(null==(n=null==(t=i.classList)?void 0:t.contains)?void 0:n.call(t,"n-time-picker")){l=!0;break}i=i.parentNode||null}return l}(e)?v[1]:v[0]:v;let m="",p=0,h=0;for(r=0;r<g.length&&(l||!(c>=d.length));){const e=g[r++];if(/[yMdHms]/.test(e)?m+=d[c++]||"0":m+=e,n&&c===a){a=-1,p=m.length,h=p;let e=g.slice(r).match(/^[yMdHms]+/);e?(f=Math.min(f,e[0].length),f&&(m+=d.slice(c,c+f),c+=f),r+=e[0].length):(e=g.slice(r).match(/^([^yMdHms]+)([yMdHms]*)/),e&&(p+=e[1].length,h=p+e[2].length))}}const b=m!==i;if(b){e.value=m;const t=new InputEvent("input");e.dispatchEvent(t)}return n&&(p=p||m.length+1,h=h||m.length+1,e.setSelectionRange(p,h)),b}return l(c,"input",(function(e){const t=e.target;if(!t.value||!Reflect.get(t,"_f_"))return;Reflect.set(t,"_f_",0),d(t,!0)&&(e.preventDefault(),e.stopPropagation())}),!0),l(c,"keydown",(function(e){const{key:t,target:n}=e;if(/\d/.test(t)&&n)Reflect.set(n,"_f_",1);else if("Enter"===t){d(n,!1,!0);const e=null==n?void 0:n.value,t=Reflect.get(u,"type")||"";e&&!t.includes("range")&&i(new Date(e))&&!function(e){const{isTimeDisabled:t,isDateDisabled:n,isHourDisabled:l,isMinuteDisabled:i,isSecondDisabled:o}=a.value;if(null==n?void 0:n(e.getTime()))return;const s=(null==t?void 0:t(e.getTime()).isHourDisabled)||l,u=(null==t?void 0:t(e.getTime()).isMinuteDisabled)||i,r=(null==t?void 0:t(e.getTime()).isSecondDisabled)||o;if(null==s?void 0:s(e.getHours()))return;if(null==u?void 0:u(e.getMinutes()))return;if(null==r?void 0:r(e.getMinutes()))return;return!0}(new Date(e))&&(n.value="",n.dispatchEvent(new InputEvent("input")))}}),!0),l(c,"click",r,!0),{focus:()=>{var e,t;return null==(t=null==(e=o.value)?void 0:e.focus)?void 0:t.call(e)},blur:()=>{var e,t;return null==(t=null==(e=o.value)?void 0:e.blur)?void 0:t.call(e)}}}export{o as useDateTime};
1
+ import{computed as e,unref as t}from"vue";import{useDebounceFn as n,useEventListener as l}from"@vueuse/core";import{isValid as i}from"date-fns";function o(o,s,u){const r=n((e=>{!function(e){const t=e.target;if(["INPUT"].includes(t.tagName)){const{selectionStart:e=0,selectionEnd:n=0}=t;e===n&&t.select()}}(e)}),200),c=e((()=>{var e;return null==(e=o.value)?void 0:e.$el})),a=e((()=>{const e={};return["date","time","hour","minute","second"].forEach((t=>function(e,t){const n=`is-${t}-disabled`;u[n]&&(e[n.replace(/-(\w)/g,((e,t)=>t.toUpperCase()))]=u[n])}(e,t))),e}));function d(e,n,l){const i=e.value;if(!i)return;const o=e.selectionEnd||0,u=i.length;let r=0,c=0,a=0,d="",f=0;for(;r<u;){const e=i[r++];if(/\d/.test(e)&&(d+=e),r===o){a=d.length;const e=i.slice(r).match(/^\d+/);f=e?e[0].length:0}}const v=t(s),g=Array.isArray(v)?function(e){var t,n;let l=!1,i=e.parentNode||null;for(;i;){if(null==(n=null==(t=i.classList)?void 0:t.contains)?void 0:n.call(t,"n-time-picker")){l=!0;break}i=i.parentNode||null}return l}(e)?v[1]:v[0]:v;let m="",p=0,h=0;for(r=0;r<g.length&&(l||!(c>=d.length));){const e=g[r++];if(/[yMdHms]/.test(e)?m+=d[c++]||"0":m+=e,n&&c===a){a=-1,p=m.length,h=p;let e=g.slice(r).match(/^[yMdHms]+/);e?(f=Math.min(f,e[0].length),f&&(m+=d.slice(c,c+f),c+=f),r+=e[0].length):(e=g.slice(r).match(/^([^yMdHms]+)([yMdHms]*)/),e&&(p+=e[1].length,h=p+e[2].length))}}const b=m!==i;if(b){e.value=m;const t=new InputEvent("input");e.dispatchEvent(t)}return n&&(p=p||m.length+1,h=h||m.length+1,e.setSelectionRange(p,h)),b}return l(c,"input",(function(e){const t=e.target;if(!t.value||!Reflect.get(t,"_f_"))return;Reflect.set(t,"_f_",0),d(t,!0)&&(e.preventDefault(),e.stopPropagation())}),!0),l(c,"keydown",(function(e){const{key:t}=e,n=e.target;if(/\d/.test(t)&&n)Reflect.set(n,"_f_",1);else if("Enter"===t){d(n,!1,!0);const e=null==n?void 0:n.value,t=Reflect.get(u,"type")||"";e&&!t.includes("range")&&i(new Date(e))&&!function(e){const{isTimeDisabled:t,isDateDisabled:n,isHourDisabled:l,isMinuteDisabled:i,isSecondDisabled:o}=a.value;if(null==n?void 0:n(e.getTime()))return;const s=(null==t?void 0:t(e.getTime()).isHourDisabled)||l,u=(null==t?void 0:t(e.getTime()).isMinuteDisabled)||i,r=(null==t?void 0:t(e.getTime()).isSecondDisabled)||o;if(null==s?void 0:s(e.getHours()))return;if(null==u?void 0:u(e.getMinutes()))return;if(null==r?void 0:r(e.getMinutes()))return;return!0}(new Date(e))&&(n.value="",n.dispatchEvent(new InputEvent("input")))}}),!0),l(c,"click",r,!0),{focus:()=>{var e,t;return null==(t=null==(e=o.value)?void 0:e.focus)?void 0:t.call(e)},blur:()=>{var e,t;return null==(t=null==(e=o.value)?void 0:e.blur)?void 0:t.call(e)}}}export{o as useDateTime};