adtec-hnyzfc-core-package 1.6.9 → 1.7.1

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 (52) hide show
  1. package/dist/chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DT27bVnE.js +1 -0
  2. package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-CK98jL2N.js +3 -0
  3. package/dist/chunks/ElTextarea-CRk-I9iq.js +1 -0
  4. package/dist/src/api/DocumentApi.d.ts +8 -1
  5. package/dist/src/api/DocumentApi.js +1 -1
  6. package/dist/src/components/ElDescForm/ElDescForm.vue.d.ts +6 -6
  7. package/dist/src/components/ElDescForm/ElDescForm.vue.js +1 -1
  8. package/dist/src/components/ElIndicatorInput/ElIndicatorInput.vue.d.ts +1 -1
  9. package/dist/src/components/ElIndicatorInput/ElIndicatorInput.vue.js +1 -1
  10. package/dist/src/components/ElNumericInput/ElNumericInput.vue.d.ts +2 -2
  11. package/dist/src/components/ElTextarea/ElTextarea.vue.d.ts +51 -0
  12. package/dist/src/components/ElTextarea/ElTextarea.vue.js +1 -0
  13. package/dist/src/components/ElTextarea/ElTextareaExpandDialog.vue.d.ts +30 -0
  14. package/dist/src/components/ElTextarea/ElTextareaExpandDialog.vue.js +1 -0
  15. package/dist/src/components/OperationAuth/operationAuth.vue.d.ts +9 -2
  16. package/dist/src/components/OperationAuth/operationAuth.vue.js +1 -1
  17. package/dist/src/components/VxeExportDialog/index.js +1 -1
  18. package/dist/src/components/business/userSelectContent.vue.d.ts +1 -1
  19. package/dist/src/components/dict/DictDisplay.vue.d.ts +11 -1
  20. package/dist/src/components/dict/DictDisplay.vue.js +1 -1
  21. package/dist/src/components/upload/AttachmentPreview.vue.d.ts +1 -1
  22. package/dist/src/components/upload/CustomElUpload.vue.d.ts +6 -0
  23. package/dist/src/components/upload/CustomElUpload.vue.js +1 -1
  24. package/dist/src/components/upload/FileViewComponents.vue.js +1 -1
  25. package/dist/src/components/upload/OfficePreview.vue.d.ts +2 -2
  26. package/dist/src/components/upload/OfficePreview.vue.js +2 -2
  27. package/dist/src/components/upload/OfficePreviewHeaderBar.vue.d.ts +9 -5
  28. package/dist/src/components/upload/OfficePreviewHeaderBar.vue.js +2 -2
  29. package/dist/src/components/workflow/TaskOperation.vue.js +1 -1
  30. package/dist/src/components/workflow/WorkflowTodoShell.vue.d.ts +1 -1
  31. package/dist/src/components/workflow/WorkflowTodoShell.vue.js +4 -4
  32. package/dist/src/components/workflow/components/CheckDialog.vue.js +1 -1
  33. package/dist/src/hooks/createDialogHooks.d.ts +18 -0
  34. package/dist/src/hooks/createDialogHooks.js +6 -6
  35. package/dist/src/hooks/useFileOpen.d.ts +1 -1
  36. package/dist/src/hooks/useFileOpen.js +1 -1
  37. package/dist/src/hooks/useOperationAuth.js +1 -1
  38. package/dist/src/hooks/workflowTodo.js +1 -1
  39. package/dist/src/mixin/globalMixin.js +1 -1
  40. package/dist/src/packages/index.d.ts +78 -12
  41. package/dist/src/packages/index.js +1 -1
  42. package/dist/src/plugins/plugins.js +1 -1
  43. package/dist/src/plugins/renderDialog.js +1 -1
  44. package/dist/src/utils/fileDownload.d.ts +8 -1
  45. package/dist/src/utils/fileDownload.js +1 -1
  46. package/dist/src/utils/modules.js +2 -2
  47. package/dist/src/utils/uploadAccept.js +1 -1
  48. package/dist/styles/element-ui.css +1 -1
  49. package/package.json +1 -1
  50. package/dist/chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js +0 -1
  51. package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-BkJW9BQw.js +0 -3
  52. package/dist/chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js +0 -1
