Files
qhmes/web-dist/js/MesXslMixingMaterialSelectModal-CK8hd8x-.js
2026-06-16 18:19:57 +08:00

2 lines
13 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var Oe=Object.defineProperty,We=Object.defineProperties;var $e=Object.getOwnPropertyDescriptors;var ce=Object.getOwnPropertySymbols;var qe=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable;var pe=(d,s,r)=>s in d?Oe(d,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[s]=r,C=(d,s)=>{for(var r in s||(s={}))qe.call(s,r)&&pe(d,r,s[r]);if(ce)for(var r of ce(s))Ve.call(s,r)&&pe(d,r,s[r]);return d},Z=(d,s)=>We(d,$e(s));var h=(d,s,r)=>new Promise((L,x)=>{var S=g=>{try{w(r.next(g))}catch(B){x(B)}},T=g=>{try{w(r.throw(g))}catch(B){x(B)}},w=g=>g.done?L(g.value):Promise.resolve(g.value).then(S,T);w((r=r.apply(d,s)).next())});import{e as je,r as a,h as Ge,y as ge,A as b,B as Ye,u as f,c as D,K as Je,z as K,Q as k,f as c,H as me,E as V,C as j,F as ee,R as Qe,G as Ze}from"./vue-vendor-DNhG1Cve.js";import{B as et}from"./index-BDvqZ5j4.js";import tt from"./BasicTable-C6eG0bgK.js";import"./TableAction.vue_vue_type_style_index_0_lang-BIWZ0bGo.js";import"./TableImg.vue_vue_type_style_index_0_lang-65ZOQtFn.js";import{u as it}from"./useTable-DbHE4FHE.js";import{B as ve}from"./index-Bzmv9Ie7.js";import{l as ot,h as rt}from"./category.constants-CeuPmr3i.js";import{list as nt,queryById as at}from"./MesMixerMaterial.api-Bqz00PMw.js";import{l as st,q as lt}from"./MesMaterial.api-Baoje79-.js";import{s as ut,aG as dt,aH as fe,aZ as ct,au as pt}from"./index-X7Y8jykP.js";import gt from"./JDictSelectTag-DqzD0_k1.js";import mt from"./MesXslMixingMaterialCategorySetting-BulY77Qb.js";import{ai as ye,aj as te,ak as vt,al as ft,am as Me,an as Ce,ao as he,ap as yt,a4 as Mt,aq as Ct,ar as ht,l as bt}from"./MesXslMixingSpec.data-IK1nvCh3.js";import{a as xt}from"./useModal-DaJ3Bflg.js";import{e as It}from"./Group-DBzJABA_.js";import{E as kt}from"./RadioButton-DRBix2Fq.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useTimeout-D5AmIBZw.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./index-BzChaRPg.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./useAppInject-DPZGPcR3.js";import"./index-CuWaQdlK.js";import"./index-DO7ZhK45.js";import"./BasicTable.vue_vue_type_style_index_0_lang-B9DxrWas.js";import"./BasicForm-ClUSoD_-.js";import"./helper-DcLcf4v6.js";import"./BasicForm.vue_vue_type_style_index_0_lang-B29PWQy0.js";import"./index-saD4h7VJ.js";import"./useBreakpoint-DXhPW7nV.js";import"./useEventListener-BRXjwk7A.js";import"./breakpointEnum-BhAg6bcX.js";import"./uniqBy--vsL0WVB.js";import"./useForm-D61zovon.js";import"./injectionKey-DPVn4AgL.js";import"./index-DSsDi_fL.js";import"./Group-UHkub2tu.js";import"./Checkbox-Dbxs4we4.js";import"./index-BuONesFs.js";import"./FormOutlined-Y84itqS0.js";import"./useTableContext-CncNVXgp.js";import"./index-DTjkSGYl.js";import"./eagerComputed-BTlOruLW.js";import"./fromPairs-Dx9PT-t0.js";import"./useMaxLevel-DE205ncc.js";import"./index-CfNJyBRj.js";import"./dropdown-jkliuVyN.js";import"./index-DfHu-LAS.js";import"./index-C7ckZv9Z.js";import"./DirectoryTree-nk_YTTIy.js";import"./FolderOpenOutlined-SzIPA7z0.js";import"./index-Cl-8Hzo4.js";import"./scrollTo-D49dA-9c.js";import"./operationUnit-vCu2co3e.js";import"./index-C69VKHba.js";import"./index-DklMb9Qc.js";import"./UpOutlined-B1UMbtrP.js";import"./index-DsixALRt.js";import"./dayjs-jnKD3YGS.js";import"./index-aCD42OrZ.js";import"./quarterOfYear-BU2sPnff.js";import"./index-J2mOtM3w.js";import"./dayjs-ALi1pEeb.js";import"./clickOutside-DHfwTU6R.js";import"./onMountedOrActivated-DhSdLlqP.js";import"./throttle-De_jAmBh.js";import"./uuid-CODpppBC.js";import"./sortable.esm-DJNoJSdJ.js";import"./RedoOutlined-Cq2g4Slp.js";import"./index-CeNCCWzL.js";import"./index-fAAIzD3j.js";import"./index-DfX9t4DO.js";import"./isNumeric-DjvBa-1E.js";import"./bem-CTsBfXqP.js";import"./props-Cc-8EPhZ.js";import"./useContextMenu-BncvQCmV.js";import"./difference-CGvbIcA7.js";import"./category.api-C2m9Yu44.js";import"./index-Cq6YxX27.js";import"./useFormItem-b_EqFlJz.js";import"./CompTypeEnum-Dk5ke9k4.js";import"./JVxeTypes-C-gX5UoZ.js";const _t={class:"mixing-material-picker"},St={class:"mixing-material-picker-toolbar"},Tt={class:"mixing-material-picker-body"},wt={class:"mixing-material-picker-sider"},Et={class:"mixing-material-picker-main"},p="ALL",_="ALL",Rt="XSLMES_RUBBER",Kt=je({__name:"MesXslMixingMaterialSelectModal",emits:["register","select"],setup(d,{emit:s}){const r=a("mixer"),L=a(!1),x=a([]),S=a(new Map),T=a([_]),w=a([_]),g=D(()=>[{key:_,title:"全部胶料类别",children:x.value||[]}]),B=D(()=>{const e=T.value[0];return!e||e===_?{}:{categoryId:String(e)}}),ie=s,{createMessage:m}=ut(),U=a(""),F=a(!1),z=a([]),H=a([]),E=a([]),v=a(ye()),I=a([p]),G=a([p]),X=a(null),P=a(ht),O=a({}),W=a(!1),$=a(!1),oe=D(()=>new Set(v.value.map(String)));function be(){return document.body}function xe(e,t){return(e||[]).map(i=>{const o=(i.children||[]).filter(n=>!t.has(String(n.key))).map(n=>({key:n.key,title:n.title}));return o.length?{key:i.key,title:i.title,children:o}:null}).filter(Boolean)}const Y=D(()=>[{key:p,title:"全部小类",children:xe(z.value,oe.value)}]);function q(){var t;const e=[p];for(const i of((t=Y.value[0])==null?void 0:t.children)||[])e.push(i.key);G.value=e}Ge(Y,()=>{q()},{deep:!0});const Ie=D(()=>{const e=I.value[0];if(!e||e===p)return{};const t=String(e),i=H.value.find(o=>o.id===t);return i?{majorCategoryId:i.id}:{minorCategoryId:t}});function ke(e){return r.value==="rubber"?st(e):nt(e)}const[_e,{reload:Se,getSelectRowKeys:J,getSelectRows:Q,clearSelectedRowKeys:R,setColumns:re}]=it({api:ke,columns:te,rowKey:"id",useSearchForm:!1,pagination:{pageSize:10},canResize:!1,showIndexColumn:!0,immediate:!1,beforeFetch:e=>{var o;const t=(o=U.value)==null?void 0:o.trim();if(r.value==="rubber"){const n=C(C({},e),B.value);return t&&(n.materialName=`*${t}*`),n}const i=C(C({},e),Ie.value);return t&&(i.materialName=`*${t}*`),i},rowSelection:{type:"radio",columnWidth:48,onChange:(e,t)=>{var i;X.value=(i=t==null?void 0:t[0])!=null?i:null}},clickToRowSelect:!0}),[Te,{setModalProps:ne,closeModal:ae}]=xt(()=>h(null,null,function*(){ne({zIndex:1500}),yield we()}));function we(){return h(this,null,function*(){W.value=!0,X.value=null,U.value="",O.value={},R==null||R(),v.value=ye(),I.value=[p],r.value="mixer",T.value=[_],re(te),ne({confirmLoading:!1});try{yield le(),P.value=yield bt(!0),y()}finally{W.value=!1}})}function Ee(){return h(this,null,function*(){X.value=null,R==null||R(),re(r.value==="rubber"?ft:te),r.value==="rubber"&&!x.value.length&&(yield Re()),y()})}function se(e,t){var i;for(const o of e||[]){const n=(o==null?void 0:o.key)!=null?String(o.key):"";n&&t.set(n,{code:o.code!=null?String(o.code):void 0,title:o.title!=null?String(o.title):void 0}),(i=o==null?void 0:o.children)!=null&&i.length&&se(o.children,t)}}function Re(){return h(this,null,function*(){L.value=!0;try{const e=yield ct({pcode:Rt}),t=Array.isArray(e)?e:(e==null?void 0:e.result)||[];x.value=t;const i=new Map;se(t,i),S.value=i}catch(e){x.value=[],S.value=new Map,m.warning("加载胶料类别失败请检查分类根编码 XSLMES_RUBBER 是否存在")}finally{L.value=!1}})}function Ke(e){T.value=e!=null&&e.length?e:[_],!W.value&&y()}function Le(e){w.value=e!=null&&e.length?e:[_]}function le(e=!1){return h(this,null,function*(){const t=!e&&(rt()||z.value.length>0);(e||!t)&&(F.value=!0);try{const{majors:i,minors:o,treeNodes:n}=yield ot(e);Be(i,o,n)}catch(i){z.value=[],H.value=[],E.value=[],m.warning("加载物料分类树失败请检查分类根编码 XSLMES_MATERIAL 是否存在")}finally{F.value=!1}})}function Be(e,t,i){z.value=i,H.value=e,E.value=t;const o=Me(t.map(n=>n.id),v.value);o.length!==v.value.length&&(v.value=o,Ct(o)),q(),t.length||m.warning("未加载到物料小类请确认分类字典根编码 XSLMES_MATERIAL 及其下级分类已配置")}function Pe(){return h(this,null,function*(){if($.value)return;const e=new Set(E.value.map(t=>String(t.id)));$.value=!0;try{yield le(!0);const t=E.value.filter(i=>!e.has(String(i.id))).map(i=>String(i.id));if(t.length){const i=Me(E.value.map(o=>o.id),[...v.value.map(String),...t]);v.value=i,m.success(`已刷新,发现 ${t.length} 个新小类,请勾选后点击保存`)}else m.success("已刷新分类无变化")}finally{$.value=!1}})}function y(){Se()}function A(e){if(e)return O.value[String(e)]}function Ae(e,t){if(!e)return;const i=String(e),o=C({},O.value);t==null||t===""?delete o[i]:o[i]=String(t),O.value=o}function Ne(e){I.value=e!=null&&e.length?e:[p],!W.value&&y()}function De(e){G.value=e!=null&&e.length?e:[p]}function Ue(){const e=I.value[0];if(!e||e===p){q(),y();return}const t=String(e),i=oe.value,o=H.value.find(n=>n.id===t);o?o.minors.some(M=>!i.has(String(M.id)))||(I.value=[p]):i.has(t)&&(I.value=[p]),q(),y()}function Fe(e){var n;if(r.value==="rubber"){const M=A(e==null?void 0:e.id),l=e!=null&&e.categoryId?String(e.categoryId):"",u=(e==null?void 0:e.categoryId_dictText)||"",N=((n=S.value.get(l))==null?void 0:n.code)||"";return Ce(P.value,M,l,u,N)}const t=A(e==null?void 0:e.id),i=e!=null&&e.minorCategoryId?String(e.minorCategoryId):"",o=(e==null?void 0:e.minorCategoryId_dictText)||"";return he(P.value,t,i,o)}function ze(e,t){const i=e!=null&&e.minorCategoryId?String(e.minorCategoryId):"",o=(e==null?void 0:e.minorCategoryId_dictText)||"";return he(P.value,t,i,o)}function He(){return h(this,null,function*(){var M;const e=(J==null?void 0:J())||[];let t=X.value||((Q==null?void 0:Q())||[])[0];if(!t&&e.length)try{const u=yield(r.value==="rubber"?lt:at)({id:e[0]});t=(u==null?void 0:u.id)!=null?u:u==null?void 0:u.result}catch(l){}if(r.value==="rubber"){if(!(t!=null&&t.id)){m.warning("请选择一条胶料");return}const l=A(t.id),u=t.categoryId?String(t.categoryId):"",N=t.categoryId_dictText||"",Xe=((M=S.value.get(u))==null?void 0:M.code)||"",ue=Ce(P.value,l,u,N,Xe);if(!ue){m.warning("未匹配到种类请检查种类配置胶料类别或胶料兜底种类");return}const de=Z(C({},t),{pickerWeighMode:l});yt(de,t,ue),ie("select",de),ae();return}if(!(t!=null&&t.id)){m.warning("请选择一条密炼物料");return}const i=A(t.id),o=Z(C({},t),{pickerWeighMode:i}),n=ze(t,i);if(!n){m.warning("未匹配到种类请检查密炼物料种类配置");return}Mt(o,t,n),ie("select",o),ae()})}return(e,t)=>{const i=dt,o=Je("a-button"),n=kt,M=It;return K(),ge(f(et),Ye(e.$attrs,{title:"选择物料",width:1280,zIndex:1500,wrapClassName:"mixing-material-picker-modal-wrap",onRegister:f(Te),onOk:He}),{default:b(()=>[k("div",_t,[k("div",St,[c(i,{value:U.value,"onUpdate:value":t[0]||(t[0]=l=>U.value=l),"allow-clear":"",placeholder:"关键字编码/名称/描述",style:{width:"280px"},onPressEnter:y},null,8,["value"]),c(o,{type:"primary",onClick:y},{default:b(()=>[...t[4]||(t[4]=[V("搜索",-1)])]),_:1}),r.value==="mixer"?(K(),ge(mt,{key:0,hiddenCategoryIds:v.value,"onUpdate:hiddenCategoryIds":t[1]||(t[1]=l=>v.value=l),categories:E.value,loading:F.value,refreshing:$.value,onChange:Ue,onRefresh:Pe},null,8,["hiddenCategoryIds","categories","loading","refreshing"])):me("",!0)]),k("div",Tt,[k("aside",wt,[c(M,{value:r.value,"onUpdate:value":t[2]||(t[2]=l=>r.value=l),"button-style":"solid",size:"small",class:"mixing-material-picker-tabs",onChange:Ee},{default:b(()=>[c(n,{value:"mixer"},{default:b(()=>[...t[5]||(t[5]=[V("密炼物料",-1)])]),_:1}),c(n,{value:"rubber"},{default:b(()=>[...t[6]||(t[6]=[V("胶料",-1)])]),_:1})]),_:1},8,["value"]),r.value==="mixer"?(K(),j(ee,{key:0},[t[7]||(t[7]=k("div",{class:"mixing-material-picker-sider-title"},"物料小类",-1)),c(f(fe),{spinning:F.value},{default:b(()=>[c(f(ve),{treeData:Y.value,selectedKeys:I.value,expandedKeys:G.value,defaultExpandLevel:"2","onUpdate:selectedKeys":Ne,"onUpdate:expandedKeys":De},null,8,["treeData","selectedKeys","expandedKeys"])]),_:1},8,["spinning"])],64)):(K(),j(ee,{key:1},[t[8]||(t[8]=k("div",{class:"mixing-material-picker-sider-title"},"胶料类别",-1)),c(f(fe),{spinning:L.value},{default:b(()=>[c(f(ve),{treeData:g.value,selectedKeys:T.value,expandedKeys:w.value,defaultExpandLevel:"2","onUpdate:selectedKeys":Ke,"onUpdate:expandedKeys":Le},null,8,["treeData","selectedKeys","expandedKeys"])]),_:1},8,["spinning"])],64))]),k("div",Et,[c(f(tt),{onRegister:f(_e)},{bodyCell:b(({column:l,record:u})=>[l.dataIndex==="pickerWeighMode"?(K(),j("div",{key:0,class:"mixing-material-picker-weigh-mode",onClick:t[3]||(t[3]=Qe(()=>{},["stop"]))},[c(gt,{value:A(u.id),dictCode:f(vt),getPopupContainer:be,showChooseOption:!1,placeholder:"请选择",popupClassName:"mixing-material-picker-weigh-mode-dropdown",style:{width:"100%"},onChange:N=>Ae(u.id,N)},null,8,["value","dictCode","onChange"])])):l.dataIndex==="pickerMaterialKind"?(K(),j(ee,{key:1},[V(Ze(Fe(u)),1)],64)):me("",!0)]),_:1},8,["onRegister"])])])])]),_:1},16,["onRegister"])}}}),yo=pt(Kt,[["__scopeId","data-v-5786dea9"]]);export{yo as default};