@jecloud/func
Version:
JECloud 功能库
1 lines • 1.36 kB
JavaScript
import{toRaw as e,nextTick as n}from"vue";import{getBean as t}from"../../data/api/common";import{getFuncData as i}from"../../func-util";import{getDefaultValues as o}from"./base-action";export function useViewAction(n){return Object.assign(n,{refMaps:{},rawActiveItem:e(n.activeItem.value)}),{setActiveItem:a.bind(this,n),loadFunc:u.bind(this,n),reloadFunc:c.bind(this,n),resetFunc:r.bind(this,n)}}function a(e,n){e.activeItem.value=n}function u(e,a){var u=e.loading,c=e.funcCode,r=e.store,f=e.$modal;return u.value=!0,i({funcCode:c,cache:!a}).then((function(i){if(u.value=!1,f&&(f.title.value=i.info.funcName),r.isFuncForm){var a=void 0;if(r.initBeanId){var c=i.info,l=c.productCode,v=c.tableCode,d=c.funcCode,s=c.funcAction;a=t({params:{tableCode:v,funcCode:d,pkValue:r.initBeanId},pd:l,action:s})}else{var m=o(e);a=Promise.resolve(m)}if(i.info.enableWorkflow)return a.then((function(t){var o;return["","NOSTATUS"].includes(t.SY_AUDFLAG)||null===(o=e.getFuncForm())||void 0===o||o.setReadOnly(!0),n((function(){r.setActiveBean(t)})),i}));a.then((function(e){n((function(){r.setActiveBean(e)}))}))}return i}))}function c(e){return u(e,!0)}function r(e){var t=e.activeItem,i=e.rawActiveItem;t.value=i,n((function(){Object.values(e.getRefMaps()).forEach((function(e){var n,t;null===(t=null===(n=e.value)||void 0===n?void 0:n.reset)||void 0===t||t.call(n)}))}))}