cnhis-design-vue 3.1.42-beta.16 → 3.1.42-beta.18

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 (25) hide show
  1. package/README.md +87 -87
  2. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  3. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  4. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  5. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  6. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  7. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  8. package/es/components/iho-table/src/plugins/dist/highLightSetPlugin.d.ts +3 -0
  9. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  10. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/dist/defaultRendererPlugin.d.ts +3 -0
  11. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/dist/seqRendererPlugin.d.ts +3 -0
  12. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -1
  13. package/es/components/index.css +1 -1
  14. package/es/components/info-header/src/components/infoDescription/HiddenContent.vue.js +1 -1
  15. package/es/components/scale-view/index.d.ts +25 -66
  16. package/es/components/scale-view/src/ScaleView.vue.d.ts +25 -66
  17. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  18. package/es/components/scale-view/style/index.css +1 -1
  19. package/es/components/select-label/src/LabelFormContent.vue.js +1 -1
  20. package/es/env.d.ts +24 -24
  21. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  22. package/es/shared/utils/tapable/index.d.ts +139 -0
  23. package/package.json +2 -2
  24. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +0 -115
  25. package/es/components/scale-view/src/hooks/scaleview-props.js +0 -1
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
+ ```
@@ -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';
@@ -1 +1 @@
1
- import{defineComponent as t,reactive as e,computed as r,onMounted as a,onUnmounted as i,watch as n,openBlock as s,createElementBlock as o,Fragment as l,createVNode as m,unref as p,withCtx as d,renderSlot as u,withModifiers as c,createCommentVNode as f,createTextVNode as y,toDisplayString as v,mergeProps as b}from"vue";import{isObject as g}from"@vue/shared";import{useMessage as P,NDropdown as I,NButton as h,NIcon as F}from"naive-ui";import{ChevronDown as w}from"@vicons/ionicons5";import{Print as k}from"./utils/print.js";import{isIReport as T}from"./utils/browserPrint.js";import S from"./components/IdentityVerification.vue.js";import{format as x}from"date-fns";import{savePrivateFormatApi as D,getPrivateFormatApi as j}from"./api.js";var E=t({__name:"ButtonPrint",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:"打印",type:String},printText:{default:"直接打印",type:String},previewText:{default:"打印预览",type:String},pdfLoadText:{default:"下载pdf",type:String},formatEditText:{default:"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1}},emits:["success","error","clickoutside"],setup(t,{expose:E,emit:L}){const N=t,M=P();let O;const V={},Y=e({spinning:!1,visible:!1,formatList:[],templateParams:{},printParams:[],currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null}),U=e([{label:N.printText,key:"printText"},{label:N.previewText,key:"previewText"},{label:N.pdfLoadText,key:"downloadPdf"},{label:N.formatEditText,key:"formatEditText"}]),B=r((()=>{if(!Y.currentFormatId)return{};let t=Y.currentFormatId;return Y.formatList.find((e=>e.id===t))})),C=r((()=>B.value.name||"格式选择")),J=r((()=>{let t=Y.formatList.find((t=>t.id===Y.currentFormatId));return null==t?void 0:t.templateId})),A=async t=>{if(N.directPrint){if(Y.spinning)return;return"button"===t?void await nt():rt()}return rt()},R=t=>m("span",{class:{active:t.key===Y.currentFormatId}},[t.label]),q=(t,e)=>{let r={type:e,formatId:Y.currentFormatId,templateId:J.value};L("success",t,r)},_=t=>{L("error",t),g(t)&&"notInstalledApp"===t.type&&M.error(t.message)},z=()=>{L("error",{message:"前置条件执行错误"})},H=(t=0)=>{var e;const r=(null==(e=N.printParams)?void 0:e.length)?N.printParams[t]:Y.printParams[t];return JSON.stringify({...r||{},...N.token?{token:N.token}:{}})},$=()=>{var t,e;let r={},a={};if(null==(t=Y.templateParams.customizeDataset)?void 0:t.length){const t=(null==(e=Object.keys(Y.printParams[0].datasetData||{}))?void 0:e[0])||"",r=JSON.stringify(Y.printParams.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=r}else Object.keys(Y.printParams[0]).forEach((t=>{a[t]=[],Y.printParams.forEach((e=>{a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(H(0)),a),JSON.stringify(r)},G=()=>{let t=Y.printParams.length;const e=async e=>{try{--t<=0&&q(e,"print")}catch(t){console.log("error",t)}};N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t={formatId:Y.currentFormatId,templateId:J.value,printdlgshow:N.printdlgshow};if("MULTI"===N.strategy)for(let r=0;r<Y.printParams.length;r++)r>0&&(t.printdlgshow="0"),O.printDirect({...t,params:H(r)},e,_);else O.printDirect({...t,params:$()},(t=>{q(t,"print")}),_)})).finally((()=>{Y.visible=!1}))},K=async t=>{switch(t){case"printText":G();break;case"previewText":(async()=>{N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===N.strategy?H():$(),e={formatId:Y.currentFormatId,templateId:J.value,params:t,btnprint:N.btnprint};O.preview(e,(t=>{q(t,"preview")}),_)})).finally((()=>{Y.visible=!1}))})();break;case"formatEditText":N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{Y.identityVerification.visible=!0})).finally((()=>{Y.visible=!1}));break;case"downloadPdf":(async()=>{N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===N.strategy?H():$(),e={formatId:Y.currentFormatId,templateId:J.value,print:{print:"1",type:"1"},params:t};O.downloadPDF(e,(t=>q(t,"preview")),_)})).finally((()=>{Y.visible=!1}))})();break;default:{Y.currentFormatId=t,Y.visible=!1;const e=Y.formatList.find((e=>e.id===t));await D({formatForms:[{...e}],name:V.name||e.templateName,number:V.number||e.number,templateId:V.templateId||e.templateId,...V.id?{id:V.id}:{}},{token:N.token});break}}},Q=()=>{Y.visible=!1,L("clickoutside")},W=()=>(Y.isInited=!1,Y.spinning=!1,setTimeout((()=>{Y.visible=!1}),0),!1),X=(t,e,r)=>{const a={};return e.forEach((e=>{let i=((t,e)=>{let r=t.defaultValue||"",a=e;return"NUMBER"===t.type&&(a=Number(e)||0),"DATE"===t.type&&(a=e?x(e,"YYYY-MM-DD"):""),"DATETIME"===t.type&&(a=e?x(e,"YYYY-MM-DD HH:mm:ss"):""),r||a})(e,t[e[r]]);t[e[r]]&&i&&(a[e[r]]=i)})),a},Z=({customizeDataset:t=[],param:e=[]},r=[])=>r.map((r=>{let a={};return t.forEach((t=>{const e=t.dataSetting[0].selectFieldList;a.datasetData={[t.name]:JSON.stringify(X(r,e,"fieldName"))}})),a=Object.assign({},a,X(r,e,"key")),a})),tt=async t=>{var e;if(Y.formatList=t?(t=>{let e=[];return t&&t.forEach((t=>{if(!t.format)return!1;e.push(...t.format.map((e=>Object.assign({},e,{templateName:t.name}))))})),e})(t.obj):[],Y.currentFormatId=await(async(t,e)=>{var r;if(!(null==t?void 0:t.length))return"";const{data:a}=await j({templateId:t[0].templateId},{token:N.token});if("SUCCESS"===a.result){const{formatForms:t=[]}=a.map||{};Object.assign(V,a.map||{});const e=null==(r=null==t?void 0:t[0])?void 0:r.id;if(e)return e}const i=t.find((t=>1==t[e]));return(null==i?void 0:i.id)||t[0].id})(Y.formatList,"defaultFlag"),!Y.currentFormatId)return M.error("获取打印格式失败,请联系管理员!"),W();(()=>{const t=Y.formatList.map((t=>({label:t.name,key:t.id})));U.unshift({label:C.value,key:"format",children:t})})();let r=null==(e=await N.queryTemplateParams())?void 0:e.obj;if(!r||!J.value)return M.error("获取打印模板失败,请联系管理员!"),W();Y.templateParams=r,Y.printParams=Z(Y.templateParams,N.params)},et=async()=>{if(Y.isInited)return!0;Y.isInited=!0,Y.spinning=!0,(()=>{if(O)return!1;O=new k})();const t=await N.queryPrintFormatByNumber();return await tt(t),Y.spinning=!1,!0},rt=async(t=!0)=>{var e;if(await N.clickPrevFn())if(null==(e=N.params)?void 0:e.length){if(!Y.visible){if(!await et())return!1}t&&(Y.visible=!Y.visible)}else M.warning(N.noDataMsg)},at=()=>{Y.watchPrintParamsReformatFn&&Y.watchPrintParamsReformatFn(),Y.isInited?Y.printParams=Z(Y.templateParams,N.params):Y.watchPrintParamsReformatFn=()=>n((()=>Y.isInited),(t=>{if(!t)return!1;at()}))},it=t=>{if(Y.identityVerification.visible=!1,T(Y.currentFormatId))return q(null,"edit");const e={formatId:Y.currentFormatId,templateId:J.value,params:H(),token:t};O.editPrintFormat(e,(t=>{q(t,"edit")}),_)};async function nt(){await rt(!1),G()}return a((()=>{Y.isInited=!1})),i((()=>{null==O||O.destroy()})),n((()=>N.params),(t=>{if(!(null==t?void 0:t.length))return!1;at()}),{deep:!0}),E({directPrint:nt}),(e,r)=>(s(),o(l,null,[m(p(I),{class:"c-dropdown",placement:"bottom-start",trigger:"click",show:Y.visible,onClickoutside:Q,options:U,onSelect:K,"render-label":R},{default:d((()=>[u(e.$slots,"button",{handleClickPrintBtn:rt,printSpinning:Y.spinning,printbtnText:t.btnText,printVisible:Y.visible},(()=>[m(p(h),{class:"dropdown-button",onClick:r[1]||(r[1]=c((()=>A("button")),["stop"]))},{default:d((()=>[f(' <n-spin v-show="state.spinning" size="small"></n-spin> '),y(v(t.btnText)+" ",1),m(p(F),{component:p(w),style:{"margin-left":"5px"},onClick:r[0]||(r[0]=c((()=>A("icon")),["stop"]))},null,8,["component"])])),_:1})]))])),_:3},8,["show","options"]),m(S,b(e.$attrs,{modelValue:Y.identityVerification.visible,"onUpdate:modelValue":r[2]||(r[2]=t=>Y.identityVerification.visible=t),formatId:Y.currentFormatId,templateId:p(J),onSuccess:it}),null,16,["modelValue","formatId","templateId"])],64))}});export{E as default};
1
+ import{defineComponent as t,reactive as e,computed as r,onMounted as a,onUnmounted as i,watch as n,openBlock as s,createElementBlock as o,Fragment as l,createVNode as m,unref as p,withCtx as d,renderSlot as u,withModifiers as c,createCommentVNode as f,createTextVNode as y,toDisplayString as v,mergeProps as b}from"vue";import{isObject as g}from"@vue/shared";import{useMessage as P,NDropdown as I,NButton as h,NIcon as F}from"naive-ui";import{ChevronDown as w}from"@vicons/ionicons5";import{Print as k}from"./utils/print.js";import{isIReport as T}from"./utils/browserPrint.js";import S from"./components/IdentityVerification.vue.js";import{format as x}from"date-fns";import{savePrivateFormatApi as D,getPrivateFormatApi as j}from"./api.js";var E=t({__name:"ButtonPrint",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:"打印",type:String},printText:{default:"直接打印",type:String},previewText:{default:"打印预览",type:String},pdfLoadText:{default:"下载pdf",type:String},formatEditText:{default:"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1}},emits:["success","error","clickoutside"],setup(t,{expose:E,emit:L}){const N=t,M=P();let O;const V={},Y=e({spinning:!1,visible:!1,formatList:[],templateParams:{},printParams:[],currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null}),U=e([{label:N.printText,key:"printText"},{label:N.previewText,key:"previewText"},{label:N.pdfLoadText,key:"downloadPdf"},{label:N.formatEditText,key:"formatEditText"}]),B=r((()=>{if(!Y.currentFormatId)return{};let t=Y.currentFormatId;return Y.formatList.find((e=>e.id===t))})),C=r((()=>B.value.name||"格式选择")),J=r((()=>{let t=Y.formatList.find((t=>t.id===Y.currentFormatId));return null==t?void 0:t.templateId})),A=async t=>{if(N.directPrint){if(Y.spinning)return;return"button"===t?void await nt():rt()}return rt()},R=t=>m("span",{class:{active:t.key===Y.currentFormatId}},[t.label]),q=(t,e)=>{let r={type:e,formatId:Y.currentFormatId,templateId:J.value};L("success",t,r)},_=t=>{L("error",t),g(t)&&"notInstalledApp"===t.type&&M.error(t.message)},z=()=>{L("error",{message:"前置条件执行错误"})},H=(t=0)=>{var e;const r=(null==(e=N.printParams)?void 0:e.length)?N.printParams[t]:Y.printParams[t];return JSON.stringify({...r||{},...N.token?{token:N.token}:{}})},$=()=>{var t,e;let r={},a={};if(null==(t=Y.templateParams.customizeDataset)?void 0:t.length){const t=(null==(e=Object.keys(Y.printParams[0].datasetData||{}))?void 0:e[0])||"",r=JSON.stringify(Y.printParams.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=r}else Object.keys(Y.printParams[0]).forEach((t=>{a[t]=[],Y.printParams.forEach((e=>{a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(H(0)),a),JSON.stringify(r)},G=()=>{let t=Y.printParams.length;const e=async e=>{try{--t<=0&&q(e,"print")}catch(t){console.log("error",t)}};N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t={formatId:Y.currentFormatId,templateId:J.value,printdlgshow:N.printdlgshow};if("MULTI"===N.strategy)for(let r=0;r<Y.printParams.length;r++)r>0&&(t.printdlgshow="0"),O.printDirect({...t,params:H(r)},e,_);else O.printDirect({...t,params:$()},(t=>{q(t,"print")}),_)})).finally((()=>{Y.visible=!1}))},K=async t=>{switch(t){case"printText":G();break;case"previewText":(async()=>{N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===N.strategy?H():$(),e={formatId:Y.currentFormatId,templateId:J.value,params:t,btnprint:N.btnprint};O.preview(e,(t=>{q(t,"preview")}),_)})).finally((()=>{Y.visible=!1}))})();break;case"formatEditText":N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{Y.identityVerification.visible=!0})).finally((()=>{Y.visible=!1}));break;case"downloadPdf":(async()=>{N.prevFn().catch((()=>(z(),Promise.reject()))).then((()=>{const t="MULTI"===N.strategy?H():$(),e={formatId:Y.currentFormatId,templateId:J.value,print:{print:"1",type:"1"},params:t};O.downloadPDF(e,(t=>q(t,"preview")),_)})).finally((()=>{Y.visible=!1}))})();break;default:{Y.currentFormatId=t,Y.visible=!1;const[e]=U,r=Y.formatList.find((e=>e.id===t));e.label=(null==r?void 0:r.name)||e.label,await D({formatForms:[{...r}],name:V.name||r.templateName,number:V.number||r.number,templateId:V.templateId||r.templateId,...V.id?{id:V.id}:{}},{token:N.token});break}}},Q=()=>{Y.visible=!1,L("clickoutside")},W=()=>(Y.isInited=!1,Y.spinning=!1,setTimeout((()=>{Y.visible=!1}),0),!1),X=(t,e,r)=>{const a={};return e.forEach((e=>{let i=((t,e)=>{let r=t.defaultValue||"",a=e;return"NUMBER"===t.type&&(a=Number(e)||0),"DATE"===t.type&&(a=e?x(e,"YYYY-MM-DD"):""),"DATETIME"===t.type&&(a=e?x(e,"YYYY-MM-DD HH:mm:ss"):""),r||a})(e,t[e[r]]);t[e[r]]&&i&&(a[e[r]]=i)})),a},Z=({customizeDataset:t=[],param:e=[]},r=[])=>r.map((r=>{let a={};return t.forEach((t=>{const e=t.dataSetting[0].selectFieldList;a.datasetData={[t.name]:JSON.stringify(X(r,e,"fieldName"))}})),a=Object.assign({},a,X(r,e,"key")),a})),tt=async t=>{var e;if(Y.formatList=t?(t=>{let e=[];return t&&t.forEach((t=>{if(!t.format)return!1;e.push(...t.format.map((e=>Object.assign({},e,{templateName:t.name}))))})),e})(t.obj):[],Y.currentFormatId=await(async(t,e)=>{var r;if(!(null==t?void 0:t.length))return"";const{data:a}=await j({templateId:t[0].templateId},{token:N.token});if("SUCCESS"===a.result){const{formatForms:t=[]}=a.map||{};Object.assign(V,a.map||{});const e=null==(r=null==t?void 0:t[0])?void 0:r.id;if(e)return e}const i=t.find((t=>1==t[e]));return(null==i?void 0:i.id)||t[0].id})(Y.formatList,"defaultFlag"),!Y.currentFormatId)return M.error("获取打印格式失败,请联系管理员!"),W();(()=>{const t=Y.formatList.map((t=>({label:t.name,key:t.id})));U.unshift({label:C.value,key:"format",children:t})})();let r=null==(e=await N.queryTemplateParams())?void 0:e.obj;if(!r||!J.value)return M.error("获取打印模板失败,请联系管理员!"),W();Y.templateParams=r,Y.printParams=Z(Y.templateParams,N.params)},et=async()=>{if(Y.isInited)return!0;Y.isInited=!0,Y.spinning=!0,(()=>{if(O)return!1;O=new k})();const t=await N.queryPrintFormatByNumber();return await tt(t),Y.spinning=!1,!0},rt=async(t=!0)=>{var e;if(await N.clickPrevFn())if(null==(e=N.params)?void 0:e.length){if(!Y.visible){if(!await et())return!1}t&&(Y.visible=!Y.visible)}else M.warning(N.noDataMsg)},at=()=>{Y.watchPrintParamsReformatFn&&Y.watchPrintParamsReformatFn(),Y.isInited?Y.printParams=Z(Y.templateParams,N.params):Y.watchPrintParamsReformatFn=()=>n((()=>Y.isInited),(t=>{if(!t)return!1;at()}))},it=t=>{if(Y.identityVerification.visible=!1,T(Y.currentFormatId))return q(null,"edit");const e={formatId:Y.currentFormatId,templateId:J.value,params:H(),token:t};O.editPrintFormat(e,(t=>{q(t,"edit")}),_)};async function nt(){await rt(!1),G()}return a((()=>{Y.isInited=!1})),i((()=>{null==O||O.destroy()})),n((()=>N.params),(t=>{if(!(null==t?void 0:t.length))return!1;at()}),{deep:!0}),E({directPrint:nt}),(e,r)=>(s(),o(l,null,[m(p(I),{class:"c-dropdown",placement:"bottom-start",trigger:"click",show:Y.visible,onClickoutside:Q,options:U,onSelect:K,"render-label":R},{default:d((()=>[u(e.$slots,"button",{handleClickPrintBtn:rt,printSpinning:Y.spinning,printbtnText:t.btnText,printVisible:Y.visible},(()=>[m(p(h),{class:"dropdown-button",onClick:r[1]||(r[1]=c((()=>A("button")),["stop"]))},{default:d((()=>[f(' <n-spin v-show="state.spinning" size="small"></n-spin> '),y(v(t.btnText)+" ",1),m(p(F),{component:p(w),style:{"margin-left":"5px"},onClick:r[0]||(r[0]=c((()=>A("icon")),["stop"]))},null,8,["component"])])),_:1})]))])),_:3},8,["show","options"]),m(S,b(e.$attrs,{modelValue:Y.identityVerification.visible,"onUpdate:modelValue":r[2]||(r[2]=t=>Y.identityVerification.visible=t),formatId:Y.currentFormatId,templateId:p(J),onSuccess:it}),null,16,["modelValue","formatId","templateId"])],64))}});export{E as default};