cnhis-design-vue 3.2.7-beta.11 → 3.2.7-beta.13

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 (54) 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/components/NewPrintComponent.vue2.js +1 -1
  7. package/es/components/classification/src/components/search-filter/index.vue2.js +1 -1
  8. package/es/components/classification/src/components/table-modal/index.vue2.js +1 -1
  9. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  10. package/es/components/field-set/src/FieldFilter.vue.d.ts +1 -1
  11. package/es/components/field-set/src/FieldSet.vue.d.ts +2 -2
  12. package/es/components/field-set/src/components/Row.vue.d.ts +1 -1
  13. package/es/components/form-render/src/types/index.d.ts +1 -1
  14. package/es/components/form-render/src/utils/business.js +1 -1
  15. package/es/components/quick-search/src/index.vue2.js +1 -1
  16. package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
  17. package/es/components/table-export-field/src/components/ExportModal.vue2.js +1 -1
  18. package/es/components/table-export-field/src/components/SaveProjectModal.vue2.js +1 -1
  19. package/es/components/table-filter/src/components/classify-filter/components/SelectDynamic.vue2.js +1 -1
  20. package/es/components/table-filter/src/components/render-widget/components/Select.vue2.js +1 -1
  21. package/es/components/table-filter/src/components/render-widget/components/SelectDynamic.vue2.js +1 -1
  22. package/es/components/table-filter/src/components/render-widget/components/SelectDynamicOption/index.vue2.js +1 -1
  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
