cnhis-design-vue 3.2.16-beta.13 → 3.2.16-beta.17
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.
- package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
- package/es/components/expand-field/index.d.ts +28 -1
- package/es/components/expand-field/src/components/FormItemPerson.vue.d.ts +28 -1
- package/es/components/expand-field/src/components/PersonModal.vue.d.ts +28 -1
- package/es/components/expand-field/src/components/form.vue.d.ts +28 -1
- package/es/components/expand-field/src/index.vue.d.ts +28 -1
- package/es/components/field-set/src/FieldColor.vue.d.ts +4 -4
- package/es/components/field-set/src/FieldFilter.vue.d.ts +4 -4
- package/es/components/field-set/src/FieldSet.vue.d.ts +5 -5
- package/es/components/field-set/src/components/table-row.vue.d.ts +4 -4
- package/es/components/form-config/index.d.ts +147 -24
- package/es/components/form-config/src/FormConfig.vue.d.ts +147 -24
- package/es/components/form-config/src/FormConfig.vue2.js +1 -1
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +8 -0
- package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +210 -95
- package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
- package/es/components/form-render/src/components/renderer/formItem.js +1 -1
- package/es/components/form-render/src/components/renderer/text.js +1 -1
- package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
- package/es/components/form-render/src/types/fieldItem.d.ts +3 -1
- package/es/components/iho-chat/index.d.ts +1 -1
- package/es/components/iho-chat/src/Index.vue.d.ts +1 -1
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/select-person/index.d.ts +28 -1
- package/es/components/select-person/src/SelectPerson.vue.d.ts +15 -1
- package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
- package/es/components/select-person/src/index.vue.d.ts +28 -1
- package/es/components/select-person/src/index.vue2.js +1 -1
- package/es/components/shortcut-setter/index.d.ts +2 -0
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +2 -0
- package/es/env.d.ts +25 -25
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as l,watchEffect as o,watch as n,inject as i,computed as a,reactive as t,h as d,openBlock as s,createElementBlock as u,createVNode as r,unref as p,withCtx as c,createTextVNode as v,normalizeStyle as _,createElementVNode as f,Fragment as m,renderList as g,createBlock as h,toDisplayString as y,withModifiers as F,createCommentVNode as b,normalizeClass as k}from"vue";import{useTheme as w}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{cloneDeep as C,isEmpty as O,isArray as x,union as j,isString as B,isObject as T,omit as E}from"lodash-es";import"@vue/shared";import{traverse as L}from"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{HelpCircleSharp as N}from"@vicons/ionicons5";import{useDialog as U,NSelect as R,NButton as I,NModal as P,NScrollbar as z,NCollapse as V,NCollapseItem as q,NEllipsis as A,NThing as S,NSpace as $,NInputGroup as D,NInput as H,NTooltip as M,NIcon as W,NEmpty as X}from"naive-ui";import"../../../../shared/hooks/useScrollLoading.js";import{conditionOppositeMap as G,connectionTypeOptions as J,connectionTypeOppositeMap as K,InjectionFieldList as Q,conditionTypeOptions as Y}from"../constants/index.js";import Z from"../../../form-render/index.js";const ee={class:"form-config__connectionOperation"},le={class:"form-config__connectionConditionHeaderDesc"},oe={class:"form-config__connectionCondition"},ne={class:"form-config__connectionConditionItem"},ie={style:{"margin-right":"8px"}},ae={class:"form-config__connectionFieldType"},te=["onClick"],de={key:0},se={style:{display:"inline-flex","align-items":"center",gap:"4px","margin-bottom":"4px"}};var ue=e({__name:"FormConfigEventSetting",props:{modelValue:{default:()=>[]}},emits:["update:modelValue","validateFailure"],setup(ue,{emit:re}){var pe,ce;const ve=ue,_e=w(),fe=l([]),me=l("");function ge(){fe.value.push({conObj:[]}),me.value=fe.value.length-1+""}function he(e){return e.__oppositeBindField?`已绑定互斥联动: 联动${fe.value.findIndex((l=>l===e.__oppositeBindField))+1}`:e.__oppositeTargetField?`已关联互斥联动: 联动${fe.value.findIndex((l=>l===e.__oppositeTargetField))+1}`:void 0}function ye(e){return null==e?void 0:e.replace(/(AND|OR)/g,(e=>"AND"===e?"OR":"AND"))}function Fe(e){var l;const o=e.__oppositeTargetField||{conObj:[]};return o.conObj=C(e.conObj),null==(l=o.conObj)||l.forEach((e=>{e.con=G[e.con]})),o.sqlExpression=ye(e.sqlExpression),J.forEach((({value:l})=>{O(e[l])?Reflect.deleteProperty(o,K[l]):o[K[l]]=C(e[l])})),o.__oppositeBindField=e,o}function be(e,l){var o,n,i,a;return(null==(o=e.conObj)?void 0:o.length)===(null==(n=l.conObj)?void 0:n.length)&&(!(e.conObj&&l.conObj&&e.conObj.some((e=>!l.conObj.find((l=>{return n=l,(o=e).field_key===n.field_key&&o.con&&G[o.con]===n.con&&o.value===n.value;var o,n})))))&&(i=e.sqlExpression,a=l.sqlExpression,(!i&&!a||ye(i)===a)&&!J.some((({value:o})=>{return n=e[o],i=l[K[o]],!(n&&i?n.length===i.length&&n.every((e=>i.some((l=>e===l)))):!n&&!i);var n,i}))))}function ke(e){me.value=e[0]}function we(e){const l=fe.value[e];if(!l)return"";const o=l.conObj||[],n=J.reduce(((e,{value:o})=>(x(l[o])&&l[o].length&&e.push(...l[o].map(a)),e)),[]),i=j([...o.map((({field_key:e})=>a(e))),...n]).filter((e=>!!e));return i.length?`( 相关字段: ${i} )`:"";function a(e){var l,o;return null!=(o=null==(l=xe.value.find((l=>B(e)?e===l.key:!!T(e)&&Reflect.get(e,"field")===l.key)))?void 0:l.name)?o:e}}o((()=>{fe.value.forEach((e=>{e.__oppositeTargetField&&(e.__oppositeTargetField=Fe(e))}))}));const Ce=l(!1);n(Ce,(e=>{e&&(fe.value=C(ve.modelValue),fe.value.forEach(((e,l)=>{if(e.__oppositeBindField||e.__oppositeTargetField)return;const o=fe.value.find(((o,n)=>n!==l&&!o.__oppositeBindField&&!o.__oppositeTargetField&&be(o,e)));o&&(o.__oppositeBindField=e,e.__oppositeTargetField=o)})))}));const Oe=i(Q,l([])),xe=a((()=>{const e=[];return L(Oe.value,(l=>{!["NEWLINE","LINE_BAR","COMPLEX","COMBINATION"].includes(l.type)&&e.push(l)})),e})),je=a((()=>xe.value.filter((e=>["INPUT","SELECT","SEARCH","REMOTE_SEARCH"].includes(e.type))))),Be=t([]),Te=U();async function Ee(){var e,l;Te.warning({title:"提示",content:"直接关闭弹窗会丢失已编辑的配置, 确定要关闭吗?",positiveText:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定",negativeText:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.28"))||"取消",onPositiveClick:()=>{Ce.value=!1,fe.value=[]}})}async function Le(){try{await function(){var e;const l=[];return null==(e=fe.value)||e.forEach(((e,o)=>{const n=[];e.conObj&&e.conObj.length?e.conObj.forEach(((e,l)=>{e.field_key||n.push(`条件${l+1}字段为空`),e.con||n.push(`条件${l+1}判断类型为空`),["NULL","NOT_NULL"].includes(e.con)||!e.con||e.value||n.push(`条件${l+1}值为空`)})):n.push("联动条件为空"),J.every((({value:l})=>!e[l]||!e[l].length))&&n.push("联动字段为空"),n.length&&l.push(`联动${o+1}: ${n}`)})),l.length?Promise.reject(l):Promise.resolve()}(),Ce.value=!1,re("update:modelValue",fe.value.map((e=>E(e,["__oppositeBindField","__oppositeTargetField"]))))}catch(e){re("validateFailure",e)}}const Ne=[{alias:"值设置联动",val_key:"setValueField",html_type:"COMBINATION",elem_width:12,jsonCombination:!1,children:[{alias:(null==(pe=window.getLanguageByCode)?void 0:pe.call(window,"10010.1.9"))||"字段",val_key:"field",html_type:"SELECT2",elem_width:6,componentProps:{labelField:"name",valueField:"key"}},{alias:(null==(ce=window.getLanguageByCode)?void 0:ce.call(window,"10010.1.22"))||"值",elem_width:5,val_key:"value",html_type:"INPUT"}]}],Ue={SELECT2:e({inheritAttrs:!1,props:{value:{},onChange:{type:Function}},setup:e=>()=>d(R,{value:e.value,onUpdateValue:e.onChange,options:je.value,labelField:"name",valueField:"key",filterable:!0})})};return(e,l)=>(s(),u("section",null,[r(p(I),{size:"small",onClick:l[0]||(l[0]=e=>Ce.value=!0)},{default:c((()=>[v("调整联动绑定")])),_:1}),r(p(P),{show:Ce.value,"onUpdate:show":l[1]||(l[1]=e=>Ce.value=e),closable:!1,bordered:!1,"show-icon":!1,title:"联动绑定设置",preset:"dialog","mask-closable":!1,"close-on-esc":!1,style:_({width:"1100px",...p(_e)}),class:"form-config__connectionModal"},{action:c((()=>[r(p(I),{size:"small",onClick:Ee},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1}),r(p(I),{size:"small",onClick:Le,type:"primary"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定")]})),_:1})])),default:c((()=>[f("header",ee,[r(p(I),{onClick:ge,size:"small"},{default:c((()=>[v("新增联动")])),_:1})]),r(p(z),{style:{"max-height":"500px","min-height":"500px"}},{default:c((()=>[r(p(V),{accordion:"","expanded-names":me.value,"onUpdate:expandedNames":ke},{default:c((()=>[(s(!0),u(m,null,g(fe.value,((e,l)=>(s(),h(p(q),{name:l+""},{header:c((()=>[v(" 联动"+y(l+1)+" ",1),r(p(A),{class:"form-config__connectionConditionHeaderDesc",style:{"max-width":"500px"}},{default:c((()=>[v(y(we(l)),1)])),_:2},1024)])),"header-extra":c((()=>[e.__oppositeBindField||e.__oppositeTargetField?(s(),u(m,{key:1},[f("span",le,"( "+y(he(e))+" )",1),r(p(I),{quaternary:"",type:"primary",size:"small",onClick:F((l=>function(e){const l=e.__oppositeTargetField||e.__oppositeBindField;l&&[l,e].forEach((e=>{Reflect.deleteProperty(e,"__oppositeBindField"),Reflect.deleteProperty(e,"__oppositeTargetField")}))}(e)),["stop"])},{default:c((()=>[v("解除互斥")])),_:2},1032,["onClick"])],64)):(s(),h(p(I),{key:0,onClick:F((l=>function(e){fe.value.push(e.__oppositeTargetField=Fe(e))}(e)),["stop"]),quaternary:"",type:"primary",size:"small"},{default:c((()=>[v(" 创建互斥条件 ")])),_:2},1032,["onClick"])),r(p(I),{onClick:F((e=>function(e){var l;const o=null==(l=fe.value)?void 0:l.splice(e,1);null==o||o.forEach((e=>{const l=e.__oppositeTargetField||e.__oppositeBindField;l&&(Reflect.deleteProperty(l,"__oppositeTargetField"),Reflect.deleteProperty(l,"__oppositeBindField"))})),Be.splice(e,1),!me.value||+me.value<e||(me.value=me.value===e+""?"":+me.value-1+"")}(l)),["stop"]),quaternary:"",type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["onClick"])])),default:c((()=>[r(p(S),{class:"form-config__connectionWrapper"},{default:c((()=>[r(p($),{justify:"space-between",wrap:!1},{default:c((()=>[f("section",oe,[f("header",null,[v(" 条件 "),e.__oppositeBindField?b("v-if",!0):(s(),h(p(I),{key:0,size:"small",quaternary:"",type:"primary",onClick:l=>{var o;x((o=e).conObj)?o.conObj.push({}):o.conObj=[{}]}},{default:c((()=>[v(" 添加条件 ")])),_:2},1032,["onClick"]))]),r(p(z),{style:{"max-height":"145px","min-height":"145px"},class:"form-config__connectionWrapper"},{default:c((()=>[(s(!0),u(m,null,g(e.conObj||[],((l,o)=>(s(),u("div",ne,[f("span",ie,y(o+1),1),r(p(D),{size:"small"},{default:c((()=>[r(p(R),{value:l.field_key,"onUpdate:value":e=>l.field_key=e,disabled:!!e.__oppositeBindField,placeholder:"请选择字段",options:p(xe),"label-field":"name","value-field":"key",filterable:""},null,8,["value","onUpdate:value","disabled","options"]),r(p(R),{value:l.con,disabled:!!e.__oppositeBindField,"onUpdate:value":e=>function(e,l){e.con=l,["NOT_NULL","NULL"].includes(l)&&Reflect.deleteProperty(e,"value")}(l,e),placeholder:"请选择判断类型",options:p(Y)},null,8,["value","disabled","onUpdate:value","options"]),l.con&&!["NULL","NOT_NULL"].includes(l.con)?(s(),h(p(H),{key:0,disabled:!!e.__oppositeBindField,value:l.value,"onUpdate:value":e=>l.value=e,placeholder:"请输入值",clearable:""},null,8,["disabled","value","onUpdate:value"])):b("v-if",!0)])),_:2},1024),r(p(I),{disabled:!!e.__oppositeBindField,quaternary:"",onClick:l=>function(e,l){x(e.conObj)&&e.conObj.splice(l,1)}(e,o),type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["disabled","onClick"])])))),256))])),_:2},1024)]),f("section",ae,[f("div",null,[(s(!0),u(m,null,g(p(J),(o=>{var n,i;return s(),u("div",{key:o.value,class:k({"is-active":Be[l]===o.value}),onClick:e=>Be[l]=o.value},y(o.label)+" ( "+y(null!=(i=null==(n=e[o.value])?void 0:n.length)?i:0)+" ) ",11,te)})),128))]),f("div",null,["setValueField"===Be[l]?(s(),u("section",de,[r(p(Z),{"field-list":Ne,"initial-data":{setValueField:e.setValueField},"label-placement":"left",components:Ue,onFormChange:l=>function(e,l){l.setValueField=e.fieldInstance.form.getValuesIn("setValueField")}(l,e)},null,8,["initial-data","onFormChange"])])):Be[l]?(s(),h(p(R),{key:1,value:e[Be[l]],"onUpdate:value":o=>e[Be[l]]=o,disabled:!!e.__oppositeBindField,multiple:"",placeholder:"请选择字段",options:p(xe),"label-field":"name","value-field":"key",filterable:"","max-tag-count":10},null,8,["value","onUpdate:value","disabled","options"])):b("v-if",!0)])])])),_:2},1024),f("section",null,[f("label",null,[f("span",se,[v(" 条件逻辑 "),r(p(M),null,{trigger:c((()=>[r(p(W),{size:"16",component:p(N)},null,8,["component"])])),default:c((()=>[v(" 非必填, 默认为需要全部满足. 示例: (1 AND 2) OR 3, 表示 条件1和2需要满足其一, 条件3必须满足 ")])),_:1})]),r(p(H),{value:e.sqlExpression,"onUpdate:value":l=>e.sqlExpression=l,disabled:!!e.__oppositeBindField,placeholder:"请输入条件逻辑"},null,8,["value","onUpdate:value","disabled"])])])])),_:2},1024)])),_:2},1032,["name"])))),256))])),_:1},8,["expanded-names"]),fe.value.length?b("v-if",!0):(s(),h(p(X),{key:0,size:"huge",style:{"margin-top":"20px"},description:"无联动配置"}))])),_:1})])),_:1},8,["show","style"])]))}});export{ue as default};
|
1
|
+
import{createElementVNode as e,defineComponent as l,ref as o,watchEffect as n,watch as i,inject as a,computed as t,reactive as d,openBlock as s,createElementBlock as r,createVNode as u,unref as p,withCtx as c,createTextVNode as v,normalizeStyle as f,Fragment as _,renderList as m,createBlock as g,toDisplayString as y,withModifiers as h,createCommentVNode as b,normalizeClass as k}from"vue";import{useTheme as F}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import{cloneDeep as w,isEmpty as C,isArray as x,union as j,isString as O,isObject as B,omit as L}from"lodash-es";import"@vue/shared";import{traverse as E}from"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{HelpCircleSharp as T}from"@vicons/ionicons5";import{useDialog as U,NButton as N,NModal as R,NScrollbar as z,NCollapse as V,NCollapseItem as P,NEllipsis as q,NThing as A,NSpace as I,NInputGroup as D,NSelect as S,NInput as $,NTooltip as H,NIcon as M,NEmpty as W}from"naive-ui";import"../../../../shared/hooks/useScrollLoading.js";import{conditionOppositeMap as K,connectionTypeOptions as X,connectionTypeOppositeMap as G,InjectionFieldList as J,conditionTypeOptions as Q,EditAbleField as Y}from"../constants/index.js";import Z from"../../../form-render/index.js";import{findFieldItemByKey as ee}from"../utils/index.js";import"../../../../shared/components/VueDraggable/src/vuedraggable.js";import{useConfigurationField as le}from"../hooks/useConfigurationField.js";var oe;const ne={class:"form-config__connectionOperation"},ie={class:"form-config__connectionConditionHeaderDesc"},ae={class:"form-config__connectionCondition"},te={style:{"margin-right":"8px"}},de={class:"form-config__connectionFieldType"},se=["onClick"],re={key:0},ue={style:{"margin-bottom":"8px"}},pe=e("span",{style:{"word-break":"keep-all"}},(null==(oe=window.getLanguageByCode)?void 0:oe.call(window,"10010.1.9"))||"字段",-1),ce={key:1},ve={style:{display:"inline-flex","align-items":"center",gap:"4px","margin-bottom":"4px"}};var fe=l({__name:"FormConfigEventSetting",props:{modelValue:{default:()=>[]},bindFormRenderRef:null},emits:["update:modelValue","validateFailure"],setup(l,{emit:oe}){const fe=l,_e=F(),me=o([]),ge=o("");function ye(){me.value.push({conObj:[]}),ge.value=me.value.length-1+""}function he(e){return e.__oppositeBindField?`已绑定互斥联动: 联动${me.value.findIndex((l=>l===e.__oppositeBindField))+1}`:e.__oppositeTargetField?`已关联互斥联动: 联动${me.value.findIndex((l=>l===e.__oppositeTargetField))+1}`:void 0}function be(e){return null==e?void 0:e.replace(/(AND|OR)/g,(e=>"AND"===e?"OR":"AND"))}function ke(e){var l;const o=e.__oppositeTargetField||{conObj:[]};return o.conObj=w(e.conObj),null==(l=o.conObj)||l.forEach((e=>{e.con=K[e.con]})),o.sqlExpression=be(e.sqlExpression),X.forEach((({value:l})=>{C(e[l])?Reflect.deleteProperty(o,G[l]):o[G[l]]=w(e[l])})),o.__oppositeBindField=e,o}function Fe(e,l){var o,n,i,a;return(null==(o=e.conObj)?void 0:o.length)===(null==(n=l.conObj)?void 0:n.length)&&(!(e.conObj&&l.conObj&&e.conObj.some((e=>!l.conObj.find((l=>{return n=l,(o=e).field_key===n.field_key&&o.con&&K[o.con]===n.con&&o.value===n.value;var o,n})))))&&(i=e.sqlExpression,a=l.sqlExpression,(!i&&!a||be(i)===a)&&!X.some((({value:o})=>{return n=e[o],i=l[G[o]],!(n&&i?n.length===i.length&&n.every((e=>i.some((l=>e===l)))):!n&&!i);var n,i}))))}function we(e){ge.value=e[0]}function Ce(e){const l=me.value[e];if(!l)return"";const o=l.conObj||[],n=X.reduce(((e,{value:o})=>(x(l[o])&&l[o].length&&e.push(...l[o].map(a)),e)),[]),i=j([...o.map((({field_key:e})=>a(e))),...n]).filter((e=>!!e&&O(e)));return i.length?`( 相关字段: ${i} )`:"";function a(e){var l,o;return null!=(o=null==(l=Oe.value.find((l=>O(e)?e===l.key:!!B(e)&&Reflect.get(e,"field")===l.key)))?void 0:l.name)?o:e}}n((()=>{me.value.forEach((e=>{e.__oppositeTargetField&&(e.__oppositeTargetField=ke(e))}))}));const xe=o(!1);i(xe,(e=>{e&&(me.value=w(fe.modelValue),me.value.forEach(((e,l)=>{if(e.__oppositeBindField||e.__oppositeTargetField)return;const o=me.value.find(((o,n)=>n!==l&&!o.__oppositeBindField&&!o.__oppositeTargetField&&Fe(o,e)));o&&(o.__oppositeBindField=e,e.__oppositeTargetField=o)})))}));const je=a(J,o([])),Oe=t((()=>{const e=[];return E(je.value,(l=>{!["NEWLINE","LINE_BAR","COMPLEX","COMBINATION"].includes(l.type)&&e.push(l)})),e})),Be=["INPUT","SELECT","SEARCH","REMOTE_SEARCH"],Le=t((()=>Oe.value.filter((e=>{var l;return Be.includes(e.type)||(null==(l=e.originalSetting)?void 0:l.html_type)&&Be.includes(e.originalSetting.html_type)})))),Ee=d([]),Te=U();async function Ue(){var e,l;Te.warning({title:"提示",content:"直接关闭弹窗会丢失已编辑的配置, 确定要关闭吗?",positiveText:(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定",negativeText:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.28"))||"取消",onPositiveClick:()=>{xe.value=!1,me.value=[]}})}async function Ne(){try{await function(){var e;const l=[];return null==(e=me.value)||e.forEach(((e,o)=>{const n=[];e.conObj&&e.conObj.length?e.conObj.forEach(((e,l)=>{e.field_key||n.push(`条件${l+1}字段为空`),e.con||n.push(`条件${l+1}判断类型为空`),["NULL","NOT_NULL"].includes(e.con)||!e.con||e.value||n.push(`条件${l+1}值为空`)})):n.push("联动条件为空"),X.every((({value:l})=>!e[l]||!e[l].length))&&n.push("联动字段为空"),n.length&&l.push(`联动${o+1}: ${n}`)})),l.length?Promise.reject(l):Promise.resolve()}(),xe.value=!1,oe("update:modelValue",me.value.map((e=>L(e,["__oppositeBindField","__oppositeTargetField"]))))}catch(e){oe("validateFailure",e)}}const{generateFieldListByKeys:Re}=le(),ze=e=>{var l,o;const n=null!=(o=null==(l=fe.bindFormRenderRef)?void 0:l.getFieldList())?o:[];return[...Re([Y.DEFAULT_VALUE],Le.value.find((l=>l.key===e)),ee(n,e)).map((e=>{var l;return{...e,alias:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.22"))||"值",decoratorProps:{showFeedback:!1}}}))]};return(l,o)=>(s(),r("section",null,[u(p(N),{size:"small",onClick:o[0]||(o[0]=e=>xe.value=!0)},{default:c((()=>[v("调整联动绑定")])),_:1}),u(p(R),{show:xe.value,"onUpdate:show":o[1]||(o[1]=e=>xe.value=e),closable:!1,bordered:!1,"show-icon":!1,title:"联动绑定设置",preset:"dialog","mask-closable":!1,"close-on-esc":!1,style:f({width:"1100px",...p(_e)}),class:"form-config__connectionModal"},{action:c((()=>[u(p(N),{size:"small",onClick:Ue},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1}),u(p(N),{size:"small",onClick:Ne,type:"primary"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.27"))||"确定")]})),_:1})])),default:c((()=>[e("header",ne,[u(p(N),{onClick:ye,size:"small"},{default:c((()=>[v("新增联动")])),_:1})]),u(p(z),{style:{"max-height":"500px","min-height":"500px"}},{default:c((()=>[u(p(V),{accordion:"","expanded-names":ge.value,"onUpdate:expandedNames":we},{default:c((()=>[(s(!0),r(_,null,m(me.value,((l,o)=>(s(),g(p(P),{name:o+"",key:o},{header:c((()=>[v(" 联动"+y(o+1)+" ",1),u(p(q),{class:"form-config__connectionConditionHeaderDesc",style:{"max-width":"500px"}},{default:c((()=>[v(y(Ce(o)),1)])),_:2},1024)])),"header-extra":c((()=>[l.__oppositeBindField||l.__oppositeTargetField?(s(),r(_,{key:1},[e("span",ie,"( "+y(he(l))+" )",1),u(p(N),{quaternary:"",type:"primary",size:"small",onClick:h((e=>function(e){const l=e.__oppositeTargetField||e.__oppositeBindField;l&&[l,e].forEach((e=>{Reflect.deleteProperty(e,"__oppositeBindField"),Reflect.deleteProperty(e,"__oppositeTargetField")}))}(l)),["stop"])},{default:c((()=>[v("解除互斥")])),_:2},1032,["onClick"])],64)):(s(),g(p(N),{key:0,onClick:h((e=>function(e){me.value.push(e.__oppositeTargetField=ke(e))}(l)),["stop"]),quaternary:"",type:"primary",size:"small"},{default:c((()=>[v(" 创建互斥条件 ")])),_:2},1032,["onClick"])),u(p(N),{onClick:h((e=>function(e){var l;const o=null==(l=me.value)?void 0:l.splice(e,1);null==o||o.forEach((e=>{const l=e.__oppositeTargetField||e.__oppositeBindField;l&&(Reflect.deleteProperty(l,"__oppositeTargetField"),Reflect.deleteProperty(l,"__oppositeBindField"))})),Ee.splice(e,1),!ge.value||+ge.value<e||(ge.value=ge.value===e+""?"":+ge.value-1+"")}(o)),["stop"]),quaternary:"",type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["onClick"])])),default:c((()=>[u(p(A),{class:"form-config__connectionWrapper"},{default:c((()=>[u(p(I),{justify:"space-between",wrap:!1},{default:c((()=>[e("section",ae,[e("header",null,[v(" 条件 "),l.__oppositeBindField?b("v-if",!0):(s(),g(p(N),{key:0,size:"small",quaternary:"",type:"primary",onClick:e=>{var o;x((o=l).conObj)?o.conObj.push({}):o.conObj=[{}]}},{default:c((()=>[v(" 添加条件 ")])),_:2},1032,["onClick"]))]),u(p(z),{style:{"max-height":"145px","min-height":"145px"},class:"form-config__connectionWrapper"},{default:c((()=>[(s(!0),r(_,null,m(l.conObj||[],((o,n)=>(s(),r("div",{class:"form-config__connectionConditionItem",key:n},[e("span",te,y(n+1),1),u(p(D),{size:"small"},{default:c((()=>[u(p(S),{value:o.field_key,"onUpdate:value":e=>o.field_key=e,disabled:!!l.__oppositeBindField,placeholder:"请选择字段",options:p(Oe),"label-field":"name","value-field":"key",filterable:""},null,8,["value","onUpdate:value","disabled","options"]),u(p(S),{value:o.con,disabled:!!l.__oppositeBindField,"onUpdate:value":e=>function(e,l){e.con=l,["NOT_NULL","NULL"].includes(l)&&Reflect.deleteProperty(e,"value")}(o,e),placeholder:"请选择判断类型",options:p(Q)},null,8,["value","disabled","onUpdate:value","options"]),o.con&&!["NULL","NOT_NULL"].includes(o.con)?(s(),g(p($),{key:0,disabled:!!l.__oppositeBindField,value:o.value,"onUpdate:value":e=>o.value=e,placeholder:"请输入值",clearable:""},null,8,["disabled","value","onUpdate:value"])):b("v-if",!0)])),_:2},1024),u(p(N),{disabled:!!l.__oppositeBindField,quaternary:"",onClick:e=>function(e,l){x(e.conObj)&&e.conObj.splice(l,1)}(l,n),type:"error",size:"small"},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.88"))||"移除")]})),_:2},1032,["disabled","onClick"])])))),128))])),_:2},1024)]),e("section",de,[e("div",null,[(s(!0),r(_,null,m(p(X),(e=>{var n,i;return s(),r("div",{key:e.value,class:k({"is-active":Ee[o]===e.value}),onClick:l=>Ee[o]=e.value},y(e.label)+" ( "+y(null!=(i=null==(n=l[e.value])?void 0:n.length)?i:0)+" ) ",11,se)})),128))]),e("div",null,["setValueField"===Ee[o]?(s(),r("section",re,[e("header",ue,[u(p(N),{type:"primary",size:"tiny",onClick:e=>(e=>{e.setValueField=e.setValueField||[],e.setValueField.push({})})(l)},{default:c((()=>{var e;return[v((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.279"))||"新增")]})),_:2},1032,["onClick"])]),(s(!0),r(_,null,m(l.setValueField||[],((e,o)=>(s(),r("section",{style:{display:"flex","justify-content":"space-between",gap:"16px","align-items":"center","margin-bottom":"4px"},key:o},[u(p(I),{wrap:!1,align:"center"},{default:c((()=>[pe,u(p(S),{style:{width:"130px"},value:e.field,"onUpdate:value":l=>e.field=l,placeholder:"请选择字段",options:p(Le),"label-field":"name","value-field":"key",filterable:""},null,8,["value","onUpdate:value","options"])])),_:2},1024),e.field?(s(),g(p(Z),{style:{flex:"1"},column:6,key:e.field,"field-list":ze(e.field),"initial-data":e,"label-placement":"left",onFormChange:l=>function(e,l){l.value=e.fieldInstance.form.getValuesIn("value")}(l,e)},null,8,["field-list","initial-data","onFormChange"])):(s(),r("i",ce)),u(p(N),{type:"error",size:"tiny",onClick:e=>((e,l)=>{var o;null==(o=e.setValueField)||o.splice(l,1)})(l,o)},{default:c((()=>[v(" x ")])),_:2},1032,["onClick"])])))),128))])):Ee[o]?(s(),g(p(S),{key:1,value:l[Ee[o]],"onUpdate:value":e=>l[Ee[o]]=e,disabled:!!l.__oppositeBindField,multiple:"",placeholder:"请选择字段",options:p(Oe),"label-field":"name","value-field":"key",filterable:"","max-tag-count":10},null,8,["value","onUpdate:value","disabled","options"])):b("v-if",!0)])])])),_:2},1024),e("section",null,[e("label",null,[e("span",ve,[v(" 条件逻辑 "),u(p(H),null,{trigger:c((()=>[u(p(M),{size:"16",component:p(T)},null,8,["component"])])),default:c((()=>[v(" 非必填, 默认为需要全部满足. 示例: (1 AND 2) OR 3, 表示 条件1和2需要满足其一, 条件3必须满足 ")])),_:1})]),u(p($),{value:l.sqlExpression,"onUpdate:value":e=>l.sqlExpression=e,disabled:!!l.__oppositeBindField,placeholder:"请输入条件逻辑"},null,8,["value","onUpdate:value","disabled"])])])])),_:2},1024)])),_:2},1032,["name"])))),128))])),_:1},8,["expanded-names"]),me.value.length?b("v-if",!0):(s(),g(p(W),{key:0,size:"huge",style:{"margin-top":"20px"},description:"无联动配置"}))])),_:1})])),_:1},8,["show","style"])]))}});export{fe as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,inject as l,computed as t,ref as r,onUnmounted as o,createVNode as a,mergeProps as i,unref as n,withModifiers as d,createTextVNode as u}from"vue";import{arrayed as s,getStringWidth as m,widthAppend as f}from"../../../../../shared/utils/index.js";import{isVoidField as v}from"@formily/core";import{observe as c,autorun as p}from"@formily/reactive";import{connect as b,mapProps as h}from"@formily/vue";import{useDebounceFn as _}from"@vueuse/core";import{isString as y,isArray as g,isObject as k,isNumber as I,isFunction as x,uniq as F}from"lodash-es";import{NFormItem as w,NTooltip as O,NButton as
|
1
|
+
import{defineComponent as e,inject as l,computed as t,ref as r,onUnmounted as o,createVNode as a,mergeProps as i,unref as n,withModifiers as d,createTextVNode as u}from"vue";import{arrayed as s,getStringWidth as m,widthAppend as f}from"../../../../../shared/utils/index.js";import{isVoidField as v}from"@formily/core";import{observe as c,autorun as p}from"@formily/reactive";import{connect as b,mapProps as h}from"@formily/vue";import{useDebounceFn as _}from"@vueuse/core";import{isString as y,isArray as g,isObject as k,isNumber as I,isFunction as x,uniq as F}from"lodash-es";import{NFormItem as w,NTooltip as O,NButton as T}from"naive-ui";import P from"../../../../annotation-edit/index.js";import"../../../index.js";import R from"../tooltipMessage.vue.js";import{InjectionFormGlobalProps as j,InjectionFormGlobalEmit as E,InjectionFormUUID as L,InjectionFormGraph as M,InjectionAnnotation as S,InjectionAnnotationShortcuts as C,InjectionFormColumnWidth as A}from"../../constants/index.js";import{useComplexOptionsSpan as U}from"../../hooks/useComplexOptions.js";import{validateMessageParser as W,editorUnescape as N}from"../../utils/index.js";import{dotEscape as q,createFieldAddressId as B}from"../../utils/schema.js";import{useFormField as H}from"../../hooks/useFormField.js";const K=b(e({name:"FormRenderItem",props:{label:String,propertyKey:String,remark:String,span:{type:Number,default:6},suffixFields:{type:Array},labelRender:Function,annotation:{},isOptionChildField:Boolean,feedback:String,showFeedback:{type:Boolean,default:void 0},fieldItem:{type:Object},showTooltipFeedback:{type:Boolean,default:!0}},setup(e,{slots:s,attrs:b}){const h=l(j),W=l(E),{field:K,fieldKey:V,fieldAddress:D}=H(),G=l(L),$=t((()=>q(`${G}-${D.value}`))),z=r(!1);if(v(K.value)&&g(e.suffixFields)){const t=l(M);o(c(t,_((()=>{v(K.value)&&g(e.suffixFields)&&(z.value=e.suffixFields.some((e=>{const l=K.value.form.query(e).take();return l&&Reflect.get(l,"required")})))}),100)))}else o(p((()=>{z.value=Reflect.get(K.value,"required")})));const Y=l(S),J=t({get(){var l,t;return null!=(t=null==(l=Y.value)?void 0:l[e.propertyKey])?t:""},set(l){Y.value={property:e.propertyKey,value:l}}}),Q=l(C);const X=t((()=>{var l;const t={color:null==(l=e.fieldItem)?void 0:l.labelColor};return k(b.labelStyle)&&Object.assign(t,b.labelStyle),t})),Z=t((()=>Y.value&&!1!==e.annotation)),ee=t((()=>{var l;return y(null==(l=e.fieldItem)?void 0:l.editor_title)&&e.fieldItem.editor_title&&["POPUP_ALERT","HOVER_TOOLTIP"].includes(e.fieldItem.editor_title_mode)})),le=r(!1);const te=t((()=>e.label&&" "!==e.label)),re=t((()=>{let l=0;return Z.value&&(l+=18),e.remark&&(l+=18),ee.value&&(l+=32),l})),oe=l(j,{}),ae=t((()=>{var l;const t=null==(l=e.fieldItem)?void 0:l.bordered;return null==t?oe.bordered:t})),ie=l("n-form",{}),ne=t((()=>{var e,l,t,r;if("left"!==(null!=(l=b.labelPlacement)?l:null==(e=ie.props)?void 0:e.labelPlacement))return"";let o=null!=(r=b.labelWidth)?r:null==(t=ie.props)?void 0:t.labelWidth;return o&&"auto"!==o?(o=parseInt(o+""),isNaN(o)||!I(o)?"":o-12-re.value-(z.value?11:0)):""})),de=t((()=>x(e.labelRender)?"":y(e.label)?e.label:"")),ue=t((()=>{var l;return null==(l=e.fieldItem)?void 0:l.fieldTitleColor}));function se(){return te.value?a("section",{class:"form-render__formItemLabel"},[a("span",{class:"form-render__formItemLabel--text",style:{marginRight:f(re.value),maxWidth:f(ne.value),color:ue.value},title:de.value},[x(e.labelRender)?e.labelRender(e.label):e.label]),re.value?a("section",{class:"form-render__formItemLabel--operation"},[e.remark?a("div",{class:"form-render__formItemLabel--tooltip"},[a(R,{message:e.remark},null)]):null,Z.value?a(P,{class:"form-render__formItemLabel--annotation",modelValue:J.value,"onUpdate:modelValue":e=>J.value=e,shortcuts:n(Q)},null):null,ee.value?a(O,{zIndex:3e3,raw:!0,showArrow:!1,trigger:"POPUP_ALERT"===e.fieldItem.editor_title_mode?"manual":"hover",placement:"top-start",show:"HOVER_TOOLTIP"===e.fieldItem.editor_title_mode?void 0:le.value,contentStyle:"background-color:white;color:rgb(51, 54, 57);padding:8px;position:relative;"},{trigger:()=>a(T,{onClick:d((()=>le.value=!le.value),["stop","prev"]),text:!0,type:"primary"},{default:()=>[a("span",{style:"display:inline-block;margin-left:4px"},[u("提示")])]}),default:()=>{var l,t;return[a("div",{innerHTML:N(null!=(t=null==(l=e.fieldItem)?void 0:l.editor_title)?t:"")},null),a(T,{text:!0,onClick:()=>le.value=!le.value,style:"position:absolute;right:2px;top:2px;line-height:1;height:12px;transform:scaleY(0.9)"},{default:()=>[u("x")]})]}}):null]):null]):null}const me=t((()=>{let l=re.value;return z.value&&(l+=11),y(e.label)&&(l+=ne.value||m(e.label)),l})),fe=l(A),{getSpan:ve}=U();function ce(){var l,t,r,o,a,i,d;const u="inner"===(null==(l=e.fieldItem)?void 0:l.childWidthMode)?e.span:ve(G,K.value.address,!1)+e.span;if("left"!==(null!=(r=b.labelPlacement)?r:null==(t=ie.props)?void 0:t.labelPlacement)||!n(fe)||!(null==h?void 0:h.autoWidth)||"INPUT_GROUP"===(null==(a=null==(o=K.value.parent)?void 0:o.component)?void 0:a[0]))return u;if("INPUT_GROUP"===(null==(d=null==(i=K.value.parent)?void 0:i.component)?void 0:d[0]))return u;const s=16+fe.value;let m=u*s-16-me.value;const f=I(null==h?void 0:h.autoWidth)?h.autoWidth:120;let v=u;for(;m<f&&v<12;)v++,m+=s;return v}function pe(){var l;return"tooltip"!==(null==h?void 0:h.feedbackType)?null==(l=s.default)?void 0:l.call(s):a(O,{to:"body",trigger:"manual",show:!!e.feedback&&e.showTooltipFeedback,raw:!0,animated:!1,showArrow:!1,placement:"top-start",contentStyle:"background-color:#e88080;color:white;padding:8px;border-radius:4px"},{trigger(){var e;return null==(e=s.default)?void 0:e.call(s)},default:()=>e.feedback})}function be(){var l,t,r;const o=null==(l=e.fieldItem)?void 0:l.editor_title,i=!(null==(t=e.fieldItem)?void 0:t.editor_title_mode)||"EMBEDDED_FORM"===(null==(r=e.fieldItem)?void 0:r.editor_title_mode);return y(o)&&o&&i?a("section",{style:"display:flex;flex-direction:column;gap:4px"},[pe(),a("div",{innerHTML:N(o)},null)]):pe()}function he(){const e=[K.value.path+""];return K.value.form.query("*").forEach((l=>{(l.address+"").includes(K.value.address+"")&&((l.path+"").includes(K.value.path+"")||e.push(l.path+""))})),e}const _e=t({get:()=>!(!(null==h?void 0:h.selectMode)||!g(null==h?void 0:h.selectedFields))&&h.selectedFields.includes(K.value.path+""),set(e){if(!g(null==h?void 0:h.selectedFields))return;let l=[...h.selectedFields];e?(l.push(...he()),l=F(l)):he().forEach((e=>{const t=l.indexOf(e);t>-1&&l.splice(t,1)})),null==W||W("update:selectedFields",l)}}),ye=t((()=>(null==h?void 0:h.selectMode)&&!(K.value.parent&&"LINEBAR"!==K.value.parent.componentType)));function ge(){(null==h?void 0:h.selectMode)&&(_e.value=!_e.value)}const ke=t((()=>e.isOptionChildField?!!e.feedback&&" "!==e.feedback&&e.showFeedback:e.showFeedback));return()=>a(w,i({class:["form-render__formItem",{"form-render--no-border":!ae.value,"form-render--underline":"underline"===ae.value,"form-render__formItemMask":ye.value,"form-render__formItemMask--selected":ye.value&&_e.value}],style:{"--form-item-column":ce()},showFeedback:ke.value,feedback:"tooltip"===(null==h?void 0:h.feedbackType)?"":e.feedback,labelStyle:X.value},{id:$.value,uuid:G,onClick:ge,"widget-type":K.value.componentType,"field-key":q(V.value),"field-address":B(D.value),required:z.value}),{...s,default:be,label:se})}}),h({title:"label"},((e,l)=>{const t=v(l)?void 0:s(l.selfErrors).length?function(e,l){if(!y(l.defined_error_msg)||!l.defined_error_msg)return e.map((e=>W(e,l))).join(",");return W(l.defined_error_msg,l)}(s(l.selfErrors),e.fieldItem):void 0;return{...e,fieldItem:void 0,feedback:t,"validation-status":t?"error":void 0}})));export{K as FORM_ITEM};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,computed as t,inject as n,createVNode as
|
1
|
+
import{defineComponent as e,computed as t,inject as n,createVNode as r}from"vue";import{connect as o,mapProps as l,RecursionField as i}from"@formily/vue";import{isString as a}from"lodash-es";import"../../../index.js";import{InjectionBusinessCollector as s,InjectionFormGlobalProps as u}from"../../constants/index.js";import{useFieldListAdaptor as m}from"../../hooks/useFieldListAdaptor.js";import{createObjSchema as c}from"../../utils/schema.js";import{createSlot as p,replace2Any as d}from"../../utils/index.js";const f=o(e({name:"FORM_TEXT",props:{content:{},fieldItem:{type:Object},value:{},onChange:{}},setup(e){function o(t,n=!1,o=!0){return o?r("div",{style:n?{display:"flex",alignItems:"center"}:{}},[l()]):l();function l(){var n,o;return null==(o=(n=p(t,e,(e=>a(e)?(e=d(e.replace("\n","<br>"),[{from:"<br>",to:r("i",{style:{width:"100%",height:"4px"}},null)},{from:" ",to:r("i",{style:{display:"inline-block",width:"4px"}},null)}])).map((e=>a(e)&&e.match(/<.+>/)?r("span",{innerHTML:e},null):e)):[e]))).default)?void 0:o.call(n)}}const l=t((()=>{var t,n;return null!=(n=null==(t=e.fieldItem)?void 0:t.__textEnhance)?n:[]})),f=t((()=>l.value.length&&l.value.some((e=>"widget"===e.type)))),v=n(s),h=n(u),{schemaAdaptor:y}=m(v,h.lifeCycle);return()=>{var t;return f.value?r("div",{style:{display:"flex",alignItems:"center"}},[l.value.map((e=>{if("text"===e.type)return o(e.content,!0,!1);if(a(e.content))return o(e.content,!0,!1);const t={...e.content};return t.decoratorProps={...t.decoratorProps,showLabel:!1,showFeedback:!1},r(i,{basePath:".",schema:c(y([t]))},null)}))]):o(null!=(t=e.content)?t:e.value)}}}),l((e=>{var t;return{...e,content:null==(t=e.fieldItem)?void 0:t.content}})));export{f as TEXT};
|
@@ -1 +1 @@
|
|
1
|
-
import{arrayed as e,traverse as t}from"../../../../shared/utils/index.js";import"../../../../shared/utils/tapable/SyncHook.js";import"../../../../shared/utils/tapable/SyncBailHook.js";import
|
1
|
+
import{arrayed as e,traverse as t}from"../../../../shared/utils/index.js";import"../../../../shared/utils/tapable/SyncHook.js";import"../../../../shared/utils/tapable/SyncBailHook.js";import l from"../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{format as a}from"date-fns";import{isString as o,isEmpty as r}from"lodash-es";import"../../index.js";import{FIELD_BUSINESS_TYPE as i}from"../constants/index.js";import{isNegative as _,isPositive as s,FieldListFilter as n,findItemByValCondition as p,parseEnhanceText as c}from"../utils/index.js";import{transformDateFormat as u}from"../utils/business.js";function d(){const d=new l(["fieldList","props"]),m=new l(["fieldItem","props"]);m.tap("__forceClearable",((e,t)=>(t.forceClearable&&(e.componentProps={...e.componentProps,clearable:!0}),e))),m.tap({name:"__fieldAlias",before:"__labelPlacementOverwrite"},(e=>("BOTTOM"===e.inputBorder&&(e.bordered="underline"),null!=e.title_h_layout&&(e.decoratorProps={...e.decoratorProps},_(e.title_h_layout)?e.decoratorProps.labelPlacement="top":s(e.title_h_layout)&&(e.decoratorProps.labelPlacement="left")),o(e.lineBarLayoutDirection)&&(e.linebarDirection=e.lineBarLayoutDirection.toLowerCase()),e))),m.tap("__labelPlacementOverwrite",((e,t)=>(t.labelPlacementOverwrite&&(e.decoratorProps={...e.decoratorProps,labelPlacement:void 0}),e))),m.tap("__time",(e=>("DATE"===e.html_type&&"time"===u(e.date_format)&&(e.html_type="TIME"),e))),m.tap("__block",(e=>(["CHECKBOX_BLOCK","RADIO_BLOCK"].includes(e.html_type)&&(e.__vertical=!0),e))),m.tap("__age",(t=>("AGE"===t.html_type&&(t.html_type="INPUT_NUMBER",t.reactions=t.reactions?e(t.reactions):[],t.reactions.push({target:t.val_key_unit,fulfill:{state:{disabled:"{{$self.disabled}}"}}}),t.suffixConfig=[{validate:{obj_type:i.AGE_UNIT},val_key:t.val_key_unit,html_type:"SELECT",option:t.option,urlConfig:t.urlConfig}]),t))),m.tap({name:"__multiple_select",before:"__defaultValue"},(e=>{const{html_type:t,multi_select:l,__multiple:a}=e;return e.__multiple="SEARCH"!==t&&("SEARCH_MORE"===t||("SELECT"===t?_(l):a)),e})),m.tap("__defaultValue",(e=>{switch(e.html_type){case"TIME":"current"===e.default_val&&(e.default_val=a(new Date,e.date_format||"HH:mm:ss"));break;case"DATE":"current"===e.default_val&&(e.default_val=a(new Date,e.date_format||"yyyy-MM-dd"));break;case"CHECKBOX":case"CHECKBOX_BLOCK":o(e.default_val)&&e.default_val&&(e.default_val=e.default_val.split(","));break;case"SELECT":case"SEARCH":case"SEARCH_MORE":o(e.default_val)&&e.default_val&&(e.default_val=e.__multiple?e.default_val.split(","):e.default_val)}return e}));const E=[[["SEARCH","PHONE_TYPE","IDCARD_TYPE","SEARCH_MORE"],"SELECT"],["DIGITAL","INPUT_NUMBER"],["CHECKBOX_BLOCK","CHECKBOX"],["RADIO_BLOCK","RADIO"],[["DATE-INPUT","DATETIME-INPUT"],"DATE"],["SWITCH_COMPONENT","SWITCH"],["SLIDER_COMPONENT","SLIDER"],["LEVEL_SEARCH_CASCADE","LEVEL_SEARCH_CASCADER"],["SEARCH_CASCADE","SEARCH_CASCADER"]];m.tap("__normalize",(e=>(E.some((([t,l])=>(Array.isArray(t)?t.includes(e.html_type):t===e.html_type)&&(e.html_type=l))),e)));const f=new Map([[["SELECT","SEARCH","SEARCH_MORE"],new Map([["H_TILE",e=>e.html_type=e.__multiple?"CHECKBOX":"RADIO"],["V_TILE",e=>{e.html_type=e.__multiple?"CHECKBOX":"RADIO",e.__vertical=!0}]])],["RADIO",new Map([["DROPDOWN",e=>e.html_type="SELECT"]])],["CHECKBOX",new Map([["DROPDOWN",e=>{e.__multiple=!0,e.html_type="SELECT"}]])]]);return m.tap({stage:9999,name:"__show_mode"},(t=>t.show_mode?([...f].some((([l,a])=>{if(!e(l).includes(t.html_type))return;const o=a.get(t.show_mode);return o&&o(t),!0})),t):t)),d.tap("__out_bordered",((e,{column:t,outBordered:l})=>e)),d.tap("__prefix/suffix",(e=>{const l=[];return t(e,(t=>{["prefix","suffix"].forEach((a=>{const r=t[a];if(!o(r))return;const i=r.match("#{(.+)}");if(!i)return;const _=o(i[1])&&p(e,(e=>e.val_key===i[1].trim()));_&&(Reflect.deleteProperty(t,a),t[`${a}Config`]=t[`${a}Config`]||[],t[`${a}Config`].push(_),l.push(_))}))}),["children","properties"]),l.length?n(e,(e=>l.includes(e))):e})),d.tap("__checkboxOrRadioEnhance",(e=>{const l=[];return t(e,(t=>{["CHECKBOX","RADIO","RADIO_BLOCK","CHECKBOX_BLOCK"].includes(t.html_type)&&!r(t.option)&&t.option.forEach((t=>{const a=c(t.text||"");t.__textEnhance=a,a.forEach((t=>{if("text"===t.type)return;const a=p(e,(e=>[e.name,e.val_key].includes(t.content)));a&&(l.push(a),t.content=a)}))}))})),n(e,(e=>l.includes(e)))})),m.tap("__fieldTitleRed",(e=>(s(e.fieldTitleRed)&&(e.fieldTitleColor="#e02828"),e))),d.tap("__textEnhance",(e=>{const l=[];return t(e,(t=>{if("TEXT"!==t.html_type||!o(t.default_val))return;const a=c(t.default_val);t.__textEnhance=a,a.forEach((a=>{if("text"===a.type)return;const o=p(e,(e=>[e.name,e.val_key].includes(a.content)));o&&(Reflect.deleteProperty(t,"default_val"),l.push(o),a.content=o)}))}),["children","properties"]),n(e,(e=>l.includes(e)))})),{FieldNormalizeWaterfallHook:m,FieldListNormalizeWaterfallHook:d}}export{d as useFieldNormalize};
|
@@ -57,7 +57,7 @@ export type UrlConfig = {
|
|
57
57
|
dependKey: DependKeyType;
|
58
58
|
[key: string]: any;
|
59
59
|
}>;
|
60
|
-
interface ReactionType {
|
60
|
+
export interface ReactionType {
|
61
61
|
dependencies?: string[];
|
62
62
|
target?: string;
|
63
63
|
effects?: SchemaEffectTypes[];
|
@@ -136,6 +136,8 @@ export type FieldItem = {
|
|
136
136
|
linebarDirection: 'horizontal' | 'vertical';
|
137
137
|
linebarTextDirection: 'horizontal' | 'vertical';
|
138
138
|
labelColor: string;
|
139
|
+
fieldTitleRed: FormCommonState | boolean;
|
140
|
+
fieldTitleColor: string;
|
139
141
|
fieldType: SchemaTypes;
|
140
142
|
content: string | FormRenderer | Record<string, FormRenderer>;
|
141
143
|
lazyRequest: boolean;
|
@@ -3072,9 +3072,9 @@ declare const IhoChat: SFCWithInstall<import("vue").DefineComponent<{
|
|
3072
3072
|
"onSession-close"?: ((...args: any[]) => any) | undefined;
|
3073
3073
|
}, {
|
3074
3074
|
show: boolean;
|
3075
|
-
filterable: boolean;
|
3076
3075
|
showHeader: boolean;
|
3077
3076
|
baseURL: string;
|
3078
3077
|
extraParams: import("../../shared/types").AnyObject;
|
3078
|
+
filterable: boolean;
|
3079
3079
|
}>>;
|
3080
3080
|
export default IhoChat;
|
@@ -3073,9 +3073,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
3073
3073
|
"onSession-close"?: ((...args: any[]) => any) | undefined;
|
3074
3074
|
}, {
|
3075
3075
|
show: boolean;
|
3076
|
-
filterable: boolean;
|
3077
3076
|
showHeader: boolean;
|
3078
3077
|
baseURL: string;
|
3079
3078
|
extraParams: AnyObject;
|
3079
|
+
filterable: boolean;
|
3080
3080
|
}>;
|
3081
3081
|
export default _default;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,ref as t,computed as n,watch as o,openBlock as s,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as l,createVNode as c,withCtx as u,Fragment as m,renderList as d,toDisplayString as p,createCommentVNode as g,createBlock as v,createElementVNode as f,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as w,NAvatar as k,NImage as _,NIcon as C,NSpace as x,NButtonGroup as I,NTooltip as L}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{isAudioOrVideoMessage as z,simplifyMessage as D,getAVTime as H,downloadFile as R}from"../utils/index.js";import{first as N,last as B,toString as O}from"lodash-es";import"trtc-sdk-v5";import P from"./PersonProfile.vue.js";import q from"./MessageTemplate.vue.js";import J from"./MessageEvent.vue.js";import{emojis as W}from"../utils/emoji.js";import U from"./ContextMenu.js";import X from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as F,VideocamOutline as G,DocumentSharp as K,ChatbubbleEllipsesOutline as V,EllipsisHorizontal as Y,ArrowDownSharp as $}from"@vicons/ionicons5";import{useScrollLoading as Q}from"../../../../shared/hooks/useScrollLoading.js";const Z={key:0,class:"tip-text"},ee={key:1,class:"tip-text"},te={key:2,class:"message-box"},ne={key:0,class:"content-box"},oe={class:"name-box"},se=["data-time"],ie=["onContextmenu"],re={key:0,class:"reference-content"},ae=["innerHTML"],le=["src"],ce=["innerHTML"],ue=["innerHTML"],me={style:{"margin-left":"8px"}},de={class:"size"};var pe=e({__name:"ChatMain",setup(e){const pe=t(),{state:ge,setMsgList:ve,relayMessage:fe,setCurrentSessionItem:ye,isGroupChat:he}=b(),Te=t(),Me=t(!1),we=t({left:0,top:0}),ke=t(),_e=t(),Ce={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},xe=n((()=>({"--c-tip-top":he.value?"1px":"-20px","--c-tip-gap":he.value?"10px":"0px"})));function Ie({nodes:e}){var t,n;const{_ctx:o}=null==(t=e.download)?void 0:t.children,s=o?null==(n=null==o?void 0:o.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,c(L,null,{trigger:()=>c(C,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>s&&R(s,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.102"))||"下载"}}),e.close]}async function Le(){try{if(!Ce.hasMore)return;Ce.page++;const e=await E({sessionKey:ge.currentSessionItem.sessionKey,page:Ce.page,lastSendTime:Ce.lastSendTime});if(!Array.isArray(e)||0===e.length)return Ce.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=N(e).id;Ce.lastSendTime=B(e).sendTime,ve(Ce.page>1?[...ge.msgList,...e]:e),1===Ce.page&&ge.currentSessionItem.unreadNum&&(await S({chatType:ge.currentSessionItem.chatType,messageIdSet:[t],receiver:ge.userInfo.id,sender:ge.currentSessionItem.receiver}),ye({unreadNum:0}))}catch(e){console.log(e)}}async function je(e,t){ke.value=t,async function(e){var t,n,o,s,i,r;Me.value=!0,await T();const{clientX:a,clientY:l}=e,{width:c=0,height:u=0,left:m=0,top:d=0}=(null==(t=pe.value)?void 0:t.getBoundingClientRect())||{},p=null!=(s=null==(o=null==(n=Te.value)?void 0:n.$el)?void 0:o.getBoundingClientRect().height)?s:220,g=null!=(r=null==(i=pe.value)?void 0:i.scrollTop)?r:0,v=5,f={};a<=m+c/2?f.left=a-m+v+"px":f.right=m+c-a-v+"px";l-d<p/2?f.top=g+v+"px":d+u-l<=p/2?f.bottom=Math.abs(g)+v+"px":f.top=g+l-d-p/2+"px";we.value=f}(e)}function Ee(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function Se(e){const{chatMessageType:t}=e.content;return e.sender===ge.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[A.TEXT,A.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===A.BLEND){const e=O(n).match(/<img[^>]*>/gi);return!e||!e.length}return t&&[A.TEXT,A.EMOJI].includes(t)}function Ae(e){const{chatMessageType:t,msg:n=""}=e.content,o=O(n).match(/<img[^>]*>/gi);return t===A.BLEND&&o&&o.length}function ze(e,t){var n,o;const{chatMessageType:s,messageTemplate:i}=e.content;if(s===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(o=null==i?void 0:i.setting)?void 0:o.style.id)}function De(e){var t,n;const{chatMessageType:o,messageTemplate:s}=e;return o===A.TEMPLATE&&3==(null==(n=null==(t=null==s?void 0:s.setting)?void 0:t.style)?void 0:n.id)}function He(e,t){var n;const o=new Date(e.sendTime).getTime(),s=null==(n=ge.msgList[t+1])?void 0:n.sendTime;if(s){return o-new Date(s).getTime()>3e5}return!0}function Re(e){ge.currentReferenceMsg=e,ge.currentReferenceMsg.content.referenceContent=null,Object.assign(ge.currentReferenceMsg,{chatType:ge.currentSessionItem.chatType,receiver:ge.currentSessionItem.receiver,receiverAvatar:ge.currentSessionItem.avatar,receiverName:ge.currentSessionItem.name})}function Ne(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=_e.value)||n.click()):Re(t)}function Be({checkedIds:e,remark:t}){const n=ge.msgList.find((e=>e.id===ke.value));fe({checkedIds:e,remark:t,content:n.content})}return Q(pe,(()=>{Le()}),"top",(()=>{Me.value=!1})),o((()=>ge.id),(e=>{e&&(ge.currentReferenceMsg=null,Object.assign(Ce,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),Le())}),{immediate:!0}),o((()=>ge.isAppendMsg),(e=>{e&&(ve([ge.currentMsg,...ge.msgList]),async function(){var e;null==(e=pe.value)||e.scrollTo({top:0,behavior:"auto"})}(),ge.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>{var n;return s(),i("div",{class:r(["chat-main",{"home-bg":!a(ge).id}]),ref_key:"chatMainRef",ref:pe,style:l(a(xe))},[c(a(M),{"show-toolbar-tooltip":"","render-toolbar":Ie},{default:u((()=>[(s(!0),i(m,null,d(a(ge).msgList,((e,t)=>{var n,o,l;return s(),i(m,{key:e.id},[Ee(e)?(s(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(ge).userInfo.id}])},[He(e,t)?(s(),i("p",Z,p(e.__sendTime),1)):g("v-if",!0),ze(e,"system")||"WITHDRAWN"===e.status||(null==(n=e.content)?void 0:n.chatMessageType)===a(A).EVENT?(s(),i(m,{key:1},[ze(e,"system")?(s(),v(q,{key:0,data:e},null,8,["data"])):g("v-if",!0),"WITHDRAWN"===e.status?(s(),i("p",ee,[f("span",null,p(e.sender==a(ge).userInfo.id?(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.67"))||"你":e.senderName)+((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.68"))||"撤回了一条消息"),1),Se(e)?(s(),v(a(w),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){ge.currentReEditMsg=e}(e)},{default:u((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.69"))||"重新编辑")]})),_:2},1032,["onClick"])):g("v-if",!0)])):(s(),v(J,{key:2,data:e},null,8,["data"]))],64)):(s(),i("div",te,[c(P,{"user-id":e.sender,placement:e.sender==a(ge).userInfo.id?"left":"right"},{trigger:u((()=>[c(a(k),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(s(),i("div",ne,[f("div",oe,[f("span",{class:"name","data-time":e.__time},p(a(he)?e.senderName:""),9,se)]),f("div",{class:r(["content",{emoji:e.content.chatMessageType===a(A).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":De(e.content),"audio-video":a(z)(e.content),file:e.content.chatMessageType===a(A).FILE}]),onContextmenu:h((t=>je(t,e.id)),["prevent"])},[be(e)?(s(),i(m,{key:0},[e.content.referenceContent?(s(),i("div",re,[f("span",null,p(e.content.referenceContent.senderName)+":",1),f("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,ae)])):g("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(W).findEmoji(e.__content)},null,10,le)):(s(),i("pre",{key:2,innerHTML:e.__content},null,8,ce))],64)):g("v-if",!0),Ae(e)?(s(),i("pre",{key:1,innerHTML:e.__content},null,8,ue)):g("v-if",!0),ze(e,"template")?(s(),v(q,{key:2,data:e},null,8,["data"])):g("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),v(a(_),{key:3,width:"240",src:e.__content},null,8,["src"])):g("v-if",!0),a(z)(e.content)?(s(),i(m,{key:4},[c(a(C),{class:r({"is-audio":e.content.chatMessageType===a(A).AUDIO}),component:e.content.chatMessageType===a(A).AUDIO?a(F):a(G)},null,8,["class","component"]),f("span",me,p(a(H)(e.__content)),1)],64)):g("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),v(a(x),{key:5,"wrap-item":!1},{default:u((()=>[c(a(C),{class:"icon-file",size:"40",component:a(K)},null,8,["component"]),c(a(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[f("span",null,p(e.__content),1),f("span",de,p(e.__size),1)])),_:2},1024)])),_:2},1024)):g("v-if",!0),c(a(I),{class:"quick-menu"},{default:u((()=>[a(z)(e.content)?g("v-if",!0):(s(),i(m,{key:0},[g(' <n-button quaternary size="tiny">\n\t\t\t\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),c(a(w),{quaternary:"",size:"tiny",onClick:()=>Re(e)},{icon:u((()=>[c(a(C),{size:"17",component:a(V)},null,8,["component"])])),_:2},1032,["onClick"])],64)),c(a(w),{quaternary:"",size:"tiny",onClick:t=>je(t,e.id)},{icon:u((()=>[c(a(C),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,ie)])):g("v-if",!0)]))],2)):g("v-if",!0)],64)})),128))])),_:1}),c(a(U),{ref_key:"contextmenuRef",ref:Te,show:Me.value,"onUpdate:show":t[0]||(t[0]=e=>Me.value=e),position:we.value,id:ke.value,onSelect:Ne},null,8,["show","position","id"]),c(X,{title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:Be},{trigger:u((()=>{var e;return[f("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:_e},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.45"))||"转发",512)]})),_:1})],6)}}});export{pe as default};
|
1
|
+
import{defineComponent as e,ref as t,computed as n,watch as o,openBlock as s,createElementBlock as i,normalizeClass as r,unref as a,normalizeStyle as l,createVNode as c,withCtx as u,Fragment as m,renderList as d,toDisplayString as p,createCommentVNode as g,createBlock as v,createElementVNode as f,createTextVNode as y,withModifiers as h,nextTick as T}from"vue";import{NImageGroup as M,NButton as w,NAvatar as k,NImage as _,NIcon as C,NSpace as x,NButtonGroup as I,NTooltip as L}from"naive-ui";import{format as j}from"date-fns";import{getHistoryRecordApi as E,readMessageApi as S}from"../api/index.js";import{useData as b}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{MESSAGE_TYPE as A}from"../constants/index.js";import{isAudioOrVideoMessage as z,simplifyMessage as D,getAVTime as H,downloadFile as R}from"../utils/index.js";import{first as N,last as B,toString as O}from"lodash-es";import"trtc-sdk-v5";import P from"./PersonProfile.vue.js";import q from"./MessageTemplate.vue.js";import J from"./MessageEvent.vue.js";import{emojis as W}from"../utils/emoji.js";import U from"./ContextMenu.js";import X from"./ChatAdd.vue.js";import"../../../../shared/utils/index.js";import"@vueuse/core";import"@vue/shared";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import{CallOutline as F,VideocamOutline as G,DocumentSharp as K,ChatbubbleEllipsesOutline as V,EllipsisHorizontal as Y,ArrowDownSharp as $}from"@vicons/ionicons5";import{useScrollLoading as Q}from"../../../../shared/hooks/useScrollLoading.js";const Z={key:0,class:"tip-text"},ee={key:1,class:"tip-text"},te={key:2,class:"message-box"},ne={key:0,class:"content-box"},oe={class:"name-box"},se=["data-time"],ie=["onContextmenu"],re={key:0,class:"reference-content"},ae=["innerHTML"],le=["src"],ce=["innerHTML"],ue=["innerHTML"],me={style:{"margin-left":"8px"}},de={class:"size"};var pe=e({__name:"ChatMain",setup(e){const pe=t(),{state:ge,setMsgList:ve,relayMessage:fe,setCurrentSessionItem:ye,isGroupChat:he}=b(),Te=t(),Me=t(!1),we=t({left:0,top:0}),ke=t(),_e=t(),Ce={page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")},xe=n((()=>({"--c-tip-top":he.value?"1px":"-20px","--c-tip-gap":he.value?"10px":"0px"})));function Ie({nodes:e}){var t,n;const{_ctx:o}=null==(t=e.download)?void 0:t.children,s=o?null==(n=null==o?void 0:o.proxy)?void 0:n.previewSrc:"";return[e.prev,e.next,e.rotateCounterclockwise,e.rotateClockwise,e.resizeToOriginalSize,e.zoomOut,e.zoomIn,c(L,null,{trigger:()=>c(C,{style:"cursor: pointer",color:"rgba(255, 255, 255, 0.75",size:24,component:$,onClick:()=>s&&R(s,"img")},null),default:()=>{var e;return(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.102"))||"下载"}}),e.close]}async function Le(){try{if(!Ce.hasMore)return;Ce.page++;const e=await E({sessionKey:ge.currentSessionItem.sessionKey,page:Ce.page,lastSendTime:Ce.lastSendTime});if(!Array.isArray(e)||0===e.length)return Ce.hasMore=!1,console.log("接口返回不是一个数组,或者没有更多消息了");const t=N(e).id;Ce.lastSendTime=B(e).sendTime,ve(Ce.page>1?[...ge.msgList,...e]:e),1===Ce.page&&ge.currentSessionItem.unreadNum&&(await S({chatType:ge.currentSessionItem.chatType,messageIdSet:[t],receiver:ge.userInfo.id,sender:ge.currentSessionItem.receiver}),ye({unreadNum:0}))}catch(e){console.log(e)}}async function je(e,t){ke.value=t,async function(e){var t,n,o,s,i,r;Me.value=!0,await T();const{clientX:a,clientY:l}=e,{width:c=0,height:u=0,left:m=0,top:d=0}=(null==(t=pe.value)?void 0:t.getBoundingClientRect())||{},p=null!=(s=null==(o=null==(n=Te.value)?void 0:n.$el)?void 0:o.getBoundingClientRect().height)?s:220,g=null!=(r=null==(i=pe.value)?void 0:i.scrollTop)?r:0,v=5,f={};a<=m+c/2?f.left=a-m+v+"px":f.right=m+c-a-v+"px";l-d<p/2?f.top=g+v+"px":d+u-l<=p/2?f.bottom=Math.abs(g)+v+"px":f.top=g+l-d-p/2+"px";we.value=f}(e)}function Ee(e){const{chatMessageType:t,messageTemplate:n}=e.content;return t!==A.TEMPLATE||!!n}function Se(e){const{chatMessageType:t}=e.content;return e.sender===ge.userInfo.id&&Date.now()-new Date(e.sendTime).getTime()<864e5&&[A.TEXT,A.EMOJI].includes(t)}function be(e){const{chatMessageType:t,msg:n=""}=e.content;if(t===A.BLEND){const e=O(n).match(/<img[^>]*>/gi);return!e||!e.length}return t&&[A.TEXT,A.EMOJI].includes(t)}function Ae(e){const{chatMessageType:t,msg:n=""}=e.content,o=O(n).match(/<img[^>]*>/gi);return t===A.BLEND&&o&&o.length}function ze(e,t){var n,o;const{chatMessageType:s,messageTemplate:i}=e.content;if(s===A.TEMPLATE)return"system"===t?2==(null==(n=null==i?void 0:i.setting)?void 0:n.style.id):2!=(null==(o=null==i?void 0:i.setting)?void 0:o.style.id)}function De(e){var t,n;const{chatMessageType:o,messageTemplate:s}=e;return o===A.TEMPLATE&&3==(null==(n=null==(t=null==s?void 0:s.setting)?void 0:t.style)?void 0:n.id)}function He(e,t){var n;const o=new Date(e.sendTime).getTime(),s=null==(n=ge.msgList[t+1])?void 0:n.sendTime;if(s){return o-new Date(s).getTime()>3e5}return!0}function Re(e){ge.currentReferenceMsg=e,ge.currentReferenceMsg.content.referenceContent=null,Object.assign(ge.currentReferenceMsg,{chatType:ge.currentSessionItem.chatType,receiver:ge.currentSessionItem.receiver,receiverAvatar:ge.currentSessionItem.avatar,receiverName:ge.currentSessionItem.name})}function Ne(e,t){var n;"reply"!==e?"relay"===e&&(null==(n=_e.value)||n.click()):Re(t)}function Be({checkedIds:e,remark:t}){const n=ge.msgList.find((e=>e.id===ke.value));fe({checkedIds:e,remark:t,content:n.content})}return Q(pe,(()=>{Le()}),"top",(()=>{Me.value=!1})),o((()=>ge.id),(e=>{e&&(ge.currentReferenceMsg=null,Object.assign(Ce,{page:0,hasMore:!0,lastSendTime:j(new Date,"yyyy-MM-dd HH:mm:ss")}),Le())}),{immediate:!0}),o((()=>ge.isAppendMsg),(e=>{e&&(ve([ge.currentMsg,...ge.msgList]),async function(){var e;null==(e=pe.value)||e.scrollTo({top:0,behavior:"auto"})}(),ge.isAppendMsg=!1)}),{immediate:!0}),(e,t)=>{var n;return s(),i("div",{class:r(["chat-main",{"home-bg":!a(ge).id}]),ref_key:"chatMainRef",ref:pe,style:l(a(xe))},[c(a(M),{"show-toolbar-tooltip":"","render-toolbar":Ie},{default:u((()=>[(s(!0),i(m,null,d(a(ge).msgList,((e,t)=>{var n,o,l;return s(),i(m,{key:e.id},[Ee(e)?(s(),i("div",{key:0,class:r(["message-item",{"message-item--mine":e.sender==a(ge).userInfo.id}])},[He(e,t)?(s(),i("p",Z,p(e.__sendTime),1)):g("v-if",!0),ze(e,"system")||"WITHDRAWN"===e.status||(null==(n=e.content)?void 0:n.chatMessageType)===a(A).EVENT?(s(),i(m,{key:1},[ze(e,"system")?(s(),v(q,{key:0,data:e},null,8,["data"])):g("v-if",!0),"WITHDRAWN"===e.status?(s(),i("p",ee,[f("span",null,p(e.sender==a(ge).userInfo.id?(null==(o=window.getLanguageByCode)?void 0:o.call(window,"10010.1.67"))||"你":e.senderName)+((null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.68"))||"撤回了一条消息"),1),Se(e)?(s(),v(a(w),{key:0,size:"tiny",style:{color:"var(--c-primary-color)","margin-left":"5px"},text:"",onClick:()=>function(e){ge.currentReEditMsg=e}(e)},{default:u((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.69"))||"重新编辑")]})),_:2},1032,["onClick"])):g("v-if",!0)])):(s(),v(J,{key:2,data:e},null,8,["data"]))],64)):(s(),i("div",te,[c(P,{"user-id":e.sender,placement:e.sender==a(ge).userInfo.id?"left":"right"},{trigger:u((()=>[c(a(k),{round:"",size:38,src:e.senderAvatar},null,8,["src"])])),_:2},1032,["user-id","placement"]),e.content?(s(),i("div",ne,[f("div",oe,[f("span",{class:"name","data-time":e.__time},p(a(he)?e.senderName:""),9,se)]),f("div",{class:r(["content",{emoji:e.content.chatMessageType===a(A).EMOJI&&!e.content.referenceContent,template:e.content.chatMessageType===a(A).TEMPLATE,"template--3":De(e.content),"audio-video":a(z)(e.content),file:e.content.chatMessageType===a(A).FILE}]),onContextmenu:h((t=>je(t,e.id)),["prevent"])},[be(e)?(s(),i(m,{key:0},[e.content.referenceContent?(s(),i("div",re,[f("span",null,p(e.content.referenceContent.senderName)+":",1),f("pre",{innerHTML:a(D)(e.content.referenceContent.content)},null,8,ae)])):g("v-if",!0),e.content.chatMessageType===a(A).EMOJI?(s(),i("img",{key:1,class:r([e.content.referenceContent?"emoji--min":"emoji--big"]),src:a(W).findEmoji(e.__content)},null,10,le)):(s(),i("pre",{key:2,innerHTML:e.__content},null,8,ce))],64)):g("v-if",!0),Ae(e)?(s(),i("pre",{key:1,innerHTML:e.__content},null,8,ue)):g("v-if",!0),ze(e,"template")?(s(),v(q,{key:2,data:e},null,8,["data"])):g("v-if",!0),e.content.chatMessageType===a(A).IMAGE?(s(),v(a(_),{key:3,width:"240",src:e.__content},null,8,["src"])):g("v-if",!0),a(z)(e.content)?(s(),i(m,{key:4},[c(a(C),{class:r({"is-audio":e.content.chatMessageType===a(A).AUDIO}),component:e.content.chatMessageType===a(A).AUDIO?a(F):a(G)},null,8,["class","component"]),f("span",me,p(a(H)(e.__content)),1)],64)):g("v-if",!0),e.content.chatMessageType===a(A).FILE?(s(),v(a(x),{key:5,"wrap-item":!1},{default:u((()=>[c(a(C),{class:"icon-file",size:"40",component:a(K)},null,8,["component"]),c(a(x),{"wrap-item":!1,vertical:"",justify:"space-between",style:{"row-gap":"0"}},{default:u((()=>[f("span",null,p(e.__content),1),f("span",de,p(e.__size),1)])),_:2},1024)])),_:2},1024)):g("v-if",!0),c(a(I),{class:"quick-menu"},{default:u((()=>[a(z)(e.content)?g("v-if",!0):(s(),i(m,{key:0},[g(' <n-button quaternary size="tiny">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="chat--iconfont chat--icon-face" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t</n-button> '),c(a(w),{quaternary:"",size:"tiny",onClick:()=>Re(e)},{icon:u((()=>[c(a(C),{size:"17",component:a(V)},null,8,["component"])])),_:2},1032,["onClick"])],64)),c(a(w),{quaternary:"",size:"tiny",onClick:t=>je(t,e.id)},{icon:u((()=>[c(a(C),{size:"14",component:a(Y)},null,8,["component"])])),_:2},1032,["onClick"])])),_:2},1024)],42,ie)])):g("v-if",!0)]))],2)):g("v-if",!0)],64)})),128))])),_:1}),c(a(U),{ref_key:"contextmenuRef",ref:Te,show:Me.value,"onUpdate:show":t[0]||(t[0]=e=>Me.value=e),position:we.value,id:ke.value,onSelect:Ne},null,8,["show","position","id"]),c(X,{title:(null==(n=window.getLanguageByCode)?void 0:n.call(window,"10010.1.44"))||"转发消息",mode:"relay",onComfirm:Be},{trigger:u((()=>{var e;return[f("span",{style:{display:"none"},ref_key:"relayTriggerRef",ref:_e},(null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.45"))||"转发",512)]})),_:1})],6)}}});export{pe as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as t,ref as e,reactive as n,computed as l,openBlock as o,createBlock as a,unref as i,withCtx as
|
1
|
+
import{defineComponent as t,ref as e,reactive as n,computed as l,openBlock as o,createBlock as a,unref as i,withCtx as r,renderSlot as s,createElementBlock as d,Fragment as u,withDirectives as c,createElementVNode as p,createVNode as v,createCommentVNode as g,toDisplayString as m,createTextVNode as w,renderList as f,vShow as y}from"vue";import{NPopover as k,NAvatar as b,NButton as h,NIcon as C}from"naive-ui";import{ChatbubbleEllipses as I,EyeOffOutline as j,EyeOutline as L,Close as B}from"@vicons/ionicons5";import{useData as _}from"../hooks/useData.js";import"stompjs";import"sockjs-client/dist/sockjs.min.js";import{CHAT_TYPE as x}from"../constants/index.js";import{openSessionApi as z,getUserDetailApi as N}from"../api/index.js";import"../utils/index.js";import"lodash-es";import"trtc-sdk-v5";const D={class:"person-profile-main"},S={class:"left"},$={class:"profile"},E={class:"profile__text"},O={class:"right"},P={class:"right__content"},G={class:"label"},T={class:"content"};var U=t({__name:"PersonProfile",props:{userId:{type:[String,Number]},disabled:{type:Boolean,default:!1},userInfo:{type:Object}},emits:["close"],setup(t,{emit:U}){var q,A,F,H,J,K,M,Q;const R=t,{state:V,openSession:W}=_(),X=e(!1),Y=e(!1),Z=e(!1),tt=n({}),et=[{label:(null==(q=window.getLanguageByCode)?void 0:q.call(window,"10010.1.115"))||"机构",value:"",key:"orgName"},{label:(null==(A=window.getLanguageByCode)?void 0:A.call(window,"10010.1.116"))||"姓名",value:"",key:"name"},{label:(null==(F=window.getLanguageByCode)?void 0:F.call(window,"10010.1.117"))||"归属科室",value:"",key:"deptName"},{label:(null==(H=window.getLanguageByCode)?void 0:H.call(window,"10010.1.118"))||"业务科室",value:"",key:"businessDeptNames"},{label:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.119"))||"手机号",value:"",key:"phone"},{label:(null==(K=window.getLanguageByCode)?void 0:K.call(window,"10010.1.120"))||"岗位",value:"",key:"post"},{label:(null==(M=window.getLanguageByCode)?void 0:M.call(window,"10010.1.121"))||"工号",value:"",key:"jobId"},{label:(null==(Q=window.getLanguageByCode)?void 0:Q.call(window,"10010.1.122"))||"性别",value:"",key:"orgName"}],nt=l((()=>(tt.id&&et.forEach((t=>{const{key:e}=t;t.value=tt[e]})),et)));async function lt(){var t;X.value=!1;let e=V.sessionList.find((t=>t.receiver===R.userId));if(!e)try{e=await z({chatType:x.SINGLE,receiver:R.userId||(null==(t=R.userInfo)?void 0:t.id),sender:V.userInfo.id})}catch(t){console.log("error :>> ",t)}e&&W(e),U("close")}async function ot(t){if(!t)return;if(!R.userId&&!R.userInfo)return;let e={};R.userId?e=await N({userId:R.userId}):R.userInfo&&(e=R.userInfo),(null==e?void 0:e.id)?Object.assign(tt,e):tt.id=""}function at(t){const{key:e,value:n}=t;return"phone"!==e||Z.value?n:(n||"").replace(/(\d{3})\d{4}(\d{4})/,"$1****$2")}return(e,n)=>(o(),a(i(k),{raw:"",class:"person-profile-wrapper",show:X.value,"onUpdate:show":[n[3]||(n[3]=t=>X.value=t),ot],trigger:t.disabled?"manual":"click","show-arrow":!1,to:"body",shift:""},{trigger:r((()=>[s(e.$slots,"trigger")])),default:r((()=>[tt.id?(o(),d(u,{key:0},[c(p("div",D,[p("div",S,[p("div",$,[v(i(b),{src:tt.avatar,bordered:"",round:"",size:100,onClickCapture:n[0]||(n[0]=t=>Y.value=!0)},null,8,["src"]),g(' <n-upload abstract accept="image/*" @change="onChange">\r\n\t\t\t\t\t\t\t<n-upload-trigger #="{ handleClick }" abstract>\r\n\t\t\t\t\t\t\t\t<n-button\r\n\t\t\t\t\t\t\t\t\tcircle\r\n\t\t\t\t\t\t\t\t\tsecondary\r\n\t\t\t\t\t\t\t\t\tclass="edit-avatar"\r\n\t\t\t\t\t\t\t\t\tv-show="userDetail.id === state.userInfo.id"\r\n\t\t\t\t\t\t\t\t\t@click="handleClick"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<template #icon>\r\n\t\t\t\t\t\t\t\t\t\t<n-icon size="16" color="#666666" :component="Camera" />\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</n-button>\r\n\t\t\t\t\t\t\t</n-upload-trigger>\r\n\t\t\t\t\t\t</n-upload> '),p("div",E,[p("h4",null,m(tt.name),1),p("p",null,m(tt.orgName),1)]),v(i(h),{strong:"",secondary:"",onClick:lt},{default:r((()=>[v(i(C),{size:"13",color:"#666666",component:i(I),style:{"margin-right":"6px"}},null,8,["component"]),w(" 发消息 ")])),_:1})])]),p("div",O,[p("div",P,[(o(!0),d(u,null,f(i(nt),((t,e)=>(o(),d("div",{class:"info-item",key:e},[p("span",G,m(t.label),1),p("div",T,[p("span",null,m(at(t)),1),"phone"===t.key&&at(t)?(o(),a(i(C),{key:0,size:"16",color:"#666666",component:Z.value?i(j):i(L),style:{"margin-left":"10px"},onClick:n[1]||(n[1]=t=>Z.value=!Z.value)},null,8,["component"])):g("v-if",!0)])])))),128))])])],512),[[y,!Y.value]]),c(p("div",{class:"large-avatar",onClick:n[2]||(n[2]=t=>Y.value=!1)},[v(i(h),{circle:"",size:"small",secondary:""},{icon:r((()=>[v(i(C),{size:24,component:i(B),color:"#fff"},null,8,["component"])])),_:1}),v(i(b),{size:310,round:"",src:tt.avatar},null,8,["src"])],512),[[y,Y.value]])],64)):g("v-if",!0)])),_:3},8,["show","trigger"]))}});export{U as default};
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,reactive as o,ref as a,watch as t,nextTick as n,openBlock as s,createElementBlock as i,normalizeClass as l,unref as r,createCommentVNode as m,Fragment as u,createBlock as c,mergeProps as d,createElementVNode as p,normalizeStyle as v,createVNode as f,withCtx as g,renderList as w,toDisplayString as h,createTextVNode as y,resolveDynamicComponent as k,renderSlot as S}from"vue";import C from"./hooks/use-noData.js";import{ScaleViewProps as b}from"./hooks/scaleview-props.js";import{getScaleViewState as D}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as j}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as _}from"./hooks/scaleview-submit.js";import{ScaleViewMethods as x}from"./hooks/scaleview-methods.js";import{handleQueryParams as F,isCollection as L}from"./utils/judge-types.js";import{useEvent as P}from"./hooks/use-event.js";import"xe-utils";import"moment";import q from"../../../shared/utils/vexutilsExpand.js";import N from"./components/NoData.vue.js";import R from"./components/EvaluateCountdown.vue.js";import A from"./components/EvaluatePage.vue.js";import B from"./components/AnswerParse.vue.js";import M from"./components/ScaleScore.js";import O from"./components/DescribeContent.vue.js";import{NForm as T,NFormItem as V,NButton as I}from"naive-ui";const J=["innerHTML"],G={key:0,class:"required-text"},W={key:1,class:"evalute-label"},H=["onClick"],Q=p("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),$={key:1,class:"footer"};var z=e({__name:"ScaleView",props:b,emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:b,emit:z}){const K=e,{ScaleViewState:U}=D(),X=o(U),Y=a(null),Z=a(null),ee=a(null),{noDataState:oe,setNoData:ae,resetNodata:te}=C(),ne=F(),{showEvatip:se,isFormBoldOpen:ie,scaleStyle:le,handlePageClass:re,isShowItem:me,handleShowQuestionNumber:ue,hasScore:ce,isPreviewScale:de,showEvaluateEntry:pe,showEvaluateCoundownPage:ve,showScaleFooter:fe,isCancelBtn:ge,isSaveBtn:we,showEvaluateLabel:he,showAnswerParse:ye,propsConfig:ke,evaluatePageProps:Se,evaluateCountdownProps:Ce,isEvaluetaResSituation:be,disableEdit:De,desStart:Ee,desEnd:je,desContent:_e}=E(K,X,{query:ne,scaleViewDom:Y}),{initForm:xe}=j(K,X,z,{query:ne}),{submitMethod:Fe,onSubmitData:Le,onSubmitForm:Pe,handleScoreJson:qe}=_(K,X,z,{query:ne,formRef:ee,countdownDom:Z}),{nextLogicEvent:Ne,handleDynamicDataRelation:Re}=P(K,X),{scaleChange:Ae,labelChange:Be,vodFileList:Me,writeGuage:Oe,closeEvaluateCountdown:Te,showEvaTipModal:Ve}=x(K,X,z,{nextLogicEvent:Ne,handleDynamicDataRelation:Re,isPreviewScale:de,submitMethod:Fe,isEvaluetaResSituation:be,handleScoreJson:qe,disableEdit:De});(()=>{let{id:e}=ne;e&&(X.shareId=e)})();const Ie=e=>{try{te(),xe(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,ae(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};t((()=>K.ids),((e,o)=>{o?e.guage_id&&e.guage_id!=o.guage_id&&Ie(e):e.guage_id&&Ie(e)}),{immediate:!0}),t((()=>K.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;X.form={},X.formArray=[];const o=JSON.parse(JSON.stringify(e));n((()=>{xe(o)}))}),{immediate:!0});const Je=q.debounce(Le,300),Ge=()=>{z("onCloseSetting")};return b({getScaleData:()=>({...X}),onSubmitForm:Pe,cancel:Ge}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(fe)}]),ref_key:"scaleViewDom",ref:Y},[m(' <template v-if="state.spinning">\n <n-spin :show="state.spinning" description="加载中"></n-spin>\n </template> '),X.spinning||X.hasFrontAddress?m("v-if",!0):(s(),i(u,{key:0},[r(oe).noData?(s(),c(N,{key:0,noDataImg:r(oe).noDataImg,noDataTip:r(oe).noDataTip},null,8,["noDataImg","noDataTip"])):(s(),i(u,{key:1},[r(pe)?(s(),c(A,d({key:0},r(Se),{onWriteGuage:r(Oe)}),null,16,["onWriteGuage"])):(s(),i(u,{key:1},[r(ve)?(s(),c(R,d({key:0,ref_key:"countdownDom",ref:Z},r(Ce),{onCloseEvaluateCountdown:r(Te)}),null,16,["onCloseEvaluateCountdown"])):m("v-if",!0),p("div",{class:l(["scale-container",{"scale-container-nopadding":r(re),"scale-container-hasfooter":r(fe)}]),style:v(r(le))},[r(ce)?(s(),c(r(M),{key:0,config:X.config,maxScore:X.maxScore},null,8,["config","maxScore"])):m("v-if",!0),r(Ee)?(s(),c(O,{key:1,content:r(_e)},null,8,["content"])):m("v-if",!0),f(r(T),{ref_key:"formRef",ref:ee,model:X.form,rules:X.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(s(!0),i(u,null,w(X.formArray,((e,o)=>(s(),i(u,{key:(e.id||e.seq)+o},[r(me)(e)?(s(),c(r(V),{key:0,path:e.val_key,"show-label":!r(L)(e.type),class:"c-scle-form-item"},{label:g((()=>[p("span",{class:l({"scale-label-required":r(ie)(e)}),innerHTML:r(ue)(e)},null,10,J),r(ie)(e)?(s(),i("span",G,"(必填)")):m("v-if",!0),r(he)(e)?(s(),i("span",W,h(r(he)(e)),1)):m("v-if",!0),r(se)(e)?(s(),i("span",{key:2,class:"evalute-tip",onClick:o=>r(Ve)(e)},[Q,y(" 查看提示 ")],8,H)):m("v-if",!0)])),default:g((()=>[(s(),c(k(e.renderCom),d(r(ke)(e,o),{key:(e.id||e.seq)+o,onScaleChange:r(Ae),onOnChange:o=>r(Be)(o,e),onVodFileList:r(Me)}),null,16,["onScaleChange","onOnChange","onVodFileList"])),r(ye)(e)?(s(),c(B,{key:0,item:e},null,8,["item"])):m("v-if",!0)])),_:2},1032,["path","show-label"])):m("v-if",!0)],64)))),128))])),_:1},8,["model","rules"]),r(je)?(s(),c(O,{key:2,content:r(_e)},null,8,["content"])):m("v-if",!0)],6),r(fe)?(s(),i("div",$,[m(" 分享的链接 隐藏取消按钮 "),r(ge)?(s(),c(r(I),{key:0,onClick:Ge},{default:g((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1})):m("v-if",!0),r(we)?(s(),c(r(I),{key:1,onClick:r(Je),disabled:X.banSubmit,type:"primary"},{default:g((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.244"))||"保存")]})),_:1},8,["onClick","disabled"])):m("v-if",!0),S(e.$slots,"extendBtn")])):m("v-if",!0)],64))],64))],64))],2))}});export{z as default};
|
1
|
+
import{defineComponent as e,reactive as o,ref as a,watch as t,nextTick as n,openBlock as s,createElementBlock as i,normalizeClass as l,unref as r,createCommentVNode as m,Fragment as u,createBlock as c,mergeProps as d,createElementVNode as p,normalizeStyle as v,createVNode as f,withCtx as g,renderList as w,toDisplayString as h,createTextVNode as y,resolveDynamicComponent as k,renderSlot as S}from"vue";import C from"./hooks/use-noData.js";import{ScaleViewProps as b}from"./hooks/scaleview-props.js";import{getScaleViewState as D}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as j}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as _}from"./hooks/scaleview-submit.js";import{ScaleViewMethods as x}from"./hooks/scaleview-methods.js";import{handleQueryParams as F,isCollection as L}from"./utils/judge-types.js";import{useEvent as P}from"./hooks/use-event.js";import"xe-utils";import"moment";import q from"../../../shared/utils/vexutilsExpand.js";import N from"./components/NoData.vue.js";import R from"./components/EvaluateCountdown.vue.js";import A from"./components/EvaluatePage.vue.js";import B from"./components/AnswerParse.vue.js";import M from"./components/ScaleScore.js";import O from"./components/DescribeContent.vue.js";import{NForm as T,NFormItem as V,NButton as I}from"naive-ui";const J=["innerHTML"],G={key:0,class:"required-text"},W={key:1,class:"evalute-label"},H=["onClick"],Q=p("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),$={key:1,class:"footer"};var z=e({__name:"ScaleView",props:b,emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:b,emit:z}){const K=e,{ScaleViewState:U}=D(),X=o(U),Y=a(null),Z=a(null),ee=a(null),{noDataState:oe,setNoData:ae,resetNodata:te}=C(),ne=F(),{showEvatip:se,isFormBoldOpen:ie,scaleStyle:le,handlePageClass:re,isShowItem:me,handleShowQuestionNumber:ue,hasScore:ce,isPreviewScale:de,showEvaluateEntry:pe,showEvaluateCoundownPage:ve,showScaleFooter:fe,isCancelBtn:ge,isSaveBtn:we,showEvaluateLabel:he,showAnswerParse:ye,propsConfig:ke,evaluatePageProps:Se,evaluateCountdownProps:Ce,isEvaluetaResSituation:be,disableEdit:De,desStart:Ee,desEnd:je,desContent:_e}=E(K,X,{query:ne,scaleViewDom:Y}),{initForm:xe}=j(K,X,z,{query:ne}),{submitMethod:Fe,onSubmitData:Le,onSubmitForm:Pe,handleScoreJson:qe}=_(K,X,z,{query:ne,formRef:ee,countdownDom:Z}),{nextLogicEvent:Ne,handleDynamicDataRelation:Re}=P(K,X),{scaleChange:Ae,labelChange:Be,vodFileList:Me,writeGuage:Oe,closeEvaluateCountdown:Te,showEvaTipModal:Ve}=x(K,X,z,{nextLogicEvent:Ne,handleDynamicDataRelation:Re,isPreviewScale:de,submitMethod:Fe,isEvaluetaResSituation:be,handleScoreJson:qe,disableEdit:De});(()=>{let{id:e}=ne;e&&(X.shareId=e)})();const Ie=e=>{try{te(),xe(e)}catch(e){console.log(e,"--error"),X.spinning=!1,X.hasFrontAddress=!1,ae(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};t((()=>K.ids),((e,o)=>{o?e.guage_id&&e.guage_id!=o.guage_id&&Ie(e):e.guage_id&&Ie(e)}),{immediate:!0}),t((()=>K.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;X.form={},X.formArray=[];const o=JSON.parse(JSON.stringify(e));n((()=>{xe(o)}))}),{immediate:!0});const Je=q.debounce(Le,300),Ge=()=>{z("onCloseSetting")};return b({getScaleData:()=>({...X}),onSubmitForm:Pe,cancel:Ge}),(e,o)=>(s(),i("div",{class:l(["c-scale-view-block",{"c-scale-view-block-hasfooter":r(fe)}]),ref_key:"scaleViewDom",ref:Y},[m(' <template v-if="state.spinning">\r\n <n-spin :show="state.spinning" description="加载中"></n-spin>\r\n </template> '),X.spinning||X.hasFrontAddress?m("v-if",!0):(s(),i(u,{key:0},[r(oe).noData?(s(),c(N,{key:0,noDataImg:r(oe).noDataImg,noDataTip:r(oe).noDataTip},null,8,["noDataImg","noDataTip"])):(s(),i(u,{key:1},[r(pe)?(s(),c(A,d({key:0},r(Se),{onWriteGuage:r(Oe)}),null,16,["onWriteGuage"])):(s(),i(u,{key:1},[r(ve)?(s(),c(R,d({key:0,ref_key:"countdownDom",ref:Z},r(Ce),{onCloseEvaluateCountdown:r(Te)}),null,16,["onCloseEvaluateCountdown"])):m("v-if",!0),p("div",{class:l(["scale-container",{"scale-container-nopadding":r(re),"scale-container-hasfooter":r(fe)}]),style:v(r(le))},[r(ce)?(s(),c(r(M),{key:0,config:X.config,maxScore:X.maxScore},null,8,["config","maxScore"])):m("v-if",!0),r(Ee)?(s(),c(O,{key:1,content:r(_e)},null,8,["content"])):m("v-if",!0),f(r(T),{ref_key:"formRef",ref:ee,model:X.form,rules:X.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(s(!0),i(u,null,w(X.formArray,((e,o)=>(s(),i(u,{key:(e.id||e.seq)+o},[r(me)(e)?(s(),c(r(V),{key:0,path:e.val_key,"show-label":!r(L)(e.type),class:"c-scle-form-item"},{label:g((()=>[p("span",{class:l({"scale-label-required":r(ie)(e)}),innerHTML:r(ue)(e)},null,10,J),r(ie)(e)?(s(),i("span",G,"(必填)")):m("v-if",!0),r(he)(e)?(s(),i("span",W,h(r(he)(e)),1)):m("v-if",!0),r(se)(e)?(s(),i("span",{key:2,class:"evalute-tip",onClick:o=>r(Ve)(e)},[Q,y(" 查看提示 ")],8,H)):m("v-if",!0)])),default:g((()=>[(s(),c(k(e.renderCom),d(r(ke)(e,o),{key:(e.id||e.seq)+o,onScaleChange:r(Ae),onOnChange:o=>r(Be)(o,e),onVodFileList:r(Me)}),null,16,["onScaleChange","onOnChange","onVodFileList"])),r(ye)(e)?(s(),c(B,{key:0,item:e},null,8,["item"])):m("v-if",!0)])),_:2},1032,["path","show-label"])):m("v-if",!0)],64)))),128))])),_:1},8,["model","rules"]),r(je)?(s(),c(O,{key:2,content:r(_e)},null,8,["content"])):m("v-if",!0)],6),r(fe)?(s(),i("div",$,[m(" 分享的链接 隐藏取消按钮 "),r(ge)?(s(),c(r(I),{key:0,onClick:Ge},{default:g((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.28"))||"取消")]})),_:1})):m("v-if",!0),r(we)?(s(),c(r(I),{key:1,onClick:r(Je),disabled:X.banSubmit,type:"primary"},{default:g((()=>{var e;return[y((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.244"))||"保存")]})),_:1},8,["onClick","disabled"])):m("v-if",!0),S(e.$slots,"extendBtn")])):m("v-if",!0)],64))],64))],64))],2))}});export{z as default};
|
@@ -103,6 +103,9 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
103
103
|
uncheckableField: {
|
104
104
|
type: StringConstructor;
|
105
105
|
};
|
106
|
+
onlyForwardCascade: {
|
107
|
+
type: BooleanConstructor;
|
108
|
+
};
|
106
109
|
}, {
|
107
110
|
$attrs: {
|
108
111
|
[x: string]: unknown;
|
@@ -211,6 +214,9 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
211
214
|
uncheckableField: {
|
212
215
|
type: StringConstructor;
|
213
216
|
};
|
217
|
+
onlyForwardCascade: {
|
218
|
+
type: BooleanConstructor;
|
219
|
+
};
|
214
220
|
}>> & {
|
215
221
|
onCheck?: ((...args: any[]) => any) | undefined;
|
216
222
|
onCheckWithLevel?: ((...args: any[]) => any) | undefined;
|
@@ -665,6 +671,9 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
665
671
|
uncheckableField: {
|
666
672
|
type: StringConstructor;
|
667
673
|
};
|
674
|
+
onlyForwardCascade: {
|
675
|
+
type: BooleanConstructor;
|
676
|
+
};
|
668
677
|
}, {
|
669
678
|
searchFilterBase: {
|
670
679
|
isOpen: boolean;
|
@@ -769,6 +778,9 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
769
778
|
uncheckableField: {
|
770
779
|
type: StringConstructor;
|
771
780
|
};
|
781
|
+
onlyForwardCascade: {
|
782
|
+
type: BooleanConstructor;
|
783
|
+
};
|
772
784
|
}>> & {}>>;
|
773
785
|
emit: any;
|
774
786
|
keyword: import("vue").Ref<string>;
|
@@ -853,7 +865,11 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
853
865
|
key: string | number;
|
854
866
|
}[];
|
855
867
|
setTagData: (tree: import("naive-ui").TreeOption[]) => void;
|
856
|
-
|
868
|
+
getFlattenKeys: (tree: import("naive-ui").TreeOption[]) => any[];
|
869
|
+
updateTreeChecked: (keys: (string | number)[], _: any, meta: {
|
870
|
+
node: import("naive-ui").TreeOption | null;
|
871
|
+
action: "check" | "uncheck";
|
872
|
+
}) => void;
|
857
873
|
setCheckedAll: () => void;
|
858
874
|
clearAll: () => void;
|
859
875
|
closeTag: (tag: {
|
@@ -1195,6 +1211,9 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
1195
1211
|
uncheckableField: {
|
1196
1212
|
type: StringConstructor;
|
1197
1213
|
};
|
1214
|
+
onlyForwardCascade: {
|
1215
|
+
type: BooleanConstructor;
|
1216
|
+
};
|
1198
1217
|
}>>, {
|
1199
1218
|
data: (import("naive-ui/es/tree/src/interface").TreeOptionBase & Record<string, unknown> & import("../../shared/types").AnyObject)[];
|
1200
1219
|
defaultList: ((string | number) | {
|
@@ -1227,6 +1246,7 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
1227
1246
|
roleData: (import("naive-ui/es/tree/src/interface").TreeOptionBase & Record<string, unknown> & import("../../shared/types").AnyObject)[];
|
1228
1247
|
roleFields: Record<string, any>;
|
1229
1248
|
forceShowSelectAll: boolean;
|
1249
|
+
onlyForwardCascade: boolean;
|
1230
1250
|
}>>;
|
1231
1251
|
getProps: import("vue").ComputedRef<Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
1232
1252
|
defaultList: {
|
@@ -1332,6 +1352,9 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
1332
1352
|
uncheckableField: {
|
1333
1353
|
type: StringConstructor;
|
1334
1354
|
};
|
1355
|
+
onlyForwardCascade: {
|
1356
|
+
type: BooleanConstructor;
|
1357
|
+
};
|
1335
1358
|
}>> & {
|
1336
1359
|
onCheck?: ((...args: any[]) => any) | undefined;
|
1337
1360
|
onCheckWithLevel?: ((...args: any[]) => any) | undefined;
|
@@ -1444,6 +1467,9 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
1444
1467
|
uncheckableField: {
|
1445
1468
|
type: StringConstructor;
|
1446
1469
|
};
|
1470
|
+
onlyForwardCascade: {
|
1471
|
+
type: BooleanConstructor;
|
1472
|
+
};
|
1447
1473
|
}>> & {
|
1448
1474
|
onCheck?: ((...args: any[]) => any) | undefined;
|
1449
1475
|
onCheckWithLevel?: ((...args: any[]) => any) | undefined;
|
@@ -1482,5 +1508,6 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
|
|
1482
1508
|
switchTypeData: import("../../shared/types").AnyObject;
|
1483
1509
|
tagProps: import("../../shared/types").AnyObject;
|
1484
1510
|
forceShowSelectAll: boolean;
|
1511
|
+
onlyForwardCascade: boolean;
|
1485
1512
|
}>>;
|
1486
1513
|
export default SelectPerson;
|
@@ -98,6 +98,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
98
98
|
uncheckableField: {
|
99
99
|
type: StringConstructor;
|
100
100
|
};
|
101
|
+
onlyForwardCascade: {
|
102
|
+
type: BooleanConstructor;
|
103
|
+
};
|
101
104
|
}, {
|
102
105
|
searchFilterBase: {
|
103
106
|
isOpen: boolean;
|
@@ -189,6 +192,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
189
192
|
uncheckableField: {
|
190
193
|
type: StringConstructor;
|
191
194
|
};
|
195
|
+
onlyForwardCascade: {
|
196
|
+
type: BooleanConstructor;
|
197
|
+
};
|
192
198
|
}>> & {}>>;
|
193
199
|
emit: any;
|
194
200
|
keyword: import("vue").Ref<string>;
|
@@ -267,7 +273,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
267
273
|
checkedAllChange: (checked: boolean) => void;
|
268
274
|
uniq: (arr: ITag[]) => ITag[];
|
269
275
|
setTagData: (tree: TreeOption[]) => void;
|
270
|
-
|
276
|
+
getFlattenKeys: (tree: TreeOption[]) => any[];
|
277
|
+
updateTreeChecked: (keys: Array<IKey>, _: any, meta: {
|
278
|
+
node: TreeOption | null;
|
279
|
+
action: 'check' | 'uncheck';
|
280
|
+
}) => void;
|
271
281
|
setCheckedAll: () => void;
|
272
282
|
clearAll: () => void;
|
273
283
|
closeTag: (tag: ITag) => void;
|
@@ -593,6 +603,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
593
603
|
uncheckableField: {
|
594
604
|
type: StringConstructor;
|
595
605
|
};
|
606
|
+
onlyForwardCascade: {
|
607
|
+
type: BooleanConstructor;
|
608
|
+
};
|
596
609
|
}>>, {
|
597
610
|
data: ITreeOption[];
|
598
611
|
defaultList: (IKey | ITag)[];
|
@@ -612,5 +625,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
612
625
|
roleData: ITreeOption[];
|
613
626
|
roleFields: Record<string, any>;
|
614
627
|
forceShowSelectAll: boolean;
|
628
|
+
onlyForwardCascade: boolean;
|
615
629
|
}>;
|
616
630
|
export default _default;
|
@@ -1 +1 @@
|
|
1
|
-
import{defineComponent as e,inject as l,ref as t,computed as n,reactive as a,watch as i,openBlock as u,createBlock as o,unref as c,withCtx as r,createVNode as d,createCommentVNode as s,withKeys as v,createTextVNode as h,toDisplayString as p,createElementBlock as y,Fragment as k,renderList as f,withDirectives as m,vShow as g,mergeProps as w,createElementVNode as b,normalizeStyle as _,renderSlot as S}from"vue";import{NGrid as T,NGi as C,NSpace as L,NInputGroup as F,NInput as x,NIcon as j,NButton as B,NTag as D,NCheckbox as E,NEmpty as I,NTree as O}from"naive-ui";import{CloseCircleSharp as N}from"@vicons/ionicons5";import{searchFilterTree as P,getExpandedKeys as $}from"./utils/index.js";import{cloneDeep as A}from"lodash-es";import{SelectItemTypesConfig as R,SelectRoleEnumsConfig as K,SearchTypeConfig as U}from"./types/enums.js";import q from"./components/SearchMultiple.vue.js";import H from"./components/SearchOrgAndStaff.vue.js";import{InjectionSelectPersonEmits as M}from"./constants/index.js";var W,G;const z={key:0,class:"select-type-tags"},J={key:4,class:"tree-content"},Q={key:0};var V=e({__name:"SelectPerson",props:{defaultList:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},searchPlaceholder:{type:String,default:(null==(W=window.getLanguageByCode)?void 0:W.call(window,"10010.1.508"))||"输入关键字搜索"},searchButtonText:{type:String,default:(null==(G=window.getLanguageByCode)?void 0:G.call(window,"10010.1.36"))||"搜索"},wordbook:{type:Object,default:()=>({})},wordbookChild:{type:Object,default:()=>({})},showCount:{type:Boolean,default:!0},showClear:{type:Boolean,default:!0},multiple:{type:Boolean,default:!0},searchInner:{type:Boolean,default:!1},searchFilter:{type:Object,default:()=>({})},treeSetting:{type:Object,default:()=>({})},queryLoadChildData:{type:Function,default:void 0},queryTreeSearch:{type:Function,default:()=>Promise.resolve([])},showSelectType:{type:Boolean,default:!1},roleData:{type:Array,default:()=>[]},roleFields:{type:Object,default:()=>({label:"name",key:"id",children:"children"})},forceShowSelectAll:{type:Boolean},uncheckableField:{type:String}},setup(e,{expose:W}){var G,V,X,Y,Z,ee,le;const te=e,ne={isOpen:!1,multiple:!1,customTitles:[(null==(G=window.getLanguageByCode)?void 0:G.call(window,"10010.1.510"))||"联系人",(null==(V=window.getLanguageByCode)?void 0:V.call(window,"10010.1.511"))||"部门"],itemHeight:250},ae=[{key:"main",label:(null==(X=window.getLanguageByCode)?void 0:X.call(window,"10010.1.512"))||"选人员"},{key:"dept",label:(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.513"))||"选科室"},{key:"role",label:(null==(Z=window.getLanguageByCode)?void 0:Z.call(window,"10010.1.514"))||"选角色"}],ie={dept:(null==(ee=window.getLanguageByCode)?void 0:ee.call(window,"10010.1.202"))||"科室",role:(null==(le=window.getLanguageByCode)?void 0:le.call(window,"10010.1.515"))||"角色"},ue=l(M),oe=t(""),ce=t(!1),re=t([]),de=t([]),se=t([]),ve=t([]),he=t([]),pe=t(!1),ye=t([]),ke=n((()=>!!te.queryLoadChildData)),fe=n((()=>{var e,l;return null!=(l=null==(e=null==te?void 0:te.treeSetting)?void 0:e.checkStrategy)?l:"child"})),me=n((()=>(null==te?void 0:te.searchFilter)&&Object.keys(null==te?void 0:te.searchFilter).length>0)),ge=t("main"),we=n((()=>me.value?{...A(ne),...te.searchFilter}:A(ne))),be=n((()=>{var e,l;return null!=(l=null==(e=null==te?void 0:te.wordbookChild)?void 0:e.user_expand_keys)?l:[]})),_e=n((()=>({height:te.multiple?"342px":"308px"}))),Se=n((()=>{if(te.showSelectType){return function(e,l){let t={};return e.reduce(((e,n)=>(!t[n[l]]&&(t[n[l]]=e.push(n)),e)),[])}([...Le.main.filter((e=>(e.itemType=R.PERSON,te.uncheckableField?e[xe.value]==K.STAFF&&!e[te.uncheckableField]:e[xe.value]==K.STAFF))),...Le.dept.filter((e=>(e.itemType=R.DEPT,te.uncheckableField?e[xe.value]==K.DEPT&&!e[te.uncheckableField]:e[xe.value]==K.DEPT))),...Le.role.filter((e=>(e.itemType=R.ROLE,te.uncheckableField?!e[te.uncheckableField]:e)))],"key")}let e=[];return re.value.forEach((l=>{for(let t=0,n=ve.value.length;t<n;t++){const n=ve.value[t];if(n.key==l){(!te.uncheckableField||te.uncheckableField&&!n.originItem[te.uncheckableField])&&e.push(n);break}}})),e})),Te=a({main:[],dept:[],role:[],temp:[]}),Ce=a({main:[],dept:[],role:[]}),Le=a({main:[],dept:[],role:[]}),Fe=a({main:[],dept:[],role:[]}),xe=n((()=>{var e;return(null==(e=te.wordbook)?void 0:e.type)||"type"})),je=n((()=>te.wordbookChild.user_id_obj||te.wordbook.parent_id_obj||Date.now()));function Be(){const e=A(Ke(te.data));Te.main=Te.temp=e,Oe(Te.temp,null,(e=>{Fe.main.push(e.key)})),ye.value=Fe.main,Te.dept=De(A(e),(e=>{Fe.dept.push(e.key)})),Te.role=Ee(A(te.roleData),(e=>{Fe.role.push(e.key)}))}function De(e,l){return e.filter((e=>{var t;te.showSelectType&&(null==(t=e.children)?void 0:t.length)&&(e.children=De(e.children,l));const n=e[xe.value]==K.DEPT;return n&&Ne(e,l),n}))}function Ee(e,l){const{label:t,key:n,children:a="children"}=te.roleFields;return e.map((e=>{var i;return e.key=e[n],e.label=e.title=e[t],(null==(i=e[a])?void 0:i.length)&&(e.children=Ee(e[a],l)),Ne(e,l),e}))}function Ie(e,l){var t,n;const a=["main","dept"].includes(l)?je.value:null==(t=te.roleFields)?void 0:t.key;for(let t=0,i=e.length;t<i;t++){const i=e[t],u=he.value.map((e=>e.key));Ce[l].includes(i.key)&&!u.includes(i.key)&&Le[l].push({...i,key:i[a]}),(null==(n=i.children)?void 0:n.length)&&Ie(i.children,l)}}function Oe(e,l,t){var n,a;for(let i=0,u=e.length;i<u;i++){const u=e[i];let o=be.value.reduce(((e,l)=>e+(u[l]?`${u[l]},`:"")),"");u.title_expand_strs=o.slice(0,-1),u.title=Re(u),u.label=Re(u),u.parentNode=l,u.key||(u.key=u[te.wordbookChild.user_id_obj]||u[te.wordbook.parent_id_obj]||Date.now()),(null==(n=u.children)?void 0:n.length)?(Oe(u.children,u,t),$e(u)):0===(null==(a=u.children)?void 0:a.length)&&Reflect.deleteProperty(u,"children"),Ne(u,t)}}function Ne(e,l){var t,n;switch(null!=(n=null==(t=null==te?void 0:te.treeSetting)?void 0:t.checkStrategy)?n:"child"){case"child":!function(e,l){e.disabled||e.children||!e.key||l&&l(e)}(e,l);break;case"parent":!function(e,l){e.disabled||e.tempTitle||!e.key||l&&l(e)}(e,l);break;case"all":!function(e,l){!e.disabled&&e.key&&l&&l(e)}(e,l)}}async function Pe(e){if(te.queryLoadChildData){const l=await te.queryLoadChildData(e);return l.children&&(l.children=l.children.map((e=>({...e,tempTitle:l.tempTitle?`${l.title}/${l.tempTitle}`:l.title})))),l}return e}function $e(e){var l;(null==(l=e.children)?void 0:l.every((e=>e.disabled)))&&(e.disabled=!0)}function Ae({option:e}){var l,t;if((null==(l=e.children)?void 0:l.length)||ke.value&&!(null==e?void 0:e.isLeaf)){const l=te.wordbook.user_count_obj&&e[te.wordbook.user_count_obj]||"",t=l?`(${l})`:"",n=`${e.title}${t}`;return d("span",{title:n},[n])}{const l=null!=(t=e.title_expand_strs)?t:"";return d("p",{class:"user_item"},[d("span",{title:e.title},[e.title]),d("span",{class:"user_item_expand",title:l},[l])])}}function Re(e){return e[te.wordbookChild.user_name_obj]||e[te.wordbook.parent_name_obj]||e.orgName||e.title||""}function Ke(e){var l;for(let t=0,n=e.length;t<n;t++){const n=e[t],a=te.wordbook.children||"children";if(null==(l=n[a])?void 0:l.length){const e=Ue(n[a],[]);n.innerItemsNum=e.length,n.innerLeafs=e,n.children=Ke(n[a])}}return te.showSelectType?e:qe(e,"")}function Ue(e,l){var t;for(let n=0,a=e.length;n<a;n++){const a=e[n];(null==(t=a.children)?void 0:t.length)?Ue(a.children,l):!a.disabled&&l.push(a)}return l}function qe(e,l){return e&&0!==e.length?e.map((e=>{var t;const n=Re(e),a=l?`${n}/${l}`:n;return{...e,tempTitle:l,children:(null==(t=e.children)?void 0:t.length)?qe(null==e?void 0:e.children,a):[]}})):[]}async function He(){var e,l;const t=null!=(l=null==(e=null==te?void 0:te.wordbook)?void 0:e.filter_key)?l:"keyword";if(pe.value=!!oe.value.trim(),ke.value)se.value=await te.queryTreeSearch(oe.value);else{const e=function(){const e={[U.SEARCH_ORG_STAFF]:me.value,[U.SEARCH_ORG]:te.searchInner},l=Object.keys(e).find((l=>e[l]));return null!=l?l:""}();se.value=P(e,Te.temp,oe.value,t)}de.value=se.value.length&&oe.value?$(se.value):[]}function Me(e,l){var t,n;switch(null!=(n=null==(t=null==te?void 0:te.treeSetting)?void 0:t.checkStrategy)?n:"child"){case"child":!function(e,l){for(let t=0,n=e.length;t<n;t++){const n=e[t];if(!n.disabled&&(!n.children||n.isLeaf)&&(l&&!re.value.includes(n.key)&&re.value.push(n.key),!l)){const e=re.value.findIndex((e=>e===n.key));re.value.splice(e,1)}n.children&&Me(n.children,l)}}(e,l);break;case"parent":!function(e,l){re.value=[];for(let t=0,n=e.length;t<n;t++){const n=e[t];if(!n.disabled&&!n.tempTitle&&(l&&!re.value.includes(n.key)&&re.value.push(n.key),!l)){const e=re.value.findIndex((e=>e===n.key));re.value.splice(e,1)}}}(e,l);break;case"all":!function(e,l){re.value=[];for(let t=0,n=e.length;t<n;t++){const n=e[t];if(!n.disabled&&(l&&!re.value.includes(n.key)&&re.value.push(n.key),!l)){const e=re.value.findIndex((e=>e===n.key));re.value.splice(e,1)}}}(e,l)}}function We(e){Me(se.value,e)}function Ge(e){var l;for(let t=0,n=e.length;t<n;t++){const n=e[t],a=he.value.map((e=>e.key));re.value.includes(n.key)&&!a.includes(n.key)&&ve.value.push({key:n.key,name:n.title,parentName:n.tempTitle,innerItemsNum:n.innerItemsNum,innerLeafs:n.innerLeafs,originItem:n}),(null==(l=n.children)?void 0:l.length)&&Ge(n.children)}}function ze(e){if(te.showSelectType){const l=ge.value;re.value=Ce[l]=e}else re.value=e}function Je(){Object.keys(Ce).forEach((e=>{Ce[e]=Le[e]=[]})),re.value=[]}function Qe(e){re.value=e}function Ve(){oe.value="",setTimeout((()=>{He()}))}return i((()=>te.data),(e=>{oe.value="",ce.value=pe.value=!1,re.value=[],de.value=[],se.value=[],ve.value=[],he.value=[],ye.value=[],function(){if(Be(),se.value=Te.temp,te.defaultList.length>0)if(ke.value)te.defaultList.forEach((e=>re.value.push(e.key))),ve.value=A(te.defaultList),he.value=A(te.defaultList);else{if(te.showSelectType){const e=ge.value;return te.defaultList.forEach((e=>{e.itemType===R.PERSON&&(Ce.main.push(e[je.value]),Le.main.push(e)),e.itemType===R.DEPT&&(Ce.dept.push(e[je.value]),Le.dept.push(e)),e.itemType===R.ROLE&&(Ce.role.push(e[te.roleFields.key]),Le.role.push(e))})),void(re.value=Ce[e])}te.defaultList.forEach((e=>re.value.push(e))),Ge(Te.temp)}}()}),{immediate:!0}),i((()=>re),(e=>{if(te.showSelectType){const l=ge.value;Le[l]=he.value.filter((l=>e.value.includes(l.key))),Ie(Te[l],l),te.showSelectType?ce.value=ye.value.every((e=>re.value.findIndex((l=>l===e))>-1)):ce.value=ye.value.every((e=>ve.value.findIndex((l=>l.key===e))>-1));const t=Se.value.map((e=>e.key));return ue("check",t),void ue("checkWithLevel",Se.value)}ve.value=he.value.filter((l=>e.value.includes(l.key))),Ge(ke.value?se.value:Te.temp);const l=ve.value.filter((l=>te.uncheckableField?e.value.includes(l.key)&&!l.originItem[te.uncheckableField]:e.value.includes(l.key)));ue("check",e.value),ue("checkWithLevel",l)}),{deep:!0}),i((()=>oe.value),(e=>{e||Ve()})),W({getCheckWithLevel:function(){var e;if(te.showSelectType)return null!=(e=Se.value)?e:[];const l=re.value,t=ve.value.filter((e=>te.uncheckableField?l.includes(e.key)&&!e.originItem[te.uncheckableField]:l.includes(e.key)));return null!=t?t:[]}}),(l,t)=>(u(),o(c(T),{cols:2,class:"c-select-person"},{default:r((()=>[d(c(C),null,{default:r((()=>[d(c(L),{vertical:"",style:{"padding-right":"12px","border-right":"1px solid #e8e8e8"}},{default:r((()=>{var l;return[d(c(F),{style:{"margin-bottom":"12px"}},{default:r((()=>[s(" clearable "),d(c(x),{class:"search-input",value:oe.value,"onUpdate:value":t[0]||(t[0]=e=>oe.value=e),placeholder:e.searchPlaceholder,onKeyup:v(He,["enter"])},{suffix:r((()=>[oe.value?(u(),o(c(j),{key:0,class:"search-clear",component:c(N),size:"16",onClick:Ve},null,8,["component"])):s("v-if",!0)])),_:1},8,["value","placeholder","onKeyup"]),d(c(B),{type:"primary",onClick:He},{default:r((()=>[h(p(e.searchButtonText),1)])),_:1})])),_:1}),e.showSelectType?(u(),y("div",z,[(u(),y(k,null,f(ae,(e=>d(c(D),{round:"",checkable:"",checked:ge.value===e.key,key:e.key,"onUpdate:checked":l=>function(e){ge.value=e.key,se.value=Te.temp=Te[e.key],re.value=Ce[e.key],ye.value=Fe[e.key]}(e)},{default:r((()=>[h(p(e.label),1)])),_:2},1032,["checked","onUpdate:checked"]))),64))])):s("v-if",!0),e.multiple&&!pe.value?m((u(),o(c(E),{key:1,checked:ce.value,"onUpdate:checked":[t[1]||(t[1]=e=>ce.value=e),We]},{default:r((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.37"))||"全选")]})),_:1},8,["checked"])),[[g,e.forceShowSelectAll||ye.value.length<1e3]]):s("v-if",!0),s(" 支持选人 "),e.searchInner&&e.multiple&&pe.value&&"parent"===c(fe)?(u(),o(q,{key:2,treeData:se.value,checkedKeys:re.value,onNotifyCheck:Qe},null,8,["treeData","checkedKeys"])):c(me)&&pe.value&&"parent"===c(fe)?(u(),y(k,{key:3},[s(" 同时兼容选人和选部门 "),s(" v-else-if=\"isSearchFilter && multiple && isSearch && checkStrategyResult === 'parent'\" "),d(H,{treeData:se.value,checkedKeys:re.value,searchFilter:c(we),isMultiple:e.multiple,onNotifyCheck:Qe,onNotifyClear:Ve},null,8,["treeData","checkedKeys","searchFilter","isMultiple"])],2112)):(u(),y("div",J,[0===se.value.length?(u(),o(c(I),{key:0,description:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.445"))||"暂无数据"})):(u(),o(c(O),w({key:1,"virtual-scroll":"",class:"c-select-person__scroll","checked-keys":re.value,"expanded-keys":de.value,"onUpdate:expanded-keys":t[2]||(t[2]=e=>de.value=e),checkable:e.multiple,cascade:"","allow-checking-not-loaded":"",selectable:!e.multiple,"selected-keys":re.value,"onUpdate:selected-keys":t[3]||(t[3]=e=>re.value=e),data:se.value,"check-strategy":"child","render-label":Ae},e.treeSetting,{"onUpdate:checkedKeys":ze,onLoad:Pe}),null,16,["checked-keys","expanded-keys","checkable","selectable","selected-keys","data"]))]))]})),_:1})])),_:1}),d(c(C),null,{default:r((()=>[d(c(L),{vertical:"",style:{"padding-left":"12px"}},{default:r((()=>[d(c(L),{justify:"space-between",style:{"margin-bottom":"20px"}},{default:r((()=>{var l;return[e.showCount?(u(),y("span",Q,"已选择:"+p(c(Se).length),1)):s("v-if",!0),e.showClear?(u(),y("span",{key:1,class:"c-select-person__clear-btn",onClick:Je},(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.509"))||"清空")):s("v-if",!0)]})),_:1}),b("div",{class:"c-select-person__scroll",style:_(c(_e))},[(u(!0),y(k,null,f(c(Se),(t=>(u(),y("span",{class:"c-select-person__tag-item",key:t.key},[s(" 标签插槽 "),S(l.$slots,"tag",{tag:t},(()=>[h(p(t.name)+" "+p(t.parentName?`(${t.parentName})`:"")+" "+p(t.innerItemsNum?`(${t.innerItemsNum}人)`:"")+" "+p(e.showSelectType&&ie[t.itemType]?`(${ie[t.itemType]})`:""),1)])),d(c(j),{class:"tag-close",component:c(N),onClick:e=>function(e){if(te.showSelectType){const l=e.itemType===R.PERSON?"main":e.itemType;return Ce[l]=Ce[l].filter((l=>l!==e.key)),Le[l]=he.value.filter((e=>Ce[l].includes(e.key))),Ie(Te[l],l),void(ge.value==l&&(re.value=Ce[l]))}re.value=re.value.filter((l=>l!==e.key))}(t)},null,8,["component","onClick"])])))),128))],4)])),_:3})])),_:3})])),_:3}))}});export{V as default};
|
1
|
+
import{defineComponent as e,inject as l,ref as t,computed as n,reactive as a,watch as i,openBlock as u,createBlock as o,unref as c,withCtx as r,createVNode as d,createCommentVNode as s,withKeys as v,createTextVNode as h,toDisplayString as p,createElementBlock as y,Fragment as f,renderList as k,withDirectives as m,vShow as g,mergeProps as w,createElementVNode as b,normalizeStyle as _,renderSlot as S}from"vue";import{NGrid as T,NGi as C,NSpace as F,NInputGroup as L,NInput as x,NIcon as j,NButton as B,NTag as E,NCheckbox as D,NEmpty as I,NTree as O}from"naive-ui";import{CloseCircleSharp as N}from"@vicons/ionicons5";import{searchFilterTree as P,getExpandedKeys as $}from"./utils/index.js";import{cloneDeep as A,union as R,remove as K}from"lodash-es";import{SelectItemTypesConfig as U,SelectRoleEnumsConfig as q,SearchTypeConfig as H}from"./types/enums.js";import M from"./components/SearchMultiple.vue.js";import W from"./components/SearchOrgAndStaff.vue.js";import{InjectionSelectPersonEmits as G}from"./constants/index.js";var z,J;const Q={key:0,class:"select-type-tags"},V={key:4,class:"tree-content"},X={key:0};var Y=e({__name:"SelectPerson",props:{defaultList:{type:Array,default:()=>[]},data:{type:Array,default:()=>[]},searchPlaceholder:{type:String,default:(null==(z=window.getLanguageByCode)?void 0:z.call(window,"10010.1.508"))||"输入关键字搜索"},searchButtonText:{type:String,default:(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.36"))||"搜索"},wordbook:{type:Object,default:()=>({})},wordbookChild:{type:Object,default:()=>({})},showCount:{type:Boolean,default:!0},showClear:{type:Boolean,default:!0},multiple:{type:Boolean,default:!0},searchInner:{type:Boolean,default:!1},searchFilter:{type:Object,default:()=>({})},treeSetting:{type:Object,default:()=>({})},queryLoadChildData:{type:Function,default:void 0},queryTreeSearch:{type:Function,default:()=>Promise.resolve([])},showSelectType:{type:Boolean,default:!1},roleData:{type:Array,default:()=>[]},roleFields:{type:Object,default:()=>({label:"name",key:"id",children:"children"})},forceShowSelectAll:{type:Boolean},uncheckableField:{type:String},onlyForwardCascade:{type:Boolean}},setup(e,{expose:z}){var J,Y,Z,ee,le,te,ne;const ae=e,ie={isOpen:!1,multiple:!1,customTitles:[(null==(J=window.getLanguageByCode)?void 0:J.call(window,"10010.1.510"))||"联系人",(null==(Y=window.getLanguageByCode)?void 0:Y.call(window,"10010.1.511"))||"部门"],itemHeight:250},ue=[{key:"main",label:(null==(Z=window.getLanguageByCode)?void 0:Z.call(window,"10010.1.512"))||"选人员"},{key:"dept",label:(null==(ee=window.getLanguageByCode)?void 0:ee.call(window,"10010.1.513"))||"选科室"},{key:"role",label:(null==(le=window.getLanguageByCode)?void 0:le.call(window,"10010.1.514"))||"选角色"}],oe={dept:(null==(te=window.getLanguageByCode)?void 0:te.call(window,"10010.1.202"))||"科室",role:(null==(ne=window.getLanguageByCode)?void 0:ne.call(window,"10010.1.515"))||"角色"},ce=l(G),re=t(""),de=t(!1),se=t([]),ve=t([]),he=t([]),pe=t([]),ye=t([]),fe=t(!1),ke=t([]),me=n((()=>!!ae.queryLoadChildData)),ge=n((()=>{var e,l;return null!=(l=null==(e=null==ae?void 0:ae.treeSetting)?void 0:e.checkStrategy)?l:"child"})),we=n((()=>(null==ae?void 0:ae.searchFilter)&&Object.keys(null==ae?void 0:ae.searchFilter).length>0)),be=t("main"),_e=n((()=>we.value?{...A(ie),...ae.searchFilter}:A(ie))),Se=n((()=>{var e,l;return null!=(l=null==(e=null==ae?void 0:ae.wordbookChild)?void 0:e.user_expand_keys)?l:[]})),Te=n((()=>({height:ae.multiple?"342px":"308px"}))),Ce=n((()=>{if(ae.showSelectType){return function(e,l){let t={};return e.reduce(((e,n)=>(!t[n[l]]&&(t[n[l]]=e.push(n)),e)),[])}([...xe.main.filter((e=>(e.itemType=U.PERSON,ae.uncheckableField?e[Be.value]==q.STAFF&&!e[ae.uncheckableField]:e[Be.value]==q.STAFF))),...xe.dept.filter((e=>(e.itemType=U.DEPT,ae.uncheckableField?e[Be.value]==q.DEPT&&!e[ae.uncheckableField]:e[Be.value]==q.DEPT))),...xe.role.filter((e=>(e.itemType=U.ROLE,ae.uncheckableField?!e[ae.uncheckableField]:e)))],"key")}let e=[];return se.value.forEach((l=>{for(let t=0,n=pe.value.length;t<n;t++){const n=pe.value[t];if(n.key==l){(!ae.uncheckableField||ae.uncheckableField&&!n.originItem[ae.uncheckableField])&&e.push(n);break}}})),e})),Fe=a({main:[],dept:[],role:[],temp:[]}),Le=a({main:[],dept:[],role:[]}),xe=a({main:[],dept:[],role:[]}),je=a({main:[],dept:[],role:[]}),Be=n((()=>{var e;return(null==(e=ae.wordbook)?void 0:e.type)||"type"})),Ee=n((()=>ae.wordbookChild.user_id_obj||ae.wordbook.parent_id_obj||Date.now()));function De(){const e=A(qe(ae.data));Fe.main=Fe.temp=e,Pe(Fe.temp,null,(e=>{je.main.push(e.key)})),ke.value=je.main,Fe.dept=Ie(A(e),(e=>{je.dept.push(e.key)})),Fe.role=Oe(A(ae.roleData),(e=>{je.role.push(e.key)}))}function Ie(e,l){return e.filter((e=>{var t;ae.showSelectType&&(null==(t=e.children)?void 0:t.length)&&(e.children=Ie(e.children,l));const n=e[Be.value]==q.DEPT;return n&&$e(e,l),n}))}function Oe(e,l){const{label:t,key:n,children:a="children"}=ae.roleFields;return e.map((e=>{var i;return e.key=e[n],e.label=e.title=e[t],(null==(i=e[a])?void 0:i.length)&&(e.children=Oe(e[a],l)),$e(e,l),e}))}function Ne(e,l){var t,n;const a=["main","dept"].includes(l)?Ee.value:null==(t=ae.roleFields)?void 0:t.key;for(let t=0,i=e.length;t<i;t++){const i=e[t],u=ye.value.map((e=>e.key));Le[l].includes(i.key)&&!u.includes(i.key)&&xe[l].push({...i,key:i[a]}),(null==(n=i.children)?void 0:n.length)&&Ne(i.children,l)}}function Pe(e,l,t){var n,a;for(let i=0,u=e.length;i<u;i++){const u=e[i];let o=Se.value.reduce(((e,l)=>e+(u[l]?`${u[l]},`:"")),"");u.title_expand_strs=o.slice(0,-1),u.title=Ue(u),u.label=Ue(u),u.parentNode=l,u.key||(u.key=u[ae.wordbookChild.user_id_obj]||u[ae.wordbook.parent_id_obj]||Date.now()),(null==(n=u.children)?void 0:n.length)?(Pe(u.children,u,t),Re(u)):0===(null==(a=u.children)?void 0:a.length)&&Reflect.deleteProperty(u,"children"),$e(u,t)}}function $e(e,l){var t,n;switch(null!=(n=null==(t=null==ae?void 0:ae.treeSetting)?void 0:t.checkStrategy)?n:"child"){case"child":!function(e,l){e.disabled||e.children||!e.key||l&&l(e)}(e,l);break;case"parent":!function(e,l){e.disabled||e.tempTitle||!e.key||l&&l(e)}(e,l);break;case"all":!function(e,l){!e.disabled&&e.key&&l&&l(e)}(e,l)}}async function Ae(e){if(ae.queryLoadChildData){const l=await ae.queryLoadChildData(e);return l.children&&(l.children=l.children.map((e=>({...e,tempTitle:l.tempTitle?`${l.title}/${l.tempTitle}`:l.title})))),l}return e}function Re(e){var l;(null==(l=e.children)?void 0:l.every((e=>e.disabled)))&&(e.disabled=!0)}function Ke({option:e}){var l,t;if((null==(l=e.children)?void 0:l.length)||me.value&&!(null==e?void 0:e.isLeaf)){const l=ae.wordbook.user_count_obj&&e[ae.wordbook.user_count_obj]||"",t=l?`(${l})`:"",n=`${e.title}${t}`;return d("span",{title:n},[n])}{const l=null!=(t=e.title_expand_strs)?t:"";return d("p",{class:"user_item"},[d("span",{title:e.title},[e.title]),d("span",{class:"user_item_expand",title:l},[l])])}}function Ue(e){return e[ae.wordbookChild.user_name_obj]||e[ae.wordbook.parent_name_obj]||e.orgName||e.title||""}function qe(e){var l;for(let t=0,n=e.length;t<n;t++){const n=e[t],a=ae.wordbook.children||"children";if(null==(l=n[a])?void 0:l.length){const e=He(n[a],[]);n.innerItemsNum=e.length,n.innerLeafs=e,n.children=qe(n[a])}}return ae.showSelectType?e:Me(e,"")}function He(e,l){var t;for(let n=0,a=e.length;n<a;n++){const a=e[n];(null==(t=a.children)?void 0:t.length)?He(a.children,l):!a.disabled&&l.push(a)}return l}function Me(e,l){return e&&0!==e.length?e.map((e=>{var t;const n=Ue(e),a=l?`${n}/${l}`:n;return{...e,tempTitle:l,children:(null==(t=e.children)?void 0:t.length)?Me(null==e?void 0:e.children,a):[]}})):[]}async function We(){var e,l;const t=null!=(l=null==(e=null==ae?void 0:ae.wordbook)?void 0:e.filter_key)?l:"keyword";if(fe.value=!!re.value.trim(),me.value)he.value=await ae.queryTreeSearch(re.value);else{const e=function(){const e={[H.SEARCH_ORG_STAFF]:we.value,[H.SEARCH_ORG]:ae.searchInner},l=Object.keys(e).find((l=>e[l]));return null!=l?l:""}();he.value=P(e,Fe.temp,re.value,t)}ve.value=he.value.length&&re.value?$(he.value):[]}function Ge(e,l){var t,n;switch(null!=(n=null==(t=null==ae?void 0:ae.treeSetting)?void 0:t.checkStrategy)?n:"child"){case"child":!function(e,l){for(let t=0,n=e.length;t<n;t++){const n=e[t];if(!n.disabled&&(!n.children||n.isLeaf)&&(l&&!se.value.includes(n.key)&&se.value.push(n.key),!l)){const e=se.value.findIndex((e=>e===n.key));se.value.splice(e,1)}n.children&&Ge(n.children,l)}}(e,l);break;case"parent":!function(e,l){se.value=[];for(let t=0,n=e.length;t<n;t++){const n=e[t];if(!n.disabled&&!n.tempTitle&&(l&&!se.value.includes(n.key)&&se.value.push(n.key),!l)){const e=se.value.findIndex((e=>e===n.key));se.value.splice(e,1)}}}(e,l);break;case"all":!function(e,l){se.value=[];for(let t=0,n=e.length;t<n;t++){const n=e[t];if(!n.disabled&&(l&&!se.value.includes(n.key)&&se.value.push(n.key),!l)){const e=se.value.findIndex((e=>e===n.key));se.value.splice(e,1)}}}(e,l)}}function ze(e){Ge(he.value,e)}function Je(e){var l;for(let t=0,n=e.length;t<n;t++){const n=e[t],a=ye.value.map((e=>e.key));se.value.includes(n.key)&&!a.includes(n.key)&&pe.value.push({key:n.key,name:n.title,parentName:n.tempTitle,innerItemsNum:n.innerItemsNum,innerLeafs:n.innerLeafs,originItem:n}),(null==(l=n.children)?void 0:l.length)&&Je(n.children)}}function Qe(e){const l=[];return e.forEach((e=>{var t;if(!e.disabled&&e.key&&l.push(e.key),null==(t=e.children)?void 0:t.length){const t=Qe(e.children);l.push(...t)}})),l}function Ve(e,l,t){var n;let a=e;if(ae.onlyForwardCascade&&"all"===ge.value){const{node:l,action:i}=t;if(null==(n=null==l?void 0:l.children)?void 0:n.length){const t=Qe(l.children);"check"===i?a=R(e,t):K(a,(e=>t.includes(e)))}}if(ae.showSelectType){const e=be.value;se.value=Le[e]=a}else se.value=a}function Xe(){Object.keys(Le).forEach((e=>{Le[e]=xe[e]=[]})),se.value=[]}function Ye(e){se.value=e}function Ze(){re.value="",setTimeout((()=>{We()}))}return i((()=>ae.data),(e=>{re.value="",de.value=fe.value=!1,se.value=[],ve.value=[],he.value=[],pe.value=[],ye.value=[],ke.value=[],function(){if(De(),he.value=Fe.temp,ae.defaultList.length>0)if(me.value)ae.defaultList.forEach((e=>se.value.push(e.key))),pe.value=A(ae.defaultList),ye.value=A(ae.defaultList);else{if(ae.showSelectType){const e=be.value;return ae.defaultList.forEach((e=>{e.itemType===U.PERSON&&(Le.main.push(e[Ee.value]),xe.main.push(e)),e.itemType===U.DEPT&&(Le.dept.push(e[Ee.value]),xe.dept.push(e)),e.itemType===U.ROLE&&(Le.role.push(e[ae.roleFields.key]),xe.role.push(e))})),void(se.value=Le[e])}ae.defaultList.forEach((e=>se.value.push(e))),Je(Fe.temp)}}()}),{immediate:!0}),i((()=>se),(e=>{if(ae.showSelectType){const l=be.value;xe[l]=ye.value.filter((l=>e.value.includes(l.key))),Ne(Fe[l],l),ae.showSelectType?de.value=ke.value.every((e=>se.value.findIndex((l=>l===e))>-1)):de.value=ke.value.every((e=>pe.value.findIndex((l=>l.key===e))>-1));const t=Ce.value.map((e=>e.key));return ce("check",t),void ce("checkWithLevel",Ce.value)}pe.value=ye.value.filter((l=>e.value.includes(l.key))),Je(me.value?he.value:Fe.temp);const l=pe.value.filter((l=>ae.uncheckableField?e.value.includes(l.key)&&!l.originItem[ae.uncheckableField]:e.value.includes(l.key)));ce("check",e.value),ce("checkWithLevel",l)}),{deep:!0}),i((()=>re.value),(e=>{e||Ze()})),z({getCheckWithLevel:function(){var e;if(ae.showSelectType)return null!=(e=Ce.value)?e:[];const l=se.value,t=pe.value.filter((e=>ae.uncheckableField?l.includes(e.key)&&!e.originItem[ae.uncheckableField]:l.includes(e.key)));return null!=t?t:[]}}),(l,t)=>(u(),o(c(T),{cols:2,class:"c-select-person"},{default:r((()=>[d(c(C),null,{default:r((()=>[d(c(F),{vertical:"",style:{"padding-right":"12px","border-right":"1px solid #e8e8e8"}},{default:r((()=>{var l;return[d(c(L),{style:{"margin-bottom":"12px"}},{default:r((()=>[s(" clearable "),d(c(x),{class:"search-input",value:re.value,"onUpdate:value":t[0]||(t[0]=e=>re.value=e),placeholder:e.searchPlaceholder,onKeyup:v(We,["enter"])},{suffix:r((()=>[re.value?(u(),o(c(j),{key:0,class:"search-clear",component:c(N),size:"16",onClick:Ze},null,8,["component"])):s("v-if",!0)])),_:1},8,["value","placeholder","onKeyup"]),d(c(B),{type:"primary",onClick:We},{default:r((()=>[h(p(e.searchButtonText),1)])),_:1})])),_:1}),e.showSelectType?(u(),y("div",Q,[(u(),y(f,null,k(ue,(e=>d(c(E),{round:"",checkable:"",checked:be.value===e.key,key:e.key,"onUpdate:checked":l=>function(e){be.value=e.key,he.value=Fe.temp=Fe[e.key],se.value=Le[e.key],ke.value=je[e.key]}(e)},{default:r((()=>[h(p(e.label),1)])),_:2},1032,["checked","onUpdate:checked"]))),64))])):s("v-if",!0),e.multiple&&!fe.value?m((u(),o(c(D),{key:1,checked:de.value,"onUpdate:checked":[t[1]||(t[1]=e=>de.value=e),ze]},{default:r((()=>{var e;return[h((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.37"))||"全选")]})),_:1},8,["checked"])),[[g,e.forceShowSelectAll||ke.value.length<1e3]]):s("v-if",!0),s(" 支持选人 "),e.searchInner&&e.multiple&&fe.value&&"parent"===c(ge)?(u(),o(M,{key:2,treeData:he.value,checkedKeys:se.value,onNotifyCheck:Ye},null,8,["treeData","checkedKeys"])):c(we)&&fe.value&&"parent"===c(ge)?(u(),y(f,{key:3},[s(" 同时兼容选人和选部门 "),s(" v-else-if=\"isSearchFilter && multiple && isSearch && checkStrategyResult === 'parent'\" "),d(W,{treeData:he.value,checkedKeys:se.value,searchFilter:c(_e),isMultiple:e.multiple,onNotifyCheck:Ye,onNotifyClear:Ze},null,8,["treeData","checkedKeys","searchFilter","isMultiple"])],2112)):(u(),y("div",V,[0===he.value.length?(u(),o(c(I),{key:0,description:(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.445"))||"暂无数据"})):(u(),o(c(O),w({key:1,"virtual-scroll":"",class:"c-select-person__scroll","checked-keys":se.value,"expanded-keys":ve.value,"onUpdate:expanded-keys":t[2]||(t[2]=e=>ve.value=e),checkable:e.multiple,cascade:!e.onlyForwardCascade,"allow-checking-not-loaded":"",selectable:!e.multiple,"selected-keys":se.value,"onUpdate:selected-keys":t[3]||(t[3]=e=>se.value=e),data:he.value,"check-strategy":"child","render-label":Ke},e.treeSetting,{"onUpdate:checkedKeys":Ve,onLoad:Ae}),null,16,["checked-keys","expanded-keys","checkable","cascade","selectable","selected-keys","data"]))]))]})),_:1})])),_:1}),d(c(C),null,{default:r((()=>[d(c(F),{vertical:"",style:{"padding-left":"12px"}},{default:r((()=>[d(c(F),{justify:"space-between",style:{"margin-bottom":"20px"}},{default:r((()=>{var l;return[e.showCount?(u(),y("span",X,"已选择:"+p(c(Ce).length),1)):s("v-if",!0),e.showClear?(u(),y("span",{key:1,class:"c-select-person__clear-btn",onClick:Xe},(null==(l=window.getLanguageByCode)?void 0:l.call(window,"10010.1.509"))||"清空")):s("v-if",!0)]})),_:1}),b("div",{class:"c-select-person__scroll",style:_(c(Te))},[(u(!0),y(f,null,k(c(Ce),(t=>(u(),y("span",{class:"c-select-person__tag-item",key:t.key},[s(" 标签插槽 "),S(l.$slots,"tag",{tag:t},(()=>[h(p(t.name)+" "+p(t.parentName?`(${t.parentName})`:"")+" "+p(t.innerItemsNum?`(${t.innerItemsNum}人)`:"")+" "+p(e.showSelectType&&oe[t.itemType]?`(${oe[t.itemType]})`:""),1)])),d(c(j),{class:"tag-close",component:c(N),onClick:e=>function(e){if(ae.showSelectType){const l=e.itemType===U.PERSON?"main":e.itemType;return Le[l]=Le[l].filter((l=>l!==e.key)),xe[l]=ye.value.filter((e=>Le[l].includes(e.key))),Ne(Fe[l],l),void(be.value==l&&(se.value=Le[l]))}se.value=se.value.filter((l=>l!==e.key))}(t)},null,8,["component","onClick"])])))),128))],4)])),_:3})])),_:3})])),_:3}))}});export{Y as default};
|