cnhis-design-vue 3.2.8-beta.2 → 3.2.8-beta.20

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 (124) hide show
  1. package/es/components/ai-chat/index.d.ts +95 -0
  2. package/es/components/ai-chat/index.js +1 -0
  3. package/es/components/ai-chat/src/Index.vue.d.ts +97 -0
  4. package/es/components/ai-chat/src/Index.vue.js +1 -0
  5. package/es/components/ai-chat/src/Index.vue2.js +1 -0
  6. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +14 -0
  7. package/es/components/ai-chat/src/components/ChatFooter.vue.js +1 -0
  8. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -0
  9. package/es/components/ai-chat/src/components/ChatMain.d.ts +8 -0
  10. package/es/components/ai-chat/src/components/ChatMain.js +1 -0
  11. package/es/components/ai-chat/src/types/index.d.ts +28 -0
  12. package/es/components/ai-chat/src/types/index.js +1 -0
  13. package/es/components/ai-chat/style/index.css +1 -0
  14. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  15. package/es/components/audio-sdk/src/components/recordingDialog.vue2.js +1 -1
  16. package/es/components/button-print/index.d.ts +38 -0
  17. package/es/components/button-print/src/ButtonPrint.vue.d.ts +38 -0
  18. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  19. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +17 -0
  20. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  21. package/es/components/button-print/src/components/OldPrintComponent.vue.d.ts +9 -0
  22. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  23. package/es/components/button-print/src/utils/print.js +1 -1
  24. package/es/components/button-print/style/index.css +1 -1
  25. package/es/components/calendar/src/Calendar.vue2.js +1 -1
  26. package/es/components/callback/src/components/render/popupMaps.d.ts +3 -2
  27. package/es/components/date-picker/src/DatePicker.vue2.js +1 -1
  28. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  29. package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
  30. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  31. package/es/components/fabric-chart/src/hooks/useCumputedPoint.d.ts +1 -1
  32. package/es/components/fabric-chart/src/hooks/useCumputedPoint.js +1 -1
  33. package/es/components/field-set/src/FieldColor.vue.d.ts +27 -1
  34. package/es/components/field-set/src/FieldFilter.vue.d.ts +27 -1
  35. package/es/components/field-set/src/FieldSet.vue.d.ts +63 -1
  36. package/es/components/field-set/src/FieldSet.vue2.js +1 -1
  37. package/es/components/field-set/src/components/condition.vue2.js +1 -1
  38. package/es/components/field-set/src/components/edit-dialog.vue2.js +1 -1
  39. package/es/components/field-set/src/components/table-row.vue.d.ts +27 -1
  40. package/es/components/field-set/src/components/table-row.vue2.js +1 -1
  41. package/es/components/field-set/src/types/index.d.ts +1 -1
  42. package/es/components/field-set/src/utils/index.d.ts +1 -1
  43. package/es/components/field-set/src/utils/index.js +1 -1
  44. package/es/components/form-config/index.d.ts +6 -4
  45. package/es/components/form-config/src/FormConfig.vue.d.ts +6 -4
  46. package/es/components/form-config/src/FormConfig.vue2.js +1 -1
  47. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +3 -2
  48. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +3 -2
  49. package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
  50. package/es/components/form-render/index.d.ts +3 -2
  51. package/es/components/form-render/src/FormRender.vue.d.ts +2 -1
  52. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  53. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +3 -2
  54. package/es/components/form-render/src/FormRenderWrapper.vue2.js +1 -1
  55. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  56. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -1
  57. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  58. package/es/components/form-render/src/components/renderer/select.js +1 -1
  59. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  60. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  61. package/es/components/form-render/src/hooks/useFormEvent.d.ts +1 -1
  62. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  63. package/es/components/form-render/src/types/index.d.ts +1 -0
  64. package/es/components/guide/src/renderer.js +1 -1
  65. package/es/components/iho-chat/index.d.ts +14 -2
  66. package/es/components/iho-chat/src/Index.vue.d.ts +14 -2
  67. package/es/components/iho-chat/src/Index.vue2.js +1 -1
  68. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  69. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +1 -1
  70. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  71. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +1 -1
  72. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  73. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +8 -1
  74. package/es/components/iho-chat/src/components/ChatHeader.vue2.js +1 -1
  75. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +6 -0
  76. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  77. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +1 -0
  78. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  79. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  80. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +6 -0
  81. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  82. package/es/components/iho-chat/src/components/ContextMenu.js +1 -1
  83. package/es/components/iho-chat/src/hooks/useSearchUserList.js +1 -1
  84. package/es/components/iho-chat/src/utils/index.js +1 -1
  85. package/es/components/iho-chat/style/index.css +1 -1
  86. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  87. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin.js +1 -1
  88. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/levelSearchCascadePlugin/levelSearchCascade.vue2.js +1 -1
  89. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  90. package/es/components/index.css +1 -1
  91. package/es/components/index.d.ts +3 -1
  92. package/es/components/index.js +1 -1
  93. package/es/components/info-header/index.d.ts +7 -4
  94. package/es/components/info-header/src/InfoHeader.vue.d.ts +6 -4
  95. package/es/components/info-header/src/InfoHeader.vue2.js +1 -1
  96. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +3 -2
  97. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +3 -2
  98. package/es/components/keyboard/src/Keyboard.vue2.js +1 -1
  99. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  100. package/es/components/shortcut-provider/src/ShortcutProvider.vue2.js +1 -1
  101. package/es/components/shortcut-setter/index.d.ts +3 -2
  102. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +3 -2
  103. package/es/components/shortcut-setter/src/ShortcutSetter.vue2.js +1 -1
  104. package/es/components/step-notice/src/StepNotice.vue2.js +1 -1
  105. package/es/components/step-notice/src/hooks/useTheme.js +1 -1
  106. package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
  107. package/es/components/table-filter/src/components/render-widget/components/Select.vue.d.ts +3 -0
  108. package/es/components/table-filter/src/components/render-widget/components/Select.vue2.js +1 -1
  109. package/es/components/table-filter/src/components/render-widget/components/index.d.ts +3 -0
  110. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +3 -0
  111. package/es/components/time-picker/src/TimePicker.vue2.js +1 -1
  112. package/es/components/tooth-bitmap/src/ToothBitmap.vue2.js +1 -1
  113. package/es/shared/assets/img/ai__avatar.png.js +1 -0
  114. package/es/shared/hooks/index.d.ts +1 -0
  115. package/es/shared/hooks/index.js +1 -1
  116. package/es/shared/hooks/selectHooks/useOptionFiltered.js +1 -1
  117. package/es/shared/hooks/selectHooks/useSearchContent.js +1 -1
  118. package/es/shared/hooks/selectHooks/useSelectRenders.js +1 -1
  119. package/es/shared/hooks/useFormRequest/index.js +1 -1
  120. package/es/shared/hooks/useLevelSearchCascader.js +1 -1
  121. package/es/shared/package.json.js +1 -1
  122. package/package.json +2 -2
  123. /package/es/{components/iho-chat/src → shared}/hooks/useScrollLoading.d.ts +0 -0
  124. /package/es/{components/iho-chat/src → shared}/hooks/useScrollLoading.js +0 -0