@@ -0,0 +1 @@
1
+ import{defineComponent as D,computed as t,openBlock as v,createBlock as x,withCtx as S,createTextVNode as f,toDisplayString as m,createElementBlock as b,Fragment as w,createCommentVNode as A,createElementVNode as h,normalizeStyle as N,renderSlot as V}from"vue";import B from"../src/hooks/useDictHooks.js";import{_ as E}from"./ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";const P=D({__name:"DictDisplay",props:{dictType:{},value:{default:void 0},mode:{default:"tag"},aliasKey:{default:void 0},item:{default:void 0}},setup(i){const o=i,{getDict:p,getDictData:y}=B(),s={primary:"#0070d2",success:"#0d9e31",warning:"#e6710b",danger:"#cf2613",error:"#cf2613",info:"#909399"},c={primary:"primary",success:"success",info:"info",warning:"warning",danger:"danger",error:"danger"},l=t(()=>{if(o.item)return o.item;const e=y(String(o.value??""),o.dictType);return e&&e.value!==void 0?e:void 0}),g=()=>{const e=l.value?.remark;if(e)try{const r=JSON.parse(e);if(r&&typeof r=="object")return r}catch{}},a=t(()=>g()),u=t(()=>o.mode==="tag"?a.value?.tag:a.value?.text),_=t(()=>u.value?.aliases??a.value?.aliases),n=t(()=>{const e=u.value?.color;return typeof e=="string"?e.trim().toLowerCase():void 0}),d=t(()=>{const e=o.aliasKey?_.value?.[o.aliasKey]:void 0;return e??l.value?.label??""}),k=t(()=>{const e=n.value;return e?c[e]:"primary"}),C=t(()=>{const e=n.value;return e&&!c[e]?e:void 0}),T=t(()=>{const e=n.value;if(e){if(s[e])return{color:s[e]};if(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e))return{color:e}}});return p([o.dictType]),(e,r)=>i.mode==="tag"?(v(),x(E,{key:0,type:k.value,color:C.value,"disable-transitions":""},{default:S(()=>[f(m(d.value),1)]),_:1},8,["type","color"])):(v(),b(w,{key:1},[A(" 文字模式支持自定义内容(如版本号前带图标),颜色仍由字典备注统一控制 "),h("span",{style:N(T.value)},[V(e.$slots,"default",{},()=>[f(m(d.value||"—"),1)])],4)],2112))}});export{P as _};
@@ -0,0 +1,3 @@
1
+ import{defineComponent as pe,ref as de,reactive as ie,onMounted as me,onUpdated as ye,onBeforeUnmount as ve,computed as C,resolveComponent as p,openBlock as c,createBlock as d,withKeys as he,withCtx as i,createCommentVNode as k,createVNode as F,createElementBlock as g,Fragment as U,renderList as A,normalizeClass as Y,createElementVNode as q,toDisplayString as M,mergeProps as y,createTextVNode as D,renderSlot as z,nextTick as I}from"vue";import{DATE_FORMAT as fe,formatDateTime as be}from"../src/utils/dateTime.js";import{E as _e}from"./ElTextarea-CRk-I9iq.js";const Ve=["onMouseenter"],ge={key:11,class:"el-desc-form__readonly-slot"},$="—",Se=pe({__name:"ElDescForm",props:{model:{},fields:{},rules:{default:()=>({})},column:{default:4},border:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},title:{},titleLevel:{default:"1"},scrollToError:{type:Boolean,default:!0},scrollIntoViewOptions:{type:Boolean,default:()=>({behavior:"smooth",block:"center"})}},setup(a,{expose:K}){const h=a,V=de(),x=new Map,w=new Map,R=ie({}),S=e=>{const o=x.get(e),l=!!o&&o.scrollWidth>o.clientWidth;R[e]!==l&&(R[e]=l)},L=()=>{I(()=>{x.forEach((e,o)=>S(o))})},P=(e,o)=>{const l=o;if(x.get(e)===l){l&&S(e);return}if(w.get(e)?.disconnect(),w.delete(e),delete R[e],!l){x.delete(e);return}if(x.set(e,l),typeof ResizeObserver<"u"){const n=new ResizeObserver(()=>S(e));n.observe(l),w.set(e,n)}I(()=>S(e))};me(L),ye(L),ve(()=>{w.forEach(e=>e.disconnect()),w.clear(),x.clear()});const f=C(()=>Math.min(4,Math.max(1,h.column||4))),H=e=>{const o=V.value?.$el;if(!o)return;const l=Array.from(o.querySelectorAll("input, textarea")).filter(m=>!m.disabled&&m.type!=="checkbox"&&m.type!=="radio"&&m.type!=="hidden"&&(m.offsetParent!==null||m.getClientRects().length>0));if(!l.length)return;const s=document.activeElement;if(!s||!l.includes(s))return;const n=l.indexOf(s),u=e.shiftKey?-1:1,b=(n+u+l.length)%l.length;e.preventDefault();const _=l[b];_.focus();try{const m=_.value.length;_.setSelectionRange(m,m)}catch{}},N=C(()=>{const e={...h.rules};for(const o of h.fields)o.rules?.length&&(e[o.prop]=[...e[o.prop]||[],...o.rules]);return e}),W=C(()=>{const e=[];let o=0,l=0;const s=n=>{for(let u=0;u<n;u+=1)e.push({prop:`__descFormFiller${l++}`,label:"",type:"slot",span:1})};for(const n of h.fields){if(!(typeof n.show=="function"?n.show(h.model):n.show!==!1))continue;const b=Q(n),_=Math.min(Math.max(1,b.span??1),f.value);_>f.value-o&&(s(f.value-o),o=0),e.push(b),o+=_,o>=f.value&&(o=0)}return o>0&&s(f.value-o),e}),E=e=>{const o=e.props||{};return h.readonly===!0||e.readonly===!0||o.readonly===!0},B=(e,o)=>e===o||String(e)===String(o),T=(e,o)=>{if(!e?.length)return;const l=e.find(s=>B(s.value,o));return l===void 0?void 0:String(l.label)},O=(e,o)=>{if(e?.length)for(const l of e){if(B(l.value,o))return String(l.label??l.name??"");if(l.children?.length){const s=O(l.children,o);if(s)return s}}},G=(e,o)=>{let l=e||[];const s=[];for(const n of o){const u=l.find(b=>B(b.value,n));if(!u)break;s.push(String(u.label??u.name??"")),l=u.children||[]}return s.join(" / ")},v=e=>e.trim()||$,j=e=>{const o=h.model?.[e.prop];if(o==null||typeof o=="string"&&o.trim()===""||Array.isArray(o)&&o.length===0)return $;const l=e.props||{},s=e.options;if(e.type==="select")return Array.isArray(o)?v(o.map(n=>T(s,n)??String(n)).filter(Boolean).join("、")):v(T(s,o)??String(o));if(e.type==="radio")return v(T(s,o)??String(o));if(e.type==="checkbox"){const n=Array.isArray(o)?o:[o];return v(n.map(u=>T(s,u)??String(u)).filter(Boolean).join("、"))}if(e.type==="tree-select"){const n=s||l.data;return Array.isArray(o)?v(o.map(u=>O(n,u)??String(u)).filter(Boolean).join("、")):v(O(n,o)??String(o))}if(e.type==="cascader"){const n=G(s,Array.isArray(o)?o:[o]);return v(n||(Array.isArray(o)?o.join(" / "):String(o)))}if(e.type==="switch")return o===!0||o===1||o==="1"?l["active-text"]||"是":l["inactive-text"]||"否";if(e.type==="date"){const n=String(l.type||"date"),u=String(l.valueFormat||l.format||"")||(n==="year"?"YYYY":n==="month"?"YYYY-MM":n==="time"?"HH:mm:ss":fe);return v(be(String(o),{format:u})||String(o))}return v(String(o))},J=e=>!!N.value[e.prop]?.some(l=>l.required),Q=e=>{const o=l=>typeof l=="function"?l(h.model):l;return{...e,span:e.type==="textarea"?f.value:Math.min(Math.max(1,e.span??1),f.value),label:o(e.label),tip:e.tip?o(e.tip):void 0,options:e.options?o(e.options):void 0,placeholder:e.placeholder?o(e.placeholder):void 0,props:e.props?o(e.props):void 0}};return K({validate:e=>V.value?.validate(e),validateField:(e,o)=>V.value?.validateField(e,o),scrollToField:e=>V.value?.scrollToField(e),resetFields:()=>V.value?.resetFields(),clearValidate:()=>V.value?.clearValidate()}),(e,o)=>{const l=p("el-title"),s=p("el-icons"),n=p("el-tooltip"),u=p("el-input"),b=p("el-numeric-input"),_=p("el-option"),m=p("el-select"),X=p("el-date-picker"),Z=p("el-switch"),ee=p("el-radio"),oe=p("el-radio-group"),te=p("el-checkbox"),le=p("el-checkbox-group"),re=p("el-tree-select"),ne=p("el-cascader"),ae=p("el-form-item"),se=p("el-descriptions-item"),ce=p("el-descriptions"),ue=p("el-form");return c(),d(ue,{ref_key:"formRef",ref:V,class:"el-desc-form",model:a.model,rules:N.value,"validate-on-rule-change":!1,"scroll-to-error":a.scrollToError,"scroll-into-view-options":a.scrollIntoViewOptions,onKeydown:he(H,["tab"])},{default:i(()=>[k(` 内容块标题:弹窗/抽屉内表单区块用默认的二级标题(level 1);
2
+ 页面内的区块标题传 title-level="0" 用一级标题(16px)。
3
+ 两种场景都统一用 el-desc-form title 声明式渲染,避免各页面手写标题 `),a.title?(c(),d(l,{key:0,level:a.titleLevel,title:a.title,style:{"border-bottom":"var(--border)","margin-bottom":"8px"}},null,8,["level","title"])):k("v-if",!0),F(ce,{direction:"vertical",column:f.value,border:a.border},{default:i(()=>[(c(!0),g(U,null,A(W.value,t=>(c(),d(se,{key:t.prop,label:t.label||void 0,span:t.span},{label:i(()=>[t.label?(c(),g("span",{key:0,class:Y(["el-desc-form__label",{"el-desc-form__label--required":J(t)}])},[D(M(t.label)+" ",1),t.tip?(c(),d(n,{key:0,content:t.tip,placement:"top","popper-class":"el-desc-form-tip-popper"},{default:i(()=>[F(s,{"model-value":"adtec-info",class:"el-desc-form__label-tip"})]),_:1},8,["content"])):k("v-if",!0)],2)):k("v-if",!0)]),default:i(()=>[F(ae,{prop:E(t)?void 0:t.prop,class:Y({"el-desc-form__form-item--multiline":t.type==="textarea"}),style:{"margin-bottom":"0"},"hide-required-asterisk":""},{default:i(()=>[k(" 只读模式:统一处理文本溢出,只有内容超出单元格宽度时才打开 tooltip "),E(t)&&t.type&&t.type!=="slot"?(c(),d(n,{key:0,content:j(t),disabled:!R[t.prop],effect:"light",placement:"top","popper-class":"el-desc-form-readonly-tip-popper"},{default:i(()=>[q("span",{class:Y(["el-desc-form__readonly-text",{"el-desc-form__readonly-text--multiline":t.type==="textarea"}]),onMouseenter:r=>S(t.prop)},[q("span",{ref_for:!0,ref:r=>P(t.prop,r),class:"el-desc-form__readonly-text-content"},M(j(t)),513)],42,Ve)]),_:2},1032,["content","disabled"])):t.type==="input"?(c(),d(u,y({key:1,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{placeholder:t.placeholder}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="textarea"?(c(),g(U,{key:2},[k(" 文本域统一走 ElTextarea:保留多行文本能力,右下角字数统计后提供放大编辑入口 "),F(_e,y({modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r,autosize:{minRows:2,maxRows:4}},{ref_for:!0},t.props,{placeholder:t.placeholder}),null,16,["modelValue","onUpdate:modelValue","placeholder"])],2112)):t.type==="number"?(c(),d(b,y({key:3,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),null,16,["modelValue","onUpdate:modelValue"])):t.type==="select"?(c(),d(m,y({key:4,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{placeholder:t.placeholder,clearable:""}),{default:i(()=>[(c(!0),g(U,null,A(t.options,r=>(c(),d(_,{key:r.value,label:r.label,value:r.value,disabled:r.disabled},null,8,["label","value","disabled"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="date"?(c(),d(X,y({key:5,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{type:t.props?.type||"date",placeholder:t.placeholder,style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","type","placeholder"])):t.type==="switch"?(c(),d(Z,y({key:6,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),null,16,["modelValue","onUpdate:modelValue"])):t.type==="radio"?(c(),d(oe,y({key:7,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),{default:i(()=>[(c(!0),g(U,null,A(t.options,r=>(c(),d(ee,{key:r.value,value:r.value},{default:i(()=>[D(M(r.label),1)]),_:2},1032,["value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue"])):t.type==="checkbox"?(c(),d(le,y({key:8,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),{default:i(()=>[(c(!0),g(U,null,A(t.options,r=>(c(),d(te,{key:r.value,value:r.value},{default:i(()=>[D(M(r.label),1)]),_:2},1032,["value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue"])):t.type==="tree-select"?(c(),d(re,y({key:9,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{placeholder:t.placeholder,style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="cascader"?(c(),d(ne,y({key:10,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r,options:t.options},{ref_for:!0},t.props,{style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","options"])):E(t)?(c(),g("div",ge,[z(e.$slots,t.slot||t.prop,{field:t,model:a.model})])):z(e.$slots,t.slot||t.prop,{field:t,model:a.model},void 0,void 0,12)]),_:2},1032,["prop","class"])]),_:2},1032,["label","span"]))),128))]),_:3},8,["column","border"])]),_:3},8,["model","rules","scroll-to-error","scroll-into-view-options"])}}});export{Se as _};
@@ -0,0 +1 @@
1
+ import{defineComponent as z,useModel as C,ref as B,resolveDirective as N,withDirectives as R,openBlock as r,createElementBlock as p,createCommentVNode as s,createVNode as h,mergeModels as g,nextTick as S,useAttrs as A,computed as o,resolveComponent as E,normalizeStyle as I,unref as V,normalizeClass as Q,mergeProps as U,toDisplayString as T,createBlock as $,withCtx as k,createElementVNode as j,withModifiers as F}from"vue";import{FullScreen as O}from"@element-plus/icons-vue";import{hasDialogHooksHost as P,openCoreDialog as q}from"../src/hooks/createDialogHooks.js";import{_}from"./_plugin-vue_export-helper-DlAUqK2U.js";const G={class:"el-textarea-expand dialog-content-fill"},J=z({name:"ElTextareaExpandDialog",__name:"ElTextareaExpandDialog",props:g({text:{default:""},maxlength:{},showWordLimit:{type:Boolean,default:!1},placeholder:{default:""},readonly:{type:Boolean,default:!1}},{loading:{type:Boolean,default:!1},loadingModifiers:{}}),emits:g(["confirm"],["update:loading"]),setup(e,{expose:v,emit:y}){const n=e,w=y,t=C(e,"loading"),d=B(n.text??""),l=B();return v({confirm:async()=>{w("confirm",d.value)},resetQuery:async()=>{await S(),l.value?.focus?.()}}),(c,m)=>{const i=N("loading");return R((r(),p("div",G,[s(" 复用 ElTextarea:字数统计位置与内嵌文本域一致,弹窗内不再需要放大入口 "),h(te,{ref_key:"inputRef",ref:l,modelValue:d.value,"onUpdate:modelValue":m[0]||(m[0]=f=>d.value=f),expandable:!1,resize:"none",maxlength:e.maxlength,"show-word-limit":e.showWordLimit,placeholder:e.placeholder,readonly:e.readonly},null,8,["modelValue","maxlength","show-word-limit","placeholder","readonly"])])),[[i,t.value]])}}}),K=_(J,[["__scopeId","data-v-52dcd7e1"]]),X={key:0,class:"el-textarea-control__footer"},Y={key:0,class:"el-textarea-control__count"},Z=["aria-label"],ee=z({name:"ElTextarea",inheritAttrs:!1,__name:"ElTextarea",props:g({rows:{default:3},autosize:{type:[Boolean,Object],default:void 0},maxlength:{default:void 0},showWordLimit:{type:Boolean,default:!1},placeholder:{default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},resize:{default:"vertical"},expandable:{type:Boolean,default:!0},expandTitle:{default:"放大编辑"},expandWidth:{default:"720px"},expandHeight:{default:"520px"}},{modelValue:{default:""},modelModifiers:{}}),emits:g(["change"],["update:modelValue"]),setup(e,{expose:v,emit:y}){const n=A(),w=o(()=>{const a={...n};return delete a.class,delete a.style,a}),t=e,d=y,l=C(e,"modelValue"),u=B(),b=o(()=>String(l.value??"").length),c=o(()=>t.showWordLimit&&!!t.maxlength&&!t.disabled&&!t.readonly),m=o(()=>c.value&&b.value>Number(t.maxlength)),i=o(()=>t.expandable&&!t.disabled&&P()),f=o(()=>c.value||i.value),D=()=>{i.value&&q(K,{text:l.value,maxlength:t.maxlength,showWordLimit:t.showWordLimit,placeholder:t.placeholder,readonly:t.readonly,onConfirm:a=>{l.value=a,d("change",a)}},{title:t.expandTitle,width:t.expandWidth,style:{height:t.expandHeight},alignCenter:!0},{type:"dialog",scroll:!1})};return v({focus:()=>u.value?.focus?.(),blur:()=>u.value?.blur?.()}),(a,x)=>{const W=E("el-input"),L=E("el-icon"),M=E("el-tooltip");return r(),p("div",{class:Q(["el-textarea-control",[V(n).class,{"el-textarea-control--footer":f.value,"is-exceed":m.value}]]),style:I(V(n).style)},[h(W,U({ref_key:"inputRef",ref:u,modelValue:l.value,"onUpdate:modelValue":x[0]||(x[0]=H=>l.value=H),type:"textarea"},w.value,{rows:e.rows,autosize:e.autosize,maxlength:e.maxlength,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,resize:e.resize}),null,16,["modelValue","rows","autosize","maxlength","placeholder","disabled","readonly","resize"]),s(" 右下角:字数统计 + 放大编辑入口(统计沿用 el-input 的判定口径,按钮紧跟统计之后) "),f.value?(r(),p("div",X,[c.value?(r(),p("span",Y,T(b.value)+"/"+T(e.maxlength),1)):s("v-if",!0),i.value?(r(),$(M,{key:1,content:e.expandTitle,placement:"top",effect:"light"},{default:k(()=>[j("button",{type:"button",class:"el-textarea-control__expand","aria-label":e.expandTitle,onMousedown:x[1]||(x[1]=F(()=>{},["prevent"])),onClick:D},[h(L,null,{default:k(()=>[h(V(O))]),_:1})],40,Z)]),_:1},8,["content"])):s("v-if",!0)])):s("v-if",!0)],6)}}}),te=_(ee,[["__scopeId","data-v-ac56c29e"]]);export{te as E,K as a};
@@ -33,9 +33,16 @@ declare const _default: {
33
33
  * format:original(默认,原始附件)/ pdf(Office 文档导出 PDF,后端转换后同样叠加水印)。
34
34
  * 返回后端 Content-Disposition 指定的文件名,前端据此命名可保证 .pdf 等后缀与内容一致。
35
35
  */
36
- downloadFile(id: string, format?: string): Promise<{
36
+ /** 下载附件:action 取 raw(原件,无水印)/ watermark(下载,带水印,默认)/ pdf(导出 PDF) */
37
+ downloadFile(id: string, action?: string): Promise<{
37
38
  blob: Blob;
38
39
  fileName?: string;
40
+ contentType?: string;
39
41
  }>;
42
+ /**
43
+ * 当前用户对该附件可用的下载动作:raw(原件,无水印)/ watermark(下载,带水印)/ pdf(导出 PDF)。
44
+ * 由后端按“文档类型 + 用户角色/用户”解析,前端只负责按结果渲染下载菜单。
45
+ */
46
+ getDownloadActions(id: string): Promise<string[]>;
40
47
  };
41
48
  export default _default;
@@ -1 +1 @@
1
- import o from"../utils/request.js";import s from"../utils/AxiosConfig.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/behaviorContext.js";import"../utils/dateTime.js";import"element-plus";import"../utils/frontendBus.js";import"../utils/globalLoading.js";import"vue";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";const i="/api/doc/",n=e=>{if(!e)return;const t=/filename\*=(?:UTF-8|utf-8)''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim())}catch{}return/filename="?([^";]+)"?/i.exec(e)?.[1]?.trim()},b={getUpLoadFilesVoById(e){return o.get(i+"getUpLoadFilesVoById/"+e)},getFileAccessAddress(e){return o.get(i+"getFileAccessAddress",{id:e})},async createRichTextImageUrl(e){const{url:t}=await this.createPreviewSession(e),r=/\/preview\/fileView\/([^/]+)\//.exec(t||"");if(!r?.[1])throw new Error("预览会话创建失败");return`${i}preview/fileView/${encodeURIComponent(r[1])}/image`},getUpLoadFilesByBussinessIds(e,t){const r=t===void 0?i+"getUpLoadFilesByBussinessIds":i+"getUpLoadFilesByBussinessIds/"+t;return o.post(r,e)},delSysUploadFile(e){return o.get(i+"delSysUploadFile/"+e)},getBusinessDocuments(e,t){return o.get(i+"getBusinessDocuments/"+e+"/"+t)},fileStatusConfirmation(e){return o.post(i+"fileStatusConfirmation",e)},delSysUploadFiles(e){return o.post(i+"delSysUploadFiles",e)},updateFilesCreateBy(e,t){return o.post(i+"updateFilesCreateBy",{ids:e,createBy:t})},createPreviewSession(e){return o.postWithOptions(i+"preview/session/"+e,void 0,{skipGlobalLoading:!0})},async downloadFile(e,t){const r=await s({url:i+"preview/download/"+e+(t?"?format="+t:""),method:"get",responseType:"blob"});return{blob:r.data,fileName:n(r.headers?.["content-disposition"])}}};export{b as default};
1
+ import s from"../utils/request.js";import i from"../utils/AxiosConfig.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/behaviorContext.js";import"../utils/dateTime.js";import"element-plus";import"../utils/frontendBus.js";import"../utils/globalLoading.js";import"vue";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";const o="/api/doc/",n=e=>{if(!e)return;const t=/filename\*=(?:UTF-8|utf-8)''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim())}catch{}return/filename="?([^";]+)"?/i.exec(e)?.[1]?.trim()},A={getUpLoadFilesVoById(e){return s.get(o+"getUpLoadFilesVoById/"+e)},getFileAccessAddress(e){return s.get(o+"getFileAccessAddress",{id:e})},async createRichTextImageUrl(e){const{url:t}=await this.createPreviewSession(e),r=/\/preview\/fileView\/([^/]+)\//.exec(t||"");if(!r?.[1])throw new Error("预览会话创建失败");return`${o}preview/fileView/${encodeURIComponent(r[1])}/image`},getUpLoadFilesByBussinessIds(e,t){const r=t===void 0?o+"getUpLoadFilesByBussinessIds":o+"getUpLoadFilesByBussinessIds/"+t;return s.post(r,e)},delSysUploadFile(e){return s.get(o+"delSysUploadFile/"+e)},getBusinessDocuments(e,t){return s.get(o+"getBusinessDocuments/"+e+"/"+t)},fileStatusConfirmation(e){return s.post(o+"fileStatusConfirmation",e)},delSysUploadFiles(e){return s.post(o+"delSysUploadFiles",e)},updateFilesCreateBy(e,t){return s.post(o+"updateFilesCreateBy",{ids:e,createBy:t})},createPreviewSession(e){return s.postWithOptions(o+"preview/session/"+e,void 0,{skipGlobalLoading:!0})},async downloadFile(e,t){const r=await i({url:o+"preview/download/"+e+(t?"?mode="+t:""),method:"get",responseType:"blob"});return{blob:r.data,fileName:n(r.headers?.["content-disposition"]),contentType:r.headers?.["content-type"]}},async getDownloadActions(e){return(await s.get(o+"preview/downloadActions/"+e))?.actions??[]}};export{A as default};
@@ -37,17 +37,17 @@ type __VLS_Props = {
37
37
  */
38
38
  scrollIntoViewOptions?: boolean | ScrollIntoViewOptions;
39
39
  };
40
- declare var __VLS_92: string, __VLS_93: {
40
+ declare var __VLS_91: string, __VLS_92: {
41
41
  field: ResolvedDescFormField;
42
42
  model: Record<string, any>;
43
- }, __VLS_96: string, __VLS_97: {
43
+ }, __VLS_95: string, __VLS_96: {
44
44
  field: ResolvedDescFormField;
45
45
  model: Record<string, any>;
46
46
  };
47
47
  type __VLS_Slots = {} & {
48
- [K in NonNullable<typeof __VLS_92>]?: (props: typeof __VLS_93) => any;
48
+ [K in NonNullable<typeof __VLS_91>]?: (props: typeof __VLS_92) => any;
49
49
  } & {
50
- [K in NonNullable<typeof __VLS_96>]?: (props: typeof __VLS_97) => any;
50
+ [K in NonNullable<typeof __VLS_95>]?: (props: typeof __VLS_96) => any;
51
51
  };
52
52
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
53
53
  validate: (callback?: (isValid: boolean, invalidFields?: unknown) => void) => any;
@@ -59,11 +59,11 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
59
59
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
60
60
  border: boolean;
61
61
  rules: Record<string, FormItemRule[]>;
62
+ scrollToError: boolean;
63
+ scrollIntoViewOptions: boolean | ScrollIntoViewOptions;
62
64
  readonly: boolean;
63
65
  column: number;
64
66
  titleLevel: string;
65
- scrollToError: boolean;
66
- scrollIntoViewOptions: boolean | ScrollIntoViewOptions;
67
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
68
68
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
69
69
  export default _default;
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-BkJW9BQw.js";import"vue";import"../../utils/dateTime.js";export{o as default};
1
+ import{_ as o}from"../../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-CK98jL2N.js";import"vue";import"../../utils/dateTime.js";import"../../../chunks/ElTextarea-CRk-I9iq.js";import"@element-plus/icons-vue";import"../../hooks/createDialogHooks.js";import"element-plus";import"../../stores/storeConfig.js";import"pinia";import"pinia-plugin-store";import"crypto-js/enc-utf8";import"crypto-js/enc-base64";import"../../config/ElementPlusConfig.js";import"../../utils/patchWujiePopperCoordinates.js";import"../../config/VxeTableConfig.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../vxeReplace/index.js";import"../tooltip/index.js";import"../tooltip/src/tooltip.js";import"../../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js";import"../../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"element-plus/es/locale/lang/zh-cn";import"../../hooks/useListenerHooks.js";import"../../stores/permissionStore.js";import"../../utils/frontendBus.js";import"../../utils/behaviorTrack.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/behaviorContext.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/operationAuth.js";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../icon/ElIcons.vue.js";import"@vueuse/core";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../ElDialogBody/ElDialogBody.vue.js";import"../../utils/globalLoading.js";import"../../hooks/useBehaviorAction.js";export{o as default};
@@ -34,9 +34,9 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
34
34
  businessId: string;
35
35
  config: IndicatorInputConfig;
36
36
  disabled: boolean;
37
+ clearable: boolean;
37
38
  placeholder: string;
38
39
  readonly: boolean;
39
- clearable: boolean;
40
40
  maxlength: number;
41
41
  showWordLimit: boolean;
42
42
  controlProps: Record<string, unknown>;
@@ -1 +1 @@
1
- import{defineComponent as ve,useModel as _,computed as u,ref as fe,watch as be,resolveComponent as p,openBlock as n,createElementBlock as g,toDisplayString as E,createBlock as m,mergeProps as h,unref as pe,withCtx as U,Fragment as O,renderList as D,createElementVNode as B,normalizeClass as ge,createVNode as C,createCommentVNode as he,createTextVNode as ee,mergeModels as Ve}from"vue";import ye from"../RichTextEditor/RichTextEditor.vue.js";import{isIndicatorReadonly as xe,isComputedIndicator as Pe,formatIndicatorDisplayValue as Ne,INDICATOR_RANGE_TYPE as d,parseIndicatorRangeValue as ke,validateIndicatorValue as Ee,formatIndicatorRangeValue as Oe}from"./interface.js";import{_ as Ie}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../../chunks/preload-helper-BlTxHScW.js";import"element-plus";import"../../utils/uuid.js";import"uuid";import"../RichTextEditor/richTextHtmlUtils.js";import"../RichTextEditor/installUmoEditorApp.js";import"tdesign-vue-next";import"../RichTextEditor/richTextImageUpload.js";import"../../api/DocumentApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../../utils/buildUploadHeaders.js";const Se={class:"el-indicator-input"},Me={key:0,class:"el-indicator-input__readonly-value"},Ue={key:8,class:"indicator-range-field"},Be={class:"indicator-range-operator"},we={class:"indicator-range-operator"},Ce={class:"indicator-range-prefix"},Re={key:0,class:"indicator-range-error"},Te=ve({__name:"ElIndicatorInput",props:Ve({config:{default:()=>({})},options:{default:()=>[]},label:{default:""},placeholder:{default:""},businessId:{default:void 0},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxlength:{default:1e3},showWordLimit:{type:Boolean,default:!0},controlProps:{default:()=>({})}},{modelValue:{default:""},modelModifiers:{},text:{default:""},textModifiers:{}}),emits:["update:modelValue","update:text"],setup(a,{expose:le}){const r=a,s=_(a,"modelValue"),b=_(a,"text"),j=u(()=>r.options.some(e=>Array.isArray(e.children)&&e.children.length>0)),H=u(()=>r.readonly||xe(r.config)),ae=u(()=>Pe(r.config)),c=u(()=>H.value),te=u(()=>Ne(r.config,b.value||s.value)||"—"),o=u(()=>{const e=r.config.rangeYpe;return e===d.MULTI_LINE_TEXT?"textarea":e===d.RICH_TEXT?"rich-text":e===d.YEAR?"year":e===d.MONTH?"month":e===d.DATE?"date":e===d.TIME?"time":e===d.NUMBER||e===d.SCALE_NUMBER||e===d.RANGE_NUMBER?e===d.SCALE_NUMBER&&Q.value.length>0?"scale-select":e===d.RANGE_NUMBER?"range-number":"number":e===d.RADIO?"radio":e===d.CHECKBOX?"checkbox":e===d.SINGLE_SELECT||e===d.MULTIPLE_SELECT?j.value?"tree-select":"select":r.config.indexAttriValue==="02"?"date":r.config.indexAttriValue==="03"?"number":r.config.indexAttriValue==="04"?j.value?"tree-select":"select":"input"}),I=u(()=>r.config.rangeYpe===d.MULTIPLE_SELECT||r.config.rangeYpe===d.CHECKBOX),R=u(()=>{const e=[],l=i=>{i.forEach(y=>{e.push(y),y.children?.length&&l(y.children)})};return l(r.options),e}),T=e=>e.disabled===!0||e.isValid==="0",re=e=>R.value.find(l=>String(l.value)===e)?.label,v=u(()=>{const e=r.config.rangeOfValue||"";return e==="x>a"?{double:!1,operator:">",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最小值",secondPlaceholder:""}:e==="x≥a"?{double:!1,operator:"≥",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最小值",secondPlaceholder:""}:e==="x<a"?{double:!1,operator:"<",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最大值",secondPlaceholder:""}:e==="x≤a"?{double:!1,operator:"≤",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最大值",secondPlaceholder:""}:e==="x=a"?{double:!1,operator:"=",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入固定值",secondPlaceholder:""}:e==="x±a"?{double:!0,operator:"±",leftOperator:"±",rightOperator:"",firstPlaceholder:"请输入固定值",secondPlaceholder:"请输入允差值"}:{double:!0,operator:"",leftOperator:e.startsWith("a≤")?"≤":"<",rightOperator:e.endsWith("≤b")?"≤":"<",firstPlaceholder:"请输入最小值",secondPlaceholder:"请输入最大值"}}),L=u(()=>ke(r.config,s.value)),W=u(()=>L.value.first),z=u(()=>L.value.second),x=fe(!1),A=u(()=>Ee(r.config,s.value)),K=(e,l)=>{const i={...L.value};e===0?i.first=l:i.second=l,s.value=Oe(r.config,i),k()},G=e=>K(0,e),q=e=>K(1,e),oe=()=>(x.value=!0,!A.value),k=()=>{if(o.value!=="rich-text"){if(o.value==="range-number"){const e=L.value,l=r.config.rangeOfValue||"";if(e.first==null&&e.second==null){b.value="";return}l==="x±a"?b.value=`${e.first??"x"} ± ${e.second??"a"}`:v.value.double?b.value=`${e.first??"a"} ${v.value.leftOperator} x ${v.value.rightOperator} ${e.second??"b"}`:b.value=`x ${v.value.operator} ${e.first}`;return}if(o.value==="select"||o.value==="scale-select"||o.value==="tree-select"||o.value==="radio"||o.value==="checkbox"){const e=s.value.split(",").filter(Boolean);if(!e.length){b.value="";return}if(!r.options.length&&b.value)return;b.value=e.map(l=>String(re(l)??l)).join("、");return}b.value=s.value}},f=u({get:()=>s.value,set:e=>{s.value=e==null?"":String(e),k()}}),X=u({get:()=>s.value.split(",").filter(Boolean),set:e=>{s.value=e.join(","),k()}}),S=u({get:()=>I.value?X.value:s.value,set:e=>{s.value=Array.isArray(e)?e.join(","):String(e??""),k()}}),ne=u(()=>{if(!s.value.trim())return;const e=Number(s.value);return Number.isFinite(e)?e:void 0}),P=u(()=>{const e=Number(r.config.dataScale);if(Number.isFinite(e)&&e>0)return e;const l=Number(r.config.decimalPlaces);return Number.isInteger(l)&&l>=0?10**-Math.min(l,100):void 0}),J=e=>{const l=Number(r.config.decimalPlaces);return Number.isInteger(l)&&l>=0?Number(e.toFixed(Math.min(l,100))):e},Y=u(()=>{let e=r.config.minValue,l=r.config.maxValue;r.config.rangeOfValue==="x=a"&&r.config.fixedValue!=null?(e=r.config.fixedValue,l=r.config.fixedValue):r.config.rangeOfValue==="x±a"&&r.config.fixedValue!=null&&r.config.tolerance!=null&&(e??(e=Number(r.config.fixedValue)-Number(r.config.tolerance)),l??(l=Number(r.config.fixedValue)+Number(r.config.tolerance)));const i=P.value;return e!=null&&r.config.isContainMin==="0"&&i&&(e=J(Number(e)+i)),l!=null&&r.config.isContainMax==="0"&&i&&(l=J(Number(l)-i)),{min:e,max:l}}),Q=u(()=>{if(r.config.rangeYpe!==d.SCALE_NUMBER)return[];const e=Y.value.min,l=Y.value.max,i=P.value;if(e==null||l==null||i==null||!Number.isFinite(e)||!Number.isFinite(l)||!Number.isFinite(i)||i<=0||l<e)return[];const y=Math.floor((l-e)/i+1e-9)+1;if(y<=0||y>1e3)return[];const w=Number(r.config.decimalPlaces),N=M=>Number.isInteger(w)&&w>=0?Number(M.toFixed(Math.min(w,100))):M;return Array.from({length:y},(M,$)=>{const F=N(e+$*i);return{label:F,value:F}})}),Z=u(()=>o.value==="year"?"YYYY":o.value==="month"?"YYYY-MM":"YYYY-MM-DD"),V=u(()=>r.placeholder||r.config.tip?r.placeholder||r.config.tip:`${["input","textarea","rich-text","number"].includes(o.value)?"请输入":"请选择"}${r.label||"指标值"}`),ue={label:"label",children:"children",disabled:e=>T(e)},ie=e=>{s.value=e==null?"":String(e),k()};return be([s,()=>r.options,o],k,{immediate:!0,deep:!0}),le({controlType:o,syncText:k,validate:oe,isReadonlyIndicator:H,isComputedIndicator:ae}),(e,l)=>{const i=p("el-input"),y=p("el-date-picker"),w=p("el-time-picker"),N=p("el-numeric-input"),M=p("el-option"),$=p("el-select"),F=p("el-tree-select"),de=p("el-radio"),se=p("el-radio-group"),ce=p("el-checkbox"),me=p("el-checkbox-group");return n(),g("div",Se,[H.value?(n(),g("span",Me,E(te.value),1)):o.value==="rich-text"?(n(),m(ye,{key:1,modelValue:f.value,"onUpdate:modelValue":l[0]||(l[0]=t=>f.value=t),text:b.value,"onUpdate:text":l[1]||(l[1]=t=>b.value=t),"is-edit":!a.disabled&&!c.value,"editor-config":{businessId:a.businessId,placeholder:V.value}},null,8,["modelValue","text","is-edit","editor-config"])):o.value==="textarea"?(n(),m(i,h({key:2,modelValue:f.value,"onUpdate:modelValue":l[2]||(l[2]=t=>f.value=t)},a.controlProps,{type:"textarea",rows:3,maxlength:a.maxlength,"show-word-limit":a.showWordLimit,disabled:a.disabled,readonly:c.value,placeholder:V.value}),null,16,["modelValue","maxlength","show-word-limit","disabled","readonly","placeholder"])):o.value==="input"?(n(),m(i,h({key:3,modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=t=>f.value=t)},a.controlProps,{maxlength:a.maxlength,"show-word-limit":a.showWordLimit,disabled:a.disabled,readonly:c.value,placeholder:V.value}),null,16,["modelValue","maxlength","show-word-limit","disabled","readonly","placeholder"])):o.value==="year"||o.value==="month"||o.value==="date"?(n(),m(y,h({key:4,modelValue:f.value,"onUpdate:modelValue":l[4]||(l[4]=t=>f.value=t)},a.controlProps,{type:o.value,format:Z.value,"value-format":Z.value,disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),null,16,["modelValue","type","format","value-format","disabled","clearable","placeholder"])):o.value==="time"?(n(),m(w,h({key:5,modelValue:f.value,"onUpdate:modelValue":l[5]||(l[5]=t=>f.value=t)},a.controlProps,{format:"HH:mm:ss","value-format":"HH:mm:ss",disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),null,16,["modelValue","disabled","clearable","placeholder"])):o.value==="number"?(n(),m(N,h({key:6,"model-value":ne.value},a.controlProps,{min:Y.value.min,max:Y.value.max,precision:a.config.decimalPlaces,step:P.value,"step-strictly":a.config.rangeYpe===pe(d).SCALE_NUMBER,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:V.value,"onUpdate:modelValue":ie}),null,16,["model-value","min","max","precision","step","step-strictly","disabled","readonly","clearable","placeholder"])):o.value==="scale-select"?(n(),m($,h({key:7,modelValue:S.value,"onUpdate:modelValue":l[6]||(l[6]=t=>S.value=t)},a.controlProps,{filterable:"",disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),{default:U(()=>[(n(!0),g(O,null,D(Q.value,t=>(n(),m(M,{key:String(t.value),label:String(t.label),value:String(t.value)},null,8,["label","value"]))),128))]),_:1},16,["modelValue","disabled","clearable","placeholder"])):o.value==="range-number"?(n(),g("div",Ue,[B("div",{class:ge(["indicator-range-input",{"is-error":x.value&&A.value}])},[v.value.operator==="±"?(n(),g(O,{key:0},[C(N,{"model-value":W.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:v.value.firstPlaceholder,"onUpdate:modelValue":G,onBlur:l[7]||(l[7]=t=>x.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"]),l[16]||(l[16]=B("span",{class:"indicator-range-operator"},"±",-1)),C(N,{"model-value":z.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:v.value.secondPlaceholder,"onUpdate:modelValue":q,onBlur:l[8]||(l[8]=t=>x.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"])],64)):v.value.double?(n(),g(O,{key:1},[C(N,{"model-value":W.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:v.value.firstPlaceholder,"onUpdate:modelValue":G,onBlur:l[9]||(l[9]=t=>x.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"]),B("span",Be,E(v.value.leftOperator),1),l[17]||(l[17]=B("span",{class:"indicator-range-variable"},"x",-1)),B("span",we,E(v.value.rightOperator),1),C(N,{"model-value":z.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:v.value.secondPlaceholder,"onUpdate:modelValue":q,onBlur:l[10]||(l[10]=t=>x.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"])],64)):(n(),g(O,{key:2},[B("span",Ce,E(v.value.operator),1),C(N,{"model-value":W.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:v.value.firstPlaceholder,"onUpdate:modelValue":G,onBlur:l[11]||(l[11]=t=>x.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"])],64))],2),x.value&&A.value?(n(),g("div",Re,E(A.value),1)):he("v-if",!0)])):o.value==="tree-select"?(n(),m(F,h({key:9,modelValue:S.value,"onUpdate:modelValue":l[12]||(l[12]=t=>S.value=t)},a.controlProps,{data:a.options,props:ue,"value-key":"value","node-key":"value","check-strictly":"",filterable:"","show-checkbox":I.value,multiple:I.value,"collapse-tags":I.value,"collapse-tags-tooltip":"",disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),null,16,["modelValue","data","show-checkbox","multiple","collapse-tags","disabled","clearable","placeholder"])):o.value==="select"?(n(),m($,h({key:10,modelValue:S.value,"onUpdate:modelValue":l[13]||(l[13]=t=>S.value=t)},a.controlProps,{filterable:"","collapse-tags":I.value,"collapse-tags-tooltip":"",multiple:I.value,disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),{default:U(()=>[(n(!0),g(O,null,D(R.value,t=>(n(),m(M,{key:String(t.value),label:String(t.label),value:String(t.value),disabled:T(t)},null,8,["label","value","disabled"]))),128))]),_:1},16,["modelValue","collapse-tags","multiple","disabled","clearable","placeholder"])):o.value==="radio"?(n(),m(se,h({key:11,modelValue:f.value,"onUpdate:modelValue":l[14]||(l[14]=t=>f.value=t)},a.controlProps,{disabled:a.disabled||c.value}),{default:U(()=>[(n(!0),g(O,null,D(R.value,t=>(n(),m(de,{key:String(t.value),value:String(t.value),disabled:T(t)},{default:U(()=>[ee(E(t.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"])):(n(),m(me,h({key:12,modelValue:X.value,"onUpdate:modelValue":l[15]||(l[15]=t=>X.value=t)},a.controlProps,{disabled:a.disabled||c.value}),{default:U(()=>[(n(!0),g(O,null,D(R.value,t=>(n(),m(ce,{key:String(t.value),value:String(t.value),disabled:T(t)},{default:U(()=>[ee(E(t.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]))])}}}),sl=Ie(Te,[["__scopeId","data-v-aec6f3ab"]]);export{sl as default};
1
+ import{defineComponent as fe,useModel as _,computed as n,ref as pe,watch as be,resolveComponent as g,openBlock as i,createElementBlock as p,toDisplayString as O,createBlock as v,Fragment as N,createCommentVNode as ee,createVNode as U,mergeProps as h,unref as ge,withCtx as B,renderList as D,createElementVNode as T,normalizeClass as he,createTextVNode as le,mergeModels as Ve}from"vue";import xe from"../RichTextEditor/RichTextEditor.vue.js";import{E as ye}from"../../../chunks/ElTextarea-CRk-I9iq.js";import{isIndicatorReadonly as Pe,isComputedIndicator as Ee,formatIndicatorDisplayValue as Ne,INDICATOR_RANGE_TYPE as u,parseIndicatorRangeValue as ke,validateIndicatorValue as Oe,formatIndicatorRangeValue as Ie}from"./interface.js";import{_ as Se}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../../chunks/preload-helper-BlTxHScW.js";import"element-plus";import"../../utils/uuid.js";import"uuid";import"../RichTextEditor/richTextHtmlUtils.js";import"../RichTextEditor/installUmoEditorApp.js";import"tdesign-vue-next";import"../RichTextEditor/richTextImageUpload.js";import"../../api/DocumentApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../../utils/buildUploadHeaders.js";import"@element-plus/icons-vue";import"../../hooks/createDialogHooks.js";import"../../stores/storeConfig.js";import"pinia";import"pinia-plugin-store";import"../../config/ElementPlusConfig.js";import"../../utils/patchWujiePopperCoordinates.js";import"../../config/VxeTableConfig.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../vxeReplace/index.js";import"../tooltip/index.js";import"../tooltip/src/tooltip.js";import"../../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js";import"../../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"element-plus/es/locale/lang/zh-cn";import"../../hooks/useListenerHooks.js";import"../../stores/permissionStore.js";import"../../utils/operationAuth.js";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../icon/ElIcons.vue.js";import"@vueuse/core";import"../ElDialogBody/ElDialogBody.vue.js";import"../../hooks/useBehaviorAction.js";const Me={class:"el-indicator-input"},Ue={key:0,class:"el-indicator-input__readonly-value"},Be={key:8,class:"indicator-range-field"},Te={class:"indicator-range-operator"},we={class:"indicator-range-operator"},Ce={class:"indicator-range-prefix"},Re={key:0,class:"indicator-range-error"},Le=fe({__name:"ElIndicatorInput",props:Ve({config:{default:()=>({})},options:{default:()=>[]},label:{default:""},placeholder:{default:""},businessId:{default:void 0},clearable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},maxlength:{default:1e3},showWordLimit:{type:Boolean,default:!0},controlProps:{default:()=>({})}},{modelValue:{default:""},modelModifiers:{},text:{default:""},textModifiers:{}}),emits:["update:modelValue","update:text"],setup(a,{expose:ae}){const r=a,s=_(a,"modelValue"),b=_(a,"text"),j=n(()=>r.options.some(e=>Array.isArray(e.children)&&e.children.length>0)),H=n(()=>r.readonly||Pe(r.config)),te=n(()=>Ee(r.config)),c=n(()=>H.value),re=n(()=>Ne(r.config,b.value||s.value)||"—"),o=n(()=>{const e=r.config.rangeYpe;return e===u.MULTI_LINE_TEXT?"textarea":e===u.RICH_TEXT?"rich-text":e===u.YEAR?"year":e===u.MONTH?"month":e===u.DATE?"date":e===u.TIME?"time":e===u.NUMBER||e===u.SCALE_NUMBER||e===u.RANGE_NUMBER?e===u.SCALE_NUMBER&&Q.value.length>0?"scale-select":e===u.RANGE_NUMBER?"range-number":"number":e===u.RADIO?"radio":e===u.CHECKBOX?"checkbox":e===u.SINGLE_SELECT||e===u.MULTIPLE_SELECT?j.value?"tree-select":"select":r.config.indexAttriValue==="02"?"date":r.config.indexAttriValue==="03"?"number":r.config.indexAttriValue==="04"?j.value?"tree-select":"select":"input"}),I=n(()=>r.config.rangeYpe===u.MULTIPLE_SELECT||r.config.rangeYpe===u.CHECKBOX),C=n(()=>{const e=[],l=d=>{d.forEach(x=>{e.push(x),x.children?.length&&l(x.children)})};return l(r.options),e}),R=e=>e.disabled===!0||e.isValid==="0",oe=e=>C.value.find(l=>String(l.value)===e)?.label,m=n(()=>{const e=r.config.rangeOfValue||"";return e==="x>a"?{double:!1,operator:">",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最小值",secondPlaceholder:""}:e==="x≥a"?{double:!1,operator:"≥",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最小值",secondPlaceholder:""}:e==="x<a"?{double:!1,operator:"<",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最大值",secondPlaceholder:""}:e==="x≤a"?{double:!1,operator:"≤",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入最大值",secondPlaceholder:""}:e==="x=a"?{double:!1,operator:"=",leftOperator:"",rightOperator:"",firstPlaceholder:"请输入固定值",secondPlaceholder:""}:e==="x±a"?{double:!0,operator:"±",leftOperator:"±",rightOperator:"",firstPlaceholder:"请输入固定值",secondPlaceholder:"请输入允差值"}:{double:!0,operator:"",leftOperator:e.startsWith("a≤")?"≤":"<",rightOperator:e.endsWith("≤b")?"≤":"<",firstPlaceholder:"请输入最小值",secondPlaceholder:"请输入最大值"}}),L=n(()=>ke(r.config,s.value)),W=n(()=>L.value.first),z=n(()=>L.value.second),y=pe(!1),A=n(()=>Oe(r.config,s.value)),K=(e,l)=>{const d={...L.value};e===0?d.first=l:d.second=l,s.value=Ie(r.config,d),k()},G=e=>K(0,e),q=e=>K(1,e),ie=()=>(y.value=!0,!A.value),k=()=>{if(o.value!=="rich-text"){if(o.value==="range-number"){const e=L.value,l=r.config.rangeOfValue||"";if(e.first==null&&e.second==null){b.value="";return}l==="x±a"?b.value=`${e.first??"x"} ± ${e.second??"a"}`:m.value.double?b.value=`${e.first??"a"} ${m.value.leftOperator} x ${m.value.rightOperator} ${e.second??"b"}`:b.value=`x ${m.value.operator} ${e.first}`;return}if(o.value==="select"||o.value==="scale-select"||o.value==="tree-select"||o.value==="radio"||o.value==="checkbox"){const e=s.value.split(",").filter(Boolean);if(!e.length){b.value="";return}if(!r.options.length&&b.value)return;b.value=e.map(l=>String(oe(l)??l)).join("、");return}b.value=s.value}},f=n({get:()=>s.value,set:e=>{s.value=e==null?"":String(e),k()}}),X=n({get:()=>s.value.split(",").filter(Boolean),set:e=>{s.value=e.join(","),k()}}),S=n({get:()=>I.value?X.value:s.value,set:e=>{s.value=Array.isArray(e)?e.join(","):String(e??""),k()}}),ne=n(()=>{if(!s.value.trim())return;const e=Number(s.value);return Number.isFinite(e)?e:void 0}),P=n(()=>{const e=Number(r.config.dataScale);if(Number.isFinite(e)&&e>0)return e;const l=Number(r.config.decimalPlaces);return Number.isInteger(l)&&l>=0?10**-Math.min(l,100):void 0}),J=e=>{const l=Number(r.config.decimalPlaces);return Number.isInteger(l)&&l>=0?Number(e.toFixed(Math.min(l,100))):e},Y=n(()=>{let e=r.config.minValue,l=r.config.maxValue;r.config.rangeOfValue==="x=a"&&r.config.fixedValue!=null?(e=r.config.fixedValue,l=r.config.fixedValue):r.config.rangeOfValue==="x±a"&&r.config.fixedValue!=null&&r.config.tolerance!=null&&(e??(e=Number(r.config.fixedValue)-Number(r.config.tolerance)),l??(l=Number(r.config.fixedValue)+Number(r.config.tolerance)));const d=P.value;return e!=null&&r.config.isContainMin==="0"&&d&&(e=J(Number(e)+d)),l!=null&&r.config.isContainMax==="0"&&d&&(l=J(Number(l)-d)),{min:e,max:l}}),Q=n(()=>{if(r.config.rangeYpe!==u.SCALE_NUMBER)return[];const e=Y.value.min,l=Y.value.max,d=P.value;if(e==null||l==null||d==null||!Number.isFinite(e)||!Number.isFinite(l)||!Number.isFinite(d)||d<=0||l<e)return[];const x=Math.floor((l-e)/d+1e-9)+1;if(x<=0||x>1e3)return[];const w=Number(r.config.decimalPlaces),E=M=>Number.isInteger(w)&&w>=0?Number(M.toFixed(Math.min(w,100))):M;return Array.from({length:x},(M,$)=>{const F=E(e+$*d);return{label:F,value:F}})}),Z=n(()=>o.value==="year"?"YYYY":o.value==="month"?"YYYY-MM":"YYYY-MM-DD"),V=n(()=>r.placeholder||r.config.tip?r.placeholder||r.config.tip:`${["input","textarea","rich-text","number"].includes(o.value)?"请输入":"请选择"}${r.label||"指标值"}`),ue={label:"label",children:"children",disabled:e=>R(e)},de=e=>{s.value=e==null?"":String(e),k()};return be([s,()=>r.options,o],k,{immediate:!0,deep:!0}),ae({controlType:o,syncText:k,validate:ie,isReadonlyIndicator:H,isComputedIndicator:te}),(e,l)=>{const d=g("el-input"),x=g("el-date-picker"),w=g("el-time-picker"),E=g("el-numeric-input"),M=g("el-option"),$=g("el-select"),F=g("el-tree-select"),se=g("el-radio"),ce=g("el-radio-group"),me=g("el-checkbox"),ve=g("el-checkbox-group");return i(),p("div",Me,[H.value?(i(),p("span",Ue,O(re.value),1)):o.value==="rich-text"?(i(),v(xe,{key:1,modelValue:f.value,"onUpdate:modelValue":l[0]||(l[0]=t=>f.value=t),text:b.value,"onUpdate:text":l[1]||(l[1]=t=>b.value=t),"is-edit":!a.disabled&&!c.value,"editor-config":{businessId:a.businessId,placeholder:V.value}},null,8,["modelValue","text","is-edit","editor-config"])):o.value==="textarea"?(i(),p(N,{key:2},[ee(" 0102 多行文本:统一走 ElTextarea,右下角字数统计后提供放大编辑入口 "),U(ye,h({modelValue:f.value,"onUpdate:modelValue":l[2]||(l[2]=t=>f.value=t)},a.controlProps,{rows:3,maxlength:a.maxlength,"show-word-limit":a.showWordLimit,disabled:a.disabled,readonly:c.value,placeholder:V.value}),null,16,["modelValue","maxlength","show-word-limit","disabled","readonly","placeholder"])],2112)):o.value==="input"?(i(),v(d,h({key:3,modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=t=>f.value=t)},a.controlProps,{maxlength:a.maxlength,"show-word-limit":a.showWordLimit,disabled:a.disabled,readonly:c.value,placeholder:V.value}),null,16,["modelValue","maxlength","show-word-limit","disabled","readonly","placeholder"])):o.value==="year"||o.value==="month"||o.value==="date"?(i(),v(x,h({key:4,modelValue:f.value,"onUpdate:modelValue":l[4]||(l[4]=t=>f.value=t)},a.controlProps,{type:o.value,format:Z.value,"value-format":Z.value,disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),null,16,["modelValue","type","format","value-format","disabled","clearable","placeholder"])):o.value==="time"?(i(),v(w,h({key:5,modelValue:f.value,"onUpdate:modelValue":l[5]||(l[5]=t=>f.value=t)},a.controlProps,{format:"HH:mm:ss","value-format":"HH:mm:ss",disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),null,16,["modelValue","disabled","clearable","placeholder"])):o.value==="number"?(i(),v(E,h({key:6,"model-value":ne.value},a.controlProps,{min:Y.value.min,max:Y.value.max,precision:a.config.decimalPlaces,step:P.value,"step-strictly":a.config.rangeYpe===ge(u).SCALE_NUMBER,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:V.value,"onUpdate:modelValue":de}),null,16,["model-value","min","max","precision","step","step-strictly","disabled","readonly","clearable","placeholder"])):o.value==="scale-select"?(i(),v($,h({key:7,modelValue:S.value,"onUpdate:modelValue":l[6]||(l[6]=t=>S.value=t)},a.controlProps,{filterable:"",disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),{default:B(()=>[(i(!0),p(N,null,D(Q.value,t=>(i(),v(M,{key:String(t.value),label:String(t.label),value:String(t.value)},null,8,["label","value"]))),128))]),_:1},16,["modelValue","disabled","clearable","placeholder"])):o.value==="range-number"?(i(),p("div",Be,[T("div",{class:he(["indicator-range-input",{"is-error":y.value&&A.value}])},[m.value.operator==="±"?(i(),p(N,{key:0},[U(E,{"model-value":W.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:m.value.firstPlaceholder,"onUpdate:modelValue":G,onBlur:l[7]||(l[7]=t=>y.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"]),l[16]||(l[16]=T("span",{class:"indicator-range-operator"},"±",-1)),U(E,{"model-value":z.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:m.value.secondPlaceholder,"onUpdate:modelValue":q,onBlur:l[8]||(l[8]=t=>y.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"])],64)):m.value.double?(i(),p(N,{key:1},[U(E,{"model-value":W.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:m.value.firstPlaceholder,"onUpdate:modelValue":G,onBlur:l[9]||(l[9]=t=>y.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"]),T("span",Te,O(m.value.leftOperator),1),l[17]||(l[17]=T("span",{class:"indicator-range-variable"},"x",-1)),T("span",we,O(m.value.rightOperator),1),U(E,{"model-value":z.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:m.value.secondPlaceholder,"onUpdate:modelValue":q,onBlur:l[10]||(l[10]=t=>y.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"])],64)):(i(),p(N,{key:2},[T("span",Ce,O(m.value.operator),1),U(E,{"model-value":W.value,precision:a.config.decimalPlaces,step:P.value,disabled:a.disabled,readonly:c.value,clearable:a.clearable,placeholder:m.value.firstPlaceholder,"onUpdate:modelValue":G,onBlur:l[11]||(l[11]=t=>y.value=!0)},null,8,["model-value","precision","step","disabled","readonly","clearable","placeholder"])],64))],2),y.value&&A.value?(i(),p("div",Re,O(A.value),1)):ee("v-if",!0)])):o.value==="tree-select"?(i(),v(F,h({key:9,modelValue:S.value,"onUpdate:modelValue":l[12]||(l[12]=t=>S.value=t)},a.controlProps,{data:a.options,props:ue,"value-key":"value","node-key":"value","check-strictly":"",filterable:"","show-checkbox":I.value,multiple:I.value,"collapse-tags":I.value,"collapse-tags-tooltip":"",disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),null,16,["modelValue","data","show-checkbox","multiple","collapse-tags","disabled","clearable","placeholder"])):o.value==="select"?(i(),v($,h({key:10,modelValue:S.value,"onUpdate:modelValue":l[13]||(l[13]=t=>S.value=t)},a.controlProps,{filterable:"","collapse-tags":I.value,"collapse-tags-tooltip":"",multiple:I.value,disabled:a.disabled||c.value,clearable:a.clearable,placeholder:V.value,style:{width:"100%"}}),{default:B(()=>[(i(!0),p(N,null,D(C.value,t=>(i(),v(M,{key:String(t.value),label:String(t.label),value:String(t.value),disabled:R(t)},null,8,["label","value","disabled"]))),128))]),_:1},16,["modelValue","collapse-tags","multiple","disabled","clearable","placeholder"])):o.value==="radio"?(i(),v(ce,h({key:11,modelValue:f.value,"onUpdate:modelValue":l[14]||(l[14]=t=>f.value=t)},a.controlProps,{disabled:a.disabled||c.value}),{default:B(()=>[(i(!0),p(N,null,D(C.value,t=>(i(),v(se,{key:String(t.value),value:String(t.value),disabled:R(t)},{default:B(()=>[le(O(t.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"])):(i(),v(ve,h({key:12,modelValue:X.value,"onUpdate:modelValue":l[15]||(l[15]=t=>X.value=t)},a.controlProps,{disabled:a.disabled||c.value}),{default:B(()=>[(i(!0),p(N,null,D(C.value,t=>(i(),v(me,{key:String(t.value),value:String(t.value),disabled:R(t)},{default:B(()=>[le(O(t.label),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]))])}}}),zl=Se(Le,[["__scopeId","data-v-bdedcdac"]]);export{zl as default};
@@ -26,9 +26,9 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
26
26
  }>, {
27
27
  disabled: boolean;
28
28
  modelValue: string | number | null;
29
- readonly: boolean;
30
- clearable: boolean;
31
29
  valueOnClear: "min" | "max" | number | null;
30
+ clearable: boolean;
31
+ readonly: boolean;
32
32
  min: number;
33
33
  max: number;
34
34
  precision: number;
@@ -0,0 +1,51 @@
1
+ type __VLS_Props = {
2
+ rows?: number;
3
+ autosize?: boolean | {
4
+ minRows?: number;
5
+ maxRows?: number;
6
+ };
7
+ maxlength?: number;
8
+ showWordLimit?: boolean;
9
+ placeholder?: string;
10
+ disabled?: boolean;
11
+ readonly?: boolean;
12
+ resize?: 'none' | 'both' | 'horizontal' | 'vertical';
13
+ /** 是否提供放大编辑入口,默认提供 */
14
+ expandable?: boolean;
15
+ /** 放大编辑弹窗标题与按钮提示 */
16
+ expandTitle?: string;
17
+ /** 放大编辑弹窗宽度 */
18
+ expandWidth?: string;
19
+ /** 放大编辑弹窗高度 */
20
+ expandHeight?: string;
21
+ };
22
+ type __VLS_PublicProps = __VLS_Props & {
23
+ modelValue?: string;
24
+ };
25
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
26
+ focus: () => any;
27
+ blur: () => any;
28
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ change: (value: string) => any;
30
+ "update:modelValue": (value: string) => any;
31
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
32
+ onChange?: ((value: string) => any) | undefined;
33
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
34
+ }>, {
35
+ resize: "none" | "both" | "horizontal" | "vertical";
36
+ disabled: boolean;
37
+ placeholder: string;
38
+ readonly: boolean;
39
+ maxlength: number;
40
+ showWordLimit: boolean;
41
+ rows: number;
42
+ autosize: boolean | {
43
+ minRows?: number;
44
+ maxRows?: number;
45
+ };
46
+ expandable: boolean;
47
+ expandTitle: string;
48
+ expandWidth: string;
49
+ expandHeight: string;
50
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
51
+ export default _default;
@@ -0,0 +1 @@
1
+ import{E as _}from"../../../chunks/ElTextarea-CRk-I9iq.js";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"vue";import"@element-plus/icons-vue";import"../../hooks/createDialogHooks.js";import"element-plus";import"../../stores/storeConfig.js";import"pinia";import"pinia-plugin-store";import"crypto-js/enc-utf8";import"crypto-js/enc-base64";import"../../config/ElementPlusConfig.js";import"../../utils/patchWujiePopperCoordinates.js";import"../../config/VxeTableConfig.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../vxeReplace/index.js";import"../tooltip/index.js";import"../tooltip/src/tooltip.js";import"../../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js";import"../../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"element-plus/es/locale/lang/zh-cn";import"../../hooks/useListenerHooks.js";import"../../stores/permissionStore.js";import"../../utils/frontendBus.js";import"../../utils/behaviorTrack.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/behaviorContext.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/dateTime.js";import"../../utils/operationAuth.js";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../icon/ElIcons.vue.js";import"@vueuse/core";import"../ElDialogBody/ElDialogBody.vue.js";import"../../utils/globalLoading.js";import"../../hooks/useBehaviorAction.js";export{_ as default};
@@ -0,0 +1,30 @@
1
+ type __VLS_Props = {
2
+ /** 放大编辑的初始文本 */
3
+ text?: string;
4
+ /** 与内嵌文本域一致的字数上限 */
5
+ maxlength?: number;
6
+ /** 是否展示字数统计 */
7
+ showWordLimit?: boolean;
8
+ placeholder?: string;
9
+ /** 只读文本域放大后仍按只读展示 */
10
+ readonly?: boolean;
11
+ };
12
+ type __VLS_PublicProps = __VLS_Props & {
13
+ 'loading'?: boolean;
14
+ };
15
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
16
+ confirm: () => Promise<void>;
17
+ resetQuery: () => Promise<void>;
18
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ confirm: (value: string) => any;
20
+ "update:loading": (value: boolean) => any;
21
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
+ onConfirm?: ((value: string) => any) | undefined;
23
+ "onUpdate:loading"?: ((value: boolean) => any) | undefined;
24
+ }>, {
25
+ text: string;
26
+ placeholder: string;
27
+ readonly: boolean;
28
+ showWordLimit: boolean;
29
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ export default _default;
@@ -0,0 +1 @@
1
+ import{a as _}from"../../../chunks/ElTextarea-CRk-I9iq.js";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"vue";import"@element-plus/icons-vue";import"../../hooks/createDialogHooks.js";import"element-plus";import"../../stores/storeConfig.js";import"pinia";import"pinia-plugin-store";import"crypto-js/enc-utf8";import"crypto-js/enc-base64";import"../../config/ElementPlusConfig.js";import"../../utils/patchWujiePopperCoordinates.js";import"../../config/VxeTableConfig.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../vxeReplace/index.js";import"../tooltip/index.js";import"../tooltip/src/tooltip.js";import"../../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js";import"../../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"element-plus/es/locale/lang/zh-cn";import"../../hooks/useListenerHooks.js";import"../../stores/permissionStore.js";import"../../utils/frontendBus.js";import"../../utils/behaviorTrack.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/behaviorContext.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/dateTime.js";import"../../utils/operationAuth.js";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../icon/ElIcons.vue.js";import"@vueuse/core";import"../ElDialogBody/ElDialogBody.vue.js";import"../../utils/globalLoading.js";import"../../hooks/useBehaviorAction.js";export{_ as default};
@@ -19,7 +19,10 @@ declare const _default: import("vue").DefineComponent<{
19
19
  alias?: string
20
20
  /** 按钮级覆盖:图标/文字颜色。 */
21
21
  | undefined;
22
- color?: string | undefined;
22
+ color?: string
23
+ /** 展示形态:button=按权限点配置渲染按钮(默认);menuItem=下拉菜单项(图标+权限色+文字) */
24
+ | undefined;
25
+ displayMode?: ("button" | "menuItem") | undefined;
23
26
  }, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
24
27
  [key: string]: any;
25
28
  }> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
@@ -44,8 +47,12 @@ declare const _default: import("vue").DefineComponent<{
44
47
  alias?: string
45
48
  /** 按钮级覆盖:图标/文字颜色。 */
46
49
  | undefined;
47
- color?: string | undefined;
50
+ color?: string
51
+ /** 展示形态:button=按权限点配置渲染按钮(默认);menuItem=下拉菜单项(图标+权限色+文字) */
52
+ | undefined;
53
+ displayMode?: ("button" | "menuItem") | undefined;
48
54
  }> & Readonly<{}>, {
49
55
  noConfig: boolean;
56
+ displayMode: string;
50
57
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
51
58
  export default _default;
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import"vue";import"../../hooks/useBehaviorAction.js";import"../../utils/behaviorTrack.js";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/uuid.js";import"uuid";import"../../utils/behaviorContext.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/dateTime.js";import"../../hooks/useOperationAuth.js";import"vue-router";import"../../stores/permissionStore.js";import"pinia";import"../../utils/frontendBus.js";import"../../utils/operationAuth.js";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";export{o as default};
1
+ import{defineComponent as H,computed as a,isVNode as p,h as n,resolveComponent as c,resolveDynamicComponent as N,cloneVNode as J}from"vue";import K from"../../hooks/useBehaviorAction.js";import Y from"../../hooks/useOperationAuth.js";import{_ as $}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/behaviorTrack.js";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/uuid.js";import"uuid";import"../../utils/behaviorContext.js";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/dateTime.js";import"vue-router";import"../../stores/permissionStore.js";import"pinia";import"../../utils/frontendBus.js";import"../../utils/operationAuth.js";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";const T={primary:"var(--el-color-primary)",success:"var(--el-color-success)",info:"var(--el-color-info)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",error:"var(--el-color-danger)"},j=H({name:"OperationAuth",props:{operCode:{type:[String,Array],required:!0},menuCode:String,noConfig:Boolean,loadType:String,icon:String,remark:String,alias:String,color:String,displayMode:{type:String,default:"button"}},setup(r,{slots:i}){const{getOperation:L}=Y(),{runBehaviorAction:V}=K(),z=a(()=>Array.isArray(r.operCode)?r.operCode:[r.operCode]),m=a(()=>L(z.value,r.menuCode)),x=a(()=>!!m.value),I=a(()=>{const e=r.remark??m.value?.remark;if(!e)return{alias:"",color:""};try{const t=JSON.parse(e);return{alias:t?.aliases?.alias1||t?.aliases?.alias||"",color:t?.color||t?.icon?.color||t?.text?.color||""}}catch{return{alias:"",color:""}}}),s=a(()=>(r.icon??m.value?.icon??"").trim()),C=a(()=>r.alias||I.value.alias||m.value?.name||""),S=a(()=>m.value?.code||z.value[0]||""),f=a(()=>C.value||S.value||"未命名操作"),y=a(()=>({"data-behavior-operation-code":S.value,"data-behavior-operation-name":f.value,"data-behavior-scope":"manual","data-track-code":S.value,"data-track-name":f.value})),b=a(()=>r.color||I.value.color||""),v=a(()=>b.value.trim().toLowerCase()),u=a(()=>v.value!==""&&v.value in T),h=a(()=>{if(u.value)return v.value==="error"?"danger":v.value}),g=a(()=>{if(u.value)return;const e=b.value.trim();if(e)return{color:T[v.value]||e}}),B=a(()=>r.loadType??m.value?.loadType??""),k=a(()=>String(B.value??"")),P=a(()=>{const e=i.default?.()[0];if(!e||!p(e))return!1;const t=e.type||{},l=String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"");return/^elicon/i.test(l)?!0:/^elbutton$/i.test(l)&&!!e.props?.icon}),w=a(()=>{const e=i.default?.()[0];if(!e||!p(e))return!1;const t=e.type||{};return String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"").toLowerCase()==="elbutton"&&k.value==="20"}),_=a(()=>r.displayMode==="menuItem"?"menuItem":r.noConfig?"slot":w.value||P.value?"icon":k.value==="10"?"text":k.value==="20"?"icon":k.value==="30"?"iconText":"slot"),M=a(()=>i.default?.()[0]?.props?.onClick),A=a(()=>{const e=i.default?.()[0];return p(e)&&e.props?.["data-behavior-scope"]==="manual"}),O=e=>{const t=M.value;return Array.isArray(t)?t.reduce((o,l)=>typeof l=="function"?l(...e):o,void 0):typeof t=="function"?t(...e):void 0},d=(...e)=>A.value?O(e):V({code:S.value,name:f.value,actionType:"CLICK"},()=>O(e)),Z=e=>{if(e.type==="button")return!0;const t=e.type,o=String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"").toLowerCase();return o==="elbutton"||o==="eliconbtn"||o==="eliconsearch"},E=e=>{const t=e.type;return String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"").toLowerCase()==="eliconbtn"},W=e=>u.value||!E(e)?{}:{neutral:!0},R=()=>(i.default?.()||[]).map(t=>{if(!p(t)||!Z(t))return t;const o=J(t,{...y.value,...A.value?{}:{onClick:d},type:u.value?h.value:void 0,...W(t),style:b.value.trim()?g.value:void 0});return!A.value&&o.props&&(o.props.onClick=d),o});return()=>{if(!x.value)return null;if(_.value==="icon"){const e=i.default?.()[0],t=p(e)?e.props||{}:{};if(w.value){const o={...t};delete o.modelValue,delete o.tip,delete o.elementType,delete o.neutral,delete o.icon;const l=s.value||"adtec-tips",q=n(c("el-icon"),{},()=>l.startsWith("adtec-")?n("svg",{class:"icon","aria-hidden":"true"},[n("use",{href:"#"+l})]):n(N(l))),D=n(c("el-button"),{...o,...y.value,type:u.value?h.value:void 0,title:f.value,"aria-label":f.value,style:[o.style,g.value],onClick:d},{icon:()=>q});return n(c("el-tooltip"),{content:f.value,placement:"top"},{default:()=>D})}return n(c("el-icon-btn"),{...t,...y.value,modelValue:s.value||t.modelValue||"adtec-tips",tip:C.value||t.tip,type:u.value?h.value:void 0,neutral:!u.value,style:g.value,onClick:d})}if(_.value==="text"){const e=i.default?.()[0],o={...p(e)?e.props||{}:{}};return delete o.modelValue,delete o.tip,delete o.icon,n(c("el-button"),{...o,...y.value,type:u.value?h.value:void 0,size:P.value?"small":o.size,style:[o.style,g.value],onClick:d},()=>C.value)}if(_.value==="iconText"){const e=i.default?.()[0],t=p(e)?e.props||{}:{},o=s.value?n(c("el-icon"),{},()=>s.value.startsWith("adtec-")?n("svg",{class:"icon","aria-hidden":"true"},[n("use",{href:"#"+s.value})]):n(N(s.value))):void 0;return n(c("el-button"),{...t,...y.value,type:h.value,style:[t.style,g.value],onClick:d},[o,n("span",{},C.value)])}if(_.value==="menuItem"){const e=s.value,t=v.value?{color:T[v.value]||b.value.trim()}:void 0;return n("span",{...y.value,class:"operation-auth-menu-item",style:t,onClick:d},[e?n(c("el-icon"),{},()=>e.startsWith("adtec-")?n("svg",{class:"icon","aria-hidden":"true"},[n("use",{href:"#"+e})]):n(N(e))):void 0,n("span",{},C.value)])}return R()}}}),ye=$(j,[["__scopeId","data-v-6a3579c4"]]);export{ye as default};
@@ -1 +1 @@
1
- import{createApp as o,h as i}from"vue";import h from"element-plus";import c from"./VxeExportDialog.vue.js";import"@vueuse/core";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";let t=null,l=null;function d(){t&&(t.unmount(),t=null),l&&(l.remove(),l=null)}async function N(e){const{grid:m,exportTypes:u=[]}=e;if(!m)return;const a=e.filename||e.sheetName||e.title||"导出数据",r={filename:a,sheetName:a,type:"xlsx",useStyle:!0};if(e.sheetMethod&&(r.sheetMethod=e.sheetMethod),e.excludeColumns?.length&&(r.excludeFields=e.excludeColumns),!u.length){await m.exportData(r);return}d(),l=document.createElement("div"),document.body.appendChild(l),t=o({render:()=>i(c,{modelValue:!0,gridRef:m,title:e.title,filename:e.filename,sheetName:e.sheetName,exportTypes:u,loadAllData:e.loadAllData,columns:e.columns,excludeColumns:e.excludeColumns,sheetMethod:e.sheetMethod,"onUpdate:modelValue":n=>{n||d()}})}),t.use(h),t.mount(l)}export{N as exportGridData};
1
+ import{createApp as o,h as i}from"vue";import h from"element-plus";import c from"./VxeExportDialog.vue.js";import"@vueuse/core";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";let t=null,l=null;function d(){t&&(t.unmount(),t=null),l&&(l.remove(),l=null)}async function E(e){const{grid:m,exportTypes:u=[]}=e;if(!m)return;const a=e.filename||e.sheetName||e.title||"导出数据",r={filename:a,sheetName:a,type:"xlsx",useStyle:!0};if(e.sheetMethod&&(r.sheetMethod=e.sheetMethod),e.excludeColumns?.length&&(r.excludeFields=e.excludeColumns),!u.length){await m.exportData(r);return}d(),l=document.createElement("div"),document.body.appendChild(l),t=o({render:()=>i(c,{modelValue:!0,gridRef:m,title:e.title,filename:e.filename,sheetName:e.sheetName,exportTypes:u,loadAllData:e.loadAllData,columns:e.columns,excludeColumns:e.excludeColumns,sheetMethod:e.sheetMethod,"onUpdate:modelValue":n=>{n||d()}})}),t.use(h),t.mount(l)}export{E as exportGridData};
@@ -58,9 +58,9 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
58
58
  onSuccess?: ((...args: any[]) => any) | undefined;
59
59
  }>, {
60
60
  multiple: boolean;
61
+ onConfirm: (users: ISysUserInfo[]) => void | Promise<void>;
61
62
  selectedUserIds: string[];
62
63
  roleId: string;
63
64
  includeExternal: boolean;
64
- onConfirm: (users: ISysUserInfo[]) => void | Promise<void>;
65
65
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
66
66
  export default _default;
@@ -11,10 +11,20 @@ type __VLS_Props = {
11
11
  /** 已加载的字典项,传入时跳过缓存查找 */
12
12
  item?: ISysDictDataCacheVo;
13
13
  };
14
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
+ declare var __VLS_5: {};
15
+ type __VLS_Slots = {} & {
16
+ default?: (props: typeof __VLS_5) => any;
17
+ };
18
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
15
19
  item: ISysDictDataCacheVo;
16
20
  mode: "tag" | "text";
17
21
  value: string | number;
18
22
  aliasKey: string;
19
23
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
20
25
  export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js";import"vue";import"../../hooks/useDictHooks.js";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";export{o as default};
1
+ import{_ as o}from"../../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DT27bVnE.js";import"vue";import"../../hooks/useDictHooks.js";import"../../api/SysDictCacheApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";export{o as default};
@@ -57,6 +57,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
57
57
  title: string;
58
58
  fileName: string;
59
59
  emptyDescription: string;
60
+ showHeader: boolean;
60
61
  showSearch: boolean;
61
62
  showZoom: boolean;
62
63
  showDownload: boolean;
@@ -64,7 +65,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
64
65
  showFullscreen: boolean;
65
66
  fileId: string;
66
67
  fileType: string;
67
- showHeader: boolean;
68
68
  lostDescription: string;
69
69
  attachmentLost: boolean;
70
70
  refreshAttachment: () => Promise<PreviewAttachment | void>;
@@ -64,6 +64,9 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
64
64
  type: NumberConstructor;
65
65
  default: number;
66
66
  };
67
+ /**
68
+ * @deprecated 附件列表已统一为卡片(宽度随内容自增、自动换行),该属性不再生效,仅为兼容旧调用保留
69
+ */
67
70
  itemWidth: {
68
71
  type: StringConstructor;
69
72
  default: string;
@@ -184,6 +187,9 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
184
187
  type: NumberConstructor;
185
188
  default: number;
186
189
  };
190
+ /**
191
+ * @deprecated 附件列表已统一为卡片(宽度随内容自增、自动换行),该属性不再生效,仅为兼容旧调用保留
192
+ */
187
193
  itemWidth: {
188
194
  type: StringConstructor;
189
195
  default: string;
@@ -1 +1 @@
1
- import{defineComponent as pe,ref as C,computed as E,useModel as J,resolveComponent as h,resolveDirective as fe,openBlock as y,createElementBlock as F,normalizeClass as ve,Fragment as ge,renderList as ye,createVNode as p,withCtx as f,createElementVNode as S,unref as W,toDisplayString as b,withDirectives as he,createBlock as R,createTextVNode as $,createCommentVNode as q,normalizeStyle as we,withModifiers as xe,mergeModels as K}from"vue";import{UploadFilled as _e}from"@element-plus/icons-vue";import{ElMessage as c,ElMessageBox as Ce}from"element-plus";import Fe from"../../hooks/useFileView.js";import M from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import{confirmDelete as Be}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as ke}from"../../stores/userInfoStore.js";import{getAcceptString as Ue}from"../../utils/uploadAccept.js";import{buildUploadHeaders as Ee}from"../../utils/buildUploadHeaders.js";import{_ as Se}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/frontendBus.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"../../hooks/useBehaviorAction.js";import"pinia";import"../../utils/userSessionStorage.js";const be={key:0},Me=["onClick"],Ie={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},Le={class:"el-upload__tip"},De=pe({__name:"CustomElUpload",props:K({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:K(["success","change"],["update:uploadFilesList","update:loading"]),setup(d,{expose:Q,emit:X}){const{fileView:O}=Fe(),I=X,Y=ke(),v=C(),m=C([]),w=C(""),x=C([]),k=e=>{x.value=e,I("change",e)},o=d,V=E(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),Z=E(()=>Ee(V.value)),n=J(d,"uploadFilesList"),ee=e=>{w.value=e},te=()=>{w.value=""},L=E(()=>Ue(o.accept)),j=e=>{const t=e.split(".").pop()+"";return".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP".includes(t)?"adtec-image":"txt".includes(t)?"adtec-text":"pdf".includes(t)?"adtec-pdf":"doc,docx".includes(t)?"adtec-word":"xls,xlsx".includes(t)?"adtec-excel":"ppt,pptx".includes(t)?"adtec-ppt":"adtec-text"},ae=async e=>{const t=o.uploadCreateBy?.trim(),l=e.id!=null?String(e.id):"";if(!t||!l)return e;try{await M.updateFilesCreateBy([l],t),e.createBy=t}catch(a){B.messageError(a)}return e},le=async(e,t,l)=>{if(e.code==="0"){const a=await ae(e.data);n.value.push(a)}else c.error(e.msg),v.value?.handleRemove(t);for(let a=r.value.length-1;a>=0;a--)r.value[a]===t.name&&r.value.splice(a,1);e.code==="0"&&(o.showOptMessage&&c.success("上传成功"),I("success",{files:n.value,deleteFiles:m.value})),r.value.length===0&&(g.value=!1,T(e.code==="0"?void 0:new Error(e.msg||"上传失败")))},g=J(d,"loading"),r=C([]);let D,P;const G=E(()=>x.value.some(e=>e.status!=="success"&&e.status!=="fail")),oe=()=>n.value.length>0||G.value,T=e=>{r.value.length>0||(e?P?.(e):D?.(),D=void 0,P=void 0)},z=async e=>{if(n.value.find(i=>i.name===e.name))return c.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return c.warning("文件大小不能超过"+o.size+"MB"),!1;const l=L.value?.split(",").map(i=>i.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return l&&!l.includes(a??"")?(c.error(`文件 ${e.name} 格式不支持,仅允许 ${L.value}!`),setTimeout(()=>{v.value?.clearFiles(["ready"]),k(x.value.filter(i=>i.status!=="ready"))},1),!1):(r.value.includes(e.name)||r.value.push(e.name),!0)},U=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},se=e=>{if(U(e))return!1;if(!e?.createBy?.trim())return!0;const t=o.fileOwnerAccounts?.map(l=>l.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):Y.getUserInfo.userCode===e.createBy},ne=async e=>{if(U(e)){c.warning("该附件非您上传,无法预览或删除");return}if(e.name===w.value){if(e.createBy&&!se(e)){c.warning("您没有权限删除此文件!");return}if(o.isConfirmDelete)v.value?.handleRemove(e);else if(!await Be({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>v.value?.handleRemove(e),successMessage:!1}))return}else A(e)},ie=(e,t)=>{k(t)},re=async(e,t)=>{if(o.limit===1&&o.overwrite&&n.value.length>=1){const l=[...n.value],a=l[0];if(!o.isConfirmDelete){if(!await Ce.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{g.value=!0,await M.delSysUploadFile(a.id).catch(u=>{B.messageError(u)})}catch(u){B.messageError(u);return}finally{g.value=!1}}n.value=[],v.value?.clearFiles(),k([]),e.length>0?await z(e[0])?(o.isConfirmDelete&&l.forEach(u=>{m.value.some(_=>_.id===u.id)||m.value.push(u)}),v.value?.handleStart(e[0]),o.autoUpload&&v.value?.submit()):n.value.push(...l):l.forEach(i=>{m.value.some(u=>u.id===i.id)||m.value.push(i)})}else c.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ue=(e,t,l)=>{c.error("上传失败");for(let a=r.value.length-1;a>=0;a--)r.value[a]===t.name&&r.value.splice(a,1);r.value.length===0&&(g.value=!1,T(e))},A=async e=>{const t=n.value.find(l=>l.name===e.name);if(t){if(U(t)){c.warning("该附件非您上传,无法预览或删除");return}O(t.id)}},H=async(e,t=!0)=>{k(x.value.filter(a=>a.uid!==e.uid));const l=n.value.find(a=>a.name===e.name);if(!(!l||U(l)))try{o.isConfirmDelete?m.value.push(l):await M.delSysUploadFile(l.id),n.value.splice(n.value.indexOf(l),1)}catch(a){B.messageError(a)}},ce=(e,t)=>{g.value=!0};return Q({remove:H,confirm:async(e=!0)=>{try{if(g.value=!0,o.isConfirmDelete&&m.value.length>0&&e&&(await M.delSysUploadFiles(m.value.map(t=>t.id)),m.value=[]),!o.autoUpload)if(G.value){const t=x.value.filter(a=>a.status!=="success"&&a.status!=="fail");for(const a of t)if(!a.raw||!await z(a.raw))throw new Error("待上传文件校验失败");const l=new Promise((a,i)=>{D=a,P=i});v.value?.submit(),await l}else o.showOptMessage&&c.success("操作成功"),I("success",{files:n.value,deleteFiles:m.value});g.value=!1}catch(t){throw B.messageError(t),g.value=!1,t}},hasFiles:oe}),(e,t)=>{const l=h("el-icons"),a=h("el-tooltip"),i=h("el-icon"),u=h("el-text"),_=h("el-flex"),de=h("el-upload"),me=fe("loading");return d.isEdit?he((y(),R(de,{key:1,ref_key:"ref_upload",ref:v,"file-list":n.value,onSuccess:le,onRemove:H,onPreview:A,"auto-upload":d.autoUpload,onChange:ie,onError:ue,onExceed:re,onProgress:ce,"before-upload":z,drag:"",accept:L.value,action:V.value,multiple:"",limit:d.limit,headers:Z.value},{file:f(({file:s})=>[p(_,{class:"file-class",onMousemove:N=>ee(s.name),onMouseout:te,onClick:N=>A(s),height:"20px",width:d.itemWidth},{default:f(()=>[p(_,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:f(()=>[p(a,{class:"box-item",content:s.name,placement:"top"},{default:f(()=>[p(u,{truncated:"",style:{cursor:"pointer"}},{default:f(()=>[p(l,{"model-value":j(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),$(" "+b(s.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),p(_,{align:"center",justify:"flex-end",width:"50px"},{default:f(()=>[!s?.businessId&&s.percentage!==100?(y(),R(u,{key:0},{default:f(()=>[$(b(s.percentage)+"% ",1)]),_:2},1024)):q("v-if",!0),s?.businessId||s.percentage===100?(y(),R(l,{key:1,onClick:xe(N=>ne(s),["prevent","stop"]),"model-value":s.name===w.value?"adtec-close":"adtec-success",style:we([{color:"var(--el-color-success)","font-size":"14px"},{color:s.name===w.value?"var(--el-color-danger)":"var(--el-color-success)"}])},null,8,["onClick","model-value","style"])):q("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:f(()=>[p(i,{class:"el-icon--upload"},{default:f(()=>[p(W(_e))]),_:1}),t[0]||(t[0]=S("div",{class:"el-upload__text"},[$("拖动文件或"),S("em",null,"点击上传")],-1)),S("div",Le,"最大上传文件大小"+b(d.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[me,d.showLoading&&g.value]]):(y(),F("div",be,[n.value?.length?(y(),F("div",{key:0,class:ve(["readonly-file-list",{"is-vertical":d.vertical}])},[(y(!0),F(ge,null,ye(n.value,s=>(y(),F("div",{key:s.id,class:"file-item"},[p(l,{"model-value":j(s.name),style:{"margin-right":"5px"}},null,8,["model-value"]),p(a,{content:s.name,placement:"top"},{default:f(()=>[S("span",{class:"link-name",onClick:N=>W(O)(s.id)},b(s.name),9,Me)]),_:2},1032,["content"])]))),128))],2)):(y(),F("div",Ie,"暂无附件"))]))}}}),mt=Se(De,[["__scopeId","data-v-dbd35e1f"]]);export{mt as default};
1
+ import{defineComponent as Ue,ref as E,computed as S,useModel as ee,resolveComponent as h,resolveDirective as Ee,openBlock as c,createElementBlock as w,normalizeClass as T,Fragment as te,renderList as ae,createVNode as p,createElementVNode as F,withCtx as m,unref as oe,createTextVNode as O,toDisplayString as C,createCommentVNode as P,createBlock as k,normalizeStyle as le,withDirectives as Se,mergeModels as ne}from"vue";import{UploadFilled as Me}from"@element-plus/icons-vue";import{ElMessage as f,ElMessageBox as De}from"element-plus";import Ie from"../../hooks/useFileView.js";import Le from"../../hooks/useFileOpen.js";import M from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import{formatDateTime as Ne}from"../../utils/dateTime.js";import{confirmDelete as ze}from"../../hooks/useDeleteConfirmHooks.js";import{userInfoStore as $e}from"../../stores/userInfoStore.js";import{getAcceptString as Ae,getFileSuffix as Te}from"../../utils/uploadAccept.js";import{canExportPdf as Oe}from"../../utils/officePreviewUtil.js";import{buildUploadHeaders as Pe}from"../../utils/buildUploadHeaders.js";import{_ as Re}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/frontendBus.js";import"../../utils/fileDownload.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"../../hooks/useBehaviorAction.js";import"pinia";import"../../utils/userSessionStorage.js";const Ve={key:0},je={class:"attach-card__main"},Ye={key:0,class:"attach-card__meta"},He={class:"attach-card__menu-item"},Ke={key:1,class:"attach-card-empty"},qe={class:"el-upload__tip"},We={class:"attach-card"},Ge={class:"attach-card__main"},Je={key:0,class:"attach-card__meta"},Qe={key:0,class:"attach-card__progress"},Xe=Ue({__name:"CustomElUpload",props:ne({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},showLoading:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:()=>[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:ne(["success","change"],["update:uploadFilesList","update:loading"]),setup(g,{expose:se,emit:re}){const{fileView:R}=Ie(),{downloadFile:ie}=Le(),D=re,ce=$e(),_=E(),v=E([]),x=E([]),b=e=>{x.value=e,D("change",e)},l=g,V=S(()=>"/api/doc/uploadFile/"+l.business+"/"+l.businessId+"/"+l.association+(l.watermarkCode?"?watermarkCode="+l.watermarkCode:"")),de=S(()=>Pe(V.value)),s=ee(g,"uploadFilesList"),I=S(()=>Ae(l.accept)),j=e=>{const t=(e.split(".").pop()||"").toLowerCase();return["jpg","jpeg","png","gif","bmp"].includes(t)?"image":t==="pdf"?"pdf":["doc","docx"].includes(t)?"word":["xls","xlsx"].includes(t)?"excel":["ppt","pptx"].includes(t)?"ppt":"text"},ue={image:"adtec-image",pdf:"adtec-pdf",word:"adtec-word",excel:"adtec-excel",ppt:"adtec-ppt",text:"adtec-text"},Y=e=>ue[j(e)]||"adtec-text",H=e=>`is-${j(e)}`,K=e=>{const t=Number(e);return!Number.isFinite(t)||t<=0?"":t<1024?`${Math.round(t)}KB`:`${(t/1024).toFixed(1)}MB`},L=e=>{const t=K(e.size),o=e.createTime?Ne(e.createTime,{format:"YYYY-MM-DD HH:mm"}):"";return[t,o].filter(Boolean).join(" ")},q=e=>{const t=[{action:"watermark",label:"下载",icon:"adtec-download",color:"var(--el-color-primary)"}];return Oe(Te({name:e.name,type:e.type}))&&t.push({action:"pdf",label:"下载 PDF",icon:"adtec-pdf",color:"var(--el-color-danger)"}),t},W=(e,t)=>ie(e,t),pe=e=>e?.status==="uploading",G=e=>{if(e?.businessId||e?.id)return L(e);const t=Number(e?.size),o=Number.isFinite(t)&&t>0?K(t/1024):"",a=e?.status==="fail"?"上传失败":e?.status==="uploading"?`${Number(e?.percentage)||0}%`:e?.status==="success"?"已上传":"待上传";return[o,a].filter(Boolean).join(" ")},me=async e=>{const t=l.uploadCreateBy?.trim(),o=e.id!=null?String(e.id):"";if(!t||!o)return e;try{await M.updateFilesCreateBy([o],t),e.createBy=t}catch(a){B.messageError(a)}return e},fe=async(e,t,o)=>{if(e.code==="0"){const a=await me(e.data),r=s.value.findIndex(i=>i.name===t.name&&!i.id);r>=0?s.value.splice(r,1,a):s.value.push(a)}else f.error(e.msg),_.value?.handleRemove(t);for(let a=u.value.length-1;a>=0;a--)u.value[a]===t.name&&u.value.splice(a,1);e.code==="0"&&(l.showOptMessage&&f.success("上传成功"),D("success",{files:s.value,deleteFiles:v.value})),u.value.length===0&&(y.value=!1,Q(e.code==="0"?void 0:new Error(e.msg||"上传失败")))},y=ee(g,"loading"),u=E([]);let N,z;const J=S(()=>x.value.some(e=>e.status!=="success"&&e.status!=="fail")),ve=()=>s.value.length>0||J.value,Q=e=>{u.value.length>0||(e?z?.(e):N?.(),N=void 0,z=void 0)},$=async e=>{if(s.value.find(r=>r.name===e.name))return f.warning(e.name+",文件已存在"),!1;if(e.size>l.size*1024*1024)return f.warning("文件大小不能超过"+l.size+"MB"),!1;const o=I.value?.split(",").map(r=>r.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return o&&!o.includes(a??"")?(f.error(`文件 ${e.name} 格式不支持,仅允许 ${I.value}!`),setTimeout(()=>{_.value?.clearFiles(["ready"]),b(x.value.filter(r=>r.status!=="ready"))},1),!1):(u.value.includes(e.name)||u.value.push(e.name),!0)},U=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&l.readonlyFileIds.includes(t)},ge=e=>{if(U(e))return!1;if(!e?.createBy?.trim())return!0;const t=l.fileOwnerAccounts?.map(o=>o.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):ce.getUserInfo.userCode===e.createBy},_e=async e=>{if(U(e)){f.warning("该附件非您上传,无法预览或删除");return}if(e.createBy&&!ge(e)){f.warning("您没有权限删除此文件!");return}if(l.isConfirmDelete){_.value?.handleRemove(e);return}await ze({message:"删除不可恢复!您确定删除此附件?",title:"提示",request:()=>_.value?.handleRemove(e),successMessage:!1})},ye=(e,t)=>{b(t)},he=async(e,t)=>{if(l.limit===1&&l.overwrite&&s.value.length>=1){const o=[...s.value],a=o[0];if(!l.isConfirmDelete){if(!await De.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{y.value=!0,await M.delSysUploadFile(a.id).catch(i=>{B.messageError(i)})}catch(i){B.messageError(i);return}finally{y.value=!1}}s.value=[],_.value?.clearFiles(),b([]),e.length>0?await $(e[0])?(l.isConfirmDelete&&o.forEach(i=>{v.value.some(A=>A.id===i.id)||v.value.push(i)}),_.value?.handleStart(e[0]),l.autoUpload&&_.value?.submit()):s.value.push(...o):o.forEach(r=>{v.value.some(i=>i.id===r.id)||v.value.push(r)})}else f.warning(`最多上传${l.limit}个文件,上传文件数量已达到限制`)},we=(e,t,o)=>{f.error("上传失败");for(let a=u.value.length-1;a>=0;a--)u.value[a]===t.name&&u.value.splice(a,1);u.value.length===0&&(y.value=!1,Q(e))},X=async e=>{const t=s.value.find(o=>o.name===e.name);if(t){if(U(t)){f.warning("该附件非您上传,无法预览或删除");return}R(t.id)}},Z=async(e,t=!0)=>{b(x.value.filter(a=>a.uid!==e.uid));const o=s.value.find(a=>a.name===e.name);if(!(!o||U(o)))try{l.isConfirmDelete?v.value.push(o):await M.delSysUploadFile(o.id),s.value.splice(s.value.indexOf(o),1)}catch(a){B.messageError(a)}},Fe=(e,t)=>{y.value=!0};return se({remove:Z,confirm:async(e=!0)=>{try{if(y.value=!0,l.isConfirmDelete&&v.value.length>0&&e&&(await M.delSysUploadFiles(v.value.map(t=>t.id)),v.value=[]),!l.autoUpload)if(J.value){const t=x.value.filter(a=>a.status!=="success"&&a.status!=="fail");for(const a of t)if(!a.raw||!await $(a.raw))throw new Error("待上传文件校验失败");const o=new Promise((a,r)=>{N=a,z=r});_.value?.submit(),await o}else l.showOptMessage&&f.success("操作成功"),D("success",{files:s.value,deleteFiles:v.value});y.value=!1}catch(t){throw B.messageError(t),y.value=!1,t}},hasFiles:ve}),(e,t)=>{const o=h("el-icons"),a=h("el-cell-link"),r=h("el-tooltip"),i=h("el-icon-btn"),A=h("el-dropdown-item"),Ce=h("el-dropdown-menu"),xe=h("el-dropdown"),ke=h("el-icon"),Be=h("el-upload"),be=Ee("loading");return g.isEdit?Se((c(),k(Be,{key:1,ref_key:"ref_upload",ref:_,"file-list":s.value,onSuccess:fe,onRemove:Z,onPreview:X,"auto-upload":g.autoUpload,onChange:ye,onError:we,onExceed:he,onProgress:Fe,"before-upload":$,drag:"",accept:I.value,action:V.value,multiple:"",limit:g.limit,headers:de.value},{file:m(({file:n})=>[F("div",We,[p(o,{class:T(["attach-card__icon",H(n.name)]),"model-value":Y(n.name)},null,8,["class","model-value"]),F("div",Ge,[p(r,{content:n.name,placement:"top"},{default:m(()=>[p(a,{class:"attach-card__name",onClick:d=>X(n)},{default:m(()=>[O(C(n.name),1)]),_:2},1032,["onClick"])]),_:2},1032,["content"]),G(n)?(c(),w("span",Je,C(G(n)),1)):P("v-if",!0)]),pe(n)?(c(),w("span",Qe,C(n.percentage)+"%",1)):(c(),k(i,{key:1,class:"attach-card__action","model-value":"adtec-delete",type:"danger",tip:"删除",onClick:d=>_e(n)},null,8,["onClick"]))])]),default:m(()=>[p(ke,{class:"el-icon--upload"},{default:m(()=>[p(oe(Me))]),_:1}),t[0]||(t[0]=F("div",{class:"el-upload__text"},[O("拖动文件或"),F("em",null,"点击上传")],-1)),F("div",qe,"最大上传文件大小"+C(g.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[be,g.showLoading&&y.value]]):(c(),w("div",Ve,[s.value?.length?(c(),w("div",{key:0,class:T(["attach-card-list",{"is-vertical":g.vertical}])},[(c(!0),w(te,null,ae(s.value,n=>(c(),w("div",{key:n.id,class:"attach-card"},[p(o,{class:T(["attach-card__icon",H(n.name)]),"model-value":Y(n.name)},null,8,["class","model-value"]),F("div",je,[p(r,{content:n.name,placement:"top"},{default:m(()=>[p(a,{class:"attach-card__name",onClick:d=>oe(R)(n.id)},{default:m(()=>[O(C(n.name),1)]),_:2},1032,["onClick"])]),_:2},1032,["content"]),L(n)?(c(),w("span",Ye,C(L(n)),1)):P("v-if",!0)]),P(" 多个下载动作时给菜单(与预览工具栏同一套动作与卷帘门动画),只有一个动作时直接下载 "),q(n).length>1?(c(),k(xe,{key:0,trigger:"click",placement:"bottom-end",persistent:!1,"popper-class":"adtec-roll-down",onCommand:d=>W(n,d)},{dropdown:m(()=>[p(Ce,null,{default:m(()=>[(c(!0),w(te,null,ae(q(n),d=>(c(),k(A,{key:d.action,command:d.action},{default:m(()=>[F("span",He,[p(o,{"model-value":d.icon,style:le({color:d.color})},null,8,["model-value","style"]),F("span",{style:le({color:d.color})},C(d.label),5)])]),_:2},1032,["command"]))),128))]),_:2},1024)]),default:m(()=>[p(i,{class:"attach-card__action","model-value":"adtec-download",type:"primary",title:"下载"})]),_:2},1032,["onCommand"])):(c(),k(i,{key:1,class:"attach-card__action","model-value":"adtec-download",type:"primary",tip:"下载",onClick:d=>W(n)},null,8,["onClick"]))]))),128))],2)):(c(),w("div",Ke,"暂无附件"))]))}}}),Nt=Re(Xe,[["__scopeId","data-v-8dd66a88"]]);export{Nt as default};
@@ -1 +1 @@
1
- import{defineComponent as s,ref as m,openBlock as f,createBlock as v,createCommentVNode as d}from"vue";import c from"../../api/DocumentApi.js";import w from"../../utils/FrameworkUtils.js";import V from"../../utils/fileDownload.js";import F from"./FileView.vue.js";import{getFileSuffix as x,isPreviewableSuffix as _}from"../../utils/uploadAccept.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"@vueuse/core";import"../../hooks/usePreviewFullscreen.js";import"./OfficePreview.vue.js";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const ee=s({__name:"FileViewComponents",setup(y,{expose:p}){const e=m(!1),l=m(""),r=m(""),u=m("view");let a=0;return p({viewFile:async i=>{const o=++a;l.value="文件预览",r.value=i,e.value=!0;try{const t=await c.getUpLoadFilesVoById(i);if(o!==a||!e.value||r.value!==i)return;const n=x(t);if(!_(n)){e.value=!1,await V(t.id,t.name);return}l.value=t.name}catch(t){if(o!==a||!e.value||r.value!==i)return;e.value=!1,w.messageError(t)}}}),(i,o)=>e.value?(f(),v(F,{key:0,modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=t=>e.value=t),title:l.value,"file-id":r.value,edit:u.value},null,8,["modelValue","title","file-id","edit"])):d("v-if",!0)}});export{ee as default};
1
+ import{defineComponent as s,ref as m,openBlock as f,createBlock as v,createCommentVNode as d}from"vue";import c from"../../api/DocumentApi.js";import w from"../../utils/FrameworkUtils.js";import V from"../../utils/fileDownload.js";import F from"./FileView.vue.js";import{getFileSuffix as x,isPreviewableSuffix as _}from"../../utils/uploadAccept.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"../../utils/officePreviewUtil.js";import"@vueuse/core";import"../../hooks/usePreviewFullscreen.js";import"./OfficePreview.vue.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const ee=s({__name:"FileViewComponents",setup(y,{expose:p}){const e=m(!1),l=m(""),r=m(""),u=m("view");let a=0;return p({viewFile:async i=>{const o=++a;l.value="文件预览",r.value=i,e.value=!0;try{const t=await c.getUpLoadFilesVoById(i);if(o!==a||!e.value||r.value!==i)return;const n=x(t);if(!_(n)){e.value=!1,await V(t.id,t.name);return}l.value=t.name}catch(t){if(o!==a||!e.value||r.value!==i)return;e.value=!1,w.messageError(t)}}}),(i,o)=>e.value?(f(),v(F,{key:0,modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=t=>e.value=t),title:l.value,"file-id":r.value,edit:u.value},null,8,["modelValue","title","file-id","edit"])):d("v-if",!0)}});export{ee as default};
@@ -35,7 +35,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
35
35
  zoomIn: () => void;
36
36
  zoomOut: () => void;
37
37
  resetZoom: () => void;
38
- download: (format?: string) => Promise<void>;
38
+ download: (action?: string) => Promise<void>;
39
39
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
40
40
  close: () => any;
41
41
  error: (err?: unknown) => any;
@@ -58,6 +58,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
58
58
  showClose: boolean;
59
59
  fileName: string;
60
60
  fullscreen: boolean;
61
+ showHeader: boolean;
61
62
  showSearch: boolean;
62
63
  showPageNav: boolean;
63
64
  showZoom: boolean;
@@ -68,7 +69,6 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
68
69
  refreshLoading: boolean;
69
70
  fileId: string;
70
71
  fileType: string;
71
- showHeader: boolean;
72
72
  deferRefresh: boolean;
73
73
  lostDescription: string;
74
74
  attachmentLost: boolean;