cnhis-design-vue 3.2.7-beta.26 → 3.2.7-beta.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/README.md +87 -87
  2. package/es/components/base-search/index.d.ts +2 -0
  3. package/es/components/base-search/src/index.vue.d.ts +2 -0
  4. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  5. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  6. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  7. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  8. package/es/components/callback/src/components/render/popupMaps.d.ts +13 -0
  9. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  10. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  11. package/es/components/iho-table/index.d.ts +13 -0
  12. package/es/components/iho-table/src/IhoTable.vue.d.ts +13 -0
  13. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  14. package/es/components/iho-table/src/plugins/headerPlugin.js +1 -1
  15. package/es/components/iho-table/src/types/index.d.ts +3 -0
  16. package/es/components/iho-table/src/utils/index.d.ts +0 -1
  17. package/es/components/iho-table/src/utils/index.js +1 -1
  18. package/es/components/quick-search/src/index.vue2.js +1 -1
  19. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  20. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  21. package/es/components/table-filter/src/types/index.d.ts +2 -0
  22. package/es/env.d.ts +25 -25
  23. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  24. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  25. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  26. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  27. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  28. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  29. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  30. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  31. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  32. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  33. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  34. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  35. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  36. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  37. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  38. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  39. package/es/shared/assets/img/failure.png.js +1 -1
  40. package/es/shared/assets/img/no-permission.png.js +1 -1
  41. package/es/shared/assets/img/nodata.png.js +1 -1
  42. package/es/shared/assets/img/notfound.png.js +1 -1
  43. package/es/shared/assets/img/qr.png.js +1 -1
  44. package/es/shared/assets/img/success.png.js +1 -1
  45. package/es/shared/assets/img/table_style_2.png.js +1 -1
  46. package/es/shared/assets/img/video.png.js +1 -1
  47. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  48. package/es/shared/assets/img/xb_big.png.js +1 -1
  49. package/es/shared/assets/img/xb_small.png.js +1 -1
  50. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  51. package/es/shared/package.json.js +1 -1
  52. package/es/shared/utils/fabricjs/index.d.ts +6823 -0
  53. package/es/shared/utils/tapable/index.d.ts +139 -0
  54. package/package.json +2 -2
package/README.md CHANGED
@@ -1,87 +1,87 @@
1
- # 安装
2
-
3
- ```shell
4
- npm i cnhis-design-vue@[版本号]
5
- # or
6
- yarn add cnhis-design-vue@[版本号] #推荐
7
- ```
8
-
9
- ## 1.全局引入
10
-
11
- ```typescript
12
- // main.ts
13
- import { createApp } from 'vue';
14
- import App from './App.vue';
15
- import 'cnhis-design-vue/es/packages/index.css';
16
- import cui from 'cnhis-design-vue';
17
-
18
- const app = createApp(App);
19
- app.use(cui).mount('#app');
20
- ```
21
-
22
- ## 2. 按需引入
23
-
24
- 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
-
26
- ### 2.1 样式处理方式1 (按需引入样式)
27
-
28
- ```shell
29
- # 安装自动导入样式的插件
30
- npm i -d vite-plugin-style-import
31
- ```
32
-
33
- ```typescript
34
- // vite.config.ts
35
- import { defineConfig } from 'vite';
36
- import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
-
38
- export default defineConfig({
39
- plugins: [
40
- // ...otherPlugins
41
- createStyleImportPlugin({
42
- libs: [
43
- {
44
- libraryName: 'cnhis-design-vue',
45
- esModule: true,
46
- ensureStyleFile: true,
47
- resolveStyle: name => {
48
- return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
- }
50
- }
51
- ]
52
- })
53
- ]
54
- });
55
- ```
56
-
57
- ### 2.2 样式处理方式2 (全局引入样式)
58
-
59
- ```typescript
60
- // main.ts
61
- import 'cnhis-design-vue/es/components/index.css';
62
- ```
63
-
64
- ## 3.FAQ
65
-
66
- ### 3.1 项目打包后样式丢失
67
-
68
- 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
-
70
- ```typescript
71
- // vite.config.ts
72
- import { defineConfig } from 'vite';
73
-
74
- export default defineConfig({
75
- build: {
76
- rollupOptions: {
77
- // ..otherOptions
78
- output: {
79
- dir: './dist',
80
- manualChunks: {
81
- 'cnhis-vendor': ['cnhis-design-vue']
82
- }
83
- }
84
- }
85
- }
86
- });
87
- ```
1
+ # 安装
2
+
3
+ ```shell
4
+ npm i cnhis-design-vue@[版本号]
5
+ # or
6
+ yarn add cnhis-design-vue@[版本号] #推荐
7
+ ```
8
+
9
+ ## 1.全局引入
10
+
11
+ ```typescript
12
+ // main.ts
13
+ import { createApp } from 'vue';
14
+ import App from './App.vue';
15
+ import 'cnhis-design-vue/es/packages/index.css';
16
+ import cui from 'cnhis-design-vue';
17
+
18
+ const app = createApp(App);
19
+ app.use(cui).mount('#app');
20
+ ```
21
+
22
+ ## 2. 按需引入
23
+
24
+ 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
+
26
+ ### 2.1 样式处理方式1 (按需引入样式)
27
+
28
+ ```shell
29
+ # 安装自动导入样式的插件
30
+ npm i -d vite-plugin-style-import
31
+ ```
32
+
33
+ ```typescript
34
+ // vite.config.ts
35
+ import { defineConfig } from 'vite';
36
+ import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
+
38
+ export default defineConfig({
39
+ plugins: [
40
+ // ...otherPlugins
41
+ createStyleImportPlugin({
42
+ libs: [
43
+ {
44
+ libraryName: 'cnhis-design-vue',
45
+ esModule: true,
46
+ ensureStyleFile: true,
47
+ resolveStyle: name => {
48
+ return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
+ }
50
+ }
51
+ ]
52
+ })
53
+ ]
54
+ });
55
+ ```
56
+
57
+ ### 2.2 样式处理方式2 (全局引入样式)
58
+
59
+ ```typescript
60
+ // main.ts
61
+ import 'cnhis-design-vue/es/components/index.css';
62
+ ```
63
+
64
+ ## 3.FAQ
65
+
66
+ ### 3.1 项目打包后样式丢失
67
+
68
+ 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
+
70
+ ```typescript
71
+ // vite.config.ts
72
+ import { defineConfig } from 'vite';
73
+
74
+ export default defineConfig({
75
+ build: {
76
+ rollupOptions: {
77
+ // ..otherOptions
78
+ output: {
79
+ dir: './dist',
80
+ manualChunks: {
81
+ 'cnhis-vendor': ['cnhis-design-vue']
82
+ }
83
+ }
84
+ }
85
+ }
86
+ });
87
+ ```
@@ -111,6 +111,8 @@ declare const CBaseSearch: SFCWithInstall<import("vue").DefineComponent<{
111
111
  con: string;
112
112
  value: string[];
113
113
  unit: "custom" | null;
114
+ widgetType?: string | undefined;
115
+ dynamicBaseList?: any[] | undefined;
114
116
  isAccurateSearch?: boolean | undefined;
115
117
  accurateSearchKey?: string | undefined;
116
118
  }[]>;
@@ -112,6 +112,8 @@ declare const _default: import("vue").DefineComponent<{
112
112
  con: string;
113
113
  value: string[];
114
114
  unit: "custom" | null;
115
+ widgetType?: string | undefined;
116
+ dynamicBaseList?: any[] | undefined;
115
117
  isAccurateSearch?: boolean | undefined;
116
118
  accurateSearchKey?: string | undefined;
117
119
  }[]>;
@@ -0,0 +1 @@
1
+ declare module 'bpmn-js/lib/Viewer';
@@ -0,0 +1 @@
1
+ declare module 'bpmn-js/lib/features/modeling';
@@ -0,0 +1 @@
1
+ declare module 'diagram-js/lib/navigation/movecanvas';
@@ -1029,6 +1029,10 @@ export declare const CallbackMaps: Map<string, {
1029
1029
  type: NumberConstructor;
1030
1030
  default: number;
1031
1031
  };
