@wuxiaolins/form 0.0.10

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 (118) hide show
  1. package/README.md +297 -0
  2. package/dist/es/_virtual/_plugin-vue_export-helper.js +1 -0
  3. package/dist/es/assets/UserAvatar.vue_vue_type_style_index_0_scoped_1f5ca2f1_lang-c84fa0dd.css +1 -0
  4. package/dist/es/assets/UserSelector.vue_vue_type_style_index_0_scoped_d1da15a2_lang-10fe93cf.css +1 -0
  5. package/dist/es/assets/UserSelector.vue_vue_type_style_index_0_scoped_e5931f05_lang-cc9e9617.css +1 -0
  6. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_20d7bb32_lang-1a84b608.css +1 -0
  7. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_2decce67_lang-3aa03f71.css +1 -0
  8. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_3bc314b8_lang-55157ef2.css +1 -0
  9. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_67c7d6a5_lang-8a12956d.css +1 -0
  10. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_95db6420_lang-9bcc3df8.css +1 -0
  11. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_b4ba048a_lang-d7e21de3.css +1 -0
  12. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_ceac5a29_lang-44bd119a.css +1 -0
  13. package/dist/es/assets/index.vue_vue_type_style_index_0_scoped_ef6eae82_lang-68f222b0.css +1 -0
  14. package/dist/es/assets/index.vue_vue_type_style_index_1_lang-14e3eb9c.css +1 -0
  15. package/dist/es/form/approval-flow/UserAvatar.vue.js +1 -0
  16. package/dist/es/form/approval-flow/UserAvatar.vue2.js +1 -0
  17. package/dist/es/form/approval-flow/UserSelector.vue.js +1 -0
  18. package/dist/es/form/approval-flow/UserSelector.vue2.js +1 -0
  19. package/dist/es/form/approval-flow/index.js +1 -0
  20. package/dist/es/form/approval-flow/src/index.vue.js +1 -0
  21. package/dist/es/form/approval-flow/src/index.vue2.js +1 -0
  22. package/dist/es/form/checkbox-field/index.js +1 -0
  23. package/dist/es/form/checkbox-field/src/index.vue.js +1 -0
  24. package/dist/es/form/checkbox-field/src/index.vue2.js +1 -0
  25. package/dist/es/form/date-field/index.js +1 -0
  26. package/dist/es/form/date-field/src/index.vue.js +1 -0
  27. package/dist/es/form/date-field/src/index.vue2.js +1 -0
  28. package/dist/es/form/date-range-field/index.js +1 -0
  29. package/dist/es/form/date-range-field/src/index.vue.js +1 -0
  30. package/dist/es/form/date-range-field/src/index.vue2.js +1 -0
  31. package/dist/es/form/department-field/index.js +1 -0
  32. package/dist/es/form/department-field/src/index.vue.js +1 -0
  33. package/dist/es/form/department-field/src/index.vue2.js +1 -0
  34. package/dist/es/form/dingtalk-form/index.js +1 -0
  35. package/dist/es/form/dingtalk-form/src/index.vue.js +1 -0
  36. package/dist/es/form/dingtalk-form/src/index.vue2.js +1 -0
  37. package/dist/es/form/form-render/index.js +1 -0
  38. package/dist/es/form/form-render/src/index.vue.js +1 -0
  39. package/dist/es/form/form-render/src/index.vue2.js +1 -0
  40. package/dist/es/form/input/index.js +1 -0
  41. package/dist/es/form/input/src/index.vue.js +1 -0
  42. package/dist/es/form/input/src/index.vue2.js +1 -0
  43. package/dist/es/form/number-field/index.js +1 -0
  44. package/dist/es/form/number-field/src/index.vue.js +1 -0
  45. package/dist/es/form/number-field/src/index.vue2.js +1 -0
  46. package/dist/es/form/radio-field/index.js +1 -0
  47. package/dist/es/form/radio-field/src/index.vue.js +1 -0
  48. package/dist/es/form/radio-field/src/index.vue2.js +1 -0
  49. package/dist/es/form/select-field/index.js +1 -0
  50. package/dist/es/form/select-field/src/index.vue.js +1 -0
  51. package/dist/es/form/select-field/src/index.vue2.js +1 -0
  52. package/dist/es/form/signature-field/index.js +1 -0
  53. package/dist/es/form/signature-field/src/index.vue.js +1 -0
  54. package/dist/es/form/signature-field/src/index.vue2.js +1 -0
  55. package/dist/es/form/switch-field/index.js +1 -0
  56. package/dist/es/form/switch-field/src/index.vue.js +1 -0
  57. package/dist/es/form/switch-field/src/index.vue2.js +1 -0
  58. package/dist/es/form/table-field/index.js +1 -0
  59. package/dist/es/form/table-field/src/index.vue.js +1 -0
  60. package/dist/es/form/table-field/src/index.vue2.js +1 -0
  61. package/dist/es/form/text-field/index.js +1 -0
  62. package/dist/es/form/text-field/src/index.vue.js +1 -0
  63. package/dist/es/form/text-field/src/index.vue2.js +1 -0
  64. package/dist/es/form/textarea-field/index.js +1 -0
  65. package/dist/es/form/textarea-field/src/index.vue.js +1 -0
  66. package/dist/es/form/textarea-field/src/index.vue2.js +1 -0
  67. package/dist/es/form/upload-field/index.js +1 -0
  68. package/dist/es/form/upload-field/src/index.vue.js +1 -0
  69. package/dist/es/form/upload-field/src/index.vue2.js +1 -0
  70. package/dist/es/index.js +1 -0
  71. package/dist/es/utils/dingtalk-adapter.js +3 -0
  72. package/dist/index.es.js +2431 -0
  73. package/dist/index.umd.js +3 -0
  74. package/dist/style.css +1 -0
  75. package/dist/types/form/approval-flow/index.d.ts +4 -0
  76. package/dist/types/form/approval-flow/index.d.ts.map +1 -0
  77. package/dist/types/form/approval-flow/types.d.ts +17 -0
  78. package/dist/types/form/approval-flow/types.d.ts.map +1 -0
  79. package/dist/types/form/checkbox-field/index.d.ts +2 -0
  80. package/dist/types/form/checkbox-field/index.d.ts.map +1 -0
  81. package/dist/types/form/date-field/index.d.ts +2 -0
  82. package/dist/types/form/date-field/index.d.ts.map +1 -0
  83. package/dist/types/form/date-range-field/index.d.ts +2 -0
  84. package/dist/types/form/date-range-field/index.d.ts.map +1 -0
  85. package/dist/types/form/department-field/index.d.ts +2 -0
  86. package/dist/types/form/department-field/index.d.ts.map +1 -0
  87. package/dist/types/form/dingtalk-form/index.d.ts +2 -0
  88. package/dist/types/form/dingtalk-form/index.d.ts.map +1 -0
  89. package/dist/types/form/form-render/index.d.ts +2 -0
  90. package/dist/types/form/form-render/index.d.ts.map +1 -0
  91. package/dist/types/form/input/index.d.ts +2 -0
  92. package/dist/types/form/input/index.d.ts.map +1 -0
  93. package/dist/types/form/number-field/index.d.ts +2 -0
  94. package/dist/types/form/number-field/index.d.ts.map +1 -0
  95. package/dist/types/form/radio-field/index.d.ts +2 -0
  96. package/dist/types/form/radio-field/index.d.ts.map +1 -0
  97. package/dist/types/form/select-field/index.d.ts +2 -0
  98. package/dist/types/form/select-field/index.d.ts.map +1 -0
  99. package/dist/types/form/signature-field/index.d.ts +2 -0
  100. package/dist/types/form/signature-field/index.d.ts.map +1 -0
  101. package/dist/types/form/switch-field/index.d.ts +2 -0
  102. package/dist/types/form/switch-field/index.d.ts.map +1 -0
  103. package/dist/types/form/table-field/index.d.ts +3 -0
  104. package/dist/types/form/table-field/index.d.ts.map +1 -0
  105. package/dist/types/form/text-field/index.d.ts +2 -0
  106. package/dist/types/form/text-field/index.d.ts.map +1 -0
  107. package/dist/types/form/textarea-field/index.d.ts +2 -0
  108. package/dist/types/form/textarea-field/index.d.ts.map +1 -0
  109. package/dist/types/form/upload-field/index.d.ts +2 -0
  110. package/dist/types/form/upload-field/index.d.ts.map +1 -0
  111. package/dist/types/index.d.ts +23 -0
  112. package/dist/types/index.d.ts.map +1 -0
  113. package/dist/types/types/form-types.d.ts +201 -0
  114. package/dist/types/types/form-types.d.ts.map +1 -0
  115. package/dist/types/utils/dingtalk-adapter.d.ts +359 -0
  116. package/dist/types/utils/dingtalk-adapter.d.ts.map +1 -0
  117. package/dist/uno.css +34 -0
  118. package/package.json +88 -0