@@ -1 +1 @@
1
- import{reactive as e,computed as a,watch as t,toRefs as l}from"vue";import{defaultBorderStyle as u}from"../useDraw.js";import"../../../../../shared/utils/fabricjs/index.js";import{useCumputedPoint as i}from"../useCumputedPoint.js";import{useCanvasEvent as n}from"../useEvent.js";import{setOtherType as r,getFloorNumber as o}from"../../utils/index.js";import{flatten as v}from"lodash-es";import{format as s,addDays as d}from"date-fns";import"naive-ui";import"@vueuse/core";import{useTop as c}from"./useTop.js";import{useLeft as h}from"./useLeft.js";import{useRight as p}from"./useRight.js";import{useCenter as g}from"./useCenter.js";import{useBottom as m}from"./useBottom.js";import{useOther as f}from"./useOther.js";function y(y,S,b,Y,w,C){const D=15,x=e({select:null,redrawPoints:null,clickMenu:null}),j=a((()=>{const{painSurplusCell:e=[0,0]}=S.data.grid||{};return~Z.value?e:[0,0]})),V=a((()=>{var e,a;const t=(null==(a=null==(e=S.data.grid)?void 0:e.surplusCell)?void 0:a.slice())||[0,0,0,0];return 0===Z.value?t[0]=t[0]+j.value[1]:Z.value>0&&(t[2]=t[2]+j.value[0]),t})),H=a((()=>0===Z.value?[j.value[0],V.value[1],V.value[2],V.value[3]]:Z.value>0?[V.value[0],V.value[1],j.value[1],V.value[3]]:V.value)),X=a((()=>{const{top:e}=S.data;return e.date.show&&(e.date.height||D)||0})),L=a((()=>{var e;const{top:a}=S.data;return(null==(e=a.hospitalDays)?void 0:e.show)&&(a.hospitalDays.height||D)||0})),P=a((()=>{var e;const{top:a}=S.data;return(null==(e=a.operationDays)?void 0:e.show)&&(a.operationDays.height||D)||0})),M=a((()=>{var e,a,t;const{top:l}=S.data;return((null==(e=l.xScalevalue)?void 0:e.show)&&(l.xScalevalue.height||D)||0)+((null==(a=l.xScalevalue)?void 0:a.show)&&null!=(t=l.dayHeight)?t:0)})),I=a((()=>{var e;const{top:a}=S.data;return(null==(e=a.childbirthDays)?void 0:e.show)&&(a.childbirthDays.height||D)||0})),N=a((()=>{var e;const{bottom:a}=S.data;return(null==(e=null==a?void 0:a.breathing)?void 0:e.show)&&(a.breathing.height||30)||0})),k=a((()=>{const{grid:e}=S.data;return e.mainXCell*e.subXCell+V.value[1]+V.value[3]})),O=a((()=>{const{grid:e}=S.data,a=Z.value>0?j.value[1]:j.value[0];return e.mainYCell*e.subYCell+V.value[0]+V.value[2]+a})),R=a((()=>{var e;const{width:a,right:t=null,top:l}=S.data;if(!t)return a;return a-(null!=(e=t.width)?e:0)})),W=a((()=>R.value-V.value[1]*z.value)),$=a((()=>{const{top:e,left:a}=S.data;return e.titleWidth+A.value})),G=a((()=>{const{bottom:e=null,height:a}=S.data;if(!e)return a;return a-(e.height||30)})),q=a((()=>{var e;const{top:a}=S.data,t=a.xScalevalue.show&&(null!=(e=a.dayHeight)?e:0)||0,l=a.xScalevalue.show&&(a.xScalevalue.height||D)||0;return X.value+t+l+L.value+P.value+I.value})),z=a((()=>(R.value-$.value)/k.value)),T=a((()=>(G.value-q.value)/O.value)),A=a((()=>{var e,a;const{left:t}=S.data;return(null==(e=t.icons)?void 0:e.show)&&((null==(a=t.icons)?void 0:a.width)||100)||0})),B=a((()=>{var e,a;const{top:t,grid:l}=S.data,u=(null==(a=null==(e=t.date.list)?void 0:e.slice)?void 0:a.call(e,0,l.mainXCell))||[],i=t.xScalevalue.times;let n=$.value-z.value;const r=t.date.startDate||s(new Date,"yyyy-MM-dd"),o=u.reduce(((e,a,t)=>0===t?e.concat(r):e.concat(s(d(new Date(r.replace(/-/g,"/")),t),"yyyy-MM-dd"))),[]).map((e=>i.map((a=>{n+=z.value;const t=Date.parse(`${e} ${a.start}`),l=Date.parse(`${e} ${a.end}`);return{start:t,end:l,left:n,center:n+z.value/2,scaleCell:(l-t)/z.value}}))));return v(o)})),E=a((()=>ie("breathe"))),F=a((()=>ie("pulse"))),J=a((()=>ie("temperature"))),K=a((()=>ie("pain"))),Q=a((()=>{var e;return(null==(e=S.data.grid)?void 0:e.event)||{selectable:!0,evented:!0,hovered:!0}})),U=a((()=>{const{left:e}=S.data;return v(e.yScaleValue.map((e=>e.dataList.filter((e=>e.show)).map(((a,t)=>({...a,bigType:r(a.title,e.type),unit:e.unit,dataIndex:t}))))))})),Z=a((()=>{var e,a;const{left:t}=S.data,l=t.yScaleValue.findIndex((e=>"pain"===e.type));return l>-1&&(null==(a=null==(e=t.yScaleValue[l].dataList)?void 0:e[0])?void 0:a.show)?l:-1})),_=a((()=>{const{grid:e}=S.data;return-1===Z.value?0:T.value*e.subYCell})),ee=a((()=>{const{left:e}=S.data,a={originY:q.value+j.value[0]*T.value,endY:G.value-j.value[1]*T.value};return 0===Z.value&&e.yScaleValue.length>1?a.endY=a.originY+_.value:Z.value===e.yScaleValue.length-1&&(a.originY=a.endY-_.value),a})),ae=a((()=>{const{left:e}=S.data,a={originY:q.value+V.value[0]*T.value,endY:G.value-V.value[2]*T.value};return 0===Z.value&&e.yScaleValue.length>1?a.originY=ee.value.endY+V.value[0]*T.value:Z.value===e.yScaleValue.length-1&&(a.endY=ee.value.originY-V.value[2]*T.value),a})),te=a((()=>{var e,a;const{top:t,grid:l}=S.data,u=[];for(const i in t)t[i].show&&u.push({...t[i],list:(null==(a=null==(e=t[i].list)?void 0:e.slice)?void 0:a.call(e,0,l.mainXCell))||[],key:i});return u.sort(((e,a)=>e.seq-a.seq))})),le=a((()=>{var e;const{left:a,right:t}=S.data,l=a.yScaleValue.find((e=>"temperature"===e.type)),u=(null==t?void 0:t.yScaleValue)||{};if(null==(e=null==l?void 0:l.list)?void 0:e.length){const e=(null==u?void 0:u.showdetailedScale)?l.list.reduce((e=>{const a=e[e.length-1];return a?e.concat([a+1,a+2]):e.concat([92])}),[]):[],a=l.list.map((e=>o(1.8*e+32)));Object.assign(u,{list:a,detailedList:e,spaceGridNumber:l.spaceGridNumber})}return u})),ue=e({canvasWidth:S.data.width,canvasHeight:S.data.height,borderStyle:{...u,...S.data.borderStyle||{}},selectionStyle:S.data.selectionStyle||{},dateHeight:X.value,hospitalDaysHeight:L.value,operationDaysHeight:P.value,xScalevalueHeight:M.value,childbirthDaysHeight:I.value,topList:te.value,breathingHeight:N.value,hospitalizationDate:S.data.hospitalizationDate,grid:S.data.grid,top:S.data.top,left:S.data.left,right:S.data.right,bottom:S.data.bottom,other:S.data.other,painIndex:Z.value,painHeight:_.value,painOriginY:ee.value,vitalSignsOriginY:ae.value,gridXNumber:k.value,gridYNumber:O.value,iconsWidth:A.value,originX:$.value,originY:q.value,endX:R.value,endXLimit:W.value,endY:G.value,xCellWidth:z.value,yCellHeight:T.value,xScaleList:B.value,breatheYCell:E.value,pulseYCell:F.value,temperatureYCell:J.value,painYCell:K.value,event:Q.value,itemList:U.value,getRightInfo:le.value,config:S.data.config||{},surplusCell:V.value,painSurplusCell:j.value,mainSurplusCell:H.value});function ie(e){const{yScaleValue:a}=S.data.left,t=a.find((a=>a.type===e)),l=(null==t?void 0:t.list)||[];return l.length?T.value/((l[1]-l[0])/t.spaceGridNumber):0}const{computedX:ne,computedY:re,getXValue:oe,getYValue:ve}=i(ue);return t((()=>y.value),(e=>{e&&function(){c(y,ue);const{setPopup:e,isAddPoint:a,updateData:t,redrawPoints:l,clickMenu:u,gridPoints:i,fixedNoRisePoints:r}=g(y,ue,b,ne,re,oe,ve,S.addRenderItem,w,C);x.redrawPoints=l,x.clickMenu=u;const{drawScaleValue:o}=h(y,ue,b,e,w,ne,re,oe,ve,a,t,i);p(y,ue,o),m(y,ue),f(y,ue,b,ne,re,r);const{select:v}=n(y,ue,b);x.select=v}()}),{immediate:!0}),{propItems:ue,...l(x)}}export{y as useTemperatureChart};
1
+ import{reactive as e,computed as a,watch as t,toRefs as l}from"vue";import{defaultBorderStyle as u}from"../useDraw.js";import"../../../../../shared/utils/fabricjs/index.js";import{useCumputedPoint as i}from"../useCumputedPoint.js";import{useCanvasEvent as n}from"../useEvent.js";import{setOtherType as r,getFloorNumber as o}from"../../utils/index.js";import{flatten as v}from"lodash-es";import{format as s,addDays as d}from"date-fns";import"naive-ui";import"@vueuse/core";import{useTop as c}from"./useTop.js";import{useLeft as h}from"./useLeft.js";import{useRight as p}from"./useRight.js";import{useCenter as g}from"./useCenter.js";import{useBottom as m}from"./useBottom.js";import{useOther as f}from"./useOther.js";function y(y,S,w,b,Y,D){const x=15,C=e({select:null,redrawPoints:null,clickMenu:null}),j=a((()=>{const{painSurplusCell:e=[0,0]}=S.data.grid||{};return~J.value?e:[0,0]})),V=a((()=>{var e,a;const t=(null==(a=null==(e=S.data.grid)?void 0:e.surplusCell)?void 0:a.slice())||[0,0,0,0];return 0===J.value?t[0]=t[0]+j.value[1]:J.value>0&&(t[2]=t[2]+j.value[0]),t})),H=a((()=>0===J.value?[j.value[0],V.value[1],V.value[2],V.value[3]]:J.value>0?[V.value[0],V.value[1],j.value[1],V.value[3]]:V.value)),X=a((()=>{const{top:e}=S.data;return e.date.show&&(e.date.height||x)||0})),L=a((()=>{var e;const{top:a}=S.data;return(null==(e=a.hospitalDays)?void 0:e.show)&&(a.hospitalDays.height||x)||0})),P=a((()=>{var e;const{top:a}=S.data;return(null==(e=a.operationDays)?void 0:e.show)&&(a.operationDays.height||x)||0})),M=a((()=>{var e,a,t;const{top:l}=S.data;return((null==(e=l.xScalevalue)?void 0:e.show)&&(l.xScalevalue.height||x)||0)+((null==(a=l.xScalevalue)?void 0:a.show)&&null!=(t=l.dayHeight)?t:0)})),I=a((()=>{var e;const{top:a}=S.data;return(null==(e=a.childbirthDays)?void 0:e.show)&&(a.childbirthDays.height||x)||0})),N=a((()=>{var e;const{bottom:a}=S.data;return(null==(e=null==a?void 0:a.breathing)?void 0:e.show)&&(a.breathing.height||30)||0})),k=a((()=>{const{grid:e}=S.data;return e.mainXCell*e.subXCell+V.value[1]+V.value[3]})),O=a((()=>{const{grid:e}=S.data,a=J.value>0?j.value[1]:j.value[0];return e.mainYCell*e.subYCell+V.value[0]+V.value[2]+a})),R=a((()=>{var e;const{width:a,right:t=null,top:l}=S.data;if(!t)return a;return a-(null!=(e=t.width)?e:0)})),W=a((()=>R.value-V.value[1]*G.value)),$=a((()=>{const{top:e,left:a}=S.data;return e.titleWidth+A.value})),q=a((()=>{const{bottom:e=null,height:a}=S.data;if(!e)return a;return a-(e.height||30)})),z=a((()=>{var e;const{top:a}=S.data,t=a.xScalevalue.show&&(null!=(e=a.dayHeight)?e:0)||0,l=a.xScalevalue.show&&(a.xScalevalue.height||x)||0;return X.value+t+l+L.value+P.value+I.value})),G=a((()=>(R.value-$.value)/k.value)),T=a((()=>(q.value-z.value)/O.value)),A=a((()=>{var e,a;const{left:t}=S.data;return(null==(e=t.icons)?void 0:e.show)&&((null==(a=t.icons)?void 0:a.width)||100)||0})),B=a((()=>{var e,a;const{top:t,grid:l}=S.data,u=(null==(a=null==(e=t.date.list)?void 0:e.slice)?void 0:a.call(e,0,l.mainXCell))||[],i=t.xScalevalue.times;let n=$.value-G.value;const r=t.date.startDate||s(new Date,"yyyy-MM-dd"),o=u.reduce(((e,a,t)=>0===t?e.concat(r):e.concat(s(d(new Date(r.replace(/-/g,"/")),t),"yyyy-MM-dd"))),[]).map((e=>i.map((a=>{n+=G.value;const t=Date.parse(`${e} ${a.start}`),l=Date.parse(`${e} ${a.end}`);return{start:t,end:l,left:n,center:n+G.value/2,scaleCell:(l-t)/G.value}}))));return v(o)})),E=a((()=>{var e;return(null==(e=S.data.grid)?void 0:e.event)||{selectable:!0,evented:!0,hovered:!0}})),F=a((()=>{const{left:e}=S.data;return v(e.yScaleValue.map((e=>e.dataList.filter((e=>e.show)).map(((a,t)=>({...a,bigType:r(a.title,e.type),unit:e.unit,dataIndex:t}))))))})),J=a((()=>{var e,a;const{left:t}=S.data,l=t.yScaleValue.findIndex((e=>"pain"===e.type));return l>-1&&(null==(a=null==(e=t.yScaleValue[l].dataList)?void 0:e[0])?void 0:a.show)?l:-1})),K=a((()=>{const{grid:e}=S.data;return-1===J.value?0:T.value*e.subYCell})),Q=a((()=>{const{left:e}=S.data,a={originY:z.value+j.value[0]*T.value,endY:q.value-j.value[1]*T.value};return 0===J.value&&e.yScaleValue.length>1?a.endY=a.originY+K.value:J.value===e.yScaleValue.length-1&&(a.originY=a.endY-K.value),a})),U=a((()=>{const{left:e}=S.data,a={originY:z.value+V.value[0]*T.value,endY:q.value-V.value[2]*T.value};return 0===J.value&&e.yScaleValue.length>1?a.originY=Q.value.endY+V.value[0]*T.value:J.value===e.yScaleValue.length-1&&(a.endY=Q.value.originY-V.value[2]*T.value),a})),Z=a((()=>{var e,a;const{top:t,grid:l}=S.data,u=[];for(const i in t)t[i].show&&u.push({...t[i],list:(null==(a=null==(e=t[i].list)?void 0:e.slice)?void 0:a.call(e,0,l.mainXCell))||[],key:i});return u.sort(((e,a)=>e.seq-a.seq))})),_=a((()=>{var e;const{left:a,right:t}=S.data,l=a.yScaleValue.find((e=>"temperature"===e.type)),u=(null==t?void 0:t.yScaleValue)||{};if(null==(e=null==l?void 0:l.list)?void 0:e.length){const e=(null==u?void 0:u.showdetailedScale)?l.list.reduce((e=>{const a=e[e.length-1];return a?e.concat([a+1,a+2]):e.concat([92])}),[]):[],a=l.list.map((e=>o(1.8*e+32)));Object.assign(u,{list:a,detailedList:e,spaceGridNumber:l.spaceGridNumber})}return u})),ee=e({canvasWidth:S.data.width,canvasHeight:S.data.height,borderStyle:{...u,...S.data.borderStyle||{}},selectionStyle:S.data.selectionStyle||{},dateHeight:X.value,hospitalDaysHeight:L.value,operationDaysHeight:P.value,xScalevalueHeight:M.value,childbirthDaysHeight:I.value,topList:Z.value,breathingHeight:N.value,hospitalizationDate:S.data.hospitalizationDate,grid:S.data.grid,top:S.data.top,left:S.data.left,right:S.data.right,bottom:S.data.bottom,other:S.data.other,painIndex:J.value,painHeight:K.value,painOriginY:Q.value,vitalSignsOriginY:U.value,gridXNumber:k.value,gridYNumber:O.value,iconsWidth:A.value,originX:$.value,originY:z.value,endX:R.value,endXLimit:W.value,endY:q.value,xCellWidth:G.value,yCellHeight:T.value,xScaleList:B.value,event:E.value,itemList:F.value,getRightInfo:_.value,config:S.data.config||{},surplusCell:V.value,painSurplusCell:j.value,mainSurplusCell:H.value}),{computedX:ae,computedY:te,getXValue:le,getYValue:ue}=i(ee);return t((()=>y.value),(e=>{e&&function(){c(y,ee);const{setPopup:e,isAddPoint:a,updateData:t,redrawPoints:l,clickMenu:u,gridPoints:i,fixedNoRisePoints:r}=g(y,ee,w,ae,te,le,ue,S.addRenderItem,Y,D);C.redrawPoints=l,C.clickMenu=u;const{drawScaleValue:o}=h(y,ee,w,e,Y,ae,te,le,ue,a,t,i);p(y,ee,o),m(y,ee),f(y,ee,w,ae,te,r);const{select:v}=n(y,ee,w);C.select=v}()}),{immediate:!0}),{propItems:ee,...l(C)}}export{y as useTemperatureChart};
@@ -2,7 +2,7 @@ import { IPointType } from '../interface';
2
2
  import { AnyObject } from '../../../../shared/types';
3
3
  export declare function useCumputedPoint(propItems: AnyObject): {
4
4
  computedX: (value: number | string, setAllCenter?: boolean) => any;
5
- computedY: (type: IPointType, scaleValueList: number[], value: number | string) => number;
5
+ computedY: (type: string, value: number | string) => number;
6
6
  getXValue: (pointX: number) => string | undefined;
7
7
  getYValue: (type: IPointType, pointY: number) => number;
8
8
  };