1032
+ developMode: {
1033
+ type: BooleanConstructor;
1034
+ default: boolean;
1035
+ };
1032
1036
  }, {
1033
1037
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
1034
1038
  tableConfig: {
@@ -1057,6 +1061,10 @@ export declare const CallbackMaps: Map<string, {
1057
1061
  type: NumberConstructor;
1058
1062
  default: number;
1059
1063
  };
1064
+ developMode: {
1065
+ type: BooleanConstructor;
1066
+ default: boolean;
1067
+ };
1060
1068
  }>> & {
1061
1069
  onFormChange?: ((...args: any[]) => any) | undefined;
1062
1070
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -7845,6 +7853,10 @@ export declare const CallbackMaps: Map<string, {
7845
7853
  type: NumberConstructor;
7846
7854
  default: number;
7847
7855
  };
7856
+ developMode: {
7857
+ type: BooleanConstructor;
7858
+ default: boolean;
7859
+ };
7848
7860
  }>> & {
7849
7861
  onFormChange?: ((...args: any[]) => any) | undefined;
7850
7862
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -7917,6 +7929,7 @@ export declare const CallbackMaps: Map<string, {
7917
7929
  uniqueCacheData: boolean;
7918
7930
  tableConfig: import("../../../../../components/iho-table").IhoTableConfig;
7919
7931
  tableData: import("../../../../../shared/types").AnyObject[];
7932
+ developMode: boolean;
7920
7933
  }>>;
7921
7934
  props: {
7922
7935
  consumer?: undefined;
@@ -175,9 +175,6 @@ declare const _default: import("vue").DefineComponent<{
175
175
  modelValue: unknown[];
176
176
  componentData: Record<string, any>;
177
177
  } & {
178
- /**
179
- * 改变弹窗大小
180
- */
181
178
  itemKey?: string | Function | undefined;
182
179
  }>, {
183
180
  move: Function;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as n,watch as s,openBlock as o,createElementBlock as i,normalizeClass as a,unref as r,normalizeStyle as c,createVNode as l,withCtx as u,Fragment as m,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as v,createElementVNode as g,withModifiers as y,nextTick as h}from"vue";import{NImageGroup as T,NAvatar as M,NImage as _,NIcon as k,NSpace as x,NButtonGroup as I,NButton as S}from"naive-ui";import{format as w}from"date-fns";import{getHistoryRecordApi as L,readMessageApi as j}from"../api/index.js";import{useState as E}from"../hooks/useState.js";import{useSession as C}from"../hooks/useSession.js";import{MESSAGE_TYPE as b}from"../constants/index.js";import"trtc-sdk-v5";import{isAudioOrVideoMessage as A,simplifyMessage as z,getAVTime as H}from"../utils/index.js";import{first as D,last as R}from"lodash-es";import N from"./PersonProfile.vue.js";import O from"./MessageTemplate.vue.js";import{emojis as P}from"../utils/emoji.js";import q from"./ContextMenu.js";import{useScrollLoading as B}from"../hooks/useScrollLoading.js";import{CallOutline as U,VideocamOutline as F,DocumentSharp as G,ChatbubbleEllipsesOutline as J,EllipsisHorizontal as K}from"@vicons/ionicons5";const X={key:0,class:"time"},Y={key:2,class:"message-box"},$={key:0,class:"content-box"},Q={class:"name-box"},V=["data-time"],W=["onContextmenu"],Z={key:0,class:"reference-content"},ee=["innerHTML"],te=["innerHTML"],ne=["src"],se={style:{"margin-left":"8px"}},oe={class:"size"};var ie=e({__name:"ChatMain",setup(e){const ie=t(),{state:ae,setMsgList:re}=E(),{setCurrentSessionItem:ce,isGroupChat:le}=C(ae),ue=t(),me=t(!1),pe=t({left:0,top:0}),de=t(),fe={page:0,hasMore:!0,lastSendTime:w(new Date,"yyyy-MM-dd HH:mm:ss")},ve=n((()=>({"--c-tip-top":le.value?"1px":"-20px","--c-tip-gap":le.value?"10px":"0px"})));async function ge(){try{if(!fe.hasMore)return;fe.page++;const e=await L({sessionKey:ae.currentSessionItem.sessionKey,page:fe.page,lastSendTime:fe.lastSendTime});if(!Array.isArray(e)||0===e.length)return fe.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=D(e).id;fe.lastSendTime=R(e).sendTime,re(fe.page>1?[...e,...ae.msgList]:e),1===fe.page&&ae.currentSessionItem.unreadNum&&(await j({chatType:ae.currentSessionItem.chatType,messageIdSet:[t],receiver:ae.userInfo.id,sender:ae.currentSessionItem.receiver}),ce({unreadNum:0}))}catch(e){console.log(e)}}async function ye(e,t){de.value=t,async function(e){var t,n,s,o,i,a;me.value=!0,await h();const{clientX:r,clientY:c}=e,{width:l=0,height:u=0,left:m=0,top:p=0}=(null==(t=ie.value)?void 0:t.getBoundingClientRect())||{},d=null!=(o=null==(s=null==(n=ue.value)?void 0:n.$el)?void 0:s.getBoundingClientRect().height)?o:220,f=null!=(a=null==(i=ie.value)?void 0:i.scrollTop)?a:0,v=5,g={};r<=m+l/2?g.left=r-m+v+"px":g.right=m+l-r-v+"px";c-p<d/2?g.top=f+v+"px":p+u-c<=d/2?g.bottom=Math.abs(f)+v+"px":g.top=f+c-p-d/2+"px";pe.value=g}(e)}function he(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==b.TEMPLATE||!!n}function Te(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===b.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function Me(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===b.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function _e(e,t){var n;const s=new Date(e.sendTime).getTime(),o=null==(n=ae.msgList[t+1])?void 0:n.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}function ke(e){ae.currentReferenceMsg=e,Object.assign(ae.currentReferenceMsg,{chatType:ae.currentSessionItem.chatType,receiver:ae.currentSessionItem.receiver,receiverAvatar:ae.currentSessionItem.avatar,receiverName:ae.currentSessionItem.name})}function xe(e,t){"reply"===e&&ke(t)}return B(ie,(()=>{ge()}),"top",(()=>{me.value=!1})),s((()=>ae.id),(e=>{e&&(ae.currentReferenceMsg=null,Object.assign(fe,{page:0,hasMore:!0,lastSendTime:w(new Date,"yyyy-MM-dd HH:mm:ss")}),ge())}),{immediate:!0}),s((()=>ae.isAppendMsg),(e=>{e&&(re([...ae.msgList,ae.currentMsg]),ae.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=ie.value)?void 0:e.scrollHeight)?t:0;null==(n=ie.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(o(),i("div",{class:a(["chat-main",{"home-bg":!r(ae).id}]),ref_key:"chatMainRef",ref:ie,style:c(r(ve))},[l(r(T),{"show-toolbar-tooltip":""},{default:u((()=>[(o(!0),i(m,null,p(r(ae).msgList,((e,t)=>(o(),i(m,{key:e.id},[he(e)?(o(),i("div",{key:0,class:a(["message-item",{"message-item--mine":e.sender==r(ae).userInfo.id}])},[_e(e,t)?(o(),i("p",X,d(e.__sendTime),1)):f("v-if",!0),Te(e,"system")?(o(),v(O,{key:1,data:e},null,8,["data"])):(o(),i("div",Y,[l(N,{"user-id":e.sender},{trigger:u((()=>[l(r(M),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(o(),i("div",$,[g("div",Q,[g("span",{class:"name","data-time":e.__time},d(r(le)?e.senderName:""),9,V)]),g("div",{class:a(["content",{emoji:e.content.chatMessageType===r(b).EMOJI,template:e.content.chatMessageType===r(b).TEMPLATE,"template--3":Me(e.content),"audio-video":r(A)(e.content),file:e.content.chatMessageType===r(b).FILE}]),onContextmenu:y((t=>ye(t,e.id)),["prevent"])},[e.content.chatMessageType===r(b).TEXT?(o(),i(m,{key:0},[e.content.referenceContent?(o(),i("div",Z,[g("span",null,d(e.content.referenceContent.senderName)+":",1),g("pre",{innerHTML:r(z)(e.content.referenceContent.content)},null,8,ee)])):f("v-if",!0),g("pre",null,d(e.__content),1)],64)):f("v-if",!0),e.content.chatMessageType===r(b).BLEND?(o(),i("pre",{key:1,innerHTML:e.__content},null,8,te)):f("v-if",!0),e.content.chatMessageType===r(b).EMOJI?(o(),i("img",{key:2,src:r(P).findEmoji(e.__content)},null,8,ne)):f("v-if",!0),Te(e,"template")?(o(),v(O,{key:3,data:e},null,8,["data"])):f("v-if",!0),e.content.chatMessageType===r(b).IMAGE?(o(),v(r(_),{key:4,width:"240",src:e.__content},null,8,["src"])):f("v-if",!0),r(A)(e.content)?(o(),i(m,{key:5},[l(r(k),{class:a({"is-audio":e.content.chatMessageType===r(b).AUDIO}),component:e.content.chatMessageType===r(b).AUDIO?r(U):r(F)},null,8,["class","component"]),g("span",se,d(r(H)(e.__content)),1)],64)):f("v-if",!0),e.content.chatMessageType===r(b).FILE?(o(),v(r(x),{key:6,"wrap-item":!1},{default:u((()=>[l(r(k),{class:"icon-file",size:"40",component:r(G)},null,8,["component"]),l(r(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[g("span",null,d(e.__content),1),g("span",oe,d(e.__size),1)])),_:2},1024)])),_:2},1024)):f("v-if",!0),l(r(I),{class:"quick-menu"},{default:u((()=>[r(A)(e.content)?f("v-if",!0):(o(),i(m,{key:0},[f(' <n-button quaternary size="tiny">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),l(r(S),{quaternary:"",size:"tiny",onClick:()=>ke(e)},{icon:u((()=>[l(r(k),{size:"17",component:r(J)},null,8,["component"])])),_:2},1032,["onClick"])],64)),l(r(S),{quaternary:"",size:"tiny",onClick:t=>ye(t,e.id)},{icon:u((()=>[l(r(k),{size:"14",component:r(K)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,W)])):f("v-if",!0)]))],2)):f("v-if",!0)],64)))),128))])),_:1}),l(r(q),{ref_key:"contextmenuRef",ref:ue,show:me.value,"onUpdate:show":t[0]||(t[0]=e=>me.value=e),position:pe.value,"msg-id":de.value,onSelect:xe},null,8,["show","position","msg-id"])],6))}});export{ie as default};
1
+ import{defineComponent as e,ref as t,computed as n,watch as s,openBlock as o,createElementBlock as i,normalizeClass as a,unref as r,normalizeStyle as c,createVNode as l,withCtx as u,Fragment as m,renderList as p,toDisplayString as d,createCommentVNode as f,createBlock as v,createElementVNode as g,withModifiers as y,nextTick as h}from"vue";import{NImageGroup as T,NAvatar as M,NImage as _,NIcon as k,NSpace as x,NButtonGroup as I,NButton as S}from"naive-ui";import{format as w}from"date-fns";import{getHistoryRecordApi as L,readMessageApi as j}from"../api/index.js";import{useState as E}from"../hooks/useState.js";import{useSession as C}from"../hooks/useSession.js";import{MESSAGE_TYPE as b}from"../constants/index.js";import"trtc-sdk-v5";import{isAudioOrVideoMessage as A,simplifyMessage as z,getAVTime as H}from"../utils/index.js";import{first as D,last as R}from"lodash-es";import N from"./PersonProfile.vue.js";import O from"./MessageTemplate.vue.js";import{emojis as P}from"../utils/emoji.js";import q from"./ContextMenu.js";import{useScrollLoading as B}from"../hooks/useScrollLoading.js";import{CallOutline as U,VideocamOutline as F,DocumentSharp as G,ChatbubbleEllipsesOutline as J,EllipsisHorizontal as K}from"@vicons/ionicons5";const X={key:0,class:"time"},Y={key:2,class:"message-box"},$={key:0,class:"content-box"},Q={class:"name-box"},V=["data-time"],W=["onContextmenu"],Z={key:0,class:"reference-content"},ee=["innerHTML"],te=["innerHTML"],ne=["src"],se={style:{"margin-left":"8px"}},oe={class:"size"};var ie=e({__name:"ChatMain",setup(e){const ie=t(),{state:ae,setMsgList:re}=E(),{setCurrentSessionItem:ce,isGroupChat:le}=C(ae),ue=t(),me=t(!1),pe=t({left:0,top:0}),de=t(),fe={page:0,hasMore:!0,lastSendTime:w(new Date,"yyyy-MM-dd HH:mm:ss")},ve=n((()=>({"--c-tip-top":le.value?"1px":"-20px","--c-tip-gap":le.value?"10px":"0px"})));async function ge(){try{if(!fe.hasMore)return;fe.page++;const e=await L({sessionKey:ae.currentSessionItem.sessionKey,page:fe.page,lastSendTime:fe.lastSendTime});if(!Array.isArray(e)||0===e.length)return fe.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=D(e).id;fe.lastSendTime=R(e).sendTime,re(fe.page>1?[...e,...ae.msgList]:e),1===fe.page&&ae.currentSessionItem.unreadNum&&(await j({chatType:ae.currentSessionItem.chatType,messageIdSet:[t],receiver:ae.userInfo.id,sender:ae.currentSessionItem.receiver}),ce({unreadNum:0}))}catch(e){console.log(e)}}async function ye(e,t){de.value=t,async function(e){var t,n,s,o,i,a;me.value=!0,await h();const{clientX:r,clientY:c}=e,{width:l=0,height:u=0,left:m=0,top:p=0}=(null==(t=ie.value)?void 0:t.getBoundingClientRect())||{},d=null!=(o=null==(s=null==(n=ue.value)?void 0:n.$el)?void 0:s.getBoundingClientRect().height)?o:220,f=null!=(a=null==(i=ie.value)?void 0:i.scrollTop)?a:0,v=5,g={};r<=m+l/2?g.left=r-m+v+"px":g.right=m+l-r-v+"px";c-p<d/2?g.top=f+v+"px":p+u-c<=d/2?g.bottom=Math.abs(f)+v+"px":g.top=f+c-p-d/2+"px";pe.value=g}(e)}function he(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==b.TEMPLATE||!!n}function Te(e,t){var n,s;const{chatMessageType:o,messageTemplate:i}=e.content;if(o===b.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(s=null==i?void 0:i.setting)?void 0:s.style.id)}function Me(e){var t,n;const{chatMessageType:s,messageTemplate:o}=e;return s===b.TEMPLATE&&3==(null==(n=null==(t=null==o?void 0:o.setting)?void 0:t.style)?void 0:n.id)}function _e(e,t){var n;const s=new Date(e.sendTime).getTime(),o=null==(n=ae.msgList[t+1])?void 0:n.sendTime;if(o){return s-new Date(o).getTime()>3e5}return!0}function ke(e){ae.currentReferenceMsg=e,Object.assign(ae.currentReferenceMsg,{chatType:ae.currentSessionItem.chatType,receiver:ae.currentSessionItem.receiver,receiverAvatar:ae.currentSessionItem.avatar,receiverName:ae.currentSessionItem.name})}function xe(e,t){"reply"===e&&ke(t)}return B(ie,(()=>{ge()}),"top",(()=>{me.value=!1})),s((()=>ae.id),(e=>{e&&(ae.currentReferenceMsg=null,Object.assign(fe,{page:0,hasMore:!0,lastSendTime:w(new Date,"yyyy-MM-dd HH:mm:ss")}),ge())}),{immediate:!0}),s((()=>ae.isAppendMsg),(e=>{e&&(re([...ae.msgList,ae.currentMsg]),ae.isAppendMsg=!1,async function(){var e,t,n;const s=null!=(t=null==(e=ie.value)?void 0:e.scrollHeight)?t:0;null==(n=ie.value)||n.scrollTo({top:s,behavior:"auto"})}())}),{immediate:!0}),(e,t)=>(o(),i("div",{class:a(["chat-main",{"home-bg":!r(ae).id}]),ref_key:"chatMainRef",ref:ie,style:c(r(ve))},[l(r(T),{"show-toolbar-tooltip":""},{default:u((()=>[(o(!0),i(m,null,p(r(ae).msgList,((e,t)=>(o(),i(m,{key:e.id},[he(e)?(o(),i("div",{key:0,class:a(["message-item",{"message-item--mine":e.sender==r(ae).userInfo.id}])},[_e(e,t)?(o(),i("p",X,d(e.__sendTime),1)):f("v-if",!0),Te(e,"system")?(o(),v(O,{key:1,data:e},null,8,["data"])):(o(),i("div",Y,[l(N,{"user-id":e.sender},{trigger:u((()=>[l(r(M),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id"]),e.content?(o(),i("div",$,[g("div",Q,[g("span",{class:"name","data-time":e.__time},d(r(le)?e.senderName:""),9,V)]),g("div",{class:a(["content",{emoji:e.content.chatMessageType===r(b).EMOJI,template:e.content.chatMessageType===r(b).TEMPLATE,"template--3":Me(e.content),"audio-video":r(A)(e.content),file:e.content.chatMessageType===r(b).FILE}]),onContextmenu:y((t=>ye(t,e.id)),["prevent"])},[e.content.chatMessageType===r(b).TEXT?(o(),i(m,{key:0},[e.content.referenceContent?(o(),i("div",Z,[g("span",null,d(e.content.referenceContent.senderName)+":",1),g("pre",{innerHTML:r(z)(e.content.referenceContent.content)},null,8,ee)])):f("v-if",!0),g("pre",null,d(e.__content),1)],64)):f("v-if",!0),e.content.chatMessageType===r(b).BLEND?(o(),i("pre",{key:1,innerHTML:e.__content},null,8,te)):f("v-if",!0),e.content.chatMessageType===r(b).EMOJI?(o(),i("img",{key:2,src:r(P).findEmoji(e.__content)},null,8,ne)):f("v-if",!0),Te(e,"template")?(o(),v(O,{key:3,data:e},null,8,["data"])):f("v-if",!0),e.content.chatMessageType===r(b).IMAGE?(o(),v(r(_),{key:4,width:"240",src:e.__content},null,8,["src"])):f("v-if",!0),r(A)(e.content)?(o(),i(m,{key:5},[l(r(k),{class:a({"is-audio":e.content.chatMessageType===r(b).AUDIO}),component:e.content.chatMessageType===r(b).AUDIO?r(U):r(F)},null,8,["class","component"]),g("span",se,d(r(H)(e.__content)),1)],64)):f("v-if",!0),e.content.chatMessageType===r(b).FILE?(o(),v(r(x),{key:6,"wrap-item":!1},{default:u((()=>[l(r(k),{class:"icon-file",size:"40",component:r(G)},null,8,["component"]),l(r(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[g("span",null,d(e.__content),1),g("span",oe,d(e.__size),1)])),_:2},1024)])),_:2},1024)):f("v-if",!0),l(r(I),{class:"quick-menu"},{default:u((()=>[r(A)(e.content)?f("v-if",!0):(o(),i(m,{key:0},[f(' <n-button quaternary size="tiny">\n\t\t\t\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),l(r(S),{quaternary:"",size:"tiny",onClick:()=>ke(e)},{icon:u((()=>[l(r(k),{size:"17",component:r(J)},null,8,["component"])])),_:2},1032,["onClick"])],64)),l(r(S),{quaternary:"",size:"tiny",onClick:t=>ye(t,e.id)},{icon:u((()=>[l(r(k),{size:"14",component:r(K)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,W)])):f("v-if",!0)]))],2)):f("v-if",!0)],64)))),128))])),_:1}),l(r(q),{ref_key:"contextmenuRef",ref:ue,show:me.value,"onUpdate:show":t[0]||(t[0]=e=>me.value=e),position:pe.value,"msg-id":de.value,onSelect:xe},null,8,["show","position","msg-id"])],6))}});export{ie as default};
@@ -30,6 +30,10 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
30
30
  type: NumberConstructor;
31
31
  default: number;
32
32
  };
33
+ developMode: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
33
37
  }, {
34
38
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
35
39
  tableConfig: {
@@ -58,6 +62,10 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
58
62
  type: NumberConstructor;
59
63
  default: number;
60
64
  };
65
+ developMode: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
61
69
  }>> & {
62
70
  onFormChange?: ((...args: any[]) => any) | undefined;
63
71
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -6846,6 +6854,10 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
6846
6854
  type: NumberConstructor;
6847
6855
  default: number;
6848
6856
  };
6857
+ developMode: {
6858
+ type: BooleanConstructor;
6859
+ default: boolean;
6860
+ };
6849
6861
  }>> & {
6850
6862
  onFormChange?: ((...args: any[]) => any) | undefined;
6851
6863
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -6918,5 +6930,6 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
6918
6930
  uniqueCacheData: boolean;
6919
6931
  tableConfig: import("../../components/iho-table/src/types").IhoTableConfig;
6920
6932
  tableData: import("../../shared/types").AnyObject[];
6933
+ developMode: boolean;
6921
6934
  }>>;
6922
6935
  export default IhoTable;
@@ -31,6 +31,10 @@ declare const _default: import("vue").DefineComponent<{
31
31
  type: NumberConstructor;
32
32
  default: number;
33
33
  };
34
+ developMode: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
34
38
  }, {
35
39
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
36
40
  tableConfig: {
@@ -59,6 +63,10 @@ declare const _default: import("vue").DefineComponent<{
59
63
  type: NumberConstructor;
60
64
  default: number;
61
65
  };
66
+ developMode: {
67
+ type: BooleanConstructor;
68
+ default: boolean;
69
+ };
62
70
  }>> & {
63
71
  onFormChange?: ((...args: any[]) => any) | undefined;
64
72
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -6847,6 +6855,10 @@ declare const _default: import("vue").DefineComponent<{
6847
6855
  type: NumberConstructor;
6848
6856
  default: number;
6849
6857
  };
6858
+ developMode: {
6859
+ type: BooleanConstructor;
6860
+ default: boolean;
6861
+ };
6850
6862
  }>> & {
6851
6863
  onFormChange?: ((...args: any[]) => any) | undefined;
6852
6864
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -6919,5 +6931,6 @@ declare const _default: import("vue").DefineComponent<{
6919
6931
  uniqueCacheData: boolean;
6920
6932
  tableConfig: IhoTableConfig;
6921
6933
  tableData: AnyObject[];
6934
+ developMode: boolean;
6922
6935
  }>;
6923
6936
  export default _default;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,provide as o,computed as a,toRaw as l,watch as n,resolveComponent as r,openBlock as s,createElementBlock as i,mergeProps as u,unref as c,createBlock as d,resolveDynamicComponent as f,createElementVNode as m,normalizeStyle as v,createVNode as p,withCtx as b,createSlots as g,renderList as h,createCommentVNode as x,renderSlot as y,normalizeProps as k,guardReactiveProps as D,nextTick as C}from"vue";import{useTheme as $,createOpacityColor as j}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as w}from"@vueuse/core";import"date-fns";import{isString as T,isEqualWith as I,isFunction as R,pick as q}from"lodash-es";import{useFormAsyncQueue as H,presetRequestHandler as P}from"../../../shared/hooks/useFormRequest/index.js";import{hex2rgba as _,widthAppend as A,uuidGenerator as L}from"../../../shared/utils/index.js";import{promiseTimeout as S}from"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NConfigProvider as F}from"naive-ui";import{useVersion as O}from"../../../shared/hooks/useVersion.js";import{VxeTableEventNameList as B,InjectionIhoTableXeInstance as E,InjectionIhoTableLoading as W,InjectionIhoTableEmits as N,InjectionTableAsyncQueue as V,InjectionIhoTableAnnotation as z,InjectionIhoTableUUID as G,InjectionIhoTableInstance as J,InjectionIhoTableConfig as K,InjectionIhoTableFieldList as M,InjectionIhoTableHandler as Q,InjectionIhoTableGlobProps as U}from"./constants/index.js";import{createTableHooks as X,applyTableConfigHooks as Y,applyTableFieldHooks as Z,createTableEventHandlers as ee,createDomInsertComponent as te,createDataTransfer as oe}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as ae}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as le}from"./utils/index.js";const ne=["id"];var re=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object},requestInstance:{type:Object},uniqueCacheData:{type:Boolean,default:!1},parallelism:{type:Number,default:3}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...B],setup(e,{expose:B,emit:re}){var se,ie;const ue=e,ce=t();o(E,ce);const de=t(!1),fe=a((()=>{var e;return(null==(e=ue.tableConfig)?void 0:e.loading)||de.value}));o(W,de);const me=$({"--c-border-color":"#d0d0d0","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#e6e6e6","--c-stripe-color":"#f6f6f6"}),ve=a((()=>{var e,t,o;const a={...me.value};return a["--c-primary-color-opacity3"]=j(..._(a["--c-primary-color"]+""),.3),a["--c-scrollbar-width"]=A(null!=(o=null==(t=null==(e=ce.value)?void 0:e.reactData)?void 0:t.scrollbarWidth)?o:0),a})),pe=a((()=>{var e,t;const o=null!=(t=null==(e=ue.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":T(o)&&(o.includes("calc")||o.endsWith("%"))?o:A(o)}})),be=ae(),ge=function(e,...t){re(e,...t);const o=c(De)[le(e)];R(o)&&o(...t),be.trigger(e,...t)};o(N,ge);const he=H(a((()=>ue.requestInstance)),a((()=>!!ue.uniqueCacheData))).create(ue.parallelism,{beforeRequest:(e,t)=>t,afterRequest:(e,t)=>P(t)});o(V,he);const xe=X();o(z,a((()=>ue.annotation)));const ye=L();o(G,ye);const ke=t();o(J,ke);const De=t({uuid:null!=(ie=null==(se=ue.tableConfig)?void 0:se.uuid)?ie:ye});o(K,De);const Ce=w($e,10);function $e(){var e,t;De.value=Y(xe,{...ue.tableConfig,uuid:null!=(t=null==(e=ue.tableConfig)?void 0:e.uuid)?t:ye},{$table:ke,emits:ge,globProps:ue,loading:de,$xeTable:ce})}const je=t([]);o(M,je);const we=w(Te,10);function Te(){const e=Z(xe,ue.fieldList,De.value,{$table:ke,emits:ge,loading:de,globProps:ue,$xeTable:ce});I(e,l(je.value),((e,t)=>{if(R(e)&&R(t))return e.toString()===t.toString()}))||(je.value=e)}const Ie=oe(xe,De,ke);let Re=null;function qe(e){Re=e}async function He(){await C(),null==Re||Re(),Re=null}const Pe=t([]);async function _e(){var e,t;const o=await Ie(ue.tableData),a=null==(e=ke.value)?void 0:e.getTableData().fullData;if(a){let e=0;if(!(a.some((t=>{var a;if(!(null==(a=ke.value)?void 0:a.isInsertByRow(t))){if(t!==o[e])return!0;e++}}))||e!==o.length))return void He()}Pe.value=o,null==(t=ke.value)||t.recalculate(!0),He()}const Ae={updateTableDataRef:w(_e,10),updateConfigRef:Ce,updateFieldListRef:we};o(Q,Ae),o(U,ue);const Le=ee({hooks:xe,config:De,$table:ke,context:Ae,emits:ge,globProps:ue,loading:de,$xeTable:ce}),Se=a((()=>({...De.value,...Le})));let Fe=!1,Oe=!1,Be=!1;const Ee=w((()=>{Fe&&$e(),Oe&&Te(),Be&&_e(),Fe=!1,Oe=!1,Be=!1}),10);n((()=>ue.tableConfig),(()=>{Fe=!0,Oe=!0,Be=!0,Ee()}),{deep:!0}),n((()=>ue.fieldList),(()=>{Oe=!0,Be=!0,Ee()}),{deep:!0}),n([()=>[...ue.tableData],()=>{var e;return null==(e=ue.tableData)?void 0:e.length}],(()=>{Be=!0,Ee()})),n([()=>ue.tableData,()=>{var e;return null==(e=ue.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=De.value.treeConfig)?void 0:e.expandAll)&&(await S(11),null==(t=ke.value)||t.setAllTreeExpand(!0))})),$e(),Te(),_e();const{header:We,footer:Ne}=te(xe);function Ve(e){return q(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return B({$table:ke,async loadData(e){var t;null==(t=ke.value)||t.loadData(await Ie(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),tableDataResolved:()=>new Promise(qe),reload(){var e,t;null==(e=ke.value)||e.loadColumn([]),null==(t=ke.value)||t.loadData([]),$e(),Te(),_e()},verticalTable:{update:()=>{}},...xe.exposeHooks.expose.call({},De,{$table:ke,emits:ge,globProps:ue,loading:de,$xeTable:ce,...Ae})}),xe.setupHooks.setup.call(De,je,{$table:ke,emits:ge,globProps:ue,loading:de,$xeTable:ce}),(e,t)=>{const o=r("vxe-grid");return s(),i("section",u({class:"iho-table",id:c(ye),style:c(ve)},c(O)()),[(s(),d(f(c(We)))),m("section",{style:v(c(pe))},[p(c(F),{abstract:"",namespace:"vxe-table--ignore-clear"},{default:b((()=>[p(o,u({ref_key:"$table",ref:ke},c(Se),{columns:je.value,data:Pe.value,loading:c(fe)}),g({_:2},[h(e.$slots,((t,o)=>({name:o,fn:b((t=>[x(" 实际上所有的vxe-grid插槽都支持 "),y(e.$slots,o,k(D(Ve(t))))]))})))]),1040,["columns","data","loading"])])),_:3})],4),(s(),d(f(c(Ne))))],16,ne)}}});export{re as default};
1
+ import{defineComponent as e,ref as t,provide as o,computed as a,toRaw as l,watch as n,resolveComponent as r,openBlock as s,createElementBlock as i,mergeProps as u,unref as d,createBlock as c,resolveDynamicComponent as f,createElementVNode as v,normalizeStyle as m,createVNode as p,withCtx as b,createSlots as g,renderList as h,createCommentVNode as x,renderSlot as y,normalizeProps as k,guardReactiveProps as D,nextTick as C}from"vue";import{useTheme as $,createOpacityColor as j}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as w}from"@vueuse/core";import"date-fns";import{isString as T,isEqualWith as I,isFunction as R,pick as q}from"lodash-es";import{useFormAsyncQueue as H,presetRequestHandler as P}from"../../../shared/hooks/useFormRequest/index.js";import{hex2rgba as _,widthAppend as A,uuidGenerator as L}from"../../../shared/utils/index.js";import{promiseTimeout as S}from"@vueuse/shared";import"../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import{NConfigProvider as B}from"naive-ui";import{useVersion as F}from"../../../shared/hooks/useVersion.js";import{VxeTableEventNameList as O,InjectionIhoTableXeInstance as E,InjectionIhoTableLoading as W,InjectionIhoTableEmits as M,InjectionTableAsyncQueue as N,InjectionIhoTableAnnotation as V,InjectionIhoTableUUID as z,InjectionIhoTableInstance as G,InjectionIhoTableConfig as J,InjectionIhoTableFieldList as K,InjectionIhoTableHandler as Q,InjectionIhoTableGlobProps as U}from"./constants/index.js";import{createTableHooks as X,applyTableConfigHooks as Y,applyTableFieldHooks as Z,createTableEventHandlers as ee,createDomInsertComponent as te,createDataTransfer as oe}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as ae}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as le}from"./utils/index.js";const ne=["id"];var re=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object},requestInstance:{type:Object},uniqueCacheData:{type:Boolean,default:!1},parallelism:{type:Number,default:3},developMode:{type:Boolean,default:!1}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...O],setup(e,{expose:O,emit:re}){var se,ie;const ue=e,de=t();o(E,de);const ce=t(!1),fe=a((()=>{var e;return(null==(e=ue.tableConfig)?void 0:e.loading)||ce.value}));o(W,ce);const ve=$({"--c-border-color":"#d0d0d0","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#e6e6e6","--c-stripe-color":"#f6f6f6"}),me=a((()=>{var e,t,o;const a={...ve.value};return a["--c-primary-color-opacity3"]=j(..._(a["--c-primary-color"]+""),.3),a["--c-scrollbar-width"]=A(null!=(o=null==(t=null==(e=de.value)?void 0:e.reactData)?void 0:t.scrollbarWidth)?o:0),a})),pe=a((()=>{var e,t;const o=null!=(t=null==(e=ue.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":T(o)&&(o.includes("calc")||o.endsWith("%"))?o:A(o)}})),be=ae(),ge=function(e,...t){re(e,...t);const o=d(De)[le(e)];R(o)&&o(...t),be.trigger(e,...t)};o(M,ge);const he=H(a((()=>ue.requestInstance)),a((()=>!!ue.uniqueCacheData))).create(ue.parallelism,{beforeRequest:(e,t)=>t,afterRequest:(e,t)=>P(t)});o(N,he);const xe=X();o(V,a((()=>ue.annotation)));const ye=L();o(z,ye);const ke=t();o(G,ke);const De=t({uuid:null!=(ie=null==(se=ue.tableConfig)?void 0:se.uuid)?ie:ye});o(J,De);const Ce=w($e,10);function $e(){var e,t;De.value=Y(xe,{...ue.tableConfig,uuid:null!=(t=null==(e=ue.tableConfig)?void 0:e.uuid)?t:ye},{$table:ke,emits:ge,globProps:ue,loading:ce,$xeTable:de})}const je=t([]);o(K,je);const we=w(Te,10);function Te(){const e=Z(xe,ue.fieldList,De.value,{$table:ke,emits:ge,loading:ce,globProps:ue,$xeTable:de});I(e,l(je.value),((e,t)=>{if(R(e)&&R(t))return e.toString()===t.toString()}))||(je.value=e)}const Ie=oe(xe,De,ke);let Re=null;function qe(e){Re=e}async function He(){await C(),null==Re||Re(),Re=null}const Pe=t([]);async function _e(){var e,t;const o=await Ie(ue.tableData),a=null==(e=ke.value)?void 0:e.getTableData().fullData;if(a){let e=0;if(!(a.some((t=>{var a;if(!(null==(a=ke.value)?void 0:a.isInsertByRow(t))){if(t!==o[e])return!0;e++}}))||e!==o.length))return void He()}Pe.value=o,null==(t=ke.value)||t.recalculate(!0),He()}const Ae={updateTableDataRef:w(_e,10),updateConfigRef:Ce,updateFieldListRef:we};o(Q,Ae),o(U,ue);const Le=ee({hooks:xe,config:De,$table:ke,context:Ae,emits:ge,globProps:ue,loading:ce,$xeTable:de}),Se=a((()=>({...De.value,...Le})));let Be=!1,Fe=!1,Oe=!1;const Ee=w((()=>{Be&&$e(),Fe&&Te(),Oe&&_e(),Be=!1,Fe=!1,Oe=!1}),10);n((()=>ue.tableConfig),(()=>{Be=!0,Fe=!0,Oe=!0,Ee()}),{deep:!0}),n((()=>ue.fieldList),(()=>{Fe=!0,Oe=!0,Ee()}),{deep:!0}),n([()=>[...ue.tableData],()=>{var e;return null==(e=ue.tableData)?void 0:e.length}],(()=>{Oe=!0,Ee()})),n([()=>ue.tableData,()=>{var e;return null==(e=ue.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=De.value.treeConfig)?void 0:e.expandAll)&&(await S(11),null==(t=ke.value)||t.setAllTreeExpand(!0))})),$e(),Te(),_e();const{header:We,footer:Me}=te(xe);function Ne(e){return q(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return O({$table:ke,async loadData(e){var t;null==(t=ke.value)||t.loadData(await Ie(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),tableDataResolved:()=>new Promise(qe),reload(){var e,t;null==(e=ke.value)||e.loadColumn([]),null==(t=ke.value)||t.loadData([]),$e(),Te(),_e()},verticalTable:{update:()=>{}},...xe.exposeHooks.expose.call({},De,{$table:ke,emits:ge,globProps:ue,loading:ce,$xeTable:de,...Ae})}),xe.setupHooks.setup.call(De,je,{$table:ke,emits:ge,globProps:ue,loading:ce,$xeTable:de}),(e,t)=>{const o=r("vxe-grid");return s(),i("section",u({class:"iho-table",id:d(ye),style:d(me)},d(F)()),[(s(),c(f(d(We)))),v("section",{style:m(d(pe))},[p(d(B),{abstract:"",namespace:"vxe-table--ignore-clear"},{default:b((()=>[p(o,u({ref_key:"$table",ref:ke},d(Se),{columns:je.value,data:Pe.value,loading:d(fe)}),g({_:2},[h(e.$slots,((t,o)=>({name:o,fn:b((t=>[x(" 实际上所有的vxe-grid插槽都支持 "),y(e.$slots,o,k(D(Ne(t))))]))})))]),1040,["columns","data","loading"])])),_:3})],4),(s(),c(f(d(Me))))],16,ne)}}});export{re as default};
@@ -1 +1 @@
1
- import{useAttrs as e,onBeforeUnmount as t,inject as l,createVNode as o,mergeProps as n}from"vue";import{arrayed as i,widthAppend as a}from"../../../../shared/utils/index.js";import{isObject as r,isString as s,isFunction as u}from"lodash-es";import d from"../../../annotation-edit/index.js";import"../../index.js";import{InjectionIhoTableAnnotation as c,InjectionIhoTableConfig as m,InjectionIhoTableXeInstance as h}from"../constants/index.js";import{getLowCodeFieldFromField as p,IhoTableRenderHelper as f}from"../utils/index.js";import{defineTablePlugin as v}from"../hooks/useTablePlugin.js";function b(){const b="headerPlugin";return v({name:b,apply(v){let x=null;v.setupHooks.setup.tap(b,(()=>{x=e(),t((()=>{x=null}))})),v.fieldHooks.field.tap(b,(e=>{var t;const v=null==(t=e.slots)?void 0:t.header;return e.slots={...e.slots,header:t=>function(e,t,p){const v=l(c),b=l(m),j=l("$xetable"),g=l(h);g&&!(null==g?void 0:g.value)&&(g.value=j);const w=e.column||{},D=r(null==v?void 0:v.value)&&!1!==t.annotation,W=f.isEditableColumn(b.value,w),k=f.hasFilter(t)||f.hasDateFiler(t),y=f.hasTitlePrefix(e.column),F=f.hasFieldDescribe(t),M=s(p)?p:u(p)?p(e):null;let P=!1;if(b.value){const e=b.value.editRules&&b.value.editRules[w.field];e&&(P=i(e).some((e=>e.required)))}const $=b.value.border?Math.max(2,Math.ceil(j.reactData.scrollbarWidth/j.reactData.tableColumn.length)):1,C=a(Math.max(0,w.renderWidth-20-$-(P?14:0)-(D?18:0)-(k?23:0)-(W?22:0)-(y?20:0)-(w.sortable?23:0)));return o("section",{class:"iho-table__headerWrapper"},[o("section",{style:{width:C}},[null!=M?M:o("div",n({style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},F?{title:`${w.title}\n${null==(H=t.settingObj)?void 0:H.fieldDescribe}`}:{}),[function(){const e=w.title,t=/\\n|\n|\r/g;if(!t.test(e))return e;const l=e.replace(t,"<br>").split("<br>");return l.map(((e,t)=>[e,t===l.length-1?null:o("br",null,null)]))}()])]),D?o(d,{modelValue:v.value[w.field],"onUpdate:modelValue":e=>v.value[w.field]=e,shortcuts:x&&(x["annotation-shortcuts"]||x.annotationShortcuts)||[]},null):null]);var H}(t,p(e),v)},e}))}})}export{b as default};
1
+ import{useAttrs as e,onBeforeUnmount as t,inject as l,createVNode as n,mergeProps as o}from"vue";import{arrayed as i,widthAppend as s}from"../../../../shared/utils/index.js";import{isObject as a,isString as r,isFunction as u}from"lodash-es";import d from"../../../annotation-edit/index.js";import"../../index.js";import{InjectionIhoTableAnnotation as c,InjectionIhoTableConfig as f,InjectionIhoTableXeInstance as m,InjectionIhoTableGlobProps as v}from"../constants/index.js";import{getLowCodeFieldFromField as h,IhoTableRenderHelper as p}from"../utils/index.js";import{defineTablePlugin as b}from"../hooks/useTablePlugin.js";function x(){const x="headerPlugin";return b({name:x,apply(b){let j=null;b.setupHooks.setup.tap(x,(()=>{j=e(),t((()=>{j=null}))})),b.fieldHooks.field.tap(x,((e,t,b)=>{var x;const D=null==(x=e.slots)?void 0:x.header;return e.slots={...e.slots,header:t=>function(e,t,h){const b=l(c),x=l(f),D=l("$xetable"),g=l(m);g&&!(null==g?void 0:g.value)&&(g.value=D);const w=e.column||{},O=a(null==b?void 0:b.value)&&!1!==t.annotation,M=p.isEditableColumn(x.value,w),W=p.hasFilter(t)||p.hasDateFiler(t),k=p.hasTitlePrefix(e.column),y=r(h)?h:u(h)?h(e):null;let P=!1;if(x.value){const e=x.value.editRules&&x.value.editRules[w.field];e&&(P=i(e).some((e=>e.required)))}const $=x.value.border?Math.max(2,Math.ceil(D.reactData.scrollbarWidth/D.reactData.tableColumn.length)):1,C=s(Math.max(0,w.renderWidth-20-$-(P?14:0)-(O?18:0)-(W?23:0)-(M?22:0)-(k?20:0)-(w.sortable?23:0)));return n("section",{class:"iho-table__headerWrapper"},[n("section",{style:{width:C}},[null!=y?y:n("div",o({style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},function(){var e,n,o;let i=null==(e=t.settingObj)?void 0:e.fieldDescribe;if(r(null==(n=t.settingObj)?void 0:n.fieldDescDev)&&(null==(o=t.settingObj)?void 0:o.fieldDescDev)){const e=l(v);i=(null==e?void 0:e.developMode)?t.settingObj.fieldDescDev:i}return i?{title:`${w.title}\n${i}`}:{}}()),[function(){const e=w.title,t=/\\n|\n|\r/g;if(!t.test(e))return e;const l=e.replace(t,"<br>").split("<br>");return l.map(((e,t)=>[e,t===l.length-1?null:n("br",null,null)]))}()])]),O?n(d,{modelValue:b.value[w.field],"onUpdate:modelValue":e=>b.value[w.field]=e,shortcuts:j&&(j["annotation-shortcuts"]||j.annotationShortcuts)||[]},null):null])}(t,h(e),D)},e}))}})}export{x as default};
@@ -143,6 +143,8 @@ export declare namespace IhoTableLowCodeField {
143
143
  attr: string;
144
144
  isHide: MaybeString<0 | 1>;
145
145
  colorAndIcon: ColorAndIconItem[];
146
+ fieldDescribe: string;
147
+ fieldDescDev: string;
146
148
  [K: string]: unknown;
147
149
  }>;
148
150
  type QueryOptions = (payload: {
@@ -272,4 +274,5 @@ export type IhoTableProps = Partial<{
272
274
  fieldList: IhoTableFieldItem[];
273
275
  tableData: AnyObject[];
274
276
  annotation: Record<string, AnnotationItem>;
277
+ developMode: boolean;
275
278
  }>;
@@ -39,7 +39,6 @@ export declare const IhoTableRenderHelper: Readonly<{
39
39
  hasFilter(lowCodeField: LowCodeTableFieldItem): boolean;
40
40
  hasDateFiler(lowCodeField: LowCodeTableFieldItem): boolean | undefined;
41
41
  hasTitlePrefix(lowCodeField: VxeTableDefines.ColumnInfo | IhoTableFieldItem): boolean | import("vxe-table").VxeTooltipPropTypes.Content | undefined;
42
- hasFieldDescribe(lowCodeField: LowCodeTableFieldItem): unknown;
43
42
  }>;
44
43
  export declare const IhoTableStatusHelper: Readonly<{
45
44
  isPositive(value: string | number | undefined | null): boolean;
@@ -1 +1 @@
1
- import{reactive as e,inject as n,unref as t,normalizeStyle as r,toRaw as i,createVNode as o}from"vue";import{jsonParse as l}from"../../../../shared/utils/index.js";import{promiseTimeout as u}from"@vueuse/shared";import{parse as a,isValid as c,compareDesc as d}from"date-fns";import{isNumber as s,isFunction as f,isString as p,isObject as m,isArray as v}from"lodash-es";import{InjectionIhoTableConfig as h,InjectionIhoTableEmits as g,IHO_TABLE_STRING_STATUS as I,IHO_TABLE_NUMBER_STATUS as E,IHO_TABLE_TREE_TYPE as T,EDITABLE_WIDGET_TYPE as w,InjectionIhoTableUUID as R}from"../constants/index.js";import{getSeparateInfo as C}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function S(e){return console.warn(`[IhoTable]: ${e}`)}const F=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function D(){var e,t,r;const i=n(h);return i||S("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(e=null==i?void 0:i.value)?void 0:e.rowConfig)?void 0:t.height)?r:32}function P(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function b(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function O(n,t=!0){const r=t?e(new Map):new Map;return{uuidMap:r,getItemFromUUID:function(e){return r.get(e)||r.set(e,n()),r.get(e)},setItemFromUUID:function(e,n){r.set(e,n)},removeItemFromUUID:function(e){r.delete(e)}}}async function A(e,n,r,i,o=2){const l=function(){var o;const l=null==(o=t(i))?void 0:o.getColumnByField(e.field);if(!l)return;const u=$(l);return u?f(u.separateWidth)?u.separateWidth({column:l,row:n,rowIndex:r,$table:t(i)}):s(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return s(l)&&l>0?l:o<=0?function(){const n=+e.colWidth;return s(n)?n:64}():(await u(0),A(e,n,r,i,o-1))}function x(e){const r=n(g);function o(){var n;const r=t(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(n=r.column.editRender)?void 0:n.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function l(e={}){r("formChange",{...o(),...i(e)})}function u(e={}){r("formClick",{...o(),...i(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function $(e){var n;return null==(n=e.editRender)?void 0:n.props}const N=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:t,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(t[r.field]);const i=n(R),l=C(i,t);if(!l)return c(t[r.field]);const{originalData:u=t,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[o("span",{title:U(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...x(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){if(M(e))return!0;let n=e.fieldSetting;return p(n)&&(n=l(n||"")),m(n)&&((t=n).notParticipatingSearch!==I.POSITIVE&&"manual"===(null==(r=t.mapping)?void 0:r.type));var t,r},hasDateFiler(e){var n;return null==(n=null==e?void 0:e.filterSetting)?void 0:n.daterange},hasTitlePrefix(e){var n,t;return e&&((null==(n=e.titlePrefix)?void 0:n.content)||(null==(t=e.titlePrefix)?void 0:t.useHTML))},hasFieldDescribe(e){var n;return null==(n=null==e?void 0:e.settingObj)?void 0:n.fieldDescribe}}),H=Object.freeze({isPositive:e=>e===E.POSITIVE||e===I.POSITIVE,isNegative:e=>e===E.NEGATIVE||e===I.NEGATIVE,notPositive:e=>e!==E.POSITIVE&&e!==I.POSITIVE,notNegative:e=>e!==E.NEGATIVE&&e!==I.NEGATIVE});function V(e){return[T.TRANSFORM_WITH_SPAN_METHOD,T.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function W(e){return p(e)&&!!e.match(/^###\{[^{}]+}$/)}function _(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function j(e,n){if(e.$__SEPARATE||!n.editRender||!n.editRender.props)return e[n.field];const{fieldSetting:t}=n.editRender.props;if(!p(t))return e[n.field];const{mergedFeildExpression:r}=l(t);return r&&p(r)?r.replace(/#{(.+?)}/g,(function(n,t){let r=t?e[t.trim()]:null;W(r)&&(r=_(r).change_text);return r||(null==r?"--":r)})):e[n.field]}const y=["SEARCH","SELECT","RADIO","CHECKBOX"];function M(e){return e.notParticipatingSearch===E.NEGATIVE&&y.includes(F.getCellType(e))&&v(e.options)&&e.options.length}function U(e,n=""){return"tooltip"!==e.showOverflow&&p(n)?n:""}function G(e,n){var r,i,o;n=t(n)||"";const l=null!=(i=null==(r=e.editRender)?void 0:r.props)?i:{},u=a(n,(null==(o=null==l?void 0:l.componentProps)?void 0:o.valueFormat)||"HH:mm",new Date);return!c(u)}function L(e,n,r){var i,o;const l=null!=(o=null==(i=e.editRender)?void 0:i.props)?o:{};return r=t(r)||"",!c(new Date(r))||p(l.connectField)&&n[l.connectField]&&(l.isStartDate&&d(new Date(r),new Date(n[l.connectField]))<0||l.isEndDate&&d(new Date(r),new Date(n[l.connectField]))>0)}function k(e){var n,t;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(t=null==(n=e.editRender)?void 0:n.name)?t:F.getCellType(e))!==w.SEPARATE}function z(e){const n=e.internalData.tableFullColumn;return!!v(n)&&n.some((e=>{var n,t;return k(null!=(t=null==(n=e.editRender)?void 0:n.props)?t:{})}))}function B(e,n){return n?e?t=>[f(e)?e(t):e,f(n)?n(t):n]:n:e}function J(e,n){return n?e?t=>r([f(e)?e(t):e,f(n)?n(t):n]):n:e}export{N as IhoTableRenderHelper,H as IhoTableStatusHelper,F as IhoTableUtils,S as IhoTableWarn,P as eventListener2EventName,b as eventName2EventListener,A as getColumnRenderWidth,$ as getLowCodeFieldFromField,D as getRowHeight,U as getTitle,M as isCompatibleColumn,L as isInvalidDate,G as isInvalidTime,W as isRichContent,V as isTransformTreeType,k as isVariableHeightColumn,z as isVariableHeightTable,B as mergeVxeClass,J as mergeVxeStyle,j as parseMergeField,_ as parseRichContent,x as useIhoTableFormEvent,O as useUUIDMap};
1
+ import{reactive as e,inject as n,unref as t,normalizeStyle as r,toRaw as o,createVNode as i}from"vue";import{jsonParse as l}from"../../../../shared/utils/index.js";import{promiseTimeout as u}from"@vueuse/shared";import{parse as a,isValid as c,compareDesc as d}from"date-fns";import{isNumber as s,isFunction as f,isString as p,isObject as m,isArray as v}from"lodash-es";import{InjectionIhoTableConfig as h,InjectionIhoTableEmits as I,IHO_TABLE_STRING_STATUS as g,IHO_TABLE_NUMBER_STATUS as E,IHO_TABLE_TREE_TYPE as T,EDITABLE_WIDGET_TYPE as w,InjectionIhoTableUUID as R}from"../constants/index.js";import{getSeparateInfo as C}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function S(e){return console.warn(`[IhoTable]: ${e}`)}const F=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function P(){var e,t,r;const o=n(h);return o||S("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(e=null==o?void 0:o.value)?void 0:e.rowConfig)?void 0:t.height)?r:32}function D(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function b(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function A(n,t=!0){const r=t?e(new Map):new Map;return{uuidMap:r,getItemFromUUID:function(e){return r.get(e)||r.set(e,n()),r.get(e)},setItemFromUUID:function(e,n){r.set(e,n)},removeItemFromUUID:function(e){r.delete(e)}}}async function O(e,n,r,o,i=2){const l=function(){var i;const l=null==(i=t(o))?void 0:i.getColumnByField(e.field);if(!l)return;const u=$(l);return u?f(u.separateWidth)?u.separateWidth({column:l,row:n,rowIndex:r,$table:t(o)}):s(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return s(l)&&l>0?l:i<=0?function(){const n=+e.colWidth;return s(n)?n:64}():(await u(0),O(e,n,r,o,i-1))}function x(e){const r=n(I);function i(){var n;const r=t(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(n=r.column.editRender)?void 0:n.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function l(e={}){r("formChange",{...i(),...o(e)})}function u(e={}){r("formClick",{...i(),...o(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function $(e){var n;return null==(n=e.editRender)?void 0:n.props}const N=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:t,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(t[r.field]);const o=n(R),l=C(o,t);if(!l)return c(t[r.field]);const{originalData:u=t,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[i("span",{title:j(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...x(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){if(U(e))return!0;let n=e.fieldSetting;return p(n)&&(n=l(n||"")),m(n)&&((t=n).notParticipatingSearch!==g.POSITIVE&&"manual"===(null==(r=t.mapping)?void 0:r.type));var t,r},hasDateFiler(e){var n;return null==(n=null==e?void 0:e.filterSetting)?void 0:n.daterange},hasTitlePrefix(e){var n,t;return e&&((null==(n=e.titlePrefix)?void 0:n.content)||(null==(t=e.titlePrefix)?void 0:t.useHTML))}}),H=Object.freeze({isPositive:e=>e===E.POSITIVE||e===g.POSITIVE,isNegative:e=>e===E.NEGATIVE||e===g.NEGATIVE,notPositive:e=>e!==E.POSITIVE&&e!==g.POSITIVE,notNegative:e=>e!==E.NEGATIVE&&e!==g.NEGATIVE});function V(e){return[T.TRANSFORM_WITH_SPAN_METHOD,T.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function W(e){return p(e)&&!!e.match(/^###\{[^{}]+}$/)}function _(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function y(e,n){if(e.$__SEPARATE||!n.editRender||!n.editRender.props)return e[n.field];const{fieldSetting:t}=n.editRender.props;if(!p(t))return e[n.field];const{mergedFeildExpression:r}=l(t);return r&&p(r)?r.replace(/#{(.+?)}/g,(function(n,t){let r=t?e[t.trim()]:null;W(r)&&(r=_(r).change_text);return r||(null==r?"--":r)})):e[n.field]}const M=["SEARCH","SELECT","RADIO","CHECKBOX"];function U(e){return e.notParticipatingSearch===E.NEGATIVE&&M.includes(F.getCellType(e))&&v(e.options)&&e.options.length}function j(e,n=""){return"tooltip"!==e.showOverflow&&p(n)?n:""}function G(e,n){var r,o,i;n=t(n)||"";const l=null!=(o=null==(r=e.editRender)?void 0:r.props)?o:{},u=a(n,(null==(i=null==l?void 0:l.componentProps)?void 0:i.valueFormat)||"HH:mm",new Date);return!c(u)}function L(e,n,r){var o,i;const l=null!=(i=null==(o=e.editRender)?void 0:o.props)?i:{};return r=t(r)||"",!c(new Date(r))||p(l.connectField)&&n[l.connectField]&&(l.isStartDate&&d(new Date(r),new Date(n[l.connectField]))<0||l.isEndDate&&d(new Date(r),new Date(n[l.connectField]))>0)}function k(e){var n,t;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(t=null==(n=e.editRender)?void 0:n.name)?t:F.getCellType(e))!==w.SEPARATE}function z(e){const n=e.internalData.tableFullColumn;return!!v(n)&&n.some((e=>{var n,t;return k(null!=(t=null==(n=e.editRender)?void 0:n.props)?t:{})}))}function B(e,n){return n?e?t=>[f(e)?e(t):e,f(n)?n(t):n]:n:e}function J(e,n){return n?e?t=>r([f(e)?e(t):e,f(n)?n(t):n]):n:e}export{N as IhoTableRenderHelper,H as IhoTableStatusHelper,F as IhoTableUtils,S as IhoTableWarn,D as eventListener2EventName,b as eventName2EventListener,O as getColumnRenderWidth,$ as getLowCodeFieldFromField,P as getRowHeight,j as getTitle,U as isCompatibleColumn,L as isInvalidDate,G as isInvalidTime,W as isRichContent,V as isTransformTreeType,k as isVariableHeightColumn,z as isVariableHeightTable,B as mergeVxeClass,J as mergeVxeStyle,y as parseMergeField,_ as parseRichContent,x as useIhoTableFormEvent,A as useUUIDMap};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,provide as a,computed as t,watch as i,onMounted as n,openBlock as o,createElementBlock as r,createElementVNode as u,Fragment as s,renderList as c,unref as d,normalizeClass as f,createCommentVNode as v,createVNode as m,withCtx as p,createTextVNode as h,toDisplayString as g,createBlock as k,withDirectives as b,vShow as y,isRef as C}from"vue";import{useMessage as _,NPopover as A,NModal as S,NCard as x,NIcon as F,NButton as q,NForm as w,NFormItem as j,NInput as I}from"naive-ui";import{CloseOutline as R,AddOutline as U}from"@vicons/ionicons5";import E from"../../table-filter/src/hooks/useMixins.js";import N from"../../table-filter/src/hooks/useRenderWidget.js";import O from"../../table-filter/src/hooks/useAdvanced.js";import P from"../../table-filter/src/components/render-widget/index.vue.js";import"moment/locale/zh-cn";import{cloneDeep as V}from"lodash-es";import{InjectionFilterApiConfig as z,InjectionFilterSearchConfig as D}from"../../table-filter/src/constants/index.js";const L={class:"quick-search-block quick-search-table"},T={class:"quick-row"},B={class:"quick-item-title"},Q={class:"quick-item-col"},M={class:"svg-wrap"},W={class:"flex_right"},G={class:"class-filter-content"},J={class:"quickSearch-content"},H=u("span",{class:"label"},"父类名称:",-1),K=["onDblclick","onClick"],X={class:"s-content"};var Y=e({__name:"index",props:{searchFieldList:{type:Array,default:()=>[]},quickSearchConfig:{type:Array,default:()=>[]},tableId:{type:String,default:""},filterApiConfig:{type:Object}},emits:["getFilterParam","onFilterSearch","clearQuickSearchConfig"],setup(e,{expose:Y,emit:Z}){const $=e,ee={classname:{required:!0,message:"请输入分类名称",trigger:["input","blur"]}},le=_(),{handleGetConfigApi:ae,outQuickSearchFn:te}=E(),{getRenderSearchConObj:ie,resetRenderWidgetValue:ne,isRender:oe}=N(),{transformData:re,getCacheDef:ue,transformParams:se}=O(),ce=l(null),de=l({classname:""});let fe=l(!1),ve=l([]),me=l([]),pe=l(!1),he=l("");const ge=l(),ke=l(),be=l([]);a(z,$.filterApiConfig),a(D,ve);let ye=t((()=>!!me.value.length&&me.value.some((e=>e.isAdd)))),Ce=t((()=>(e,l="name")=>e.alias||e[l]));function _e(){return function(e){if(!Array.isArray(e))return[];let l=[];for(let a=0;a<e.length;a++){let t=e[a];const i=ie(t);!l.find((e=>e.field_key===i.field_key))&&i&&l.push(i)}return l.filter((e=>e.value))}(ve.value)||[]}function Ae(){var e;null==(e=ce.value)||e.validate((e=>{var l;if(e)return;let a=_e();a.length||(a=[]);let t=null==(l=me.value.filter((e=>e.selected))[0])?void 0:l.value;!async function(e){var l;try{if(!await ae(e,"requestSaveTableCondiTion",{},$.filterApiConfig))return;fe.value=!1,null==(l=ce.value)||l.restoreValidation(),de.value.classname="",me.value=[],we()}catch(e){console.log(e)}}({tableId:$.tableId||"",setting:JSON.stringify({displayCategory:t,name:de.value.classname,conObj:a.map((e=>(e.unit&&(e.value=[]),e)))}),conditionList:"[]"})}))}function Se(e){setTimeout((()=>{ke.value&&ke.value.focus()}),100),pe.value=!0}function xe(){pe.value=!1,he.value&&(me.value.forEach((e=>e.selected=!1)),me.value.push({disabled:!0,value:he.value,selected:!0,isAdd:!0}),he.value="")}function Fe(e){!function(e){me.value.splice(e,1)}(e)}function qe(){fe.value=!1}function we(){je(ve.value),Z("clearQuickSearchConfig")}function je(e){Array.isArray(e)&&(e.forEach((e=>{ne(e)})),te.handlerInitSearchItem(ve.value))}return i((()=>$.searchFieldList),(e=>{e&&e.length>0&&function(){let e=V(re($.searchFieldList,{_filterApiConfig:$.filterApiConfig})).filter((e=>1==e.isShowSearch&&1!=e.filterExplicit))||[];ve.value=e||[],te.handlerInitSearchItem(ve.value)}()}),{immediate:!0,deep:!0}),i((()=>ve),(()=>{const e=_e()||[],l=se(e);Z("getFilterParam",e,l),be.value.forEach((e=>e(l)))}),{deep:!0}),n((()=>{const e=$.quickSearchConfig;if(e&&e.length>0)return l=e,void ve.value.forEach((e=>{var a,t;if(oe(e)){const i=l.find((l=>l.field_key===e.columnName));i&&(null==(a=i.value)?void 0:a.length)>0&&(e.value=ue(e,i.value),e.unit=null!=(t=i.unit)?t:"")}}));var l;je(ve.value)})),Y({openSaveToCalss:function(){let e=_e();e&&(e.length>0?fe.value=!0:le.warning("请设置搜索条件"))},clearData:we,onFilterSearch:function(){let e=_e()||[];const l=se(e);return Z("onFilterSearch",e,l,!1),ve.value},getFilterParams:function(){const e=_e()||[];return se(e)},setFilterParams:function(e){const l=e?Object.keys(e):[];l.length>0&&ve.value.forEach((a=>{var t;if(oe(a)&&l.includes(a.columnName)){const l=e[a.columnName];a.value=Array.isArray(l)&&!1===(null==(t=a.widgetCfg)?void 0:t.multiple)?l[0]:l}}))},getOriginalConfig:function(){return $.searchFieldList},onFilterChange:function(e){be.value.push(e)}}),(e,l)=>(o(),r("div",null,[u("div",L,[(o(!0),r(s,null,c(d(ve),(e=>(o(),r("div",{class:f(["quick-item",{"quick-block":e._isBlock}]),key:e.sid||e.columnName},[u("div",T,[v(" title "),u("div",B,[m(d(A),{trigger:"hover"},{trigger:p((()=>[h(g(d(Ce)(e,"title")),1)])),default:p((()=>[u("span",null,g(d(Ce)(e,"title")),1)])),_:2},1024)]),v(" content "),u("div",Q,[v(" 直接渲染组件 "),e.isRender?(o(),k(P,{key:0,cfg:e,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,unit:e.unit,"onUpdate:unit":l=>e.unit=l},null,8,["cfg","modelValue","onUpdate:modelValue","unit","onUpdate:unit"])):v("v-if",!0)])])],2)))),128))]),v(" 保存到分类的弹窗 "),m(d(S),{show:d(fe),maskClosable:!1,"positive-text":"确认","negative-text":"取消",onPositiveClick:Ae,onNegativeClick:qe,class:"classification-modal-block"},{default:p((()=>[m(d(x),{title:"设置筛选分类",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":p((()=>[u("div",M,[m(d(F),{component:d(R),size:"24",onClick:qe},null,8,["component"])])])),footer:p((()=>[u("div",W,[m(d(q),{onClick:qe},{default:p((()=>[h("取消")])),_:1}),m(d(q),{type:"info",onClick:Ae},{default:p((()=>[h("确认")])),_:1})])])),default:p((()=>[u("div",G,[m(d(w),{ref_key:"formRef",ref:ce,"label-placement":"left",rules:ee,model:de.value},{default:p((()=>[m(d(j),{label:"筛选集名称",path:"classname"},{default:p((()=>[m(d(I),{value:de.value.classname,"onUpdate:value":l[0]||(l[0]=e=>de.value.classname=e),placeholder:"请输入分类名称",clearable:""},null,8,["value"])])),_:1})])),_:1},8,["model"]),u("div",J,[H,(o(!0),r(s,null,c(d(me),((e,l)=>(o(),r("div",{class:"parent-name",key:l,onDblclick:l=>function(e){e.disabled=!1,setTimeout((()=>{ge.value.length>0&&ge.value[0].focus()}),100)}(e),onClick:a=>function(e,l){e.disabled&&(me.value.forEach(((e,a)=>{a!==l&&(e.selected=!1)})),e.selected=!e.selected)}(e,l)},[e.disabled?(o(),r("div",{key:0,class:f(["edit-tag",{"edit-tag-select":e.selected&&e.disabled}])},[u("div",X,g(e.value),1),m(d(F),{component:d(R),class:"anticon-close",size:"20",onClick:e=>Fe(l)},null,8,["component","onClick"])],2)):(o(),k(d(I),{key:1,ref_for:!0,ref_key:"parentInputRef",ref:ge,class:"parent-input",style:{width:"100px"},value:e.value,"onUpdate:value":l=>e.value=l,disabled:e.disabled,onBlur:()=>e.disabled=!0,maxlength:20},null,8,["value","onUpdate:value","disabled","onBlur"]))],40,K)))),128)),d(ye)?v("v-if",!0):(o(),r(s,{key:0},[b(m(d(q),{dashed:"",icon:"plus",class:"ant-btn",onClick:Se},{default:p((()=>[m(d(F),{component:d(U),size:"20"},null,8,["component"]),h("添加分类 ")])),_:1},512),[[y,!d(pe)]]),b(m(d(I),{ref_key:"parentInputAddRef",ref:ke,class:"parent-input",style:{width:"100px"},value:d(he),"onUpdate:value":l[1]||(l[1]=e=>C(he)?he.value=e:he=e),valueModifiers:{trim:!0},onBlur:xe,maxlength:20},null,8,["value"]),[[y,d(pe)]])],64))])])])),_:1})])),_:1},8,["show"])]))}});export{Y as default};
1
+ import{defineComponent as e,ref as l,provide as a,computed as t,watch as i,onMounted as n,openBlock as o,createElementBlock as r,createElementVNode as s,Fragment as u,renderList as c,unref as d,normalizeClass as f,createCommentVNode as v,createVNode as m,withCtx as p,createTextVNode as h,toDisplayString as g,createBlock as k,withDirectives as b,vShow as y,isRef as C}from"vue";import{useMessage as _,NPopover as A,NModal as S,NCard as x,NIcon as w,NButton as F,NForm as q,NFormItem as j,NInput as I}from"naive-ui";import{CloseOutline as E,AddOutline as R}from"@vicons/ionicons5";import U from"../../table-filter/src/hooks/useMixins.js";import L from"../../table-filter/src/hooks/useRenderWidget.js";import N from"../../table-filter/src/hooks/useAdvanced.js";import T from"../../table-filter/src/components/render-widget/index.vue.js";import{WidgetTypeEnums as D}from"../../table-filter/src/types/enums.js";import"moment/locale/zh-cn";import{cloneDeep as O}from"lodash-es";import{InjectionFilterApiConfig as P,InjectionFilterSearchConfig as V}from"../../table-filter/src/constants/index.js";const z={class:"quick-search-block quick-search-table"},B={class:"quick-row"},M={class:"quick-item-title"},Q={class:"quick-item-col"},W={class:"svg-wrap"},G={class:"flex_right"},J={class:"class-filter-content"},Y={class:"quickSearch-content"},H=s("span",{class:"label"},"父类名称:",-1),K=["onDblclick","onClick"],X={class:"s-content"};var Z=e({__name:"index",props:{searchFieldList:{type:Array,default:()=>[]},quickSearchConfig:{type:Array,default:()=>[]},tableId:{type:String,default:""},filterApiConfig:{type:Object}},emits:["getFilterParam","onFilterSearch","clearQuickSearchConfig"],setup(e,{expose:Z,emit:$}){const ee=e,le={classname:{required:!0,message:"请输入分类名称",trigger:["input","blur"]}},ae=_(),{handleGetConfigApi:te,outQuickSearchFn:ie}=U(),{getRenderSearchConObj:ne,resetRenderWidgetValue:oe,isRender:re}=L(),{transformData:se,getCacheDef:ue,transformParams:ce}=N(),de=l(null),fe=l({classname:""});let ve=l(!1),me=l([]),pe=l([]),he=l(!1),ge=l("");const ke=l(),be=l(),ye=l([]);a(P,ee.filterApiConfig),a(V,me);let Ce=t((()=>!!pe.value.length&&pe.value.some((e=>e.isAdd)))),_e=t((()=>(e,l="name")=>e.alias||e[l]));function Ae(){return function(e){if(!Array.isArray(e))return[];let l=[];for(let a=0;a<e.length;a++){let t=e[a];const i=ne(t);!l.find((e=>e.field_key===i.field_key))&&i&&l.push(i)}return l.filter((e=>e.value))}(me.value)||[]}function Se(){var e;null==(e=de.value)||e.validate((e=>{var l;if(e)return;let a=Ae();a.length||(a=[]);let t=null==(l=pe.value.filter((e=>e.selected))[0])?void 0:l.value;!async function(e){var l;try{if(!await te(e,"requestSaveTableCondiTion",{},ee.filterApiConfig))return;ve.value=!1,null==(l=de.value)||l.restoreValidation(),fe.value.classname="",pe.value=[],je()}catch(e){console.log(e)}}({tableId:ee.tableId||"",setting:JSON.stringify({displayCategory:t,name:fe.value.classname,conObj:a.map((e=>(e.unit&&(e.value=[]),e.widgetType===D.SELECTDYNAMIC&&(e.dynamicBaseList=e.value.map((e=>e.includes("&")?{label:e.split("&")[0],value:e.split("&")[1]}:{label:e,value:e})),e.value=e.value.map((e=>e.includes("&")?e.split("&")[1]:e))),e)))}),conditionList:"[]"})}))}function xe(e){setTimeout((()=>{be.value&&be.value.focus()}),100),he.value=!0}function we(){he.value=!1,ge.value&&(pe.value.forEach((e=>e.selected=!1)),pe.value.push({disabled:!0,value:ge.value,selected:!0,isAdd:!0}),ge.value="")}function Fe(e){!function(e){pe.value.splice(e,1)}(e)}function qe(){ve.value=!1}function je(){Ie(me.value),$("clearQuickSearchConfig")}function Ie(e){Array.isArray(e)&&(e.forEach((e=>{oe(e)})),ie.handlerInitSearchItem(me.value))}return i((()=>ee.searchFieldList),(e=>{e&&e.length>0&&function(){let e=O(se(ee.searchFieldList,{_filterApiConfig:ee.filterApiConfig})).filter((e=>1==e.isShowSearch&&1!=e.filterExplicit))||[];me.value=e||[],ie.handlerInitSearchItem(me.value)}()}),{immediate:!0,deep:!0}),i((()=>me),(()=>{const e=Ae()||[],l=ce(e);$("getFilterParam",e,l),ye.value.forEach((e=>e(l)))}),{deep:!0}),n((()=>{const e=ee.quickSearchConfig;if(e&&e.length>0)return l=e,void me.value.forEach((e=>{var a,t;if(re(e)){const i=l.find((l=>l.field_key===e.columnName));i&&(null==(a=i.value)?void 0:a.length)>0&&(e.value=ue(e,i.value),e.unit=null!=(t=i.unit)?t:"")}}));var l;Ie(me.value)})),Z({openSaveToCalss:function(){let e=Ae();e&&(e.length>0?ve.value=!0:ae.warning("请设置搜索条件"))},clearData:je,onFilterSearch:function(){let e=Ae()||[];const l=ce(e);return $("onFilterSearch",e,l,!1),me.value},getFilterParams:function(){const e=Ae()||[];return ce(e)},setFilterParams:function(e){const l=e?Object.keys(e):[];l.length>0&&me.value.forEach((a=>{var t;if(re(a)&&l.includes(a.columnName)){const l=e[a.columnName];a.value=Array.isArray(l)&&!1===(null==(t=a.widgetCfg)?void 0:t.multiple)?l[0]:l}}))},getOriginalConfig:function(){return ee.searchFieldList},onFilterChange:function(e){ye.value.push(e)}}),(e,l)=>(o(),r("div",null,[s("div",z,[(o(!0),r(u,null,c(d(me),(e=>(o(),r("div",{class:f(["quick-item",{"quick-block":e._isBlock}]),key:e.sid||e.columnName},[s("div",B,[v(" title "),s("div",M,[m(d(A),{trigger:"hover"},{trigger:p((()=>[h(g(d(_e)(e,"title")),1)])),default:p((()=>[s("span",null,g(d(_e)(e,"title")),1)])),_:2},1024)]),v(" content "),s("div",Q,[v(" 直接渲染组件 "),e.isRender?(o(),k(T,{key:0,cfg:e,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,unit:e.unit,"onUpdate:unit":l=>e.unit=l},null,8,["cfg","modelValue","onUpdate:modelValue","unit","onUpdate:unit"])):v("v-if",!0)])])],2)))),128))]),v(" 保存到分类的弹窗 "),m(d(S),{show:d(ve),maskClosable:!1,"positive-text":"确认","negative-text":"取消",onPositiveClick:Se,onNegativeClick:qe,class:"classification-modal-block"},{default:p((()=>[m(d(x),{title:"设置筛选分类",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":p((()=>[s("div",W,[m(d(w),{component:d(E),size:"24",onClick:qe},null,8,["component"])])])),footer:p((()=>[s("div",G,[m(d(F),{onClick:qe},{default:p((()=>[h("取消")])),_:1}),m(d(F),{type:"info",onClick:Se},{default:p((()=>[h("确认")])),_:1})])])),default:p((()=>[s("div",J,[m(d(q),{ref_key:"formRef",ref:de,"label-placement":"left",rules:le,model:fe.value},{default:p((()=>[m(d(j),{label:"筛选集名称",path:"classname"},{default:p((()=>[m(d(I),{value:fe.value.classname,"onUpdate:value":l[0]||(l[0]=e=>fe.value.classname=e),placeholder:"请输入分类名称",clearable:""},null,8,["value"])])),_:1})])),_:1},8,["model"]),s("div",Y,[H,(o(!0),r(u,null,c(d(pe),((e,l)=>(o(),r("div",{class:"parent-name",key:l,onDblclick:l=>function(e){e.disabled=!1,setTimeout((()=>{ke.value.length>0&&ke.value[0].focus()}),100)}(e),onClick:a=>function(e,l){e.disabled&&(pe.value.forEach(((e,a)=>{a!==l&&(e.selected=!1)})),e.selected=!e.selected)}(e,l)},[e.disabled?(o(),r("div",{key:0,class:f(["edit-tag",{"edit-tag-select":e.selected&&e.disabled}])},[s("div",X,g(e.value),1),m(d(w),{component:d(E),class:"anticon-close",size:"20",onClick:e=>Fe(l)},null,8,["component","onClick"])],2)):(o(),k(d(I),{key:1,ref_for:!0,ref_key:"parentInputRef",ref:ke,class:"parent-input",style:{width:"100px"},value:e.value,"onUpdate:value":l=>e.value=l,disabled:e.disabled,onBlur:()=>e.disabled=!0,maxlength:20},null,8,["value","onUpdate:value","disabled","onBlur"]))],40,K)))),128)),d(Ce)?v("v-if",!0):(o(),r(u,{key:0},[b(m(d(F),{dashed:"",icon:"plus",class:"ant-btn",onClick:xe},{default:p((()=>[m(d(w),{component:d(R),size:"20"},null,8,["component"]),h("添加分类 ")])),_:1},512),[[y,!d(he)]]),b(m(d(I),{ref_key:"parentInputAddRef",ref:be,class:"parent-input",style:{width:"100px"},value:d(ge),"onUpdate:value":l[1]||(l[1]=e=>C(ge)?ge.value=e:ge=e),valueModifiers:{trim:!0},onBlur:we,maxlength:20},null,8,["value"]),[[y,d(he)]])],64))])])])),_:1})])),_:1},8,["show"])]))}});export{Z as default};
@@ -1 +1 @@
1
- import{defineComponent as e,reactive as o,ref as t,watch as a,nextTick as n,openBlock as s,createElementBlock as i,normalizeClass as l,unref as r,createCommentVNode as m,Fragment as c,createBlock as u,mergeProps as d,createElementVNode as p,normalizeStyle as v,createVNode as f,withCtx as g,renderList as h,toDisplayString as k,createTextVNode as y,resolveDynamicComponent as w,renderSlot as S}from"vue";import b from"./hooks/use-noData.js";import{ScaleViewProps as C}from"./hooks/scaleview-props.js";import{getScaleViewState as D}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as j}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as _}from"./hooks/scaleview-submit.js";import{ScaleViewMethods as x}from"./hooks/scaleview-methods.js";import{handleQueryParams as F,isCollection as P}from"./utils/judge-types.js";import{useEvent as q}from"./hooks/use-event.js";import"xe-utils";import"moment";import L from"../../../shared/utils/vexutilsExpand.js";import N from"./components/NoData.vue.js";import R from"./components/EvaluateCountdown.vue.js";import A from"./components/EvaluatePage.vue.js";import M from"./components/AnswerParse.vue.js";import O from"./components/ScaleScore.js";import T from"./components/DescribeContent.vue.js";import{NForm as I,NFormItem as B,NButton as J}from"naive-ui";const V=["innerHTML"],G={key:0,class:"required-text"},W={key:1,class:"evalute-label"},H=["onClick"],Q=p("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),$={key:1,class:"footer"};var z=e({__name:"ScaleView",props:C,emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:C,emit:z}){const K=e,{ScaleViewState:U}=D(),X=o(U),Y=t(null),Z=t(null),{noDataState:ee,setNoData:oe,resetNodata:te}=b(),ae=F(),{showEvatip:ne,isFormBoldOpen:se,scaleStyle:ie,handlePageClass:le,isShowItem:re,handleShowQuestionNumber:me,hasScore:ce,isPreviewScale:ue,showEvaluateEntry:de,showEvaluateCoundownPage:pe,showScaleFooter:ve,isCancelBtn:fe,isSaveBtn:ge,showEvaluateLabel:he,showAnswerParse:ke,propsConfig:ye,evaluatePageProps:we,evaluateCountdownProps:Se,isEvaluetaResSituation:be,disableEdit:Ce,desStart:De,desEnd:Ee,desContent:je}=E(K,X,{query:ae}),{initForm:_e}=j(K,X,z,{query:ae}),{submitMethod:xe,onSubmitData:Fe,onSubmitForm:Pe,handleScoreJson:qe}=_(K,X,z,{query:ae,formRef:Z,countdownDom:Y}),{nextLogicEvent:Le,handleDynamicDataRelation:Ne}=q(K,X),{scaleChange:Re,labelChange:Ae,vodFileList:Me,writeGuage:Oe,closeEvaluateCountdown:Te,showEvaTipModal:Ie}=x(K,X,z,{nextLogicEvent:Le,handleDynamicDataRelation:Ne,isPreviewScale:ue,submitMethod:xe,isEvaluetaResSituation:be,handleScoreJson:qe,disableEdit:Ce});(()=>{let{id:e}=ae;e&&(X.shareId=e)})();const Be=e=>{try{te(),_e(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,oe(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};a((()=>K.ids),((e,o)=>{o?e.guage_id&&e.guage_id!=o.guage_id&&Be(e):e.guage_id&&Be(e)}),{immediate:!0}),a((()=>K.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;X.form={},X.formArray=[];const o=JSON.parse(JSON.stringify(e));n((()=>{_e(o)}))}),{immediate:!0});const Je=L.debounce(Fe,300),Ve=()=>{z("onCloseSetting")};return C({getScaleData:()=>({...X}),onSubmitForm:Pe,cancel:Ve}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(ve)}])},[m(' <template v-if="state.spinning">\r\n <n-spin :show="state.spinning" description="加载中"></n-spin>\r\n </template> '),X.spinning||X.hasFrontAddress?m("v-if",!0):(s(),i(c,{key:0},[r(ee).noData?(s(),u(N,{key:0,noDataImg:r(ee).noDataImg,noDataTip:r(ee).noDataTip},null,8,["noDataImg","noDataTip"])):(s(),i(c,{key:1},[r(de)?(s(),u(A,d({key:0},r(we),{onWriteGuage:r(Oe)}),null,16,["onWriteGuage"])):(s(),i(c,{key:1},[r(pe)?(s(),u(R,d({key:0,ref_key:"countdownDom",ref:Y},r(Se),{onCloseEvaluateCountdown:r(Te)}),null,16,["onCloseEvaluateCountdown"])):m("v-if",!0),p("div",{class:l(["scale-container",{"scale-container-nopadding":r(le),"scale-container-hasfooter":r(ve)}]),style:v(r(ie))},[r(ce)?(s(),u(r(O),{key:0,config:X.config,maxScore:X.maxScore},null,8,["config","maxScore"])):m("v-if",!0),r(De)?(s(),u(T,{key:1,content:r(je)},null,8,["content"])):m("v-if",!0),f(r(I),{ref_key:"formRef",ref:Z,model:X.form,rules:X.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(s(!0),i(c,null,h(X.formArray,((e,o)=>(s(),i(c,{key:(e.id||e.seq)+o},[r(re)(e)?(s(),u(r(B),{key:0,path:e.val_key,"show-label":!r(P)(e.type),class:"c-scle-form-item"},{label:g((()=>[p("span",{class:l({"scale-label-required":r(se)(e)}),innerHTML:r(me)(e)},null,10,V),r(se)(e)?(s(),i("span",G,"(必填)")):m("v-if",!0),r(he)(e)?(s(),i("span",W,k(r(he)(e)),1)):m("v-if",!0),r(ne)(e)?(s(),i("span",{key:2,class:"evalute-tip",onClick:o=>r(Ie)(e)},[Q,y(" 查看提示 ")],8,H)):m("v-if",!0)])),default:g((()=>[(s(),u(w(e.renderCom),d(r(ye)(e,o),{key:(e.id||e.seq)+o,onScaleChange:r(Re),onOnChange:o=>r(Ae)(o,e),onVodFileList:r(Me)}),null,16,["onScaleChange","onOnChange","onVodFileList"])),r(ke)(e)?(s(),u(M,{key:0,item:e},null,8,["item"])):m("v-if",!0)])),_:2},1032,["path","show-label"])):m("v-if",!0)],64)))),128))])),_:1},8,["model","rules"]),r(Ee)?(s(),u(T,{key:2,content:r(je)},null,8,["content"])):m("v-if",!0)],6),r(ve)?(s(),i("div",$,[m(" 分享的链接 隐藏取消按钮 "),r(fe)?(s(),u(r(J),{key:0,onClick:Ve},{default:g((()=>[y("取消")])),_:1})):m("v-if",!0),r(ge)?(s(),u(r(J),{key:1,onClick:r(Je),disabled:X.banSubmit,type:"primary"},{default:g((()=>[y(" 保存 ")])),_:1},8,["onClick","disabled"])):m("v-if",!0),S(e.$slots,"extendBtn")])):m("v-if",!0)],64))],64))],64))],2))}});export{z as default};
1
+ import{defineComponent as e,reactive as o,ref as t,watch as a,nextTick as n,openBlock as s,createElementBlock as i,normalizeClass as l,unref as r,createCommentVNode as m,Fragment as c,createBlock as u,mergeProps as d,createElementVNode as p,normalizeStyle as v,createVNode as f,withCtx as g,renderList as h,toDisplayString as k,createTextVNode as y,resolveDynamicComponent as w,renderSlot as S}from"vue";import b from"./hooks/use-noData.js";import{ScaleViewProps as C}from"./hooks/scaleview-props.js";import{getScaleViewState as D}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as j}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as _}from"./hooks/scaleview-submit.js";import{ScaleViewMethods as x}from"./hooks/scaleview-methods.js";import{handleQueryParams as F,isCollection as P}from"./utils/judge-types.js";import{useEvent as q}from"./hooks/use-event.js";import"xe-utils";import"moment";import L from"../../../shared/utils/vexutilsExpand.js";import N from"./components/NoData.vue.js";import R from"./components/EvaluateCountdown.vue.js";import A from"./components/EvaluatePage.vue.js";import M from"./components/AnswerParse.vue.js";import O from"./components/ScaleScore.js";import T from"./components/DescribeContent.vue.js";import{NForm as I,NFormItem as B,NButton as J}from"naive-ui";const V=["innerHTML"],G={key:0,class:"required-text"},W={key:1,class:"evalute-label"},H=["onClick"],Q=p("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),$={key:1,class:"footer"};var z=e({__name:"ScaleView",props:C,emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:C,emit:z}){const K=e,{ScaleViewState:U}=D(),X=o(U),Y=t(null),Z=t(null),{noDataState:ee,setNoData:oe,resetNodata:te}=b(),ae=F(),{showEvatip:ne,isFormBoldOpen:se,scaleStyle:ie,handlePageClass:le,isShowItem:re,handleShowQuestionNumber:me,hasScore:ce,isPreviewScale:ue,showEvaluateEntry:de,showEvaluateCoundownPage:pe,showScaleFooter:ve,isCancelBtn:fe,isSaveBtn:ge,showEvaluateLabel:he,showAnswerParse:ke,propsConfig:ye,evaluatePageProps:we,evaluateCountdownProps:Se,isEvaluetaResSituation:be,disableEdit:Ce,desStart:De,desEnd:Ee,desContent:je}=E(K,X,{query:ae}),{initForm:_e}=j(K,X,z,{query:ae}),{submitMethod:xe,onSubmitData:Fe,onSubmitForm:Pe,handleScoreJson:qe}=_(K,X,z,{query:ae,formRef:Z,countdownDom:Y}),{nextLogicEvent:Le,handleDynamicDataRelation:Ne}=q(K,X),{scaleChange:Re,labelChange:Ae,vodFileList:Me,writeGuage:Oe,closeEvaluateCountdown:Te,showEvaTipModal:Ie}=x(K,X,z,{nextLogicEvent:Le,handleDynamicDataRelation:Ne,isPreviewScale:ue,submitMethod:xe,isEvaluetaResSituation:be,handleScoreJson:qe,disableEdit:Ce});(()=>{let{id:e}=ae;e&&(X.shareId=e)})();const Be=e=>{try{te(),_e(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,oe(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};a((()=>K.ids),((e,o)=>{o?e.guage_id&&e.guage_id!=o.guage_id&&Be(e):e.guage_id&&Be(e)}),{immediate:!0}),a((()=>K.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;X.form={},X.formArray=[];const o=JSON.parse(JSON.stringify(e));n((()=>{_e(o)}))}),{immediate:!0});const Je=L.debounce(Fe,300),Ve=()=>{z("onCloseSetting")};return C({getScaleData:()=>({...X}),onSubmitForm:Pe,cancel:Ve}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(ve)}])},[m(' <template v-if="state.spinning">\n <n-spin :show="state.spinning" description="加载中"></n-spin>\n </template> '),X.spinning||X.hasFrontAddress?m("v-if",!0):(s(),i(c,{key:0},[r(ee).noData?(s(),u(N,{key:0,noDataImg:r(ee).noDataImg,noDataTip:r(ee).noDataTip},null,8,["noDataImg","noDataTip"])):(s(),i(c,{key:1},[r(de)?(s(),u(A,d({key:0},r(we),{onWriteGuage:r(Oe)}),null,16,["onWriteGuage"])):(s(),i(c,{key:1},[r(pe)?(s(),u(R,d({key:0,ref_key:"countdownDom",ref:Y},r(Se),{onCloseEvaluateCountdown:r(Te)}),null,16,["onCloseEvaluateCountdown"])):m("v-if",!0),p("div",{class:l(["scale-container",{"scale-container-nopadding":r(le),"scale-container-hasfooter":r(ve)}]),style:v(r(ie))},[r(ce)?(s(),u(r(O),{key:0,config:X.config,maxScore:X.maxScore},null,8,["config","maxScore"])):m("v-if",!0),r(De)?(s(),u(T,{key:1,content:r(je)},null,8,["content"])):m("v-if",!0),f(r(I),{ref_key:"formRef",ref:Z,model:X.form,rules:X.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(s(!0),i(c,null,h(X.formArray,((e,o)=>(s(),i(c,{key:(e.id||e.seq)+o},[r(re)(e)?(s(),u(r(B),{key:0,path:e.val_key,"show-label":!r(P)(e.type),class:"c-scle-form-item"},{label:g((()=>[p("span",{class:l({"scale-label-required":r(se)(e)}),innerHTML:r(me)(e)},null,10,V),r(se)(e)?(s(),i("span",G,"(必填)")):m("v-if",!0),r(he)(e)?(s(),i("span",W,k(r(he)(e)),1)):m("v-if",!0),r(ne)(e)?(s(),i("span",{key:2,class:"evalute-tip",onClick:o=>r(Ie)(e)},[Q,y(" 查看提示 ")],8,H)):m("v-if",!0)])),default:g((()=>[(s(),u(w(e.renderCom),d(r(ye)(e,o),{key:(e.id||e.seq)+o,onScaleChange:r(Re),onOnChange:o=>r(Ae)(o,e),onVodFileList:r(Me)}),null,16,["onScaleChange","onOnChange","onVodFileList"])),r(ke)(e)?(s(),u(M,{key:0,item:e},null,8,["item"])):m("v-if",!0)])),_:2},1032,["path","show-label"])):m("v-if",!0)],64)))),128))])),_:1},8,["model","rules"]),r(Ee)?(s(),u(T,{key:2,content:r(je)},null,8,["content"])):m("v-if",!0)],6),r(ve)?(s(),i("div",$,[m(" 分享的链接 隐藏取消按钮 "),r(fe)?(s(),u(r(J),{key:0,onClick:Ve},{default:g((()=>[y("取消")])),_:1})):m("v-if",!0),r(ge)?(s(),u(r(J),{key:1,onClick:r(Je),disabled:X.banSubmit,type:"primary"},{default:g((()=>[y(" 保存 ")])),_:1},8,["onClick","disabled"])):m("v-if",!0),S(e.$slots,"extendBtn")])):m("v-if",!0)],64))],64))],64))],2))}});export{z as default};