@@ -0,0 +1,3 @@
1
+ (function(A,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("ant-design-vue"),require("dayjs"),require("@ant-design/icons-vue")):typeof define=="function"&&define.amd?define(["exports","vue","ant-design-vue","dayjs","@ant-design/icons-vue"],e):(A=typeof globalThis<"u"?globalThis:A||self,e(A.index={},A.Vue,A.antDesignVue,A.dayjs,A.iconsVue))})(this,function(A,e,h,z,O){"use strict";const ge=e.defineComponent({__name:"index",setup(F){return(t,i)=>(e.openBlock(),e.createElementBlock("div",null,"input"))}}),Kt="",Y=(F,t)=>{const i=F.__vccOpts||F;for(const[n,r]of t)i[n]=r;return i},be=Y(ge,[["__scopeId","data-v-20d7bb32"]]),J=e.defineComponent({__name:"index",props:{modelValue:{default:""},placeholder:{default:"请输入"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxLength:{default:void 0},showCount:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!0},size:{default:"middle"},prefix:{default:void 0},suffix:{default:void 0}},emits:["update:modelValue","change","blur","focus"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:d=>n("update:modelValue",d)}),o=d=>{const s=d.target;n("change",s.value)},l=d=>{n("blur",d)},a=d=>{n("focus",d)};return(d,s)=>(e.openBlock(),e.createBlock(e.unref(h.Input),{value:r.value,"onUpdate:value":s[0]||(s[0]=p=>r.value=p),placeholder:d.placeholder,disabled:d.disabled,readonly:d.readonly,maxlength:d.maxLength,"show-count":d.showCount,"allow-clear":d.allowClear,size:d.size,prefix:d.prefix,suffix:d.suffix,onChange:o,onBlur:l,onFocus:a},null,8,["value","placeholder","disabled","readonly","maxlength","show-count","allow-clear","size","prefix","suffix"]))}}),H=e.defineComponent({__name:"index",props:{modelValue:{default:""},placeholder:{default:"请输入"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxLength:{default:void 0},showCount:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!0},rows:{default:4},autoSize:{type:[Boolean,Object],default:!1}},emits:["update:modelValue","change","blur","focus"],setup(F,{emit:t}){const{TextArea:i}=h.Input,n=F,r=t,o=e.computed({get:()=>n.modelValue,set:s=>r("update:modelValue",s)}),l=s=>{const p=s.target;r("change",p.value)},a=s=>{r("blur",s)},d=s=>{r("focus",s)};return(s,p)=>(e.openBlock(),e.createBlock(e.unref(i),{value:o.value,"onUpdate:value":p[0]||(p[0]=V=>o.value=V),placeholder:s.placeholder,disabled:s.disabled,readonly:s.readonly,maxlength:s.maxLength,"show-count":s.showCount,"allow-clear":s.allowClear,rows:s.rows,"auto-size":s.autoSize,onChange:l,onBlur:a,onFocus:d},null,8,["value","placeholder","disabled","readonly","maxlength","show-count","allow-clear","rows","auto-size"]))}}),K=e.defineComponent({__name:"index",props:{modelValue:{default:void 0},placeholder:{default:"请输入数字"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},min:{default:void 0},max:{default:void 0},step:{default:1},precision:{default:void 0},size:{default:"middle"},controls:{type:Boolean,default:!0},formatter:{type:Function,default:void 0},parser:{type:Function,default:void 0}},emits:["update:modelValue","change","blur","focus"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:d=>n("update:modelValue",d)}),o=d=>{const s=typeof d=="string"?Number(d):d;n("change",s??void 0)},l=d=>{n("blur",d)},a=d=>{n("focus",d)};return(d,s)=>(e.openBlock(),e.createBlock(e.unref(h.InputNumber),{value:r.value,"onUpdate:value":s[0]||(s[0]=p=>r.value=p),placeholder:d.placeholder,disabled:d.disabled,readonly:d.readonly,min:d.min,max:d.max,step:d.step,precision:d.precision,size:d.size,controls:d.controls,formatter:d.formatter,parser:d.parser,style:{width:"100%"},onChange:o,onBlur:l,onFocus:a},null,8,["value","placeholder","disabled","readonly","min","max","step","precision","size","controls","formatter","parser"]))}}),X=e.defineComponent({__name:"index",props:{modelValue:{default:void 0},options:{default:()=>[]},placeholder:{default:"请选择"},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!1},mode:{default:void 0},size:{default:"middle"},maxTagCount:{default:void 0},filterOption:{type:[Boolean,Function],default:void 0}},emits:["update:modelValue","change","search"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:a=>n("update:modelValue",a)}),o=a=>{a!==void 0&&n("change",a)},l=a=>{n("search",a)};return(a,d)=>(e.openBlock(),e.createBlock(e.unref(h.Select),{value:r.value,"onUpdate:value":d[0]||(d[0]=s=>r.value=s),options:a.options,placeholder:a.placeholder,disabled:a.disabled,"allow-clear":a.allowClear,"show-search":a.showSearch,mode:a.mode,size:a.size,"max-tag-count":a.maxTagCount,"filter-option":a.filterOption,style:{width:"100%"},onChange:o,onSearch:l},null,8,["value","options","placeholder","disabled","allow-clear","show-search","mode","size","max-tag-count","filter-option"]))}}),Q=e.defineComponent({__name:"index",props:{modelValue:{default:void 0},options:{default:()=>[]},disabled:{type:Boolean,default:!1},buttonStyle:{default:"outline"},size:{default:"default"},optionType:{default:"default"}},emits:["update:modelValue","change"],setup(F,{emit:t}){const i=h.Radio.Group,n=F,r=t,o=e.computed({get:()=>n.modelValue,set:a=>{a!==void 0&&r("update:modelValue",a)}}),l=a=>{r("change",a.target.value)};return(a,d)=>(e.openBlock(),e.createBlock(e.unref(i),{value:o.value,"onUpdate:value":d[0]||(d[0]=s=>o.value=s),disabled:a.disabled,"button-style":a.buttonStyle,size:a.size,"option-type":a.optionType,options:a.options,onChange:l},null,8,["value","disabled","button-style","size","option-type","options"]))}}),Z=e.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},options:{default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(F,{emit:t}){const i=h.Checkbox.Group,n=F,r=t,o=e.computed({get:()=>n.modelValue,set:a=>r("update:modelValue",a)}),l=a=>{r("change",a)};return(a,d)=>(e.openBlock(),e.createBlock(e.unref(i),{value:o.value,"onUpdate:value":d[0]||(d[0]=s=>o.value=s),options:a.options,disabled:a.disabled,onChange:l},null,8,["value","options","disabled"]))}}),v=e.defineComponent({__name:"index",props:{modelValue:{default:void 0},placeholder:{default:"请选择日期"},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!0},format:{default:"YYYY-MM-DD"},valueFormat:{default:void 0},showTime:{type:Boolean,default:!1},showToday:{type:Boolean,default:!0},size:{default:"middle"},picker:{default:"date"},disabledDate:{type:Function,default:void 0}},emits:["update:modelValue","change","ok"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:a=>n("update:modelValue",a)}),o=a=>{n("change",a??void 0)},l=a=>{n("ok",a)};return(a,d)=>{var s;return e.openBlock(),e.createBlock(e.unref(h.DatePicker),{value:r.value,"onUpdate:value":d[0]||(d[0]=p=>r.value=p),placeholder:a.placeholder,disabled:a.disabled,"allow-clear":a.allowClear,format:(s=a.format)==null?void 0:s.toUpperCase(),"value-format":a.valueFormat,"show-time":a.showTime,"show-today":a.showToday,size:a.size,picker:a.picker,"disabled-date":a.disabledDate,style:{width:"100%"},onChange:o,onOk:l},null,8,["value","placeholder","disabled","allow-clear","format","value-format","show-time","show-today","size","picker","disabled-date"])}}}),ke={key:0,class:"date-range-field-mobile"},Ce={class:"date-field-wrapper"},we={class:"date-field-label"},Be={class:"date-field-separator"},Fe={class:"date-field-wrapper"},Ne={class:"date-field-label"},Ve=e.defineComponent({__name:"index",props:{modelValue:{default:void 0},placeholder:{default:()=>["开始日期","结束日期"]},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!0},format:{default:"YYYY-MM-DD"},valueFormat:{default:void 0},showTime:{type:Boolean,default:!1},size:{default:"middle"},picker:{default:"date"},disabledDate:{type:Function,default:void 0},separator:{default:"~"},mobileMode:{type:Boolean,default:void 0},mobileBreakpoint:{default:768}},emits:["update:modelValue","change","ok"],setup(F,{emit:t}){const i=F,n=t,r=e.ref(!1),o=e.ref(0),l=e.ref(),a=e.ref(),d=()=>{o.value=window.innerWidth,r.value=o.value<i.mobileBreakpoint},s=e.computed(()=>i.mobileMode!==void 0?i.mobileMode:r.value),p=e.computed({get:()=>i.modelValue,set:u=>n("update:modelValue",u)});e.watch(()=>i.modelValue,u=>{u&&Array.isArray(u)&&u.length===2?(l.value=u[0],a.value=u[1]):(l.value=void 0,a.value=void 0)},{immediate:!0});const V=u=>{l.value=u?z.isDayjs(u)?u:z(u):void 0,y()},g=u=>{a.value=u?z.isDayjs(u)?u:z(u):void 0,y()},y=()=>{if(l.value&&a.value){const u=[l.value,a.value];n("update:modelValue",u),n("change",u)}else!l.value&&!a.value&&(n("update:modelValue",void 0),n("change",void 0))},T=u=>{n("change",u??void 0)},b=u=>{n("ok",u)},$=u=>i.disabledDate&&i.disabledDate(u)?!0:a.value?u.isAfter(a.value,"day"):!1,D=u=>i.disabledDate&&i.disabledDate(u)?!0:l.value?u.isBefore(l.value,"day"):!1;return e.onMounted(()=>{d(),window.addEventListener("resize",d)}),e.onUnmounted(()=>{window.removeEventListener("resize",d)}),(u,R)=>s.value?(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",Ce,[e.createElementVNode("label",we,e.toDisplayString(u.placeholder[0]),1),e.createVNode(e.unref(h.DatePicker),{value:l.value,"onUpdate:value":R[0]||(R[0]=I=>l.value=I),placeholder:u.placeholder[0],disabled:u.disabled,"allow-clear":u.allowClear,format:u.format,"value-format":u.valueFormat,"show-time":u.showTime,size:u.size,picker:u.picker,"disabled-date":$,style:{width:"100%"},onChange:V},null,8,["value","placeholder","disabled","allow-clear","format","value-format","show-time","size","picker"])]),e.createElementVNode("div",Be,[e.createElementVNode("span",null,e.toDisplayString(u.separator),1)]),e.createElementVNode("div",Fe,[e.createElementVNode("label",Ne,e.toDisplayString(u.placeholder[1]),1),e.createVNode(e.unref(h.DatePicker),{value:a.value,"onUpdate:value":R[1]||(R[1]=I=>a.value=I),placeholder:u.placeholder[1],disabled:u.disabled,"allow-clear":u.allowClear,format:u.format,"value-format":u.valueFormat,"show-time":u.showTime,size:u.size,picker:u.picker,"disabled-date":D,style:{width:"100%"},onChange:g},null,8,["value","placeholder","disabled","allow-clear","format","value-format","show-time","size","picker"])])])):(e.openBlock(),e.createBlock(e.unref(h.RangePicker),{key:1,value:p.value,"onUpdate:value":R[2]||(R[2]=I=>p.value=I),placeholder:u.placeholder,disabled:u.disabled,"allow-clear":u.allowClear,format:u.format,"value-format":u.valueFormat,"show-time":u.showTime,size:u.size,picker:u.picker,"disabled-date":u.disabledDate,separator:u.separator,style:{width:"100%"},onChange:T,onOk:b},null,8,["value","placeholder","disabled","allow-clear","format","value-format","show-time","size","picker","disabled-date","separator"]))}}),Xt="",ee=Y(Ve,[["__scopeId","data-v-67c7d6a5"]]),te=e.defineComponent({__name:"index",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},size:{default:"default"},checkedChildren:{default:void 0},unCheckedChildren:{default:void 0},checkedValue:{type:[Boolean,String,Number],default:!0},unCheckedValue:{type:[Boolean,String,Number],default:!1}},emits:["update:modelValue","change"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:l=>n("update:modelValue",l)}),o=l=>{const a=l?i.checkedValue:i.unCheckedValue;n("change",a)};return(l,a)=>(e.openBlock(),e.createBlock(e.unref(h.Switch),{checked:r.value,"onUpdate:checked":a[0]||(a[0]=d=>r.value=d),disabled:l.disabled,loading:l.loading,size:l.size,"checked-children":l.checkedChildren,"un-checked-children":l.unCheckedChildren,"checked-value":l.checkedValue,"un-checked-value":l.unCheckedValue,onChange:o},null,8,["checked","disabled","loading","size","checked-children","un-checked-children","checked-value","un-checked-value"]))}}),Se={key:1},_e={style:{"margin-top":"8px"}},le=e.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},action:{default:"/upload"},accept:{default:void 0},multiple:{type:Boolean,default:!1},maxCount:{default:1},maxSize:{default:10},disabled:{type:Boolean,default:!1},listType:{default:"text"},buttonText:{default:"上传文件"},headers:{default:void 0},data:{type:[Object,Function],default:void 0}},emits:["update:modelValue","change","success","error"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:s=>n("update:modelValue",s)}),o=({fileList:s})=>{r.value=s,n("change",s)},l=s=>s.size/1024/1024<i.maxSize?!0:(h.message.error(`文件大小不能超过 ${i.maxSize}MB`),!1),a=(s,p)=>{n("success",p,s)},d=(s,p)=>{n("error",p,s),h.message.error(`${p.name} 上传失败`)};return(s,p)=>(e.openBlock(),e.createBlock(e.unref(h.Upload),{"file-list":r.value,"onUpdate:fileList":p[0]||(p[0]=V=>r.value=V),action:s.action,accept:s.accept,multiple:s.multiple,"max-count":s.maxCount,disabled:s.disabled,"list-type":s.listType,headers:s.headers,data:s.data,"before-upload":l,onChange:o,onSuccess:a,onError:d},{default:e.withCtx(()=>[s.listType!=="picture-card"?(e.openBlock(),e.createBlock(e.unref(h.Button),{key:0,disabled:s.disabled},{default:e.withCtx(()=>[e.createVNode(e.unref(O.UploadOutlined)),e.createTextVNode(" "+e.toDisplayString(s.buttonText),1)]),_:1},8,["disabled"])):(e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(e.unref(O.UploadOutlined)),e.createElementVNode("div",_e,e.toDisplayString(s.buttonText),1)]))]),_:1},8,["file-list","action","accept","multiple","max-count","disabled","list-type","headers","data"]))}}),ae=e.defineComponent({__name:"index",props:{modelValue:{default:void 0},placeholder:{default:"请选择部门"},disabled:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},treeDefaultExpandAll:{type:Boolean,default:!1},treeNodeFilterProp:{default:"label"},mode:{default:void 0},apiUrl:{default:"/api/dingtalk/departments"},useTreeSelect:{type:Boolean,default:!0}},emits:["update:modelValue","change","search"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:p=>n("update:modelValue",p)}),o=e.ref([{value:1,label:"技术部",children:[{value:11,label:"技术部A"},{value:12,label:"技术部B"}]},{value:2,label:"产品部"}]),l=e.ref(!1),a=async()=>{},d=p=>{n("change",p)},s=p=>{n("search",p)};return e.watch(()=>i.apiUrl,()=>{a()}),e.onMounted(()=>{a()}),(p,V)=>(e.openBlock(),e.createBlock(e.unref(h.TreeSelect),{value:r.value,"onUpdate:value":V[0]||(V[0]=g=>r.value=g),"tree-data":o.value,placeholder:p.placeholder,disabled:p.disabled,"allow-clear":p.allowClear,"show-search":p.showSearch,"tree-default-expand-all":p.treeDefaultExpandAll,"tree-node-filter-prop":p.treeNodeFilterProp,loading:l.value,multiple:p.mode==="multiple","tree-checkable":p.mode==="multiple",style:{width:"100%"},onChange:d,onSearch:s},null,8,["value","tree-data","placeholder","disabled","allow-clear","show-search","tree-default-expand-all","tree-node-filter-prop","loading","multiple","tree-checkable"]))}}),Ee={class:"bsy-signature-field"},Te={key:0,class:"signature-preview"},Ae=["src"],$e={key:0,class:"signature-actions"},De={class:"signature-modal-content"},Ue={class:"canvas-container"},Re=["width","height"],xe={class:"signature-modal-actions"},ze=e.defineComponent({__name:"index",props:{modelValue:{default:void 0},placeholder:{default:"点击签名"},disabled:{type:Boolean,default:!1},width:{default:400},height:{default:200},lineWidth:{default:2},lineColor:{default:"#000000"},backgroundColor:{default:"#ffffff"}},emits:["update:modelValue","change"],setup(F,{emit:t}){const i=F,n=t,r=e.computed({get:()=>i.modelValue,set:N=>n("update:modelValue",N)}),o=e.ref(),l=e.ref(!1),a=e.ref(!1),d=e.ref(!1);let s=null,p=0,V=0;const g=()=>{o.value&&(s=o.value.getContext("2d"),s&&(s.fillStyle=i.backgroundColor,s.fillRect(0,0,i.width,i.height),s.strokeStyle=i.lineColor,s.lineWidth=i.lineWidth,s.lineCap="round",s.lineJoin="round"))},y=N=>{var k;if(i.disabled)return;a.value=!0,d.value=!0;const m=(k=o.value)==null?void 0:k.getBoundingClientRect();if(m)if(N instanceof MouseEvent)p=N.clientX-m.left,V=N.clientY-m.top;else{const S=N.touches[0];p=S.clientX-m.left,V=S.clientY-m.top}},T=N=>{var U;if(!a.value||!s)return;const m=(U=o.value)==null?void 0:U.getBoundingClientRect();if(!m)return;let k=0,S=0;if(N instanceof MouseEvent)k=N.clientX-m.left,S=N.clientY-m.top;else{N.preventDefault();const L=N.touches[0];k=L.clientX-m.left,S=L.clientY-m.top}s.beginPath(),s.moveTo(p,V),s.lineTo(k,S),s.stroke(),p=k,V=S},b=()=>{a.value=!1},$=()=>{s&&(s.fillStyle=i.backgroundColor,s.fillRect(0,0,i.width,i.height),d.value=!1)},D=()=>{if(!d.value){h.message.warning("请先签名");return}if(o.value)try{const N=o.value.toDataURL("image/png");r.value=N,n("change",N),l.value=!1,h.message.success("签名保存成功")}catch(N){console.error("保存签名失败:",N),h.message.error("保存签名失败")}},u=()=>{i.disabled||(l.value=!0,setTimeout(()=>{g(),r.value&&R(r.value)},100))},R=N=>{if(!s||!o.value)return;const m=new Image;m.onload=()=>{s.drawImage(m,0,0),d.value=!0},m.src=N},I=()=>{r.value=void 0,n("change",void 0),h.message.success("签名已删除")};return e.watch(l,N=>{N||(a.value=!1)}),(N,m)=>(e.openBlock(),e.createElementBlock("div",Ee,[r.value?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("img",{src:r.value,alt:"签名",class:"signature-image"},null,8,Ae),N.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(e.unref(h.Button),{type:"link",size:"small",onClick:u},{icon:e.withCtx(()=>[e.createVNode(e.unref(O.EditOutlined))]),default:e.withCtx(()=>[m[2]||(m[2]=e.createTextVNode(" 重新签名 "))]),_:1,__:[2]}),e.createVNode(e.unref(h.Button),{type:"link",danger:"",size:"small",onClick:I},{icon:e.withCtx(()=>[e.createVNode(e.unref(O.DeleteOutlined))]),default:e.withCtx(()=>[m[3]||(m[3]=e.createTextVNode(" 删除 "))]),_:1,__:[3]})]))])):(e.openBlock(),e.createBlock(e.unref(h.Button),{key:1,type:"dashed",block:"",disabled:N.disabled,onClick:u},{icon:e.withCtx(()=>[e.createVNode(e.unref(O.EditOutlined))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(N.placeholder),1)]),_:1},8,["disabled"])),e.createVNode(e.unref(h.Modal),{open:l.value,"onUpdate:open":m[1]||(m[1]=k=>l.value=k),title:"手写签名",width:i.width+80,footer:null,"mask-closable":!1},{default:e.withCtx(()=>[e.createElementVNode("div",De,[e.createElementVNode("div",Ue,[e.createElementVNode("canvas",{ref_key:"canvasRef",ref:o,width:i.width,height:i.height,class:"signature-canvas",onMousedown:y,onMousemove:T,onMouseup:b,onMouseleave:b,onTouchstart:y,onTouchmove:T,onTouchend:b},null,40,Re)]),e.createElementVNode("div",xe,[e.createVNode(e.unref(h.Space),null,{default:e.withCtx(()=>[e.createVNode(e.unref(h.Button),{type:"primary",danger:"",onClick:$},{default:e.withCtx(()=>m[4]||(m[4]=[e.createTextVNode("清空")])),_:1,__:[4]}),e.createVNode(e.unref(h.Button),{onClick:m[0]||(m[0]=k=>l.value=!1)},{default:e.withCtx(()=>m[5]||(m[5]=[e.createTextVNode(" 取消 ")])),_:1,__:[5]}),e.createVNode(e.unref(h.Button),{type:"primary",onClick:D},{default:e.withCtx(()=>m[6]||(m[6]=[e.createTextVNode(" 保存 ")])),_:1,__:[6]})]),_:1})])])]),_:1},8,["open","width"])]))}}),Qt="",oe=Y(ze,[["__scopeId","data-v-ef6eae82"]]),Ie={class:"bsy-table-field"},Me={class:"item-header"},Le={class:"item-index"},Oe={class:"item-content"},Ye=e.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},children:{default:()=>[]},actionName:{default:"添加"},maxRows:{default:void 0},minRows:{default:void 0},disabled:{type:Boolean,default:!1},labelCol:{default:()=>({span:6})},wrapperCol:{default:()=>({span:18})}},emits:["update:modelValue","change"],setup(F,{emit:t}){var V;const i=F,n=t,r=e.ref([]);console.log("🎯 TableField 组件初始化"),console.log(" -> props.children:",JSON.stringify(i.children,null,2)),console.log(" -> props.children 长度:",(V=i.children)==null?void 0:V.length),console.log(" -> props.children 类型:",typeof i.children),console.log(" -> props.children 是数组:",Array.isArray(i.children)),console.log(" -> props.modelValue:",JSON.stringify(i.modelValue,null,2)),console.log(" -> props.actionName:",i.actionName),e.watch(()=>i.modelValue,g=>{if(console.log("🔍 TableField modelValue 变化:",g),console.log(" -> 类型:",typeof g),console.log(" -> 是数组:",Array.isArray(g)),console.log(" -> 长度:",g==null?void 0:g.length),Array.isArray(g)&&g.length>0)console.log(" -> 第一行数据:",g[0]),console.log(" -> 第一行数据类型:",typeof g[0]),console.log(" -> 第一行是数组:",Array.isArray(g[0])),r.value=g.map((y,T)=>(console.log(` -> 处理第 ${T+1} 行:`,y),{...y})),console.log(" -> tableData 设置为:",r.value);else if(r.value.length===0&&(console.log(" -> 没有初始数据,根据 minRows 添加空行"),i.minRows&&i.minRows>0)){for(let y=0;y<i.minRows;y++)r.value.push(l());console.log(" -> 添加了",i.minRows,"个空行")}},{immediate:!0});const o=g=>({TextField:J,TextareaField:H,NumberField:K,SelectField:X,RadioField:Q,CheckboxField:Z,DateField:v,DateRangeField:ee,SwitchField:te,UploadField:le,DepartmentField:ae,SignatureField:oe})[g]||J;function l(){const g={};return i.children&&i.children.forEach(y=>{g[y.id]=void 0}),g}function a(){i.maxRows&&r.value.length>=i.maxRows||(r.value.push(l()),p())}function d(g){i.minRows&&r.value.length<=i.minRows||(r.value.splice(g,1),p())}function s(g,y,T){r.value[g][y]=T,p()}function p(){const g=r.value.map(y=>({...y}));n("update:modelValue",g),n("change",g)}return(g,y)=>(e.openBlock(),e.createElementBlock("div",Ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(T,b)=>(e.openBlock(),e.createElementBlock("div",{key:b,class:"table-field-item"},[e.createElementVNode("div",Me,[e.createElementVNode("span",Le,e.toDisplayString(b+1),1),!g.disabled&&!(g.minRows&&r.value.length<=g.minRows)?(e.openBlock(),e.createBlock(e.unref(h.Button),{key:0,type:"link",danger:"",size:"small",onClick:$=>d(b)},{default:e.withCtx(()=>y[0]||(y[0]=[e.createTextVNode(" 删除 ")])),_:2,__:[0]},1032,["onClick"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Oe,[e.createVNode(e.unref(h.Row),{gutter:16},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.children,$=>(e.openBlock(),e.createBlock(e.unref(h.Col),{key:$.id,span:$.span||24},{default:e.withCtx(()=>[e.createVNode(e.unref(h.FormItem),{label:$.label,"label-col":i.labelCol,"wrapper-col":i.wrapperCol,required:$.required},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o($.type)),e.mergeProps({"model-value":T[$.id]},{ref_for:!0},$.props||{},{disabled:g.disabled,"onUpdate:modelValue":D=>s(b,$.id,D)}),null,16,["model-value","disabled","onUpdate:modelValue"]))]),_:2},1032,["label","label-col","wrapper-col","required"])]),_:2},1032,["span"]))),128))]),_:2},1024)])]))),128)),e.createVNode(e.unref(h.Button),{type:"dashed",block:"",disabled:g.disabled||!!(g.maxRows&&r.value.length>=g.maxRows),onClick:a},{icon:e.withCtx(()=>[e.createVNode(e.unref(O.PlusOutlined))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(g.actionName),1)]),_:1},8,["disabled"])]))}}),Zt="",ce=Y(Ye,[["__scopeId","data-v-95db6420"]]),Pe={key:0,class:"no-schema"},Je={key:0,class:"form-header"},qe={key:0},je={key:1},We=e.defineComponent({__name:"index",props:{schema:{default:void 0},modelValue:{default:()=>({})},labelCol:{default:()=>({span:6})},wrapperCol:{default:()=>({span:18})},layout:{default:"horizontal"}},emits:["update:modelValue","change","submit"],setup(F,{emit:t}){const i=F,n=t,r=e.reactive({...i.modelValue}),o=(s,p)=>{r[s]=p,n("update:modelValue",{...r}),n("change",s,p)},l=s=>({TextField:J,TextareaField:H,NumberField:K,SelectField:X,RadioField:Q,CheckboxField:Z,DateField:v,DateRangeField:ee,SwitchField:te,UploadField:le,TableField:ce,DepartmentField:ae,SignatureField:oe})[s]||J,a=s=>{const p=[];return s.required&&p.push({required:!0,message:`请输入${s.label}`}),s.rules&&p.push(...s.rules),p},d=()=>{n("submit",{...r})};return(s,p)=>{const V=e.resolveComponent("AFormItem"),g=e.resolveComponent("AButton"),y=e.resolveComponent("AForm");return s.schema?(e.openBlock(),e.createBlock(y,{key:1,model:r,"label-col":s.labelCol,"wrapper-col":s.wrapperCol,layout:s.layout,onFinish:d},{default:e.withCtx(()=>[s.schema.title||s.schema.description?(e.openBlock(),e.createElementBlock("div",Je,[s.schema.title?(e.openBlock(),e.createElementBlock("h3",qe,e.toDisplayString(s.schema.title),1)):e.createCommentVNode("",!0),s.schema.description?(e.openBlock(),e.createElementBlock("p",je,e.toDisplayString(s.schema.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.schema.fields,T=>(e.openBlock(),e.createBlock(V,{key:T.id,label:T.label,name:T.id,rules:a(T)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l(T.type)),e.mergeProps({"model-value":r[T.id],children:T.children},{ref_for:!0},T.props||{},{"onUpdate:modelValue":b=>o(T.id,b)}),null,16,["model-value","children","onUpdate:modelValue"]))]),_:2},1032,["label","name","rules"]))),128)),e.renderSlot(s.$slots,"footer",{formData:r},()=>[e.createVNode(V,{"wrapper-col":{offset:s.labelCol.span,span:s.wrapperCol.span}},{default:e.withCtx(()=>[e.createVNode(g,{type:"primary","html-type":"submit"},{default:e.withCtx(()=>p[1]||(p[1]=[e.createTextVNode("提交")])),_:1,__:[1]}),e.createVNode(g,{style:{"margin-left":"10px"}},{default:e.withCtx(()=>p[2]||(p[2]=[e.createTextVNode("取消")])),_:1,__:[2]})]),_:1},8,["wrapper-col"])],!0)]),_:3},8,["model","label-col","wrapper-col","layout"])):(e.openBlock(),e.createElementBlock("div",Pe,p[0]||(p[0]=[e.createElementVNode("p",null,"暂无表单配置",-1)])))}}}),vt="",Ge=Y(We,[["__scopeId","data-v-3bc314b8"]]);class q{static parseSchema(t){let i;try{i=typeof t.schemaContent=="string"?JSON.parse(t.schemaContent):t.schemaContent}catch(r){throw console.error("解析 Schema 失败:",r),new Error("无效的 Schema 格式")}const n=[];return i.items&&Array.isArray(i.items)&&(console.log("📋 Schema items 总数:",i.items.length),i.items.forEach((r,o)=>{var a,d,s;console.log(`
2
+ 处理 item ${o+1}:`,{componentName:r.componentName,id:(a=r.props)==null?void 0:a.id,hasChildren:!!r.children,childrenCount:((d=r.children)==null?void 0:d.length)||0});const l=this.convertSchemaItem(r);l?(console.log(` ✓ 添加字段: ${l.id} (${l.type}), children: ${((s=l.children)==null?void 0:s.length)||0}`),n.push(l)):console.log(" ✗ 字段转换失败或被跳过")}),console.log(`
3
+ 📊 最终 fields 总数:`,n.length)),n.sort((r,o)=>(r.order||0)-(o.order||0)),console.log("解析后的字段列表:",n),{title:t.name||i.title,description:t.description||i.description,fields:n,gutter:i.gutter,groups:i.groups}}static convertSchemaItem(t){var p;const i=((p=t.props)==null?void 0:p.id)||t.id,n=t.componentName;if(!i||!n)return console.warn("字段缺少 id 或 componentName:",t),null;const o={TextField:"TextField",TextareaField:"TextareaField",NumberField:"NumberField",DDSelectField:"SelectField",DDMultiSelectField:"SelectField",RadioField:"RadioField",CheckboxField:"CheckboxField",DateField:"DateField",DateRangeField:"DateRangeField",DDDateField:"DateField",DDDateRangeField:"DateRangeField",SwitchField:"SwitchField",DDAttachmentField:"UploadField",DDPhotoField:"UploadField",PhoneField:"TextField",EmailField:"TextField",DepartmentField:"DepartmentField",SignatureField:"SignatureField",TableField:"TableField"}[n];if(!o)return console.log(`跳过非输入组件: ${n}`),null;const l=t.props||{},a={placeholder:l.placeholder||`请输入${l.label||""}`};o==="SelectField"?(a.options=this.convertOptions(l.options||[]),a.showSearch=l.showSearch??!0,a.allowClear=l.allowClear??!0,n==="DDMultiSelectField"&&(a.mode="multiple"),n==="DepartmentField"&&(a.placeholder=l.placeholder||"请选择部门",console.warn(`DepartmentField (${i}) 需要从钉钉 API 获取部门列表`))):o==="RadioField"||o==="CheckboxField"?a.options=this.convertOptions(l.options||[]):o==="NumberField"?(a.min=l.min,a.max=l.max,a.step=l.step??1,a.precision=l.precision):o==="DateField"?(a.format=l.format||"YYYY-MM-DD",a.showTime=l.showTime??!1):o==="DateRangeField"?(a.format=l.format||"YYYY-MM-DD",a.showTime=l.showTime??!1,a.placeholder=["开始日期","结束日期"]):o==="TextareaField"?(a.rows=l.rows??4,a.maxLength=l.maxLength,a.showCount=l.showCount??!1):o==="TextField"?(a.maxLength=l.maxLength,a.showCount=l.showCount??!1,n==="PhoneField"&&(a.placeholder=l.placeholder||"请输入手机号",a.maxLength=l.maxLength||11),n==="EmailField"&&(a.placeholder=l.placeholder||"请输入邮箱")):o==="UploadField"?(a.action=l.action||"/api/upload",a.maxCount=l.maxCount??9,a.maxSize=l.maxSize??10,n==="DDPhotoField"?(a.accept=l.accept||"image/*",a.listType="picture-card"):a.accept=l.accept):o==="TableField"?(a.actionName=l.actionName||"添加",a.showIndex=l.showIndex??!0,a.maxRows=l.maxRows,a.minRows=l.minRows):o==="DepartmentField"?(a.placeholder=l.placeholder||"请选择部门",a.showSearch=l.showSearch??!0,a.allowClear=l.allowClear??!0,a.treeDefaultExpandAll=l.treeDefaultExpandAll??!1,a.apiUrl=l.apiUrl||"/api/dingtalk/departments",a.useTreeSelect=l.useTreeSelect??!0,(l.multiple||l.mode==="multiple")&&(a.mode="multiple")):o==="SignatureField"&&(a.placeholder=l.placeholder||"点击签名",a.width=l.width??400,a.height=l.height??200,a.lineWidth=l.lineWidth??2,a.lineColor=l.lineColor||"#000000",a.backgroundColor=l.backgroundColor||"#ffffff"),l.disabled&&(a.disabled=!0),l.behaviorLinkage&&(a.behaviorLinkage=l.behaviorLinkage);let d;o==="TableField"&&(console.log(`🔍 处理 TableField ${i}:`,JSON.stringify(t,null,2)),t.children&&Array.isArray(t.children)?(console.log(` ✅ item.children 存在,数量: ${t.children.length}`),d=[],t.children.forEach((V,g)=>{console.log(` -> 处理子字段 ${g+1}:`,JSON.stringify(V,null,2));const y=this.convertSchemaItem(V);y?(console.log(` ✓ 成功转换: ${y.id} (${y.type})`),d.push(y)):console.log(" ✗ 转换失败或被跳过")}),console.log(" -> 最终 children 数量:",d.length),console.log(" -> 最终 children 内容:",JSON.stringify(d,null,2))):(console.error(` ❌ TableField ${i} 没有 children 或 children 不是数组!`),console.error(" -> item.children:",t.children)));const s={id:i,type:o,label:l.label||l.bizAlias||i,required:l.required??!1,props:a,children:d,rules:l.rules||[],span:t.span??l.span??24,offset:t.offset??l.offset,order:t.order??l.order??0,labelCol:t.labelCol??l.labelCol,wrapperCol:t.wrapperCol??l.wrapperCol,hidden:t.hidden??l.hidden??l.hiddenInApprovalDetail??!1,group:t.group??l.group};return o==="TableField"&&console.log("📦 返回 TableField 配置:",JSON.stringify(s,null,2)),s}static convertOptions(t){return Array.isArray(t)?t.map(i=>{let n=i;if(typeof i=="string")try{n=JSON.parse(i)}catch(r){return console.warn("解析选项 JSON 失败:",i,r),{label:i,value:i,disabled:!1}}return{label:n.value||n.label||n.text||n.key,value:n.key||n.value||n.label,disabled:n.disabled??!1}}):[]}static convertInstanceToFormData(t,i){const n={};if(!t.formComponentValues||!Array.isArray(t.formComponentValues))return console.warn("实例数据中没有 formComponentValues 或不是数组"),n;const r=new Map;return i.fields.forEach(o=>{r.set(o.id,o)}),console.log("字段映射表:",Array.from(r.keys())),console.log("实例数据字段:",t.formComponentValues.map(o=>o.name)),t.formComponentValues.forEach(o=>{const l=r.get(o.name);if(!l){console.warn(`未找到字段配置: ${o.name}`,o);return}console.log(`转换字段 ${o.name}:`,{原始值:o.value,字段类型:l.type,字段属性:l.props});const a=this.convertValueByType(o.value,l.type,l.props);console.log("转换后的值:",a),n[o.name]=a}),console.log("最终表单数据:",n),n}static convertValueByType(t,i,n){if(!(t==null||t===""))switch(console.log(`convertValueByType - 类型: ${i}, 原始值:`,t),i){case"NumberField":if(typeof t=="number")return t;if(typeof t=="string"){const r=Number(t);return isNaN(r)?void 0:r}return;case"DateField":if(typeof t=="string"||typeof t=="number"){const r=z(t);return r.isValid()?r:void 0}return z.isDayjs(t)?t:void 0;case"DateRangeField":if(Array.isArray(t)&&t.length===2){const r=z(t[0]),o=z(t[1]);if(r.isValid()&&o.isValid())return[r,o]}return;case"CheckboxField":if(Array.isArray(t))return t;if(typeof t=="string")try{const r=JSON.parse(t);return Array.isArray(r)?r:[t]}catch{return t.includes(",")?t.split(",").map(r=>r.trim()):[t]}return[];case"SelectField":if((n==null?void 0:n.mode)==="multiple"){if(Array.isArray(t))return t;if(typeof t=="string")try{const r=JSON.parse(t);return Array.isArray(r)?r:[t]}catch{return t.includes(",")?t.split(",").map(r=>r.trim()):[t]}return[]}return Array.isArray(t)?t[0]:t;case"SwitchField":return typeof t=="boolean"?t:typeof t=="string"?t==="true"||t==="1":typeof t=="number"?t===1:!1;case"UploadField":if(Array.isArray(t))return t.map((r,o)=>({uid:r.fileId||r.spaceId||r.photoId||r.uid||`file-${o}`,name:r.fileName||r.name||"未命名文件",status:"done",url:r.fileUrl||r.url,size:r.fileSize||r.size,type:r.fileType||r.type}));if(typeof t=="string")try{const r=JSON.parse(t);return Array.isArray(r)?this.convertValueByType(r,i,n):[]}catch{return t.startsWith("http://")||t.startsWith("https://")?[{uid:"file-0",name:"图片",status:"done",url:t}]:[]}return[];case"TextField":case"TextareaField":return String(t);case"RadioField":return Array.isArray(t)?t[0]:t;case"TableField":if(Array.isArray(t))return t.map(r=>{if(typeof r=="object"&&!Array.isArray(r))return r;if(Array.isArray(r)){const o={};return r.forEach(l=>{l&&l.name&&(o[l.name]=l.value)}),o}return r});if(typeof t=="string")try{const r=JSON.parse(t);return Array.isArray(r)?this.convertValueByType(r,i,n):[]}catch{return[]}return[];case"DepartmentField":if((n==null?void 0:n.mode)==="multiple"){if(Array.isArray(t))return t;if(typeof t=="string")try{const r=JSON.parse(t);return Array.isArray(r)?r:[t]}catch{return t.includes(",")?t.split(",").map(r=>r.trim()):[t]}return[]}return Array.isArray(t)?t[0]:t;case"SignatureField":return typeof t=="string"?t:void 0;default:return t}}static convertFormDataToInstance(t,i){const n=[];return console.log("开始转换表单数据为钉钉格式:",t),i.fields.forEach(r=>{const o=t[r.id];if(o==null){console.log(`跳过未填写的字段: ${r.id}`);return}if(r.hidden){console.log(`跳过隐藏字段: ${r.id}`);return}const l=this.convertValueToComponent(o,r.type,r.id,r.label,r.props);l&&(console.log(`字段 ${r.id} 转换结果:`,l),n.push(l))}),console.log("最终钉钉格式数据:",n),n}static createSubmitData(t,i,n){const r=this.convertFormDataToInstance(t,i),o={formUuid:n.formUuid,originatorUserId:n.originatorUserId,formComponentValues:r};return n.processCode&&(o.processCode=n.processCode),n.deptId&&(o.deptId=n.deptId),n.approvers&&n.approvers.length>0&&(o.approvers=n.approvers),n.ccList&&n.ccList.length>0&&(o.ccList=n.ccList),n.title&&(o.title=n.title),n.url&&(o.url=n.url),console.log("完整的钉钉提交数据:",o),o}static convertValueToComponent(t,i,n,r,o){let l=t,a;switch(console.log(`转换字段 ${r} ${n} (${i}):`,t),i){case"TextField":case"TextareaField":l=String(t),a=l;break;case"NumberField":l=typeof t=="number"?t:Number(t),a=String(l);break;case"DateField":if(z.isDayjs(t))l=t.valueOf(),a=t.format("YYYY-MM-DD HH:mm:ss");else if(t instanceof Date)l=t.getTime(),a=z(t).format("YYYY-MM-DD HH:mm:ss");else if(typeof t=="string"||typeof t=="number"){const d=z(t);l=d.valueOf(),a=d.format("YYYY-MM-DD HH:mm:ss")}break;case"DateRangeField":if(Array.isArray(t)&&t.length===2){const d=z.isDayjs(t[0])?t[0]:z(t[0]),s=z.isDayjs(t[1])?t[1]:z(t[1]);l=[d.valueOf(),s.valueOf()],a=`${d.format("YYYY-MM-DD")} 至 ${s.format("YYYY-MM-DD")}`}break;case"SelectField":if((o==null?void 0:o.mode)==="multiple")l=Array.isArray(t)?t:[t],o!=null&&o.options&&Array.isArray(l)&&(a=l.map(s=>{const p=o.options.find(V=>V.value===s);return(p==null?void 0:p.label)||s}).join(","));else if(l=Array.isArray(t)?t[0]:t,o!=null&&o.options){const d=o.options.find(s=>s.value===l);a=(d==null?void 0:d.label)||String(l)}break;case"RadioField":if(l=Array.isArray(t)?t[0]:t,o!=null&&o.options){const d=o.options.find(s=>s.value===l);a=(d==null?void 0:d.label)||String(l)}break;case"CheckboxField":l=Array.isArray(t)?t:[t],o!=null&&o.options&&Array.isArray(l)&&(a=l.map(s=>{const p=o.options.find(V=>V.value===s);return(p==null?void 0:p.label)||s}).join(","));break;case"SwitchField":l=t?1:0,a=t?"是":"否";break;case"UploadField":Array.isArray(t)?(l=t.map(d=>{const s={fileId:d.uid||d.fileId||d.photoId,fileName:d.name||d.fileName,fileUrl:d.url||d.fileUrl,fileSize:d.size||d.fileSize,fileType:d.type||d.fileType};return d.photoId&&(s.photoId=d.photoId),s}),a=t.map(d=>d.name||d.fileName||"文件").join(",")):(l=[],a="");break;case"TableField":Array.isArray(t)?(l=t.map(d=>Array.isArray(d)?d:typeof d=="object"?Object.keys(d).map(s=>({name:s,value:d[s]})):[]),a=`${t.length} 条记录`):(l=[],a="0 条记录");break;default:l=t,a=String(t);break}return{name:n,label:r,value:l,extValue:a}}static convertInstancesToFormDataList(t,i){return t.map(n=>({id:n.processInstanceId||n.formUuid,data:this.convertInstanceToFormData(n,i),meta:{createTime:n.createTime,modifyTime:n.modifyTime,originator:n.originator,title:n.title}}))}static validateFormData(t,i){const n=[];return i.fields.forEach(r=>{const o=t[r.id];r.required&&((o==null||o==="")&&n.push({field:r.id,message:`${r.label}不能为空`}),Array.isArray(o)&&o.length===0&&n.push({field:r.id,message:`${r.label}不能为空`})),r.rules&&Array.isArray(r.rules)&&r.rules.forEach(l=>{l.validator&&typeof l.validator=="function"&&l.validator(o)!==!0&&n.push({field:r.id,message:l.message||`${r.label}验证失败`})})}),{valid:n.length===0,errors:n}}}const He={key:0,class:"no-schema"},Ke={key:0,class:"form-header"},Xe={key:0},Qe={key:1},Ze={class:"group-description"},ve=e.defineComponent({__name:"index",props:{schemaResponse:{default:void 0},schema:{default:void 0},instanceData:{default:void 0},modelValue:{default:void 0},labelCol:{default:()=>({span:6})},wrapperCol:{default:()=>({span:18})},layout:{default:"horizontal"},showSubmit:{type:Boolean,default:!0},showReset:{type:Boolean,default:!1},submitText:{default:"提交"},resetText:{default:"重置"},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},responsive:{type:Boolean,default:!0},mobileBreakpoint:{default:768}},emits:["update:modelValue","change","submit","reset","schemaLoaded","dataLoaded"],setup(F,{expose:t,emit:i}){const n=h.Form.Item,r=h.Collapse.Panel,o=F,l=i,a=e.ref(),d=e.ref(!1),s=e.ref(null),p=e.reactive({}),V=e.ref({}),g=e.ref([]),y=e.ref(!1),T=e.ref(0),b=e.computed(()=>o.schema?o.schema:s.value?s.value:null),$=e.computed(()=>o.loading||d.value),D=e.computed(()=>o.responsive?y.value?{layout:"vertical",labelCol:{span:24},wrapperCol:{span:24}}:{layout:o.layout,labelCol:o.labelCol,wrapperCol:o.wrapperCol}:{layout:o.layout,labelCol:o.labelCol,wrapperCol:o.wrapperCol}),u=e.computed(()=>{var c,f;return o.responsive?y.value?[8,16]:((f=b.value)==null?void 0:f.gutter)||16:((c=b.value)==null?void 0:c.gutter)||16}),R=e.reactive({}),I=()=>{b.value&&b.value.fields.forEach(c=>{R[c.id]=!c.hidden,b.value.fields.some(C=>{var M;const E=(M=C.props)==null?void 0:M.behaviorLinkage;return!E||!Array.isArray(E)?!1:E.some(x=>{var P;return(P=x.targets)==null?void 0:P.some(j=>j.fieldId===c.id)})})&&(R[c.id]=!1)})},N=c=>R[c]!==!1,m=(c,f)=>{var M;const C=(M=c.props)==null?void 0:M.behaviorLinkage;if(!C||!Array.isArray(C))return;console.log(`🔗 处理字段联动: ${c.id}`,{value:f,linkage:C});const E=new Set;C.forEach(x=>{(x.targets||[]).forEach(j=>{E.add(j.fieldId)})}),E.forEach(x=>{var P;R[x]=!1,(P=a.value)==null||P.clearValidate(x),console.log(` -> 先隐藏字段: ${x}`)}),C.forEach(x=>{const P=x.targets||[],j=f===x.value||Array.isArray(f)&&f.includes(x.value);console.log(` 规则匹配: ${j}`,{ruleValue:x.value,currentValue:f}),j&&P.forEach(he=>{const ie=he.fieldId,ye=he.behavior||"NORMAL";ye==="NORMAL"?(R[ie]=!0,console.log(` -> 显示字段 ${ie}`)):ye==="HIDDEN"&&(R[ie]=!1,console.log(` -> 隐藏字段 ${ie}`))})})},k=e.computed(()=>{if(!b.value)return{};const c={default:[]};return b.value.fields.forEach(f=>{if(f.hidden||!N(f.id))return;const C=f.group||"default";c[C]||(c[C]=[]),c[C].push(f)}),c}),S=c=>o.responsive&&y.value?24:c.span||24,U=c=>({TextField:J,TextareaField:H,NumberField:K,SelectField:X,RadioField:Q,CheckboxField:Z,DateField:v,DateRangeField:ee,SwitchField:te,UploadField:le,TableField:ce,DepartmentField:ae,SignatureField:oe})[c]||J,L=c=>{const f=[];return c.required&&N(c.id)&&f.push({required:!0,message:`请输入${c.label}`}),c.rules&&N(c.id)&&f.push(...c.rules),f},re=c=>c.labelCol||c.wrapperCol?{labelCol:c.labelCol||D.value.labelCol,wrapperCol:c.wrapperCol||D.value.wrapperCol}:{labelCol:D.value.labelCol,wrapperCol:D.value.wrapperCol},ne=c=>{const f={...c.props||{}};return c.type==="DateRangeField"&&(f.mobileMode=y.value,f.mobileBreakpoint=o.mobileBreakpoint),c.type==="TableField"&&(f.labelCol=D.value.labelCol,f.wrapperCol=D.value.wrapperCol),f},se=(c,f)=>{var E;p[c]=f,l("update:modelValue",{...p}),l("change",c,f);const C=(E=b.value)==null?void 0:E.fields.find(M=>M.id===c);C&&m(C,f)},W=()=>{T.value=window.innerWidth,y.value=T.value<o.mobileBreakpoint},me=()=>{if(o.schemaResponse)try{d.value=!0;const c=q.parseSchema(o.schemaResponse);s.value=c,c.groups&&(g.value=c.groups.filter(f=>!f.collapsed).map(f=>f.name)),I(),l("schemaLoaded",c)}catch(c){console.error("解析 Schema 失败:",c),h.message.error("加载表单配置失败")}finally{d.value=!1}},ue=()=>{if(o.instanceData&&b.value)try{d.value=!0;const c=q.convertInstanceToFormData(o.instanceData,b.value);Object.keys(c).forEach(f=>{p[f]=c[f]}),V.value={...c},b.value.fields.forEach(f=>{var C;p[f.id]!==void 0&&((C=f.props)!=null&&C.behaviorLinkage)&&m(f,p[f.id])}),l("dataLoaded",c),l("update:modelValue",c)}catch(c){console.error("加载表单数据失败:",c),h.message.error("加载表单数据失败")}finally{d.value=!1}},de=async()=>{var c,f;try{if(b.value){const C=b.value.fields.filter(E=>!N(E.id)).map(E=>E.id);C.length>0&&((c=a.value)==null||c.clearValidate(C))}if(await((f=a.value)==null?void 0:f.validate()),b.value){const C=b.value.fields.filter(x=>N(x.id)),E={...b.value,fields:C},M=q.validateFormData(p,E);if(!M.valid){M.errors.forEach(x=>{h.message.error(x.message)});return}}l("submit",{...p})}catch(C){console.error("表单验证失败:",C)}},G=()=>{var c;(c=a.value)==null||c.resetFields(),Object.keys(p).forEach(f=>{delete p[f]}),Object.keys(V.value).length>0&&Object.assign(p,V.value),l("reset"),l("update:modelValue",{...p})},fe=()=>b.value?q.convertFormDataToInstance(p,b.value):[],_=c=>{var C;if(!b.value||!o.schemaResponse)throw new Error("Schema 未加载");let f="";if((C=o.instanceData)!=null&&C.formUuid?f=o.instanceData.formUuid:o.schemaResponse&&(f=(typeof o.schemaResponse.schemaContent=="string"?JSON.parse(o.schemaResponse.schemaContent):o.schemaResponse.schemaContent).formUuid||""),!f)throw new Error("缺少 formUuid");return q.createSubmitData(p,b.value,{formUuid:f,...c})},B=async()=>{var c;try{return await((c=a.value)==null?void 0:c.validate()),!0}catch{return!1}},w=c=>{var f;(f=a.value)==null||f.clearValidate(c)};return e.watch(()=>o.schemaResponse,()=>{me()},{immediate:!0}),e.watch(()=>o.instanceData,()=>{ue()},{immediate:!0,deep:!0}),e.watch(()=>o.modelValue,c=>{c&&Object.keys(c).length>0&&Object.keys(c).forEach(f=>{p[f]=c[f]})},{immediate:!0,deep:!0}),e.onMounted(()=>{o.schema&&(s.value=o.schema),o.modelValue&&Object.assign(p,o.modelValue),o.responsive&&(W(),window.addEventListener("resize",W))}),e.onUnmounted(()=>{o.responsive&&window.removeEventListener("resize",W)}),t({validate:B,clearValidate:w,resetFields:G,getDingTalkSubmitData:fe,getFullSubmitData:_,formData:p,schema:b,isMobile:y,screenWidth:T}),(c,f)=>(e.openBlock(),e.createBlock(e.unref(h.Spin),{spinning:$.value,tip:"加载中..."},{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createBlock(e.unref(h.Form),{key:1,ref_key:"formRef",ref:a,model:p,"label-col":D.value.labelCol,"wrapper-col":D.value.wrapperCol,layout:D.value.layout,disabled:c.disabled||c.readonly,class:e.normalizeClass({"mobile-form":y.value}),onFinish:de},{default:e.withCtx(()=>[b.value.title||b.value.description?(e.openBlock(),e.createElementBlock("div",Ke,[b.value.title?(e.openBlock(),e.createElementBlock("h3",Xe,e.toDisplayString(b.value.title),1)):e.createCommentVNode("",!0),b.value.description?(e.openBlock(),e.createElementBlock("p",Qe,e.toDisplayString(b.value.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),b.value.groups&&b.value.groups.length>0?(e.openBlock(),e.createBlock(e.unref(h.Collapse),{key:1,"active-key":g.value,"onUpdate:activeKey":f[0]||(f[0]=C=>g.value=C),bordered:!1,class:"form-groups"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.groups,C=>(e.openBlock(),e.createBlock(e.unref(r),{key:C.name,header:C.title},e.createSlots({default:e.withCtx(()=>[e.createVNode(e.unref(h.Row),{gutter:u.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value[C.name]||[],E=>(e.openBlock(),e.createBlock(e.unref(h.Col),{key:E.id,span:S(E),offset:y.value?0:E.offset,order:E.order},{default:e.withCtx(()=>[e.createVNode(e.unref(n),e.mergeProps({label:E.label,name:E.id,rules:L(E)},{ref_for:!0},re(E)),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(U(E.type)),e.mergeProps({"model-value":p[E.id],children:E.children},{ref_for:!0},ne(E),{disabled:c.disabled||c.readonly,"onUpdate:modelValue":M=>se(E.id,M)}),null,16,["model-value","children","disabled","onUpdate:modelValue"]))]),_:2},1040,["label","name","rules"])]),_:2},1032,["span","offset","order"]))),128))]),_:2},1032,["gutter"])]),_:2},[C.description?{name:"extra",fn:e.withCtx(()=>[e.createElementVNode("span",Ze,e.toDisplayString(C.description),1)]),key:"0"}:void 0]),1032,["header"]))),128))]),_:1},8,["active-key"])):(e.openBlock(),e.createBlock(e.unref(h.Row),{key:2,gutter:u.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.default,C=>(e.openBlock(),e.createBlock(e.unref(h.Col),{key:C.id,span:S(C),offset:y.value?0:C.offset,order:C.order},{default:e.withCtx(()=>[e.createVNode(e.unref(n),e.mergeProps({label:C.label,name:C.id,rules:L(C)},{ref_for:!0},re(C)),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(U(C.type)),e.mergeProps({"model-value":p[C.id],children:C.children},{ref_for:!0},ne(C),{disabled:c.disabled||c.readonly,"onUpdate:modelValue":E=>se(C.id,E)}),null,16,["model-value","children","disabled","onUpdate:modelValue"]))]),_:2},1040,["label","name","rules"])]),_:2},1032,["span","offset","order"]))),128))]),_:1},8,["gutter"])),c.$slots.approval?(e.openBlock(),e.createBlock(e.unref(n),{key:3,label:"流程","wrapper-col":y.value?{span:24}:{span:c.wrapperCol.span}},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"approval",{},void 0,!0)]),_:3},8,["wrapper-col"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"footer",{formData:p,submit:de,reset:G},()=>[c.showSubmit||c.showReset?(e.openBlock(),e.createBlock(e.unref(n),{key:0,"wrapper-col":y.value?{span:24}:{offset:c.labelCol.span,span:c.wrapperCol.span},class:"form-footer"},{default:e.withCtx(()=>[c.showSubmit?(e.openBlock(),e.createBlock(e.unref(h.Button),{key:0,type:"primary","html-type":"submit",loading:$.value,disabled:c.disabled,block:y.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.submitText),1)]),_:1},8,["loading","disabled","block"])):e.createCommentVNode("",!0),c.showReset?(e.openBlock(),e.createBlock(e.unref(h.Button),{key:1,style:e.normalizeStyle(y.value?"margin-top: 12px":"margin-left: 10px"),disabled:c.disabled,block:y.value,onClick:G},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.resetText),1)]),_:1},8,["style","disabled","block"])):e.createCommentVNode("",!0)]),_:1},8,["wrapper-col"])):e.createCommentVNode("",!0)],!0)]),_:3},8,["model","label-col","wrapper-col","layout","disabled","class"])):(e.openBlock(),e.createElementBlock("div",He,f[1]||(f[1]=[e.createElementVNode("p",null,"暂无表单配置",-1)])))]),_:3},8,["spinning"]))}}),el="",et=Y(ve,[["__scopeId","data-v-ceac5a29"]]),tt={class:"user-selector"},lt={class:"search-box"},at={class:"selector-content"},ot={class:"left-panel"},rt={class:"org-tree"},nt={class:"role-list"},st=["onClick"],dt={class:"right-panel"},it={class:"user-list-header"},ct={class:"title"},pt={class:"count"},mt={class:"user-list"},ut=["onClick"],ft={class:"user-info"},ht={class:"user-details"},yt={class:"user-name"},gt={class:"user-dept"},bt={class:"selector-footer"},kt={class:"selected-info"},Ct={class:"count"},wt={key:0,class:"selected-tags"},Bt={class:"action-buttons"},Ft=e.defineComponent({__name:"UserSelector",props:{modelValue:{type:Boolean,default:!1},users:{default:()=>[]},orgTree:{default:()=>[]},roles:{default:()=>[]},maxCount:{default:50},selectedUsers:{default:()=>[]},multiple:{type:Boolean,default:!0}},emits:["update:modelValue","confirm","cancel"],setup(F,{expose:t,emit:i}){const n=h.Modal,r=h.Input,o=h.Tabs,l=h.Tabs.TabPane,a=h.Tree,d=h.Checkbox.Group,s=h.Checkbox,p=h.Tag,V=h.Button,g=h.Empty,y=F,T=i,b=e.computed({get:()=>y.modelValue,set:_=>T("update:modelValue",_)}),$=e.ref(""),D=e.ref("org"),u=e.ref([]),R=e.ref([]),I=e.ref(""),N=e.ref(""),m=e.ref([]),k=e.computed(()=>{const _=B=>B.map(w=>({...w,key:w.value,title:w.label,children:w.children?_(w.children):void 0}));return _(y.orgTree)}),S=e.computed(()=>y.roles),U=e.computed(()=>y.users.filter(_=>m.value.includes(_.userId))),L=e.computed(()=>{let _=y.users;if($.value){const B=$.value.toLowerCase();_=_.filter(w=>{var c,f;return w.userName.toLowerCase().includes(B)||((c=w.mobile)==null?void 0:c.includes(B))||((f=w.deptName)==null?void 0:f.toLowerCase().includes(B))})}return D.value==="org"&&R.value.length>0,D.value==="role"&&N.value,_});e.watch(()=>y.selectedUsers,_=>{_&&_.length>0&&(m.value=_.map(B=>B.userId))},{immediate:!0}),e.watch(b,_=>{_&&k.value.length>0&&(u.value=[k.value[0].value])});const re=(_,B)=>{_.length>0?I.value=B.node.label:I.value=""},ne=_=>{N.value=_},se=_=>{const B=m.value.indexOf(_);if(B>-1)m.value.splice(B,1);else{if(m.value.length>=y.maxCount){h.message.warning(`最多只能选择${y.maxCount}人`);return}y.multiple?m.value.push(_):m.value=[_]}},W=_=>{const B=m.value.indexOf(_);B>-1&&m.value.splice(B,1)},me=()=>{if(U.value.length===0){h.message.warning("请至少选择一个人员");return}T("confirm",U.value),b.value=!1},ue=()=>{T("cancel"),b.value=!1},de=_=>{const B=["#f56a00","#7265e6","#ffbf00","#00a2ae","#87d068","#108ee9","#f50","#2db7f5","#52c41a","#eb2f96","#722ed1","#fa8c16"],w=_.charCodeAt(0)%B.length;return B[w]},G=_=>_.charAt(0).toUpperCase();return t({reset:()=>{$.value="",R.value=[],N.value="",m.value=[],I.value=""}}),(_,B)=>(e.openBlock(),e.createBlock(e.unref(n),{open:b.value,"onUpdate:open":B[6]||(B[6]=w=>b.value=w),title:"选择联系人",width:800,footer:null,"destroy-on-close":!0,class:"user-selector-modal"},{default:e.withCtx(()=>[e.createElementVNode("div",tt,[e.createElementVNode("div",lt,[e.createVNode(e.unref(r),{value:$.value,"onUpdate:value":B[0]||(B[0]=w=>$.value=w),placeholder:"搜索名字、拼音、手机号...","allow-clear":"",size:"large"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(O.SearchOutlined))]),_:1},8,["value"])]),e.createElementVNode("div",at,[e.createElementVNode("div",ot,[e.createVNode(e.unref(o),{"active-key":D.value,"onUpdate:activeKey":B[3]||(B[3]=w=>D.value=w),size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(l),{key:"org",tab:"按组织架构选择"},{default:e.withCtx(()=>[e.createElementVNode("div",rt,[e.createVNode(e.unref(a),{"expanded-keys":u.value,"onUpdate:expandedKeys":B[1]||(B[1]=w=>u.value=w),"selected-keys":R.value,"onUpdate:selectedKeys":B[2]||(B[2]=w=>R.value=w),"tree-data":k.value,onSelect:re},null,8,["expanded-keys","selected-keys","tree-data"])])]),_:1}),e.createVNode(e.unref(l),{key:"role",tab:"按角色选择"},{default:e.withCtx(()=>[e.createElementVNode("div",nt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.value,class:e.normalizeClass(["role-item",{active:N.value===w.value}]),onClick:c=>ne(w.value)},[e.createVNode(e.unref(O.TeamOutlined)),e.createElementVNode("span",null,e.toDisplayString(w.label),1)],10,st))),128))])]),_:1})]),_:1},8,["active-key"])]),e.createElementVNode("div",dt,[e.createElementVNode("div",it,[e.createElementVNode("span",ct,e.toDisplayString(I.value||"全部人员"),1),e.createElementVNode("span",pt,e.toDisplayString(L.value.length)+"人",1)]),e.createElementVNode("div",mt,[e.createVNode(e.unref(d),{value:m.value,"onUpdate:value":B[5]||(B[5]=w=>m.value=w),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(L.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.userId,class:"user-item",onClick:c=>se(w.userId)},[e.createVNode(e.unref(s),{value:w.userId,onClick:B[4]||(B[4]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createElementVNode("div",ft,[e.createElementVNode("div",{class:"user-avatar",style:e.normalizeStyle({backgroundColor:de(w.userName)})},e.toDisplayString(G(w.userName)),5),e.createElementVNode("div",ht,[e.createElementVNode("div",yt,e.toDisplayString(w.userName),1),e.createElementVNode("div",gt,e.toDisplayString(w.deptName),1)])])]),_:2},1032,["value"])],8,ut))),128))]),_:1},8,["value"]),L.value.length===0?(e.openBlock(),e.createBlock(e.unref(g),{key:0,description:"暂无人员"})):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",bt,[e.createElementVNode("div",kt,[B[7]||(B[7]=e.createElementVNode("span",{class:"label"},"已选择",-1)),e.createElementVNode("span",Ct,e.toDisplayString(U.value.length)+"/"+e.toDisplayString(_.maxCount),1),U.value.length>0?(e.openBlock(),e.createElementBlock("div",wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(U.value,w=>(e.openBlock(),e.createBlock(e.unref(p),{key:w.userId,closable:"",onClose:c=>W(w.userId)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.userName),1)]),_:2},1032,["onClose"]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bt,[e.createVNode(e.unref(V),{size:"large",onClick:ue},{default:e.withCtx(()=>B[8]||(B[8]=[e.createTextVNode("取消")])),_:1,__:[8]}),e.createVNode(e.unref(V),{type:"primary",size:"large",disabled:U.value.length===0,onClick:me},{default:e.withCtx(()=>[e.createTextVNode(" 确定("+e.toDisplayString(U.value.length)+"/"+e.toDisplayString(_.maxCount)+") ",1)]),_:1},8,["disabled"])])])])]),_:1},8,["open"]))}}),tl="",pe=Y(Ft,[["__scopeId","data-v-d1da15a2"]]),Nt={class:"bsy-approval-flow"},Vt={class:"approval-section"},St={class:"item-content"},_t={class:"item-label"},Et={key:0,class:"required-mark"},Tt={class:"item-value"},At={key:0,class:"placeholder"},$t={key:1,class:"selected-users"},Dt={class:"user-name"},Ut=["onClick"],Rt={class:"cc-section"},xt={class:"item-content"},zt={class:"item-value"},It={key:0,class:"placeholder"},Mt={key:1,class:"selected-users"},Lt={class:"user-name"},Ot=["onClick"],Yt={class:"chat-section"},Pt={class:"section-item"},Jt={class:"item-content"},qt={class:"item-value"},jt={class:"switch"},Wt={key:0,class:"chat-desc"},Gt=e.defineComponent({__name:"index",props:{modelValue:{default:()=>({approvers:[],ccUsers:[],sendToChat:!1})},users:{default:()=>[]},orgTree:{default:()=>[]},roles:{default:()=>[]}},emits:["update:modelValue","change","show-approver-selector","show-cc-selector"],setup(F,{expose:t,emit:i}){const n=F,r=i,o=e.ref(n.modelValue.approvers||[]),l=e.ref(n.modelValue.ccUsers||[]),a=e.ref(n.modelValue.sendToChat||!1),d=e.ref(!1),s=e.ref(!1);e.watch(()=>n.modelValue,m=>{m&&(o.value=m.approvers||[],l.value=m.ccUsers||[],a.value=m.sendToChat||!1)},{deep:!0}),e.watch([o,l,a],()=>{const m={approvers:o.value,ccUsers:l.value,sendToChat:a.value};r("update:modelValue",m),r("change",m)},{deep:!0});const p=()=>{d.value=!0,r("show-approver-selector")},V=()=>{s.value=!0,r("show-cc-selector")},g=m=>{o.value=m},y=m=>{l.value=m},T=m=>{o.value=o.value.filter(k=>k.userId!==m)},b=m=>{l.value=l.value.filter(k=>k.userId!==m)},$=()=>{},D=m=>{const k=["#f56a00","#7265e6","#ffbf00","#00a2ae","#87d068","#108ee9","#f50","#2db7f5","#52c41a","#eb2f96","#722ed1","#fa8c16"],S=m.charCodeAt(0)%k.length;return k[S]},u=m=>m.charAt(0).toUpperCase(),R=e.computed(()=>o.value.length>0);return t({isValid:R,getApprovers:()=>o.value,getCCUsers:()=>l.value,getSendToChat:()=>a.value,addApprovers:m=>{const k=new Set(o.value.map(U=>U.userId)),S=m.filter(U=>!k.has(U.userId));o.value=[...o.value,...S]},addCCUsers:m=>{const k=new Set(l.value.map(U=>U.userId)),S=m.filter(U=>!k.has(U.userId));l.value=[...l.value,...S]},reset:()=>{o.value=[],l.value=[],a.value=!1}}),(m,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Nt,[e.createElementVNode("div",Vt,[e.createElementVNode("div",{class:"section-item",onClick:p},[e.createElementVNode("div",St,[e.createElementVNode("div",_t,[k[3]||(k[3]=e.createElementVNode("span",{class:"label-text"},"审批人",-1)),o.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Et,"*"))]),e.createElementVNode("div",Tt,[o.value.length===0?(e.openBlock(),e.createElementBlock("div",At,"请选择审批人")):(e.openBlock(),e.createElementBlock("div",$t,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.userId,class:"user-tag"},[e.createElementVNode("div",{class:"user-avatar",style:e.normalizeStyle({backgroundColor:D(S.userName)})},e.toDisplayString(u(S.userName)),5),e.createElementVNode("span",Dt,e.toDisplayString(S.userName),1),e.createElementVNode("span",{class:"remove-icon",onClick:e.withModifiers(U=>T(S.userId),["stop"])}," ✕ ",8,Ut)]))),128))]))])]),k[4]||(k[4]=e.createElementVNode("span",{class:"arrow-icon"},"›",-1))]),o.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"add-btn",onClick:p},k[5]||(k[5]=[e.createElementVNode("span",{class:"add-icon"},"+",-1),e.createElementVNode("span",null,"添加审批人",-1)]))):e.createCommentVNode("",!0)]),e.createElementVNode("div",Rt,[e.createElementVNode("div",{class:"section-item",onClick:V},[e.createElementVNode("div",xt,[k[6]||(k[6]=e.createElementVNode("div",{class:"item-label"},[e.createElementVNode("span",{class:"label-text"},"抄送人")],-1)),e.createElementVNode("div",zt,[l.value.length===0?(e.openBlock(),e.createElementBlock("div",It,"请选择抄送人")):(e.openBlock(),e.createElementBlock("div",Mt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.userId,class:"user-tag cc-tag"},[e.createElementVNode("div",{class:"user-avatar",style:e.normalizeStyle({backgroundColor:D(S.userName)})},e.toDisplayString(u(S.userName)),5),e.createElementVNode("span",Lt,e.toDisplayString(S.userName),1),e.createElementVNode("span",{class:"remove-icon",onClick:e.withModifiers(U=>b(S.userId),["stop"])}," ✕ ",8,Ot)]))),128))]))])]),k[7]||(k[7]=e.createElementVNode("span",{class:"arrow-icon"},"›",-1))]),l.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"add-btn",onClick:V},k[8]||(k[8]=[e.createElementVNode("span",{class:"add-icon"},"+",-1),e.createElementVNode("span",null,"添加抄送人",-1)]))):e.createCommentVNode("",!0)]),e.createElementVNode("div",Yt,[e.createElementVNode("div",Pt,[e.createElementVNode("div",Jt,[k[10]||(k[10]=e.createElementVNode("div",{class:"item-label"},[e.createElementVNode("span",{class:"label-text"},"发送到聊天"),e.createElementVNode("span",{class:"info-icon",title:"通过聊天发送给审批人"},"ⓘ")],-1)),e.createElementVNode("div",qt,[e.createElementVNode("label",jt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k[0]||(k[0]=S=>a.value=S),type:"checkbox",onChange:$},null,544),[[e.vModelCheckbox,a.value]]),k[9]||(k[9]=e.createElementVNode("span",{class:"slider"},null,-1))])])])]),a.value?(e.openBlock(),e.createElementBlock("div",Wt,"通过聊天发送给审批人")):e.createCommentVNode("",!0)])]),e.createVNode(pe,{modelValue:d.value,"onUpdate:modelValue":k[1]||(k[1]=S=>d.value=S),users:m.users,"org-tree":m.orgTree,roles:m.roles,"selected-users":o.value,onConfirm:g},null,8,["modelValue","users","org-tree","roles","selected-users"]),e.createVNode(pe,{modelValue:s.value,"onUpdate:modelValue":k[2]||(k[2]=S=>s.value=S),users:m.users,"org-tree":m.orgTree,roles:m.roles,"selected-users":l.value,onConfirm:y},null,8,["modelValue","users","org-tree","roles","selected-users"])],64))}}),ll="",Ht=Y(Gt,[["__scopeId","data-v-b4ba048a"]]);A.BsyApprovalFlow=Ht,A.BsyCheckboxField=Z,A.BsyDateField=v,A.BsyDateRangeField=ee,A.BsyDepartmentField=ae,A.BsyDingTalkForm=et,A.BsyFormInput=be,A.BsyFormRender=Ge,A.BsyNumberField=K,A.BsyRadioField=Q,A.BsySelectField=X,A.BsySignatureField=oe,A.BsySwitchField=te,A.BsyTableField=ce,A.BsyTextField=J,A.BsyTextareaField=H,A.BsyUploadField=le,A.BsyUserSelector=pe,A.DingTalkFormAdapter=q,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.date-range-field-mobile[data-v-67c7d6a5]{display:flex;flex-direction:column;gap:12px;width:100%}.date-range-field-mobile .date-field-wrapper[data-v-67c7d6a5]{display:flex;flex-direction:column;gap:4px}.date-range-field-mobile .date-field-wrapper .date-field-label[data-v-67c7d6a5]{font-size:14px;font-weight:500;color:#333;line-height:1.5}.date-range-field-mobile .date-field-wrapper[data-v-67c7d6a5] .ant-picker{font-size:16px;height:44px}.date-range-field-mobile .date-field-separator[data-v-67c7d6a5]{display:flex;align-items:center;justify-content:center;height:20px}.date-range-field-mobile .date-field-separator span[data-v-67c7d6a5]{font-size:14px;color:#999;font-weight:500}@media (min-width: 769px){.date-range-field-mobile[data-v-67c7d6a5]{flex-direction:row;align-items:flex-end;gap:16px}.date-range-field-mobile .date-field-wrapper[data-v-67c7d6a5]{flex:1}.date-range-field-mobile .date-field-separator[data-v-67c7d6a5]{flex:0 0 auto;height:auto;padding-bottom:8px}}.bsy-signature-field .signature-preview[data-v-ef6eae82]{border:1px dashed #d9d9d9;border-radius:4px;padding:12px;background:#fafafa}.bsy-signature-field .signature-preview .signature-image[data-v-ef6eae82]{width:100%;max-width:400px;height:auto;display:block;margin:0 auto 8px;background:#fff;border:1px solid #e8e8e8;border-radius:4px}.bsy-signature-field .signature-preview .signature-actions[data-v-ef6eae82]{display:flex;justify-content:center;gap:8px}.signature-modal-content .canvas-container[data-v-ef6eae82]{border:1px dashed #d9d9d9;border-radius:4px;margin-bottom:16px;overflow:hidden;background:#fff}.signature-modal-content .canvas-container .signature-canvas[data-v-ef6eae82]{display:block;cursor:crosshair;touch-action:none}.signature-modal-content .signature-modal-actions[data-v-ef6eae82]{display:flex;justify-content:flex-end;align-items:center}.bsy-table-field .table-field-item[data-v-95db6420]{margin-bottom:16px;padding:16px;background:#fafafa;border:1px solid #d9d9d9;border-radius:4px;position:relative}.bsy-table-field .table-field-item .item-header[data-v-95db6420]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e8e8e8}.bsy-table-field .table-field-item .item-header .item-index[data-v-95db6420]{font-weight:500;color:#1890ff}.bsy-table-field .table-field-item .item-content[data-v-95db6420] .ant-form-item{margin-bottom:12px}.no-schema[data-v-3bc314b8]{padding:40px;text-align:center;color:#999}.form-header[data-v-3bc314b8]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.form-header h3[data-v-3bc314b8]{font-size:18px;font-weight:600;margin-bottom:8px;color:#333}.form-header p[data-v-3bc314b8]{color:#666;font-size:14px;margin:0}.no-schema[data-v-ceac5a29]{padding:40px;text-align:center;color:#999}.form-header[data-v-ceac5a29]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.form-header h3[data-v-ceac5a29]{font-size:18px;font-weight:600;margin-bottom:8px;color:#333}.form-header p[data-v-ceac5a29]{color:#666;font-size:14px;margin:0}.form-groups[data-v-ceac5a29] .ant-collapse-item{margin-bottom:16px;border:1px solid #f0f0f0;border-radius:4px}.form-groups[data-v-ceac5a29] .ant-collapse-item .ant-collapse-header{font-weight:600;font-size:16px;padding:12px 16px}.form-groups[data-v-ceac5a29] .ant-collapse-item .ant-collapse-content-box{padding:16px}.form-groups .group-description[data-v-ceac5a29]{font-size:12px;color:#999;font-weight:400;margin-left:8px}.form-footer[data-v-ceac5a29]{margin-top:24px;padding-top:24px;border-top:1px solid #f0f0f0}.mobile-form[data-v-ceac5a29] .ant-form-item{margin-bottom:16px}.mobile-form[data-v-ceac5a29] .ant-form-item-label{padding-bottom:4px}.mobile-form[data-v-ceac5a29] .ant-form-item-label>label{font-size:14px;font-weight:500}.mobile-form[data-v-ceac5a29] .ant-form-item-control .ant-input,.mobile-form[data-v-ceac5a29] .ant-form-item-control .ant-input-number,.mobile-form[data-v-ceac5a29] .ant-form-item-control .ant-select,.mobile-form[data-v-ceac5a29] .ant-form-item-control .ant-picker{font-size:16px}.mobile-form[data-v-ceac5a29] .ant-btn{height:44px;font-size:16px}.mobile-form[data-v-ceac5a29] .ant-radio-group,.mobile-form[data-v-ceac5a29] .ant-checkbox-group{display:flex;flex-direction:column;gap:12px}.mobile-form[data-v-ceac5a29] .ant-radio-group .ant-radio-wrapper,.mobile-form[data-v-ceac5a29] .ant-radio-group .ant-checkbox-wrapper,.mobile-form[data-v-ceac5a29] .ant-checkbox-group .ant-radio-wrapper,.mobile-form[data-v-ceac5a29] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:12px;border:1px solid #d9d9d9;border-radius:4px}.mobile-form[data-v-ceac5a29] .ant-radio-group .ant-radio-wrapper:hover,.mobile-form[data-v-ceac5a29] .ant-radio-group .ant-checkbox-wrapper:hover,.mobile-form[data-v-ceac5a29] .ant-checkbox-group .ant-radio-wrapper:hover,.mobile-form[data-v-ceac5a29] .ant-checkbox-group .ant-checkbox-wrapper:hover{border-color:#40a9ff}.mobile-form[data-v-ceac5a29] .ant-radio-group .ant-radio-wrapper-checked,.mobile-form[data-v-ceac5a29] .ant-radio-group .ant-checkbox-wrapper-checked,.mobile-form[data-v-ceac5a29] .ant-checkbox-group .ant-radio-wrapper-checked,.mobile-form[data-v-ceac5a29] .ant-checkbox-group .ant-checkbox-wrapper-checked{border-color:#1890ff;background-color:#e6f7ff}.mobile-form[data-v-ceac5a29] .ant-picker,.mobile-form[data-v-ceac5a29] .ant-upload{width:100%}@media (max-width: 768px){.form-header h3[data-v-ceac5a29]{font-size:16px}.form-header p[data-v-ceac5a29]{font-size:13px}.form-groups[data-v-ceac5a29] .ant-collapse-item{margin-bottom:12px}.form-groups[data-v-ceac5a29] .ant-collapse-item .ant-collapse-header{font-size:14px;padding:10px 12px}.form-groups[data-v-ceac5a29] .ant-collapse-item .ant-collapse-content-box{padding:12px}.form-groups .group-description[data-v-ceac5a29]{display:none}}@media (min-width: 769px) and (max-width: 1024px){.form-header h3[data-v-ceac5a29]{font-size:17px}}.user-selector-modal[data-v-d1da15a2] .ant-modal-body{padding:0;max-height:70vh}.user-selector[data-v-d1da15a2]{display:flex;flex-direction:column;height:600px}.user-selector .search-box[data-v-d1da15a2]{padding:16px;border-bottom:1px solid #f0f0f0}.user-selector .selector-content[data-v-d1da15a2]{display:flex;flex:1;overflow:hidden}.user-selector .selector-content .left-panel[data-v-d1da15a2]{width:280px;border-right:1px solid #f0f0f0;overflow:hidden;display:flex;flex-direction:column}.user-selector .selector-content .left-panel[data-v-d1da15a2] .ant-tabs{height:100%;display:flex;flex-direction:column}.user-selector .selector-content .left-panel[data-v-d1da15a2] .ant-tabs .ant-tabs-content-holder{flex:1;overflow:hidden}.user-selector .selector-content .left-panel[data-v-d1da15a2] .ant-tabs .ant-tabs-content{height:100%}.user-selector .selector-content .left-panel[data-v-d1da15a2] .ant-tabs .ant-tabs-tabpane{height:100%;overflow-y:auto}.user-selector .selector-content .left-panel .org-tree[data-v-d1da15a2]{padding:12px}.user-selector .selector-content .left-panel .org-tree[data-v-d1da15a2] .ant-tree .ant-tree-treenode{padding:4px 0}.user-selector .selector-content .left-panel .org-tree[data-v-d1da15a2] .ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.user-selector .selector-content .left-panel .org-tree[data-v-d1da15a2] .ant-tree .ant-tree-node-selected .ant-tree-node-content-wrapper{background-color:#e6f7ff}.user-selector .selector-content .left-panel .role-list[data-v-d1da15a2]{padding:8px}.user-selector .selector-content .left-panel .role-list .role-item[data-v-d1da15a2]{display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;border-radius:4px;transition:all .3s}.user-selector .selector-content .left-panel .role-list .role-item[data-v-d1da15a2]:hover{background-color:#f5f5f5}.user-selector .selector-content .left-panel .role-list .role-item.active[data-v-d1da15a2]{background-color:#e6f7ff;color:#1890ff}.user-selector .selector-content .left-panel .role-list .role-item .anticon[data-v-d1da15a2]{font-size:16px}.user-selector .selector-content .right-panel[data-v-d1da15a2]{flex:1;display:flex;flex-direction:column;overflow:hidden}.user-selector .selector-content .right-panel .user-list-header[data-v-d1da15a2]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;background-color:#fafafa}.user-selector .selector-content .right-panel .user-list-header .title[data-v-d1da15a2]{font-weight:500;color:#000000d9}.user-selector .selector-content .right-panel .user-list-header .count[data-v-d1da15a2]{color:#00000073;font-size:12px}.user-selector .selector-content .right-panel .user-list[data-v-d1da15a2]{flex:1;overflow-y:auto;padding:8px}.user-selector .selector-content .right-panel .user-list .user-item[data-v-d1da15a2]{padding:8px;cursor:pointer;border-radius:4px;transition:background-color .3s}.user-selector .selector-content .right-panel .user-list .user-item[data-v-d1da15a2]:hover{background-color:#f5f5f5}.user-selector .selector-content .right-panel .user-list .user-item[data-v-d1da15a2] .ant-checkbox-wrapper{width:100%;margin:0}.user-selector .selector-content .right-panel .user-list .user-item[data-v-d1da15a2] .ant-checkbox-wrapper .ant-checkbox{align-self:flex-start;margin-top:4px}.user-selector .selector-content .right-panel .user-list .user-item .user-info[data-v-d1da15a2]{display:flex;align-items:center;gap:12px;margin-left:8px}.user-selector .selector-content .right-panel .user-list .user-item .user-info .user-avatar[data-v-d1da15a2]{width:40px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:500;flex-shrink:0}.user-selector .selector-content .right-panel .user-list .user-item .user-info .user-details[data-v-d1da15a2]{flex:1;min-width:0}.user-selector .selector-content .right-panel .user-list .user-item .user-info .user-details .user-name[data-v-d1da15a2]{font-size:14px;color:#000000d9;margin-bottom:4px}.user-selector .selector-content .right-panel .user-list .user-item .user-info .user-details .user-dept[data-v-d1da15a2]{font-size:12px;color:#00000073;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-selector .selector-footer[data-v-d1da15a2]{border-top:1px solid #f0f0f0;padding:16px;background-color:#fafafa}.user-selector .selector-footer .selected-info[data-v-d1da15a2]{margin-bottom:12px}.user-selector .selector-footer .selected-info .label[data-v-d1da15a2]{font-size:14px;color:#000000d9;margin-right:8px}.user-selector .selector-footer .selected-info .count[data-v-d1da15a2]{font-size:14px;color:#1890ff}.user-selector .selector-footer .selected-info .selected-tags[data-v-d1da15a2]{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;max-height:80px;overflow-y:auto}.user-selector .selector-footer .action-buttons[data-v-d1da15a2]{display:flex;justify-content:flex-end;gap:12px}.user-selector .selector-footer .action-buttons .ant-btn[data-v-d1da15a2]{min-width:100px}.user-list[data-v-d1da15a2]::-webkit-scrollbar,.selected-tags[data-v-d1da15a2]::-webkit-scrollbar{width:6px;height:6px}.user-list[data-v-d1da15a2]::-webkit-scrollbar-thumb,.selected-tags[data-v-d1da15a2]::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.user-list[data-v-d1da15a2]::-webkit-scrollbar-thumb:hover,.selected-tags[data-v-d1da15a2]::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.user-list[data-v-d1da15a2]::-webkit-scrollbar-track,.selected-tags[data-v-d1da15a2]::-webkit-scrollbar-track{background-color:transparent}.bsy-approval-flow .approval-section[data-v-b4ba048a],.bsy-approval-flow .cc-section[data-v-b4ba048a],.bsy-approval-flow .chat-section[data-v-b4ba048a]{margin-bottom:16px;padding:12px;border:1px solid #d9d9d9;border-radius:2px;background:#fff;transition:all .3s}.bsy-approval-flow .approval-section[data-v-b4ba048a]:hover,.bsy-approval-flow .cc-section[data-v-b4ba048a]:hover,.bsy-approval-flow .chat-section[data-v-b4ba048a]:hover{border-color:#40a9ff}.bsy-approval-flow .approval-section .section-item[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item[data-v-b4ba048a]{display:flex;align-items:center;cursor:pointer}.bsy-approval-flow .approval-section .section-item .item-content[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content[data-v-b4ba048a]{flex:1;min-width:0}.bsy-approval-flow .approval-section .section-item .item-content .item-label[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-label[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-label[data-v-b4ba048a]{display:flex;align-items:center;gap:4px;margin-bottom:8px}.bsy-approval-flow .approval-section .section-item .item-content .item-label .label-text[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-label .label-text[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-label .label-text[data-v-b4ba048a]{font-size:14px;color:#000000d9;font-weight:400}.bsy-approval-flow .approval-section .section-item .item-content .item-label .required-mark[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-label .required-mark[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-label .required-mark[data-v-b4ba048a]{color:#ff4d4f;font-size:14px}.bsy-approval-flow .approval-section .section-item .item-content .item-label .info-icon[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-label .info-icon[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-label .info-icon[data-v-b4ba048a]{font-size:14px;color:#00000073;cursor:help}.bsy-approval-flow .approval-section .section-item .item-content .item-value .placeholder[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-value .placeholder[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-value .placeholder[data-v-b4ba048a]{font-size:14px;color:#00000040}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users[data-v-b4ba048a]{display:flex;flex-wrap:wrap;gap:8px}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag[data-v-b4ba048a]{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#fafafa;border:1px solid #d9d9d9;border-radius:2px;font-size:14px;transition:all .3s}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag[data-v-b4ba048a]:hover,.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag[data-v-b4ba048a]:hover,.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag[data-v-b4ba048a]:hover{background:#f5f5f5}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag.cc-tag[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag.cc-tag[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag.cc-tag[data-v-b4ba048a]{background:#e6f7ff;border-color:#91d5ff}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag.cc-tag[data-v-b4ba048a]:hover,.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag.cc-tag[data-v-b4ba048a]:hover,.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag.cc-tag[data-v-b4ba048a]:hover{background:#bae7ff}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag .user-avatar[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag .user-avatar[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag .user-avatar[data-v-b4ba048a]{width:24px;height:24px;border-radius:2px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:500;flex-shrink:0}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag .user-name[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag .user-name[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag .user-name[data-v-b4ba048a]{color:#000000d9;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag .remove-icon[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag .remove-icon[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag .remove-icon[data-v-b4ba048a]{color:#00000073;font-size:14px;cursor:pointer;padding:0 2px;transition:color .3s}.bsy-approval-flow .approval-section .section-item .item-content .item-value .selected-users .user-tag .remove-icon[data-v-b4ba048a]:hover,.bsy-approval-flow .cc-section .section-item .item-content .item-value .selected-users .user-tag .remove-icon[data-v-b4ba048a]:hover,.bsy-approval-flow .chat-section .section-item .item-content .item-value .selected-users .user-tag .remove-icon[data-v-b4ba048a]:hover{color:#000000d9}.bsy-approval-flow .approval-section .section-item .arrow-icon[data-v-b4ba048a],.bsy-approval-flow .cc-section .section-item .arrow-icon[data-v-b4ba048a],.bsy-approval-flow .chat-section .section-item .arrow-icon[data-v-b4ba048a]{font-size:16px;color:#00000073;margin-left:8px}.bsy-approval-flow .approval-section .add-btn[data-v-b4ba048a],.bsy-approval-flow .cc-section .add-btn[data-v-b4ba048a],.bsy-approval-flow .chat-section .add-btn[data-v-b4ba048a]{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 0;margin-top:8px;color:#1890ff;font-size:14px;cursor:pointer;border-top:1px solid #f0f0f0;transition:color .3s}.bsy-approval-flow .approval-section .add-btn[data-v-b4ba048a]:hover,.bsy-approval-flow .cc-section .add-btn[data-v-b4ba048a]:hover,.bsy-approval-flow .chat-section .add-btn[data-v-b4ba048a]:hover{color:#40a9ff}.bsy-approval-flow .approval-section .add-btn .add-icon[data-v-b4ba048a],.bsy-approval-flow .cc-section .add-btn .add-icon[data-v-b4ba048a],.bsy-approval-flow .chat-section .add-btn .add-icon[data-v-b4ba048a]{font-size:16px;font-weight:500}.bsy-approval-flow .approval-section .chat-desc[data-v-b4ba048a],.bsy-approval-flow .cc-section .chat-desc[data-v-b4ba048a],.bsy-approval-flow .chat-section .chat-desc[data-v-b4ba048a]{padding-top:8px;font-size:12px;color:#00000073}.bsy-approval-flow .switch[data-v-b4ba048a]{position:relative;display:inline-block;width:44px;height:22px}.bsy-approval-flow .switch input[data-v-b4ba048a]{opacity:0;width:0;height:0}.bsy-approval-flow .switch input:checked+.slider[data-v-b4ba048a]{background-color:#1890ff}.bsy-approval-flow .switch input:checked+.slider[data-v-b4ba048a]:before{transform:translate(22px)}.bsy-approval-flow .switch input:focus+.slider[data-v-b4ba048a]{box-shadow:0 0 0 2px #1890ff33}.bsy-approval-flow .switch input:disabled+.slider[data-v-b4ba048a]{opacity:.4;cursor:not-allowed}.bsy-approval-flow .switch .slider[data-v-b4ba048a]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#00000040;transition:all .2s;border-radius:100px}.bsy-approval-flow .switch .slider[data-v-b4ba048a]:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:all .2s;border-radius:50%;box-shadow:0 2px 4px #00230b33}
@@ -0,0 +1,4 @@
1
+ import { default as ApprovalFlow, ApprovalUser } from './src/index.vue';
2
+ export { ApprovalFlow, ApprovalUser };
3
+ export default ApprovalFlow;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/approval-flow/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACtC,eAAe,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface ApprovalUser {
2
+ userId: string;
3
+ userName: string;
4
+ avatar?: string;
5
+ deptName?: string;
6
+ mobile?: string;
7
+ }
8
+ export interface OrgNode {
9
+ value: string | number;
10
+ label: string;
11
+ children?: OrgNode[];
12
+ }
13
+ export interface Role {
14
+ value: string;
15
+ label: string;
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/form/approval-flow/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAGD,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/checkbox-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/date-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/date-range-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/department-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/dingtalk-form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/form-render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/number-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/radio-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/select-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/signature-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/switch-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { default as TableField } from './src/index.vue';
2
+ export default TableField;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/table-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,eAAe,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/text-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/textarea-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './src/index.vue';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/upload-field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ export { default as BsyFormInput } from './form/input';
2
+ export { default as BsyTextField } from './form/text-field';
3
+ export { default as BsyTextareaField } from './form/textarea-field';
4
+ export { default as BsyNumberField } from './form/number-field';
5
+ export { default as BsySelectField } from './form/select-field';
6
+ export { default as BsyRadioField } from './form/radio-field';
7
+ export { default as BsyCheckboxField } from './form/checkbox-field';
8
+ export { default as BsyDateField } from './form/date-field';
9
+ export { default as BsyDateRangeField } from './form/date-range-field';
10
+ export { default as BsySwitchField } from './form/switch-field';
11
+ export { default as BsyUploadField } from './form/upload-field';
12
+ export { default as BsyTableField } from './form/table-field';
13
+ export { default as BsyDepartmentField } from './form/department-field';
14
+ export { default as BsySignatureField } from './form/signature-field';
15
+ export { default as BsyFormRender } from './form/form-render';
16
+ export { default as BsyDingTalkForm } from './form/dingtalk-form';
17
+ export { default as BsyApprovalFlow } from './form/approval-flow';
18
+ export { default as BsyUserSelector } from './form/approval-flow/UserSelector.vue';
19
+ export { DingTalkFormAdapter } from './utils/dingtalk-adapter';
20
+ export { type FormOption, type TextFieldProps, type TextareaFieldProps, type NumberFieldProps, type SelectFieldProps, type RadioFieldProps, type CheckboxFieldProps, type DateFieldProps, type DateRangeFieldProps, type SwitchFieldProps, type UploadFieldProps, type DingTalkFieldType, type DingTalkFormField, type DingTalkFormSchema, } from './types/form-types';
21
+ export type { DingTalkComponentValue, DingTalkFormInstance, DingTalkSchemaResponse } from './utils/dingtalk-adapter';
22
+ export type { ApprovalUser, OrgNode, Role } from './form/approval-flow/src/index.vue';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAErH,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,201 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { UploadFile } from 'ant-design-vue';
3
+ /**
4
+ * 选项类型
5
+ */
6
+ export interface FormOption {
7
+ label: string;
8
+ value: string | number;
9
+ disabled?: boolean;
10
+ }
11
+ /**
12
+ * 文本输入框属性
13
+ */
14
+ export interface TextFieldProps {
15
+ modelValue?: string;
16
+ placeholder?: string;
17
+ disabled?: boolean;
18
+ readonly?: boolean;
19
+ maxLength?: number;
20
+ showCount?: boolean;
21
+ allowClear?: boolean;
22
+ size?: "large" | "middle" | "small";
23
+ prefix?: string;
24
+ suffix?: string;
25
+ }
26
+ /**
27
+ * 多行文本输入框属性
28
+ */
29
+ export interface TextareaFieldProps {
30
+ modelValue?: string;
31
+ placeholder?: string;
32
+ disabled?: boolean;
33
+ readonly?: boolean;
34
+ maxLength?: number;
35
+ showCount?: boolean;
36
+ allowClear?: boolean;
37
+ rows?: number;
38
+ autoSize?: boolean | {
39
+ minRows?: number;
40
+ maxRows?: number;
41
+ };
42
+ }
43
+ /**
44
+ * 数字输入框属性
45
+ */
46
+ export interface NumberFieldProps {
47
+ modelValue?: number;
48
+ placeholder?: string;
49
+ disabled?: boolean;
50
+ readonly?: boolean;
51
+ min?: number;
52
+ max?: number;
53
+ step?: number;
54
+ precision?: number;
55
+ size?: "large" | "middle" | "small";
56
+ controls?: boolean;
57
+ formatter?: (value: number | string) => string;
58
+ parser?: (value: string) => number;
59
+ }
60
+ /**
61
+ * 下拉选择框属性
62
+ */
63
+ export interface SelectFieldProps {
64
+ modelValue?: string | number | (string | number)[];
65
+ options?: FormOption[];
66
+ placeholder?: string;
67
+ disabled?: boolean;
68
+ allowClear?: boolean;
69
+ showSearch?: boolean;
70
+ mode?: "multiple" | "tags";
71
+ size?: "large" | "middle" | "small";
72
+ maxTagCount?: number | "responsive";
73
+ filterOption?: boolean | ((input: string, option: any) => boolean);
74
+ }
75
+ /**
76
+ * 单选框属性
77
+ */
78
+ export interface RadioFieldProps {
79
+ modelValue?: string | number;
80
+ options?: FormOption[];
81
+ disabled?: boolean;
82
+ buttonStyle?: "outline" | "solid";
83
+ size?: "large" | "middle" | "small";
84
+ optionType?: "default" | "button";
85
+ }
86
+ /**
87
+ * 复选框属性
88
+ */
89
+ export interface CheckboxFieldProps {
90
+ modelValue?: (string | number)[];
91
+ options?: FormOption[];
92
+ disabled?: boolean;
93
+ }
94
+ /**
95
+ * 日期选择器属性
96
+ */
97
+ export interface DateFieldProps {
98
+ modelValue?: Dayjs | string;
99
+ placeholder?: string;
100
+ disabled?: boolean;
101
+ allowClear?: boolean;
102
+ format?: string;
103
+ valueFormat?: string;
104
+ showTime?: boolean;
105
+ showToday?: boolean;
106
+ size?: "large" | "middle" | "small";
107
+ picker?: "date" | "week" | "month" | "quarter" | "year";
108
+ disabledDate?: (current: Dayjs) => boolean;
109
+ }
110
+ /**
111
+ * 日期范围选择器属性
112
+ */
113
+ export interface DateRangeFieldProps {
114
+ modelValue?: [Dayjs, Dayjs] | [string, string];
115
+ placeholder?: [string, string];
116
+ disabled?: boolean;
117
+ allowClear?: boolean;
118
+ format?: string;
119
+ valueFormat?: string;
120
+ showTime?: boolean;
121
+ size?: "large" | "middle" | "small";
122
+ picker?: "date" | "week" | "month" | "quarter" | "year";
123
+ disabledDate?: (current: Dayjs) => boolean;
124
+ separator?: string;
125
+ mobileMode?: boolean;
126
+ mobileBreakpoint?: number;
127
+ }
128
+ /**
129
+ * 开关属性
130
+ */
131
+ export interface SwitchFieldProps {
132
+ modelValue?: boolean;
133
+ disabled?: boolean;
134
+ loading?: boolean;
135
+ size?: "default" | "small";
136
+ checkedChildren?: string;
137
+ unCheckedChildren?: string;
138
+ checkedValue?: boolean | string | number;
139
+ unCheckedValue?: boolean | string | number;
140
+ }
141
+ /**
142
+ * 上传组件属性
143
+ */
144
+ export interface UploadFieldProps {
145
+ modelValue?: UploadFile[];
146
+ action?: string;
147
+ accept?: string;
148
+ multiple?: boolean;
149
+ maxCount?: number;
150
+ maxSize?: number;
151
+ disabled?: boolean;
152
+ listType?: "text" | "picture" | "picture-card";
153
+ buttonText?: string;
154
+ headers?: Record<string, string>;
155
+ data?: Record<string, any> | ((file: UploadFile) => Record<string, any>);
156
+ }
157
+ /**
158
+ * 钉钉表单 Schema 字段类型
159
+ */
160
+ export type DingTalkFieldType = "TextField" | "TextareaField" | "NumberField" | "SelectField" | "RadioField" | "CheckboxField" | "DateField" | "DateRangeField" | "SwitchField" | "UploadField" | "TableField" | "DDSelectField" | "DDAttachmentField";
161
+ /**
162
+ * 钉钉表单字段配置
163
+ */
164
+ export interface DingTalkFormField {
165
+ id: string;
166
+ type: DingTalkFieldType;
167
+ label: string;
168
+ required?: boolean;
169
+ props?: Record<string, any>;
170
+ rules?: any[];
171
+ span?: number;
172
+ offset?: number;
173
+ order?: number;
174
+ labelCol?: {
175
+ span?: number;
176
+ offset?: number;
177
+ };
178
+ wrapperCol?: {
179
+ span?: number;
180
+ offset?: number;
181
+ };
182
+ hidden?: boolean;
183
+ group?: string;
184
+ children?: DingTalkFormField[];
185
+ }
186
+ /**
187
+ * 钉钉表单 Schema
188
+ */
189
+ export interface DingTalkFormSchema {
190
+ title?: string;
191
+ description?: string;
192
+ fields: DingTalkFormField[];
193
+ gutter?: number | [number, number];
194
+ groups?: Array<{
195
+ name: string;
196
+ title: string;
197
+ description?: string;
198
+ collapsed?: boolean;
199
+ }>;
200
+ }
201
+ //# sourceMappingURL=form-types.d.ts.map