+ ```
@@ -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 e,inject as t,ref as n,reactive as i,computed as r,onMounted as a,watch as l,openBlock as o,createElementBlock as s,Fragment as u,createElementVNode as c,createCommentVNode as d,createVNode as p,unref as m,withCtx as y,renderList as f,createBlock as v,createTextVNode as g,toDisplayString as k,isRef as h,renderSlot as b,withModifiers as P,normalizeClass as w,mergeProps as S}from"vue";import{isObject as O}from"@vue/shared";import{useMessage as C,NButtonGroup as I,NDropdown as T,NButton as L,NIcon as F,NPopover as j,NCheckbox as M,NDivider as N}from"naive-ui";import{PrintOutline as E,SettingsOutline as x,ChevronDownSharp as _,ArrowForwardOutline as D}from"@vicons/ionicons5";import{InjectionButtonPrintEmits as J}from"../constants/index.js";import{Print as z}from"../utils/print.js";import{isIReport as U}from"../utils/browserPrint.js";import A from"./IdentityVerification.vue.js";import{format as V}from"date-fns";import"../api.js";const K={class:"newprint-button-outer"},B=c("span",{class:"label bold"},"外显设置",-1),R={class:"newprint-button-poperOver"},q={class:"print-lite"},G={class:"label bold"},H={class:"print-li"},Y={class:"print-lite"},$={class:"newprint-button-poperOver"},Q=["onMouseenter","onClick"],W={class:"label bold"},X={class:"newprint-button-poperOver"},Z={class:"print-lite"},ee={class:"label bold"},te={class:"print-li"},ne={class:"print-lite"},ie=["onClick"],re={class:"newprint-button-poperOver"},ae=["onMouseenter"],le={class:"print-lite"},oe=["onClick"];var se=e({__name:"NewPrintComponent",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},externalOptionConfig:{type:Object,default:()=>({})},signature:{type:String},showLoading:{type:Boolean,default:!0},hideButtons:{type:Array,default:()=>[]},printCopies:{type:Number,default:1},newPrintSetting:{type:Object,default:()=>({isShowPrintAll:!0,printAllType:1,isShowOutSetting:!0,customProps:{},outerPrintKeys:[],defaultFormatId:""})}},setup(e,{expose:se}){const ue=e,ce=[{label:"分割线",key:"divider"},{label:"外显设置",key:"outSetting"}],de=C();let pe;const me=t(J),ye=n(""),fe=i({spinning:!1,visible:!1,formatList:[],templateParams:[],printParams:[],originParams:{},currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null,isClickOuterPrint:!1,curPrintParamList:[]});let ve=n([]),ge=n([{label:ue.previewText,key:"previewText"},{label:ue.pdfLoadText,key:"downloadPdf"},{label:ue.formatEditText,key:"formatEditText"},{label:"重置打印机",key:"resetPrinter"}]);const ke=i({oneMouseType:"",oneClickType:"",twoMouseType:""}),he=i({oneShow:!1,isOperation:!1,isOutSetting:!1}),be=n([]),Pe=n([]),we=r((()=>{if(!fe.currentFormatId)return{};let e=fe.currentFormatId;return fe.formatList.find((t=>t.id===e))}));r((()=>{var e;return(null==(e=we.value)?void 0:e.name)||"格式选择"}));const Se=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.templateId})),Oe=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.number})),Ce=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowPrintAll})),Ie=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowOutSetting})),Te=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.customProps)||{}})),Le=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.defaultFormatId)||""})),Fe=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.printAllType)||1})),je=r((()=>{const e=ce.map((e=>e.key));return ve.value.filter((t=>!e.includes(t.key)))})),Me=r({get:()=>je.value.every((e=>e.selected)),set(e){je.value.forEach((t=>{t.selected=e}))}}),Ne=async()=>{var e,t;(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)||await rt(),he.oneShow=!0},Ee=async e=>{if(ue.directPrint){if(fe.spinning)return;return"button"===e?void(Ce.value?await lt():Le.value?async function(e){await rt(!1);const t=be.value.find((t=>t.key==e));t&&Ge(t.templateCode,t.templateId,t.key,!1)}(Le.value):Ne()):Ne()}return Ne()},xe=(e,t)=>{ke[e]=t},_e=()=>{be.value=ve.value.filter((e=>!e.selected)),Pe.value=je.value.filter((e=>e.selected)),Je("oneShow"),Je("isOutSetting"),me("saveOuterPrint",Pe.value)},De=e=>{he[e]=!0},Je=e=>{ke.oneClickType="",he[e]=!1,"isOutSetting"==e&&(he.isOutSetting=!1)},ze=(e,t)=>{Re(!1);let n={type:t,formatId:fe.currentFormatId,templateId:(null==e?void 0:e.templateId)||Se.value,templateCode:(null==e?void 0:e.templateCode)||Oe.value};me("success",e,n)},Ue=e=>{Re(!1),me("error",e),O(e)&&"notInstalledApp"===e.type&&de.error(e.message)},Ae=e=>{Re(!1),me("cancel",e)},Ve=e=>{me("error",{message:"前置条件执行错误",type:e,preExecution:!0})},Ke=()=>JSON.stringify({...ue.token?{token:ue.token}:{}}),Be=(e=[],t)=>{var n,i;let r={},a={};if((null==(n=fe.templateParams[t].customizeDataset)?void 0:n.length)>0){const t=(null==(i=Object.keys(e[0].datasetData||{}))?void 0:i[0])||"",n=JSON.stringify(e.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=n}else Object.keys(e[0]).forEach((t=>{a[t]=[],e.forEach((e=>{a[t].includes(e[t])||a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(Ke()),Te.value,a),JSON.stringify(r)},Re=(e,t)=>{if(fe.isClickOuterPrint){if(e&&t){const n=Pe.value.find((e=>e.key==t));return void(n&&(n.isLoading=e))}Pe.value.forEach((e=>{e.isLoading=!1}))}else fe.spinning=e},qe=()=>fe.isClickOuterPrint?Pe.value.some((e=>e.isLoading)):fe.spinning,Ge=(e,t,n,i)=>{const r=fe.printParams[e];if(!r)return;fe.isClickOuterPrint=i,fe.currentFormatId=n;const a=fe.originParams[e]||[];He(r,e,t,n,a)},He=async(e=[],t,n,i,r=[],a)=>{let l=e.length;const o=async e=>{try{--l<=0&&ze(e,"print")}catch(e){console.log("error",e)}};ue.showLoading&&qe()&&!a||(Re(!0,i),ue.prevFn("print").then((()=>{fe.curPrintParamList=e;const a={formatId:i,templateId:n,authorizationKey:ye.value,printdlgshow:ue.printdlgshow,signature:ue.signature,copies:ue.printCopies};if("MULTI"===ue.strategy)for(let t=0;t<e.length;t++){t>0&&(a.printdlgshow="0");const n=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[t]));pe.printDirect({...a,params:n},o,Ue,Ae)}else pe.printDirect({...a,params:Be(e,t)},(e=>{e.params=r,e.templateCode=t,e.templateId=n,ze(e,"print")}),Ue,Ae)})).catch((()=>{Ve("print"),Re(!1)})).finally((()=>{fe.visible=!1})))},Ye=async(e,{templateCode:t,templateId:n,key:i},r)=>{const a=fe.printParams[t];if(a)switch(fe.isClickOuterPrint=r,fe.currentFormatId=i,e){case"previewText":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("preview").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,params:a,btnprint:ue.btnprint,signature:ue.signature};pe.preview(l,(e=>{ze(e,"preview")}),Ue)})).catch((()=>{Ve("preview"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"formatEditText":((e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("edit").then((()=>{fe.curPrintParamList=e,fe.currentFormatId=i,fe.identityVerification.visible=!0})).catch((()=>{Ve("edit")})).finally((()=>{Re(!1)})))})(a,0,0,i);break;case"downloadPdf":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("download").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,print:{print:"1",type:"1"},params:a,signature:ue.signature};pe.downloadPDF(l,(e=>ze(e,"preview")),Ue)})).catch((()=>{Ve("download"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"resetPrinter":(async(e=[],t,n,i)=>{if(!ue.showLoading||!qe()){Re(!0,i);try{const e=await pe.resetPrinter(i);if(Re(!1),"success"==(null==e?void 0:e.result))return void de.success(e.message||"重置打印机成功");de.warning("重置打印机失败")}catch(e){Re(!1),de.warning((null==e?void 0:e.message)||"重置打印机失败")}}})(a,0,0,i)}},$e=()=>{},Qe=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},et(n,t,e))})),n},We=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},tt(n,t,e))})),n},Xe=(e,t,n)=>{const i={};return t.forEach((t=>{let r=((e,t)=>{const n={DATE:"yyyy-MM-dd",DATETIME:"yyyy-MM-dd HH:mm:ss"};let i=t;return Object.keys(n).includes(e.type)&&t&&t instanceof Date&&(i=V(t,n[e.type])),(null==e?void 0:e.defaultValue)||i})(t,e[t[n]]);e[t[n]]&&r&&(i[t[n]]=r)})),i},Ze=({customizeDataset:e=[],param:t=[]},n={})=>{let i={};return e.forEach((e=>{const t=e.dataSetting[0].selectFieldList;i.datasetData||(i.datasetData={}),i.datasetData[e.name]=JSON.stringify(Xe(n,t,"fieldName"))})),i=Object.assign({},i,Xe(n,t,"key")),i},et=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i],a=n[r];if(!a)return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(Ze(a,t))}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r],l=n[a];if(!l)return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(Ze(l,t))}return e},tt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i];if(!n[r])return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(t)}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r];if(!n[a])return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(t)}return e},nt=async e=>{fe.formatList=e?(e=>{let t=[];return e&&e.forEach((e=>{if(!e.format)return!1;t.push(...e.format.map((t=>Object.assign({},t,{templateName:e.name}))))})),t})(e.obj):[],(()=>{var e,t,n;const i=fe.formatList.map((e=>({templateCode:e.number,templateId:e.templateId,label:e.name,key:e.id,selected:!1,isLoading:!1})));ve.value.unshift(...i),Ie.value&&ve.value.push(...ce),(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)>0&&(ve.value.forEach((e=>{var t;(null==(t=ue.newPrintSetting)?void 0:t.outerPrintKeys.includes(e.key))&&(e.selected=!0)})),Pe.value=ve.value.filter((e=>e.selected))),be.value=ve.value.filter((e=>!e.selected)),ue.hideButtons.length>0&&(ge.value=ge.value.filter((e=>!ue.hideButtons.includes(e.key))));const r=sessionStorage.getItem("portal");if(r){const e=JSON.parse(r),t=(null==(n=null==e?void 0:e.user)?void 0:n.currentRoleResourceObj)||{},i=Object.keys(t);i.includes("RY7.2.21.1.M2.G94181E")||(ge.value=ge.value.filter((e=>"downloadPdf"!=e.key))),i.includes("RY7.2.21.1.M2.G33633A")||(ge.value=ge.value.filter((e=>"formatEditText"!=e.key)))}})(),fe.templateParams=(e=>{let t={};return e&&e.forEach((e=>{if(!e.templateConfig)return!1;t[e.number]=e.templateConfig})),t})(e.obj),fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params)},it=async()=>{var e;if(fe.isInited)return!0;fe.isInited=!0,fe.spinning=!0,(()=>{if(pe)return!1;pe=new z})();const t=await ue.queryPrintFormatByNumber();return await nt(t),(null==(e=t.obj)?void 0:e.length)>0&&(ye.value=t.obj[0].authorizationKey||""),fe.spinning=!1,!0},rt=async(e=!0)=>{if(await ue.clickPrevFn()){if(!fe.visible){if(!await it())return!1}e&&(fe.visible=!fe.visible)}},at=e=>{if(fe.identityVerification.visible=!1,U(fe.currentFormatId))return ze(null,"edit");const t=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,fe.curPrintParamList[0])),n="MULTI"===ue.strategy?t:Be(fe.curPrintParamList,Oe.value),i={formatId:fe.currentFormatId,templateId:Se.value,params:n,token:e};pe.editPrintFormat(i,(e=>{ze(e,"edit")}),Ue)};async function lt(){await rt(!1),(()=>{const e=Object.keys(fe.printParams);fe.isClickOuterPrint=!1;const t=fe.originParams;if(1==Fe.value)for(let n=0;n<e.length;n++){const i=e[n],r=fe.printParams[i],a=t[i]||[],l=fe.formatList.filter((e=>e.number==i));l&&l.length>0&&l.forEach((e=>{fe.currentFormatId=e.id,He(r,e.number,e.templateId,e.id,a,!0)}))}2==Fe.value&&Pe.value.forEach((e=>{const n=fe.printParams[e.templateCode],i=t[e.templateCode]||[];fe.currentFormatId=e.key,He(n,e.templateCode,e.templateId,e.key,i,!0)}))})()}return a((()=>{fe.isInited=!1})),l((()=>ue.params),(e=>{Object.keys(fe.templateParams).length>0&&(fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params))}),{deep:!0}),l((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys}),(async e=>{(null==e?void 0:e.length)>0&&await rt(!1)}),{deep:!0,immediate:!0}),se({directPrint:lt}),(t,n)=>(o(),s(u,null,[c("div",K,[d(" 外显按钮集合 "),p(m(I),null,{default:y((()=>[(o(!0),s(u,null,f(Pe.value,(t=>{return o(),v(m(T),{key:t.key,class:"c-dropdown",placement:"bottom-start",trigger:"hover",onClickoutside:$e,options:(n=m(ge),i=t,fe.printParams[i.templateCode]?n:[]),onSelect:e=>Ye(e,t,!0)},{default:y((()=>[p(m(L),{disabled:!fe.printParams[t.templateCode],loading:e.showLoading&&t.isLoading,onClick:e=>Ge(t.templateCode,t.templateId,t.key,!0)},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(t.label),1)])),_:2},1032,["disabled","loading","onClick"])])),_:2},1032,["options","onSelect"]);var n,i})),128))])),_:1}),d(" 外显设置按钮 "),Pe.value.length>0&&Pe.value.length==m(je).length&&m(Ie)?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,show:he.isOutSetting,onClickoutside:n[2]||(n[2]=e=>Je("isOutSetting"))},{trigger:y((()=>[p(m(L),{onClick:n[0]||(n[0]=e=>De("isOutSetting"))},{default:y((()=>[B,p(m(F),{style:{"margin-left":"8px"},component:m(x),size:"18"},null,8,["component"])])),_:1})])),default:y((()=>[c("div",R,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",q,[c("span",G,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",H,[p(m(N)),c("div",Y,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[1]||(n[1]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:1},8,["show"])):(o(),s(u,{key:1},[d(" 打印全部按钮 "),p(m(j),{trigger:"click","show-arrow":!1,show:he.oneShow,onClickoutside:n[10]||(n[10]=e=>Je("oneShow"))},{trigger:y((()=>[b(t.$slots,"button",{handleClickPrintBtn:rt,printSpinning:fe.spinning,printbtnText:e.btnText,printVisible:fe.visible},(()=>[p(m(I),{class:"newprint-button-component",onClick:n[4]||(n[4]=P((()=>Ee("icon")),["stop"]))},{default:y((()=>[p(m(L),{loading:e.showLoading&&fe.spinning,onClick:n[3]||(n[3]=P((()=>Ee("button")),["stop"]))},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(m(Ce)?"打印全部":e.btnText),1)])),_:1},8,["loading"]),p(m(L),{class:"icon-select"},{icon:y((()=>[p(m(F),{component:m(_),size:"18"},null,8,["component"])])),_:1})])),_:1})]))])),default:y((()=>[c("div",$,[(o(!0),s(u,null,f(be.value,(e=>(o(),s("div",{class:w(["print-li",ke.oneMouseType==e.key||ke.oneClickType==e.key?"active":""]),key:e.key,onMouseenter:t=>xe("oneMouseType",e.key),onMouseleave:n[9]||(n[9]=e=>xe("oneMouseType","")),onClick:t=>((e,t,n)=>{if(!fe.printParams[n.templateCode])return[];xe(e,t)})("oneClickType",e.key,e)},["divider"==e.key?(o(),v(m(N),{key:0})):"outSetting"==e.key?(o(),s(u,{key:1},[d(" 第二层外显设置 "),p(m(j),{trigger:"click","show-arrow":!1,placement:"right-start",show:he.isOutSetting,onClickoutside:n[7]||(n[7]=e=>Je("isOutSetting"))},{trigger:y((()=>[c("div",{class:"print-lite",onClick:n[5]||(n[5]=e=>De("isOutSetting"))},[c("span",W,k(e.label),1),p(m(F),{color:Pe.value.length>0?"#2563F4":"",component:m(x),size:"18"},null,8,["color","component"])])])),default:y((()=>[c("div",X,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",Z,[c("span",ee,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",te,[p(m(N)),c("div",ne,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[6]||(n[6]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:2},1032,["show"])],2112)):(o(),s(u,{key:2},[d(" 第二层功能操作 "),c("div",{class:w(["print-lite",fe.printParams[e.templateCode]?"":"isDisabled"])},[c("span",{class:"label bold",onClick:t=>Ge(e.templateCode,e.templateId,e.key,!1)},k(e.label),9,ie),fe.printParams[e.templateCode]?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,placement:"right-start",show:he[e.key],onClickoutside:t=>Je(e.key)},{trigger:y((()=>[p(m(F),{component:m(D),size:"18",onClick:t=>De(e.key)},null,8,["component","onClick"])])),default:y((()=>[c("div",re,[(o(!0),s(u,null,f(m(ge),(t=>(o(),s("div",{class:w(["print-li",ke.twoMouseType==t.key?"active":""]),key:t.key,onMouseenter:e=>xe("twoMouseType",t.key),onMouseleave:n[8]||(n[8]=e=>xe("twoMouseType",""))},[c("div",le,[c("span",{class:"label",onClick:n=>Ye(t.key,e,!1)},k(t.label),9,oe)])],42,ae)))),128))])])),_:2},1032,["show","onClickoutside"])):d("v-if",!0)],2)],2112))],42,Q)))),128))])])),_:3},8,["show"])],2112))]),p(A,S(t.$attrs,{modelValue:fe.identityVerification.visible,"onUpdate:modelValue":n[11]||(n[11]=e=>fe.identityVerification.visible=e),formatId:fe.currentFormatId,templateId:m(Se),onSuccess:at}),null,16,["modelValue","formatId","templateId"])],64))}});export{se as default};
1
+ import{defineComponent as e,inject as t,ref as n,reactive as i,computed as r,onMounted as a,watch as l,openBlock as o,createElementBlock as s,Fragment as u,createElementVNode as c,createCommentVNode as d,createVNode as p,unref as m,withCtx as y,renderList as f,createBlock as v,createTextVNode as g,toDisplayString as k,isRef as h,renderSlot as b,withModifiers as P,normalizeClass as w,mergeProps as S}from"vue";import{isObject as O}from"@vue/shared";import{useMessage as C,NButtonGroup as I,NDropdown as T,NButton as L,NIcon as F,NPopover as j,NCheckbox as M,NDivider as N}from"naive-ui";import{PrintOutline as E,SettingsOutline as x,ChevronDownSharp as _,ArrowForwardOutline as D}from"@vicons/ionicons5";import{InjectionButtonPrintEmits as J}from"../constants/index.js";import{Print as z}from"../utils/print.js";import{isIReport as U}from"../utils/browserPrint.js";import A from"./IdentityVerification.vue.js";import{format as V}from"date-fns";import"../api.js";const K={class:"newprint-button-outer"},B=c("span",{class:"label bold"},"外显设置",-1),R={class:"newprint-button-poperOver"},q={class:"print-lite"},G={class:"label bold"},H={class:"print-li"},Y={class:"print-lite"},$={class:"newprint-button-poperOver"},Q=["onMouseenter","onClick"],W={class:"label bold"},X={class:"newprint-button-poperOver"},Z={class:"print-lite"},ee={class:"label bold"},te={class:"print-li"},ne={class:"print-lite"},ie=["onClick"],re={class:"newprint-button-poperOver"},ae=["onMouseenter"],le={class:"print-lite"},oe=["onClick"];var se=e({__name:"NewPrintComponent",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},externalOptionConfig:{type:Object,default:()=>({})},signature:{type:String},showLoading:{type:Boolean,default:!0},hideButtons:{type:Array,default:()=>[]},printCopies:{type:Number,default:1},newPrintSetting:{type:Object,default:()=>({isShowPrintAll:!0,printAllType:1,isShowOutSetting:!0,customProps:{},outerPrintKeys:[],defaultFormatId:""})}},setup(e,{expose:se}){const ue=e,ce=[{label:"分割线",key:"divider"},{label:"外显设置",key:"outSetting"}],de=C();let pe;const me=t(J),ye=n(""),fe=i({spinning:!1,visible:!1,formatList:[],templateParams:[],printParams:[],originParams:{},currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null,isClickOuterPrint:!1,curPrintParamList:[]});let ve=n([]),ge=n([{label:ue.previewText,key:"previewText"},{label:ue.pdfLoadText,key:"downloadPdf"},{label:ue.formatEditText,key:"formatEditText"},{label:"重置打印机",key:"resetPrinter"}]);const ke=i({oneMouseType:"",oneClickType:"",twoMouseType:""}),he=i({oneShow:!1,isOperation:!1,isOutSetting:!1}),be=n([]),Pe=n([]),we=r((()=>{if(!fe.currentFormatId)return{};let e=fe.currentFormatId;return fe.formatList.find((t=>t.id===e))}));r((()=>{var e;return(null==(e=we.value)?void 0:e.name)||"格式选择"}));const Se=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.templateId})),Oe=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.number})),Ce=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowPrintAll})),Ie=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowOutSetting})),Te=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.customProps)||{}})),Le=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.defaultFormatId)||""})),Fe=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.printAllType)||1})),je=r((()=>{const e=ce.map((e=>e.key));return ve.value.filter((t=>!e.includes(t.key)))})),Me=r({get:()=>je.value.every((e=>e.selected)),set(e){je.value.forEach((t=>{t.selected=e}))}}),Ne=async()=>{var e,t;(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)||await rt(),he.oneShow=!0},Ee=async e=>{if(ue.directPrint){if(fe.spinning)return;return"button"===e?void(Ce.value?await lt():Le.value?async function(e){await rt(!1);const t=be.value.find((t=>t.key==e));t&&Ge(t.templateCode,t.templateId,t.key,!1)}(Le.value):Ne()):Ne()}return Ne()},xe=(e,t)=>{ke[e]=t},_e=()=>{be.value=ve.value.filter((e=>!e.selected)),Pe.value=je.value.filter((e=>e.selected)),Je("oneShow"),Je("isOutSetting"),me("saveOuterPrint",Pe.value)},De=e=>{he[e]=!0},Je=e=>{ke.oneClickType="",he[e]=!1,"isOutSetting"==e&&(he.isOutSetting=!1)},ze=(e,t)=>{Re(!1);let n={type:t,formatId:fe.currentFormatId,templateId:(null==e?void 0:e.templateId)||Se.value,templateCode:(null==e?void 0:e.templateCode)||Oe.value};me("success",e,n)},Ue=e=>{Re(!1),me("error",e),O(e)&&"notInstalledApp"===e.type&&de.error(e.message)},Ae=e=>{Re(!1),me("cancel",e)},Ve=e=>{me("error",{message:"前置条件执行错误",type:e,preExecution:!0})},Ke=()=>JSON.stringify({...ue.token?{token:ue.token}:{}}),Be=(e=[],t)=>{var n,i;let r={},a={};if((null==(n=fe.templateParams[t].customizeDataset)?void 0:n.length)>0){const t=(null==(i=Object.keys(e[0].datasetData||{}))?void 0:i[0])||"",n=JSON.stringify(e.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=n}else Object.keys(e[0]).forEach((t=>{a[t]=[],e.forEach((e=>{a[t].includes(e[t])||a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(Ke()),Te.value,a),JSON.stringify(r)},Re=(e,t)=>{if(fe.isClickOuterPrint){if(e&&t){const n=Pe.value.find((e=>e.key==t));return void(n&&(n.isLoading=e))}Pe.value.forEach((e=>{e.isLoading=!1}))}else fe.spinning=e},qe=()=>fe.isClickOuterPrint?Pe.value.some((e=>e.isLoading)):fe.spinning,Ge=(e,t,n,i)=>{const r=fe.printParams[e];if(!r)return;fe.isClickOuterPrint=i,fe.currentFormatId=n;const a=fe.originParams[e]||[];He(r,e,t,n,a)},He=async(e=[],t,n,i,r=[],a)=>{let l=e.length;const o=async e=>{try{--l<=0&&ze(e,"print")}catch(e){console.log("error",e)}};ue.showLoading&&qe()&&!a||(Re(!0,i),ue.prevFn("print").then((()=>{fe.curPrintParamList=e;const a={formatId:i,templateId:n,authorizationKey:ye.value,printdlgshow:ue.printdlgshow,signature:ue.signature,copies:ue.printCopies};if("MULTI"===ue.strategy)for(let t=0;t<e.length;t++){t>0&&(a.printdlgshow="0");const n=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[t]));pe.printDirect({...a,params:n},o,Ue,Ae)}else pe.printDirect({...a,params:Be(e,t)},(e=>{e.params=r,e.templateCode=t,e.templateId=n,ze(e,"print")}),Ue,Ae)})).catch((()=>{Ve("print"),Re(!1)})).finally((()=>{fe.visible=!1})))},Ye=async(e,{templateCode:t,templateId:n,key:i},r)=>{const a=fe.printParams[t];if(a)switch(fe.isClickOuterPrint=r,fe.currentFormatId=i,e){case"previewText":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("preview").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,params:a,btnprint:ue.btnprint,signature:ue.signature};pe.preview(l,(e=>{ze(e,"preview")}),Ue)})).catch((()=>{Ve("preview"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"formatEditText":((e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("edit").then((()=>{fe.curPrintParamList=e,fe.currentFormatId=i,fe.identityVerification.visible=!0})).catch((()=>{Ve("edit")})).finally((()=>{Re(!1)})))})(a,0,0,i);break;case"downloadPdf":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("download").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,print:{print:"1",type:"1"},params:a,signature:ue.signature};pe.downloadPDF(l,(e=>ze(e,"preview")),Ue)})).catch((()=>{Ve("download"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"resetPrinter":(async(e=[],t,n,i)=>{if(!ue.showLoading||!qe()){Re(!0,i);try{const e=await pe.resetPrinter(i);if(Re(!1),"success"==(null==e?void 0:e.result))return void de.success(e.message||"重置打印机成功");de.warning("重置打印机失败")}catch(e){Re(!1),de.warning((null==e?void 0:e.message)||"重置打印机失败")}}})(a,0,0,i)}},$e=()=>{},Qe=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},et(n,t,e))})),n},We=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},tt(n,t,e))})),n},Xe=(e,t,n)=>{const i={};return t.forEach((t=>{let r=((e,t)=>{const n={DATE:"yyyy-MM-dd",DATETIME:"yyyy-MM-dd HH:mm:ss"};let i=t;return Object.keys(n).includes(e.type)&&t&&t instanceof Date&&(i=V(t,n[e.type])),(null==e?void 0:e.defaultValue)||i})(t,e[t[n]]);e[t[n]]&&r&&(i[t[n]]=r)})),i},Ze=({customizeDataset:e=[],param:t=[]},n={})=>{let i={};return e.forEach((e=>{const t=e.dataSetting[0].selectFieldList;i.datasetData||(i.datasetData={}),i.datasetData[e.name]=JSON.stringify(Xe(n,t,"fieldName"))})),i=Object.assign({},i,Xe(n,t,"key")),i},et=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i],a=n[r];if(!a)return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(Ze(a,t))}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r],l=n[a];if(!l)return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(Ze(l,t))}return e},tt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i];if(!n[r])return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(t)}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r];if(!n[a])return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(t)}return e},nt=async e=>{fe.formatList=e?(e=>{let t=[];return e&&e.forEach((e=>{if(!e.format)return!1;t.push(...e.format.map((t=>Object.assign({},t,{templateName:e.name}))))})),t})(e.obj):[],(()=>{var e,t,n;const i=fe.formatList.map((e=>({templateCode:e.number,templateId:e.templateId,label:e.name,key:e.id,selected:!1,isLoading:!1})));ve.value.unshift(...i),Ie.value&&ve.value.push(...ce),(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)>0&&(ve.value.forEach((e=>{var t;(null==(t=ue.newPrintSetting)?void 0:t.outerPrintKeys.includes(e.key))&&(e.selected=!0)})),Pe.value=ve.value.filter((e=>e.selected))),be.value=ve.value.filter((e=>!e.selected)),ue.hideButtons.length>0&&(ge.value=ge.value.filter((e=>!ue.hideButtons.includes(e.key))));const r=sessionStorage.getItem("portal");if(r){const e=JSON.parse(r),t=(null==(n=null==e?void 0:e.user)?void 0:n.currentRoleResourceObj)||{},i=Object.keys(t);i.includes("RY7.2.21.1.M2.G94181E")||(ge.value=ge.value.filter((e=>"downloadPdf"!=e.key))),i.includes("RY7.2.21.1.M2.G33633A")||(ge.value=ge.value.filter((e=>"formatEditText"!=e.key)))}})(),fe.templateParams=(e=>{let t={};return e&&e.forEach((e=>{if(!e.templateConfig)return!1;t[e.number]=e.templateConfig})),t})(e.obj),fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params)},it=async()=>{var e;if(fe.isInited)return!0;fe.isInited=!0,fe.spinning=!0,(()=>{if(pe)return!1;pe=new z})();const t=await ue.queryPrintFormatByNumber();return await nt(t),(null==(e=t.obj)?void 0:e.length)>0&&(ye.value=t.obj[0].authorizationKey||""),fe.spinning=!1,!0},rt=async(e=!0)=>{if(await ue.clickPrevFn()){if(!fe.visible){if(!await it())return!1}e&&(fe.visible=!fe.visible)}},at=e=>{if(fe.identityVerification.visible=!1,U(fe.currentFormatId))return ze(null,"edit");const t=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,fe.curPrintParamList[0])),n="MULTI"===ue.strategy?t:Be(fe.curPrintParamList,Oe.value),i={formatId:fe.currentFormatId,templateId:Se.value,params:n,token:e};pe.editPrintFormat(i,(e=>{ze(e,"edit")}),Ue)};async function lt(){await rt(!1),(()=>{const e=Object.keys(fe.printParams);fe.isClickOuterPrint=!1;const t=fe.originParams;if(1==Fe.value)for(let n=0;n<e.length;n++){const i=e[n],r=fe.printParams[i],a=t[i]||[],l=fe.formatList.filter((e=>e.number==i));l&&l.length>0&&l.forEach((e=>{fe.currentFormatId=e.id,He(r,e.number,e.templateId,e.id,a,!0)}))}2==Fe.value&&Pe.value.forEach((e=>{const n=fe.printParams[e.templateCode],i=t[e.templateCode]||[];fe.currentFormatId=e.key,He(n,e.templateCode,e.templateId,e.key,i,!0)}))})()}return a((()=>{fe.isInited=!1})),l((()=>ue.params),(e=>{Object.keys(fe.templateParams).length>0&&(fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params))}),{deep:!0}),l((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys}),(async e=>{(null==e?void 0:e.length)>0&&await rt(!1)}),{deep:!0,immediate:!0}),se({directPrint:lt}),(t,n)=>(o(),s(u,null,[c("div",K,[d(" 外显按钮集合 "),p(m(I),null,{default:y((()=>[(o(!0),s(u,null,f(Pe.value,(t=>{return o(),v(m(T),{key:t.key,class:"c-dropdown",placement:"bottom-start",trigger:"hover",onClickoutside:$e,options:(n=m(ge),i=t,fe.printParams[i.templateCode]?n:[]),onSelect:e=>Ye(e,t,!0)},{default:y((()=>[p(m(L),{disabled:!fe.printParams[t.templateCode],loading:e.showLoading&&t.isLoading,onClick:e=>Ge(t.templateCode,t.templateId,t.key,!0)},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(t.label),1)])),_:2},1032,["disabled","loading","onClick"])])),_:2},1032,["options","onSelect"]);var n,i})),128))])),_:1}),d(" 外显设置按钮 "),Pe.value.length>0&&Pe.value.length==m(je).length&&m(Ie)&&2!=m(Fe)?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,show:he.isOutSetting,onClickoutside:n[2]||(n[2]=e=>Je("isOutSetting"))},{trigger:y((()=>[p(m(L),{onClick:n[0]||(n[0]=e=>De("isOutSetting"))},{default:y((()=>[B,p(m(F),{style:{"margin-left":"8px"},component:m(x),size:"18"},null,8,["component"])])),_:1})])),default:y((()=>[c("div",R,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",q,[c("span",G,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",H,[p(m(N)),c("div",Y,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[1]||(n[1]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:1},8,["show"])):(o(),s(u,{key:1},[d(" 打印全部按钮 "),p(m(j),{trigger:"click","show-arrow":!1,show:he.oneShow,onClickoutside:n[10]||(n[10]=e=>Je("oneShow"))},{trigger:y((()=>[b(t.$slots,"button",{handleClickPrintBtn:rt,printSpinning:fe.spinning,printbtnText:e.btnText,printVisible:fe.visible},(()=>[p(m(I),{class:"newprint-button-component",onClick:n[4]||(n[4]=P((()=>Ee("icon")),["stop"]))},{default:y((()=>[p(m(L),{loading:e.showLoading&&fe.spinning,onClick:n[3]||(n[3]=P((()=>Ee("button")),["stop"]))},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(m(Ce)?"打印全部":e.btnText),1)])),_:1},8,["loading"]),p(m(L),{class:"icon-select"},{icon:y((()=>[p(m(F),{component:m(_),size:"18"},null,8,["component"])])),_:1})])),_:1})]))])),default:y((()=>[c("div",$,[(o(!0),s(u,null,f(be.value,(e=>(o(),s("div",{class:w(["print-li",ke.oneMouseType==e.key||ke.oneClickType==e.key?"active":""]),key:e.key,onMouseenter:t=>xe("oneMouseType",e.key),onMouseleave:n[9]||(n[9]=e=>xe("oneMouseType","")),onClick:t=>((e,t,n)=>{if(!fe.printParams[n.templateCode])return[];xe(e,t)})("oneClickType",e.key,e)},["divider"==e.key?(o(),v(m(N),{key:0})):"outSetting"==e.key?(o(),s(u,{key:1},[d(" 第二层外显设置 "),p(m(j),{trigger:"click","show-arrow":!1,placement:"right-start",show:he.isOutSetting,onClickoutside:n[7]||(n[7]=e=>Je("isOutSetting"))},{trigger:y((()=>[c("div",{class:"print-lite",onClick:n[5]||(n[5]=e=>De("isOutSetting"))},[c("span",W,k(e.label),1),p(m(F),{color:Pe.value.length>0?"#2563F4":"",component:m(x),size:"18"},null,8,["color","component"])])])),default:y((()=>[c("div",X,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",Z,[c("span",ee,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",te,[p(m(N)),c("div",ne,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[6]||(n[6]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:2},1032,["show"])],2112)):(o(),s(u,{key:2},[d(" 第二层功能操作 "),c("div",{class:w(["print-lite",fe.printParams[e.templateCode]?"":"isDisabled"])},[c("span",{class:"label bold",onClick:t=>Ge(e.templateCode,e.templateId,e.key,!1)},k(e.label),9,ie),fe.printParams[e.templateCode]?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,placement:"right-start",show:he[e.key],onClickoutside:t=>Je(e.key)},{trigger:y((()=>[p(m(F),{component:m(D),size:"18",onClick:t=>De(e.key)},null,8,["component","onClick"])])),default:y((()=>[c("div",re,[(o(!0),s(u,null,f(m(ge),(t=>(o(),s("div",{class:w(["print-li",ke.twoMouseType==t.key?"active":""]),key:t.key,onMouseenter:e=>xe("twoMouseType",t.key),onMouseleave:n[8]||(n[8]=e=>xe("twoMouseType",""))},[c("div",le,[c("span",{class:"label",onClick:n=>Ye(t.key,e,!1)},k(t.label),9,oe)])],42,ae)))),128))])])),_:2},1032,["show","onClickoutside"])):d("v-if",!0)],2)],2112))],42,Q)))),128))])])),_:3},8,["show"])],2112))]),p(A,S(t.$attrs,{modelValue:fe.identityVerification.visible,"onUpdate:modelValue":n[11]||(n[11]=e=>fe.identityVerification.visible=e),formatId:fe.currentFormatId,templateId:m(Se),onSuccess:at}),null,16,["modelValue","formatId","templateId"])],64))}});export{se as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as i,inject as t,onBeforeUnmount as l,watch as a,openBlock as o,createBlock as n,unref as s,normalizeClass as d,withCtx as c,createVNode as r,normalizeStyle as u,createElementVNode as f,createTextVNode as h,createElementBlock as v,Fragment as m,createCommentVNode as p,mergeProps as x}from"vue";import{NModal as b,NCard as y,NButton as g}from"naive-ui";import{InjectionClassifyfilterType as L}from"../../../../table-filter/src/constants/index.js";import k from"../../../../table-filter/src/components/classify-filter/index.vue.js";import z from"../../../../table-filter/src/components/bi-filter/index.vue.js";const A={class:"svg-wrap"},_={class:"flex_right"};var w=e({__name:"index",props:{visible:{type:Boolean,default:!1},modalTitle:{type:String,default:"设置分类"},conditionList:{type:Array,default:()=>[]},searchFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveAdd"],setup(e,{expose:w,emit:C}){const F=e,S=i(F.visible),H=i(!1),T=i("860px");let $=i({maxHeight:"496px",height:"496px"}),j=i(null),R=null;const B=t(L);function I(){N(),R=setTimeout((()=>{j&&j.value.handleInitConditions()}),30)}function N(){R&&clearTimeout(R)}function P(){j&&j.value.saveAdd()}function U(){S.value=!1,C("cancelSaveAdd"),T.value="860px",$.value={height:"496px",maxHeight:"496px"},H.value=!1,j&&j.value.cancelSaveAdd()}function q(){H.value=!H.value;let e=document.body.clientHeight;"860px"===T.value?(T.value="100%",$.value.maxHeight=`${e}px`,$.value.height=`${e}px`):(T.value="860px",$.value.maxHeight="496px",$.value.height="")}return l((()=>{N()})),a((()=>F.visible),(e=>{S.value=e,e&&I()})),w({cancelSaveAdd:U}),(e,i)=>(o(),n(s(b),{class:d(["classification-modal-block standard-modal standard-modal-white search-filter-modal",{"modal-screen":H.value}]),show:S.value,"onUpdate:show":i[0]||(i[0]=e=>S.value=e),maskClosable:!1,width:T.value,bodyStyle:s($),closable:!1,to:"body",centered:"",onPositiveClick:P,onNegativeClick:U},{default:c((()=>[r(s(y),{style:u({width:T.value,...s($)}),title:F.modalTitle,bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[f("div",A,[f("i",{onClick:q,class:d(["iconfont-table-filter",H.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),f("i",{onClick:U,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:c((()=>[f("div",_,[r(s(g),{onClick:U},{default:c((()=>[h("取消")])),_:1}),r(s(g),{type:"info",onClick:P},{default:c((()=>[h("保存")])),_:1})])])),default:c((()=>["1"===s(B)?(o(),v(m,{key:0},[p(" 默认配置弹窗 "),r(k,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):"2"===s(B)?(o(),v(m,{key:1},[p(" bi配置弹窗 "),r(z,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):p("v-if",!0)])),_:1},8,["style","title"])])),_:1},8,["class","show","width","bodyStyle"]))}});export{w as default};
1
+ import{defineComponent as e,ref as i,inject as t,onBeforeUnmount as l,watch as a,openBlock as n,createBlock as o,unref as s,normalizeClass as d,withCtx as c,createVNode as r,normalizeStyle as u,createElementVNode as f,createTextVNode as h,createElementBlock as v,Fragment as m,createCommentVNode as p,mergeProps as x}from"vue";import{NModal as b,NCard as g,NButton as y}from"naive-ui";import{InjectionClassifyfilterType as L}from"../../../../table-filter/src/constants/index.js";import k from"../../../../table-filter/src/components/classify-filter/index.vue.js";import z from"../../../../table-filter/src/components/bi-filter/index.vue.js";const A={class:"svg-wrap"},_={class:"flex_right"};var w=e({__name:"index",props:{visible:{type:Boolean,default:!1},modalTitle:{type:String,default:"设置分类"},conditionList:{type:Array,default:()=>[]},searchFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveAdd"],setup(e,{expose:w,emit:C}){const F=e,S=i(F.visible),H=i(!1),T=i("860px");let $=i({maxHeight:"496px",height:"496px"}),j=i(null),R=null;const B=t(L);function I(){N(),R=setTimeout((()=>{j&&j.value.handleInitConditions()}),30)}function N(){R&&clearTimeout(R)}function P(){j&&j.value.saveAdd()}function U(){S.value=!1,C("cancelSaveAdd"),T.value="860px",$.value={height:"496px",maxHeight:"496px"},H.value=!1,j&&j.value.cancelSaveAdd()}function q(){H.value=!H.value;let e=document.body.clientHeight;"860px"===T.value?(T.value="100%",$.value.maxHeight=`${e}px`,$.value.height=`${e}px`):(T.value="860px",$.value.maxHeight="496px",$.value.height="")}return l((()=>{N()})),a((()=>F.visible),(e=>{S.value=e,e&&I()})),w({cancelSaveAdd:U}),(e,i)=>(n(),o(s(b),{class:d(["classification-modal-block standard-modal standard-modal-white search-filter-modal",{"modal-screen":H.value}]),show:S.value,"onUpdate:show":i[0]||(i[0]=e=>S.value=e),maskClosable:!1,width:T.value,bodyStyle:s($),closable:!1,centered:"",onPositiveClick:P,onNegativeClick:U},{default:c((()=>[r(s(g),{style:u({width:T.value,...s($)}),title:F.modalTitle,bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[f("div",A,[f("i",{onClick:q,class:d(["iconfont-table-filter",H.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),f("i",{onClick:U,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:c((()=>[f("div",_,[r(s(y),{onClick:U},{default:c((()=>[h("取消")])),_:1}),r(s(y),{type:"info",onClick:P},{default:c((()=>[h("保存")])),_:1})])])),default:c((()=>["1"===s(B)?(n(),v(m,{key:0},[p(" 默认配置弹窗 "),r(k,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):"2"===s(B)?(n(),v(m,{key:1},[p(" bi配置弹窗 "),r(z,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):p("v-if",!0)])),_:1},8,["style","title"])])),_:1},8,["class","show","width","bodyStyle"]))}});export{w as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,inject as i,watch as l,openBlock as a,createBlock as n,unref as o,normalizeClass as s,withCtx as c,createVNode as r,normalizeStyle as u,createSlots as d,createElementVNode as p,withDirectives as v,createTextVNode as m,toDisplayString as h,createCommentVNode as f,withModifiers as y,vShow as g,createElementBlock as w,renderSlot as k}from"vue";import{NModal as x,NCard as b,NTooltip as C,NIcon as z,NSwitch as S,NPopconfirm as _,NButton as D}from"naive-ui";import{ReorderTwo as I,Brush as E,DocumentOutline as N}from"@vicons/ionicons5";import P from"../../../../../shared/components/VueDraggable/src/vuedraggable.js";import{root_isShowResetButton as F}from"../../const/index.js";import{cloneDeep as M}from"lodash-es";const U={class:"svg-wrap"},V={class:"flex_between"},B={class:"table-modal-list"},O=p("div",{class:"list-title"},[p("span",{class:"list-title-item",style:{width:"6%"}}),p("span",{class:"list-title-item"}," 名称 "),p("span",{class:"list-title-item"}," 父类名称 "),p("span",{class:"list-title-item"}," 是否显示 "),p("span",{class:"list-title-item"}," 设置为默认 "),p("span",{class:"list-title-item"}," 操作 ")],-1),j=["onClick"],Y={class:"list-content-item",style:{width:"6%","text-align":"center",overflow:"initial"}},$=["title"],A=["title"],H={class:"list-content-item list-content-switch"},J={class:"list-content-item list-content-radio"},q={class:"list-content-item"},G={key:0},K=p("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[p("path",{d:"M12 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M18 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6zm4 22V8h16v20z",fill:"currentColor"}),p("path",{d:"M12 2h8v2h-8z",fill:"currentColor"})],-1);var L=e({__name:"index",props:{visibleIn:{type:Boolean},loading:{type:Boolean},confirm:{type:Function},edit:{type:Function,defdault:()=>({})},copy:{type:Function,defdault:()=>({})},delItem:{type:Function,defdault:()=>({})},dataSource:{type:Array,default:()=>[]},type:{type:String,default:"search"},transitionName:{type:String},getContainer:{type:Function,default:()=>document.body}},emits:["handleOk","close","resetPopconfirm","finishSubmit"],setup(e,{emit:L}){const Q=e,R=t([]),T=t(Q.visibleIn),W=t(!1),X=t("other"==Q.type?"100%":"860px"),Z=t("654px"),ee=i(F);function te(){var e;Q.type&&(le(),L("handleOk","search"==(e=Q.type)||"other"==e?{id:"",tableId:"",setting:JSON.stringify(R.value.map((e=>({isDefault:e.isDefault,isShow:e.isShow,name:e.name,type:e.type,classifyId:e.sid}))))}:void 0))}function ie(){T.value=!1,le(),L("close")}function le(){X.value="860px",Z.value="654px",W.value=!1}function ae(){W.value=!W.value;let e=document.body.clientHeight;X.value="860px"===X.value?"100%":"860px",Z.value="654px"===Z.value?`${e}px`:"654px"}function ne(e){L("resetPopconfirm",e)}function oe(e,t,i){const l=Q[e];l&&l(t,i)}return l((()=>Q.visibleIn),(e=>{T.value=e})),l((()=>Q.dataSource),(e=>{R.value=M(e)}),{immediate:!0,deep:!0}),(t,i)=>(a(),n(o(x),{show:T.value,bodyStyle:{height:Z.value,overflowY:"auto"},width:X.value,maskClosable:!1,class:s(["classification-modal-block standard-modal standard-modal-white",{"modal-screen":W.value}]),closable:!1,centered:"",transitionName:e.transitionName,getContainer:e.getContainer,"positive-text":"保存","negative-text":"取消",to:"body",onPositiveClick:te,onNegativeClick:ie},{default:c((()=>[r(o(b),{style:u({width:X.value,height:Z.value,overflowY:"auto"}),title:"设置分类",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},d({"header-extra":c((()=>[p("div",U,[p("i",{onClick:ae,class:s(["iconfont-table-filter",W.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),p("i",{onClick:ie,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),default:c((()=>[p("div",B,[O,r(o(P),{class:"list-content",tag:"ul",list:R.value,"item-key":"sid",animation:"300"},{item:c((({element:t})=>[v(p("li",{class:s({checked:t.checked}),onClick:e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid?e.checked=!0:e.checked=!1}));var i}},[p("span",Y,[r(o(C),{mouseEnterDelay:1},{trigger:c((()=>[r(o(z),{component:o(I),size:"24"},null,8,["component"])])),default:c((()=>[m(" 拖拽调整顺序 ")])),_:1})]),p("span",{title:t.displayCategory,class:"list-content-item"},h(t.name),9,$),p("span",{title:t.name,class:"list-content-item"},h(t.displayCategory),9,A),p("span",H,[r(o(S),{"onUpdate:value":e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid&&(e.isShow=!e.isShow,e.isShow||(i.isDefault=!1))}));var i},size:"small",value:t.isShow},null,8,["onUpdate:value","value"])]),p("span",J,[r(o(S),{"onUpdate:value":e=>{var i;(i=t).isShow&&R.value.forEach((e=>{e.sid==i.sid?e.isDefault=!e.isDefault:e.isDefault=!1}))},size:"small",value:t.isDefault},null,8,["onUpdate:value","value"])]),p("span",q,[f(" 编辑 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(E),onClick:y((e=>oe("edit",t,"编辑")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 编辑 ")])),_:2},1024)],512),[[g,"other"==e.type||"search"==e.type&&t.isEdit]]),f(" 复制 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(N),onClick:y((e=>oe("copy",t,"复制")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 复制 ")])),_:2},1024)],512),[[g,"search"==e.type||"other"==e.type]]),f(" 删除 "),t.isEdit?(a(),w("span",G,[r(o(_),{onPositiveClick:e=>oe("delItem",t,"删除")},{trigger:c((()=>[r(o(z),null,{default:c((()=>[K])),_:1})])),default:c((()=>[m(" 是否确认删除? ")])),_:2},1032,["onPositiveClick"])])):f("v-if",!0)])],10,j),[[g,"line"!=t.type]])])),_:1},8,["list"])])])),_:2},["search"==e.type?{name:"footer",fn:c((()=>[p("div",V,[p("div",null,[o(ee)?(a(),n(o(_),{key:0,placement:"top-start","positive-text":"确认","negative-text":"取消",onPositiveClick:ne},{trigger:c((()=>[r(o(D),null,{default:c((()=>[m("恢复默认设置")])),_:1})])),default:c((()=>[m(" 确认要恢复系统默认设置吗? ")])),_:1})):f("v-if",!0)]),p("div",null,[r(o(D),{onClick:ie},{default:c((()=>[m("取消")])),_:1}),k(t.$slots,"add"),r(o(D),{type:"info",onClick:te},{default:c((()=>[m("保存")])),_:1})])])])),key:"0"}:void 0]),1032,["style"])])),_:3},8,["show","bodyStyle","width","class","transitionName","getContainer"]))}});export{L as default};
1
+ import{defineComponent as e,ref as t,inject as i,watch as l,openBlock as a,createBlock as n,unref as o,normalizeClass as s,withCtx as c,createVNode as r,normalizeStyle as u,createSlots as d,createElementVNode as p,withDirectives as v,createTextVNode as m,toDisplayString as h,createCommentVNode as f,withModifiers as y,vShow as g,createElementBlock as w,renderSlot as k}from"vue";import{NModal as x,NCard as b,NTooltip as C,NIcon as z,NSwitch as S,NPopconfirm as _,NButton as D}from"naive-ui";import{ReorderTwo as I,Brush as E,DocumentOutline as N}from"@vicons/ionicons5";import P from"../../../../../shared/components/VueDraggable/src/vuedraggable.js";import{root_isShowResetButton as F}from"../../const/index.js";import{cloneDeep as M}from"lodash-es";const U={class:"svg-wrap"},V={class:"flex_between"},B={class:"table-modal-list"},O=p("div",{class:"list-title"},[p("span",{class:"list-title-item",style:{width:"6%"}}),p("span",{class:"list-title-item"}," 名称 "),p("span",{class:"list-title-item"}," 父类名称 "),p("span",{class:"list-title-item"}," 是否显示 "),p("span",{class:"list-title-item"}," 设置为默认 "),p("span",{class:"list-title-item"}," 操作 ")],-1),j=["onClick"],Y={class:"list-content-item",style:{width:"6%","text-align":"center",overflow:"initial"}},$=["title"],A=["title"],H={class:"list-content-item list-content-switch"},J={class:"list-content-item list-content-radio"},q={class:"list-content-item"},G={key:0},K=p("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[p("path",{d:"M12 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M18 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6zm4 22V8h16v20z",fill:"currentColor"}),p("path",{d:"M12 2h8v2h-8z",fill:"currentColor"})],-1);var L=e({__name:"index",props:{visibleIn:{type:Boolean},loading:{type:Boolean},confirm:{type:Function},edit:{type:Function,defdault:()=>({})},copy:{type:Function,defdault:()=>({})},delItem:{type:Function,defdault:()=>({})},dataSource:{type:Array,default:()=>[]},type:{type:String,default:"search"},transitionName:{type:String},getContainer:{type:Function,default:()=>document.body}},emits:["handleOk","close","resetPopconfirm","finishSubmit"],setup(e,{emit:L}){const Q=e,R=t([]),T=t(Q.visibleIn),W=t(!1),X=t("other"==Q.type?"100%":"860px"),Z=t("654px"),ee=i(F);function te(){var e;Q.type&&(le(),L("handleOk","search"==(e=Q.type)||"other"==e?{id:"",tableId:"",setting:JSON.stringify(R.value.map((e=>({isDefault:e.isDefault,isShow:e.isShow,name:e.name,type:e.type,classifyId:e.sid}))))}:void 0))}function ie(){T.value=!1,le(),L("close")}function le(){X.value="860px",Z.value="654px",W.value=!1}function ae(){W.value=!W.value;let e=document.body.clientHeight;X.value="860px"===X.value?"100%":"860px",Z.value="654px"===Z.value?`${e}px`:"654px"}function ne(e){L("resetPopconfirm",e)}function oe(e,t,i){const l=Q[e];l&&l(t,i)}return l((()=>Q.visibleIn),(e=>{T.value=e})),l((()=>Q.dataSource),(e=>{R.value=M(e)}),{immediate:!0,deep:!0}),(t,i)=>(a(),n(o(x),{show:T.value,bodyStyle:{height:Z.value,overflowY:"auto"},width:X.value,maskClosable:!1,class:s(["classification-modal-block standard-modal standard-modal-white",{"modal-screen":W.value}]),closable:!1,centered:"",transitionName:e.transitionName,getContainer:e.getContainer,"positive-text":"保存","negative-text":"取消",onPositiveClick:te,onNegativeClick:ie},{default:c((()=>[r(o(b),{style:u({width:X.value,height:Z.value,overflowY:"auto"}),title:"设置分类",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},d({"header-extra":c((()=>[p("div",U,[p("i",{onClick:ae,class:s(["iconfont-table-filter",W.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),p("i",{onClick:ie,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),default:c((()=>[p("div",B,[O,r(o(P),{class:"list-content",tag:"ul",list:R.value,"item-key":"sid",animation:"300"},{item:c((({element:t})=>[v(p("li",{class:s({checked:t.checked}),onClick:e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid?e.checked=!0:e.checked=!1}));var i}},[p("span",Y,[r(o(C),{mouseEnterDelay:1},{trigger:c((()=>[r(o(z),{component:o(I),size:"24"},null,8,["component"])])),default:c((()=>[m(" 拖拽调整顺序 ")])),_:1})]),p("span",{title:t.displayCategory,class:"list-content-item"},h(t.name),9,$),p("span",{title:t.name,class:"list-content-item"},h(t.displayCategory),9,A),p("span",H,[r(o(S),{"onUpdate:value":e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid&&(e.isShow=!e.isShow,e.isShow||(i.isDefault=!1))}));var i},size:"small",value:t.isShow},null,8,["onUpdate:value","value"])]),p("span",J,[r(o(S),{"onUpdate:value":e=>{var i;(i=t).isShow&&R.value.forEach((e=>{e.sid==i.sid?e.isDefault=!e.isDefault:e.isDefault=!1}))},size:"small",value:t.isDefault},null,8,["onUpdate:value","value"])]),p("span",q,[f(" 编辑 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(E),onClick:y((e=>oe("edit",t,"编辑")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 编辑 ")])),_:2},1024)],512),[[g,"other"==e.type||"search"==e.type&&t.isEdit]]),f(" 复制 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(N),onClick:y((e=>oe("copy",t,"复制")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 复制 ")])),_:2},1024)],512),[[g,"search"==e.type||"other"==e.type]]),f(" 删除 "),t.isEdit?(a(),w("span",G,[r(o(_),{onPositiveClick:e=>oe("delItem",t,"删除")},{trigger:c((()=>[r(o(z),null,{default:c((()=>[K])),_:1})])),default:c((()=>[m(" 是否确认删除? ")])),_:2},1032,["onPositiveClick"])])):f("v-if",!0)])],10,j),[[g,"line"!=t.type]])])),_:1},8,["list"])])])),_:2},["search"==e.type?{name:"footer",fn:c((()=>[p("div",V,[p("div",null,[o(ee)?(a(),n(o(_),{key:0,placement:"top-start","positive-text":"确认","negative-text":"取消",onPositiveClick:ne},{trigger:c((()=>[r(o(D),null,{default:c((()=>[m("恢复默认设置")])),_:1})])),default:c((()=>[m(" 确认要恢复系统默认设置吗? ")])),_:1})):f("v-if",!0)]),p("div",null,[r(o(D),{onClick:ie},{default:c((()=>[m("取消")])),_:1}),k(t.$slots,"add"),r(o(D),{type:"info",onClick:te},{default:c((()=>[m("保存")])),_:1})])])])),key:"0"}:void 0]),1032,["style"])])),_:3},8,["show","bodyStyle","width","class","transitionName","getContainer"]))}});export{L as default};
@@ -466,9 +466,9 @@ declare const _default: import("vue").DefineComponent<{
466
466
  hide: boolean;
467
467
  }>;
468
468
  draggable: boolean;
469
- isHighlightRow: boolean;
470
469
  idx: number;
471
470
  isHighlight: boolean;
471
+ isHighlightRow: boolean;
472
472
  isFieldSet: boolean;
473
473
  fieldDescribeMode: "column" | "tooltip";
474
474
  }>;
@@ -488,9 +488,9 @@ declare const _default: import("vue").DefineComponent<{
488
488
  hide: boolean;
489
489
  }>;
490
490
  draggable: boolean;
491
- isHighlightRow: boolean;
492
491
  idx: number;
493
492
  isHighlight: boolean;
493
+ isHighlightRow: boolean;
494
494
  isFieldSet: boolean;
495
495
  fieldDescribeMode: "column" | "tooltip";
496
496
  }>;
@@ -612,9 +612,9 @@ declare const _default: import("vue").DefineComponent<{
612
612
  hide: boolean;
613
613
  }>;
614
614
  draggable: boolean;
615
- isHighlightRow: boolean;
616
615
  idx: number;
617
616
  isHighlight: boolean;
617
+ isHighlightRow: boolean;
618
618
  isFieldSet: boolean;
619
619
  fieldDescribeMode: "column" | "tooltip";
620
620
  }>;
@@ -725,8 +725,8 @@ declare const _default: import("vue").DefineComponent<{
725
725
  showSeq: boolean;
726
726
  footerFlag: boolean;
727
727
  fieldDescribeMode: "column" | "tooltip";
728
- showSearch: boolean;
729
728
  customColumns: FieldSetColumnItem[];
729
+ showSearch: boolean;
730
730
  showSortPriority: boolean;
731
731
  showHeadFilter: boolean;
732
732
  }>;
@@ -317,9 +317,9 @@ declare const _default: import("vue").DefineComponent<{
317
317
  hide: boolean;
318
318
  }>;
319
319
  draggable: boolean;
320
- isHighlightRow: boolean;
321
320
  idx: number;
322
321
  isHighlight: boolean;
322
+ isHighlightRow: boolean;
323
323
  isFieldSet: boolean;
324
324
  fieldDescribeMode: "column" | "tooltip";
325
325
  }>;
@@ -15,7 +15,7 @@ export interface FieldVisitorContext {
15
15
  insertAfter(f: FieldItem | FieldItem[]): void;
16
16
  }
17
17
  export type FieldVisitor = Record<string, (context: FieldVisitorContext) => void>;
18
- export type AgeContext = Record<'age' | 'day' | 'month' | 'year' | 'hours', number>;
18
+ export type AgeContext = Record<'age' | 'day' | 'month' | 'year' | 'hours' | 'minutes', number>;
19
19
  export type IdCardParseInfo = Record<'sex' | 'birthday', string> & AgeContext;
20
20
  export type FormRenderExpose = {
21
21
  formModel: Form;
@@ -1 +1 @@
1
- import{differenceInDays as t,differenceInMonths as e,differenceInYears as n,differenceInHours as a,format as r}from"date-fns";import{isString as s}from"lodash-es";import{FIELD_AGE_UNIT as o,FIELD_SEX_VALUE as u}from"../constants/index.js";function d(t){return((t,e,n)=>{const a={},r=1-t.substr(e,1)%2;a.sex=1===r?u.FEMALE:u.MALE;const s=(2==n?"19":"")+t.substr(6,n),o=t.substr(6+n,2),d=t.substr(8+n,2);a.birthday=s+"-"+o+"-"+d+" 00:00";const c=new Date,i=c.getMonth()+1<parseInt(o,10)||c.getMonth()+1==parseInt(o,10)&&c.getDate()<parseInt(d,10)?1:0;return Object.assign(a,g(a.birthday)),a.age=a.year=c.getFullYear()-parseInt(s,10)-i,a})(t,15==t.length?14:16,15==t.length?2:4)}function c(t=""){if(!s(t)||!t)return"date";const e=t.includes("y"),n=t.includes("M"),a=t.includes("d"),r=t.includes("H"),o=t.includes("m"),u=t.includes("s");return e||n||a||!(r||o||u)?r||o||u?"datetime":!e||n||a?!e&&n&&a?"month":"date":"year":"time"}const i=/^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}(\d|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}))$/,h=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}$/;function f(t){return i.test(t)&&function(t){if(!t||18!==t.length)return!1;const e=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];let n=0;for(let a=0;a<17;a++)n+=+t[a]*e[a];return t.charAt(17).toUpperCase()===["1","0","X","9","8","7","6","5","4","3","2"][n%11]}(t)||h.test(t)}function l(t){return/^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/.test(t)}function g(r){const s={},o=new Date,u=new Date(r);return s.day=t(o,u),s.month=e(o,u),s.age=s.year=n(o,u),s.hours=a(o,u),s}function m(t,e,n="yyyy-MM-dd HH:mm"){var a;const s=new Date,u={[o.MINUTE]:()=>d(s,"Minutes",t),[o.HOUR]:()=>d(s,"Hours",t),[o.DAY]:()=>d(s,"Date",t),[o.WEEK]:()=>d(s,"Date",7*t),[o.MONTH]:()=>d(s,"Month",t),[o.YEAR]:()=>d(s,"FullYear",t)};return null==(a=u[e])||a.call(u),r(function(t,e){const n=[{[o.DAY]:"Date",[o.WEEK]:"Date",[o.MONTH]:"Date",[o.YEAR]:"Date"},{[o.HOUR]:"Hours"},{[o.MINUTE]:"Minutes"}],a=n.findIndex((t=>Reflect.has(t,e)));~a&&n.slice(a+1).forEach((e=>{Object.values(e).forEach((e=>{t[`set${e}`]("Date"===e?1:0)}))}));return t.setSeconds(0),t}(s,e),n);function d(t,e,n){t[`set${e}`](t[`get${e}`]()-n)}}function M(t){const e=t.hours<24?{ageUnit:o.HOUR,age:Math.max(t.hours,1)}:t.day<30?{ageUnit:o.DAY,age:Math.max(t.day,1)}:t.day<365?{ageUnit:o.MONTH,age:Math.max(t.month,1)}:{ageUnit:o.YEAR,age:Math.max(t.year,1)};return e.age=Math.max(e.age,1),e}const D=/^(\d{4})-?(\d{2})-?(\d{2})?\s?(\d{2})?:?(\d{2})?:?(\d{2})?$/;function y(t){if(!s(t))return;const e=t.match(D);if(!e)return;const[,n,a,r,o,u,d]=e;return new Date(`${n}-${a}-${r||"01"} ${o||"00"}:${u||"00"}:${d||"00"}`)}export{y as businessDateParser,f as isIdCard,l as isMobile,m as parseAge2Birthday,M as parseAgeFromContext,g as parseBirthday,d as parseIdCard,c as transformDateFormat};
1
+ import{format as t,differenceInDays as e,differenceInMonths as n,differenceInYears as r,differenceInHours as s,differenceInMinutes as a}from"date-fns";import{isString as u}from"lodash-es";import{FIELD_AGE_UNIT as o,FIELD_SEX_VALUE as d}from"../constants/index.js";function i(t){return((t,e,n)=>{const r={},s=1-t.substr(e,1)%2;r.sex=1===s?d.FEMALE:d.MALE;const a=(2==n?"19":"")+t.substr(6,n),u=t.substr(6+n,2),o=t.substr(8+n,2);r.birthday=a+"-"+u+"-"+o+" 00:00";const i=new Date,c=i.getMonth()+1<parseInt(u,10)||i.getMonth()+1==parseInt(u,10)&&i.getDate()<parseInt(o,10)?1:0;return Object.assign(r,m(r.birthday)),r.age=r.year=i.getFullYear()-parseInt(a,10)-c,r})(t,15==t.length?14:16,15==t.length?2:4)}function c(t=""){if(!u(t)||!t)return"date";const e=t.includes("y"),n=t.includes("M"),r=t.includes("d"),s=t.includes("H"),a=t.includes("m"),o=t.includes("s");return e||n||r||!(s||a||o)?s||a||o?"datetime":!e||n||r?!e&&n&&r?"month":"date":"year":"time"}const l=/^\d{6}(((19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}(\d|x|X))|(\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}))$/,f=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}$/;function g(t){return l.test(t)&&function(t){if(!t||18!==t.length)return!1;const e=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];let n=0;for(let r=0;r<17;r++)n+=+t[r]*e[r];return t.charAt(17).toUpperCase()===["1","0","X","9","8","7","6","5","4","3","2"][n%11]}(t)||f.test(t)}function h(t){return/^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/.test(t)}function m(t){const u={},o=new Date,d=new Date(t),i=[["day",e],["month",n],["year",r],["hours",s],["minutes",a]];return Object.defineProperties(u,i.reduce(((t,[e,n])=>(t[e]={get:(()=>{let t=null;return()=>(null===t&&(t=n(o,d)),t)})()},t)),{})),u}function M(e,n,r="yyyy-MM-dd HH:mm"){var s;const a=new Date,u={[o.MINUTE]:()=>d(a,"Minutes",e),[o.HOUR]:()=>d(a,"Hours",e),[o.DAY]:()=>d(a,"Date",e),[o.WEEK]:()=>d(a,"Date",7*e),[o.MONTH]:()=>d(a,"Month",e),[o.YEAR]:()=>d(a,"FullYear",e)};return null==(s=u[n])||s.call(u),t(function(t,e){const n=[{[o.DAY]:"Date",[o.WEEK]:"Date",[o.MONTH]:"Date",[o.YEAR]:"Date"},{[o.HOUR]:"Hours"},{[o.MINUTE]:"Minutes"}],r=n.findIndex((t=>Reflect.has(t,e)));~r&&n.slice(r+1).forEach((e=>{Object.values(e).forEach((e=>{t[`set${e}`]("Date"===e?1:0)}))}));return t.setSeconds(0),t}(a,n),r);function d(t,e,n){t[`set${e}`](t[`get${e}`]()-n)}}function D(t){const e=t.minutes<60?{ageUnit:o.MINUTE,age:t.minutes}:t.hours<24?{ageUnit:o.HOUR,age:t.hours}:t.day<30?{ageUnit:o.DAY,age:t.day}:t.day<365?{ageUnit:o.MONTH,age:t.month}:{ageUnit:o.YEAR,age:t.year};return e.age=Math.max(e.age,1),e}const y=/^(\d{4})-?(\d{2})-?(\d{2})?\s?(\d{2})?:?(\d{2})?:?(\d{2})?$/;function E(t){if(!u(t))return;const e=t.match(y);if(!e)return;const[,n,r,s,a,o,d]=e;return new Date(`${n}-${r}-${s||"01"} ${a||"00"}:${o||"00"}:${d||"00"}`)}export{E as businessDateParser,g as isIdCard,h as isMobile,M as parseAge2Birthday,D as parseAgeFromContext,m as parseBirthday,i as parseIdCard,c as transformDateFormat};
@@ -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,to:"body","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 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 +1 @@
1
- import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as s,unref as r,createCommentVNode as d,withDirectives as o,createElementVNode as c,normalizeClass as b,createVNode as u,withCtx as p,Fragment as f,renderList as h,createBlock as y,createTextVNode as v,toDisplayString as m,vShow as g,nextTick as C}from"vue";import{useMessage as L,NAnchor as I,NAnchorLink as S}from"naive-ui";import E from"./components/label-classify.vue.js";import{handleLabelColor as w}from"../../../shared/utils/vexutils.js";import x from"../../../shared/utils/vexutilsExpand.js";const A={key:0,class:"label-disable-wrap"},O=[c("p",{class:"label-disable-title"},"无可选标签",-1),c("p",{class:"label-disable-desc"},"请联系管理员进行标签管理设置",-1)],K={style:{height:"100%"}},j={class:"label-wrap"},k=["id"],T={class:"edit-label-type"};var B=t({__name:"LabelFormContent",props:{item:{default:()=>({})},isEdit:{type:Boolean,default:!0},isLock:{type:Boolean,default:!1},labelSelectedList:null,isChangeWindow:{type:Boolean},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},labelOptions:null,sourceType:{default:""},explicit:{type:Boolean,default:!1}},emits:["explicitOnChange","change","updateLabelData"],setup(t,{expose:B,emit:D}){const V=t,F=L(),P=e(null),_=l({editLabelItem:{},inited:!1,labelSelectedEdit:[],labelAnchorKey:"",cacheAnchorKey:"",labelConfig:{}});let N=e(0);const W=a((()=>{if(!_.inited)return!1;let t=_.labelConfig;return!t||Object.keys(t).every((e=>!t[e].itemList))})),$=a((()=>{let t=[].concat(..._.labelSelectedEdit,...V.labelSelectedList);return J(t,"labelId")})),q=a((()=>{const t=$.value||[];return Array.isArray(t)?t.map((t=>t.labelId)):[]})),J=(t,e)=>{let l={};return t.reduce(((t,a)=>(!l[a[e]]&&(l[a[e]]=t.push(a)),t)),[])},R=()=>{if(_.labelSelectedEdit=$.value,"object"==typeof _.labelConfig){Object.keys(_.labelConfig||{}).forEach((t=>{var e;let l=(null==(e=_.labelConfig[t])?void 0:e.itemList)||[];l.length&&l.forEach((t=>{q.value.includes(t.labelId)&&(t.isSelect=!0)}))}))}},z=(t,e)=>{if(!t)return;let l=Object.keys(t)||[];if(!l.length)return;let a=t[l[0]].curKey;if(e&&"string"==typeof e){let[i]=e.split("~"),n=l.find((e=>t[e]&&t[e].curKey&&t[e].curKey.includes(i)));n&&(a=t[n].curKey)}a&&Y(a)},G=(t,e)=>{e.showAdd=!0;const l=t.target.nextElementSibling;C((()=>{var t;null==(t=null==l?void 0:l.firstChild)||t.focus()}))},H=(t,e)=>{setTimeout((()=>{e.addVal?Q(e):e.showAdd=!1}),150)},M=(t,e)=>{e.addVal="",e.showAdd=!1},Q=async t=>{var e;if(!!t.itemList.filter((t=>!(t.isPublic&&1==t.isPublic))).find((e=>e.labelName===t.addVal)))return F.error("标签名称重复!"),!1;let l="";l=(null==(e=t.itemList)?void 0:e.length)?t.itemList[0].parentColor||t.parentColor||"":(null==t?void 0:t.parentColor)||"";const a={type:t.typeId,name:t.addVal,parentColor:l},{status:i}=await V.saveLabelItem(a,t);i&&(F.success("添加成功!"),D("updateLabelData"),t.showAdd=!1)},U=(t,e,l,a)=>{var i;const n=l.itemList,s=l.multipleChoice;let r=(null==(i=_.labelSelectedEdit)?void 0:i.length)&&x.clone(_.labelSelectedEdit,!0)||[];if(t){if(r.some((t=>t.labelId==e.labelId)))return;if(2==s){const{typeId:t,labelId:l}=e;r=r.filter((e=>e.typeId!==t)),n.forEach((t=>{t.labelId!==l&&(t.isSelect=!1)}))}r.push(e)}else{const t=r.findIndex((t=>t.labelId==e.labelId));-1!=t&&r.splice(t,1)}_.labelSelectedEdit=[...r],N.value++,V.explicit&&D("explicitOnChange",[..._.labelSelectedEdit])},X=async t=>{const{status:e}=await V.deleteLabel(t,V.item);if(e){F.success("删除成功!");for(const e in _.labelConfig){const l=_.labelConfig[e].itemList.findIndex((e=>e.labelId==t.labelId));-1!=l&&_.labelConfig[e].itemList.splice(l,1)}const e=_.labelSelectedEdit||[],l=V.labelSelectedList||[];if(e&&e.length){const l=e.findIndex((e=>e.labelId==t.labelId));-1!=l&&e.splice(l,1)}if(l&&l.length){const e=l.findIndex((e=>e.labelId==t.labelId));-1!=e&&l.splice(e,1),D("change",[...l],V.item)}D("updateLabelData")}else F.warning("删除失败")},Y=t=>{t&&setTimeout((()=>{let e,l="#"+t;e=P.value.querySelector("a[href='"+l+"']"),e&&e.click(),_.labelAnchorKey=t}),32)},Z=t=>{t.preventDefault()},tt=t=>{if(!t)return;let e=t.slice(1);_.cacheAnchorKey=e},et=()=>{var t;return null==(t=P.value)?void 0:t.querySelector(".right-label-wrap")};return i((()=>V.labelOptions),(t=>{t&&(()=>{var t;if(V.isLock)return;const e=JSON.parse(JSON.stringify(V.labelOptions));for(let l in e){let a=(null==(t=e[l])?void 0:t.typeId)||"";Object.assign(e[l],{curKey:`${l}_${a}}`})}_.labelConfig=e,C((()=>{let t;R(),V.explicit&&_.inited&&(t=_.labelAnchorKey),z(_.labelConfig,t),_.inited=!0}))})()}),{immediate:!0,deep:!0}),B({resetShowAdd:()=>{let{labelObj:t}=_.editLabelItem;if(t&&Object.keys(t).length)for(let e in t){let l=t[e];Object.assign(l,{showAdd:!1})}},handleLabelForm:t=>{t([..._.labelSelectedEdit||[]])},handleResetOptions:()=>{},hanldeSetLabelItem:(t,e)=>{if("object"==typeof _.labelConfig){Object.keys(_.labelConfig||{}).forEach((l=>{var a;let i=(null==(a=_.labelConfig[l])?void 0:a.itemList)||[];i.length&&i.forEach((l=>{t==l.labelId&&(l.isSelect=e)}))}))}if(!1===e&&Array.isArray(_.labelSelectedEdit)){const e=_.labelSelectedEdit.findIndex((e=>e.labelId==t));-1!=e&&_.labelSelectedEdit.splice(e,1)}}}),(e,l)=>(n(),s("div",{class:"c-label-form-content",ref_key:"labelFormContent",ref:P},[r(W)?(n(),s("div",A,O)):d("v-if",!0),o(c("div",K,[c("div",j,[d(" 表单内嵌打开标签组件的样式 "),d(' <div v-if="explicit" class="explicit-continer">\r\n\t\t\t\t\t<n-tabs :value="state.labelAnchorKey" type="card" @change="labelAnchorTabsOnChange" tab-position="top">\r\n\t\t\t\t\t\t<template v-for="(v, i) in state.labelConfig">\r\n\t\t\t\t\t\t\t<n-tab-pane :name="v.curKey">\r\n\t\t\t\t\t\t\t\t<span slot="tab">\r\n\t\t\t\t\t\t\t\t\t{{ i }}\r\n\t\t\t\t\t\t\t\t\t<span class="edit-label-type">({{ v.multipleChoice == 2 ? \'单\' : \'多\' }}选)</span>\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t<div class="explicit-label-wrap left-label-wrap">\r\n\t\t\t\t\t\t\t\t\t<div class="edit-label-content">\r\n\t\t\t\t\t\t\t\t\t\t<labelClassify\r\n\t\t\t\t\t\t\t\t\t\t\t:classifyItem="v"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelChange="handleLabelChange"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelColor="handleLabelColor"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleDelLabel="handleDelLabel"\r\n\t\t\t\t\t\t\t\t\t\t\t:hanldeBlur="hanldeBlur"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleAddLabel="handleAddLabel"\r\n\t\t\t\t\t\t\t\t\t\t\t:clearaddVal="clearaddVal"\r\n\t\t\t\t\t\t\t\t\t\t\t:isEdit="isEdit"\r\n\t\t\t\t\t\t\t\t\t\t\t:sourceType="sourceType"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</n-tab-pane>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</n-tabs>\r\n\t\t\t\t</div> '),d("\r\n\t\t\t\t\t普通标签样式\r\n\t\t\t\t\tv-else\r\n\t\t\t\t\texplicit\r\n\t\t\t\t "),c("div",{class:b(["left-label-wrap",{"total-left-label-wrap":t.isChangeWindow}])},[u(r(I),{"offset-target":et,type:"block",onClick:Z,onChange:tt},{default:p((()=>[(n(!0),s(f,null,h(_.labelConfig,((t,e)=>(n(),y(r(S),{href:`#${t.curKey}`,title:String(e)},null,8,["href","title"])))),256))])),_:1})],2),d(' v-if="!explicit" '),c("div",{class:b(["right-label-wrap",{"total-right-label-wrap":t.isChangeWindow}])},[(n(!0),s(f,null,h(_.labelConfig,((e,l)=>(n(),s("div",{key:l,class:"edit-label-content"},[c("div",{class:"edit-label",id:e.curKey},[v(m(l)+" ",1),c("span",T,"("+m(2==e.multipleChoice?"单":"多")+"选)",1)],8,k),u(E,{classifyItem:e,handleLabelChange:U,handleLabelColor:r(w),handleDelLabel:X,hanldeBlur:H,handleAddLabel:G,clearaddVal:M,isEdit:t.isEdit,sourceType:t.sourceType},null,8,["classifyItem","handleLabelColor","isEdit","sourceType"])])))),128))],2)])],512),[[g,!r(W)]])],512))}});export{B as default};
1
+ import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as s,unref as d,createCommentVNode as o,withDirectives as r,createElementVNode as c,normalizeClass as b,createVNode as u,withCtx as p,Fragment as f,renderList as h,createBlock as y,createTextVNode as v,toDisplayString as m,vShow as g,nextTick as C}from"vue";import{useMessage as L,NAnchor as I,NAnchorLink as S}from"naive-ui";import E from"./components/label-classify.vue.js";import{handleLabelColor as w}from"../../../shared/utils/vexutils.js";import x from"../../../shared/utils/vexutilsExpand.js";const A={key:0,class:"label-disable-wrap"},O=[c("p",{class:"label-disable-title"},"无可选标签",-1),c("p",{class:"label-disable-desc"},"请联系管理员进行标签管理设置",-1)],K={style:{height:"100%"}},j={class:"label-wrap"},k=["id"],T={class:"edit-label-type"};var B=t({__name:"LabelFormContent",props:{item:{default:()=>({})},isEdit:{type:Boolean,default:!0},isLock:{type:Boolean,default:!1},labelSelectedList:null,isChangeWindow:{type:Boolean},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},labelOptions:null,sourceType:{default:""},explicit:{type:Boolean,default:!1}},emits:["explicitOnChange","change","updateLabelData"],setup(t,{expose:B,emit:D}){const V=t,F=L(),P=e(null),_=l({editLabelItem:{},inited:!1,labelSelectedEdit:[],labelAnchorKey:"",cacheAnchorKey:"",labelConfig:{}});let N=e(0);const W=a((()=>{if(!_.inited)return!1;let t=_.labelConfig;return!t||Object.keys(t).every((e=>!t[e].itemList))})),$=a((()=>{let t=[].concat(..._.labelSelectedEdit,...V.labelSelectedList);return J(t,"labelId")})),q=a((()=>{const t=$.value||[];return Array.isArray(t)?t.map((t=>t.labelId)):[]})),J=(t,e)=>{let l={};return t.reduce(((t,a)=>(!l[a[e]]&&(l[a[e]]=t.push(a)),t)),[])},R=()=>{if(_.labelSelectedEdit=$.value,"object"==typeof _.labelConfig){Object.keys(_.labelConfig||{}).forEach((t=>{var e;let l=(null==(e=_.labelConfig[t])?void 0:e.itemList)||[];l.length&&l.forEach((t=>{q.value.includes(t.labelId)&&(t.isSelect=!0)}))}))}},z=(t,e)=>{if(!t)return;let l=Object.keys(t)||[];if(!l.length)return;let a=t[l[0]].curKey;if(e&&"string"==typeof e){let[i]=e.split("~"),n=l.find((e=>t[e]&&t[e].curKey&&t[e].curKey.includes(i)));n&&(a=t[n].curKey)}a&&Y(a)},G=(t,e)=>{e.showAdd=!0;const l=t.target.nextElementSibling;C((()=>{var t;null==(t=null==l?void 0:l.firstChild)||t.focus()}))},H=(t,e)=>{setTimeout((()=>{e.addVal?Q(e):e.showAdd=!1}),150)},M=(t,e)=>{e.addVal="",e.showAdd=!1},Q=async t=>{var e;if(!!t.itemList.filter((t=>!(t.isPublic&&1==t.isPublic))).find((e=>e.labelName===t.addVal)))return F.error("标签名称重复!"),!1;let l="";l=(null==(e=t.itemList)?void 0:e.length)?t.itemList[0].parentColor||t.parentColor||"":(null==t?void 0:t.parentColor)||"";const a={type:t.typeId,name:t.addVal,parentColor:l},{status:i}=await V.saveLabelItem(a,t);i&&(F.success("添加成功!"),D("updateLabelData"),t.showAdd=!1)},U=(t,e,l,a)=>{var i;const n=l.itemList,s=l.multipleChoice;let d=(null==(i=_.labelSelectedEdit)?void 0:i.length)&&x.clone(_.labelSelectedEdit,!0)||[];if(t){if(d.some((t=>t.labelId==e.labelId)))return;if(2==s){const{typeId:t,labelId:l}=e;d=d.filter((e=>e.typeId!==t)),n.forEach((t=>{t.labelId!==l&&(t.isSelect=!1)}))}d.push(e)}else{const t=d.findIndex((t=>t.labelId==e.labelId));-1!=t&&d.splice(t,1)}_.labelSelectedEdit=[...d],N.value++,V.explicit&&D("explicitOnChange",[..._.labelSelectedEdit])},X=async t=>{const{status:e}=await V.deleteLabel(t,V.item);if(e){F.success("删除成功!");for(const e in _.labelConfig){const l=_.labelConfig[e].itemList.findIndex((e=>e.labelId==t.labelId));-1!=l&&_.labelConfig[e].itemList.splice(l,1)}const e=_.labelSelectedEdit||[],l=V.labelSelectedList||[];if(e&&e.length){const l=e.findIndex((e=>e.labelId==t.labelId));-1!=l&&e.splice(l,1)}if(l&&l.length){const e=l.findIndex((e=>e.labelId==t.labelId));-1!=e&&l.splice(e,1),D("change",[...l],V.item)}D("updateLabelData")}else F.warning("删除失败")},Y=t=>{t&&setTimeout((()=>{let e,l="#"+t;e=P.value.querySelector("a[href='"+l+"']"),e&&e.click(),_.labelAnchorKey=t}),32)},Z=t=>{t.preventDefault()},tt=t=>{if(!t)return;let e=t.slice(1);_.cacheAnchorKey=e},et=()=>{var t;return null==(t=P.value)?void 0:t.querySelector(".right-label-wrap")};return i((()=>V.labelOptions),(t=>{t&&(()=>{var t;if(V.isLock)return;const e=JSON.parse(JSON.stringify(V.labelOptions));for(let l in e){let a=(null==(t=e[l])?void 0:t.typeId)||"";Object.assign(e[l],{curKey:`${l}_${a}}`})}_.labelConfig=e,C((()=>{let t;R(),V.explicit&&_.inited&&(t=_.labelAnchorKey),z(_.labelConfig,t),_.inited=!0}))})()}),{immediate:!0,deep:!0}),B({resetShowAdd:()=>{let{labelObj:t}=_.editLabelItem;if(t&&Object.keys(t).length)for(let e in t){let l=t[e];Object.assign(l,{showAdd:!1})}},handleLabelForm:t=>{t([..._.labelSelectedEdit||[]])},handleResetOptions:()=>{},hanldeSetLabelItem:(t,e)=>{if("object"==typeof _.labelConfig){Object.keys(_.labelConfig||{}).forEach((l=>{var a;let i=(null==(a=_.labelConfig[l])?void 0:a.itemList)||[];i.length&&i.forEach((l=>{t==l.labelId&&(l.isSelect=e)}))}))}if(!1===e&&Array.isArray(_.labelSelectedEdit)){const e=_.labelSelectedEdit.findIndex((e=>e.labelId==t));-1!=e&&_.labelSelectedEdit.splice(e,1)}}}),(e,l)=>(n(),s("div",{class:"c-label-form-content",ref_key:"labelFormContent",ref:P},[d(W)?(n(),s("div",A,O)):o("v-if",!0),r(c("div",K,[c("div",j,[o(" 表单内嵌打开标签组件的样式 "),o(' <div v-if="explicit" class="explicit-continer">\n\t\t\t\t\t<n-tabs :value="state.labelAnchorKey" type="card" @change="labelAnchorTabsOnChange" tab-position="top">\n\t\t\t\t\t\t<template v-for="(v, i) in state.labelConfig">\n\t\t\t\t\t\t\t<n-tab-pane :name="v.curKey">\n\t\t\t\t\t\t\t\t<span slot="tab">\n\t\t\t\t\t\t\t\t\t{{ i }}\n\t\t\t\t\t\t\t\t\t<span class="edit-label-type">({{ v.multipleChoice == 2 ? \'单\' : \'多\' }}选)</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div class="explicit-label-wrap left-label-wrap">\n\t\t\t\t\t\t\t\t\t<div class="edit-label-content">\n\t\t\t\t\t\t\t\t\t\t<labelClassify\n\t\t\t\t\t\t\t\t\t\t\t:classifyItem="v"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelChange="handleLabelChange"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelColor="handleLabelColor"\n\t\t\t\t\t\t\t\t\t\t\t:handleDelLabel="handleDelLabel"\n\t\t\t\t\t\t\t\t\t\t\t:hanldeBlur="hanldeBlur"\n\t\t\t\t\t\t\t\t\t\t\t:handleAddLabel="handleAddLabel"\n\t\t\t\t\t\t\t\t\t\t\t:clearaddVal="clearaddVal"\n\t\t\t\t\t\t\t\t\t\t\t:isEdit="isEdit"\n\t\t\t\t\t\t\t\t\t\t\t:sourceType="sourceType"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</n-tab-pane>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</n-tabs>\n\t\t\t\t</div> '),o("\n\t\t\t\t\t普通标签样式\n\t\t\t\t\tv-else\n\t\t\t\t\texplicit\n\t\t\t\t "),c("div",{class:b(["left-label-wrap",{"total-left-label-wrap":t.isChangeWindow}])},[u(d(I),{"offset-target":et,type:"block",onClick:Z,onChange:tt},{default:p((()=>[(n(!0),s(f,null,h(_.labelConfig,((t,e)=>(n(),y(d(S),{href:`#${t.curKey}`,title:String(e)},null,8,["href","title"])))),256))])),_:1})],2),o(' v-if="!explicit" '),c("div",{class:b(["right-label-wrap",{"total-right-label-wrap":t.isChangeWindow}])},[(n(!0),s(f,null,h(_.labelConfig,((e,l)=>(n(),s("div",{key:l,class:"edit-label-content"},[c("div",{class:"edit-label",id:e.curKey},[v(m(l)+" ",1),c("span",T,"("+m(2==e.multipleChoice?"单":"多")+"选)",1)],8,k),u(E,{classifyItem:e,handleLabelChange:U,handleLabelColor:d(w),handleDelLabel:X,hanldeBlur:H,handleAddLabel:G,clearaddVal:M,isEdit:t.isEdit,sourceType:t.sourceType},null,8,["classifyItem","handleLabelColor","isEdit","sourceType"])])))),128))],2)])],512),[[g,!d(W)]])],512))}});export{B as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,inject as t,computed as a,watch as i,openBlock as o,createBlock as n,unref as s,normalizeClass as d,withCtx as r,createVNode as u,normalizeStyle as c,createElementVNode as m,createTextVNode as h,renderSlot as p,isRef as f,toDisplayString as v,h as g}from"vue";import{useMessage as b,NModal as x,NCard as w,NButton as L,NCheckbox as y,NSelect as F,NCheckboxGroup as k,NPopover as I,NPopconfirm as A,NIcon as N}from"naive-ui";import{Trash as C}from"@vicons/ionicons5";import{InjectionExportApiConfig as _}from"../constants/index.js";import P from"../../../../shared/components/VueDraggable/src/vuedraggable.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as z}from"../tool.js";import{cloneDeep as E}from"lodash-es";const j={class:"svg-wrap"},H={class:"flex_right"},O=m("div",{class:"tip"},"提示:支持拖动调整字段顺序,字段导出顺序为从左到右,从上到下。",-1),$={class:"flex_between"},T=["title"];var U=e({__name:"ExportModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},curProgram:{type:Object,default:()=>({})},programOptions:{type:Array,default:()=>[]},downLoadFieldList:{type:Array,default:()=>[]},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelModal","updateCurProgram","updateFieldCheckList","updateShowAllFieldList"],setup(e,{emit:U}){const K=e,M="default",D="860px",B="496px",V={class:"select-export-popover"},q=b(),{deleteTableListExportScheme:G,exportTableListScheme:J}=S(),Q=l(!1),R=l(D),W=l({maxHeight:B,height:B}),X=l(!1),Y=l(!0),Z=l([]),ee=t(_),le=a((()=>K.curProgram.schemeId));function te(){U("updateShowAllFieldList",K.showAllFieldList)}function ae({option:e}){return g("span",e.schemeName)}function ie(e){const l=[g(I,{trigger:"hover",duration:0},{default:()=>e.schemeName,trigger:()=>g("span",{class:"content"},e.schemeName)})],t=[g(A,{placement:"top-start",positiveText:"确认",negativeText:"取消",onPositiveClick:()=>function(e){const{schemeId:l}=K.curProgram;if(l===e.schemeId)return q.warning("当前正在使用该方案,请先切换其他方案再删除");!async function(e){if(!K.tableListId)return q.warning("请传入列表id");try{await G({id:K.tableListId,schemeId:e},ee)&&q.success("删除成功")}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}(e.schemeId)}(e)},{trigger:()=>g(N,{onclick:oe},{default:()=>g(C)}),default:()=>"确定删除该导出方案吗?"})],a=e.schemeId===M?[l]:[l,t];return g("div",{class:"flex-between"},a)}function oe(e){e.stopPropagation()}function ne(e){U("updateCurProgram",e)}function se(){!async function(){if(!K.tableListId)return q.warning("请传入列表id");if(Z.value.length<1)return q.warning("请至少勾选一个字段");try{const{schemeId:e}=K.curProgram,l=K.programOptions.find((l=>l.schemeId===e)),t={fieldKeys:z(K.showAllFieldList,Z.value),lastUsedSchemeName:l?l.schemeName:"",schemeId:l?l.schemeId:"",schemeName:l?l.schemeName:"",tableListId:K.tableListId};await J(t,ee)&&(q.success("导出成功"),re())}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}()}function de(e){var l,t,a;Y.value=!1,Z.value=e?(null==(l=K.showAllFieldList)?void 0:l.map((e=>e.columnName)))||[]:(null==(a=null==(t=K.showAllFieldList)?void 0:t.filter((e=>e.fixedExport)))?void 0:a.map((e=>e.columnName)))||[]}function re(){U("cancelModal"),R.value=D,W.value={height:B,maxHeight:B},Q.value=!1}function ue(){Q.value=!Q.value;let e=document.body.clientHeight;R.value===D?(R.value="100%",W.value.maxHeight=`${e}px`,W.value.height=`${e}px`):(R.value=D,W.value.maxHeight=B,W.value.height=B)}return i((()=>Z.value),(e=>{K.showAllFieldList.length>0&&(Y.value=e.length>0&&e.length<K.showAllFieldList.length,X.value=e.length===K.showAllFieldList.length,U("updateFieldCheckList",e))}),{immediate:!0}),i((()=>K.curProgram),(e=>{e&&function(e){const l=K.programOptions.find((l=>l.schemeId===e));if(l){let t=[];const a=K.downLoadFieldList.filter((e=>e.fixedExport)).map((e=>e.columnName)),i=l.fieldKeys.filter((e=>!a.includes(e)));if(Z.value=[...i,...a],e===M){const e=E(K.downLoadFieldList);return void U("updateShowAllFieldList",e)}Z.value.forEach((e=>{const l=K.downLoadFieldList.find((l=>l.columnName===e));l&&t.push(l)}));const o=K.downLoadFieldList.filter((e=>!Z.value.includes(e.columnName))),n=[...t,...o];U("updateShowAllFieldList",n)}}(e.schemeId)}),{immediate:!0}),(l,t)=>(o(),n(s(x),{class:d(["table-export-field-modal",{"modal-screen":Q.value}]),show:e.visible,maskClosable:!1,width:R.value,bodyStyle:W.value,closable:!1,to:"body",centered:"",onPositiveClick:se,onNegativeClick:re},{default:r((()=>[u(s(w),{style:c({width:R.value,...W.value}),title:"选择导出字段",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":r((()=>[m("div",j,[m("i",{onClick:ue,class:d(["iconfont-table-export-field",Q.value?"icon-table-export-field-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-export-field-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),m("i",{onClick:re,class:"iconfont-table-export-field icon-table-export-field-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:r((()=>[m("div",H,[u(s(L),{onClick:re},{default:r((()=>[h("取消")])),_:1}),p(l.$slots,"add"),u(s(L),{type:"info",onClick:se},{default:r((()=>[h("导出")])),_:1})])])),default:r((()=>[O,m("header",$,[u(s(y),{checked:X.value,"onUpdate:checked":[t[0]||(t[0]=e=>X.value=e),de],indeterminate:Y.value},{default:r((()=>[h(" 全选 ")])),_:1},8,["checked","indeterminate"]),u(s(F),{style:{width:"200px"},value:s(le),"onUpdate:value":[t[1]||(t[1]=e=>f(le)?le.value=e:null),ne],filterable:"","label-field":"schemeName","value-field":"schemeId","show-checkmark":!1,"render-label":ie,"render-tag":ae,"menu-props":V,options:e.programOptions},null,8,["value","options"])]),u(s(k),{value:Z.value,"onUpdate:value":t[2]||(t[2]=e=>Z.value=e)},{default:r((()=>[u(s(P),{class:"draggable-checkbox-list",list:e.showAllFieldList,animation:"300",itemKey:"columnName",onEnd:te},{item:r((({element:e})=>{var l;return[u(s(y),{disabled:e.fixedExport,class:d(Z.value.includes(e.columnName)?"":"checkbox-disabled"),value:e.columnName,label:null!=(l=e.alias)?l:e.title},{default:r((()=>{var l,t;return[m("span",{title:null!=(l=e.alias)?l:e.title},v(null!=(t=e.alias)?t:e.title),9,T)]})),_:2},1032,["disabled","class","value","label"])]})),_:1},8,["list"])])),_:1},8,["value"])])),_:3},8,["style"])])),_:3},8,["class","show","width","bodyStyle"]))}});export{U as default};
1
+ import{defineComponent as e,ref as l,inject as t,computed as a,watch as i,openBlock as o,createBlock as n,unref as s,normalizeClass as d,withCtx as r,createVNode as u,normalizeStyle as c,createElementVNode as m,createTextVNode as h,renderSlot as p,isRef as f,toDisplayString as v,h as g}from"vue";import{useMessage as b,NModal as x,NCard as w,NButton as L,NCheckbox as y,NSelect as F,NCheckboxGroup as k,NPopover as I,NPopconfirm as A,NIcon as N}from"naive-ui";import{Trash as C}from"@vicons/ionicons5";import{InjectionExportApiConfig as _}from"../constants/index.js";import P from"../../../../shared/components/VueDraggable/src/vuedraggable.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as z}from"../tool.js";import{cloneDeep as E}from"lodash-es";const j={class:"svg-wrap"},H={class:"flex_right"},O=m("div",{class:"tip"},"提示:支持拖动调整字段顺序,字段导出顺序为从左到右,从上到下。",-1),$={class:"flex_between"},T=["title"];var U=e({__name:"ExportModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},curProgram:{type:Object,default:()=>({})},programOptions:{type:Array,default:()=>[]},downLoadFieldList:{type:Array,default:()=>[]},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelModal","updateCurProgram","updateFieldCheckList","updateShowAllFieldList"],setup(e,{emit:U}){const K=e,M="default",D="860px",B="496px",V={class:"select-export-popover"},q=b(),{deleteTableListExportScheme:G,exportTableListScheme:J}=S(),Q=l(!1),R=l(D),W=l({maxHeight:B,height:B}),X=l(!1),Y=l(!0),Z=l([]),ee=t(_),le=a((()=>K.curProgram.schemeId));function te(){U("updateShowAllFieldList",K.showAllFieldList)}function ae({option:e}){return g("span",e.schemeName)}function ie(e){const l=[g(I,{trigger:"hover",duration:0},{default:()=>e.schemeName,trigger:()=>g("span",{class:"content"},e.schemeName)})],t=[g(A,{placement:"top-start",positiveText:"确认",negativeText:"取消",onPositiveClick:()=>function(e){const{schemeId:l}=K.curProgram;if(l===e.schemeId)return q.warning("当前正在使用该方案,请先切换其他方案再删除");!async function(e){if(!K.tableListId)return q.warning("请传入列表id");try{await G({id:K.tableListId,schemeId:e},ee)&&q.success("删除成功")}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}(e.schemeId)}(e)},{trigger:()=>g(N,{onclick:oe},{default:()=>g(C)}),default:()=>"确定删除该导出方案吗?"})],a=e.schemeId===M?[l]:[l,t];return g("div",{class:"flex-between"},a)}function oe(e){e.stopPropagation()}function ne(e){U("updateCurProgram",e)}function se(){!async function(){if(!K.tableListId)return q.warning("请传入列表id");if(Z.value.length<1)return q.warning("请至少勾选一个字段");try{const{schemeId:e}=K.curProgram,l=K.programOptions.find((l=>l.schemeId===e)),t={fieldKeys:z(K.showAllFieldList,Z.value),lastUsedSchemeName:l?l.schemeName:"",schemeId:l?l.schemeId:"",schemeName:l?l.schemeName:"",tableListId:K.tableListId};await J(t,ee)&&(q.success("导出成功"),re())}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}()}function de(e){var l,t,a;Y.value=!1,Z.value=e?(null==(l=K.showAllFieldList)?void 0:l.map((e=>e.columnName)))||[]:(null==(a=null==(t=K.showAllFieldList)?void 0:t.filter((e=>e.fixedExport)))?void 0:a.map((e=>e.columnName)))||[]}function re(){U("cancelModal"),R.value=D,W.value={height:B,maxHeight:B},Q.value=!1}function ue(){Q.value=!Q.value;let e=document.body.clientHeight;R.value===D?(R.value="100%",W.value.maxHeight=`${e}px`,W.value.height=`${e}px`):(R.value=D,W.value.maxHeight=B,W.value.height=B)}return i((()=>Z.value),(e=>{K.showAllFieldList.length>0&&(Y.value=e.length>0&&e.length<K.showAllFieldList.length,X.value=e.length===K.showAllFieldList.length,U("updateFieldCheckList",e))}),{immediate:!0}),i((()=>K.curProgram),(e=>{e&&function(e){const l=K.programOptions.find((l=>l.schemeId===e));if(l){let t=[];const a=K.downLoadFieldList.filter((e=>e.fixedExport)).map((e=>e.columnName)),i=l.fieldKeys.filter((e=>!a.includes(e)));if(Z.value=[...i,...a],e===M){const e=E(K.downLoadFieldList);return void U("updateShowAllFieldList",e)}Z.value.forEach((e=>{const l=K.downLoadFieldList.find((l=>l.columnName===e));l&&t.push(l)}));const o=K.downLoadFieldList.filter((e=>!Z.value.includes(e.columnName))),n=[...t,...o];U("updateShowAllFieldList",n)}}(e.schemeId)}),{immediate:!0}),(l,t)=>(o(),n(s(x),{class:d(["table-export-field-modal",{"modal-screen":Q.value}]),show:e.visible,maskClosable:!1,width:R.value,bodyStyle:W.value,closable:!1,centered:"",onPositiveClick:se,onNegativeClick:re},{default:r((()=>[u(s(w),{style:c({width:R.value,...W.value}),title:"选择导出字段",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":r((()=>[m("div",j,[m("i",{onClick:ue,class:d(["iconfont-table-export-field",Q.value?"icon-table-export-field-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-export-field-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),m("i",{onClick:re,class:"iconfont-table-export-field icon-table-export-field-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:r((()=>[m("div",H,[u(s(L),{onClick:re},{default:r((()=>[h("取消")])),_:1}),p(l.$slots,"add"),u(s(L),{type:"info",onClick:se},{default:r((()=>[h("导出")])),_:1})])])),default:r((()=>[O,m("header",$,[u(s(y),{checked:X.value,"onUpdate:checked":[t[0]||(t[0]=e=>X.value=e),de],indeterminate:Y.value},{default:r((()=>[h(" 全选 ")])),_:1},8,["checked","indeterminate"]),u(s(F),{style:{width:"200px"},value:s(le),"onUpdate:value":[t[1]||(t[1]=e=>f(le)?le.value=e:null),ne],filterable:"","label-field":"schemeName","value-field":"schemeId","show-checkmark":!1,"render-label":ie,"render-tag":ae,"menu-props":V,options:e.programOptions},null,8,["value","options"])]),u(s(k),{value:Z.value,"onUpdate:value":t[2]||(t[2]=e=>Z.value=e)},{default:r((()=>[u(s(P),{class:"draggable-checkbox-list",list:e.showAllFieldList,animation:"300",itemKey:"columnName",onEnd:te},{item:r((({element:e})=>{var l;return[u(s(y),{disabled:e.fixedExport,class:d(Z.value.includes(e.columnName)?"":"checkbox-disabled"),value:e.columnName,label:null!=(l=e.alias)?l:e.title},{default:r((()=>{var l,t;return[m("span",{title:null!=(l=e.alias)?l:e.title},v(null!=(t=e.alias)?t:e.title),9,T)]})),_:2},1032,["disabled","class","value","label"])]})),_:1},8,["list"])])),_:1},8,["value"])])),_:3},8,["style"])])),_:3},8,["class","show","width","bodyStyle"]))}});export{U as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as a,reactive as t,inject as l,watch as o,openBlock as r,createBlock as i,unref as s,withCtx as c,createVNode as u,createElementVNode as m,createTextVNode as d,createElementBlock as n,Fragment as p,renderList as v,toDisplayString as f}from"vue";import{useMessage as h,NModal as j,NCard as g,NIcon as b,NButton as y,NRadioGroup as N,NRadio as P,NForm as _,NFormItem as x,NInput as k}from"naive-ui";import{CloseOutline as w}from"@vicons/ionicons5";import{InjectionExportApiConfig as I}from"../constants/index.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as C}from"../tool.js";import{cloneDeep as L}from"lodash-es";const A={class:"svg-wrap"},M={class:"flex_right"},O={class:"save-project-content"};var U=e({__name:"SaveProjectModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},programOptions:{type:Array,default:()=>[]},curProgram:{type:Object,default:()=>({})},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveModal"],setup(e,{emit:U}){const z=e,F=h(),{saveTableListExportScheme:K}=S(),q={projectName:{required:!0,message:"请输入方案名称",trigger:["input","blur"]}},B=[{value:"updateProject",label:"更新方案"},{value:"addProject",label:"新增方案"}],D=a(null),E=t({projectName:""}),R=a(),T=a([]),$=l(I);function G(e){R.value=e}function H(){var e;null==(e=D.value)||e.validate((async e=>{if(e)return;if(function(){const e=E.projectName.trim();let a=[];if("addProject"===R.value&&(a=z.programOptions.map((e=>e.schemeName))),"updateProject"===R.value){const{schemeName:e}=z.curProgram;a=z.programOptions.filter((a=>a.schemeName!==e)).map((e=>e.schemeName))}return!!a.includes(e)&&(F.warning(`已存在${e}的方案名称`),!0)}())return;const a=function(){const e=E.projectName.trim(),{fieldKeys:a,schemeId:t}=z.curProgram;let l={fieldKeys:C(z.showAllFieldList,a),lastUsedSchemeName:e,schemeId:"",schemeName:e,tableListId:z.tableListId};return"updateProject"===R.value&&(l.schemeId=t),l}();await K(a,$)&&(F.success("保存并导出成功"),U("cancelSaveModal"))}))}function J(){U("cancelSaveModal")}return o((()=>z.curProgram),(async e=>{if("default"===e.schemeId)T.value=B.filter((e=>"addProject"===e.value)),R.value="addProject",E.projectName="";else T.value=L(B),R.value="updateProject",E.projectName=e.schemeName}),{immediate:!0,deep:!0}),(a,t)=>(r(),i(s(j),{class:"table-export-field-modal",to:"body",show:e.visible,maskClosable:!1,"positive-text":"确认","negative-text":"取消",onPositiveClick:H,onNegativeClick:J},{default:c((()=>[u(s(g),{title:"导出并存为方案",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[m("div",A,[u(s(b),{component:s(w),size:"24",onClick:J},null,8,["component"])])])),footer:c((()=>[m("div",M,[u(s(y),{onClick:J},{default:c((()=>[d("取消")])),_:1}),u(s(y),{type:"info",onClick:H},{default:c((()=>[d("确认")])),_:1})])])),default:c((()=>[m("div",O,[u(s(N),{value:R.value,"onUpdate:value":[t[0]||(t[0]=e=>R.value=e),G],name:"radiogroup"},{default:c((()=>[(r(!0),n(p,null,v(T.value,(e=>(r(),i(s(P),{key:e.value,value:e.value},{default:c((()=>[d(f(e.label),1)])),_:2},1032,["value"])))),128))])),_:1},8,["value"]),u(s(_),{ref_key:"formRef",ref:D,"label-placement":"left",rules:q,model:E},{default:c((()=>[u(s(x),{label:"方案名称",path:"projectName"},{default:c((()=>[u(s(k),{value:E.projectName,"onUpdate:value":t[1]||(t[1]=e=>E.projectName=e),placeholder:"请输入方案名称",clearable:"",maxlength:"100"},null,8,["value"])])),_:1})])),_:1},8,["model"])])])),_:1})])),_:1},8,["show"]))}});export{U as default};
1
+ import{defineComponent as e,ref as a,reactive as t,inject as l,watch as o,openBlock as r,createBlock as i,unref as s,withCtx as c,createVNode as u,createElementVNode as m,createTextVNode as d,createElementBlock as n,Fragment as p,renderList as v,toDisplayString as f}from"vue";import{useMessage as h,NModal as j,NCard as g,NIcon as b,NButton as N,NRadioGroup as y,NRadio as P,NForm as _,NFormItem as x,NInput as k}from"naive-ui";import{CloseOutline as w}from"@vicons/ionicons5";import{InjectionExportApiConfig as I}from"../constants/index.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as C}from"../tool.js";import{cloneDeep as L}from"lodash-es";const A={class:"svg-wrap"},M={class:"flex_right"},O={class:"save-project-content"};var U=e({__name:"SaveProjectModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},programOptions:{type:Array,default:()=>[]},curProgram:{type:Object,default:()=>({})},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveModal"],setup(e,{emit:U}){const z=e,F=h(),{saveTableListExportScheme:K}=S(),q={projectName:{required:!0,message:"请输入方案名称",trigger:["input","blur"]}},B=[{value:"updateProject",label:"更新方案"},{value:"addProject",label:"新增方案"}],D=a(null),E=t({projectName:""}),R=a(),T=a([]),$=l(I);function G(e){R.value=e}function H(){var e;null==(e=D.value)||e.validate((async e=>{if(e)return;if(function(){const e=E.projectName.trim();let a=[];if("addProject"===R.value&&(a=z.programOptions.map((e=>e.schemeName))),"updateProject"===R.value){const{schemeName:e}=z.curProgram;a=z.programOptions.filter((a=>a.schemeName!==e)).map((e=>e.schemeName))}return!!a.includes(e)&&(F.warning(`已存在${e}的方案名称`),!0)}())return;const a=function(){const e=E.projectName.trim(),{fieldKeys:a,schemeId:t}=z.curProgram;let l={fieldKeys:C(z.showAllFieldList,a),lastUsedSchemeName:e,schemeId:"",schemeName:e,tableListId:z.tableListId};return"updateProject"===R.value&&(l.schemeId=t),l}();await K(a,$)&&(F.success("保存并导出成功"),U("cancelSaveModal"))}))}function J(){U("cancelSaveModal")}return o((()=>z.curProgram),(async e=>{if("default"===e.schemeId)T.value=B.filter((e=>"addProject"===e.value)),R.value="addProject",E.projectName="";else T.value=L(B),R.value="updateProject",E.projectName=e.schemeName}),{immediate:!0,deep:!0}),(a,t)=>(r(),i(s(j),{class:"table-export-field-modal",show:e.visible,maskClosable:!1,"positive-text":"确认","negative-text":"取消",onPositiveClick:H,onNegativeClick:J},{default:c((()=>[u(s(g),{title:"导出并存为方案",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[m("div",A,[u(s(b),{component:s(w),size:"24",onClick:J},null,8,["component"])])])),footer:c((()=>[m("div",M,[u(s(N),{onClick:J},{default:c((()=>[d("取消")])),_:1}),u(s(N),{type:"info",onClick:H},{default:c((()=>[d("确认")])),_:1})])])),default:c((()=>[m("div",O,[u(s(y),{value:R.value,"onUpdate:value":[t[0]||(t[0]=e=>R.value=e),G],name:"radiogroup"},{default:c((()=>[(r(!0),n(p,null,v(T.value,(e=>(r(),i(s(P),{key:e.value,value:e.value},{default:c((()=>[d(f(e.label),1)])),_:2},1032,["value"])))),128))])),_:1},8,["value"]),u(s(_),{ref_key:"formRef",ref:D,"label-placement":"left",rules:q,model:E},{default:c((()=>[u(s(x),{label:"方案名称",path:"projectName"},{default:c((()=>[u(s(k),{value:E.projectName,"onUpdate:value":t[1]||(t[1]=e=>E.projectName=e),placeholder:"请输入方案名称",clearable:"",maxlength:"100"},null,8,["value"])])),_:1})])),_:1},8,["model"])])])),_:1})])),_:1},8,["show"]))}});export{U as default};