@@ -1 +1 @@
1
- import{format as n}from"date-fns";import{getTime as e,getFloorNumber as t}from"../utils/index.js";import{last as i}from"lodash-es";function u(u){const{xScaleList:l,xCellWidth:r,left:o,vitalSignsOriginY:c,painOriginY:a,canvasWidth:d}=u;return{computedX:function(n,t=!1){const u=e(n),[r]=l,o=i(l);if(u<r.start)return 0;if(u>o.end)return d;const c=l.findIndex((n=>n.end>=u));if(c>-1){return l[c].center}},computedY:function(n,e,t){const i=u[`${n}YCell`],l=+t-Math.min(...e);return("pain"===n?a.endY:c.endY)-i*l},getXValue:function(e){const t=l.findIndex((n=>n.left+r>=e));if(t>-1){const i=l[t],u=e-i.left,r=i.scaleCell*u,o=i.start+r;return n(new Date(o),"yyyy-MM-dd HH:mm")}},getYValue:function(n,e){var i;const l=u[`${n}YCell`],r=(null==(i=o.yScaleValue.find((e=>e.type===n)))?void 0:i.list)||[],d=r.length?Math.min(...r):0,f="pain"===n?a.endY:c.endY;return t((f-e)/l+d)}}}function l(i){const{xAxis:u,originX:l,originY:r,xCellWidth:o,endY:c,timeXCell:a,startTime:d,scaleValues:f}=i;return{computedX:function(n){return(e(n)-d)/a+l},computedY:function(n,e,t){const[u]=e;return c-(+t-u)*i[`${n}YCell`]},getXValue:function(e){return n(new Date((e-l)*a+d),"yyyy-MM-dd HH:mm")},getYValue:function(n,e){const u=f.find((e=>[e.key,e.type||""].includes(n))),[l]=(null==u?void 0:u.range)||[0],r=(c-e)/i[`${n}YCell`]+l;return t(r)}}}function r(n){const{config:e,xCellWidth:i,yCellHeight:u}=n,{hz:l,mainXCellValue:r,valueUnit:o,mainYCellValue:c}=e;return{computedX:function(n){return n/l/r*i},computedY:function(n){return("uv"===o?.001*n:"v"===o?1e3*n:n)/c*u},getXValue:function(n){return t(r/i*n)},getYValue:function(n){return t(c/u*n)}}}export{l as useBirthProcessCumputedPoint,u as useCumputedPoint,r as useElectrocardiogramCumputedPoint};
1
+ import{format as e}from"date-fns";import{getTime as n,getFloorNumber as t}from"../utils/index.js";import{last as l}from"lodash-es";function i(i){const{xScaleList:u,xCellWidth:r,yCellHeight:c,left:o,vitalSignsOriginY:a,painOriginY:d,canvasWidth:s}=i;function f(e){let n=0;const t=o.yScaleValue.find((n=>n.type===e)),l=(null==t?void 0:t.list)||[];return l.length?(n=c/((l[1]-l[0])/t.spaceGridNumber),{yScaleCell:n,list:l}):{yScaleCell:n,list:l}}return{computedX:function(e,t=!1){const i=n(e),[r]=u,c=l(u);if(i<r.start)return 0;if(i>c.end)return s;const o=u.findIndex((e=>e.end>=i));if(o>-1){return u[o].center}},computedY:function(e,n){const{yScaleCell:t,list:l}=f(e),i=+n-Math.min(...l);return("pain"===e?d.endY:a.endY)-t*i},getXValue:function(n){const t=u.findIndex((e=>e.left+r>=n));if(t>-1){const l=u[t],i=n-l.left,r=l.scaleCell*i,c=l.start+r;return e(new Date(c),"yyyy-MM-dd HH:mm")}},getYValue:function(e,n){const{yScaleCell:l,list:i}=f(e),u=i.length?Math.min(...i):0,r="pain"===e?d.endY:a.endY;return t((r-n)/l+u)}}}function u(l){const{xAxis:i,originX:u,originY:r,xCellWidth:c,endY:o,timeXCell:a,startTime:d,scaleValues:s}=l;return{computedX:function(e){return(n(e)-d)/a+u},computedY:function(e,n,t){const[i]=n;return o-(+t-i)*l[`${e}YCell`]},getXValue:function(n){return e(new Date((n-u)*a+d),"yyyy-MM-dd HH:mm")},getYValue:function(e,n){const i=s.find((n=>[n.key,n.type||""].includes(e))),[u]=(null==i?void 0:i.range)||[0],r=(o-n)/l[`${e}YCell`]+u;return t(r)}}}function r(e){const{config:n,xCellWidth:l,yCellHeight:i}=e,{hz:u,mainXCellValue:r,valueUnit:c,mainYCellValue:o}=n;return{computedX:function(e){return e/u/r*l},computedY:function(e){return("uv"===c?.001*e:"v"===c?1e3*e:e)/o*i},getXValue:function(e){return t(r/l*e)},getYValue:function(e){return t(o/i*e)}}}export{u as useBirthProcessCumputedPoint,i as useCumputedPoint,r as useElectrocardiogramCumputedPoint};
@@ -228,6 +228,13 @@ declare const _default: import("vue").DefineComponent<{
228
228
  developMode: {
229
229
  type: BooleanConstructor;
230
230
  };
231
+ columnWidthProps: {
232
+ type: ObjectConstructor;
233
+ };
234
+ hideExpressionOption: {
235
+ type: PropType<AnyObject[]>;
236
+ default: () => never[];
237
+ };
231
238
  }, {
232
239
  fixedWayOptions: {
233
240
  label: string;
@@ -319,6 +326,13 @@ declare const _default: import("vue").DefineComponent<{
319
326
  developMode: {
320
327
  type: BooleanConstructor;
321
328
  };
329
+ columnWidthProps: {
330
+ type: ObjectConstructor;
331
+ };
332
+ hideExpressionOption: {
333
+ type: PropType<AnyObject[]>;
334
+ default: () => never[];
335
+ };
322
336
  }>> & {
323
337
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
324
338
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -336,6 +350,10 @@ declare const _default: import("vue").DefineComponent<{
336
350
  label: string;
337
351
  value: number;
338
352
  }[];
353
+ selectProps: (field: string) => {
354
+ valueField: string;
355
+ labelField: string;
356
+ };
339
357
  getOptions: (column: AnyObject) => any;
340
358
  setDisabled: (column: AnyObject) => any;
341
359
  getStyle: (column: AnyObject) => import("vue").CSSProperties;
@@ -433,6 +451,13 @@ declare const _default: import("vue").DefineComponent<{
433
451
  developMode: {
434
452
  type: BooleanConstructor;
435
453
  };
454
+ columnWidthProps: {
455
+ type: ObjectConstructor;
456
+ };
457
+ hideExpressionOption: {
458
+ type: PropType<AnyObject[]>;
459
+ default: () => never[];
460
+ };
436
461
  }>> & {
437
462
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
438
463
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -477,11 +502,12 @@ declare const _default: import("vue").DefineComponent<{
477
502
  }>;
478
503
  developMode: boolean;
479
504
  draggable: boolean;
505
+ isHighlightRow: boolean;
480
506
  idx: number;
481
507
  isHighlight: boolean;
482
- isHighlightRow: boolean;
483
508
  isFieldSet: boolean;
484
509
  fieldDescribeMode: "column" | "tooltip";
510
+ hideExpressionOption: AnyObject[];
485
511
  }>;
486
512
  EditDialog: import("vue").DefineComponent<{
487
513
  visible: {
@@ -250,6 +250,13 @@ declare const _default: import("vue").DefineComponent<{
250
250
  developMode: {
251
251
  type: BooleanConstructor;
252
252
  };
253
+ columnWidthProps: {
254
+ type: ObjectConstructor;
255
+ };
256
+ hideExpressionOption: {
257
+ type: PropType<AnyObject[]>;
258
+ default: () => never[];
259
+ };
253
260
  }, {
254
261
  fixedWayOptions: {
255
262
  label: string;
@@ -341,6 +348,13 @@ declare const _default: import("vue").DefineComponent<{
341
348
  developMode: {
342
349
  type: BooleanConstructor;
343
350
  };
351
+ columnWidthProps: {
352
+ type: ObjectConstructor;
353
+ };
354
+ hideExpressionOption: {
355
+ type: PropType<AnyObject[]>;
356
+ default: () => never[];
357
+ };
344
358
  }>> & {
345
359
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
346
360
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -358,6 +372,10 @@ declare const _default: import("vue").DefineComponent<{
358
372
  label: string;
359
373
  value: number;
360
374
  }[];
375
+ selectProps: (field: string) => {
376
+ valueField: string;
377
+ labelField: string;
378
+ };
361
379
  getOptions: (column: AnyObject) => any;
362
380
  setDisabled: (column: AnyObject) => any;
363
381
  getStyle: (column: AnyObject) => import("vue").CSSProperties;
@@ -455,6 +473,13 @@ declare const _default: import("vue").DefineComponent<{
455
473
  developMode: {
456
474
  type: BooleanConstructor;
457
475
  };
476
+ columnWidthProps: {
477
+ type: ObjectConstructor;
478
+ };
479
+ hideExpressionOption: {
480
+ type: PropType<AnyObject[]>;
481
+ default: () => never[];
482
+ };
458
483
  }>> & {
459
484
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
460
485
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -499,11 +524,12 @@ declare const _default: import("vue").DefineComponent<{
499
524
  }>;
500
525
  developMode: boolean;
501
526
  draggable: boolean;
527
+ isHighlightRow: boolean;
502
528
  idx: number;
503
529
  isHighlight: boolean;
504
- isHighlightRow: boolean;
505
530
  isFieldSet: boolean;
506
531
  fieldDescribeMode: "column" | "tooltip";
532
+ hideExpressionOption: AnyObject[];
507
533
  }>;
508
534
  setStyle: typeof setStyle;
509
535
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "save" | "reset")[], "close" | "save" | "reset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -76,6 +76,16 @@ declare const _default: import("vue").DefineComponent<{
76
76
  developMode: {
77
77
  type: BooleanConstructor;
78
78
  };
79
+ columnWidthProps: {
80
+ type: ObjectConstructor;
81
+ };
82
+ showHideExpression: {
83
+ type: BooleanConstructor;
84
+ };
85
+ hideExpressionOption: {
86
+ type: PropType<AnyObject[]>;
87
+ default: () => never[];
88
+ };
79
89
  }, {
80
90
  fieldsMapping: Record<string, string>;
81
91
  attrs: {
@@ -155,15 +165,27 @@ declare const _default: import("vue").DefineComponent<{
155
165
  developMode: {
156
166
  type: BooleanConstructor;
157
167
  };
168
+ columnWidthProps: {
169
+ type: ObjectConstructor;
170
+ };
171
+ showHideExpression: {
172
+ type: BooleanConstructor;
173
+ };
174
+ hideExpressionOption: {
175
+ type: PropType<AnyObject[]>;
176
+ default: () => never[];
177
+ };
158
178
  }>> & {
159
179
  onSave?: ((...args: any[]) => any) | undefined;
160
180
  onClose?: ((...args: any[]) => any) | undefined;
161
181
  onReset?: ((...args: any[]) => any) | undefined;
162
182
  }>>;
163
183
  emit: (event: "close" | "save" | "reset", ...args: any[]) => void;
184
+ resetKey: import("vue").Ref<number>;
164
185
  keyword: import("vue").Ref<string>;
165
186
  tableBodyRef: import("vue").Ref<HTMLDivElement | undefined>;
166
187
  newFields: import("vue").Ref<AnyObject[]>;
188
+ defaultColumns: FieldSetColumnItem[];
167
189
  columns: import("vue").Ref<{
168
190
  [x: string]: any;
169
191
  title: string;
@@ -202,6 +224,8 @@ declare const _default: import("vue").DefineComponent<{
202
224
  isFieldSet: boolean;
203
225
  fieldDescribeMode: "column" | "tooltip";
204
226
  developMode: boolean;
227
+ columnWidthProps: Record<string, any> | undefined;
228
+ hideExpressionOption: AnyObject[];
205
229
  };
206
230
  searchData: {
207
231
  keyword: string;
@@ -381,6 +405,13 @@ declare const _default: import("vue").DefineComponent<{
381
405
  developMode: {
382
406
  type: BooleanConstructor;
383
407
  };
408
+ columnWidthProps: {
409
+ type: ObjectConstructor;
410
+ };
411
+ hideExpressionOption: {
412
+ type: PropType<AnyObject[]>;
413
+ default: () => never[];
414
+ };
384
415
  }, {
385
416
  fixedWayOptions: {
386
417
  label: string;
@@ -472,6 +503,13 @@ declare const _default: import("vue").DefineComponent<{
472
503
  developMode: {
473
504
  type: BooleanConstructor;
474
505
  };
506
+ columnWidthProps: {
507
+ type: ObjectConstructor;
508
+ };
509
+ hideExpressionOption: {
510
+ type: PropType<AnyObject[]>;
511
+ default: () => never[];
512
+ };
475
513
  }>> & {
476
514
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
477
515
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -489,6 +527,10 @@ declare const _default: import("vue").DefineComponent<{
489
527
  label: string;
490
528
  value: number;
491
529
  }[];
530
+ selectProps: (field: string) => {
531
+ valueField: string;
532
+ labelField: string;
533
+ };
492
534
  getOptions: (column: AnyObject) => any;
493
535
  setDisabled: (column: AnyObject) => any;
494
536
  getStyle: (column: AnyObject) => import("vue").CSSProperties;
@@ -586,6 +628,13 @@ declare const _default: import("vue").DefineComponent<{
586
628
  developMode: {
587
629
  type: BooleanConstructor;
588
630
  };
631
+ columnWidthProps: {
632
+ type: ObjectConstructor;
633
+ };
634
+ hideExpressionOption: {
635
+ type: PropType<AnyObject[]>;
636
+ default: () => never[];
637
+ };
589
638
  }>> & {
590
639
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
591
640
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -630,11 +679,12 @@ declare const _default: import("vue").DefineComponent<{
630
679
  }>;
631
680
  developMode: boolean;
632
681
  draggable: boolean;
682
+ isHighlightRow: boolean;
633
683
  idx: number;
634
684
  isHighlight: boolean;
635
- isHighlightRow: boolean;
636
685
  isFieldSet: boolean;
637
686
  fieldDescribeMode: "column" | "tooltip";
687
+ hideExpressionOption: AnyObject[];
638
688
  }>;
639
689
  isArray: {
640
690
  (value?: any): value is any[];
@@ -717,6 +767,16 @@ declare const _default: import("vue").DefineComponent<{
717
767
  developMode: {
718
768
  type: BooleanConstructor;
719
769
  };
770
+ columnWidthProps: {
771
+ type: ObjectConstructor;
772
+ };
773
+ showHideExpression: {
774
+ type: BooleanConstructor;
775
+ };
776
+ hideExpressionOption: {
777
+ type: PropType<AnyObject[]>;
778
+ default: () => never[];
779
+ };
720
780
  }>> & {
721
781
  onSave?: ((...args: any[]) => any) | undefined;
722
782
  onClose?: ((...args: any[]) => any) | undefined;
@@ -747,9 +807,11 @@ declare const _default: import("vue").DefineComponent<{
747
807
  developMode: boolean;
748
808
  footerFlag: boolean;
749
809
  fieldDescribeMode: "column" | "tooltip";
810
+ hideExpressionOption: AnyObject[];
750
811
  customColumns: FieldSetColumnItem[];
751
812
  showSearch: boolean;
752
813
  showSortPriority: boolean;
753
814
  showHeadFilter: boolean;
815
+ showHideExpression: boolean;
754
816
  }>;
755
817
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,useAttrs as l,ref as t,computed as i,reactive as o,watch as d,openBlock as a,createElementBlock as r,createBlock as s,unref as n,withKeys as u,withModifiers as c,createCommentVNode as f,createElementVNode as h,Fragment as p,renderList as m,normalizeStyle as y,withCtx as v,createTextVNode as b,toDisplayString as g,createVNode as k,normalizeClass as x,mergeProps as w,renderSlot as S}from"vue";import{NInput as A,NCheckbox as _,NTooltip as C,NIcon as D,NPopconfirm as F,NButton as M}from"naive-ui";import W from"../../../shared/components/VueDraggable/src/vuedraggable.js";import E from"./components/table-row.vue.js";import{isArray as B,cloneDeep as H,isString as N,omit as P}from"lodash-es";import{isDisable as q,setStyle as V,isDraggableItem as j,isDraggable as R,getGroupTree as I}from"./utils/index.js";import{uuidGenerator as U}from"../../../shared/utils/index.js";import{HelpCircleSharp as O}from"@vicons/ionicons5";const T={class:"main-wrapper"},K={class:"main-wrapper__table-header"},G=h("span",null,"数值越小,优先级越高",-1),L=["tabindex"],$={key:1,class:"main-wrapper__table-footer"};var z=e({__name:"FieldSet",props:{fields:{type:Array,default:()=>[]},footerFlag:{type:Boolean,default:!0},type:{type:String,default:"old"},isEdit:{type:Boolean,default:!1},showColumnNames:{type:Array},groupSetting:{type:Object},customColumns:{type:Array,default:()=>[]},showSeq:{type:Boolean,default:!1},showSearch:{type:Boolean,default:!1},showSortPriority:{type:Boolean,default:!1},showHeadFilter:{type:Boolean,default:!1},fieldShowMaxValue:{type:Number},rowDraggable:{type:Boolean,default:!0},fieldDescribeMode:{type:String,default:"tooltip"},developMode:{type:Boolean}},emits:["save","close","reset"],setup(e,{expose:z,emit:J}){const Q=e,X={sid:"id",columnName:"name",isShow:"show",isSort:"sort",isFixed:"fixedWay",colWidth:"columnWidth"};l();const Y=t(""),Z=t(),ee=t([]),le=t([{title:"所有字段",type:"text",field:"title"},{title:"显示",type:"checkbox",checkedAll:!1,disabledAll:!!Q.fieldShowMaxValue,field:"show",fieldShowMaxValue:Q.fieldShowMaxValue},{title:"编辑",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"editable"},{title:"必填",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"required"},{title:"排序",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"sort"},{title:"加粗",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"bold"},{title:"默认排序",type:"select",field:"sortDirection"},{title:"排序优先级",type:"select",field:"sortPriority"},{title:"固定",type:"select",field:"fixedWay"},{title:"自定义标题",type:"input",field:"alias"},{title:"列宽",type:"inputNumber",field:"columnWidth"},{title:"表头筛选",type:"checkbox",isHeadCheckHide:!0,field:"isShowHeaderFilter"}]),te=i((()=>ee.value.flat())),ie=i((()=>te.value.some((e=>e.feildDescribe)))),oe=o({columns:le,data:te,onUpdateChecked:function({checked:e,column:l}){const t=!e||he(l.field);l.checkedAll=!t},draggable:Q.rowDraggable,isFieldSet:!0,fieldDescribeMode:Q.fieldDescribeMode,developMode:Q.developMode}),de={keyword:Y.value,idx:0,startIdx:0},ae=()=>{J("save")},re=()=>{J("close")};function se(){ee.value=ne(),fe(),J("reset")}function ne(){const e=H(Q.fields).map((e=>({...e,uuid:U()})));return Object.keys(X).forEach((l=>{e.forEach((e=>{"old"==Q.type&&Reflect.has(e,l)&&("isFixed"==l?e.fixedWay=1==e[l]?"LEFT":2==e[l]?"RIGHT":"NONE":["isShow","isSort"].includes(l)&&"boolean"!=typeof l?e[X[l]]=1==e[l]:e[X[l]]=e[l],Reflect.deleteProperty(e,l)),e.columnWidth=+e.columnWidth||null,Reflect.has(e,"alias")||(e.alias=""),Reflect.has(e,"bold")||(e.bold=!1),e.draggable=!!R(e)}))})),function(e){if(Q.groupSetting){return I(Q.groupSetting,e).reduce(((t,i)=>{const o=N(i)?e.find((e=>e.name===i)):l(i.children);return o&&t.push(o),t}),[])}return e;function l(t){const i=[];return t.forEach((t=>{if(t.children)i.push(...l(t.children));else{const l=e.find((e=>e.name===t));l&&i.push(l)}})),i}}(e)}function ue(){const e=de.keyword!==Y.value;let l=Y.value?te.value.findIndex(((l,t)=>{var i;if(null==(i=l.title)?void 0:i.includes(Y.value))return!!e||t>de.idx})):0;-1!==l||e||(l=de.startIdx),Z.value.scrollTop=52*l,Object.assign(de,{keyword:Y.value,idx:l},e?{startIdx:l}:{})}function ce(e){var l;return!!Y.value&&(null==(l=e.title)?void 0:l.includes(Y.value))}function fe(){var e,l;(null==(e=Q.showColumnNames)?void 0:e.length)&&(le.value=le.value.filter((e=>{var l,t;return"title"===e.field||(null==(t=null==(l=Q.showColumnNames)?void 0:l.includes)?void 0:t.call(l,e.field))}))),(null==(l=Q.customColumns)?void 0:l.length)&&le.value.push(...Q.customColumns),"column"===Q.fieldDescribeMode&&ie.value&&le.value.push({title:"字段描述",type:"text",field:"feildDescribe"}),Q.showSeq&&le.value.splice(1,0,{title:"排序",type:"text",field:"seq"}),le.value.forEach((e=>{if(e.isShow=function(e){return!(["editable","required"].includes(e.field)&&!Q.isEdit||"sortPriority"===e.field&&!Q.showSortPriority||"isShowHeaderFilter"===e.field&&!Q.showHeadFilter)}(e),"checkbox"===e.type){const l=ee.value.flat().every((l=>!Reflect.has(l,e.field)));e.checkedAll=!he(e.field)&&!l}}))}function he(e){return ee.value.flat().some((l=>!q(l,e)&&!l[e]&&"0001"!=l.id))}function pe(e){return!!j(e.relatedContext.element)}return d([()=>Q.fields,()=>{var e;return null==(e=Q.showColumnNames)?void 0:e.length}],(([e,l])=>{e.length>0&&(ee.value=ne(),fe())}),{immediate:!0,deep:!0}),z({getTableFields:function(){let e=[];return e="old"==Q.type?te.value.map(((e,l)=>({id:e.id,field:e.name,visible:e.show,sequence:l,sortable:e.sort,title:e.alias,fixed:e.fixedWay,minWidth:e.columnWidth,bold:e.bold,sortDirection:e.sortDirection,sortPriority:e.sortPriority,...Q.isEdit?{required:e.required,editable:e.editable}:{}}))):te.value,e.map((e=>P(e,["uuid"])))}}),(l,t)=>(a(),r("div",T,[e.showSearch?(a(),s(n(A),{key:0,class:"main-wrapper__search-wrapper",value:Y.value,"onUpdate:value":t[0]||(t[0]=e=>Y.value=e),valueModifiers:{trim:!0},placeholder:"请输入字段标题",onKeydown:u(c(ue,["prevent"]),["enter"])},null,8,["value","onKeydown"])):f("v-if",!0),h("div",K,[(a(!0),r(p,null,m(le.value,((e,l)=>(a(),r(p,{key:l},[e.isShow?(a(),r("span",{key:0,class:"table-cell",style:y(n(V)(e,l))},["checkbox"!==e.type||e.isHeadCheckHide?(a(),r(p,{key:1},[b(g(e.title),1)],64)):(a(),s(n(_),{key:0,checked:e.checkedAll,"onUpdate:checked":[l=>e.checkedAll=l,l=>{return t=l,i=e.field,void te.value.forEach((e=>{q(e,i)||(e[i]=t)}));var t,i}],disabled:e.disabledAll},{default:v((()=>[b(g(e.title),1)])),_:2},1032,["checked","onUpdate:checked","disabled"])),"sortPriority"===e.field?(a(),s(n(C),{key:2,trigger:"hover"},{trigger:v((()=>[k(n(D),{component:n(O),style:{top:"2px"}},null,8,["component"])])),default:v((()=>[G])),_:1})):f("v-if",!0)],4)):f("v-if",!0)],64)))),128))]),h("div",{class:"main-wrapper__table-body",ref_key:"tableBodyRef",ref:Z},[k(n(W),{modelValue:ee.value,"onUpdate:modelValue":t[1]||(t[1]=e=>ee.value=e),animation:"150","item-key":"id",filter:".disabled",draggable:".item",move:pe,disabled:!e.rowDraggable},{item:v((({element:e,index:l})=>[e.hide?f("v-if",!0):(a(),r("div",{key:0,class:x(["item",n(j)(e)?"":"disabled"]),tabindex:l},[n(B)(e)?(a(!0),r(p,{key:0},m(e,((e,t)=>(a(),s(E,w(oe,{key:t,element:e,idx:l+1,"is-highlight":ce(e)}),null,16,["element","idx","is-highlight"])))),128)):(a(),s(E,w({key:1},oe,{element:e,idx:l+1,"is-highlight":ce(e)}),null,16,["element","idx","is-highlight"]))],10,L))])),_:1},8,["modelValue","disabled"])],512),e.footerFlag?(a(),r("div",$,[f(" 底部按钮插槽 "),S(l.$slots,"footer",{},(()=>[k(n(F),{onPositiveClick:se},{trigger:v((()=>[k(n(M),{style:{"margin-right":"8px"}},{default:v((()=>[b("恢复默认设置")])),_:1})])),default:v((()=>[b(" 确认要恢复系统默认设置吗? ")])),_:1}),k(n(M),{style:{"margin-right":"8px"},onClick:re},{default:v((()=>[b("取消")])),_:1}),k(n(M),{type:"primary",onClick:ae},{default:v((()=>[b("保存")])),_:1})]))])):f("v-if",!0)]))}});export{z as default};
1
+ import{defineComponent as e,useAttrs as l,ref as t,computed as i,reactive as o,watch as d,openBlock as a,createElementBlock as r,createBlock as s,unref as n,withKeys as u,withModifiers as c,createCommentVNode as f,createElementVNode as p,Fragment as h,renderList as m,normalizeStyle as y,withCtx as v,createTextVNode as b,toDisplayString as x,createVNode as g,normalizeClass as k,mergeProps as w,renderSlot as S}from"vue";import{NInput as A,NCheckbox as _,NTooltip as E,NIcon as D,NPopconfirm as W,NButton as C}from"naive-ui";import P from"../../../shared/components/VueDraggable/src/vuedraggable.js";import F from"./components/table-row.vue.js";import{isArray as M,cloneDeep as H,isString as B,omit as N}from"lodash-es";import{isDisable as j,setStyle as q,isDraggableItem as O,isDraggable as V,getGroupTree as R}from"./utils/index.js";import{uuidGenerator as I}from"../../../shared/utils/index.js";import{HelpCircleSharp as U}from"@vicons/ionicons5";const T={class:"main-wrapper"},K={class:"main-wrapper__table-header"},G=p("span",null,"数值越小,优先级越高",-1),L=["tabindex"],$={key:1,class:"main-wrapper__table-footer"};var z=e({__name:"FieldSet",props:{fields:{type:Array,default:()=>[]},footerFlag:{type:Boolean,default:!0},type:{type:String,default:"old"},isEdit:{type:Boolean,default:!1},showColumnNames:{type:Array},groupSetting:{type:Object},customColumns:{type:Array,default:()=>[]},showSeq:{type:Boolean,default:!1},showSearch:{type:Boolean,default:!1},showSortPriority:{type:Boolean,default:!1},showHeadFilter:{type:Boolean,default:!1},fieldShowMaxValue:{type:Number},rowDraggable:{type:Boolean,default:!0},fieldDescribeMode:{type:String,default:"tooltip"},developMode:{type:Boolean},columnWidthProps:{type:Object},showHideExpression:{type:Boolean},hideExpressionOption:{type:Array,default:()=>[]}},emits:["save","close","reset"],setup(e,{expose:z,emit:J}){const Q=e,X={sid:"id",columnName:"name",isShow:"show",isSort:"sort",isFixed:"fixedWay",colWidth:"columnWidth"};l();const Y=t(Date.now()),Z=t(""),ee=t(),le=t([]),te=[{title:"所有字段",type:"text",field:"title"},{title:"显示",type:"checkbox",checkedAll:!1,disabledAll:!!Q.fieldShowMaxValue,field:"show",fieldShowMaxValue:Q.fieldShowMaxValue},{title:"编辑",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"editable"},{title:"必填",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"required"},{title:"排序",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"sort"},{title:"加粗",type:"checkbox",checkedAll:!1,disabledAll:!1,field:"bold"},{title:"默认排序",type:"select",field:"sortDirection"},{title:"排序优先级",type:"select",field:"sortPriority"},{title:"固定",type:"select",field:"fixedWay"},{title:"自定义标题",type:"input",field:"alias"},{title:"列宽",type:"inputNumber",field:"columnWidth"},{title:"表头筛选",type:"checkbox",isHeadCheckHide:!0,field:"isShowHeaderFilter"},{title:"脱敏配置",type:"select",field:"hideExpression"}],ie=t([]),oe=i((()=>le.value.flat())),de=i((()=>oe.value.some((e=>e.feildDescribe)))),ae=o({columns:ie,data:oe,onUpdateChecked:function({checked:e,column:l}){const t=!e||me(l.field);l.checkedAll=!t},draggable:Q.rowDraggable,isFieldSet:!0,fieldDescribeMode:Q.fieldDescribeMode,developMode:Q.developMode,columnWidthProps:Q.columnWidthProps,hideExpressionOption:Q.hideExpressionOption}),re={keyword:Z.value,idx:0,startIdx:0},se=()=>{J("save")},ne=()=>{J("close")};function ue(){le.value=ce(),he(),Y.value=Date.now(),J("reset")}function ce(){const e=H(Q.fields).map((e=>({...e,uuid:I()})));return Object.keys(X).forEach((l=>{e.forEach((e=>{"old"==Q.type&&Reflect.has(e,l)&&("isFixed"==l?e.fixedWay=1==e[l]?"LEFT":2==e[l]?"RIGHT":"NONE":["isShow","isSort"].includes(l)&&"boolean"!=typeof l?e[X[l]]=1==e[l]:e[X[l]]=e[l],Reflect.deleteProperty(e,l)),e.columnWidth=+e.columnWidth||null,Reflect.has(e,"alias")||(e.alias=""),Reflect.has(e,"bold")||(e.bold=!1),e.draggable=!!V(e)}))})),function(e){if(Q.groupSetting){return R(Q.groupSetting,e).reduce(((t,i)=>{const o=B(i)?e.find((e=>e.name===i)):l(i.children);return o&&t.push(o),t}),[])}return e;function l(t){const i=[];return t.forEach((t=>{if(t.children)i.push(...l(t.children));else{const l=e.find((e=>e.name===t));l&&i.push(l)}})),i}}(e)}function fe(){const e=re.keyword!==Z.value;let l=Z.value?oe.value.findIndex(((l,t)=>{var i;if(null==(i=l.title)?void 0:i.includes(Z.value))return!!e||t>re.idx})):0;-1!==l||e||(l=re.startIdx),ee.value.scrollTop=52*l,Object.assign(re,{keyword:Z.value,idx:l},e?{startIdx:l}:{})}function pe(e){var l;return!!Z.value&&(null==(l=e.title)?void 0:l.includes(Z.value))}function he(){var e,l;ie.value=H(te),(null==(e=Q.showColumnNames)?void 0:e.length)&&(ie.value=te.filter((e=>{var l,t;return"title"===e.field||(null==(t=null==(l=Q.showColumnNames)?void 0:l.includes)?void 0:t.call(l,e.field))}))),(null==(l=Q.customColumns)?void 0:l.length)&&ie.value.push(...Q.customColumns),"column"===Q.fieldDescribeMode&&de.value&&ie.value.push({title:"字段描述",type:"text",field:"feildDescribe"}),Q.showSeq&&ie.value.splice(1,0,{title:"排序",type:"text",field:"seq"}),ie.value.forEach((e=>{if(e.isShow=function(e){return!(["editable","required"].includes(e.field)&&!Q.isEdit||"sortPriority"===e.field&&!Q.showSortPriority||"isShowHeaderFilter"===e.field&&!Q.showHeadFilter||"hideExpression"===e.field&&!Q.showHideExpression)}(e),"checkbox"===e.type){const l=le.value.flat().every((l=>!Reflect.has(l,e.field)));e.checkedAll=!me(e.field)&&!l}}))}function me(e){return le.value.flat().some((l=>!j(l,e)&&!l[e]&&"0001"!=l.id))}function ye(e){return!!O(e.relatedContext.element)}return d([()=>Q.fields,()=>{var e;return null==(e=Q.showColumnNames)?void 0:e.length}],(([e,l])=>{e.length>0&&(le.value=ce(),he())}),{immediate:!0,deep:!0}),z({getTableFields:function(){let e=[];return e="old"==Q.type?oe.value.map(((e,l)=>({id:e.id,field:e.name,visible:e.show,sequence:l,sortable:e.sort,title:e.alias,fixed:e.fixedWay,minWidth:e.columnWidth,bold:e.bold,sortDirection:e.sortDirection,sortPriority:e.sortPriority,...Q.isEdit?{required:e.required,editable:e.editable}:{}}))):oe.value,e.map((e=>N(e,["uuid"])))}}),(l,t)=>(a(),r("div",T,[e.showSearch?(a(),s(n(A),{key:0,class:"main-wrapper__search-wrapper",value:Z.value,"onUpdate:value":t[0]||(t[0]=e=>Z.value=e),valueModifiers:{trim:!0},placeholder:"请输入字段标题",onKeydown:u(c(fe,["prevent"]),["enter"])},null,8,["value","onKeydown"])):f("v-if",!0),p("div",K,[(a(!0),r(h,null,m(ie.value,((l,t)=>(a(),r(h,{key:t},[l.isShow?(a(),r("span",{key:0,class:"table-cell",style:y(n(q)(l,t,e.columnWidthProps))},["checkbox"!==l.type||l.isHeadCheckHide?(a(),r(h,{key:1},[b(x(l.title),1)],64)):(a(),s(n(_),{key:0,checked:l.checkedAll,"onUpdate:checked":[e=>l.checkedAll=e,e=>{return t=e,i=l.field,void oe.value.forEach((e=>{j(e,i)||(e[i]=t)}));var t,i}],disabled:l.disabledAll},{default:v((()=>[b(x(l.title),1)])),_:2},1032,["checked","onUpdate:checked","disabled"])),"sortPriority"===l.field?(a(),s(n(E),{key:2,trigger:"hover"},{trigger:v((()=>[g(n(D),{component:n(U),style:{top:"2px"}},null,8,["component"])])),default:v((()=>[G])),_:1})):f("v-if",!0)],4)):f("v-if",!0)],64)))),128))]),p("div",{class:"main-wrapper__table-body",ref_key:"tableBodyRef",ref:ee},[(a(),s(n(P),{modelValue:le.value,"onUpdate:modelValue":t[1]||(t[1]=e=>le.value=e),animation:"150","item-key":"id",filter:".disabled",draggable:".item",move:ye,disabled:!e.rowDraggable,key:Y.value},{item:v((({element:e,index:l})=>[e.hide?f("v-if",!0):(a(),r("div",{key:0,class:k(["item",n(O)(e)?"":"disabled"]),tabindex:l},[n(M)(e)?(a(!0),r(h,{key:0},m(e,((e,t)=>(a(),s(F,w(ae,{key:t,element:e,idx:l+1,"is-highlight":pe(e)}),null,16,["element","idx","is-highlight"])))),128)):(a(),s(F,w({key:1},ae,{element:e,idx:l+1,"is-highlight":pe(e)}),null,16,["element","idx","is-highlight"]))],10,L))])),_:1},8,["modelValue","disabled"]))],512),e.footerFlag?(a(),r("div",$,[f(" 底部按钮插槽 "),S(l.$slots,"footer",{},(()=>[g(n(W),{onPositiveClick:ue},{trigger:v((()=>[g(n(C),{style:{"margin-right":"8px"}},{default:v((()=>[b("恢复默认设置")])),_:1})])),default:v((()=>[b(" 确认要恢复系统默认设置吗? ")])),_:1}),g(n(C),{style:{"margin-right":"8px"},onClick:ne},{default:v((()=>[b("取消")])),_:1}),g(n(C),{type:"primary",onClick:se},{default:v((()=>[b("保存")])),_:1})]))])):f("v-if",!0)]))}});export{z as default};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,ref as n,unref as o,openBlock as t,createElementBlock as i,normalizeStyle as a,createElementVNode as u,createVNode as s,Fragment as c,renderList as d,toDisplayString as p,createCommentVNode as r,withDirectives as m,vShow as f}from"vue";import{NIcon as v,NSelect as _,NInput as T,NInputNumber as E}from"naive-ui";import{AddCircleSharp as N,RemoveCircle as O}from"@vicons/ionicons5";import{CUSTOM_INPUT_OPTIONS as U,InjectionFieldList as y,InjectionQueryWordbookData as h,BOOLEAN_OPTIONS as I,UNIT_OPTIONS as k,FIELD_TYPE_LIST as b,SHOWSETTING_OPTIONS as Q,WORDBOOK_OPTIONS as g}from"../constants/index.js";import S from"../../../date-picker/index.js";import{useTheme as V}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{cloneDeep as L,isArray as x,isFunction as A}from"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";const D=u("span",{style:{"margin-left":"5px"}},"添加操作",-1),F={class:"condition-wrapper"},j={class:"item-index"},w={class:"sql-expression-wrapper"},R=u("span",null,"筛选器逻辑编辑,不设置默认为AND",-1),H=u("br",null,null,-1),C=u("span",null,"例子 (1 AND 2) OR 3",-1);var B=e({__name:"condition",props:{data:{type:Object,default:null}},setup(e,{expose:B}){const M=e,G=U[0].columnName,J=V(),P=L(l(y)),q=l(h),z=n([]),W=n("");function X(e,l=!1){var n,o;l||(e.compareFieldOptions=[],e.con="",Y(e));const{field_key:t}=e,i=P.find((e=>e.columnName===t));if(!i)return void(e.conOptions=[]);const{fieldType:a,settingObj:u={}}=i;e.fieldType=a;const s=L((null==(n=b.find((e=>e.name===a)))?void 0:n.conList)||[]),{showSetting:c,wordbook:d}=u;(null==c?void 0:c.length)&&s.unshift(...Q),(null==(o=Object.keys(d||{}))?void 0:o.length)&&s.unshift(...g),e.conOptions=s}async function K(e,l=!1){e.compareFieldOptions=[],l||Y(e);const{field_key:n,fieldType:o,con:t}=e,i=P.find((e=>e.columnName===n));if(!i)return void(e.conOptions=[]);const{settingObj:a={}}=i||{},{showSetting:u,wordbook:s}=a,c=[];if(["IN","NEQ","BIG","LESS","BIGEQ","LESSEQ","EQ"].includes(t)){c.push(...U),l||(e.compare_field=G);const t=P.filter((e=>e.fieldType===o&&e.columnName!==n));c.push(...t)}if(g.map((e=>e.name)).includes(t)&&A(q)){const l=await q(s);c.push(...(d=l,p="label",r="value",d.map((e=>({...e,title:e[p],columnName:e[r]}))))),e.multiple=!0}var d,p,r;if(Q.map((e=>e.name)).includes(t)&&(null==u?void 0:u.length)){const l=u.map((e=>({...e,title:e.change_text,columnName:JSON.stringify(e.filter||[])})));c.push(...l),e.multiple=!0}e.compareFieldOptions=c}function Y(e){e.multiple=!1,e.compare_field=null,e.value="",e.numberValue=null,e.dateValue=null,e.unit=null}function Z(e){const{con:l,fieldType:n}=e;return"BOOLEAN"===n&&l&&["EQ","NEQ"].includes(l)}function $(e){const{compare_field:l,con:n,fieldType:o}=e;return!(!n||["CONVERT","QUOTE","QUOTE_NOT"].includes(n))&&(!(!["TEXT","JSONB"].includes(o)||["NULL","NOT_NULL"].includes(n))&&(!["EQ","NEQ"].includes(n)||l===G))}function ee(e){if($(e))return!1;const{compare_field:l,con:n,field_key:o,fieldType:t}=e;return!(!n||["CONVERT","QUOTE","QUOTE_NOT"].includes(n))&&("NUMBER"===t?!["NULL","NOT_NULL"].includes(n)&&l===G:!!["DATE","DATETIME","TIME"].includes(t)&&["L_","N_","IN_THE_PAST","IN_THE_FUTURE","IN_THE_PAST_DI","IN_THE_FUTURE_DI"].includes(n))}function le(e){const{compare_field:l,con:n,field_key:o,fieldType:t}=e;return!!n&&(!!["DATE","DATETIME","TIME"].includes(t)&&["L_","N_","IN_THE_PAST","IN_THE_FUTURE","IN_THE_PAST_DI","IN_THE_FUTURE_DI"].includes(n))}function ne(e){const{compare_field:l,con:n,field_key:o,fieldType:t}=e;return!!n&&(!!["DATE","DATETIME","TIME"].includes(t)&&(["IN","NEQ","BIG","LESS","BIGEQ","LESSEQ"].includes(n)&&l===G))}function oe(e){return["IN","NEQ"].includes(e.con)?"datetimerange":"datetime"}function te(){const e={field_key:P[0].columnName,fieldType:"",con:"",conOptions:[],compare_field:"",compareFieldOptions:[],unit:"",numberValue:null,dateValue:null,multiple:!1};X(e),e.con="",z.value.push(e)}return function(){const{condition:e=[],sqlExpression:l=""}=M.data||{};e.length&&(z.value=e);l&&(W.value=l);z.value.forEach((e=>{X(e,!0),K(e,!0);const{con:l,value:n,start_val:o,end_val:t}=e;"CONVERT"===l&&(e.compare_field=x(n)?n.map((e=>JSON.stringify(e))):n),"QUOTE"!==l&&"QUOTE_NOT"!==l||(e.compare_field=n.split("|#|")),ee(e)&&(e.numberValue=+n),ne(e)&&(oe(e).endsWith("range")?e.dateValue=o&&t?[o,t]:null:e.dateValue=n)}))}(),B({getData:()=>({condition:z.value.map((e=>{const{field_key:l,con:n,value:o,compare_field:t,numberValue:i,dateValue:a,unit:u,fieldType:s,compareFieldOptions:c}=e;let d,p,r,m,f=o,v=t;return"CONVERT"===n&&(f=x(t)?t.map((e=>JSON.parse(e))):t,v=""),"QUOTE"!==n&&"QUOTE_NOT"!==n||(f=x(t)?t.join("|#|"):t,d=c.filter((e=>t.includes(e.columnName))),v=""),ee(e)&&(f=i,v=G),ne(e)&&(oe(e).endsWith("range")?(f="",r=x(a)?a[0]:"",m=x(a)?a[1]:""):f=a),le(e)&&(p=u),$(e)&&e.compareFieldOptions.length>0&&(v=G),{field_key:l,fieldType:s,con:n,value:f,compare_field:v,is_compare_field:!!v,start_val:r,end_val:m,wordbookValueList:d,unit:p}})),sqlExpression:o(W)})}),(e,l)=>(t(),i("div",{class:"c-field-set__condition",style:a(o(J))},[u("span",{class:"opt-btn",onClick:te},[s(o(v),{component:o(N),size:"20",color:"var(--c-primary-color)"},null,8,["component"]),D]),u("section",F,[(t(!0),i(c,null,d(z.value,((e,l)=>(t(),i("div",{class:"condition-wrapper__item",key:l},[u("span",j,p(l+1),1),r(" 选择 field_key "),s(o(_),{value:e.field_key,"onUpdate:value":[l=>e.field_key=l,l=>X(e)],placeholder:"请选择字段名","label-field":"title","value-field":"columnName",clearable:"",options:o(P)},null,8,["value","onUpdate:value","options"]),r(" 选择 关系 "),s(o(_),{value:e.con,"onUpdate:value":[l=>e.con=l,l=>K(e)],"label-field":"text","value-field":"name",options:e.conOptions},null,8,["value","onUpdate:value","options"]),r(" 下拉框展示本列表相同数据类型 "),m(s(o(_),{value:e.compare_field,"onUpdate:value":l=>e.compare_field=l,"label-field":"title","value-field":"columnName",clearable:"",multiple:e.multiple,options:e.compareFieldOptions},null,8,["value","onUpdate:value","multiple","options"]),[[f,e.compareFieldOptions.length>0]]),r(" 布尔值类型字段选择是否相等的值 "),m(s(o(_),{value:e.value,"onUpdate:value":l=>e.value=l,options:o(I)},null,8,["value","onUpdate:value","options"]),[[f,Z(e)]]),r(" 自定义内容 "),m(s(o(T),{value:e.value,"onUpdate:value":l=>e.value=l},null,8,["value","onUpdate:value"]),[[f,$(e)]]),r(" 自定义内容/数字框/日期 "),m(s(o(E),{value:e.numberValue,"onUpdate:value":l=>e.numberValue=l},null,8,["value","onUpdate:value"]),[[f,ee(e)]]),r(" 自定义日期的单位 "),m(s(o(_),{style:{width:"80px"},value:e.unit,"onUpdate:value":l=>e.unit=l,options:o(k)},null,8,["value","onUpdate:value","options"]),[[f,le(e)]]),m(s(o(S),{type:oe(e),"formatted-value":e.dateValue,"onUpdate:formatted-value":l=>e.dateValue=l},null,8,["type","formatted-value","onUpdate:formatted-value"]),[[f,ne(e)]]),s(o(v),{component:o(O),size:"20",color:"red",onClick:()=>function(e){z.value.splice(e,1)}(l)},null,8,["component","onClick"])])))),128))]),m(u("section",w,[R,H,C,s(o(T),{type:"textarea",value:W.value,"onUpdate:value":l[0]||(l[0]=e=>W.value=e)},null,8,["value"])],512),[[f,z.value.length>1]])],4))}});export{B as default};
1
+ import{defineComponent as e,inject as l,ref as n,unref as o,openBlock as t,createElementBlock as i,normalizeStyle as a,createElementVNode as u,createVNode as s,Fragment as c,renderList as d,toDisplayString as p,createCommentVNode as r,withDirectives as m,vShow as f}from"vue";import{NIcon as v,NSelect as _,NInput as T,NInputNumber as E}from"naive-ui";import{AddCircleSharp as N,RemoveCircle as O}from"@vicons/ionicons5";import{CUSTOM_INPUT_OPTIONS as U,InjectionFieldList as y,InjectionQueryWordbookData as h,BOOLEAN_OPTIONS as I,UNIT_OPTIONS as k,FIELD_TYPE_LIST as b,SHOWSETTING_OPTIONS as g,WORDBOOK_OPTIONS as Q}from"../constants/index.js";import S from"../../../date-picker/index.js";import{useTheme as L}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{cloneDeep as V,isArray as x,isFunction as A}from"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";const D=u("span",{style:{"margin-left":"5px"}},"添加操作",-1),F={class:"condition-wrapper"},j={class:"item-index"},w={class:"sql-expression-wrapper"},R=u("span",null,"筛选器逻辑编辑,不设置默认为AND",-1),H=u("br",null,null,-1),C=u("span",null,"例子 (1 AND 2) OR 3",-1);var B=e({__name:"condition",props:{data:{type:Object,default:null}},setup(e,{expose:B}){const M=e,G=U[0].columnName,J=L(),P=V(l(y)),q=l(h),z=n([]),W=n("");function X(e,l=!1){var n,o;l||(e.compareFieldOptions=[],e.con="",Y(e));const{field_key:t}=e,i=P.find((e=>e.columnName===t));if(!i)return void(e.conOptions=[]);const{fieldType:a,settingObj:u={}}=i;e.fieldType=a;const s=V((null==(n=b.find((e=>e.name===a)))?void 0:n.conList)||[]),{showSetting:c,wordbook:d}=u;(null==c?void 0:c.length)&&s.unshift(...g),(null==(o=Object.keys(d||{}))?void 0:o.length)&&s.unshift(...Q),e.conOptions=s}async function K(e,l=!1){e.compareFieldOptions=[],l||Y(e);const{field_key:n,fieldType:o,con:t}=e,i=P.find((e=>e.columnName===n));if(!i)return void(e.conOptions=[]);const{settingObj:a={}}=i||{},{showSetting:u,wordbook:s}=a,c=[];if(["IN","NEQ","BIG","LESS","BIGEQ","LESSEQ","EQ"].includes(t)){c.push(...U),l||(e.compare_field=G);const t=P.filter((e=>e.fieldType===o&&e.columnName!==n));c.push(...t)}if(Q.map((e=>e.name)).includes(t)&&A(q)){const l=await q(s);c.push(...(d=l,p="label",r="value",d.map((e=>({...e,title:e[p],columnName:e[r]}))))),e.multiple=!0}var d,p,r;if(g.map((e=>e.name)).includes(t)&&(null==u?void 0:u.length)){const l=u.map((e=>({...e,title:e.change_text,columnName:JSON.stringify(e.filter||[])})));c.push(...l),e.multiple=!0}e.compareFieldOptions=c}function Y(e){e.multiple=!1,e.compare_field=null,e.value="",e.numberValue=null,e.dateValue=null,e.unit=null}function Z(e){const{con:l,fieldType:n}=e;return"BOOLEAN"===n&&l&&["EQ","NEQ"].includes(l)}function $(e){const{compare_field:l,con:n,fieldType:o}=e;return!(!n||["CONVERT","QUOTE","QUOTE_NOT"].includes(n))&&(!(!["TEXT","JSONB"].includes(o)||["NULL","NOT_NULL"].includes(n))&&(!["EQ","NEQ"].includes(n)||l===G))}function ee(e){if($(e))return!1;const{compare_field:l,con:n,field_key:o,fieldType:t}=e;return!(!n||["CONVERT","QUOTE","QUOTE_NOT"].includes(n))&&("NUMBER"===t?!["NULL","NOT_NULL"].includes(n)&&l===G:!!["DATE","DATETIME","TIME"].includes(t)&&["L_","N_","IN_THE_PAST","IN_THE_FUTURE","IN_THE_PAST_DI","IN_THE_FUTURE_DI"].includes(n))}function le(e){const{compare_field:l,con:n,field_key:o,fieldType:t}=e;return!!n&&(!!["DATE","DATETIME","TIME"].includes(t)&&["L_","N_","IN_THE_PAST","IN_THE_FUTURE","IN_THE_PAST_DI","IN_THE_FUTURE_DI"].includes(n))}function ne(e){const{compare_field:l,con:n,field_key:o,fieldType:t}=e;return!!n&&(!!["DATE","DATETIME","TIME"].includes(t)&&(["IN","NEQ","BIG","LESS","BIGEQ","LESSEQ"].includes(n)&&l===G))}function oe(e){return["IN","NEQ"].includes(e.con)?"datetimerange":"datetime"}function te(){const e={field_key:P[0].columnName,fieldType:"",con:"",conOptions:[],compare_field:"",compareFieldOptions:[],unit:"",numberValue:null,dateValue:null,multiple:!1};X(e),e.con="",z.value.push(e)}return function(){const{condition:e=[],sqlExpression:l=""}=M.data||{};e.length&&(z.value=e);l&&(W.value=l);z.value.forEach((e=>{X(e,!0),K(e,!0);const{con:l,value:n,start_val:o,end_val:t}=e;"CONVERT"===l&&(e.compare_field=x(n)?n.map((e=>JSON.stringify(e))):n),"QUOTE"!==l&&"QUOTE_NOT"!==l||(e.compare_field=n.split("|#|")),ee(e)&&(e.numberValue=+n),ne(e)&&(oe(e).endsWith("range")?e.dateValue=o&&t?[o,t]:null:e.dateValue=n)}))}(),B({getData:()=>({condition:z.value.map((e=>{const{field_key:l,con:n,value:o,compare_field:t,numberValue:i,dateValue:a,unit:u,fieldType:s,compareFieldOptions:c}=e;let d,p,r,m,f=o,v=t;return"CONVERT"===n&&(f=x(t)?t.map((e=>JSON.parse(e))):t,v=""),"QUOTE"!==n&&"QUOTE_NOT"!==n||(f=x(t)?t.join("|#|"):t,d=c.filter((e=>t.includes(e.columnName))),v=""),ee(e)&&(f=i,v=G),ne(e)&&(oe(e).endsWith("range")?(f="",r=x(a)?a[0]:"",m=x(a)?a[1]:""):f=a),le(e)&&(p=u),$(e)&&e.compareFieldOptions.length>0&&(v=G),{field_key:l,fieldType:s,con:n,value:f,compare_field:v,is_compare_field:!!v,start_val:r,end_val:m,wordbookValueList:d,unit:p}})),sqlExpression:o(W)})}),(e,l)=>(t(),i("div",{class:"c-field-set__condition",style:a(o(J))},[u("span",{class:"opt-btn",onClick:te},[s(o(v),{component:o(N),size:"20",color:"var(--c-primary-color)"},null,8,["component"]),D]),u("section",F,[(t(!0),i(c,null,d(z.value,((e,l)=>(t(),i("div",{class:"condition-wrapper__item",key:l},[u("span",j,p(l+1),1),r(" 选择 field_key "),s(o(_),{value:e.field_key,"onUpdate:value":[l=>e.field_key=l,l=>X(e)],placeholder:"请选择字段名","label-field":"title","value-field":"columnName",clearable:"",options:o(P)},null,8,["value","onUpdate:value","options"]),r(" 选择 关系 "),s(o(_),{value:e.con,"onUpdate:value":[l=>e.con=l,l=>K(e)],"label-field":"text","value-field":"name",options:e.conOptions},null,8,["value","onUpdate:value","options"]),r(" 下拉框展示本列表相同数据类型 "),m(s(o(_),{value:e.compare_field,"onUpdate:value":l=>e.compare_field=l,"label-field":"title","value-field":"columnName",clearable:"",multiple:e.multiple,options:e.compareFieldOptions},null,8,["value","onUpdate:value","multiple","options"]),[[f,e.compareFieldOptions.length>0]]),r(" 布尔值类型字段选择是否相等的值 "),m(s(o(_),{value:e.value,"onUpdate:value":l=>e.value=l,options:o(I)},null,8,["value","onUpdate:value","options"]),[[f,Z(e)]]),r(" 自定义内容 "),m(s(o(T),{value:e.value,"onUpdate:value":l=>e.value=l},null,8,["value","onUpdate:value"]),[[f,$(e)]]),r(" 自定义内容/数字框/日期 "),m(s(o(E),{value:e.numberValue,"onUpdate:value":l=>e.numberValue=l},null,8,["value","onUpdate:value"]),[[f,ee(e)]]),r(" 自定义日期的单位 "),m(s(o(_),{style:{width:"80px"},value:e.unit,"onUpdate:value":l=>e.unit=l,options:o(k)},null,8,["value","onUpdate:value","options"]),[[f,le(e)]]),m(s(o(S),{type:oe(e),"formatted-value":e.dateValue,"onUpdate:formatted-value":l=>e.dateValue=l},null,8,["type","formatted-value","onUpdate:formatted-value"]),[[f,ne(e)]]),s(o(v),{component:o(O),size:"20",color:"red",onClick:()=>function(e){z.value.splice(e,1)}(l)},null,8,["component","onClick"])])))),128))]),m(u("section",w,[R,H,C,s(o(T),{type:"textarea",value:W.value,"onUpdate:value":l[0]||(l[0]=e=>W.value=e)},null,8,["value"])],512),[[f,z.value.length>1]])],4))}});export{B as default};
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,ref as o,computed as a,reactive as t,openBlock as i,createBlock as r,unref as s,withCtx as n,createVNode as u,normalizeStyle as c,createElementVNode as d,createCommentVNode as m}from"vue";import{useMessage as p,NModal as f,NForm as v,NFormItem as b,NInput as h,NColorPicker as g,NSelect as k,NCheckbox as _,NRadioGroup as w,NSpace as y,NRadio as C}from"naive-ui";import{useTheme as j}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import x from"./condition.vue.js";import F from"./edit-filter.vue.js";import{COLOR_MAP as N,InjectionFieldList as U}from"../constants/index.js";var O=e({__name:"edit-dialog",props:{visible:{type:Boolean,default:!1},isFieldColor:{type:Boolean,default:!0},row:{type:Object,default:null}},emits:["update:visible","confirm"],setup(e,{emit:O}){const q=e,S=j(),B=p(),E=Object.entries(N).map((([e,l])=>({label:l,value:e}))),R=Object.entries(N).map((([e])=>e)),D=l(U),H=o(),P=o(),T=o(!1),W=a((()=>q.row?q.isFieldColor?"修改":"过滤条件":"新增")),z=t({name:"",color:"",status:!0,columnName:"",colorScope:q.isFieldColor?"font":"background",condition:[],sqlExpression:""}),A=t({name:[{required:!0,message:"请输入名称",trigger:["blur"]}],color:[{required:!0,message:"请选择颜色",trigger:["blur"]}],columnName:[{required:!0,validator:(e,l)=>!(!l&&q.isFieldColor)||new Error("请选择字段"),trigger:["blur"]}]});function G(e){return u("span",{style:{"--color":e.value},class:"c-field-set__color-block"},[e.label])}function I(){var e;console.log(z),null==(e=H.value)||e.validate((async e=>{var l,o;if(e){const l=await e;B.warning(l[0][0].message)}else{if(q.isFieldColor||Object.assign(z,P.value.getData()),!(null==(l=z.condition)?void 0:l.length))return void B.warning("请配置过滤条件");const e=q.isFieldColor?{title:null==(o=D.find((e=>e.columnName===z.columnName)))?void 0:o.title}:{};O("confirm",{...z,...e}),J()}}))}function J(){O("update:visible",!1)}function K(e){Object.assign(z,e)}return function(){if(!q.row)return;Object.assign(z,q.row)}(),(l,o)=>(i(),r(s(f),{preset:"dialog",style:{width:"860px"},title:s(W),"close-on-esc":!1,"show-icon":!1,"mask-closable":!1,"positive-text":"确定","negative-text":"取消","trap-focus":!1,show:e.visible,onPositiveClick:I,onNegativeClick:J,onClose:J},{default:n((()=>[u(s(v),{ref_key:"formRef",ref:H,model:z,rules:A,"label-placement":"left","label-width":"auto","show-feedback":!1,"show-require-mark":!1,style:c({maxWidth:"500px",...s(S)})},{default:n((()=>[u(s(b),{label:"名称:",path:"name",style:{"margin-bottom":"10px"}},{default:n((()=>[u(s(h),{value:z.name,"onUpdate:value":o[0]||(o[0]=e=>z.name=e),placeholder:"请填写名称",clearable:""},null,8,["value"])])),_:1}),e.isFieldColor?(i(),r(s(b),{key:0,label:"颜色:",path:"color"},{default:n((()=>[u(s(g),{clearable:"",placeholder:"请选择颜色",value:z.color,"onUpdate:value":o[1]||(o[1]=e=>z.color=e),swatches:s(R),modes:["hex"],class:"c-field-set__color-picker"},null,8,["value","swatches"])])),_:1})):(i(),r(s(b),{key:1,label:"颜色:",path:"color"},{default:n((()=>[u(s(k),{value:z.color,"onUpdate:value":o[2]||(o[2]=e=>z.color=e),placeholder:"请选择颜色","render-label":G,options:s(E)},null,8,["value","options"])])),_:1})),u(s(b),{label:"显示:",path:"status"},{default:n((()=>[u(s(_),{checked:z.status,"onUpdate:checked":o[3]||(o[3]=e=>z.status=e)},null,8,["checked"])])),_:1}),u(s(b),{label:"颜色应用于:",path:"colorScope"},{default:n((()=>[u(s(w),{value:z.colorScope,"onUpdate:value":o[4]||(o[4]=e=>z.colorScope=e)},{default:n((()=>[u(s(y),null,{default:n((()=>[u(s(C),{label:"字体",value:"font"}),u(s(C),{label:"背景",value:"background"})])),_:1})])),_:1},8,["value"])])),_:1}),e.isFieldColor?(i(),r(s(b),{key:2,label:"字段:",path:"columnName",style:{"margin-bottom":"10px"}},{default:n((()=>[u(s(y),{class:"c-field-set__space",align:"center"},{default:n((()=>[u(s(k),{value:z.columnName,"onUpdate:value":o[5]||(o[5]=e=>z.columnName=e),placeholder:"请选择字段名","label-field":"title","value-field":"columnName",options:s(D)},null,8,["value","options"]),d("span",{class:"filter-btn",onClick:o[6]||(o[6]=()=>T.value=!0)},"筛选")])),_:1})])),_:1})):m("v-if",!0)])),_:1},8,["model","rules","style"]),e.isFieldColor?(i(),r(F,{key:1,visible:T.value,"onUpdate:visible":o[7]||(o[7]=e=>T.value=e),model:z,onConfirm:K},null,8,["visible","model"])):(i(),r(x,{key:0,ref_key:"conditionRef",ref:P,data:z},null,8,["data"]))])),_:1},8,["title","show"]))}});export{O as default};
1
+ import{defineComponent as e,inject as l,ref as o,computed as a,reactive as t,openBlock as i,createBlock as r,unref as s,withCtx as n,createVNode as u,normalizeStyle as c,createElementVNode as d,createCommentVNode as m}from"vue";import{useMessage as p,NModal as f,NForm as v,NFormItem as b,NInput as h,NColorPicker as g,NSelect as k,NCheckbox as _,NRadioGroup as w,NSpace as y,NRadio as C}from"naive-ui";import{useTheme as j}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"../../../../shared/hooks/useScrollLoading.js";import x from"./condition.vue.js";import F from"./edit-filter.vue.js";import{COLOR_MAP as N,InjectionFieldList as U}from"../constants/index.js";var O=e({__name:"edit-dialog",props:{visible:{type:Boolean,default:!1},isFieldColor:{type:Boolean,default:!0},row:{type:Object,default:null}},emits:["update:visible","confirm"],setup(e,{emit:O}){const S=e,q=j(),B=p(),E=Object.entries(N).map((([e,l])=>({label:l,value:e}))),R=Object.entries(N).map((([e])=>e)),D=l(U),H=o(),L=o(),P=o(!1),T=a((()=>S.row?S.isFieldColor?"修改":"过滤条件":"新增")),W=t({name:"",color:"",status:!0,columnName:"",colorScope:S.isFieldColor?"font":"background",condition:[],sqlExpression:""}),z=t({name:[{required:!0,message:"请输入名称",trigger:["blur"]}],color:[{required:!0,message:"请选择颜色",trigger:["blur"]}],columnName:[{required:!0,validator:(e,l)=>!(!l&&S.isFieldColor)||new Error("请选择字段"),trigger:["blur"]}]});function A(e){return u("span",{style:{"--color":e.value},class:"c-field-set__color-block"},[e.label])}function G(){var e;null==(e=H.value)||e.validate((async e=>{var l,o;if(e){const l=await e;B.warning(l[0][0].message)}else{if(S.isFieldColor||Object.assign(W,L.value.getData()),!(null==(l=W.condition)?void 0:l.length))return void B.warning("请配置过滤条件");const e=S.isFieldColor?{title:null==(o=D.find((e=>e.columnName===W.columnName)))?void 0:o.title}:{};O("confirm",{...W,...e}),I()}}))}function I(){O("update:visible",!1)}function J(e){Object.assign(W,e)}return function(){if(!S.row)return;Object.assign(W,S.row)}(),(l,o)=>(i(),r(s(f),{preset:"dialog",style:{width:"860px"},title:s(T),"close-on-esc":!1,"show-icon":!1,"mask-closable":!1,"positive-text":"确定","negative-text":"取消","trap-focus":!1,show:e.visible,onPositiveClick:G,onNegativeClick:I,onClose:I},{default:n((()=>[u(s(v),{ref_key:"formRef",ref:H,model:W,rules:z,"label-placement":"left","label-width":"auto","show-feedback":!1,"show-require-mark":!1,style:c({maxWidth:"500px",...s(q)})},{default:n((()=>[u(s(b),{label:"名称:",path:"name",style:{"margin-bottom":"10px"}},{default:n((()=>[u(s(h),{value:W.name,"onUpdate:value":o[0]||(o[0]=e=>W.name=e),placeholder:"请填写名称",clearable:""},null,8,["value"])])),_:1}),e.isFieldColor?(i(),r(s(b),{key:0,label:"颜色:",path:"color"},{default:n((()=>[u(s(g),{clearable:"",placeholder:"请选择颜色",value:W.color,"onUpdate:value":o[1]||(o[1]=e=>W.color=e),swatches:s(R),modes:["hex"],class:"c-field-set__color-picker"},null,8,["value","swatches"])])),_:1})):(i(),r(s(b),{key:1,label:"颜色:",path:"color"},{default:n((()=>[u(s(k),{value:W.color,"onUpdate:value":o[2]||(o[2]=e=>W.color=e),placeholder:"请选择颜色","render-label":A,options:s(E)},null,8,["value","options"])])),_:1})),u(s(b),{label:"显示:",path:"status"},{default:n((()=>[u(s(_),{checked:W.status,"onUpdate:checked":o[3]||(o[3]=e=>W.status=e)},null,8,["checked"])])),_:1}),u(s(b),{label:"颜色应用于:",path:"colorScope"},{default:n((()=>[u(s(w),{value:W.colorScope,"onUpdate:value":o[4]||(o[4]=e=>W.colorScope=e)},{default:n((()=>[u(s(y),null,{default:n((()=>[u(s(C),{label:"字体",value:"font"}),u(s(C),{label:"背景",value:"background"})])),_:1})])),_:1},8,["value"])])),_:1}),e.isFieldColor?(i(),r(s(b),{key:2,label:"字段:",path:"columnName",style:{"margin-bottom":"10px"}},{default:n((()=>[u(s(y),{class:"c-field-set__space",align:"center"},{default:n((()=>[u(s(k),{value:W.columnName,"onUpdate:value":o[5]||(o[5]=e=>W.columnName=e),placeholder:"请选择字段名","label-field":"title","value-field":"columnName",options:s(D)},null,8,["value","options"]),d("span",{class:"filter-btn",onClick:o[6]||(o[6]=()=>P.value=!0)},"筛选")])),_:1})])),_:1})):m("v-if",!0)])),_:1},8,["model","rules","style"]),e.isFieldColor?(i(),r(F,{key:1,visible:P.value,"onUpdate:visible":o[7]||(o[7]=e=>P.value=e),model:W,onConfirm:J},null,8,["visible","model"])):(i(),r(x,{key:0,ref_key:"conditionRef",ref:L,data:W},null,8,["data"]))])),_:1},8,["title","show"]))}});export{O as default};
@@ -79,6 +79,13 @@ declare const _default: import("vue").DefineComponent<{
79
79
  developMode: {
80
80
  type: BooleanConstructor;
81
81
  };
82
+ columnWidthProps: {
83
+ type: ObjectConstructor;
84
+ };
85
+ hideExpressionOption: {
86
+ type: PropType<AnyObject[]>;
87
+ default: () => never[];
88
+ };
82
89
  }, {
83
90
  fixedWayOptions: {
84
91
  label: string;
@@ -170,6 +177,13 @@ declare const _default: import("vue").DefineComponent<{
170
177
  developMode: {
171
178
  type: BooleanConstructor;
172
179
  };
180
+ columnWidthProps: {
181
+ type: ObjectConstructor;
182
+ };
183
+ hideExpressionOption: {
184
+ type: PropType<AnyObject[]>;
185
+ default: () => never[];
186
+ };
173
187
  }>> & {
174
188
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
175
189
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -187,6 +201,10 @@ declare const _default: import("vue").DefineComponent<{
187
201
  label: string;
188
202
  value: number;
189
203
  }[];
204
+ selectProps: (field: string) => {
205
+ valueField: string;
206
+ labelField: string;
207
+ };
190
208
  getOptions: (column: AnyObject) => any;
191
209
  setDisabled: (column: AnyObject) => any;
192
210
  getStyle: (column: AnyObject) => CSSProperties;
@@ -284,6 +302,13 @@ declare const _default: import("vue").DefineComponent<{
284
302
  developMode: {
285
303
  type: BooleanConstructor;
286
304
  };
305
+ columnWidthProps: {
306
+ type: ObjectConstructor;
307
+ };
308
+ hideExpressionOption: {
309
+ type: PropType<AnyObject[]>;
310
+ default: () => never[];
311
+ };
287
312
  }>> & {
288
313
  onUpdateChecked?: ((...args: any[]) => any) | undefined;
289
314
  onEdit?: ((...args: any[]) => any) | undefined;
@@ -328,10 +353,11 @@ declare const _default: import("vue").DefineComponent<{
328
353
  }>;
329
354
  developMode: boolean;
330
355
  draggable: boolean;
356
+ isHighlightRow: boolean;
331
357
  idx: number;
332
358
  isHighlight: boolean;
333
- isHighlightRow: boolean;
334
359
  isFieldSet: boolean;
335
360
  fieldDescribeMode: "column" | "tooltip";
361
+ hideExpressionOption: AnyObject[];
336
362
  }>;
337
363
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,openBlock as t,createElementBlock as l,Fragment as i,renderList as n,normalizeStyle as o,unref as a,createBlock as r,withCtx as d,createVNode as u,createCommentVNode as s,createElementVNode as c,toDisplayString as f,normalizeClass as p,withDirectives as m,vShow as v,resolveDynamicComponent as y,createTextVNode as g}from"vue";import{NTooltip as b,NIcon as h,NCheckbox as k,NSelect as x,NColorPicker as E,NInput as S,NInputNumber as D,NPopconfirm as T}from"naive-ui";import{setStyle as w,setColorInfo as C,isShowExplicitRequired as M,isDisable as N}from"../utils/index.js";import{ReorderTwoOutline as O,HelpCircleOutline as U,CreateOutline as j,TrashOutline as _}from"@vicons/ionicons5";import{isFunction as A,isArray as H,range as L}from"lodash-es";import{COLOR_MAP as P}from"../constants/index.js";import{WIDGET_TYPE as R,SELECT_MAP as F,WIDGET_MAP as V,SELECT_TYPE as B,SELECT_DEFAULT_MAP as I,DATE_MAP as q,DATETIME_MAP as W}from"../constants/filter.js";const G={class:"row"},z=["title"],J=c("span",null,"拖拽调整顺序",-1);var K=e({__name:"table-row",props:{element:{type:Object,default:()=>({})},columns:{type:Array,default:()=>[]},idx:{type:Number,default:1},data:{type:Array,default:()=>[]},isHighlight:{type:Boolean},index:{type:Number,default:0},isHighlightRow:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},isFieldSet:{type:Boolean,default:!1},fieldDescribeMode:{type:String,default:"tooltip"},developMode:{type:Boolean}},emits:["updateChecked","edit"],setup(e,{emit:K}){const Q=e,X=[{label:"不固定",value:"NONE"},{label:"左固定",value:"LEFT"},{label:"右固定",value:"RIGHT"}],Y=[{label:"不排序",value:"NONE"},{label:"升序",value:"ASC"},{label:"降序",value:"DESC"}],Z=[{label:"字体",value:"font"},{label:"背景",value:"background"}],$=Object.entries(P).map((([e])=>e));function ee(){Q.data.splice(Q.index,1)}function te(){K("edit",Q.element)}function le(){var e;return Q.element.feildDescribe||(null==(e=Q.element.settingObj)?void 0:e.fieldDescDev)}function ie(e){return"seq"===e?Q.idx:"optionType"===e?Q.element[e]&&Q.element.type===R.SELECT?F[Q.element[e]]:"":"type"===e?V[Q.element[e]]:Q.element[e]}function ne(e){if("defaultValue"===e){const{optionType:e}=Q.element;return e===B.SELECT_MULTIPLE}return!1}function oe(e){if("0001"==Q.element.id&&"fixedWay"!=e)return!1;const{isConfiguredHeaderFilter:t}=Q.element;return"isShowHeaderFilter"===e?!!t:!(["explicitRequired","defaultValue"].includes(e)&&![R.DATE,R.DATETIME,R.SELECT].includes(Q.element.type))}function ae(e){return!["explicitRequired","defaultValue"].includes(e)||M(Q.element)}function re(e){switch(e.field){case"fixedWay":return X;case"sortDirection":return Y;case"sortPriority":return function(){const e=L(1,Q.data.length+1).map((e=>({label:e.toString(),value:e}))),t=Q.data.filter((e=>!!e.sortPriority&&e.uuid!==Q.element.uuid)).map((e=>e.sortPriority));return e.filter((e=>!t.includes(e.value)))}();case"colorScope":return Z;case"defaultValue":{const{type:e,optionInfo:t}=Q.element;return e===R.SELECT?H(null==t?void 0:t.list)&&t.list.length>0?t.list.map((e=>({...e,label:e.name}))):Object.entries(I).map((([e,t])=>({value:e,label:t}))):e===R.DATE?Object.entries(q).map((([e,t])=>({value:e,label:t}))):e===R.DATETIME?Object.entries(W).map((([e,t])=>({value:e,label:t}))):[]}default:return[]}}function de(e){var t;if(1==Q.element.defaultMark||"color"===e.type&&Q.isHighlightRow)return!0;if("checkbox"===e.type)return"show"===e.field&&e.fieldShowMaxValue?!Q.element[e.field]&&(null==(t=Q.data.filter((t=>t[e.field])))?void 0:t.length)===e.fieldShowMaxValue:N(Q.element,e.field);if("sortPriority"!==e.field)return!1;const{sortDirection:l}=Q.element;return!l||"NONE"===l}function ue(e){return["title","result"].includes(e.field)&&Q.element.style||{}}return(M,N)=>(t(),l("div",G,[(t(!0),l(i,null,n(e.columns,((n,M)=>{return t(),l(i,{key:M},[n.isShow?(t(),l("span",{key:0,class:"table-cell",title:e.element[n.field],style:o(a(w)(n,M))},["text"===n.type?(t(),l(i,{key:0},[0===M?(t(),l(i,{key:0},[!e.isFieldSet||e.draggable&&e.isFieldSet?(t(),r(a(b),{key:0,trigger:"hover"},{trigger:d((()=>[u(a(h),{style:{"margin-right":"5px",top:"2px"},component:a(O)},null,8,["component"])])),default:d((()=>[J])),_:1})):s("v-if",!0),(H=n.field,"title"===H&&("tooltip"===Q.fieldDescribeMode&&Q.element.feildDescribe||Q.developMode&&(null==(L=Q.element.settingObj)?void 0:L.fieldDescDev))?(t(),r(a(b),{key:1,trigger:"hover"},{trigger:d((()=>[u(a(h),{style:{"margin-right":"5px",top:"2px"},component:a(U)},null,8,["component"])])),default:d((()=>[c("span",null,f(le()),1)])),_:1})):s("v-if",!0))],64)):s("v-if",!0),c("span",{class:p([e.isHighlight&&"title"===n.field?"highlight":""]),style:o(ue(n))},f(ie(n.field)),7)],64)):s("v-if",!0),"checkbox"===n.type&&oe(n.field)?m((t(),r(a(k),{key:1,disabled:de(n),checked:e.element[n.field],"onUpdate:checked":[t=>e.element[n.field]=t,e=>function(e,t){K("updateChecked",{checked:e,column:t})}(e,n)]},null,8,["disabled","checked","onUpdate:checked"])),[[v,ae(n.field)]]):s("v-if",!0),"select"===n.type&&oe(n.field)?m((t(),r(a(x),{key:2,clearable:"",multiple:ne(n.field),disabled:de(n),value:e.element[n.field],"onUpdate:value":[t=>e.element[n.field]=t,e=>function(e,t){"sortDirection"===t.field&&"NONE"===e&&(Q.element.sortPriority=null),"colorScope"===t.field&&C(Q.element)}(e,n)],options:re(n)},null,8,["multiple","disabled","value","onUpdate:value","options"])),[[v,ae(n.field)]]):s("v-if",!0),"color"===n.type?(t(),r(a(E),{key:3,class:"c-field-set__color-picker",clearable:"",disabled:de(n),value:e.element[n.field],"onUpdate:value":[t=>e.element[n.field]=t,N[0]||(N[0]=t=>a(C)(e.element))],"show-preview":"",modes:["hex"],swatches:a($)},null,8,["disabled","value","onUpdate:value","swatches"])):s("v-if",!0),"input"===n.type?m((t(),r(a(S),{key:4,value:e.element[n.field],"onUpdate:value":t=>e.element[n.field]=t,clearable:""},null,8,["value","onUpdate:value"])),[[v,"0001"!=e.element.id]]):s("v-if",!0),"inputNumber"===n.type?(t(),r(a(D),{key:5,value:e.element[n.field],"onUpdate:value":t=>e.element[n.field]=t},null,8,["value","onUpdate:value"])):s("v-if",!0),"custom"===n.type&&a(A)(n.contentRender)?(t(),r(y((()=>n.contentRender(n,e.element))),{key:6})):s("v-if",!0),"custom"===n.type&&"opt"===n.field&&1!=e.element.defaultMark?(t(),l(i,{key:7},[u(a(b),{trigger:"hover"},{trigger:d((()=>[u(a(h),{component:a(j),onClick:te},null,8,["component"])])),default:d((()=>[g(" 编辑 ")])),_:1}),u(a(T),{onPositiveClick:ee},{trigger:d((()=>[u(a(b),{trigger:"hover"},{trigger:d((()=>[u(a(h),{component:a(_)},null,8,["component"])])),default:d((()=>[g(" 删除 ")])),_:1})])),default:d((()=>[g(" 是否确认删除? ")])),_:1})],64)):s("v-if",!0)],12,z)):s("v-if",!0)],64);var H,L})),128))]))}});export{K as default};
1
+ import{defineComponent as e,openBlock as l,createElementBlock as t,Fragment as i,renderList as n,normalizeStyle as o,unref as a,createBlock as r,withCtx as d,createVNode as u,createCommentVNode as s,createElementVNode as c,toDisplayString as f,normalizeClass as p,withDirectives as m,vShow as v,mergeProps as y,resolveDynamicComponent as b,createTextVNode as h}from"vue";import{NTooltip as g,NIcon as k,NCheckbox as x,NSelect as E,NColorPicker as S,NInput as D,NInputNumber as T,NPopconfirm as w}from"naive-ui";import{setStyle as O,setColorInfo as j,isShowExplicitRequired as C,isDisable as M}from"../utils/index.js";import{ReorderTwoOutline as N,HelpCircleOutline as U,CreateOutline as F,TrashOutline as _}from"@vicons/ionicons5";import{isFunction as P,isArray as A,range as H}from"lodash-es";import{COLOR_MAP as L}from"../constants/index.js";import{WIDGET_TYPE as R,SELECT_MAP as V,WIDGET_MAP as B,SELECT_TYPE as I,SELECT_DEFAULT_MAP as W,DATE_MAP as q,DATETIME_MAP as G}from"../constants/filter.js";const z={class:"row"},J=["title"],K=c("span",null,"拖拽调整顺序",-1);var Q=e({__name:"table-row",props:{element:{type:Object,default:()=>({})},columns:{type:Array,default:()=>[]},idx:{type:Number,default:1},data:{type:Array,default:()=>[]},isHighlight:{type:Boolean},index:{type:Number,default:0},isHighlightRow:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},isFieldSet:{type:Boolean,default:!1},fieldDescribeMode:{type:String,default:"tooltip"},developMode:{type:Boolean},columnWidthProps:{type:Object},hideExpressionOption:{type:Array,default:()=>[]}},emits:["updateChecked","edit"],setup(e,{emit:Q}){const X=e,Y=[{label:"不固定",value:"NONE"},{label:"左固定",value:"LEFT"},{label:"右固定",value:"RIGHT"}],Z=[{label:"不排序",value:"NONE"},{label:"升序",value:"ASC"},{label:"降序",value:"DESC"}],$=[{label:"字体",value:"font"},{label:"背景",value:"background"}],ee=Object.entries(L).map((([e])=>e));function le(){X.data.splice(X.index,1)}function te(){Q("edit",X.element)}function ie(){var e;return X.element.feildDescribe||(null==(e=X.element.settingObj)?void 0:e.fieldDescDev)}function ne(e){return"seq"===e?X.idx:"optionType"===e?X.element[e]&&X.element.type===R.SELECT?V[X.element[e]]:"":"type"===e?B[X.element[e]]:X.element[e]}function oe(e){if("defaultValue"===e){const{optionType:e}=X.element;return e===I.SELECT_MULTIPLE}return!1}function ae(e){if("0001"==X.element.id&&"fixedWay"!=e)return!1;const{isConfiguredHeaderFilter:l}=X.element;return"isShowHeaderFilter"===e?!!l:!(["explicitRequired","defaultValue"].includes(e)&&![R.DATE,R.DATETIME,R.SELECT].includes(X.element.type))}function re(e){return!["explicitRequired","defaultValue"].includes(e)||C(X.element)}function de(e){const l={valueField:"value",labelField:"label"};return"hideExpression"===e&&(l.valueField="id",l.labelField="name"),l}function ue(e){switch(e.field){case"fixedWay":return Y;case"sortDirection":return Z;case"sortPriority":return function(){const e=H(1,X.data.length+1).map((e=>({label:e.toString(),value:e}))),l=X.data.filter((e=>!!e.sortPriority&&e.uuid!==X.element.uuid)).map((e=>e.sortPriority));return e.filter((e=>!l.includes(e.value)))}();case"colorScope":return $;case"hideExpression":return X.hideExpressionOption;case"defaultValue":{const{type:e,optionInfo:l}=X.element;return e===R.SELECT?A(null==l?void 0:l.list)&&l.list.length>0?l.list.map((e=>({...e,label:e.name}))):Object.entries(W).map((([e,l])=>({value:e,label:l}))):e===R.DATE?Object.entries(q).map((([e,l])=>({value:e,label:l}))):e===R.DATETIME?Object.entries(G).map((([e,l])=>({value:e,label:l}))):[]}default:return[]}}function se(e){var l;if(1==X.element.defaultMark||"color"===e.type&&X.isHighlightRow)return!0;if("checkbox"===e.type)return"show"===e.field&&e.fieldShowMaxValue?!X.element[e.field]&&(null==(l=X.data.filter((l=>l[e.field])))?void 0:l.length)===e.fieldShowMaxValue:M(X.element,e.field);if("sortPriority"!==e.field)return!1;const{sortDirection:t}=X.element;return!t||"NONE"===t}function ce(e){return["title","result"].includes(e.field)&&X.element.style||{}}return(C,M)=>(l(),t("div",z,[(l(!0),t(i,null,n(e.columns,((n,C)=>{return l(),t(i,{key:C},[n.isShow?(l(),t("span",{key:0,class:"table-cell",title:e.element[n.field],style:o(a(O)(n,C,e.columnWidthProps))},["text"===n.type?(l(),t(i,{key:0},[0===C?(l(),t(i,{key:0},[!e.isFieldSet||e.draggable&&e.isFieldSet?(l(),r(a(g),{key:0,trigger:"hover"},{trigger:d((()=>[u(a(k),{style:{"margin-right":"5px",top:"2px"},component:a(N)},null,8,["component"])])),default:d((()=>[K])),_:1})):s("v-if",!0),(A=n.field,"title"===A&&("tooltip"===X.fieldDescribeMode&&X.element.feildDescribe||X.developMode&&(null==(H=X.element.settingObj)?void 0:H.fieldDescDev))?(l(),r(a(g),{key:1,trigger:"hover"},{trigger:d((()=>[u(a(k),{style:{"margin-right":"5px",top:"2px"},component:a(U)},null,8,["component"])])),default:d((()=>[c("span",null,f(ie()),1)])),_:1})):s("v-if",!0))],64)):s("v-if",!0),c("span",{class:p([e.isHighlight&&"title"===n.field?"highlight":""]),style:o(ce(n))},f(ne(n.field)),7)],64)):s("v-if",!0),"checkbox"===n.type&&ae(n.field)?m((l(),r(a(x),{key:1,disabled:se(n),checked:e.element[n.field],"onUpdate:checked":[l=>e.element[n.field]=l,e=>function(e,l){Q("updateChecked",{checked:e,column:l})}(e,n)]},null,8,["disabled","checked","onUpdate:checked"])),[[v,re(n.field)]]):s("v-if",!0),"select"===n.type&&ae(n.field)?m((l(),r(a(E),y({key:2},de(n.field),{clearable:"",multiple:oe(n.field),disabled:se(n),value:e.element[n.field],"onUpdate:value":[l=>e.element[n.field]=l,e=>function(e,l){"sortDirection"===l.field&&"NONE"===e&&(X.element.sortPriority=null),"colorScope"===l.field&&j(X.element)}(e,n)],options:ue(n)}),null,16,["multiple","disabled","value","onUpdate:value","options"])),[[v,re(n.field)]]):s("v-if",!0),"color"===n.type?(l(),r(a(S),{key:3,class:"c-field-set__color-picker",clearable:"",disabled:se(n),value:e.element[n.field],"onUpdate:value":[l=>e.element[n.field]=l,M[0]||(M[0]=l=>a(j)(e.element))],"show-preview":"",modes:["hex"],swatches:a(ee)},null,8,["disabled","value","onUpdate:value","swatches"])):s("v-if",!0),"input"===n.type?m((l(),r(a(D),{key:4,value:e.element[n.field],"onUpdate:value":l=>e.element[n.field]=l,clearable:""},null,8,["value","onUpdate:value"])),[[v,"0001"!=e.element.id]]):s("v-if",!0),"inputNumber"===n.type?(l(),r(a(T),{key:5,value:e.element[n.field],"onUpdate:value":l=>e.element[n.field]=l},null,8,["value","onUpdate:value"])):s("v-if",!0),"custom"===n.type&&a(P)(n.contentRender)?(l(),r(b((()=>n.contentRender(n,e.element))),{key:6})):s("v-if",!0),"custom"===n.type&&"opt"===n.field&&1!=e.element.defaultMark?(l(),t(i,{key:7},[u(a(g),{trigger:"hover"},{trigger:d((()=>[u(a(k),{component:a(F),onClick:te},null,8,["component"])])),default:d((()=>[h(" 编辑 ")])),_:1}),u(a(w),{onPositiveClick:le},{trigger:d((()=>[u(a(g),{trigger:"hover"},{trigger:d((()=>[u(a(k),{component:a(_)},null,8,["component"])])),default:d((()=>[h(" 删除 ")])),_:1})])),default:d((()=>[h(" 是否确认删除? ")])),_:1})],64)):s("v-if",!0)],12,J)):s("v-if",!0)],64);var A,H})),128))]))}});export{Q as default};
@@ -18,7 +18,7 @@ export type FieldSetItem = Partial<{
18
18
  hide: boolean;
19
19
  [key: string]: any;
20
20
  }>;
21
- export type FieldSetColumnName = 'show' | 'editable' | 'required' | 'sort' | 'bold' | 'sortDirection' | 'sortPriority' | 'fixedWay' | 'alias' | 'columnWidth';
21
+ export type FieldSetColumnName = 'show' | 'editable' | 'required' | 'sort' | 'bold' | 'sortDirection' | 'sortPriority' | 'fixedWay' | 'alias' | 'columnWidth' | 'hideExpression';
22
22
  export type FieldSetColumnItem = {
23
23
  title: string;
24
24
  type: 'text' | 'checkbox' | 'select' | 'input' | 'inputNumber' | 'color' | 'custom';
@@ -2,7 +2,7 @@ import { CSSProperties } from 'vue';
2
2
  import { AnyObject } from '../../../../shared/types';
3
3
  import { FieldSetItem } from '../../../../components/field-set';
4
4
  import { IhoTableConfig } from '../../../../components/iho-table';
5
- export declare function setStyle(column: AnyObject, index: number): CSSProperties;
5
+ export declare function setStyle(column: AnyObject, index: number, widthProps?: AnyObject): CSSProperties;
6
6
  export declare function isDisable(item: FieldSetItem, key: string): any;
7
7
  export declare function getGroupTree(rowGroupSetting: NonNullable<IhoTableConfig['rowGroupSetting']>, fieldList: FieldSetItem[], getKey?: (field: FieldSetItem) => string): Array<AnyObject | string>;
8
8
  export declare function isDraggable(fieldItem: AnyObject): any;